@uniformdev/canvas 19.202.0 → 19.202.1-alpha.9

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.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ApiClient, ExceptProject, ClientOptions, ApiClientError } from '@uniformdev/context/api';
2
2
  export { ApiClientError } from '@uniformdev/context/api';
3
- import { AssetGetResponseSingle } from '@uniformdev/assets';
3
+ import { AssetGetResponseSingle, AssetDefinitionType } from '@uniformdev/assets';
4
4
  import { Quirks, StorageCommands, PersonalizedVariant, TestVariant } from '@uniformdev/context';
5
5
  import Pusher from 'pusher-js';
6
6
  import { Options as Options$1 } from 'p-retry';
@@ -467,6 +467,13 @@ interface components$n {
467
467
  [key: string]: components$n["schemas"]["ComponentInstance"][];
468
468
  };
469
469
  variant?: string;
470
+ /** @description Overrides data resource definitions for a pattern component.
471
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
472
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
473
+ * */
474
+ dataResources?: {
475
+ [key: string]: components$n["schemas"]["DataResourceDefinition"];
476
+ };
470
477
  };
471
478
  /**
472
479
  * @description Whether a parameter is overridable
@@ -1081,6 +1088,13 @@ interface components$m {
1081
1088
  [key: string]: components$m["schemas"]["ComponentInstance"][];
1082
1089
  };
1083
1090
  variant?: string;
1091
+ /** @description Overrides data resource definitions for a pattern component.
1092
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
1093
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
1094
+ * */
1095
+ dataResources?: {
1096
+ [key: string]: components$m["schemas"]["DataResourceDefinition"];
1097
+ };
1084
1098
  };
1085
1099
  /** @description Defines how a component on a pattern may have its values overridden.
1086
1100
  * NOTE: Data resources' overridability is defined in the data resource definition, not here.
@@ -2231,6 +2245,13 @@ interface components$k {
2231
2245
  [key: string]: components$k["schemas"]["ComponentInstance"][];
2232
2246
  };
2233
2247
  variant?: string;
2248
+ /** @description Overrides data resource definitions for a pattern component.
2249
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
2250
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
2251
+ * */
2252
+ dataResources?: {
2253
+ [key: string]: components$k["schemas"]["DataResourceDefinition"];
2254
+ };
2234
2255
  };
2235
2256
  /**
2236
2257
  * @description Whether a parameter is overridable
@@ -3351,6 +3372,13 @@ interface components$i {
3351
3372
  [key: string]: components$i["schemas"]["ComponentInstance"][];
3352
3373
  };
3353
3374
  variant?: string;
3375
+ /** @description Overrides data resource definitions for a pattern component.
3376
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
3377
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
3378
+ * */
3379
+ dataResources?: {
3380
+ [key: string]: components$i["schemas"]["DataResourceDefinition"];
3381
+ };
3354
3382
  };
3355
3383
  /**
3356
3384
  * @description Whether a parameter is overridable
@@ -5521,6 +5549,13 @@ interface components$b {
5521
5549
  [key: string]: components$b["schemas"]["ComponentInstance"][];
5522
5550
  };
5523
5551
  variant?: string;
5552
+ /** @description Overrides data resource definitions for a pattern component.
5553
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
5554
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
5555
+ * */
5556
+ dataResources?: {
5557
+ [key: string]: components$b["schemas"]["DataResourceDefinition"];
5558
+ };
5524
5559
  };
5525
5560
  /**
5526
5561
  * @description Whether a parameter is overridable
@@ -6646,6 +6681,13 @@ interface components$a {
6646
6681
  [key: string]: components$a["schemas"]["ComponentInstance"][];
6647
6682
  };
6648
6683
  variant?: string;
6684
+ /** @description Overrides data resource definitions for a pattern component.
6685
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
6686
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
6687
+ * */
6688
+ dataResources?: {
6689
+ [key: string]: components$a["schemas"]["DataResourceDefinition"];
6690
+ };
6649
6691
  };
6650
6692
  /**
6651
6693
  * @description Whether a parameter is overridable
@@ -7625,6 +7667,13 @@ interface components$8 {
7625
7667
  [key: string]: components$8["schemas"]["ComponentInstance"][];
7626
7668
  };
7627
7669
  variant?: string;
7670
+ /** @description Overrides data resource definitions for a pattern component.
7671
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
7672
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
7673
+ * */
7674
+ dataResources?: {
7675
+ [key: string]: components$8["schemas"]["DataResourceDefinition"];
7676
+ };
7628
7677
  };
7629
7678
  /**
7630
7679
  * @description Whether a parameter is overridable
@@ -8905,6 +8954,13 @@ interface components$7 {
8905
8954
  [key: string]: components$7["schemas"]["ComponentInstance"][];
8906
8955
  };
8907
8956
  variant?: string;
8957
+ /** @description Overrides data resource definitions for a pattern component.
8958
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
8959
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
8960
+ * */
8961
+ dataResources?: {
8962
+ [key: string]: components$7["schemas"]["DataResourceDefinition"];
8963
+ };
8908
8964
  };
8909
8965
  /**
8910
8966
  * @description Whether a parameter is overridable
@@ -9930,6 +9986,11 @@ type RichTextParamConfiguration = {
9930
9986
  elements?: {
9931
9987
  builtIn?: Array<RichTextBuiltInElement>;
9932
9988
  };
9989
+ elementsConfig?: {
9990
+ asset?: {
9991
+ allowedTypes?: AssetDefinitionType[];
9992
+ };
9993
+ };
9933
9994
  };
9934
9995
  type RichTextParamValue = ParameterRichTextValue;
9935
9996
 
@@ -11648,14 +11709,18 @@ type ComponentLocationReferenceV2 = {
11648
11709
  type: 'slot';
11649
11710
  node: ComponentInstance;
11650
11711
  parentSlot: string;
11712
+ /** @deprecated invoke parentSlotIndexFn instead, this property may be unreliable with some bundlers. This will be removed in the next major. */
11651
11713
  parentSlotIndex: number;
11714
+ parentSlotIndexFn: () => number;
11652
11715
  };
11653
11716
  /** Ancestor location that is in a block on a parameter or field */
11654
11717
  type BlockLocationReference = {
11655
11718
  type: 'block';
11656
11719
  node: EntryData;
11657
11720
  fieldName: string;
11721
+ /** @deprecated invoke blockIndexFn instead, this property may be unreliable with some bundlers. This will be removed in the next major. */
11658
11722
  blockIndex: number;
11723
+ blockIndexFn: () => number;
11659
11724
  };
11660
11725
  /** Ancestor location that is the root of a composition or entry */
11661
11726
  type RootLocationReference = {
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ApiClient, ExceptProject, ClientOptions, ApiClientError } from '@uniformdev/context/api';
2
2
  export { ApiClientError } from '@uniformdev/context/api';
3
- import { AssetGetResponseSingle } from '@uniformdev/assets';
3
+ import { AssetGetResponseSingle, AssetDefinitionType } from '@uniformdev/assets';
4
4
  import { Quirks, StorageCommands, PersonalizedVariant, TestVariant } from '@uniformdev/context';
5
5
  import Pusher from 'pusher-js';
6
6
  import { Options as Options$1 } from 'p-retry';
@@ -467,6 +467,13 @@ interface components$n {
467
467
  [key: string]: components$n["schemas"]["ComponentInstance"][];
468
468
  };
469
469
  variant?: string;
470
+ /** @description Overrides data resource definitions for a pattern component.
471
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
472
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
473
+ * */
474
+ dataResources?: {
475
+ [key: string]: components$n["schemas"]["DataResourceDefinition"];
476
+ };
470
477
  };
471
478
  /**
472
479
  * @description Whether a parameter is overridable
@@ -1081,6 +1088,13 @@ interface components$m {
1081
1088
  [key: string]: components$m["schemas"]["ComponentInstance"][];
1082
1089
  };
1083
1090
  variant?: string;
1091
+ /** @description Overrides data resource definitions for a pattern component.
1092
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
1093
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
1094
+ * */
1095
+ dataResources?: {
1096
+ [key: string]: components$m["schemas"]["DataResourceDefinition"];
1097
+ };
1084
1098
  };
1085
1099
  /** @description Defines how a component on a pattern may have its values overridden.
1086
1100
  * NOTE: Data resources' overridability is defined in the data resource definition, not here.
@@ -2231,6 +2245,13 @@ interface components$k {
2231
2245
  [key: string]: components$k["schemas"]["ComponentInstance"][];
2232
2246
  };
2233
2247
  variant?: string;
2248
+ /** @description Overrides data resource definitions for a pattern component.
2249
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
2250
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
2251
+ * */
2252
+ dataResources?: {
2253
+ [key: string]: components$k["schemas"]["DataResourceDefinition"];
2254
+ };
2234
2255
  };
2235
2256
  /**
2236
2257
  * @description Whether a parameter is overridable
@@ -3351,6 +3372,13 @@ interface components$i {
3351
3372
  [key: string]: components$i["schemas"]["ComponentInstance"][];
3352
3373
  };
3353
3374
  variant?: string;
3375
+ /** @description Overrides data resource definitions for a pattern component.
3376
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
3377
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
3378
+ * */
3379
+ dataResources?: {
3380
+ [key: string]: components$i["schemas"]["DataResourceDefinition"];
3381
+ };
3354
3382
  };
3355
3383
  /**
3356
3384
  * @description Whether a parameter is overridable
@@ -5521,6 +5549,13 @@ interface components$b {
5521
5549
  [key: string]: components$b["schemas"]["ComponentInstance"][];
5522
5550
  };
5523
5551
  variant?: string;
5552
+ /** @description Overrides data resource definitions for a pattern component.
5553
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
5554
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
5555
+ * */
5556
+ dataResources?: {
5557
+ [key: string]: components$b["schemas"]["DataResourceDefinition"];
5558
+ };
5524
5559
  };
5525
5560
  /**
5526
5561
  * @description Whether a parameter is overridable
@@ -6646,6 +6681,13 @@ interface components$a {
6646
6681
  [key: string]: components$a["schemas"]["ComponentInstance"][];
6647
6682
  };
6648
6683
  variant?: string;
6684
+ /** @description Overrides data resource definitions for a pattern component.
6685
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
6686
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
6687
+ * */
6688
+ dataResources?: {
6689
+ [key: string]: components$a["schemas"]["DataResourceDefinition"];
6690
+ };
6649
6691
  };
6650
6692
  /**
6651
6693
  * @description Whether a parameter is overridable
@@ -7625,6 +7667,13 @@ interface components$8 {
7625
7667
  [key: string]: components$8["schemas"]["ComponentInstance"][];
7626
7668
  };
7627
7669
  variant?: string;
7670
+ /** @description Overrides data resource definitions for a pattern component.
7671
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
7672
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
7673
+ * */
7674
+ dataResources?: {
7675
+ [key: string]: components$8["schemas"]["DataResourceDefinition"];
7676
+ };
7628
7677
  };
7629
7678
  /**
7630
7679
  * @description Whether a parameter is overridable
@@ -8905,6 +8954,13 @@ interface components$7 {
8905
8954
  [key: string]: components$7["schemas"]["ComponentInstance"][];
8906
8955
  };
8907
8956
  variant?: string;
8957
+ /** @description Overrides data resource definitions for a pattern component.
8958
+ * Object keys defined under this property override the corresponding keys in the pattern's data resources.
8959
+ * Overrides defined here replace values in either _dataResources or _patternDataResources on the target component.
8960
+ * */
8961
+ dataResources?: {
8962
+ [key: string]: components$7["schemas"]["DataResourceDefinition"];
8963
+ };
8908
8964
  };
8909
8965
  /**
8910
8966
  * @description Whether a parameter is overridable
@@ -9930,6 +9986,11 @@ type RichTextParamConfiguration = {
9930
9986
  elements?: {
9931
9987
  builtIn?: Array<RichTextBuiltInElement>;
9932
9988
  };
9989
+ elementsConfig?: {
9990
+ asset?: {
9991
+ allowedTypes?: AssetDefinitionType[];
9992
+ };
9993
+ };
9933
9994
  };
9934
9995
  type RichTextParamValue = ParameterRichTextValue;
9935
9996
 
@@ -11648,14 +11709,18 @@ type ComponentLocationReferenceV2 = {
11648
11709
  type: 'slot';
11649
11710
  node: ComponentInstance;
11650
11711
  parentSlot: string;
11712
+ /** @deprecated invoke parentSlotIndexFn instead, this property may be unreliable with some bundlers. This will be removed in the next major. */
11651
11713
  parentSlotIndex: number;
11714
+ parentSlotIndexFn: () => number;
11652
11715
  };
11653
11716
  /** Ancestor location that is in a block on a parameter or field */
11654
11717
  type BlockLocationReference = {
11655
11718
  type: 'block';
11656
11719
  node: EntryData;
11657
11720
  fieldName: string;
11721
+ /** @deprecated invoke blockIndexFn instead, this property may be unreliable with some bundlers. This will be removed in the next major. */
11658
11722
  blockIndex: number;
11723
+ blockIndexFn: () => number;
11659
11724
  };
11660
11725
  /** Ancestor location that is the root of a composition or entry */
11661
11726
  type RootLocationReference = {
package/dist/index.esm.js CHANGED
@@ -910,7 +910,8 @@ function getComponentPath(ancestorsAndSelf) {
910
910
  const parentLocation = ancestorsAndSelf[i + 1];
911
911
  if ("type" in currentLocation && currentLocation.type !== "slot") {
912
912
  if (currentLocation.type === "block") {
913
- const { fieldName, blockIndex } = currentLocation;
913
+ const { fieldName, blockIndexFn } = currentLocation;
914
+ const blockIndex = blockIndexFn();
914
915
  if (fieldName && blockIndex !== void 0) {
915
916
  const noun = parentLocation && "type" in parentLocation && parentLocation.type === "block" ? "fields" : "parameters";
916
917
  path.push(`${noun}.${fieldName}.value[${blockIndex}]`);
@@ -919,7 +920,8 @@ function getComponentPath(ancestorsAndSelf) {
919
920
  }
920
921
  continue;
921
922
  }
922
- const { parentSlot, parentSlotIndex } = currentLocation;
923
+ const parentSlotIndex = "parentSlotIndexFn" in currentLocation ? currentLocation.parentSlotIndexFn() : currentLocation.parentSlotIndex;
924
+ const { parentSlot } = currentLocation;
923
925
  if (parentSlot && parentSlotIndex !== void 0) {
924
926
  path.push(`${parentSlot}[${parentSlotIndex}]`);
925
927
  }
@@ -1156,7 +1158,8 @@ function walkNodeTree(node, visitor, options) {
1156
1158
  const currentComponentLocation = currentQueueEntry.ancestorsAndSelf[0];
1157
1159
  const parentComponent = currentQueueEntry.ancestorsAndSelf[1];
1158
1160
  if (currentComponentLocation.type === "block") {
1159
- const { fieldName, blockIndex } = currentComponentLocation;
1161
+ const { fieldName, blockIndexFn } = currentComponentLocation;
1162
+ const blockIndex = blockIndexFn();
1160
1163
  const blockValue = getBlockValue(parentComponent.node, fieldName);
1161
1164
  blockValue.splice(blockIndex, 1);
1162
1165
  if (blockValue.length === 0) {
@@ -1173,7 +1176,8 @@ function walkNodeTree(node, visitor, options) {
1173
1176
  if (currentNodeInfo.type !== "block") {
1174
1177
  throw new Error("Unknown type");
1175
1178
  }
1176
- const { fieldName, blockIndex } = currentNodeInfo;
1179
+ const { fieldName, blockIndexFn } = currentNodeInfo;
1180
+ const blockIndex = blockIndexFn();
1177
1181
  const parentComponent = currentQueueEntry.ancestorsAndSelf[1];
1178
1182
  const nodesToInsert = Array.isArray(nodes) ? nodes : [nodes];
1179
1183
  if (fieldName && typeof blockIndex !== "undefined") {
@@ -1183,22 +1187,28 @@ function walkNodeTree(node, visitor, options) {
1183
1187
  ...nodesToInsert
1184
1188
  );
1185
1189
  componentQueue.unshift(
1186
- ...nodesToInsert.map((enqueueingComponent) => ({
1187
- ancestorsAndSelf: [
1188
- {
1189
- type: "block",
1190
- node: enqueueingComponent,
1191
- fieldName,
1192
- get blockIndex() {
1193
- const parentArray = getPropertiesValue(parentComponent.node)[fieldName].value;
1194
- return parentArray.findIndex((x) => x === enqueueingComponent);
1195
- }
1196
- },
1197
- // slice removes 'self' since we are inserting a peer of self
1198
- ...currentQueueEntry.ancestorsAndSelf.slice(1)
1199
- ],
1200
- context: descendantContext
1201
- }))
1190
+ ...nodesToInsert.map((enqueueingComponent) => {
1191
+ const blockIndexFn2 = () => {
1192
+ const parentArray = getPropertiesValue(parentComponent.node)[fieldName].value;
1193
+ return parentArray.findIndex((x) => x === enqueueingComponent);
1194
+ };
1195
+ return {
1196
+ ancestorsAndSelf: [
1197
+ {
1198
+ type: "block",
1199
+ node: enqueueingComponent,
1200
+ fieldName,
1201
+ get blockIndex() {
1202
+ return blockIndexFn2();
1203
+ },
1204
+ blockIndexFn: blockIndexFn2
1205
+ },
1206
+ // slice removes 'self' since we are inserting a peer of self
1207
+ ...currentQueueEntry.ancestorsAndSelf.slice(1)
1208
+ ],
1209
+ context: descendantContext
1210
+ };
1211
+ })
1202
1212
  );
1203
1213
  }
1204
1214
  },
@@ -1247,7 +1257,8 @@ function walkNodeTree(node, visitor, options) {
1247
1257
  throw new Error("Unable to delete root node.");
1248
1258
  }
1249
1259
  if (currentComponentLocation.type === "slot") {
1250
- const { parentSlot, parentSlotIndex } = currentComponentLocation;
1260
+ const { parentSlot, parentSlotIndexFn } = currentComponentLocation;
1261
+ const parentSlotIndex = parentSlotIndexFn();
1251
1262
  parentComponent.node.slots[parentSlot].splice(parentSlotIndex, 1);
1252
1263
  } else {
1253
1264
  throw new Error("Unknown node type");
@@ -1261,7 +1272,8 @@ function walkNodeTree(node, visitor, options) {
1261
1272
  throw new Error("Unable to insert after root node.");
1262
1273
  }
1263
1274
  if (currentNodeInfo.type === "slot") {
1264
- const { parentSlot, parentSlotIndex } = currentNodeInfo;
1275
+ const { parentSlot, parentSlotIndexFn } = currentNodeInfo;
1276
+ const parentSlotIndex = parentSlotIndexFn();
1265
1277
  const parentComponent = currentQueueEntry.ancestorsAndSelf[1];
1266
1278
  if (parentSlot && typeof parentSlotIndex !== "undefined") {
1267
1279
  parentComponent.node.slots[parentSlot].splice(
@@ -1270,24 +1282,30 @@ function walkNodeTree(node, visitor, options) {
1270
1282
  ...nodesToInsert
1271
1283
  );
1272
1284
  componentQueue.unshift(
1273
- ...nodesToInsert.map((enqueueingComponent) => ({
1274
- type: "slot",
1275
- ancestorsAndSelf: [
1276
- {
1277
- type: "slot",
1278
- node: enqueueingComponent,
1279
- parentSlot,
1280
- get parentSlotIndex() {
1281
- return parentComponent.node.slots[parentSlot].findIndex(
1282
- (x) => x === enqueueingComponent
1283
- );
1284
- }
1285
- },
1286
- // slice removes 'self' since we are inserting a peer of self
1287
- ...currentQueueEntry.ancestorsAndSelf.slice(1)
1288
- ],
1289
- context: descendantContext
1290
- }))
1285
+ ...nodesToInsert.map((enqueueingComponent) => {
1286
+ const parentSlotIndexFn2 = () => {
1287
+ return parentComponent.node.slots[parentSlot].findIndex(
1288
+ (x) => x === enqueueingComponent
1289
+ );
1290
+ };
1291
+ return {
1292
+ type: "slot",
1293
+ ancestorsAndSelf: [
1294
+ {
1295
+ type: "slot",
1296
+ node: enqueueingComponent,
1297
+ parentSlot,
1298
+ get parentSlotIndex() {
1299
+ return parentSlotIndexFn2();
1300
+ },
1301
+ parentSlotIndexFn: parentSlotIndexFn2
1302
+ },
1303
+ // slice removes 'self' since we are inserting a peer of self
1304
+ ...currentQueueEntry.ancestorsAndSelf.slice(1)
1305
+ ],
1306
+ context: descendantContext
1307
+ };
1308
+ })
1291
1309
  );
1292
1310
  }
1293
1311
  } else {
@@ -1319,6 +1337,12 @@ function walkNodeTree(node, visitor, options) {
1319
1337
  const components = slots[slotKey];
1320
1338
  for (let componentIndex = components.length - 1; componentIndex >= 0; componentIndex--) {
1321
1339
  const enqueueingComponent = components[componentIndex];
1340
+ const parentSlotIndexFn = () => {
1341
+ const result = currentComponent.node.slots[slotKey].findIndex(
1342
+ (x) => x === enqueueingComponent
1343
+ );
1344
+ return result;
1345
+ };
1322
1346
  componentQueue.push({
1323
1347
  ancestorsAndSelf: [
1324
1348
  {
@@ -1326,10 +1350,9 @@ function walkNodeTree(node, visitor, options) {
1326
1350
  node: enqueueingComponent,
1327
1351
  parentSlot: slotKey,
1328
1352
  get parentSlotIndex() {
1329
- return currentComponent.node.slots[slotKey].findIndex(
1330
- (x) => x === enqueueingComponent
1331
- );
1332
- }
1353
+ return parentSlotIndexFn();
1354
+ },
1355
+ parentSlotIndexFn
1333
1356
  },
1334
1357
  ...currentQueueEntry.ancestorsAndSelf
1335
1358
  ],
@@ -1365,6 +1388,9 @@ function walkNodeTree(node, visitor, options) {
1365
1388
  const blocks = (_b = propObject.value) != null ? _b : [];
1366
1389
  for (let blockIndex = blocks.length - 1; blockIndex >= 0; blockIndex--) {
1367
1390
  const enqueueingBlock = blocks[blockIndex];
1391
+ const blockIndexFn = () => {
1392
+ return getBlockValue(currentComponent.node, propKey).findIndex((x) => x === enqueueingBlock);
1393
+ };
1368
1394
  componentQueue.push({
1369
1395
  ancestorsAndSelf: [
1370
1396
  {
@@ -1372,10 +1398,9 @@ function walkNodeTree(node, visitor, options) {
1372
1398
  node: enqueueingBlock,
1373
1399
  fieldName: propKey,
1374
1400
  get blockIndex() {
1375
- return getBlockValue(currentComponent.node, propKey).findIndex(
1376
- (x) => x === enqueueingBlock
1377
- );
1378
- }
1401
+ return blockIndexFn();
1402
+ },
1403
+ blockIndexFn
1379
1404
  },
1380
1405
  ...currentQueueEntry.ancestorsAndSelf
1381
1406
  ],
@@ -1666,7 +1691,8 @@ function getComponentJsonPointer(ancestorsAndSelf) {
1666
1691
  const parentLocation = ancestorsAndSelf[i + 1];
1667
1692
  if ("type" in currentLocation && currentLocation.type !== "slot") {
1668
1693
  if (currentLocation.type === "block") {
1669
- const { fieldName: parameterName, blockIndex } = currentLocation;
1694
+ const { fieldName: parameterName, blockIndexFn } = currentLocation;
1695
+ const blockIndex = blockIndexFn();
1670
1696
  if (parameterName && blockIndex !== void 0) {
1671
1697
  const noun = getNounForLocation(parentLocation);
1672
1698
  path.push(`${noun}/${parameterName}/value/${blockIndex}`);
@@ -1675,7 +1701,8 @@ function getComponentJsonPointer(ancestorsAndSelf) {
1675
1701
  }
1676
1702
  continue;
1677
1703
  }
1678
- const { parentSlot, parentSlotIndex } = currentLocation;
1704
+ const parentSlotIndex = "parentSlotIndexFn" in currentLocation ? currentLocation.parentSlotIndexFn() : currentLocation.parentSlotIndex;
1705
+ const { parentSlot } = currentLocation;
1679
1706
  if (parentSlot && parentSlotIndex !== void 0) {
1680
1707
  path.push(`slots/${parentSlot}/${parentSlotIndex}`);
1681
1708
  }
package/dist/index.js CHANGED
@@ -1068,7 +1068,8 @@ function getComponentPath(ancestorsAndSelf) {
1068
1068
  const parentLocation = ancestorsAndSelf[i + 1];
1069
1069
  if ("type" in currentLocation && currentLocation.type !== "slot") {
1070
1070
  if (currentLocation.type === "block") {
1071
- const { fieldName, blockIndex } = currentLocation;
1071
+ const { fieldName, blockIndexFn } = currentLocation;
1072
+ const blockIndex = blockIndexFn();
1072
1073
  if (fieldName && blockIndex !== void 0) {
1073
1074
  const noun = parentLocation && "type" in parentLocation && parentLocation.type === "block" ? "fields" : "parameters";
1074
1075
  path.push(`${noun}.${fieldName}.value[${blockIndex}]`);
@@ -1077,7 +1078,8 @@ function getComponentPath(ancestorsAndSelf) {
1077
1078
  }
1078
1079
  continue;
1079
1080
  }
1080
- const { parentSlot, parentSlotIndex } = currentLocation;
1081
+ const parentSlotIndex = "parentSlotIndexFn" in currentLocation ? currentLocation.parentSlotIndexFn() : currentLocation.parentSlotIndex;
1082
+ const { parentSlot } = currentLocation;
1081
1083
  if (parentSlot && parentSlotIndex !== void 0) {
1082
1084
  path.push(`${parentSlot}[${parentSlotIndex}]`);
1083
1085
  }
@@ -1314,7 +1316,8 @@ function walkNodeTree(node, visitor, options) {
1314
1316
  const currentComponentLocation = currentQueueEntry.ancestorsAndSelf[0];
1315
1317
  const parentComponent = currentQueueEntry.ancestorsAndSelf[1];
1316
1318
  if (currentComponentLocation.type === "block") {
1317
- const { fieldName, blockIndex } = currentComponentLocation;
1319
+ const { fieldName, blockIndexFn } = currentComponentLocation;
1320
+ const blockIndex = blockIndexFn();
1318
1321
  const blockValue = getBlockValue(parentComponent.node, fieldName);
1319
1322
  blockValue.splice(blockIndex, 1);
1320
1323
  if (blockValue.length === 0) {
@@ -1331,7 +1334,8 @@ function walkNodeTree(node, visitor, options) {
1331
1334
  if (currentNodeInfo.type !== "block") {
1332
1335
  throw new Error("Unknown type");
1333
1336
  }
1334
- const { fieldName, blockIndex } = currentNodeInfo;
1337
+ const { fieldName, blockIndexFn } = currentNodeInfo;
1338
+ const blockIndex = blockIndexFn();
1335
1339
  const parentComponent = currentQueueEntry.ancestorsAndSelf[1];
1336
1340
  const nodesToInsert = Array.isArray(nodes) ? nodes : [nodes];
1337
1341
  if (fieldName && typeof blockIndex !== "undefined") {
@@ -1341,22 +1345,28 @@ function walkNodeTree(node, visitor, options) {
1341
1345
  ...nodesToInsert
1342
1346
  );
1343
1347
  componentQueue.unshift(
1344
- ...nodesToInsert.map((enqueueingComponent) => ({
1345
- ancestorsAndSelf: [
1346
- {
1347
- type: "block",
1348
- node: enqueueingComponent,
1349
- fieldName,
1350
- get blockIndex() {
1351
- const parentArray = getPropertiesValue(parentComponent.node)[fieldName].value;
1352
- return parentArray.findIndex((x) => x === enqueueingComponent);
1353
- }
1354
- },
1355
- // slice removes 'self' since we are inserting a peer of self
1356
- ...currentQueueEntry.ancestorsAndSelf.slice(1)
1357
- ],
1358
- context: descendantContext
1359
- }))
1348
+ ...nodesToInsert.map((enqueueingComponent) => {
1349
+ const blockIndexFn2 = () => {
1350
+ const parentArray = getPropertiesValue(parentComponent.node)[fieldName].value;
1351
+ return parentArray.findIndex((x) => x === enqueueingComponent);
1352
+ };
1353
+ return {
1354
+ ancestorsAndSelf: [
1355
+ {
1356
+ type: "block",
1357
+ node: enqueueingComponent,
1358
+ fieldName,
1359
+ get blockIndex() {
1360
+ return blockIndexFn2();
1361
+ },
1362
+ blockIndexFn: blockIndexFn2
1363
+ },
1364
+ // slice removes 'self' since we are inserting a peer of self
1365
+ ...currentQueueEntry.ancestorsAndSelf.slice(1)
1366
+ ],
1367
+ context: descendantContext
1368
+ };
1369
+ })
1360
1370
  );
1361
1371
  }
1362
1372
  },
@@ -1405,7 +1415,8 @@ function walkNodeTree(node, visitor, options) {
1405
1415
  throw new Error("Unable to delete root node.");
1406
1416
  }
1407
1417
  if (currentComponentLocation.type === "slot") {
1408
- const { parentSlot, parentSlotIndex } = currentComponentLocation;
1418
+ const { parentSlot, parentSlotIndexFn } = currentComponentLocation;
1419
+ const parentSlotIndex = parentSlotIndexFn();
1409
1420
  parentComponent.node.slots[parentSlot].splice(parentSlotIndex, 1);
1410
1421
  } else {
1411
1422
  throw new Error("Unknown node type");
@@ -1419,7 +1430,8 @@ function walkNodeTree(node, visitor, options) {
1419
1430
  throw new Error("Unable to insert after root node.");
1420
1431
  }
1421
1432
  if (currentNodeInfo.type === "slot") {
1422
- const { parentSlot, parentSlotIndex } = currentNodeInfo;
1433
+ const { parentSlot, parentSlotIndexFn } = currentNodeInfo;
1434
+ const parentSlotIndex = parentSlotIndexFn();
1423
1435
  const parentComponent = currentQueueEntry.ancestorsAndSelf[1];
1424
1436
  if (parentSlot && typeof parentSlotIndex !== "undefined") {
1425
1437
  parentComponent.node.slots[parentSlot].splice(
@@ -1428,24 +1440,30 @@ function walkNodeTree(node, visitor, options) {
1428
1440
  ...nodesToInsert
1429
1441
  );
1430
1442
  componentQueue.unshift(
1431
- ...nodesToInsert.map((enqueueingComponent) => ({
1432
- type: "slot",
1433
- ancestorsAndSelf: [
1434
- {
1435
- type: "slot",
1436
- node: enqueueingComponent,
1437
- parentSlot,
1438
- get parentSlotIndex() {
1439
- return parentComponent.node.slots[parentSlot].findIndex(
1440
- (x) => x === enqueueingComponent
1441
- );
1442
- }
1443
- },
1444
- // slice removes 'self' since we are inserting a peer of self
1445
- ...currentQueueEntry.ancestorsAndSelf.slice(1)
1446
- ],
1447
- context: descendantContext
1448
- }))
1443
+ ...nodesToInsert.map((enqueueingComponent) => {
1444
+ const parentSlotIndexFn2 = () => {
1445
+ return parentComponent.node.slots[parentSlot].findIndex(
1446
+ (x) => x === enqueueingComponent
1447
+ );
1448
+ };
1449
+ return {
1450
+ type: "slot",
1451
+ ancestorsAndSelf: [
1452
+ {
1453
+ type: "slot",
1454
+ node: enqueueingComponent,
1455
+ parentSlot,
1456
+ get parentSlotIndex() {
1457
+ return parentSlotIndexFn2();
1458
+ },
1459
+ parentSlotIndexFn: parentSlotIndexFn2
1460
+ },
1461
+ // slice removes 'self' since we are inserting a peer of self
1462
+ ...currentQueueEntry.ancestorsAndSelf.slice(1)
1463
+ ],
1464
+ context: descendantContext
1465
+ };
1466
+ })
1449
1467
  );
1450
1468
  }
1451
1469
  } else {
@@ -1477,6 +1495,12 @@ function walkNodeTree(node, visitor, options) {
1477
1495
  const components = slots[slotKey];
1478
1496
  for (let componentIndex = components.length - 1; componentIndex >= 0; componentIndex--) {
1479
1497
  const enqueueingComponent = components[componentIndex];
1498
+ const parentSlotIndexFn = () => {
1499
+ const result = currentComponent.node.slots[slotKey].findIndex(
1500
+ (x) => x === enqueueingComponent
1501
+ );
1502
+ return result;
1503
+ };
1480
1504
  componentQueue.push({
1481
1505
  ancestorsAndSelf: [
1482
1506
  {
@@ -1484,10 +1508,9 @@ function walkNodeTree(node, visitor, options) {
1484
1508
  node: enqueueingComponent,
1485
1509
  parentSlot: slotKey,
1486
1510
  get parentSlotIndex() {
1487
- return currentComponent.node.slots[slotKey].findIndex(
1488
- (x) => x === enqueueingComponent
1489
- );
1490
- }
1511
+ return parentSlotIndexFn();
1512
+ },
1513
+ parentSlotIndexFn
1491
1514
  },
1492
1515
  ...currentQueueEntry.ancestorsAndSelf
1493
1516
  ],
@@ -1523,6 +1546,9 @@ function walkNodeTree(node, visitor, options) {
1523
1546
  const blocks = (_b = propObject.value) != null ? _b : [];
1524
1547
  for (let blockIndex = blocks.length - 1; blockIndex >= 0; blockIndex--) {
1525
1548
  const enqueueingBlock = blocks[blockIndex];
1549
+ const blockIndexFn = () => {
1550
+ return getBlockValue(currentComponent.node, propKey).findIndex((x) => x === enqueueingBlock);
1551
+ };
1526
1552
  componentQueue.push({
1527
1553
  ancestorsAndSelf: [
1528
1554
  {
@@ -1530,10 +1556,9 @@ function walkNodeTree(node, visitor, options) {
1530
1556
  node: enqueueingBlock,
1531
1557
  fieldName: propKey,
1532
1558
  get blockIndex() {
1533
- return getBlockValue(currentComponent.node, propKey).findIndex(
1534
- (x) => x === enqueueingBlock
1535
- );
1536
- }
1559
+ return blockIndexFn();
1560
+ },
1561
+ blockIndexFn
1537
1562
  },
1538
1563
  ...currentQueueEntry.ancestorsAndSelf
1539
1564
  ],
@@ -1824,7 +1849,8 @@ function getComponentJsonPointer(ancestorsAndSelf) {
1824
1849
  const parentLocation = ancestorsAndSelf[i + 1];
1825
1850
  if ("type" in currentLocation && currentLocation.type !== "slot") {
1826
1851
  if (currentLocation.type === "block") {
1827
- const { fieldName: parameterName, blockIndex } = currentLocation;
1852
+ const { fieldName: parameterName, blockIndexFn } = currentLocation;
1853
+ const blockIndex = blockIndexFn();
1828
1854
  if (parameterName && blockIndex !== void 0) {
1829
1855
  const noun = getNounForLocation(parentLocation);
1830
1856
  path.push(`${noun}/${parameterName}/value/${blockIndex}`);
@@ -1833,7 +1859,8 @@ function getComponentJsonPointer(ancestorsAndSelf) {
1833
1859
  }
1834
1860
  continue;
1835
1861
  }
1836
- const { parentSlot, parentSlotIndex } = currentLocation;
1862
+ const parentSlotIndex = "parentSlotIndexFn" in currentLocation ? currentLocation.parentSlotIndexFn() : currentLocation.parentSlotIndex;
1863
+ const { parentSlot } = currentLocation;
1837
1864
  if (parentSlot && parentSlotIndex !== void 0) {
1838
1865
  path.push(`slots/${parentSlot}/${parentSlotIndex}`);
1839
1866
  }
package/dist/index.mjs CHANGED
@@ -910,7 +910,8 @@ function getComponentPath(ancestorsAndSelf) {
910
910
  const parentLocation = ancestorsAndSelf[i + 1];
911
911
  if ("type" in currentLocation && currentLocation.type !== "slot") {
912
912
  if (currentLocation.type === "block") {
913
- const { fieldName, blockIndex } = currentLocation;
913
+ const { fieldName, blockIndexFn } = currentLocation;
914
+ const blockIndex = blockIndexFn();
914
915
  if (fieldName && blockIndex !== void 0) {
915
916
  const noun = parentLocation && "type" in parentLocation && parentLocation.type === "block" ? "fields" : "parameters";
916
917
  path.push(`${noun}.${fieldName}.value[${blockIndex}]`);
@@ -919,7 +920,8 @@ function getComponentPath(ancestorsAndSelf) {
919
920
  }
920
921
  continue;
921
922
  }
922
- const { parentSlot, parentSlotIndex } = currentLocation;
923
+ const parentSlotIndex = "parentSlotIndexFn" in currentLocation ? currentLocation.parentSlotIndexFn() : currentLocation.parentSlotIndex;
924
+ const { parentSlot } = currentLocation;
923
925
  if (parentSlot && parentSlotIndex !== void 0) {
924
926
  path.push(`${parentSlot}[${parentSlotIndex}]`);
925
927
  }
@@ -1156,7 +1158,8 @@ function walkNodeTree(node, visitor, options) {
1156
1158
  const currentComponentLocation = currentQueueEntry.ancestorsAndSelf[0];
1157
1159
  const parentComponent = currentQueueEntry.ancestorsAndSelf[1];
1158
1160
  if (currentComponentLocation.type === "block") {
1159
- const { fieldName, blockIndex } = currentComponentLocation;
1161
+ const { fieldName, blockIndexFn } = currentComponentLocation;
1162
+ const blockIndex = blockIndexFn();
1160
1163
  const blockValue = getBlockValue(parentComponent.node, fieldName);
1161
1164
  blockValue.splice(blockIndex, 1);
1162
1165
  if (blockValue.length === 0) {
@@ -1173,7 +1176,8 @@ function walkNodeTree(node, visitor, options) {
1173
1176
  if (currentNodeInfo.type !== "block") {
1174
1177
  throw new Error("Unknown type");
1175
1178
  }
1176
- const { fieldName, blockIndex } = currentNodeInfo;
1179
+ const { fieldName, blockIndexFn } = currentNodeInfo;
1180
+ const blockIndex = blockIndexFn();
1177
1181
  const parentComponent = currentQueueEntry.ancestorsAndSelf[1];
1178
1182
  const nodesToInsert = Array.isArray(nodes) ? nodes : [nodes];
1179
1183
  if (fieldName && typeof blockIndex !== "undefined") {
@@ -1183,22 +1187,28 @@ function walkNodeTree(node, visitor, options) {
1183
1187
  ...nodesToInsert
1184
1188
  );
1185
1189
  componentQueue.unshift(
1186
- ...nodesToInsert.map((enqueueingComponent) => ({
1187
- ancestorsAndSelf: [
1188
- {
1189
- type: "block",
1190
- node: enqueueingComponent,
1191
- fieldName,
1192
- get blockIndex() {
1193
- const parentArray = getPropertiesValue(parentComponent.node)[fieldName].value;
1194
- return parentArray.findIndex((x) => x === enqueueingComponent);
1195
- }
1196
- },
1197
- // slice removes 'self' since we are inserting a peer of self
1198
- ...currentQueueEntry.ancestorsAndSelf.slice(1)
1199
- ],
1200
- context: descendantContext
1201
- }))
1190
+ ...nodesToInsert.map((enqueueingComponent) => {
1191
+ const blockIndexFn2 = () => {
1192
+ const parentArray = getPropertiesValue(parentComponent.node)[fieldName].value;
1193
+ return parentArray.findIndex((x) => x === enqueueingComponent);
1194
+ };
1195
+ return {
1196
+ ancestorsAndSelf: [
1197
+ {
1198
+ type: "block",
1199
+ node: enqueueingComponent,
1200
+ fieldName,
1201
+ get blockIndex() {
1202
+ return blockIndexFn2();
1203
+ },
1204
+ blockIndexFn: blockIndexFn2
1205
+ },
1206
+ // slice removes 'self' since we are inserting a peer of self
1207
+ ...currentQueueEntry.ancestorsAndSelf.slice(1)
1208
+ ],
1209
+ context: descendantContext
1210
+ };
1211
+ })
1202
1212
  );
1203
1213
  }
1204
1214
  },
@@ -1247,7 +1257,8 @@ function walkNodeTree(node, visitor, options) {
1247
1257
  throw new Error("Unable to delete root node.");
1248
1258
  }
1249
1259
  if (currentComponentLocation.type === "slot") {
1250
- const { parentSlot, parentSlotIndex } = currentComponentLocation;
1260
+ const { parentSlot, parentSlotIndexFn } = currentComponentLocation;
1261
+ const parentSlotIndex = parentSlotIndexFn();
1251
1262
  parentComponent.node.slots[parentSlot].splice(parentSlotIndex, 1);
1252
1263
  } else {
1253
1264
  throw new Error("Unknown node type");
@@ -1261,7 +1272,8 @@ function walkNodeTree(node, visitor, options) {
1261
1272
  throw new Error("Unable to insert after root node.");
1262
1273
  }
1263
1274
  if (currentNodeInfo.type === "slot") {
1264
- const { parentSlot, parentSlotIndex } = currentNodeInfo;
1275
+ const { parentSlot, parentSlotIndexFn } = currentNodeInfo;
1276
+ const parentSlotIndex = parentSlotIndexFn();
1265
1277
  const parentComponent = currentQueueEntry.ancestorsAndSelf[1];
1266
1278
  if (parentSlot && typeof parentSlotIndex !== "undefined") {
1267
1279
  parentComponent.node.slots[parentSlot].splice(
@@ -1270,24 +1282,30 @@ function walkNodeTree(node, visitor, options) {
1270
1282
  ...nodesToInsert
1271
1283
  );
1272
1284
  componentQueue.unshift(
1273
- ...nodesToInsert.map((enqueueingComponent) => ({
1274
- type: "slot",
1275
- ancestorsAndSelf: [
1276
- {
1277
- type: "slot",
1278
- node: enqueueingComponent,
1279
- parentSlot,
1280
- get parentSlotIndex() {
1281
- return parentComponent.node.slots[parentSlot].findIndex(
1282
- (x) => x === enqueueingComponent
1283
- );
1284
- }
1285
- },
1286
- // slice removes 'self' since we are inserting a peer of self
1287
- ...currentQueueEntry.ancestorsAndSelf.slice(1)
1288
- ],
1289
- context: descendantContext
1290
- }))
1285
+ ...nodesToInsert.map((enqueueingComponent) => {
1286
+ const parentSlotIndexFn2 = () => {
1287
+ return parentComponent.node.slots[parentSlot].findIndex(
1288
+ (x) => x === enqueueingComponent
1289
+ );
1290
+ };
1291
+ return {
1292
+ type: "slot",
1293
+ ancestorsAndSelf: [
1294
+ {
1295
+ type: "slot",
1296
+ node: enqueueingComponent,
1297
+ parentSlot,
1298
+ get parentSlotIndex() {
1299
+ return parentSlotIndexFn2();
1300
+ },
1301
+ parentSlotIndexFn: parentSlotIndexFn2
1302
+ },
1303
+ // slice removes 'self' since we are inserting a peer of self
1304
+ ...currentQueueEntry.ancestorsAndSelf.slice(1)
1305
+ ],
1306
+ context: descendantContext
1307
+ };
1308
+ })
1291
1309
  );
1292
1310
  }
1293
1311
  } else {
@@ -1319,6 +1337,12 @@ function walkNodeTree(node, visitor, options) {
1319
1337
  const components = slots[slotKey];
1320
1338
  for (let componentIndex = components.length - 1; componentIndex >= 0; componentIndex--) {
1321
1339
  const enqueueingComponent = components[componentIndex];
1340
+ const parentSlotIndexFn = () => {
1341
+ const result = currentComponent.node.slots[slotKey].findIndex(
1342
+ (x) => x === enqueueingComponent
1343
+ );
1344
+ return result;
1345
+ };
1322
1346
  componentQueue.push({
1323
1347
  ancestorsAndSelf: [
1324
1348
  {
@@ -1326,10 +1350,9 @@ function walkNodeTree(node, visitor, options) {
1326
1350
  node: enqueueingComponent,
1327
1351
  parentSlot: slotKey,
1328
1352
  get parentSlotIndex() {
1329
- return currentComponent.node.slots[slotKey].findIndex(
1330
- (x) => x === enqueueingComponent
1331
- );
1332
- }
1353
+ return parentSlotIndexFn();
1354
+ },
1355
+ parentSlotIndexFn
1333
1356
  },
1334
1357
  ...currentQueueEntry.ancestorsAndSelf
1335
1358
  ],
@@ -1365,6 +1388,9 @@ function walkNodeTree(node, visitor, options) {
1365
1388
  const blocks = (_b = propObject.value) != null ? _b : [];
1366
1389
  for (let blockIndex = blocks.length - 1; blockIndex >= 0; blockIndex--) {
1367
1390
  const enqueueingBlock = blocks[blockIndex];
1391
+ const blockIndexFn = () => {
1392
+ return getBlockValue(currentComponent.node, propKey).findIndex((x) => x === enqueueingBlock);
1393
+ };
1368
1394
  componentQueue.push({
1369
1395
  ancestorsAndSelf: [
1370
1396
  {
@@ -1372,10 +1398,9 @@ function walkNodeTree(node, visitor, options) {
1372
1398
  node: enqueueingBlock,
1373
1399
  fieldName: propKey,
1374
1400
  get blockIndex() {
1375
- return getBlockValue(currentComponent.node, propKey).findIndex(
1376
- (x) => x === enqueueingBlock
1377
- );
1378
- }
1401
+ return blockIndexFn();
1402
+ },
1403
+ blockIndexFn
1379
1404
  },
1380
1405
  ...currentQueueEntry.ancestorsAndSelf
1381
1406
  ],
@@ -1666,7 +1691,8 @@ function getComponentJsonPointer(ancestorsAndSelf) {
1666
1691
  const parentLocation = ancestorsAndSelf[i + 1];
1667
1692
  if ("type" in currentLocation && currentLocation.type !== "slot") {
1668
1693
  if (currentLocation.type === "block") {
1669
- const { fieldName: parameterName, blockIndex } = currentLocation;
1694
+ const { fieldName: parameterName, blockIndexFn } = currentLocation;
1695
+ const blockIndex = blockIndexFn();
1670
1696
  if (parameterName && blockIndex !== void 0) {
1671
1697
  const noun = getNounForLocation(parentLocation);
1672
1698
  path.push(`${noun}/${parameterName}/value/${blockIndex}`);
@@ -1675,7 +1701,8 @@ function getComponentJsonPointer(ancestorsAndSelf) {
1675
1701
  }
1676
1702
  continue;
1677
1703
  }
1678
- const { parentSlot, parentSlotIndex } = currentLocation;
1704
+ const parentSlotIndex = "parentSlotIndexFn" in currentLocation ? currentLocation.parentSlotIndexFn() : currentLocation.parentSlotIndex;
1705
+ const { parentSlot } = currentLocation;
1679
1706
  if (parentSlot && parentSlotIndex !== void 0) {
1680
1707
  path.push(`slots/${parentSlot}/${parentSlotIndex}`);
1681
1708
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/canvas",
3
- "version": "19.202.0",
3
+ "version": "19.202.1-alpha.9+63c059770a",
4
4
  "description": "Common functionality and types for Uniform Canvas",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "./dist/index.js",
@@ -38,9 +38,9 @@
38
38
  "pusher-js": "8.2.0"
39
39
  },
40
40
  "dependencies": {
41
- "@uniformdev/assets": "19.202.0",
42
- "@uniformdev/context": "19.202.0",
43
- "@uniformdev/richtext": "19.202.0",
41
+ "@uniformdev/assets": "19.202.1-alpha.9+63c059770a",
42
+ "@uniformdev/context": "19.202.1-alpha.9+63c059770a",
43
+ "@uniformdev/richtext": "19.202.1-alpha.9+63c059770a",
44
44
  "immer": "10.1.1"
45
45
  },
46
46
  "files": [
@@ -49,5 +49,5 @@
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
- "gitHead": "133a9ea4d2d3794e2d05ad8277f6bb3803d109d7"
52
+ "gitHead": "63c059770a54fc063a12af0f74eba059143e8074"
53
53
  }