@manta-eu/react 0.1.1 → 0.1.3
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 +2 -6
- package/dist/components/brand-icons/index.d.ts +6 -0
- package/dist/components/brand-icons/index.d.ts.map +1 -0
- package/dist/components/brand-icons/index.js +34 -0
- 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/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/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 +240 -18
- package/dist/graph/nodes/AdMockupCard.d.ts.map +1 -1
- package/dist/graph/nodes/AdMockupCard.js +2 -1
- package/dist/graph/nodes/AttioCompanyView.d.ts.map +1 -1
- package/dist/graph/nodes/AttioCompanyView.js +2 -1
- package/dist/graph/nodes/LinkedinAdAccountView.d.ts.map +1 -1
- package/dist/graph/nodes/LinkedinAdAccountView.js +1 -1
- package/dist/graph/nodes/SlackChannelView.d.ts.map +1 -1
- package/dist/graph/nodes/SlackChannelView.js +2 -1
- package/dist/graph/nodes/SlackMessageView.d.ts.map +1 -1
- package/dist/graph/nodes/SlackMessageView.js +1 -1
- package/dist/graph/nodes/SlackUserView.d.ts.map +1 -1
- package/dist/graph/nodes/SlackUserView.js +2 -1
- package/dist/graph/nodes/SlackWorkspaceView.d.ts.map +1 -1
- package/dist/graph/nodes/SlackWorkspaceView.js +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 +20 -0
- package/dist/routes/datastores/components/DatastoreFormDialog.d.ts.map +1 -0
- package/dist/routes/datastores/components/DatastoreFormDialog.js +33 -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 +471 -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/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 +68 -33
- package/src/globals.css +5 -0
- package/src/themes/manta-dark.css +1 -0
- package/src/themes/manta.css +1 -0
- package/src/themes/standard.css +1 -0
- 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/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
package/README.md
CHANGED
|
@@ -32,13 +32,10 @@ stylesheet:
|
|
|
32
32
|
|
|
33
33
|
/* Manta components – design tokens, base styles, utilities */
|
|
34
34
|
@import "@manta-eu/react/globals.css";
|
|
35
|
-
|
|
36
|
-
/* Keep the classes the package uses in your build */
|
|
37
|
-
@source "../node_modules/@manta-eu/react/";
|
|
38
35
|
```
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
The stylesheet points Tailwind at the package's own compiled components, so you do not add an
|
|
38
|
+
`@source` for it yourself.
|
|
42
39
|
|
|
43
40
|
### 3. Point the font variable at a real font
|
|
44
41
|
|
|
@@ -65,7 +62,6 @@ pnpm manta-codegen generate \
|
|
|
65
62
|
--datastore your-datastore \
|
|
66
63
|
--keycloak-url https://auth.hiremanta.com \
|
|
67
64
|
--keycloak-realm your-realm \
|
|
68
|
-
--client-id your-realm-app \
|
|
69
65
|
--out ./.ldkit
|
|
70
66
|
```
|
|
71
67
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const Facebook: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
2
|
+
export declare const Instagram: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
3
|
+
export declare const Linkedin: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
4
|
+
export declare const Slack: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
5
|
+
export declare const Twitter: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/brand-icons/index.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,2IAEnB,CAAC;AAEH,eAAO,MAAM,SAAS,2IAIpB,CAAC;AAEH,eAAO,MAAM,QAAQ,2IAInB,CAAC;AAEH,eAAO,MAAM,KAAK,2IAShB,CAAC;AAEH,eAAO,MAAM,OAAO,2IAQlB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { createLucideIcon } from "lucide-react";
|
|
2
|
+
// lucide-react 1.0 removed its brand icons. These are the lucide-react 0.525.0 paths (ISC license).
|
|
3
|
+
export const Facebook = createLucideIcon("facebook", [
|
|
4
|
+
["path", { d: "M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z", key: "1jg4f8" }],
|
|
5
|
+
]);
|
|
6
|
+
export const Instagram = createLucideIcon("instagram", [
|
|
7
|
+
["rect", { width: "20", height: "20", x: "2", y: "2", rx: "5", ry: "5", key: "2e1cvw" }],
|
|
8
|
+
["path", { d: "M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z", key: "9exkf1" }],
|
|
9
|
+
["line", { x1: "17.5", x2: "17.51", y1: "6.5", y2: "6.5", key: "r4j83e" }],
|
|
10
|
+
]);
|
|
11
|
+
export const Linkedin = createLucideIcon("linkedin", [
|
|
12
|
+
["path", { d: "M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z", key: "c2jq9f" }],
|
|
13
|
+
["rect", { width: "4", height: "12", x: "2", y: "9", key: "mk3on5" }],
|
|
14
|
+
["circle", { cx: "4", cy: "4", r: "2", key: "bt5ra8" }],
|
|
15
|
+
]);
|
|
16
|
+
export const Slack = createLucideIcon("slack", [
|
|
17
|
+
["rect", { width: "3", height: "8", x: "13", y: "2", rx: "1.5", key: "diqz80" }],
|
|
18
|
+
["path", { d: "M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5", key: "183iwg" }],
|
|
19
|
+
["rect", { width: "3", height: "8", x: "8", y: "14", rx: "1.5", key: "hqg7r1" }],
|
|
20
|
+
["path", { d: "M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5", key: "76g71w" }],
|
|
21
|
+
["rect", { width: "8", height: "3", x: "14", y: "13", rx: "1.5", key: "1kmz0a" }],
|
|
22
|
+
["path", { d: "M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5", key: "jc4sz0" }],
|
|
23
|
+
["rect", { width: "8", height: "3", x: "2", y: "8", rx: "1.5", key: "1omvl4" }],
|
|
24
|
+
["path", { d: "M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5", key: "16f3cl" }],
|
|
25
|
+
]);
|
|
26
|
+
export const Twitter = createLucideIcon("twitter", [
|
|
27
|
+
[
|
|
28
|
+
"path",
|
|
29
|
+
{
|
|
30
|
+
d: "M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",
|
|
31
|
+
key: "pff0z6",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
]);
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export type BreadcrumbItem = {
|
|
3
|
+
label: ReactNode;
|
|
4
|
+
href?: string;
|
|
5
|
+
onClick?: () => void;
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
current?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type BreadcrumbLinkRenderer = (props: {
|
|
10
|
+
href: string;
|
|
11
|
+
className: string;
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}) => ReactNode;
|
|
14
|
+
export type BreadcrumbsProps = {
|
|
15
|
+
items: BreadcrumbItem[];
|
|
16
|
+
separator?: ReactNode;
|
|
17
|
+
/** Render a router link (e.g. React Router / next) for `href` items instead of the default full-navigation `<a>`. */
|
|
18
|
+
renderLink?: BreadcrumbLinkRenderer;
|
|
19
|
+
className?: string;
|
|
20
|
+
"aria-label"?: string;
|
|
21
|
+
};
|
|
22
|
+
export declare function Breadcrumbs(props: BreadcrumbsProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare namespace Breadcrumbs {
|
|
24
|
+
var displayName: string;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumbs/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGjD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,KAAK,SAAS,CAAC;AAEpH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,qHAAqH;IACrH,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AA4CF,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAyBlD;yBAzBe,WAAW"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { isPresent } from "@manta-eu/lib/present";
|
|
4
|
+
import { ChevronRight } from "lucide-react";
|
|
5
|
+
import { Fragment } from "react";
|
|
6
|
+
import { cn } from "#style";
|
|
7
|
+
const crumbBase = "inline-flex min-w-0 items-center gap-1.5 typography-small [&>svg]:size-4 [&>svg]:shrink-0";
|
|
8
|
+
const interactive = "text-muted-foreground hover:text-default-foreground rounded-sm outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-active-border";
|
|
9
|
+
function BreadcrumbCrumb(props) {
|
|
10
|
+
const { item, isLast, renderLink } = props;
|
|
11
|
+
const isCurrent = item.current ?? isLast;
|
|
12
|
+
const content = (_jsxs(_Fragment, { children: [item.icon, _jsx("span", { className: "truncate", children: item.label })] }));
|
|
13
|
+
if (isCurrent) {
|
|
14
|
+
return (_jsx("span", { "aria-current": "page", className: cn(crumbBase, "text-default-foreground typography-small-medium"), children: content }));
|
|
15
|
+
}
|
|
16
|
+
if (isPresent(item.href)) {
|
|
17
|
+
const linkClassName = cn(crumbBase, interactive);
|
|
18
|
+
if (isPresent(renderLink)) {
|
|
19
|
+
return _jsx(_Fragment, { children: renderLink({ href: item.href, className: linkClassName, children: content }) });
|
|
20
|
+
}
|
|
21
|
+
return (_jsx("a", { href: item.href, className: linkClassName, children: content }));
|
|
22
|
+
}
|
|
23
|
+
if (isPresent(item.onClick)) {
|
|
24
|
+
return (_jsx("button", { type: "button", onClick: item.onClick, className: cn(crumbBase, interactive), children: content }));
|
|
25
|
+
}
|
|
26
|
+
return _jsx("span", { className: cn(crumbBase, "text-muted-foreground"), children: content });
|
|
27
|
+
}
|
|
28
|
+
export function Breadcrumbs(props) {
|
|
29
|
+
const { items, separator, renderLink, className } = props;
|
|
30
|
+
const ariaLabel = props["aria-label"] ?? "Breadcrumb";
|
|
31
|
+
return (_jsx("nav", { "aria-label": ariaLabel, className: className, "data-slot": "breadcrumbs", children: _jsx("ol", { className: "flex items-center gap-1.5", children: items.map((item, index) => {
|
|
32
|
+
const isLast = index === items.length - 1;
|
|
33
|
+
return (_jsxs(Fragment, { children: [_jsx("li", { className: "flex min-w-0 items-center", children: _jsx(BreadcrumbCrumb, { item: item, isLast: isLast, renderLink: renderLink }) }), !isLast ? (_jsx("li", { "aria-hidden": true, className: "flex shrink-0 items-center text-muted-foreground [&>svg]:size-4", children: separator ?? _jsx(ChevronRight, {}) })) : null] }, `${item.href ?? "crumb"}-${index}`));
|
|
34
|
+
}) }) }));
|
|
35
|
+
}
|
|
36
|
+
Breadcrumbs.displayName = "Breadcrumbs";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export type ChipProps = {
|
|
3
|
+
label: ReactNode;
|
|
4
|
+
/** Accessible name for the remove action, e.g. "Remove Meta". */
|
|
5
|
+
removeLabel: string;
|
|
6
|
+
onRemove: () => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
/** A removable pill shared by MultiSelect and InputTags; hides its remove button when disabled. */
|
|
10
|
+
export declare function Chip(props: ChipProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare namespace Chip {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chip/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,mGAAmG;AACnG,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,2CAgBpC;yBAhBe,IAAI"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { X } from "lucide-react";
|
|
4
|
+
/** A removable pill shared by MultiSelect and InputTags; hides its remove button when disabled. */
|
|
5
|
+
export function Chip(props) {
|
|
6
|
+
return (_jsxs("span", { className: "inline-flex max-w-full items-center gap-1 rounded-sm bg-faint px-1.5 py-0.5 typography-caption text-default-foreground", children: [_jsx("span", { className: "truncate", children: props.label }), !props.disabled && (_jsx("button", { type: "button", "aria-label": `Remove ${props.removeLabel}`, onClick: props.onRemove, className: "pointer-events-auto -mr-0.5 flex size-4 shrink-0 items-center justify-center rounded-sm text-muted-foreground hover:text-default-foreground", children: _jsx(X, { className: "size-3" }) }))] }));
|
|
7
|
+
}
|
|
8
|
+
Chip.displayName = "Chip";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type EditableTextProps = {
|
|
2
|
+
value: string;
|
|
3
|
+
onChange: (value: string) => void;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
"aria-label"?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function EditableText(props: EditableTextProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare namespace EditableText {
|
|
11
|
+
var displayName: string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/editable-text/index.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAIF,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA4FpD;yBA5Fe,YAAY"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { isPresent } from "@manta-eu/lib/present";
|
|
4
|
+
import { useEffect, useRef, useState } from "react";
|
|
5
|
+
import { cn } from "#style";
|
|
6
|
+
const shared = "typography-body -mx-1.5 rounded-sm px-1.5 py-0.5";
|
|
7
|
+
export function EditableText(props) {
|
|
8
|
+
const { value, onChange, placeholder = "Click to edit", disabled = false, className } = props;
|
|
9
|
+
const ariaLabel = props["aria-label"];
|
|
10
|
+
const [isEditing, setIsEditing] = useState(false);
|
|
11
|
+
const [draft, setDraft] = useState(value);
|
|
12
|
+
const inputRef = useRef(null);
|
|
13
|
+
const buttonRef = useRef(null);
|
|
14
|
+
const wasEditing = useRef(false);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (isEditing) {
|
|
17
|
+
inputRef.current?.focus();
|
|
18
|
+
inputRef.current?.select();
|
|
19
|
+
}
|
|
20
|
+
else if (wasEditing.current) {
|
|
21
|
+
// Returning from edit mode: the input just unmounted, so pull focus back to the button
|
|
22
|
+
// rather than letting it drop to <body>.
|
|
23
|
+
buttonRef.current?.focus();
|
|
24
|
+
}
|
|
25
|
+
wasEditing.current = isEditing;
|
|
26
|
+
}, [isEditing]);
|
|
27
|
+
function startEditing() {
|
|
28
|
+
if (disabled) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
setDraft(value);
|
|
32
|
+
setIsEditing(true);
|
|
33
|
+
}
|
|
34
|
+
function commit() {
|
|
35
|
+
setIsEditing(false);
|
|
36
|
+
const next = draft.trim();
|
|
37
|
+
if (next !== value) {
|
|
38
|
+
onChange(next);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function cancel() {
|
|
42
|
+
setDraft(value);
|
|
43
|
+
setIsEditing(false);
|
|
44
|
+
}
|
|
45
|
+
function onKeyDown(event) {
|
|
46
|
+
if (event.key === "Enter") {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
commit();
|
|
49
|
+
}
|
|
50
|
+
else if (event.key === "Escape") {
|
|
51
|
+
event.preventDefault();
|
|
52
|
+
cancel();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (isEditing) {
|
|
56
|
+
return (_jsx("input", { ref: inputRef, value: draft, "aria-label": ariaLabel, placeholder: placeholder, onChange: (event) => setDraft(event.currentTarget.value), onBlur: commit, onKeyDown: onKeyDown, className: cn(shared, "min-w-0 bg-background text-default-foreground outline outline-2 -outline-offset-1 outline-active-border placeholder:text-muted-foreground", className) }));
|
|
57
|
+
}
|
|
58
|
+
const hasValue = isPresent(value);
|
|
59
|
+
return (_jsx("button", { ref: buttonRef, type: "button", disabled: disabled, "aria-label": ariaLabel, onClick: startEditing, "data-slot": "editable-text", className: cn(shared, "inline-flex max-w-full items-center text-left hover:bg-accent/60 disabled:pointer-events-none disabled:opacity-50", hasValue ? "text-default-foreground" : "text-muted-foreground", className), children: _jsx("span", { className: "truncate", children: hasValue ? value : placeholder }) }));
|
|
60
|
+
}
|
|
61
|
+
EditableText.displayName = "EditableText";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ExplainFactOutput } from "#ldo-ui";
|
|
2
|
+
export type { ExplainFactOutput };
|
|
3
|
+
export type ExplainFactBaseProps = {
|
|
4
|
+
mode: "compact" | "full";
|
|
5
|
+
subject: string;
|
|
6
|
+
predicate?: string;
|
|
7
|
+
object: string;
|
|
8
|
+
namedGraph?: string;
|
|
9
|
+
objectDatatype?: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
};
|
|
12
|
+
export type ExplainFactProps = ExplainFactBaseProps & {
|
|
13
|
+
data?: ExplainFactOutput;
|
|
14
|
+
};
|
|
15
|
+
export declare function ExplainFact(props: ExplainFactProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=ExplainFact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExplainFact.d.ts","sourceRoot":"","sources":["../../../src/components/explain-fact/ExplainFact.tsx"],"names":[],"mappings":"AAKA,OAAO,EAUL,KAAK,iBAAiB,EAGvB,MAAM,SAAS,CAAC;AAGjB,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAElC,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAUlD"}
|
|
@@ -4,17 +4,17 @@ import { ChevronRight } from "lucide-react";
|
|
|
4
4
|
import { useMemo, useState } from "react";
|
|
5
5
|
import { Link } from "react-router";
|
|
6
6
|
import { OutdatedFactNotice } from "./OutdatedFactNotice.js";
|
|
7
|
-
import { buildExplainPath, ExplainCompactView, ExplainFullView, ExplainRouteMessage, ExplainRouteSkeleton,
|
|
7
|
+
import { buildExplainPath, ExplainCompactView, ExplainFullView, ExplainRouteMessage, ExplainRouteSkeleton, isExplainFactOutput, normalize, ExplainFactState, SubstitutedFactNotice, } from "#ldo-ui";
|
|
8
8
|
import { useMantaClient } from "#providers/MantaClientProvider";
|
|
9
|
-
export function
|
|
9
|
+
export function ExplainFact(props) {
|
|
10
10
|
const { data, ...rest } = props;
|
|
11
11
|
const [showCurrent, setShowCurrent] = useState(false);
|
|
12
12
|
if (data && !showCurrent) {
|
|
13
|
-
return _jsx(
|
|
13
|
+
return _jsx(ExplainFactFromData, { ...rest, data: data, onShowCurrent: () => setShowCurrent(true) });
|
|
14
14
|
}
|
|
15
|
-
return _jsx(
|
|
15
|
+
return _jsx(ExplainFactFromFetch, { ...rest });
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function ExplainFactFromFetch(props) {
|
|
18
18
|
const { mode, subject, predicate, object, namedGraph, objectDatatype, className } = props;
|
|
19
19
|
const { mantaClient } = useMantaClient();
|
|
20
20
|
const queryResult = useExplainRdFoxFactQuery(mantaClient, {
|
|
@@ -29,7 +29,7 @@ function RDFoxExplainFromFetch(props) {
|
|
|
29
29
|
if (queryResult.isLoading) {
|
|
30
30
|
if (isFull)
|
|
31
31
|
return _jsx(ExplainRouteSkeleton, { className: className });
|
|
32
|
-
return _jsx(
|
|
32
|
+
return _jsx(ExplainFactState, { className: className, title: "Loading this explanation..." });
|
|
33
33
|
}
|
|
34
34
|
const error = queryResult.error;
|
|
35
35
|
const response = queryResult.data?.explainRDFoxFact;
|
|
@@ -38,17 +38,17 @@ function RDFoxExplainFromFetch(props) {
|
|
|
38
38
|
if (isFull) {
|
|
39
39
|
return (_jsx(ExplainRouteMessage, { className: className, variant: "error", title: "Could not load this explanation", detail: detail }));
|
|
40
40
|
}
|
|
41
|
-
return _jsx(
|
|
41
|
+
return _jsx(ExplainFactState, { className: className, title: "Could not load this explanation", detail: detail });
|
|
42
42
|
}
|
|
43
|
-
if (!response || !
|
|
43
|
+
if (!response || !isExplainFactOutput(response.facts)) {
|
|
44
44
|
if (isFull) {
|
|
45
45
|
return (_jsx(ExplainRouteMessage, { className: className, variant: "empty", title: "No explanation available", detail: "This fact has no recorded derivation to show." }));
|
|
46
46
|
}
|
|
47
|
-
return _jsx(
|
|
47
|
+
return _jsx(ExplainFactState, { className: className, title: "No explanation available" });
|
|
48
48
|
}
|
|
49
|
-
return _jsx(
|
|
49
|
+
return _jsx(ExplainFactFromData, { ...props, data: response.facts });
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function ExplainFactFromData(props) {
|
|
52
52
|
const { mode, data, subject, predicate, object, namedGraph, objectDatatype, onShowCurrent, className } = props;
|
|
53
53
|
const tree = useMemo(() => normalize(data), [data]);
|
|
54
54
|
const [displayMode, setDisplayMode] = useState("labels");
|
|
@@ -56,7 +56,7 @@ function RDFoxExplainFromData(props) {
|
|
|
56
56
|
if (mode === "full") {
|
|
57
57
|
return (_jsx(ExplainRouteMessage, { className: className, variant: "empty", title: "No proof tree for this fact", detail: "It may be an explicit fact with no derivation to walk." }));
|
|
58
58
|
}
|
|
59
|
-
return _jsx(
|
|
59
|
+
return _jsx(ExplainFactState, { className: className, title: "No proof tree available for this fact" });
|
|
60
60
|
}
|
|
61
61
|
const subjectTerm = tree.root.spo?.subject ?? subject;
|
|
62
62
|
if (mode === "compact") {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutdatedFactNotice.d.ts","sourceRoot":"","sources":["../../../src/components/explain-fact/OutdatedFactNotice.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAGvD,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,YAAY,CAAC;IAClB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAIF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,kDAqChE"}
|
|
@@ -18,6 +18,8 @@ export { InputDateRange } from "./input-date-range.js";
|
|
|
18
18
|
export { InputDateTime } from "./input-date-time.js";
|
|
19
19
|
export { InputFile } from "./input-file.js";
|
|
20
20
|
export { InputTime } from "./input-time.js";
|
|
21
|
+
export { InputNumeric, type InputNumericProps } from "./input-numeric.js";
|
|
22
|
+
export { InputTags, type InputTagsProps, type InputTagsSize } from "./input-tags.js";
|
|
21
23
|
export { CountrySelector, type CountrySelectorProps } from "./country-selector.js";
|
|
22
24
|
export { PhoneInput, type CountryOption } from "./phone-input.js";
|
|
23
25
|
export { Textarea, type TextareaArgs, type TextareaProps } from "./textarea.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/input/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGvG,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC7D,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEzD,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,2CAEjD;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAC3D,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,2CAuBrD;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAE7D,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,2CAEzD;AAED,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG7E,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7E,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/input/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGvG,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAC7D,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEzD,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,2CAEjD;AAED,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAC3D,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,2CAuBrD;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAE7D,wBAAgB,eAAe,CAAC,KAAK,EAAE,mBAAmB,2CAEzD;AAED,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG7E,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7E,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -20,6 +20,8 @@ export { InputDateRange } from "./input-date-range.js";
|
|
|
20
20
|
export { InputDateTime } from "./input-date-time.js";
|
|
21
21
|
export { InputFile } from "./input-file.js";
|
|
22
22
|
export { InputTime } from "./input-time.js";
|
|
23
|
+
export { InputNumeric } from "./input-numeric.js";
|
|
24
|
+
export { InputTags } from "./input-tags.js";
|
|
23
25
|
export { CountrySelector } from "./country-selector.js";
|
|
24
26
|
export { PhoneInput } from "./phone-input.js";
|
|
25
27
|
export { Textarea } from "./textarea.js";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type InputNumericProps = {
|
|
2
|
+
value: number;
|
|
3
|
+
onValueChange: (value: number) => void;
|
|
4
|
+
min?: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
step?: number;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
className?: string;
|
|
10
|
+
"aria-label"?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function clamp(value: number, min?: number, max?: number): number;
|
|
13
|
+
export declare function decimalsOf(value: number): number;
|
|
14
|
+
export declare function roundToStep(value: number, step: number, base?: number): number;
|
|
15
|
+
export declare function InputNumeric(props: InputNumericProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare namespace InputNumeric {
|
|
17
|
+
var displayName: string;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=input-numeric.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-numeric.d.ts","sourceRoot":"","sources":["../../../src/components/input/input-numeric.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CASvE;AAMD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,MAAM,CAGzE;AAkBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAkFpD;yBAlFe,YAAY"}
|
|
@@ -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"}
|