@proveanything/smartlinks-utils-ui 0.12.5 → 0.12.6

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.
@@ -2046,7 +2046,11 @@ function useShellClipboard(args) {
2046
2046
  const newId = create(scopeArg);
2047
2047
  if (!newId) return;
2048
2048
  setPendingPasteTarget({ kind: "record", recordId: newId });
2049
- setPendingSeed({ value: transformed, sourceLabel: source.label });
2049
+ setPendingSeed({
2050
+ value: transformed,
2051
+ sourceScope: source.scope,
2052
+ sourceLabel: source.label
2053
+ });
2050
2054
  onTelemetry?.({
2051
2055
  type: "clipboard.copy",
2052
2056
  recordType,
@@ -2076,7 +2080,11 @@ function useShellClipboard(args) {
2076
2080
  if (pendingSeed) {
2077
2081
  const seed = pendingSeed;
2078
2082
  setPendingSeed(null);
2079
- editorCtx.onChange(seed.value);
2083
+ const finalValue = onPasteOverride ? onPasteOverride(
2084
+ { value: seed.value, sourceScope: seed.sourceScope },
2085
+ { scope: editingScope, currentValue: null }
2086
+ ) ?? seed.value : seed.value;
2087
+ editorCtx.onChange(finalValue);
2080
2088
  onTelemetry?.({
2081
2089
  type: "clipboard.paste",
2082
2090
  recordType,
@@ -2089,7 +2097,7 @@ function useShellClipboard(args) {
2089
2097
  void pasteCurrent();
2090
2098
  }, 0);
2091
2099
  return () => window.clearTimeout(t);
2092
- }, [pendingPasteTarget, editingScope, isCollection, selectedItemId, selectedRecordId, pasteCurrent, pendingSeed, editorCtx, onTelemetry, recordType]);
2100
+ }, [pendingPasteTarget, editingScope, isCollection, selectedItemId, selectedRecordId, pasteCurrent, pendingSeed, editorCtx, onTelemetry, recordType, onPasteOverride]);
2093
2101
  const rowClipboard = enabled ? (record) => {
2094
2102
  const summaryHasData = record.data != null;
2095
2103
  const sourceParsed = record.scope;
@@ -9524,7 +9532,7 @@ function RecordsAdminShellInner(props) {
9524
9532
  setDrawerOpen,
9525
9533
  sidePreviewOpen,
9526
9534
  setSidePreviewOpen,
9527
- editorHeaderLabel,
9535
+ editorHeaderLabel: editorHeaderLabelRaw,
9528
9536
  editorHeaderSubtitle,
9529
9537
  editorHeaderMeta
9530
9538
  } = useShellPreviewPane({
@@ -9533,6 +9541,14 @@ function RecordsAdminShellInner(props) {
9533
9541
  selectedProductId,
9534
9542
  productBrowseItems: productLookupItems
9535
9543
  });
9544
+ const editorHeaderLabel = useMemo(() => {
9545
+ if (editorHeaderLabelRaw) return editorHeaderLabelRaw;
9546
+ if (isCollection && selectedItemId && !isDraftId3(selectedItemId)) {
9547
+ const hit = collectionItems.items.find((r) => r.id === selectedItemId || r.itemId === selectedItemId);
9548
+ if (hit?.label) return hit.label;
9549
+ }
9550
+ return void 0;
9551
+ }, [editorHeaderLabelRaw, isCollection, selectedItemId, collectionItems.items]);
9536
9552
  const shellClipboard = useShellClipboard({
9537
9553
  enabled: !!enableClipboard,
9538
9554
  appId,
@@ -10053,6 +10069,10 @@ function RecordsAdminShellInner(props) {
10053
10069
  const onRuleWizardNext = useCallback(() => {
10054
10070
  if (cardinality === "collection") {
10055
10071
  setRuleWizardStep(2);
10072
+ if (ruleWizardSeedMode) {
10073
+ const id = coerceDraftItemId2(generateItemId);
10074
+ setSelectedItemId(id);
10075
+ }
10056
10076
  } else {
10057
10077
  setRuleWizardStep(2);
10058
10078
  if (ruleWizardSeedMode) {
@@ -10060,7 +10080,7 @@ function RecordsAdminShellInner(props) {
10060
10080
  setSelectedRecordId(DRAFT_ID3);
10061
10081
  }
10062
10082
  }
10063
- }, [cardinality, ruleWizardSeedMode, mintRuleWizardDraftKey]);
10083
+ }, [cardinality, ruleWizardSeedMode, mintRuleWizardDraftKey, generateItemId]);
10064
10084
  const startRuleWizardDraft = useCallback((seed) => {
10065
10085
  setRuleWizardSeedMode(seed);
10066
10086
  setRuleWizardDraftKey(mintRuleWizardDraftKey());