@nivaro/react 0.1.199 → 0.1.201

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/dist/index.d.ts CHANGED
@@ -1226,7 +1226,7 @@ export declare interface FieldInterfaceProps {
1226
1226
  itemId: string | null;
1227
1227
  }
1228
1228
 
1229
- export declare function FieldRenderer({ field, value, onChange, relations, collection, itemId, cascadeFilter, requiredParentLabel, onCountChange, displayOnly, prefillParentId }: {
1229
+ export declare function FieldRenderer({ field, value, onChange, relations, collection, itemId, cascadeFilter, requiredParentLabel, narrowedBy, onCountChange, displayOnly, prefillParentId }: {
1230
1230
  field: CMSField;
1231
1231
  value: unknown;
1232
1232
  onChange: (v: unknown) => void;
@@ -1235,6 +1235,12 @@ export declare function FieldRenderer({ field, value, onChange, relations, colle
1235
1235
  itemId: string;
1236
1236
  cascadeFilter?: Record<string, unknown>;
1237
1237
  requiredParentLabel?: string | null;
1238
+ /** Cascade parents currently narrowing an M2O picker (see RelationCombobox). */
1239
+ narrowedBy?: {
1240
+ labels: string[];
1241
+ keys: string[];
1242
+ onClear?: (key: string) => void;
1243
+ };
1238
1244
  onCountChange?: (count: number) => void;
1239
1245
  displayOnly?: boolean;
1240
1246
  prefillParentId?: string;
@@ -1753,7 +1759,7 @@ declare interface ImportValidationReport {
1753
1759
  truncated: boolean;
1754
1760
  }
1755
1761
 
1756
- export declare function InlineTableField({ relatedCollection, manyField, parentId, parentCollection, layoutId, showRowRevisions, rowComments, allowRevisionRestore, saveMode, showLineNumbers, enableReorder, parentCascades, rowRules, columnPresets, defaultPreset, drawerRelations, parentContextFields, uniqueBy, sortField, sortDir, sectionGroupBy, freezeFirstColumn, rowFilter, rowDefaults, allocateDrawer, autoAllocate, rowBulkActions, uploadTemplate, rowMatchPanel, submissionErrors, prefillParentId, parentFieldKey, readOnly, emptyLabel }: {
1762
+ export declare function InlineTableField({ relatedCollection, manyField, parentId, parentCollection, layoutId, showRowRevisions, rowComments, allowRevisionRestore, saveMode, showLineNumbers, enableReorder, parentCascades, rowRules, columnPresets, defaultPreset, drawerRelations, parentContextFields, uniqueBy, sortField, sortDir, sectionGroupBy, freezeFirstColumn, rowFilter, rowDefaults, allocateDrawer, autoAllocate, rowBulkActions, uploadTemplate, rowMatchPanel, lineSla, submissionErrors, prefillParentId, parentFieldKey, readOnly, emptyLabel }: {
1757
1763
  relatedCollection: string;
1758
1764
  manyField: string;
1759
1765
  parentId: string;
@@ -1805,6 +1811,11 @@ export declare function InlineTableField({ relatedCollection, manyField, parentI
1805
1811
  /** "Which related record is this row matched to, and if not, why" — see
1806
1812
  * RowMatchPanel (options.row_match_panel). Rendered in the row editor. */
1807
1813
  rowMatchPanel?: RowMatchPanelConfig;
1814
+ /** options.line_sla — OFF unless enabled; the server reads the real config. */
1815
+ lineSla?: {
1816
+ enabled?: boolean;
1817
+ field?: string;
1818
+ } | null;
1808
1819
  /** Flag rows a failed ERP push rejected (options.submission_errors) — the
1809
1820
  * latest failed nivaro_erp_submissions row for the PARENT record is parsed
1810
1821
  * for "LineNumber N: reason" entries and matching rows tint red with the
@@ -3326,13 +3337,21 @@ export declare function RelatedRecordsPanel({ collection, itemId, title, default
3326
3337
  defaultExpanded?: boolean;
3327
3338
  }): JSX.Element;
3328
3339
 
3329
- export declare function RelationCombobox({ collection, value, onChange, disabled, placeholder, extraFilter, autoSelectSingle, optionSort, requiredParent, facets, fieldKey }: {
3340
+ export declare function RelationCombobox({ collection, value, onChange, disabled, placeholder, extraFilter, autoSelectSingle, optionSort, requiredParent, facets, fieldKey, narrowedBy }: {
3330
3341
  collection: string;
3331
3342
  value: unknown;
3332
3343
  onChange: (v: unknown) => void;
3333
3344
  disabled?: boolean;
3334
3345
  placeholder?: string;
3335
3346
  extraFilter?: Record<string, unknown>;
3347
+ /** The parent fields whose current values narrow this picker (cascade
3348
+ * filters). When the narrowed list is EMPTY the panel says which parents
3349
+ * did it and offers to clear one — instead of a blank "No results". */
3350
+ narrowedBy?: {
3351
+ labels: string[];
3352
+ keys: string[];
3353
+ onClear?: (key: string) => void;
3354
+ };
3336
3355
  /** When the filtered option set has EXACTLY one option and the field is
3337
3356
  * empty, pick it automatically (options.auto_select_single). Two or more
3338
3357
  * options — or zero — leave the field blank; an existing value is never
@@ -3645,6 +3664,16 @@ declare interface RowMatchPanelConfig {
3645
3664
  };
3646
3665
  no_parent_message?: string;
3647
3666
  empty_message?: string;
3667
+ /** Banner above the grid for candidates no row matches ("2 PO lines have
3668
+ * no workflow line") with a one-click add that stages rows from them. */
3669
+ unmatched_banner?: {
3670
+ /** "PO line" — used in "2 PO lines have no workflow line". */
3671
+ label?: string;
3672
+ /** Row field ← candidate column or dotted path (`purchase_order.number`). */
3673
+ field_map: Record<string, string>;
3674
+ /** Literal values every added row gets. */
3675
+ defaults?: Record<string, unknown>;
3676
+ };
3648
3677
  }
3649
3678
 
3650
3679
  declare interface RowRule {