@seedprotocol/mapping 0.5.3 → 0.6.1
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/CHANGELOG.md +40 -0
- package/README.md +213 -36
- package/dist/adapters/rss.d.ts +2 -1
- package/dist/adapters/rss.d.ts.map +1 -1
- package/dist/applyMapping.d.ts +21 -2
- package/dist/applyMapping.d.ts.map +1 -1
- package/dist/autoMap-OMvtOG0S.js +549 -0
- package/dist/autoMap-OMvtOG0S.js.map +1 -0
- package/dist/autoMap-PTFd4l-9.js +534 -0
- package/dist/autoMap-PTFd4l-9.js.map +1 -0
- package/dist/autoMap.d.ts +3 -3
- package/dist/autoMap.d.ts.map +1 -1
- package/dist/classifyUrl.d.ts +14 -0
- package/dist/classifyUrl.d.ts.map +1 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +91 -402
- package/dist/index.js.map +1 -1
- package/dist/react/FieldMapper.d.ts +77 -5
- package/dist/react/FieldMapper.d.ts.map +1 -1
- package/dist/react/FieldMapperWires.d.ts +20 -0
- package/dist/react/FieldMapperWires.d.ts.map +1 -0
- package/dist/react/LookupEditor.d.ts +20 -0
- package/dist/react/LookupEditor.d.ts.map +1 -0
- package/dist/react/PropertyRows.d.ts +20 -0
- package/dist/react/PropertyRows.d.ts.map +1 -0
- package/dist/react/SourceRows.d.ts +19 -0
- package/dist/react/SourceRows.d.ts.map +1 -0
- package/dist/react/fieldMapperControls.d.ts +9 -0
- package/dist/react/fieldMapperControls.d.ts.map +1 -0
- package/dist/react/fieldMapperCore.d.ts +83 -0
- package/dist/react/fieldMapperCore.d.ts.map +1 -0
- package/dist/react/fieldMapperSlots.d.ts +69 -0
- package/dist/react/fieldMapperSlots.d.ts.map +1 -0
- package/dist/react/fieldMapperTheme.d.ts +34 -0
- package/dist/react/fieldMapperTheme.d.ts.map +1 -0
- package/dist/react/fieldMapperTypes.d.ts +77 -0
- package/dist/react/fieldMapperTypes.d.ts.map +1 -0
- package/dist/react/useFieldMapper.d.ts +8 -0
- package/dist/react/useFieldMapper.d.ts.map +1 -0
- package/dist/react.d.ts +10 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +1690 -0
- package/dist/react.js.map +1 -0
- package/dist/relationLookup.d.ts +34 -0
- package/dist/relationLookup.d.ts.map +1 -0
- package/dist/resolvedSources.d.ts +32 -0
- package/dist/resolvedSources.d.ts.map +1 -0
- package/dist/types.d.ts +74 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +19 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { FieldMapping, LookupEntry, MappingLookups, ResolveJob, SourceNode, TargetProperty } from '../types';
|
|
2
|
+
/** Authoring surface. Prefer `'rows'`; `'wires'` is deprecated but still supported. */
|
|
3
|
+
export type FieldMapperLayout = 'rows' | 'wires';
|
|
4
|
+
export type FieldMapperRowKey = 'property' | 'source';
|
|
5
|
+
export type FieldMapperDefaultRows = 'requiredAndMapped' | 'mapped' | 'all';
|
|
6
|
+
export type FieldMapperOption = {
|
|
7
|
+
value: string;
|
|
8
|
+
label: string;
|
|
9
|
+
sample?: string;
|
|
10
|
+
kind?: string;
|
|
11
|
+
dataType?: string;
|
|
12
|
+
};
|
|
13
|
+
export type FieldMapperRowState = 'empty' | 'mapped' | 'needsResolve' | 'needsLookup' | 'conflict';
|
|
14
|
+
export type FieldMapperRow = {
|
|
15
|
+
/** Property name in property mode; synthetic edge id in source mode. */
|
|
16
|
+
id: string;
|
|
17
|
+
target?: TargetProperty;
|
|
18
|
+
mapping?: FieldMapping;
|
|
19
|
+
source?: SourceNode;
|
|
20
|
+
/** Normalized origin sample string for the current source. */
|
|
21
|
+
sampleValue: string;
|
|
22
|
+
/** Sync preview, or a description of what the host resolver will produce. */
|
|
23
|
+
preview: string;
|
|
24
|
+
/** Transform this edge needs to yield a usable value, if any. */
|
|
25
|
+
requiredResolve: ResolveJob | null;
|
|
26
|
+
state: FieldMapperRowState;
|
|
27
|
+
};
|
|
28
|
+
export type FieldMapperLookupRow = FieldMapperRow & {
|
|
29
|
+
onLookupChange: (entries: LookupEntry[]) => void;
|
|
30
|
+
};
|
|
31
|
+
export type FieldMapperCoverage = {
|
|
32
|
+
mapped: number;
|
|
33
|
+
total: number;
|
|
34
|
+
missingRequired: string[];
|
|
35
|
+
};
|
|
36
|
+
export type UseFieldMapperArgs = {
|
|
37
|
+
sources: SourceNode[];
|
|
38
|
+
targets: TargetProperty[];
|
|
39
|
+
mappings: FieldMapping[];
|
|
40
|
+
onChange: (mappings: FieldMapping[]) => void;
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Prefer `FieldMapping.lookup.entries`. Read as a fallback for preview.
|
|
43
|
+
*/
|
|
44
|
+
lookups?: MappingLookups;
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Prefer `setLookupEntries` / `renderLookup`. Still clears the
|
|
47
|
+
* document-level table when a lookup edge is removed.
|
|
48
|
+
*/
|
|
49
|
+
onLookupsChange?: (lookups: MappingLookups) => void;
|
|
50
|
+
rowKey?: FieldMapperRowKey;
|
|
51
|
+
onAutoMap?: () => FieldMapping[];
|
|
52
|
+
};
|
|
53
|
+
export type UseFieldMapperResult = {
|
|
54
|
+
rows: FieldMapperRow[];
|
|
55
|
+
sourceOptions: FieldMapperOption[];
|
|
56
|
+
propertyOptions: FieldMapperOption[];
|
|
57
|
+
addableProperties: TargetProperty[];
|
|
58
|
+
coverage: FieldMapperCoverage;
|
|
59
|
+
/** Row ids whose property is already filled by an earlier row. Empty in property mode. */
|
|
60
|
+
conflicts: Set<string>;
|
|
61
|
+
setSource: (rowId: string, sourceId: string | null) => void;
|
|
62
|
+
setProperty: (rowId: string, propertyName: string) => void;
|
|
63
|
+
setTransform: (rowId: string, resolve: ResolveJob | null) => void;
|
|
64
|
+
/** Write `lookup.entries` on the edge for this row. Empty list omits `lookup`. */
|
|
65
|
+
setLookupEntries: (rowId: string, entries: LookupEntry[]) => void;
|
|
66
|
+
addRow: (propertyName?: string) => void;
|
|
67
|
+
removeRow: (rowId: string) => void;
|
|
68
|
+
autoMap: () => void;
|
|
69
|
+
/**
|
|
70
|
+
* Wires-layout helper: property-exclusive connect from a (possibly derived)
|
|
71
|
+
* source id. Normalizes `@extract`/`@file` and auto-attaches lookup.
|
|
72
|
+
*/
|
|
73
|
+
connect: (sourceId: string, propertyName: string) => void;
|
|
74
|
+
/** Remove every edge for a source (including derived resolve ids). */
|
|
75
|
+
removeBySource: (sourceId: string) => void;
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=fieldMapperTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldMapperTypes.d.ts","sourceRoot":"","sources":["../../src/react/fieldMapperTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TargetProperty } from '../types';
|
|
2
|
+
import { filterPropertyNames } from './fieldMapperCore';
|
|
3
|
+
import type { UseFieldMapperArgs, UseFieldMapperResult } from './fieldMapperTypes';
|
|
4
|
+
export declare function useFieldMapper({ sources, targets, mappings, onChange, lookups, onLookupsChange, rowKey, onAutoMap, }: UseFieldMapperArgs): UseFieldMapperResult;
|
|
5
|
+
/** Re-export filter helper for row renderers. */
|
|
6
|
+
export { filterPropertyNames };
|
|
7
|
+
export type { TargetProperty };
|
|
8
|
+
//# sourceMappingURL=useFieldMapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFieldMapper.d.ts","sourceRoot":"","sources":["../../src/react/useFieldMapper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,cAAc,EACf,MAAM,UAAU,CAAA;AACjB,OAAO,EAWL,mBAAmB,EAOpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAE3B,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAY,EACZ,eAAe,EACf,MAAmB,EACnB,SAAS,GACV,EAAE,kBAAkB,GAAG,oBAAoB,CAod3C;AAED,iDAAiD;AACjD,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAC9B,YAAY,EAAE,cAAc,EAAE,CAAA"}
|
package/dist/react.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React UI entry for `@seedprotocol/mapping/react`.
|
|
3
|
+
* Import FieldMapper from here — not from `@seedprotocol/mapping` — so Node
|
|
4
|
+
* consumers of the headless API never resolve the React peer.
|
|
5
|
+
*/
|
|
6
|
+
export { FieldMapper, connectionStrokeForIndex, FIELD_MAPPER_PAIR_SLOTS, resolveTheme, ensureThemeInjected, buildThemeCss, wrapInThemeLayer, DEFAULT_THEME_CSS, STRUCTURAL_THEME_CSS, PAINT_THEME_CSS, THEME_STYLE_ID, resetThemeInjectionForTests, slotClass, resolveSlots, showRowPreview, showJsonPreview, SLOT_BASE_CLASS, type FieldMapperProps, type FieldMapperTheme, type ResolvedFieldMapperTheme, type FieldMapperLayout, type FieldMapperRowKey, type FieldMapperDefaultRows, type FieldMapperSlot, type FieldMapperSlots, type ResolvedFieldMapperSlots, type FieldMapperComponents, type ResolvedFieldMapperComponents, type FieldMapperSelectProps, type FieldMapperButtonProps, type FieldMapperPillProps, } from './react/FieldMapper';
|
|
7
|
+
export { useFieldMapper, filterPropertyNames, } from './react/useFieldMapper';
|
|
8
|
+
export type { FieldMapperOption, FieldMapperRow, FieldMapperLookupRow, FieldMapperRowState, FieldMapperCoverage, UseFieldMapperArgs, UseFieldMapperResult, } from './react/fieldMapperTypes';
|
|
9
|
+
export { computeRequiredResolve, computeCoverage, buildSourceOptions, buildPropertyModeRows, buildSyncPreviewBag, previewForEdge, findConflicts, connectSourceToProperty, } from './react/fieldMapperCore';
|
|
10
|
+
//# sourceMappingURL=react.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,2BAA2B,EAC3B,SAAS,EACT,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACL,cAAc,EACd,mBAAmB,GACpB,MAAM,wBAAwB,CAAA;AAE/B,YAAY,EACV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,uBAAuB,GACxB,MAAM,yBAAyB,CAAA"}
|