@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,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* DetailViewToggle — the row of view cards at the top of a detail screen
|
|
5
|
+
* (ACTION · STATE · DIFF, CHANGE · STATE · DIFF, …).
|
|
6
|
+
*
|
|
7
|
+
* redux, zustand and jotai each shipped their own copy, differing only in
|
|
8
|
+
* the view keys, labels and testID prefix. The cards, the accent chrome,
|
|
9
|
+
* the disabled state (diff with nothing to compare) and the a11y contract
|
|
10
|
+
* are all one component now; tools pass their `views`.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import React, { memo } from "react";
|
|
14
|
+
import { StyleSheet, Text, TouchableOpacity, View } from "react-native";
|
|
15
|
+
import { night } from "../night/nightTheme.js";
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
function DetailViewToggleImpl({
|
|
18
|
+
views,
|
|
19
|
+
activeView,
|
|
20
|
+
onViewChange,
|
|
21
|
+
disabledKeys,
|
|
22
|
+
testIDPrefix
|
|
23
|
+
}) {
|
|
24
|
+
return /*#__PURE__*/_jsx(View, {
|
|
25
|
+
style: styles.container,
|
|
26
|
+
children: views.map(view => {
|
|
27
|
+
const isActive = activeView === view.key;
|
|
28
|
+
const isDisabled = disabledKeys?.includes(view.key) ?? false;
|
|
29
|
+
const activeColor = view.activeColor ?? night.color.accent;
|
|
30
|
+
const IconComponent = view.icon;
|
|
31
|
+
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
32
|
+
style: [styles.card, isActive && [styles.cardActive, {
|
|
33
|
+
borderColor: activeColor
|
|
34
|
+
}], isDisabled && styles.cardDisabled],
|
|
35
|
+
onPress: () => !isDisabled && onViewChange(view.key),
|
|
36
|
+
activeOpacity: isDisabled ? 1 : 0.8,
|
|
37
|
+
disabled: isDisabled,
|
|
38
|
+
testID: testIDPrefix ? `${testIDPrefix}-view-${view.key}` : undefined,
|
|
39
|
+
accessibilityRole: "button",
|
|
40
|
+
accessibilityLabel: view.label,
|
|
41
|
+
accessibilityState: {
|
|
42
|
+
selected: isActive,
|
|
43
|
+
disabled: isDisabled
|
|
44
|
+
},
|
|
45
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
46
|
+
style: styles.cardContent,
|
|
47
|
+
children: [/*#__PURE__*/_jsx(IconComponent, {
|
|
48
|
+
size: 14,
|
|
49
|
+
color: isActive ? activeColor : isDisabled ? night.color.textTertiary : night.color.textSecondary
|
|
50
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
51
|
+
style: [styles.cardLabel, isActive && [styles.cardLabelActive, {
|
|
52
|
+
color: activeColor
|
|
53
|
+
}], isDisabled && styles.cardLabelDisabled],
|
|
54
|
+
children: view.label
|
|
55
|
+
})]
|
|
56
|
+
}), view.description ? /*#__PURE__*/_jsx(Text, {
|
|
57
|
+
style: [styles.cardDescription, isActive && styles.cardDescriptionActive, isDisabled && styles.cardDescriptionDisabled],
|
|
58
|
+
children: view.description
|
|
59
|
+
}) : null]
|
|
60
|
+
}, view.key);
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
export const DetailViewToggle = /*#__PURE__*/memo(DetailViewToggleImpl);
|
|
65
|
+
const styles = StyleSheet.create({
|
|
66
|
+
container: {
|
|
67
|
+
flexDirection: "row",
|
|
68
|
+
gap: 8,
|
|
69
|
+
padding: 14,
|
|
70
|
+
// Transparent so the night sheet's star field shows through.
|
|
71
|
+
backgroundColor: "transparent"
|
|
72
|
+
},
|
|
73
|
+
card: {
|
|
74
|
+
flex: 1,
|
|
75
|
+
backgroundColor: night.color.surface,
|
|
76
|
+
borderRadius: 12,
|
|
77
|
+
borderWidth: 1,
|
|
78
|
+
borderColor: night.color.border,
|
|
79
|
+
padding: 10,
|
|
80
|
+
gap: 4
|
|
81
|
+
},
|
|
82
|
+
cardActive: {
|
|
83
|
+
borderWidth: 1.5,
|
|
84
|
+
backgroundColor: night.color.accentSoft,
|
|
85
|
+
shadowColor: night.color.accent,
|
|
86
|
+
shadowOffset: {
|
|
87
|
+
width: 0,
|
|
88
|
+
height: 2
|
|
89
|
+
},
|
|
90
|
+
shadowOpacity: 0.1,
|
|
91
|
+
shadowRadius: 8,
|
|
92
|
+
elevation: 3
|
|
93
|
+
},
|
|
94
|
+
cardDisabled: {
|
|
95
|
+
opacity: 0.5
|
|
96
|
+
},
|
|
97
|
+
cardContent: {
|
|
98
|
+
flexDirection: "row",
|
|
99
|
+
alignItems: "center",
|
|
100
|
+
gap: 6
|
|
101
|
+
},
|
|
102
|
+
cardLabel: {
|
|
103
|
+
fontSize: 10,
|
|
104
|
+
fontWeight: "700",
|
|
105
|
+
letterSpacing: 0.5,
|
|
106
|
+
color: night.color.textSecondary
|
|
107
|
+
},
|
|
108
|
+
cardLabelActive: {
|
|
109
|
+
color: night.color.text
|
|
110
|
+
},
|
|
111
|
+
cardLabelDisabled: {
|
|
112
|
+
color: night.color.textTertiary
|
|
113
|
+
},
|
|
114
|
+
cardDescription: {
|
|
115
|
+
fontSize: 9,
|
|
116
|
+
color: night.color.textTertiary,
|
|
117
|
+
lineHeight: 12
|
|
118
|
+
},
|
|
119
|
+
cardDescriptionActive: {
|
|
120
|
+
color: night.color.textSecondary
|
|
121
|
+
},
|
|
122
|
+
cardDescriptionDisabled: {
|
|
123
|
+
color: night.color.textTertiary
|
|
124
|
+
}
|
|
125
|
+
});
|
|
@@ -45,7 +45,8 @@ export function DevToolsCard({
|
|
|
45
45
|
style,
|
|
46
46
|
contentStyle,
|
|
47
47
|
testID,
|
|
48
|
-
accessibilityLabel
|
|
48
|
+
accessibilityLabel,
|
|
49
|
+
accessible
|
|
49
50
|
}) {
|
|
50
51
|
const isInteractive = !!onPress || !!onLongPress;
|
|
51
52
|
|
|
@@ -54,6 +55,7 @@ export function DevToolsCard({
|
|
|
54
55
|
return /*#__PURE__*/_jsx(View, {
|
|
55
56
|
style: [styles.wrapper, style],
|
|
56
57
|
testID: testID,
|
|
58
|
+
accessible: accessible,
|
|
57
59
|
accessibilityLabel: accessibilityLabel,
|
|
58
60
|
children: /*#__PURE__*/_jsx(View, {
|
|
59
61
|
style: [styles.card, isSelected && styles.selectedCard, contentStyle],
|
|
@@ -8,6 +8,7 @@ import { FilterList, AddFilterInput, AddFilterButton } from "./FilterComponents.
|
|
|
8
8
|
import { useFilterManager } from "../../hooks/useFilterManager.js";
|
|
9
9
|
import { buoyColors } from "../gameUI/constants/gameUIColors.js";
|
|
10
10
|
import { night } from "../night/nightTheme.js";
|
|
11
|
+
import { monoFont } from "../fonts.js";
|
|
11
12
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
12
13
|
export function DynamicFilterView({
|
|
13
14
|
sections = [],
|
|
@@ -489,7 +490,7 @@ const styles = StyleSheet.create({
|
|
|
489
490
|
fontSize: 14,
|
|
490
491
|
fontWeight: "700",
|
|
491
492
|
color: night.color.text,
|
|
492
|
-
fontFamily:
|
|
493
|
+
fontFamily: monoFont,
|
|
493
494
|
marginTop: 3,
|
|
494
495
|
marginBottom: 1,
|
|
495
496
|
textShadowColor: "rgba(0, 0, 0, 0.2)",
|
|
@@ -503,7 +504,7 @@ const styles = StyleSheet.create({
|
|
|
503
504
|
fontSize: 11,
|
|
504
505
|
fontWeight: "500",
|
|
505
506
|
color: night.color.textTertiary,
|
|
506
|
-
fontFamily:
|
|
507
|
+
fontFamily: monoFont,
|
|
507
508
|
marginTop: 3,
|
|
508
509
|
marginBottom: 1
|
|
509
510
|
},
|
|
@@ -547,7 +548,7 @@ const styles = StyleSheet.create({
|
|
|
547
548
|
fontSize: 13,
|
|
548
549
|
fontWeight: "700",
|
|
549
550
|
letterSpacing: 0.3,
|
|
550
|
-
fontFamily:
|
|
551
|
+
fontFamily: monoFont
|
|
551
552
|
},
|
|
552
553
|
activeFiltersSection: {
|
|
553
554
|
backgroundColor: night.color.surface,
|
|
@@ -686,7 +687,7 @@ const styles = StyleSheet.create({
|
|
|
686
687
|
flex: 1,
|
|
687
688
|
fontSize: 11,
|
|
688
689
|
color: night.color.text,
|
|
689
|
-
fontFamily:
|
|
690
|
+
fontFamily: monoFont,
|
|
690
691
|
marginRight: 8
|
|
691
692
|
},
|
|
692
693
|
howItWorksSection: {
|
|
@@ -705,7 +706,7 @@ const styles = StyleSheet.create({
|
|
|
705
706
|
marginBottom: 12,
|
|
706
707
|
marginTop: 8,
|
|
707
708
|
paddingHorizontal: 16,
|
|
708
|
-
fontFamily:
|
|
709
|
+
fontFamily: monoFont
|
|
709
710
|
},
|
|
710
711
|
examplesContainer: {
|
|
711
712
|
paddingTop: 8,
|
|
@@ -718,14 +719,14 @@ const styles = StyleSheet.create({
|
|
|
718
719
|
fontSize: 10,
|
|
719
720
|
fontWeight: "600",
|
|
720
721
|
color: night.color.textTertiary,
|
|
721
|
-
fontFamily:
|
|
722
|
+
fontFamily: monoFont,
|
|
722
723
|
letterSpacing: 0.5,
|
|
723
724
|
marginBottom: 6
|
|
724
725
|
},
|
|
725
726
|
exampleItem: {
|
|
726
727
|
fontSize: 10,
|
|
727
728
|
color: night.color.textTertiary,
|
|
728
|
-
fontFamily:
|
|
729
|
+
fontFamily: monoFont,
|
|
729
730
|
lineHeight: 16
|
|
730
731
|
},
|
|
731
732
|
previewSection: {
|
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* EntityFilterView — the "hide these by name" filter screen the state tools
|
|
5
|
+
* share: a list of registered entities (stores, atoms) you can tap to hide,
|
|
6
|
+
* the active name patterns with a remove ✕, an add-pattern affordance, and
|
|
7
|
+
* a how-it-works card.
|
|
8
|
+
*
|
|
9
|
+
* zustand and jotai each shipped their own copy (~370 lines apiece). The
|
|
10
|
+
* tool supplies the entities, the nouns and the testID prefix; the screen
|
|
11
|
+
* is drawn once.
|
|
12
|
+
*
|
|
13
|
+
* testID convention (unchanged from zustand's):
|
|
14
|
+
* `${prefix}-filters-scroll`, `${prefix}-filters-${entityKey}-count`,
|
|
15
|
+
* `${prefix}-filters-${entityKey}-${slug(name)}`, `${prefix}-filters-count`,
|
|
16
|
+
* `${prefix}-filters-add-open`, `${prefix}-filters-add-input`,
|
|
17
|
+
* `${prefix}-filters-chip-${slug(pattern)}`.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import { useState } from "react";
|
|
21
|
+
import { ScrollView, StyleSheet, Text, TouchableOpacity, View } from "react-native";
|
|
22
|
+
import { Filter, X } from "../../icons/index.js";
|
|
23
|
+
import { night } from "../night/nightTheme.js";
|
|
24
|
+
import { SectionHeader } from "./SectionHeader.js";
|
|
25
|
+
import { AddFilterButton, AddFilterInput } from "./FilterComponents.js";
|
|
26
|
+
import { monoFont } from "../fonts.js";
|
|
27
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
28
|
+
/** True if any active pattern hides this entity. */
|
|
29
|
+
function isHidden(entity, ignoredPatterns) {
|
|
30
|
+
return Array.from(ignoredPatterns).some(p => entity.name.toLowerCase().includes(p.toLowerCase()));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** The entity color for a pattern that exactly names a registered entity. */
|
|
34
|
+
function colorForPattern(pattern, entities) {
|
|
35
|
+
const match = entities.find(e => e.name.toLowerCase() === pattern.toLowerCase());
|
|
36
|
+
return match ? match.color : null;
|
|
37
|
+
}
|
|
38
|
+
export function EntityFilterView({
|
|
39
|
+
entities,
|
|
40
|
+
ignoredPatterns,
|
|
41
|
+
onTogglePattern,
|
|
42
|
+
onAddPattern,
|
|
43
|
+
entityNoun,
|
|
44
|
+
entitySingular,
|
|
45
|
+
entityKey,
|
|
46
|
+
testIDPrefix,
|
|
47
|
+
slug,
|
|
48
|
+
howItWorks,
|
|
49
|
+
examples,
|
|
50
|
+
addPlaceholder,
|
|
51
|
+
emptyMessage
|
|
52
|
+
}) {
|
|
53
|
+
const [showAddInput, setShowAddInput] = useState(false);
|
|
54
|
+
const [inputValue, setInputValue] = useState("");
|
|
55
|
+
const handleAddPattern = () => {
|
|
56
|
+
const trimmed = inputValue.trim();
|
|
57
|
+
if (trimmed) {
|
|
58
|
+
onAddPattern(trimmed);
|
|
59
|
+
setInputValue("");
|
|
60
|
+
setShowAddInput(false);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
return /*#__PURE__*/_jsxs(ScrollView, {
|
|
64
|
+
style: styles.container,
|
|
65
|
+
contentContainerStyle: styles.scrollContent,
|
|
66
|
+
showsVerticalScrollIndicator: false,
|
|
67
|
+
nestedScrollEnabled: true,
|
|
68
|
+
testID: `${testIDPrefix}-filters-scroll`,
|
|
69
|
+
children: [entities.length === 0 && emptyMessage ? /*#__PURE__*/_jsxs(View, {
|
|
70
|
+
style: styles.section,
|
|
71
|
+
children: [/*#__PURE__*/_jsx(SectionHeader, {
|
|
72
|
+
children: /*#__PURE__*/_jsxs(SectionHeader.Title, {
|
|
73
|
+
children: ["REGISTERED ", entityNoun]
|
|
74
|
+
})
|
|
75
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
76
|
+
style: styles.emptyText,
|
|
77
|
+
testID: `${testIDPrefix}-filters-${entityKey}s-empty`,
|
|
78
|
+
children: emptyMessage
|
|
79
|
+
})]
|
|
80
|
+
}) : null, entities.length > 0 && /*#__PURE__*/_jsxs(View, {
|
|
81
|
+
style: styles.section,
|
|
82
|
+
children: [/*#__PURE__*/_jsxs(SectionHeader, {
|
|
83
|
+
children: [/*#__PURE__*/_jsxs(SectionHeader.Title, {
|
|
84
|
+
children: ["REGISTERED ", entityNoun]
|
|
85
|
+
}), /*#__PURE__*/_jsx(SectionHeader.Badge, {
|
|
86
|
+
count: entities.length,
|
|
87
|
+
color: night.color.accent,
|
|
88
|
+
testID: `${testIDPrefix}-filters-${entityKey}-count`
|
|
89
|
+
})]
|
|
90
|
+
}), /*#__PURE__*/_jsx(ScrollView, {
|
|
91
|
+
style: styles.entityList,
|
|
92
|
+
contentContainerStyle: styles.entityListContent,
|
|
93
|
+
showsVerticalScrollIndicator: true,
|
|
94
|
+
nestedScrollEnabled: true,
|
|
95
|
+
testID: `${testIDPrefix}-filters-${entityKey}-list`,
|
|
96
|
+
children: entities.map(entity => {
|
|
97
|
+
const hidden = isHidden(entity, ignoredPatterns);
|
|
98
|
+
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
99
|
+
style: [styles.entityRow, hidden && styles.entityRowHidden],
|
|
100
|
+
onPress: () => onAddPattern(entity.name),
|
|
101
|
+
disabled: hidden,
|
|
102
|
+
testID: `${testIDPrefix}-filters-${entityKey}-${slug(entity.name)}`,
|
|
103
|
+
accessibilityRole: "button",
|
|
104
|
+
accessibilityLabel: `Hide ${entity.name}`,
|
|
105
|
+
accessibilityState: {
|
|
106
|
+
disabled: hidden
|
|
107
|
+
},
|
|
108
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
109
|
+
style: [styles.dot, {
|
|
110
|
+
backgroundColor: hidden ? night.color.textTertiary : entity.color
|
|
111
|
+
}]
|
|
112
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
113
|
+
style: [styles.entityText, hidden ? styles.entityTextHidden : {
|
|
114
|
+
color: entity.color
|
|
115
|
+
}],
|
|
116
|
+
numberOfLines: 1,
|
|
117
|
+
children: entity.name
|
|
118
|
+
}), hidden ? /*#__PURE__*/_jsx(Text, {
|
|
119
|
+
style: styles.hiddenLabel,
|
|
120
|
+
children: "hidden"
|
|
121
|
+
}) : /*#__PURE__*/_jsx(Text, {
|
|
122
|
+
style: [styles.addLabel, {
|
|
123
|
+
color: entity.color + "99"
|
|
124
|
+
}],
|
|
125
|
+
children: "+ hide"
|
|
126
|
+
})]
|
|
127
|
+
}, entity.name);
|
|
128
|
+
})
|
|
129
|
+
})]
|
|
130
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
131
|
+
style: styles.section,
|
|
132
|
+
children: [/*#__PURE__*/_jsxs(SectionHeader, {
|
|
133
|
+
children: [/*#__PURE__*/_jsx(SectionHeader.Icon, {
|
|
134
|
+
icon: Filter,
|
|
135
|
+
color: night.color.accent,
|
|
136
|
+
size: 12
|
|
137
|
+
}), /*#__PURE__*/_jsxs(SectionHeader.Title, {
|
|
138
|
+
children: [entitySingular.toUpperCase(), " NAME FILTERS"]
|
|
139
|
+
}), ignoredPatterns.size > 0 && /*#__PURE__*/_jsx(SectionHeader.Badge, {
|
|
140
|
+
count: ignoredPatterns.size,
|
|
141
|
+
color: night.color.accent,
|
|
142
|
+
testID: `${testIDPrefix}-filters-count`
|
|
143
|
+
})]
|
|
144
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
145
|
+
style: styles.addInputWrapper,
|
|
146
|
+
children: !showAddInput ? /*#__PURE__*/_jsx(AddFilterButton, {
|
|
147
|
+
onPress: () => setShowAddInput(true),
|
|
148
|
+
color: night.color.accent,
|
|
149
|
+
label: `Add ${entitySingular} name pattern`,
|
|
150
|
+
testID: `${testIDPrefix}-filters-add-open`
|
|
151
|
+
}) : /*#__PURE__*/_jsx(AddFilterInput, {
|
|
152
|
+
value: inputValue,
|
|
153
|
+
onChange: setInputValue,
|
|
154
|
+
onSubmit: handleAddPattern,
|
|
155
|
+
onCancel: () => {
|
|
156
|
+
setShowAddInput(false);
|
|
157
|
+
setInputValue("");
|
|
158
|
+
},
|
|
159
|
+
placeholder: addPlaceholder ?? `Enter ${entitySingular} name pattern to hide...`,
|
|
160
|
+
color: night.color.accent,
|
|
161
|
+
testID: `${testIDPrefix}-filters-add-input`
|
|
162
|
+
})
|
|
163
|
+
}), ignoredPatterns.size > 0 && /*#__PURE__*/_jsx(View, {
|
|
164
|
+
style: styles.patternList,
|
|
165
|
+
children: Array.from(ignoredPatterns).map(pattern => {
|
|
166
|
+
const color = colorForPattern(pattern, entities);
|
|
167
|
+
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
168
|
+
style: styles.patternRow,
|
|
169
|
+
onPress: () => onTogglePattern(pattern),
|
|
170
|
+
activeOpacity: 0.8,
|
|
171
|
+
testID: `${testIDPrefix}-filters-chip-${slug(pattern)}`,
|
|
172
|
+
accessibilityRole: "button",
|
|
173
|
+
accessibilityLabel: `Remove filter ${pattern}`,
|
|
174
|
+
children: [color ? /*#__PURE__*/_jsx(View, {
|
|
175
|
+
style: [styles.dot, {
|
|
176
|
+
backgroundColor: color
|
|
177
|
+
}]
|
|
178
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
179
|
+
style: [styles.patternText, color ? {
|
|
180
|
+
color
|
|
181
|
+
} : null],
|
|
182
|
+
numberOfLines: 1,
|
|
183
|
+
children: pattern
|
|
184
|
+
}), /*#__PURE__*/_jsx(X, {
|
|
185
|
+
size: 12,
|
|
186
|
+
color: night.color.accent + "80"
|
|
187
|
+
})]
|
|
188
|
+
}, pattern);
|
|
189
|
+
})
|
|
190
|
+
})]
|
|
191
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
192
|
+
style: styles.section,
|
|
193
|
+
children: [/*#__PURE__*/_jsxs(SectionHeader, {
|
|
194
|
+
children: [/*#__PURE__*/_jsx(SectionHeader.Icon, {
|
|
195
|
+
icon: Filter,
|
|
196
|
+
color: night.color.textSecondary,
|
|
197
|
+
size: 12
|
|
198
|
+
}), /*#__PURE__*/_jsx(SectionHeader.Title, {
|
|
199
|
+
children: "HOW EVENT FILTERS WORK"
|
|
200
|
+
})]
|
|
201
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
202
|
+
style: styles.howItWorksText,
|
|
203
|
+
children: howItWorks
|
|
204
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
205
|
+
style: styles.examplesContainer,
|
|
206
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
207
|
+
style: styles.examplesTitle,
|
|
208
|
+
children: "EXAMPLES:"
|
|
209
|
+
}), examples.map(ex => /*#__PURE__*/_jsx(Text, {
|
|
210
|
+
style: styles.exampleItem,
|
|
211
|
+
children: ex
|
|
212
|
+
}, ex))]
|
|
213
|
+
})]
|
|
214
|
+
})]
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
const styles = StyleSheet.create({
|
|
218
|
+
container: {
|
|
219
|
+
flex: 1,
|
|
220
|
+
// Transparent so the night sheet's star field shows through.
|
|
221
|
+
backgroundColor: "transparent"
|
|
222
|
+
},
|
|
223
|
+
scrollContent: {
|
|
224
|
+
paddingTop: 16,
|
|
225
|
+
paddingHorizontal: 16,
|
|
226
|
+
paddingBottom: 24,
|
|
227
|
+
gap: 16
|
|
228
|
+
},
|
|
229
|
+
section: {
|
|
230
|
+
backgroundColor: night.color.surface,
|
|
231
|
+
borderRadius: 16,
|
|
232
|
+
borderWidth: 1,
|
|
233
|
+
borderColor: night.color.border,
|
|
234
|
+
overflow: "hidden"
|
|
235
|
+
},
|
|
236
|
+
entityList: {
|
|
237
|
+
maxHeight: 180
|
|
238
|
+
},
|
|
239
|
+
entityListContent: {
|
|
240
|
+
paddingHorizontal: 16,
|
|
241
|
+
paddingTop: 8,
|
|
242
|
+
paddingBottom: 16,
|
|
243
|
+
gap: 10
|
|
244
|
+
},
|
|
245
|
+
entityRow: {
|
|
246
|
+
flexDirection: "row",
|
|
247
|
+
alignItems: "center",
|
|
248
|
+
gap: 10,
|
|
249
|
+
paddingVertical: 10,
|
|
250
|
+
paddingHorizontal: 12,
|
|
251
|
+
backgroundColor: night.color.surfaceElevated,
|
|
252
|
+
borderRadius: 8,
|
|
253
|
+
borderWidth: 1,
|
|
254
|
+
borderColor: night.color.border
|
|
255
|
+
},
|
|
256
|
+
entityRowHidden: {
|
|
257
|
+
opacity: 0.45
|
|
258
|
+
},
|
|
259
|
+
dot: {
|
|
260
|
+
width: 7,
|
|
261
|
+
height: 7,
|
|
262
|
+
borderRadius: 3.5
|
|
263
|
+
},
|
|
264
|
+
entityText: {
|
|
265
|
+
flex: 1,
|
|
266
|
+
fontSize: 12,
|
|
267
|
+
fontWeight: "600",
|
|
268
|
+
fontFamily: monoFont
|
|
269
|
+
},
|
|
270
|
+
entityTextHidden: {
|
|
271
|
+
color: night.color.textTertiary,
|
|
272
|
+
textDecorationLine: "line-through"
|
|
273
|
+
},
|
|
274
|
+
hiddenLabel: {
|
|
275
|
+
fontSize: 10,
|
|
276
|
+
fontWeight: "500",
|
|
277
|
+
color: night.color.textTertiary,
|
|
278
|
+
fontFamily: monoFont
|
|
279
|
+
},
|
|
280
|
+
addLabel: {
|
|
281
|
+
fontSize: 10,
|
|
282
|
+
fontWeight: "600",
|
|
283
|
+
fontFamily: monoFont
|
|
284
|
+
},
|
|
285
|
+
addInputWrapper: {
|
|
286
|
+
paddingHorizontal: 16,
|
|
287
|
+
paddingTop: 8,
|
|
288
|
+
paddingBottom: 8
|
|
289
|
+
},
|
|
290
|
+
patternList: {
|
|
291
|
+
paddingHorizontal: 16,
|
|
292
|
+
paddingBottom: 16,
|
|
293
|
+
gap: 8
|
|
294
|
+
},
|
|
295
|
+
patternRow: {
|
|
296
|
+
flexDirection: "row",
|
|
297
|
+
alignItems: "center",
|
|
298
|
+
justifyContent: "space-between",
|
|
299
|
+
paddingVertical: 10,
|
|
300
|
+
paddingHorizontal: 12,
|
|
301
|
+
backgroundColor: night.color.surfaceElevated,
|
|
302
|
+
borderRadius: 8,
|
|
303
|
+
borderWidth: 1,
|
|
304
|
+
borderColor: night.color.border,
|
|
305
|
+
gap: 8
|
|
306
|
+
},
|
|
307
|
+
patternText: {
|
|
308
|
+
flex: 1,
|
|
309
|
+
fontSize: 12,
|
|
310
|
+
fontFamily: monoFont,
|
|
311
|
+
color: night.color.text
|
|
312
|
+
},
|
|
313
|
+
emptyText: {
|
|
314
|
+
fontSize: 11,
|
|
315
|
+
color: night.color.textTertiary,
|
|
316
|
+
paddingHorizontal: 16,
|
|
317
|
+
paddingTop: 8,
|
|
318
|
+
paddingBottom: 16,
|
|
319
|
+
fontFamily: monoFont
|
|
320
|
+
},
|
|
321
|
+
howItWorksText: {
|
|
322
|
+
fontSize: 11,
|
|
323
|
+
color: night.color.textSecondary,
|
|
324
|
+
lineHeight: 16,
|
|
325
|
+
marginTop: 8,
|
|
326
|
+
paddingHorizontal: 16,
|
|
327
|
+
fontFamily: monoFont
|
|
328
|
+
},
|
|
329
|
+
examplesContainer: {
|
|
330
|
+
paddingTop: 8,
|
|
331
|
+
paddingHorizontal: 16,
|
|
332
|
+
paddingBottom: 16,
|
|
333
|
+
borderTopWidth: 1,
|
|
334
|
+
borderTopColor: night.color.border,
|
|
335
|
+
marginTop: 12
|
|
336
|
+
},
|
|
337
|
+
examplesTitle: {
|
|
338
|
+
fontSize: 10,
|
|
339
|
+
fontWeight: "600",
|
|
340
|
+
color: night.color.textTertiary,
|
|
341
|
+
fontFamily: monoFont,
|
|
342
|
+
letterSpacing: 0.5,
|
|
343
|
+
marginBottom: 6
|
|
344
|
+
},
|
|
345
|
+
exampleItem: {
|
|
346
|
+
fontSize: 10,
|
|
347
|
+
color: night.color.textTertiary,
|
|
348
|
+
fontFamily: monoFont,
|
|
349
|
+
lineHeight: 16
|
|
350
|
+
}
|
|
351
|
+
});
|
|
@@ -12,11 +12,12 @@ import React, { memo } from "react";
|
|
|
12
12
|
import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
|
|
13
13
|
import { macOSColors } from "../../gameUI/constants/macOSDesignSystemColors.js";
|
|
14
14
|
import { ChevronLeft, ChevronRight } from "../../../icons/lucide-icons.js";
|
|
15
|
-
import {
|
|
15
|
+
import { monoFont } from "../../fonts.js";
|
|
16
16
|
/**
|
|
17
17
|
* CompareBar displays a side-by-side comparison of two events
|
|
18
18
|
* with optional navigation controls for any-to-any compare mode.
|
|
19
19
|
*/
|
|
20
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
21
|
export const CompareBar = /*#__PURE__*/memo(function CompareBar({
|
|
21
22
|
leftEvent,
|
|
22
23
|
rightEvent,
|
|
@@ -150,7 +151,7 @@ const styles = StyleSheet.create({
|
|
|
150
151
|
},
|
|
151
152
|
label: {
|
|
152
153
|
fontSize: 10,
|
|
153
|
-
fontFamily:
|
|
154
|
+
fontFamily: monoFont,
|
|
154
155
|
fontWeight: "700",
|
|
155
156
|
letterSpacing: 0.5,
|
|
156
157
|
textTransform: "uppercase"
|
|
@@ -185,17 +186,17 @@ const styles = StyleSheet.create({
|
|
|
185
186
|
index: {
|
|
186
187
|
fontSize: 10,
|
|
187
188
|
color: macOSColors.text.secondary,
|
|
188
|
-
fontFamily:
|
|
189
|
+
fontFamily: monoFont
|
|
189
190
|
},
|
|
190
191
|
time: {
|
|
191
192
|
fontSize: 11,
|
|
192
193
|
color: macOSColors.text.primary,
|
|
193
|
-
fontFamily:
|
|
194
|
+
fontFamily: monoFont
|
|
194
195
|
},
|
|
195
196
|
relative: {
|
|
196
197
|
fontSize: 10,
|
|
197
198
|
color: macOSColors.text.secondary,
|
|
198
|
-
fontFamily:
|
|
199
|
+
fontFamily: monoFont
|
|
199
200
|
},
|
|
200
201
|
divider: {
|
|
201
202
|
width: 1,
|
|
@@ -11,11 +11,12 @@
|
|
|
11
11
|
import React, { memo } from "react";
|
|
12
12
|
import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
|
|
13
13
|
import { macOSColors } from "../../gameUI/constants/macOSDesignSystemColors.js";
|
|
14
|
-
import {
|
|
14
|
+
import { monoFont } from "../../fonts.js";
|
|
15
15
|
/**
|
|
16
16
|
* DiffModeTabs displays a horizontal tab bar for switching
|
|
17
17
|
* between different diff visualization modes.
|
|
18
18
|
*/
|
|
19
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
20
|
export const DiffModeTabs = /*#__PURE__*/memo(function DiffModeTabs({
|
|
20
21
|
tabs,
|
|
21
22
|
activeTab,
|
|
@@ -79,7 +80,7 @@ const styles = StyleSheet.create({
|
|
|
79
80
|
},
|
|
80
81
|
tabText: {
|
|
81
82
|
fontSize: 11,
|
|
82
|
-
fontFamily:
|
|
83
|
+
fontFamily: monoFont,
|
|
83
84
|
fontWeight: "600",
|
|
84
85
|
color: macOSColors.text.secondary,
|
|
85
86
|
letterSpacing: 0.5
|
|
@@ -13,11 +13,12 @@ import { View, Text, TouchableOpacity, ScrollView, StyleSheet } from "react-nati
|
|
|
13
13
|
import { absoluteFill } from "../../../utils/absoluteFill.js";
|
|
14
14
|
import { macOSColors } from "../../gameUI/constants/macOSDesignSystemColors.js";
|
|
15
15
|
import { X } from "../../../icons/lucide-icons.js";
|
|
16
|
-
import {
|
|
16
|
+
import { monoFont } from "../../fonts.js";
|
|
17
17
|
/**
|
|
18
18
|
* EventPickerModal displays a modal for selecting events
|
|
19
19
|
* with color-coded styling based on position (left/right).
|
|
20
20
|
*/
|
|
21
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
22
|
export const EventPickerModal = /*#__PURE__*/memo(function EventPickerModal({
|
|
22
23
|
isOpen,
|
|
23
24
|
onClose,
|
|
@@ -118,7 +119,7 @@ const styles = StyleSheet.create({
|
|
|
118
119
|
title: {
|
|
119
120
|
fontSize: 13,
|
|
120
121
|
fontWeight: "700",
|
|
121
|
-
fontFamily:
|
|
122
|
+
fontFamily: monoFont,
|
|
122
123
|
textTransform: "uppercase",
|
|
123
124
|
marginBottom: 8,
|
|
124
125
|
letterSpacing: 0.6
|
|
@@ -185,18 +186,18 @@ const styles = StyleSheet.create({
|
|
|
185
186
|
itemIndex: {
|
|
186
187
|
fontSize: 10,
|
|
187
188
|
color: macOSColors.text.secondary,
|
|
188
|
-
fontFamily:
|
|
189
|
+
fontFamily: monoFont,
|
|
189
190
|
width: 40
|
|
190
191
|
},
|
|
191
192
|
itemTime: {
|
|
192
193
|
fontSize: 11,
|
|
193
194
|
color: macOSColors.text.primary,
|
|
194
|
-
fontFamily:
|
|
195
|
+
fontFamily: monoFont,
|
|
195
196
|
flex: 1
|
|
196
197
|
},
|
|
197
198
|
itemRelative: {
|
|
198
199
|
fontSize: 10,
|
|
199
200
|
color: macOSColors.text.secondary,
|
|
200
|
-
fontFamily:
|
|
201
|
+
fontFamily: monoFont
|
|
201
202
|
}
|
|
202
203
|
});
|