@manta-eu/react 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +100 -37
- package/dist/components/breadcrumbs/index.d.ts +26 -0
- package/dist/components/breadcrumbs/index.d.ts.map +1 -0
- package/dist/components/breadcrumbs/index.js +36 -0
- package/dist/components/channel-icon/index.d.ts +1 -2
- package/dist/components/channel-icon/index.d.ts.map +1 -1
- package/dist/components/channel-icon/index.js +0 -4
- package/dist/components/chip/index.d.ts +14 -0
- package/dist/components/chip/index.d.ts.map +1 -0
- package/dist/components/chip/index.js +8 -0
- package/dist/components/editable-text/index.d.ts +13 -0
- package/dist/components/editable-text/index.d.ts.map +1 -0
- package/dist/components/editable-text/index.js +61 -0
- package/dist/components/explain-fact/ExplainFact.d.ts +16 -0
- package/dist/components/explain-fact/ExplainFact.d.ts.map +1 -0
- package/dist/components/{rdfox-explain/RDFoxExplain.js → explain-fact/ExplainFact.js} +12 -12
- package/dist/components/explain-fact/OutdatedFactNotice.d.ts.map +1 -0
- package/dist/components/input/index.d.ts +2 -0
- package/dist/components/input/index.d.ts.map +1 -1
- package/dist/components/input/index.js +2 -0
- package/dist/components/input/input-numeric.d.ts +19 -0
- package/dist/components/input/input-numeric.d.ts.map +1 -0
- package/dist/components/input/input-numeric.js +85 -0
- package/dist/components/input/input-tags.d.ts +17 -0
- package/dist/components/input/input-tags.d.ts.map +1 -0
- package/dist/components/input/input-tags.js +46 -0
- package/dist/components/multi-select/index.d.ts +32 -0
- package/dist/components/multi-select/index.d.ts.map +1 -0
- package/dist/components/multi-select/index.js +33 -0
- package/dist/components/multi-select/toggle-value.d.ts +2 -0
- package/dist/components/multi-select/toggle-value.d.ts.map +1 -0
- package/dist/components/multi-select/toggle-value.js +3 -0
- package/dist/components/plan-row/index.d.ts +2 -1
- package/dist/components/plan-row/index.d.ts.map +1 -1
- package/dist/components/plan-row/index.js +2 -14
- package/dist/components/sidebar/index.d.ts +4 -1
- package/dist/components/sidebar/index.d.ts.map +1 -1
- package/dist/components/sidebar/index.js +2 -2
- package/dist/components/skeleton/index.js +1 -1
- package/dist/components/tool-invocation-card/ExplainFactResultDisplay.d.ts +9 -0
- package/dist/components/tool-invocation-card/ExplainFactResultDisplay.d.ts.map +1 -0
- package/dist/components/tool-invocation-card/{ExplainRDFoxResultDisplay.js → ExplainFactResultDisplay.js} +3 -3
- package/dist/components/tool-invocation-card/ToolOutputRenderer.js +2 -2
- package/dist/components/tool-invocation-card/types.d.ts +4 -4
- package/dist/components/tool-invocation-card/types.d.ts.map +1 -1
- package/dist/components/tool-invocation-card/types.js +2 -2
- package/dist/components/tree-multi-select/index.d.ts +1 -1
- package/dist/components/tree-multi-select/index.d.ts.map +1 -1
- package/dist/components/tree-multi-select/index.js +1 -1
- package/dist/components/tree-multi-select/tree-multi-select-rows.d.ts +2 -1
- package/dist/components/tree-multi-select/tree-multi-select-rows.d.ts.map +1 -1
- package/dist/components/tree-multi-select/tree-multi-select-rows.js +21 -31
- package/dist/components/tree-multi-select/tree-multi-select.d.ts +2 -0
- package/dist/components/tree-multi-select/tree-multi-select.d.ts.map +1 -1
- package/dist/components/tree-multi-select/tree-multi-select.js +21 -8
- package/dist/explain-fact/DatalogCode.d.ts.map +1 -0
- package/dist/explain-fact/EntityChip.d.ts.map +1 -0
- package/dist/explain-fact/EntityChip.js +17 -0
- package/dist/explain-fact/ExplainCompactView.d.ts.map +1 -0
- package/dist/explain-fact/ExplainFactState.d.ts +7 -0
- package/dist/explain-fact/ExplainFactState.d.ts.map +1 -0
- package/dist/{rdfox-explain/RDFoxExplainState.js → explain-fact/ExplainFactState.js} +1 -1
- package/dist/explain-fact/ExplainFullView.d.ts.map +1 -0
- package/dist/explain-fact/ExplainStates.d.ts.map +1 -0
- package/dist/explain-fact/ExplainTag.d.ts.map +1 -0
- package/dist/explain-fact/FactNotice.d.ts +7 -0
- package/dist/explain-fact/FactNotice.d.ts.map +1 -0
- package/dist/explain-fact/FactNotice.js +25 -0
- package/dist/explain-fact/FactValue.d.ts.map +1 -0
- package/dist/explain-fact/NumDot.d.ts.map +1 -0
- package/dist/explain-fact/PanelLabel.d.ts.map +1 -0
- package/dist/explain-fact/ProofSubjectHeader.d.ts.map +1 -0
- package/dist/explain-fact/ProvenanceBadge.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/ProvenanceBadge.js +2 -1
- package/dist/explain-fact/RuleVariableTypes.d.ts.map +1 -0
- package/dist/explain-fact/SubstitutedFactNotice.d.ts.map +1 -0
- package/dist/explain-fact/ValuePill.d.ts.map +1 -0
- package/dist/explain-fact/conclusion/ConclusionCard.d.ts.map +1 -0
- package/dist/explain-fact/conclusion/ConclusionSubtitle.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/conclusion/ConclusionSubtitle.js +3 -1
- package/dist/explain-fact/conclusion/index.d.ts.map +1 -0
- package/dist/explain-fact/explain-styles.d.ts.map +1 -0
- package/dist/explain-fact/fact-token.d.ts.map +1 -0
- package/dist/explain-fact/formula-hues.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/index.d.ts +2 -3
- package/dist/explain-fact/index.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/index.js +2 -3
- package/dist/explain-fact/inspector/ExplainInspector.d.ts.map +1 -0
- package/dist/explain-fact/inspector/ExplainInspector.js +20 -0
- package/dist/explain-fact/inspector/InspectorBindings.d.ts.map +1 -0
- package/dist/explain-fact/inspector/InspectorFact.d.ts.map +1 -0
- package/dist/explain-fact/inspector/InspectorHeader.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/inspector/InspectorRule.d.ts +3 -0
- package/dist/explain-fact/inspector/InspectorRule.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/inspector/InspectorRule.js +4 -5
- package/dist/explain-fact/inspector/SupportsSection.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/inspector/SupportsSection.js +2 -1
- package/dist/explain-fact/inspector/index.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/ProofFactLabel.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/ProofRowBadge.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/ProofRowContent.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/ProofRowValue.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/ProofTree.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofTree.js +1 -1
- package/dist/explain-fact/proof-tree/ProofTreeFormulaFooter.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/ProofTreeNode.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/SupportsTag.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/SupportsTag.js +6 -0
- package/dist/explain-fact/proof-tree/index.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/proof-tree-navigation.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/proof-tree-root-view.d.ts.map +1 -0
- package/dist/explain-fact/proof-tree/visible-premises.d.ts.map +1 -0
- package/dist/explain-fact/rule-presentation.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/tree-model.d.ts +18 -9
- package/dist/explain-fact/tree-model.d.ts.map +1 -0
- package/dist/{rdfox-explain → explain-fact}/tree-model.js +19 -10
- package/dist/explain-fact/use-fact-measure.d.ts.map +1 -0
- package/dist/globals.css +383 -108
- package/dist/graph/nodes/AdMockupCard.js +1 -1
- package/dist/graph/nodes/CreativeMediaCard.js +1 -1
- package/dist/graph/nodes/EntityCardShell.js +1 -1
- package/dist/hooks/use-conversation-starters.d.ts +1 -1
- package/dist/hooks/useValidateActionPlan.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/ldo-ui.d.ts +1 -1
- package/dist/ldo-ui.d.ts.map +1 -1
- package/dist/ldo-ui.js +1 -1
- package/dist/lib/datastore-route-paths.d.ts +2 -2
- package/dist/lib/datastore-route-paths.d.ts.map +1 -1
- package/dist/lib/datastore-route-paths.js +2 -2
- package/dist/lib/datastore-route-table.d.ts +36 -0
- package/dist/lib/datastore-route-table.d.ts.map +1 -0
- package/dist/lib/datastore-route-table.js +43 -0
- package/dist/lib/datastore-routes.d.ts +1 -1
- package/dist/lib/datastore-routes.d.ts.map +1 -1
- package/dist/lib/datastore-routes.js +1 -1
- package/dist/lib/spa-routes.d.ts +3 -0
- package/dist/lib/spa-routes.d.ts.map +1 -0
- package/dist/lib/spa-routes.js +5 -0
- package/dist/routes/data-explorer/components/Breadcrumbs.d.ts.map +1 -1
- package/dist/routes/data-explorer/components/Breadcrumbs.js +5 -5
- package/dist/routes/datastores/components/DatastoreFormDialog.d.ts +18 -0
- package/dist/routes/datastores/components/DatastoreFormDialog.d.ts.map +1 -0
- package/dist/routes/datastores/components/DatastoreFormDialog.js +27 -0
- package/dist/routes/datastores/components/DatastoreTableSkeleton.d.ts +2 -0
- package/dist/routes/datastores/components/DatastoreTableSkeleton.d.ts.map +1 -0
- package/dist/routes/datastores/components/DatastoreTableSkeleton.js +7 -0
- package/dist/routes/datastores/components/DatastoresToolbar.d.ts +18 -0
- package/dist/routes/datastores/components/DatastoresToolbar.d.ts.map +1 -0
- package/dist/routes/datastores/components/DatastoresToolbar.js +29 -0
- package/dist/routes/datastores/components/LinkUnlinkedDatastoreDialog.d.ts +14 -0
- package/dist/routes/datastores/components/LinkUnlinkedDatastoreDialog.d.ts.map +1 -0
- package/dist/routes/datastores/components/LinkUnlinkedDatastoreDialog.js +83 -0
- package/dist/routes/datastores/components/RenameDatastoreGroupDialog.d.ts +9 -0
- package/dist/routes/datastores/components/RenameDatastoreGroupDialog.d.ts.map +1 -0
- package/dist/routes/datastores/components/RenameDatastoreGroupDialog.js +21 -0
- package/dist/routes/datastores/components/StatusBadge.d.ts +21 -0
- package/dist/routes/datastores/components/StatusBadge.d.ts.map +1 -0
- package/dist/routes/datastores/components/StatusBadge.js +49 -0
- package/dist/routes/datastores/components/UnlinkedDatastoresPanel.d.ts +20 -0
- package/dist/routes/datastores/components/UnlinkedDatastoresPanel.d.ts.map +1 -0
- package/dist/routes/datastores/components/UnlinkedDatastoresPanel.js +13 -0
- package/dist/routes/datastores/flatten.d.ts +33 -0
- package/dist/routes/datastores/flatten.d.ts.map +1 -0
- package/dist/routes/datastores/flatten.js +86 -0
- package/dist/routes/datastores/hooks/useDatastoreColumns.d.ts +47 -0
- package/dist/routes/datastores/hooks/useDatastoreColumns.d.ts.map +1 -0
- package/dist/routes/datastores/hooks/useDatastoreColumns.js +165 -0
- package/dist/routes/datastores/hooks/useDatastoreTable.d.ts +14 -0
- package/dist/routes/datastores/hooks/useDatastoreTable.d.ts.map +1 -0
- package/dist/routes/datastores/hooks/useDatastoreTable.js +45 -0
- package/dist/routes/datastores/index.d.ts +2 -0
- package/dist/routes/datastores/index.d.ts.map +1 -0
- package/dist/routes/datastores/index.js +467 -0
- package/dist/routes/explain/ExplainEmpty.d.ts +2 -0
- package/dist/routes/explain/ExplainEmpty.d.ts.map +1 -0
- package/dist/routes/explain/ExplainEmpty.js +8 -0
- package/dist/routes/explain/index.d.ts +2 -0
- package/dist/routes/explain/index.d.ts.map +1 -0
- package/dist/routes/explain/index.js +16 -0
- package/dist/routes/explain/url-params.d.ts +9 -0
- package/dist/routes/explain/url-params.d.ts.map +1 -0
- package/dist/routes/explain/url-params.js +21 -0
- package/dist/routes/integrations/components/ConnectionRow.d.ts.map +1 -1
- package/dist/routes/integrations/components/ConnectionRow.js +1 -1
- package/dist/routes/integrations/connection-view.d.ts.map +1 -1
- package/dist/routes/integrations/connection-view.js +17 -1
- package/dist/routes/integrations/types.d.ts +2 -1
- package/dist/routes/integrations/types.d.ts.map +1 -1
- package/dist/routes/memories/components/ChangeScopeDialog.d.ts +12 -0
- package/dist/routes/memories/components/ChangeScopeDialog.d.ts.map +1 -0
- package/dist/routes/memories/components/ChangeScopeDialog.js +89 -0
- package/dist/routes/memories/components/ConflictMemoryCard.d.ts +13 -0
- package/dist/routes/memories/components/ConflictMemoryCard.d.ts.map +1 -0
- package/dist/routes/memories/components/ConflictMemoryCard.js +43 -0
- package/dist/routes/memories/components/ConflictTimeoutFooter.d.ts +7 -0
- package/dist/routes/memories/components/ConflictTimeoutFooter.d.ts.map +1 -0
- package/dist/routes/memories/components/ConflictTimeoutFooter.js +6 -0
- package/dist/routes/memories/components/ConsolidationReviewDialog.d.ts +61 -0
- package/dist/routes/memories/components/ConsolidationReviewDialog.d.ts.map +1 -0
- package/dist/routes/memories/components/ConsolidationReviewDialog.js +121 -0
- package/dist/routes/memories/components/EmptyStates.d.ts +18 -0
- package/dist/routes/memories/components/EmptyStates.d.ts.map +1 -0
- package/dist/routes/memories/components/EmptyStates.js +22 -0
- package/dist/routes/memories/components/ImportanceSlider.d.ts +11 -0
- package/dist/routes/memories/components/ImportanceSlider.d.ts.map +1 -0
- package/dist/routes/memories/components/ImportanceSlider.js +31 -0
- package/dist/routes/memories/components/LiveContextTab.d.ts +6 -0
- package/dist/routes/memories/components/LiveContextTab.d.ts.map +1 -0
- package/dist/routes/memories/components/LiveContextTab.js +37 -0
- package/dist/routes/memories/components/LoadingSkeleton.d.ts +2 -0
- package/dist/routes/memories/components/LoadingSkeleton.d.ts.map +1 -0
- package/dist/routes/memories/components/LoadingSkeleton.js +7 -0
- package/dist/routes/memories/components/MemoriesFilters.d.ts +31 -0
- package/dist/routes/memories/components/MemoriesFilters.d.ts.map +1 -0
- package/dist/routes/memories/components/MemoriesFilters.js +88 -0
- package/dist/routes/memories/components/MemoriesPanel.d.ts +6 -0
- package/dist/routes/memories/components/MemoriesPanel.d.ts.map +1 -0
- package/dist/routes/memories/components/MemoriesPanel.js +99 -0
- package/dist/routes/memories/components/MemoriesTabPanel.d.ts +30 -0
- package/dist/routes/memories/components/MemoriesTabPanel.d.ts.map +1 -0
- package/dist/routes/memories/components/MemoriesTabPanel.js +11 -0
- package/dist/routes/memories/components/MemoryActions.d.ts +12 -0
- package/dist/routes/memories/components/MemoryActions.d.ts.map +1 -0
- package/dist/routes/memories/components/MemoryActions.js +24 -0
- package/dist/routes/memories/components/MemoryFields.d.ts +32 -0
- package/dist/routes/memories/components/MemoryFields.d.ts.map +1 -0
- package/dist/routes/memories/components/MemoryFields.js +30 -0
- package/dist/routes/memories/components/MemoryFormDialog.d.ts +15 -0
- package/dist/routes/memories/components/MemoryFormDialog.d.ts.map +1 -0
- package/dist/routes/memories/components/MemoryFormDialog.js +299 -0
- package/dist/routes/memories/components/MemoryOnboardingWizard.d.ts +9 -0
- package/dist/routes/memories/components/MemoryOnboardingWizard.d.ts.map +1 -0
- package/dist/routes/memories/components/MemoryOnboardingWizard.js +99 -0
- package/dist/routes/memories/components/RestoreBlockedDialog.d.ts +8 -0
- package/dist/routes/memories/components/RestoreBlockedDialog.d.ts.map +1 -0
- package/dist/routes/memories/components/RestoreBlockedDialog.js +7 -0
- package/dist/routes/memories/components/SchemasTab.d.ts +6 -0
- package/dist/routes/memories/components/SchemasTab.d.ts.map +1 -0
- package/dist/routes/memories/components/SchemasTab.js +35 -0
- package/dist/routes/memories/components/SupersessionConflictDialog.d.ts +18 -0
- package/dist/routes/memories/components/SupersessionConflictDialog.d.ts.map +1 -0
- package/dist/routes/memories/components/SupersessionConflictDialog.js +78 -0
- package/dist/routes/memories/components/TeamPicker.d.ts +8 -0
- package/dist/routes/memories/components/TeamPicker.d.ts.map +1 -0
- package/dist/routes/memories/components/TeamPicker.js +25 -0
- package/dist/routes/memories/components/badges.d.ts +50 -0
- package/dist/routes/memories/components/badges.d.ts.map +1 -0
- package/dist/routes/memories/components/badges.js +106 -0
- package/dist/routes/memories/expiry-utils.d.ts +23 -0
- package/dist/routes/memories/expiry-utils.d.ts.map +1 -0
- package/dist/routes/memories/expiry-utils.js +97 -0
- package/dist/routes/memories/hooks/useConflictCheck.d.ts +18 -0
- package/dist/routes/memories/hooks/useConflictCheck.d.ts.map +1 -0
- package/dist/routes/memories/hooks/useConflictCheck.js +35 -0
- package/dist/routes/memories/hooks/useDuplicateDetection.d.ts +11 -0
- package/dist/routes/memories/hooks/useDuplicateDetection.d.ts.map +1 -0
- package/dist/routes/memories/hooks/useDuplicateDetection.js +73 -0
- package/dist/routes/memories/hooks/useLiveContext.d.ts +23 -0
- package/dist/routes/memories/hooks/useLiveContext.d.ts.map +1 -0
- package/dist/routes/memories/hooks/useLiveContext.js +102 -0
- package/dist/routes/memories/hooks/useMemoryColumns.d.ts +33 -0
- package/dist/routes/memories/hooks/useMemoryColumns.d.ts.map +1 -0
- package/dist/routes/memories/hooks/useMemoryColumns.js +188 -0
- package/dist/routes/memories/hooks/useMemoryTable.d.ts +33 -0
- package/dist/routes/memories/hooks/useMemoryTable.d.ts.map +1 -0
- package/dist/routes/memories/hooks/useMemoryTable.js +121 -0
- package/dist/routes/memories/index.d.ts +11 -0
- package/dist/routes/memories/index.d.ts.map +1 -0
- package/dist/routes/memories/index.js +472 -0
- package/dist/routes/memories/memory-form-validation.d.ts +8 -0
- package/dist/routes/memories/memory-form-validation.d.ts.map +1 -0
- package/dist/routes/memories/memory-form-validation.js +33 -0
- package/dist/routes/memories/memory-mutation-input.d.ts +6 -0
- package/dist/routes/memories/memory-mutation-input.d.ts.map +1 -0
- package/dist/routes/memories/memory-mutation-input.js +41 -0
- package/dist/routes/plans/components/actionPlansTableConfig.d.ts +3 -3
- package/dist/routes/rules/components/CreateRuleChatModal.d.ts +10 -0
- package/dist/routes/rules/components/CreateRuleChatModal.d.ts.map +1 -0
- package/dist/routes/rules/components/CreateRuleChatModal.js +52 -0
- package/dist/routes/rules/components/RuleActionabilityBadge.d.ts +8 -0
- package/dist/routes/rules/components/RuleActionabilityBadge.d.ts.map +1 -0
- package/dist/routes/rules/components/RuleActionabilityBadge.js +18 -0
- package/dist/routes/rules/components/RuleAffectedActionPlansSection.d.ts +6 -0
- package/dist/routes/rules/components/RuleAffectedActionPlansSection.d.ts.map +1 -0
- package/dist/routes/rules/components/RuleAffectedActionPlansSection.js +151 -0
- package/dist/routes/rules/components/RuleAst.d.ts +6 -0
- package/dist/routes/rules/components/RuleAst.d.ts.map +1 -0
- package/dist/routes/rules/components/RuleAst.js +23 -0
- package/dist/routes/rules/components/RuleDependentRulesSection.d.ts +6 -0
- package/dist/routes/rules/components/RuleDependentRulesSection.d.ts.map +1 -0
- package/dist/routes/rules/components/RuleDependentRulesSection.js +16 -0
- package/dist/routes/rules/components/RuleDetailsPage.d.ts +14 -0
- package/dist/routes/rules/components/RuleDetailsPage.d.ts.map +1 -0
- package/dist/routes/rules/components/RuleDetailsPage.js +51 -0
- package/dist/routes/rules/components/RuleProducersSection.d.ts +7 -0
- package/dist/routes/rules/components/RuleProducersSection.d.ts.map +1 -0
- package/dist/routes/rules/components/RuleProducersSection.js +10 -0
- package/dist/routes/rules/components/RuleSampleFactsSection.d.ts +7 -0
- package/dist/routes/rules/components/RuleSampleFactsSection.d.ts.map +1 -0
- package/dist/routes/rules/components/RuleSampleFactsSection.js +70 -0
- package/dist/routes/rules/components/RulesOverviewHeaderActions.d.ts +17 -0
- package/dist/routes/rules/components/RulesOverviewHeaderActions.d.ts.map +1 -0
- package/dist/routes/rules/components/RulesOverviewHeaderActions.js +55 -0
- package/dist/routes/rules/components/RulesOverviewPage.d.ts +13 -0
- package/dist/routes/rules/components/RulesOverviewPage.d.ts.map +1 -0
- package/dist/routes/rules/components/RulesOverviewPage.js +236 -0
- package/dist/routes/rules/components/SupportedActionShapesList/SupportedActionShapeDetails.d.ts +7 -0
- package/dist/routes/rules/components/SupportedActionShapesList/SupportedActionShapeDetails.d.ts.map +1 -0
- package/dist/routes/rules/components/SupportedActionShapesList/SupportedActionShapeDetails.js +47 -0
- package/dist/routes/rules/components/SupportedActionShapesList/SupportedActionShapesList.d.ts +8 -0
- package/dist/routes/rules/components/SupportedActionShapesList/SupportedActionShapesList.d.ts.map +1 -0
- package/dist/routes/rules/components/SupportedActionShapesList/SupportedActionShapesList.js +76 -0
- package/dist/routes/rules/components/SupportedActionShapesList/TokenList.d.ts +6 -0
- package/dist/routes/rules/components/SupportedActionShapesList/TokenList.d.ts.map +1 -0
- package/dist/routes/rules/components/SupportedActionShapesList/TokenList.js +9 -0
- package/dist/routes/rules/components/SupportedActionShapesList/index.d.ts +2 -0
- package/dist/routes/rules/components/SupportedActionShapesList/index.d.ts.map +1 -0
- package/dist/routes/rules/components/SupportedActionShapesList/index.js +1 -0
- package/dist/routes/rules/components/SupportedActionShapesList/shacl-shape.d.ts +20 -0
- package/dist/routes/rules/components/SupportedActionShapesList/shacl-shape.d.ts.map +1 -0
- package/dist/routes/rules/components/SupportedActionShapesList/shacl-shape.js +48 -0
- package/dist/routes/rules/components/datalog-editor/BindingsPreview.d.ts +9 -0
- package/dist/routes/rules/components/datalog-editor/BindingsPreview.d.ts.map +1 -0
- package/dist/routes/rules/components/datalog-editor/BindingsPreview.js +38 -0
- package/dist/routes/rules/components/datalog-editor/FactsPreview.d.ts +10 -0
- package/dist/routes/rules/components/datalog-editor/FactsPreview.d.ts.map +1 -0
- package/dist/routes/rules/components/datalog-editor/FactsPreview.js +43 -0
- package/dist/routes/rules/components/datalog-editor/PreviewPanel.d.ts +7 -0
- package/dist/routes/rules/components/datalog-editor/PreviewPanel.d.ts.map +1 -0
- package/dist/routes/rules/components/datalog-editor/PreviewPanel.js +8 -0
- package/dist/routes/rules/components/datalog-editor/QueryResults.d.ts +9 -0
- package/dist/routes/rules/components/datalog-editor/QueryResults.d.ts.map +1 -0
- package/dist/routes/rules/components/datalog-editor/QueryResults.js +22 -0
- package/dist/routes/rules/components/datalog-editor/SparqlQueryPanel.d.ts +11 -0
- package/dist/routes/rules/components/datalog-editor/SparqlQueryPanel.d.ts.map +1 -0
- package/dist/routes/rules/components/datalog-editor/SparqlQueryPanel.js +21 -0
- package/dist/routes/rules/components/rule-producers.d.ts +15 -0
- package/dist/routes/rules/components/rule-producers.d.ts.map +1 -0
- package/dist/routes/rules/components/rule-producers.js +76 -0
- package/dist/routes/rules/components/sample-facts-query.d.ts +9 -0
- package/dist/routes/rules/components/sample-facts-query.d.ts.map +1 -0
- package/dist/routes/rules/components/sample-facts-query.js +71 -0
- package/dist/routes/rules/datalog-editor.d.ts +6 -0
- package/dist/routes/rules/datalog-editor.d.ts.map +1 -0
- package/dist/routes/rules/datalog-editor.js +7 -0
- package/dist/routes/rules/hooks/useRuleFactsPreview.d.ts +53 -0
- package/dist/routes/rules/hooks/useRuleFactsPreview.d.ts.map +1 -0
- package/dist/routes/rules/hooks/useRuleFactsPreview.js +214 -0
- package/dist/routes/rules/hooks/useSparqlQueryExecution.d.ts +14 -0
- package/dist/routes/rules/hooks/useSparqlQueryExecution.d.ts.map +1 -0
- package/dist/routes/rules/hooks/useSparqlQueryExecution.js +77 -0
- package/dist/routes/rules/pages.d.ts +6 -0
- package/dist/routes/rules/pages.d.ts.map +1 -0
- package/dist/routes/rules/pages.js +7 -0
- package/dist/rules/RuleNameLink.d.ts +6 -0
- package/dist/rules/RuleNameLink.d.ts.map +1 -0
- package/dist/rules/RuleNameLink.js +8 -0
- package/package.json +64 -24
- package/src/globals.css +18 -18
- package/src/themes/manta-dark.css +1 -4
- package/src/themes/manta.css +1 -0
- package/src/themes/standard.css +12 -11
- package/dist/components/channel-icon/marketer-icon.d.ts +0 -4
- package/dist/components/channel-icon/marketer-icon.d.ts.map +0 -1
- package/dist/components/channel-icon/marketer-icon.js +0 -6
- package/dist/components/rdfox-explain/OutdatedFactNotice.d.ts.map +0 -1
- package/dist/components/rdfox-explain/RDFoxExplain.d.ts +0 -16
- package/dist/components/rdfox-explain/RDFoxExplain.d.ts.map +0 -1
- package/dist/components/tool-invocation-card/ExplainRDFoxResultDisplay.d.ts +0 -9
- package/dist/components/tool-invocation-card/ExplainRDFoxResultDisplay.d.ts.map +0 -1
- package/dist/lib/test-utils.d.ts +0 -4
- package/dist/lib/test-utils.d.ts.map +0 -1
- package/dist/lib/test-utils.js +0 -16
- package/dist/rdfox-explain/AbsentFactNotice.d.ts +0 -5
- package/dist/rdfox-explain/AbsentFactNotice.d.ts.map +0 -1
- package/dist/rdfox-explain/AbsentFactNotice.js +0 -6
- package/dist/rdfox-explain/DatalogCode.d.ts.map +0 -1
- package/dist/rdfox-explain/EntityChip.d.ts.map +0 -1
- package/dist/rdfox-explain/EntityChip.js +0 -9
- package/dist/rdfox-explain/ExplainCompactView.d.ts.map +0 -1
- package/dist/rdfox-explain/ExplainFullView.d.ts.map +0 -1
- package/dist/rdfox-explain/ExplainStates.d.ts.map +0 -1
- package/dist/rdfox-explain/ExplainTag.d.ts.map +0 -1
- package/dist/rdfox-explain/FactValue.d.ts.map +0 -1
- package/dist/rdfox-explain/NumDot.d.ts.map +0 -1
- package/dist/rdfox-explain/PanelLabel.d.ts.map +0 -1
- package/dist/rdfox-explain/ProofSubjectHeader.d.ts.map +0 -1
- package/dist/rdfox-explain/ProvenanceBadge.d.ts.map +0 -1
- package/dist/rdfox-explain/RDFoxExplainState.d.ts +0 -7
- package/dist/rdfox-explain/RDFoxExplainState.d.ts.map +0 -1
- package/dist/rdfox-explain/RuleVariableTypes.d.ts.map +0 -1
- package/dist/rdfox-explain/StoredFactNotice.d.ts +0 -5
- package/dist/rdfox-explain/StoredFactNotice.d.ts.map +0 -1
- package/dist/rdfox-explain/StoredFactNotice.js +0 -6
- package/dist/rdfox-explain/SubstitutedFactNotice.d.ts.map +0 -1
- package/dist/rdfox-explain/ValuePill.d.ts.map +0 -1
- package/dist/rdfox-explain/busy-aggregate-fixture.d.ts +0 -7
- package/dist/rdfox-explain/busy-aggregate-fixture.d.ts.map +0 -1
- package/dist/rdfox-explain/busy-aggregate-fixture.js +0 -6
- package/dist/rdfox-explain/conclusion/ConclusionCard.d.ts.map +0 -1
- package/dist/rdfox-explain/conclusion/ConclusionSubtitle.d.ts.map +0 -1
- package/dist/rdfox-explain/conclusion/index.d.ts.map +0 -1
- package/dist/rdfox-explain/explain-styles.d.ts.map +0 -1
- package/dist/rdfox-explain/fact-token.d.ts.map +0 -1
- package/dist/rdfox-explain/formula-hues.d.ts.map +0 -1
- package/dist/rdfox-explain/index.d.ts.map +0 -1
- package/dist/rdfox-explain/inspector/ExplainInspector.d.ts.map +0 -1
- package/dist/rdfox-explain/inspector/ExplainInspector.js +0 -22
- package/dist/rdfox-explain/inspector/InspectorBindings.d.ts.map +0 -1
- package/dist/rdfox-explain/inspector/InspectorFact.d.ts.map +0 -1
- package/dist/rdfox-explain/inspector/InspectorHeader.d.ts.map +0 -1
- package/dist/rdfox-explain/inspector/InspectorRule.d.ts.map +0 -1
- package/dist/rdfox-explain/inspector/SupportsSection.d.ts.map +0 -1
- package/dist/rdfox-explain/inspector/index.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/ProofFactLabel.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/ProofRowBadge.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/ProofRowContent.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/ProofRowValue.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/ProofTree.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/ProofTreeFormulaFooter.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/ProofTreeNode.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/SupportsTag.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/SupportsTag.js +0 -6
- package/dist/rdfox-explain/proof-tree/index.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/proof-tree-navigation.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/proof-tree-root-view.d.ts.map +0 -1
- package/dist/rdfox-explain/proof-tree/visible-premises.d.ts.map +0 -1
- package/dist/rdfox-explain/rule-presentation.d.ts.map +0 -1
- package/dist/rdfox-explain/tree-model.d.ts.map +0 -1
- package/dist/rdfox-explain/use-fact-measure.d.ts.map +0 -1
- package/dist/test-support.d.ts +0 -9
- package/dist/test-support.d.ts.map +0 -1
- package/dist/test-support.js +0 -18
- package/src/themes/marketer-dark.css +0 -70
- /package/dist/components/{rdfox-explain → explain-fact}/OutdatedFactNotice.d.ts +0 -0
- /package/dist/components/{rdfox-explain → explain-fact}/OutdatedFactNotice.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/DatalogCode.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/DatalogCode.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/EntityChip.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ExplainCompactView.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ExplainCompactView.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ExplainFullView.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ExplainFullView.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ExplainStates.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ExplainStates.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ExplainTag.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ExplainTag.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/FactValue.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/FactValue.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/NumDot.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/NumDot.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/PanelLabel.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/PanelLabel.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ProofSubjectHeader.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ProofSubjectHeader.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ProvenanceBadge.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/RuleVariableTypes.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/RuleVariableTypes.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/SubstitutedFactNotice.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/SubstitutedFactNotice.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ValuePill.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/ValuePill.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/conclusion/ConclusionCard.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/conclusion/ConclusionCard.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/conclusion/ConclusionSubtitle.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/conclusion/index.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/conclusion/index.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/explain-styles.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/explain-styles.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/fact-token.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/fact-token.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/formula-hues.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/formula-hues.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/ExplainInspector.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/InspectorBindings.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/InspectorBindings.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/InspectorFact.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/InspectorFact.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/InspectorHeader.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/InspectorHeader.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/SupportsSection.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/index.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/inspector/index.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofFactLabel.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofFactLabel.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofRowBadge.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofRowBadge.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofRowContent.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofRowContent.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofRowValue.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofRowValue.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofTree.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofTreeFormulaFooter.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofTreeFormulaFooter.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofTreeNode.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/ProofTreeNode.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/SupportsTag.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/index.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/index.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/proof-tree-navigation.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/proof-tree-navigation.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/proof-tree-root-view.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/proof-tree-root-view.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/visible-premises.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/proof-tree/visible-premises.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/rule-presentation.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/rule-presentation.js +0 -0
- /package/dist/{rdfox-explain → explain-fact}/use-fact-measure.d.ts +0 -0
- /package/dist/{rdfox-explain → explain-fact}/use-fact-measure.js +0 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { isPresent } from "@manta-eu/lib/present";
|
|
4
|
+
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
import { cn } from "#style";
|
|
7
|
+
export function clamp(value, min, max) {
|
|
8
|
+
let next = value;
|
|
9
|
+
if (isPresent(min)) {
|
|
10
|
+
next = Math.max(min, next);
|
|
11
|
+
}
|
|
12
|
+
if (isPresent(max)) {
|
|
13
|
+
next = Math.min(max, next);
|
|
14
|
+
}
|
|
15
|
+
return next;
|
|
16
|
+
}
|
|
17
|
+
function toDraft(value) {
|
|
18
|
+
return Number.isFinite(value) ? String(value) : "";
|
|
19
|
+
}
|
|
20
|
+
export function decimalsOf(value) {
|
|
21
|
+
const text = String(value);
|
|
22
|
+
// Exponential notation ("1e-7") carries no decimal point; fall back to full precision.
|
|
23
|
+
if (text.includes("e")) {
|
|
24
|
+
return 20;
|
|
25
|
+
}
|
|
26
|
+
const point = text.indexOf(".");
|
|
27
|
+
return point === -1 ? 0 : text.length - point - 1;
|
|
28
|
+
}
|
|
29
|
+
export function roundToStep(value, step, base = 0) {
|
|
30
|
+
const decimals = Math.min(20, Math.max(decimalsOf(step), decimalsOf(base)));
|
|
31
|
+
return Number(value.toFixed(decimals));
|
|
32
|
+
}
|
|
33
|
+
function StepperButton(props) {
|
|
34
|
+
const { label, disabled, onClick, children } = props;
|
|
35
|
+
return (_jsx("button", { type: "button", "aria-label": label, tabIndex: -1, disabled: disabled, onClick: onClick, className: "flex h-1/2 w-7 items-center justify-center text-muted-foreground hover:text-default-foreground disabled:pointer-events-none disabled:opacity-40", children: children }));
|
|
36
|
+
}
|
|
37
|
+
export function InputNumeric(props) {
|
|
38
|
+
const { value, onValueChange, min, max, step = 1, disabled = false, placeholder, className } = props;
|
|
39
|
+
const ariaLabel = props["aria-label"];
|
|
40
|
+
const [draft, setDraft] = useState(() => toDraft(value));
|
|
41
|
+
const [lastValue, setLastValue] = useState(value);
|
|
42
|
+
// Resync the draft when the parent moves value elsewhere; Object.is avoids a NaN loop (NaN !== NaN).
|
|
43
|
+
if (!Object.is(lastValue, value)) {
|
|
44
|
+
setLastValue(value);
|
|
45
|
+
if (parseFloat(draft) !== value) {
|
|
46
|
+
setDraft(toDraft(value));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function applyDelta(delta) {
|
|
50
|
+
const parsed = parseFloat(draft);
|
|
51
|
+
const base = Number.isFinite(parsed) ? parsed : value;
|
|
52
|
+
const next = clamp(roundToStep(base + delta, step, base), min, max);
|
|
53
|
+
onValueChange(next);
|
|
54
|
+
setDraft(toDraft(next));
|
|
55
|
+
}
|
|
56
|
+
function commitDraft() {
|
|
57
|
+
const parsed = parseFloat(draft);
|
|
58
|
+
if (Number.isFinite(parsed)) {
|
|
59
|
+
const next = clamp(parsed, min, max);
|
|
60
|
+
onValueChange(next);
|
|
61
|
+
setDraft(toDraft(next));
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
setDraft(toDraft(value));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function onKeyDown(event) {
|
|
68
|
+
if (event.key === "Enter") {
|
|
69
|
+
commitDraft();
|
|
70
|
+
}
|
|
71
|
+
else if (event.key === "ArrowUp") {
|
|
72
|
+
event.preventDefault();
|
|
73
|
+
applyDelta(step);
|
|
74
|
+
}
|
|
75
|
+
else if (event.key === "ArrowDown") {
|
|
76
|
+
event.preventDefault();
|
|
77
|
+
applyDelta(-step);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
const draftBase = Number.isFinite(parseFloat(draft)) ? parseFloat(draft) : value;
|
|
81
|
+
const atMin = isPresent(min) && draftBase <= min;
|
|
82
|
+
const atMax = isPresent(max) && draftBase >= max;
|
|
83
|
+
return (_jsxs("div", { className: cn("relative inline-flex w-full items-stretch rounded-md-v4 border border-input-border bg-input text-default-foreground", "focus-within:border-active-border focus-within:outline focus-within:outline-1 focus-within:outline-active-border", disabled && "pointer-events-none opacity-50", className), "data-slot": "numeric-input", children: [_jsx("input", { type: "text", inputMode: "decimal", value: draft, disabled: disabled, placeholder: placeholder, "aria-label": ariaLabel, onChange: (event) => setDraft(event.currentTarget.value), onBlur: commitDraft, onKeyDown: onKeyDown, className: "w-full min-w-0 bg-transparent px-3 py-2.5 typography-caption text-default-foreground outline-none placeholder:text-muted-foreground" }), _jsxs("div", { className: "flex flex-col justify-center border-l border-input-border", children: [_jsx(StepperButton, { label: "Increment", disabled: disabled || atMax, onClick: () => applyDelta(step), children: _jsx(ChevronUp, { className: "size-3" }) }), _jsx(StepperButton, { label: "Decrement", disabled: disabled || atMin, onClick: () => applyDelta(-step), children: _jsx(ChevronDown, { className: "size-3" }) })] })] }));
|
|
84
|
+
}
|
|
85
|
+
InputNumeric.displayName = "InputNumeric";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type InputTagsSize = "sm" | "base" | "lg";
|
|
2
|
+
export type InputTagsProps = {
|
|
3
|
+
value: string[];
|
|
4
|
+
onChange: (value: string[]) => void;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
size?: InputTagsSize;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
invalid?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
"aria-label"?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function addTag(values: string[], raw: string): string[];
|
|
13
|
+
export declare function InputTags(props: InputTagsProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare namespace InputTags {
|
|
15
|
+
var displayName: string;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=input-tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-tags.d.ts","sourceRoot":"","sources":["../../../src/components/input/input-tags.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAQF,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAM9D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAuE9C;yBAvEe,SAAS"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { isPresent } from "@manta-eu/lib/present";
|
|
4
|
+
import { useRef, useState } from "react";
|
|
5
|
+
import { Chip } from "../chip/index.js";
|
|
6
|
+
import { cn } from "#style";
|
|
7
|
+
const sizeLayout = {
|
|
8
|
+
sm: "min-h-8 px-2.5 py-1 typography-small",
|
|
9
|
+
base: "min-h-10 px-3 py-1.5 typography-caption",
|
|
10
|
+
lg: "min-h-12 px-4 py-2 typography-body-v4",
|
|
11
|
+
};
|
|
12
|
+
export function addTag(values, raw) {
|
|
13
|
+
const tag = raw.trim();
|
|
14
|
+
if (!isPresent(tag) || values.includes(tag)) {
|
|
15
|
+
return values;
|
|
16
|
+
}
|
|
17
|
+
return [...values, tag];
|
|
18
|
+
}
|
|
19
|
+
export function InputTags(props) {
|
|
20
|
+
const { value, onChange, placeholder = "Add a tag…", size = "base", disabled = false, invalid = false, className, } = props;
|
|
21
|
+
const ariaLabel = props["aria-label"];
|
|
22
|
+
const inputRef = useRef(null);
|
|
23
|
+
const [pending, setPending] = useState("");
|
|
24
|
+
function commitFromInput() {
|
|
25
|
+
const next = addTag(value, pending);
|
|
26
|
+
if (next !== value) {
|
|
27
|
+
onChange(next);
|
|
28
|
+
}
|
|
29
|
+
setPending("");
|
|
30
|
+
}
|
|
31
|
+
function onKeyDown(event) {
|
|
32
|
+
if (event.key === "Enter" || event.key === ",") {
|
|
33
|
+
event.preventDefault();
|
|
34
|
+
commitFromInput();
|
|
35
|
+
}
|
|
36
|
+
else if (event.key === "Escape") {
|
|
37
|
+
event.preventDefault();
|
|
38
|
+
setPending("");
|
|
39
|
+
}
|
|
40
|
+
else if (event.key === "Backspace" && !isPresent(pending) && isPresent(value)) {
|
|
41
|
+
onChange(value.slice(0, -1));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return (_jsxs("div", { "data-slot": "tag-input", onClick: () => inputRef.current?.focus(), className: cn("flex w-full flex-wrap items-center gap-1.5 rounded-md-v4 border bg-input text-default-foreground", "focus-within:border-active-border focus-within:outline focus-within:outline-1 focus-within:outline-active-border", invalid ? "border-error-border" : "border-input-border", disabled && "pointer-events-none opacity-50", sizeLayout[size], className), children: [value.map((tag) => (_jsx(Chip, { label: tag, removeLabel: tag, disabled: disabled, onRemove: () => onChange(value.filter((current) => current !== tag)) }, tag))), _jsx("input", { ref: inputRef, type: "text", value: pending, "aria-label": ariaLabel, "aria-invalid": invalid ? true : undefined, disabled: disabled, placeholder: isPresent(value) ? "" : placeholder, onChange: (event) => setPending(event.currentTarget.value), onKeyDown: onKeyDown, onBlur: commitFromInput, className: "min-w-24 flex-1 bg-transparent outline-none placeholder:text-placeholder-foreground" })] }));
|
|
45
|
+
}
|
|
46
|
+
InputTags.displayName = "InputTags";
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export type MultiSelectSize = "sm" | "base" | "lg";
|
|
3
|
+
export type MultiSelectOption = {
|
|
4
|
+
value: string;
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
/** Text to match against when searching; defaults to the label when it is a string, otherwise the value. */
|
|
9
|
+
searchText?: string;
|
|
10
|
+
};
|
|
11
|
+
export type MultiSelectProps = {
|
|
12
|
+
/** A selected id with no matching option stays in state but shows no chip; keep options complete. */
|
|
13
|
+
options: MultiSelectOption[];
|
|
14
|
+
value: string[];
|
|
15
|
+
onChange: (value: string[]) => void;
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
searchPlaceholder?: string;
|
|
18
|
+
emptyMessage?: string;
|
|
19
|
+
size?: MultiSelectSize;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
clearable?: boolean;
|
|
22
|
+
invalid?: boolean;
|
|
23
|
+
/** Validation message; renders below the control and is announced via `aria-errormessage`. Implies `invalid`. */
|
|
24
|
+
error?: string;
|
|
25
|
+
className?: string;
|
|
26
|
+
"aria-label"?: string;
|
|
27
|
+
};
|
|
28
|
+
export declare function MultiSelect(props: MultiSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare namespace MultiSelect {
|
|
30
|
+
var displayName: string;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/multi-select/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAe9C,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4GAA4G;IAC5G,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qGAAqG;IACrG,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iHAAiH;IACjH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAeF,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA4GlD;yBA5Ge,WAAW"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { isPresent } from "@manta-eu/lib/present";
|
|
4
|
+
import { ChevronDown, X } from "lucide-react";
|
|
5
|
+
import { useId } from "react";
|
|
6
|
+
import { Chip } from "../chip/index.js";
|
|
7
|
+
import { Combobox, ComboboxContent, ComboboxEmpty, ComboboxInput, ComboboxItem, ComboboxList, ComboboxTrigger, } from "../combobox/index.js";
|
|
8
|
+
import { createSelectClassName } from "../select/index.js";
|
|
9
|
+
import { toggleValue } from "./toggle-value.js";
|
|
10
|
+
import { cn } from "#style";
|
|
11
|
+
const triggerLayoutBySize = {
|
|
12
|
+
sm: "min-h-8 py-1",
|
|
13
|
+
base: "min-h-10 py-1.5",
|
|
14
|
+
lg: "min-h-12 py-2",
|
|
15
|
+
};
|
|
16
|
+
function optionSearchText(option) {
|
|
17
|
+
if (isPresent(option.searchText)) {
|
|
18
|
+
return option.searchText;
|
|
19
|
+
}
|
|
20
|
+
return typeof option.label === "string" ? option.label : option.value;
|
|
21
|
+
}
|
|
22
|
+
export function MultiSelect(props) {
|
|
23
|
+
const { options, value, onChange, placeholder = "Select…", searchPlaceholder = "Search…", emptyMessage = "No results.", size = "base", disabled = false, clearable = true, invalid = false, error, className, } = props;
|
|
24
|
+
const ariaLabel = props["aria-label"];
|
|
25
|
+
const errorId = useId();
|
|
26
|
+
const isInvalid = invalid || isPresent(error);
|
|
27
|
+
const hasSelection = isPresent(value);
|
|
28
|
+
return (_jsxs("div", { className: "flex w-full flex-col gap-1.5", children: [_jsxs(Combobox, { children: [_jsxs("div", { "data-slot": "multi-select", className: cn(createSelectClassName({ size }), "group relative h-auto flex-wrap items-start gap-1.5", "has-[:focus-visible]:border-active-border has-[:focus-visible]:outline has-[:focus-visible]:outline-1 has-[:focus-visible]:outline-active-border has-[:focus-visible]:outline-offset-0", "has-[[aria-invalid]]:border-error-border has-[[aria-invalid]]:ring-error-foreground/20", triggerLayoutBySize[size], disabled && "pointer-events-none opacity-50", className), children: [_jsx(ComboboxTrigger, { asChild: true, children: _jsx("button", { type: "button", disabled: disabled, "aria-label": ariaLabel, "aria-invalid": isInvalid ? true : undefined, "aria-errormessage": isPresent(error) ? errorId : undefined, className: "absolute inset-0 size-full cursor-pointer rounded-[inherit] outline-none disabled:cursor-not-allowed" }) }), _jsx("div", { className: "pointer-events-none relative flex min-w-0 flex-1 flex-wrap items-center gap-1.5", children: hasSelection ? (value.map((selected) => {
|
|
29
|
+
const option = options.find((candidate) => candidate.value === selected);
|
|
30
|
+
return (_jsx(Chip, { label: option?.label ?? selected, removeLabel: isPresent(option) ? optionSearchText(option) : selected, disabled: disabled, onRemove: () => onChange(toggleValue(value, selected)) }, selected));
|
|
31
|
+
})) : (_jsx("span", { className: "text-placeholder-foreground", children: placeholder })) }), _jsxs("div", { className: "pointer-events-none relative flex shrink-0 items-center gap-0.5 pt-0.5", children: [clearable && hasSelection && !disabled && (_jsx("button", { type: "button", "aria-label": "Clear all", onClick: () => onChange([]), className: "pointer-events-auto flex size-4 items-center justify-center rounded-sm text-muted-foreground hover:text-default-foreground", children: _jsx(X, { className: "size-3.5" }) })), _jsx(ChevronDown, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-180" })] })] }), _jsxs(ComboboxContent, { className: "w-[var(--radix-popover-trigger-width)]", children: [_jsx(ComboboxInput, { placeholder: searchPlaceholder }), _jsxs(ComboboxList, { children: [_jsx(ComboboxEmpty, { children: emptyMessage }), options.map((option) => (_jsx(ComboboxItem, { value: option.value, keywords: [optionSearchText(option)], icon: option.icon, selected: value.includes(option.value), disabled: option.disabled, closeOnSelect: false, onSelect: () => onChange(toggleValue(value, option.value)), children: option.label }, option.value)))] })] })] }), isPresent(error) ? (_jsx("p", { id: errorId, className: "typography-small text-error-foreground", children: error })) : null] }));
|
|
32
|
+
}
|
|
33
|
+
MultiSelect.displayName = "MultiSelect";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle-value.d.ts","sourceRoot":"","sources":["../../../src/components/multi-select/toggle-value.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAErE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { GQLIntegration } from "@manta-eu/client";
|
|
1
2
|
import type { ElementType } from "react";
|
|
2
3
|
export type PlanState = "DRAFT" | "RUNNING" | "FAILED" | "TIMED_OUT" | "COMPLETED";
|
|
3
4
|
export type PlanHowTo = {
|
|
@@ -9,7 +10,7 @@ export type PlanHowTo = {
|
|
|
9
10
|
export type PlanRowPlan = {
|
|
10
11
|
iri: string;
|
|
11
12
|
state?: PlanState | null;
|
|
12
|
-
primaryIntegration?:
|
|
13
|
+
primaryIntegration?: GQLIntegration | null;
|
|
13
14
|
actionCount: number;
|
|
14
15
|
completedActionCount: number;
|
|
15
16
|
subjects: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/plan-row/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/plan-row/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAQzC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAEnF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,kBAAkB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA2DF,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,2CAsE1C;AAED,wBAAgB,iBAAiB,4CAShC"}
|
|
@@ -4,6 +4,7 @@ import { Clock, Ellipsis, Zap } from "lucide-react";
|
|
|
4
4
|
import { match } from "ts-pattern";
|
|
5
5
|
import { Link } from "../button/index.js";
|
|
6
6
|
import { ChannelIcon } from "../channel-icon/index.js";
|
|
7
|
+
import { integrationToChannel } from "../planning/plan-detail-utils.js";
|
|
7
8
|
import { Tooltip, TooltipContent, TooltipTrigger } from "../tooltip/index.js";
|
|
8
9
|
import { cn } from "#style";
|
|
9
10
|
function isActivePlan(state) {
|
|
@@ -63,23 +64,10 @@ function extractPlanName(iri) {
|
|
|
63
64
|
const separator = Math.max(lastHash, lastSlash);
|
|
64
65
|
return separator > -1 ? iri.slice(separator + 1) : iri;
|
|
65
66
|
}
|
|
66
|
-
function integrationToChannel(integration) {
|
|
67
|
-
if (integration === "GOOGLE")
|
|
68
|
-
return "GOOGLE_ADS";
|
|
69
|
-
if (integration === "META" ||
|
|
70
|
-
integration === "GOOGLE_ADS" ||
|
|
71
|
-
integration === "SNAPCHAT" ||
|
|
72
|
-
integration === "SHOPIFY" ||
|
|
73
|
-
integration === "MARKETER" ||
|
|
74
|
-
integration === "MANTA") {
|
|
75
|
-
return integration;
|
|
76
|
-
}
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
67
|
export function PlanRow(props) {
|
|
80
68
|
const { plan, href, component, className } = props;
|
|
81
69
|
const status = getStatusConfig(plan.state);
|
|
82
|
-
const channel = integrationToChannel(plan.primaryIntegration);
|
|
70
|
+
const channel = plan.primaryIntegration ? integrationToChannel(plan.primaryIntegration) : null;
|
|
83
71
|
const actionCount = getActionCount(plan);
|
|
84
72
|
const timeEstimate = getTimeEstimate(plan);
|
|
85
73
|
const planName = plan.howTo?.name ?? extractPlanName(plan.iri);
|
|
@@ -15,7 +15,10 @@ declare function Sidebar({ side, variant, collapsible, className, children, ...p
|
|
|
15
15
|
variant?: "sidebar" | "floating" | "inset";
|
|
16
16
|
collapsible?: "offcanvas" | "icon" | "none";
|
|
17
17
|
}): import("react/jsx-runtime").JSX.Element;
|
|
18
|
-
|
|
18
|
+
export type SidebarTriggerProps = Omit<IconOnlyButtonProps, "icon" | "iconOnly" | "aria-label"> & {
|
|
19
|
+
"aria-label"?: string;
|
|
20
|
+
};
|
|
21
|
+
declare function SidebarTrigger(props: SidebarTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
19
22
|
declare function SidebarRail({ className, ...props }: ComponentProps<"button">): import("react/jsx-runtime").JSX.Element;
|
|
20
23
|
declare function SidebarInset({ className, ...props }: ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
21
24
|
declare function SidebarInput({ className, ...props }: ComponentProps<typeof Input>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/index.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAyD,KAAK,cAAc,EAAsB,MAAM,OAAO,CAAC;AACvH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,OAAO,EAAW,cAAc,EAAmB,MAAM,YAAY,CAAC;AACtE,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7E,QAAA,MAAM,iBAAiB,kBAAkB,CAAC;AAM1C,iBAAS,UAAU,wBAOlB;AAED,iBAAS,eAAe,CAAC,EACvB,WAAkB,EAClB,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,WAAW,EACzB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,2CAkFA;AAED,iBAAS,OAAO,CAAC,EACf,IAAa,EACb,OAAmB,EACnB,WAAyB,EACzB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAC3C,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;CAC7C,2CA8FA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -104,12 +104,12 @@ function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas"
|
|
|
104
104
|
: "group-data-[collapsible=icon]:w-(--sidebar-width-icon)", className), ...props, children: _jsx("div", { "data-sidebar": "sidebar", "data-slot": "sidebar-inner", className: "bg-sidebar group-data-[variant=floating]:border-muted-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm", children: children }) })] }));
|
|
105
105
|
}
|
|
106
106
|
function SidebarTrigger(props) {
|
|
107
|
-
const { className, onClick, ...otherProps } = props;
|
|
107
|
+
const { className, onClick, "aria-label": ariaLabel = "Toggle Sidebar", ...otherProps } = props;
|
|
108
108
|
const { toggleSidebar } = useSidebar();
|
|
109
109
|
return (_jsx(Button, { "data-sidebar": "trigger", "data-slot": "sidebar-trigger", variant: "ghost", className: cn("size-7", className), onClick: (event) => {
|
|
110
110
|
onClick?.(event);
|
|
111
111
|
toggleSidebar();
|
|
112
|
-
}, ...otherProps, icon: PanelLeftIcon, iconOnly: true, "aria-label":
|
|
112
|
+
}, ...otherProps, icon: PanelLeftIcon, iconOnly: true, "aria-label": ariaLabel }));
|
|
113
113
|
}
|
|
114
114
|
function SidebarRail({ className, ...props }) {
|
|
115
115
|
const { toggleSidebar } = useSidebar();
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
3
3
|
import { tv } from "tailwind-variants";
|
|
4
4
|
import { cn } from "#style";
|
|
5
5
|
export const skeletonConfig = {
|
|
6
|
-
base: "animate-shimmer bg-gradient-to-r from-
|
|
6
|
+
base: "animate-shimmer bg-gradient-to-r from-skeleton from-25% via-skeleton/10 to-skeleton to-75% bg-[length:220%_100%] " +
|
|
7
7
|
"motion-reduce:animate-none",
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ToolUIPart } from "ai";
|
|
2
|
+
import type { ExplainFactToolResult } from "./types.js";
|
|
3
|
+
type ExplainFactResultDisplayProps = {
|
|
4
|
+
result: ExplainFactToolResult;
|
|
5
|
+
toolUIPart?: ToolUIPart;
|
|
6
|
+
};
|
|
7
|
+
export declare function ExplainFactResultDisplay(props: ExplainFactResultDisplayProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=ExplainFactResultDisplay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExplainFactResultDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/tool-invocation-card/ExplainFactResultDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAIrC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGrD,KAAK,6BAA6B,GAAG;IACnC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,2CAS5E"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { ExplainFact } from "../explain-fact/ExplainFact.js";
|
|
4
4
|
import { DefaultResultDisplay } from "./DefaultResultDisplay.js";
|
|
5
5
|
import { normalize } from "#ldo-ui";
|
|
6
|
-
export function
|
|
6
|
+
export function ExplainFactResultDisplay(props) {
|
|
7
7
|
const { result, toolUIPart } = props;
|
|
8
8
|
const spo = useMemo(() => extractExplainSpo(toolUIPart?.input, result), [toolUIPart?.input, result]);
|
|
9
9
|
if (!spo) {
|
|
10
10
|
return _jsx(DefaultResultDisplay, { result: result, toolUIPart: toolUIPart });
|
|
11
11
|
}
|
|
12
|
-
return _jsx(
|
|
12
|
+
return _jsx(ExplainFact, { mode: "compact", data: result, ...spo });
|
|
13
13
|
}
|
|
14
14
|
function extractExplainSpo(input, result) {
|
|
15
15
|
if (isExplainInput(input)) {
|
|
@@ -7,7 +7,7 @@ import { FileMessagePart } from "../chat-view/FileMessagePart.js";
|
|
|
7
7
|
import { ActionPlanShowcaseCard } from "./ActionPlanShowcaseCard.js";
|
|
8
8
|
import { DefaultResultDisplay } from "./DefaultResultDisplay.js";
|
|
9
9
|
import { EntitySetCard } from "./EntitySetCard.js";
|
|
10
|
-
import {
|
|
10
|
+
import { ExplainFactResultDisplay } from "./ExplainFactResultDisplay.js";
|
|
11
11
|
import { ListRulesResultDisplay } from "./ListRulesResultDisplay.js";
|
|
12
12
|
import { ManageRulesResultDisplay } from "./ManageRulesResultDisplay.js";
|
|
13
13
|
import { isChartToolResult, isErrorToolResult, isExplainRDFoxRulesResult, isGetRDFoxRulesToolResult, isManageRulesResult, isShowcaseToolResult, isWorkspaceArtifactResult, } from "./types.js";
|
|
@@ -64,7 +64,7 @@ export function ToolOutputRenderer(props) {
|
|
|
64
64
|
.when(isChartToolResult, (chartResult) => _jsx(ChartResultDisplay, { result: chartResult }))
|
|
65
65
|
.when(isManageRulesResult, (rulesResult) => _jsx(ManageRulesResultDisplay, { result: rulesResult }))
|
|
66
66
|
.when(isGetRDFoxRulesToolResult, (rulesResult) => (_jsx(ListRulesResultDisplay, { result: rulesResult })))
|
|
67
|
-
.when(isExplainRDFoxRulesResult, (explainResult) => (_jsx(
|
|
67
|
+
.when(isExplainRDFoxRulesResult, (explainResult) => (_jsx(ExplainFactResultDisplay, { result: explainResult, toolUIPart: toolUIPart })))
|
|
68
68
|
.when(isShowcaseToolResult, (showcaseResult) => (_jsx(ShowcaseResultDisplay, { result: showcaseResult })))
|
|
69
69
|
.when(isWorkspaceArtifactResult, (artifactResult) => _jsx(WorkspaceArtifactResultDisplay, { result: artifactResult }))
|
|
70
70
|
.when(isShowEntitiesResult, (entitySetResult) => _jsx(EntitySetCard, { result: entitySetResult }))
|
|
@@ -2,7 +2,7 @@ import { type ActionPlanShowcaseOutput, type ShowEntitiesOutput } from "@manta-e
|
|
|
2
2
|
import type { GetRDFoxRulesOutputSuccess } from "@manta-eu/client/shared/tools/types";
|
|
3
3
|
import { type WorkspaceArtifact } from "@manta-eu/client/shared/workspace-artifacts";
|
|
4
4
|
import type { DatalogRule, InferenceVerificationResult } from "@manta-eu/datalog-parser";
|
|
5
|
-
import type {
|
|
5
|
+
import type { ExplainFactOutput } from "#ldo-ui";
|
|
6
6
|
export type ChartToolResult = {
|
|
7
7
|
type: "chart";
|
|
8
8
|
chartType: "line" | "area" | "bar" | "pie" | "scatter" | "radar" | "composed";
|
|
@@ -39,8 +39,8 @@ export type ShowEntitiesToolResult = Extract<ShowEntitiesOutput, {
|
|
|
39
39
|
entityIris: string[];
|
|
40
40
|
}>;
|
|
41
41
|
export type GetRDFoxRulesToolResult = GetRDFoxRulesOutputSuccess;
|
|
42
|
-
export type
|
|
43
|
-
export type ToolResult = ChartToolResult | ErrorToolResult | ManageRulesResult | ShowcaseToolResult | ShowEntitiesToolResult | GetRDFoxRulesToolResult |
|
|
42
|
+
export type ExplainFactToolResult = ExplainFactOutput;
|
|
43
|
+
export type ToolResult = ChartToolResult | ErrorToolResult | ManageRulesResult | ShowcaseToolResult | ShowEntitiesToolResult | GetRDFoxRulesToolResult | ExplainFactToolResult | WorkspaceArtifact | {
|
|
44
44
|
content: Array<{
|
|
45
45
|
type: string;
|
|
46
46
|
text: string;
|
|
@@ -55,7 +55,7 @@ export declare function isManageRulesResult(result: unknown): result is ManageRu
|
|
|
55
55
|
export declare function isStagedManageRulesResult(result: unknown): result is StagedManageRulesResult;
|
|
56
56
|
export declare function isShowcaseToolResult(result: unknown): result is ShowcaseToolResult;
|
|
57
57
|
export declare function isGetRDFoxRulesToolResult(result: unknown): result is GetRDFoxRulesOutputSuccess;
|
|
58
|
-
export declare function isExplainRDFoxRulesResult(result: unknown): result is
|
|
58
|
+
export declare function isExplainRDFoxRulesResult(result: unknown): result is ExplainFactToolResult;
|
|
59
59
|
export declare function hasVisualOutput(output: unknown): boolean;
|
|
60
60
|
export declare function hasInlineVisualOutput(output: unknown): boolean;
|
|
61
61
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tool-invocation-card/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAE9G,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEzF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tool-invocation-card/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ export function isExplainRDFoxRulesResult(result) {
|
|
|
39
39
|
return false;
|
|
40
40
|
return entries.every((entry) => {
|
|
41
41
|
const values = Array.isArray(entry) ? entry : [entry];
|
|
42
|
-
return isPresent(values) && values.every(
|
|
42
|
+
return isPresent(values) && values.every(isExplainedFact);
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
45
|
export function hasVisualOutput(output) {
|
|
@@ -59,7 +59,7 @@ export function hasInlineVisualOutput(output) {
|
|
|
59
59
|
isShowEntitiesResult(output) ||
|
|
60
60
|
isWorkspaceArtifactResult(output));
|
|
61
61
|
}
|
|
62
|
-
function
|
|
62
|
+
function isExplainedFact(value) {
|
|
63
63
|
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
64
64
|
return false;
|
|
65
65
|
if ("fact" in value && typeof value.fact !== "string")
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { TreeMultiSelect, type TreeMultiSelectProps } from "./tree-multi-select.js";
|
|
2
|
-
export { buildTreeRows, type TreeNode, type TreeRow, type TreeSelectItem } from "./tree-multi-select-rows.js";
|
|
2
|
+
export { buildTreeRows, compareNodes, type TreeNode, type TreeRow, type TreeSelectItem, } from "./tree-multi-select-rows.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tree-multi-select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tree-multi-select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,cAAc,GACpB,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { TreeMultiSelect } from "./tree-multi-select.js";
|
|
2
|
-
export { buildTreeRows } from "./tree-multi-select-rows.js";
|
|
2
|
+
export { buildTreeRows, compareNodes, } from "./tree-multi-select-rows.js";
|
|
@@ -17,7 +17,8 @@ export type TreeRow<T extends TreeNode> = {
|
|
|
17
17
|
node: T;
|
|
18
18
|
depth: number;
|
|
19
19
|
};
|
|
20
|
-
export declare function
|
|
20
|
+
export declare function compareNodes(a: TreeNode, b: TreeNode): number;
|
|
21
|
+
export declare function buildTreeRows<T extends TreeNode>(nodes: readonly T[], compare?: (a: T, b: T) => number): TreeRow<T>[];
|
|
21
22
|
export declare function isGroupHead(items: readonly TreeSelectItem[], index: number): boolean;
|
|
22
23
|
export declare function subtreeIds(items: readonly TreeSelectItem[], headId: string): string[];
|
|
23
24
|
export declare function filterTreeItems(items: readonly TreeSelectItem[], search: string): TreeSelectItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-multi-select-rows.d.ts","sourceRoot":"","sources":["../../../src/components/tree-multi-select/tree-multi-select-rows.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"tree-multi-select-rows.d.ts","sourceRoot":"","sources":["../../../src/components/tree-multi-select/tree-multi-select-rows.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMrE,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAK7D;AAGD,wBAAgB,aAAa,CAAC,CAAC,SAAS,QAAQ,EAC9C,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAqB,GAC7C,OAAO,CAAC,CAAC,CAAC,EAAE,CA+Bd;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAIpF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYrF;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CA4BlG;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,GAChC,cAAc,EAAE,CAWlB"}
|
|
@@ -4,15 +4,15 @@ export const treeSearchThreshold = 7;
|
|
|
4
4
|
function nodeLabel(node) {
|
|
5
5
|
return node.name ?? node.id;
|
|
6
6
|
}
|
|
7
|
-
function compareNodes(a, b) {
|
|
7
|
+
export function compareNodes(a, b) {
|
|
8
8
|
const aNamed = a.name != null;
|
|
9
9
|
const bNamed = b.name != null;
|
|
10
10
|
if (aNamed !== bNamed)
|
|
11
11
|
return aNamed ? -1 : 1;
|
|
12
12
|
return nodeLabel(a).localeCompare(nodeLabel(b)) || a.id.localeCompare(b.id);
|
|
13
13
|
}
|
|
14
|
-
// Depth-first from the roots with
|
|
15
|
-
export function buildTreeRows(nodes) {
|
|
14
|
+
// Depth-first from the roots with siblings sorted by label by default; orphans and cycles still surface as roots.
|
|
15
|
+
export function buildTreeRows(nodes, compare = compareNodes) {
|
|
16
16
|
const ids = new Set(nodes.map(({ id }) => id));
|
|
17
17
|
const childrenByParent = new Map();
|
|
18
18
|
const roots = [];
|
|
@@ -33,11 +33,11 @@ export function buildTreeRows(nodes) {
|
|
|
33
33
|
return;
|
|
34
34
|
visited.add(node.id);
|
|
35
35
|
rows.push({ node, depth });
|
|
36
|
-
for (const child of [...(childrenByParent.get(node.id) ?? [])].sort(
|
|
36
|
+
for (const child of [...(childrenByParent.get(node.id) ?? [])].sort(compare)) {
|
|
37
37
|
visit(child, depth + 1);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
for (const root of [...roots].sort(
|
|
40
|
+
for (const root of [...roots].sort(compare)) {
|
|
41
41
|
visit(root, 0);
|
|
42
42
|
}
|
|
43
43
|
for (const node of nodes) {
|
|
@@ -64,21 +64,7 @@ export function subtreeIds(items, headId) {
|
|
|
64
64
|
}
|
|
65
65
|
return ids;
|
|
66
66
|
}
|
|
67
|
-
|
|
68
|
-
const indexes = [];
|
|
69
|
-
const row = items[index];
|
|
70
|
-
if (!row)
|
|
71
|
-
return indexes;
|
|
72
|
-
let depth = row.depth;
|
|
73
|
-
for (let previous = index - 1; previous >= 0 && depth > 0; previous--) {
|
|
74
|
-
const candidate = items[previous];
|
|
75
|
-
if (candidate && candidate.depth < depth) {
|
|
76
|
-
indexes.push(previous);
|
|
77
|
-
depth = candidate.depth;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return indexes;
|
|
81
|
-
}
|
|
67
|
+
// One pass: a match keeps its ancestors, tracked on a stack, and every row below it.
|
|
82
68
|
export function filterTreeItems(items, search) {
|
|
83
69
|
const term = search.trim().toLowerCase();
|
|
84
70
|
if (!isPresent(term))
|
|
@@ -87,19 +73,23 @@ export function filterTreeItems(items, search) {
|
|
|
87
73
|
(item.caption ?? "").toLowerCase().includes(term) ||
|
|
88
74
|
item.id.toLowerCase().includes(term);
|
|
89
75
|
const kept = new Set();
|
|
76
|
+
const ancestors = [];
|
|
77
|
+
let matchedDepth = null;
|
|
90
78
|
items.forEach((item, index) => {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
79
|
+
while ((ancestors.at(-1)?.depth ?? -1) >= item.depth)
|
|
80
|
+
ancestors.pop();
|
|
81
|
+
if (matchedDepth != null && item.depth <= matchedDepth)
|
|
82
|
+
matchedDepth = null;
|
|
83
|
+
if (matchedDepth != null) {
|
|
84
|
+
kept.add(index);
|
|
85
|
+
}
|
|
86
|
+
else if (matches(item)) {
|
|
87
|
+
kept.add(index);
|
|
88
|
+
for (const ancestor of ancestors)
|
|
89
|
+
kept.add(ancestor.index);
|
|
90
|
+
matchedDepth = item.depth;
|
|
102
91
|
}
|
|
92
|
+
ancestors.push({ index, depth: item.depth });
|
|
103
93
|
});
|
|
104
94
|
return items.filter((_, index) => kept.has(index));
|
|
105
95
|
}
|