@plasmicpkgs/plasmic-cms 0.0.232 → 0.0.234

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/api.d.ts CHANGED
@@ -13,6 +13,7 @@ export interface QueryParams {
13
13
  desc?: boolean;
14
14
  limit?: number;
15
15
  offset?: number;
16
+ fields?: string[];
16
17
  }
17
18
  export declare class HttpError extends Error {
18
19
  status: number;
@@ -1,4 +1,4 @@
1
- import { CanvasComponentProps, CodeComponentMeta } from "@plasmicapp/host/registerComponent";
1
+ import { CanvasComponentProps, ComponentMeta } from "@plasmicapp/host/registerComponent";
2
2
  import { GlobalContextMeta } from "@plasmicapp/host/registerGlobalContext";
3
3
  import React from "react";
4
4
  import { DatabaseConfig, QueryParams } from "./api";
@@ -17,7 +17,6 @@ interface TableContextData extends TablesContextData {
17
17
  interface RowContextData extends TableContextData {
18
18
  row?: ApiCmsRow;
19
19
  fieldMeta?: CmsFieldMeta;
20
- data?: object;
21
20
  }
22
21
  interface CmsQueryRepeaterProps extends QueryParams, CanvasComponentProps<TableContextData> {
23
22
  children: React.ReactNode;
@@ -31,23 +30,24 @@ interface CmsQueryRepeaterProps extends QueryParams, CanvasComponentProps<TableC
31
30
  className?: string;
32
31
  filterField?: string;
33
32
  filterValue?: string;
33
+ fields?: string[];
34
34
  mode?: "rows" | "count";
35
35
  }
36
- export declare const cmsQueryRepeaterMeta: CodeComponentMeta<CmsQueryRepeaterProps>;
37
- export declare function CmsQueryRepeater({ table, children, setControlContextData, mode, where, useDraft, orderBy, desc, limit, offset, emptyMessage, forceEmptyState, loadingMessage, forceLoadingState, noLayout, noAutoRepeat, className, filterField, filterValue, }: CmsQueryRepeaterProps): React.JSX.Element;
36
+ export declare const cmsQueryRepeaterMeta: ComponentMeta<CmsQueryRepeaterProps>;
37
+ export declare function CmsQueryRepeater({ table, children, setControlContextData, mode, where, useDraft, orderBy, desc, limit, offset, emptyMessage, forceEmptyState, loadingMessage, forceLoadingState, noLayout, noAutoRepeat, className, filterField, filterValue, fields, }: CmsQueryRepeaterProps): React.JSX.Element;
38
38
  interface CmsRowFieldProps extends CanvasComponentProps<RowContextData> {
39
39
  table: string;
40
- field?: string | string[];
40
+ field: string;
41
41
  className?: string;
42
42
  dateFormat?: string;
43
43
  }
44
- export declare const cmsRowFieldMeta: CodeComponentMeta<CmsRowFieldProps>;
44
+ export declare const cmsRowFieldMeta: ComponentMeta<CmsRowFieldProps>;
45
45
  export declare function CmsRowField({ className, table, field, dateFormat, setControlContextData, ...rest }: CmsRowFieldProps): React.JSX.Element | null;
46
46
  interface CmsCountProps extends CanvasComponentProps<RowContextData> {
47
47
  table: string;
48
48
  className?: string;
49
49
  }
50
- export declare const cmsCountFieldMeta: CodeComponentMeta<CmsCountProps>;
50
+ export declare const cmsCountFieldMeta: ComponentMeta<CmsCountProps>;
51
51
  export declare function CmsCount({ className, table, setControlContextData, ...rest }: CmsCountProps): React.JSX.Element | null;
52
52
  interface CmsRowLinkProps extends CanvasComponentProps<RowContextData> {
53
53
  table: string;
@@ -57,7 +57,7 @@ interface CmsRowLinkProps extends CanvasComponentProps<RowContextData> {
57
57
  prefix?: string;
58
58
  suffix?: string;
59
59
  }
60
- export declare const cmsRowLinkMeta: CodeComponentMeta<CmsRowLinkProps>;
60
+ export declare const cmsRowLinkMeta: ComponentMeta<CmsRowLinkProps>;
61
61
  export declare function CmsRowLink({ table, field, hrefProp, children, setControlContextData, prefix, suffix, }: CmsRowLinkProps): React.ReactElement | null;
62
62
  interface CmsRowImageProps extends CanvasComponentProps<RowContextData> {
63
63
  table: string;
@@ -65,7 +65,7 @@ interface CmsRowImageProps extends CanvasComponentProps<RowContextData> {
65
65
  srcProp: string;
66
66
  children: React.ReactNode;
67
67
  }
68
- export declare const cmsRowImageMeta: CodeComponentMeta<CmsRowImageProps>;
68
+ export declare const cmsRowImageMeta: ComponentMeta<CmsRowImageProps>;
69
69
  export declare function CmsRowImage({ table, field, srcProp, children, setControlContextData, }: CmsRowImageProps): React.ReactElement | null;
70
70
  interface CmsRowFieldValueProps extends CanvasComponentProps<RowContextData> {
71
71
  table: string;
@@ -73,6 +73,6 @@ interface CmsRowFieldValueProps extends CanvasComponentProps<RowContextData> {
73
73
  valueProp: string;
74
74
  children: React.ReactNode;
75
75
  }
76
- export declare const cmsRowFieldValueMeta: CodeComponentMeta<CmsRowFieldValueProps>;
76
+ export declare const cmsRowFieldValueMeta: ComponentMeta<CmsRowFieldValueProps>;
77
77
  export declare function CmsRowFieldValue({ table, field, valueProp, children, setControlContextData, ...rest }: CmsRowFieldValueProps): React.ReactElement | null;
78
78
  export {};
@@ -441,37 +441,6 @@ function _objectWithoutPropertiesLoose(source, excluded) {
441
441
  }
442
442
  return target;
443
443
  }
444
- function _unsupportedIterableToArray(o, minLen) {
445
- if (!o) return;
446
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
447
- var n = Object.prototype.toString.call(o).slice(8, -1);
448
- if (n === "Object" && o.constructor) n = o.constructor.name;
449
- if (n === "Map" || n === "Set") return Array.from(o);
450
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
451
- }
452
- function _arrayLikeToArray(arr, len) {
453
- if (len == null || len > arr.length) len = arr.length;
454
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
455
- return arr2;
456
- }
457
- function _createForOfIteratorHelperLoose(o, allowArrayLike) {
458
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
459
- if (it) return (it = it.call(o)).next.bind(it);
460
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
461
- if (it) o = it;
462
- var i = 0;
463
- return function () {
464
- if (i >= o.length) return {
465
- done: true
466
- };
467
- return {
468
- done: false,
469
- value: o[i++]
470
- };
471
- };
472
- }
473
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
474
- }
475
444
 
476
445
  function queryParamsToApi(params) {
477
446
  return {
@@ -481,7 +450,8 @@ function queryParamsToApi(params) {
481
450
  order: params.orderBy ? [{
482
451
  field: params.orderBy,
483
452
  dir: params.desc ? "desc" : "asc"
484
- }] : undefined
453
+ }] : undefined,
454
+ fields: params.fields
485
455
  };
486
456
  }
487
457
  var HttpError = /*#__PURE__*/function (_Error) {
@@ -832,26 +802,6 @@ function mkTableOptions(tables) {
832
802
  };
833
803
  });
834
804
  }
835
- function addNestedFieldOptions(fields, prefix) {
836
- if (prefix === void 0) {
837
- prefix = "";
838
- }
839
- var options = [];
840
- fields.forEach(function (field) {
841
- var fieldPath = prefix + field.identifier;
842
- if (field.type !== "object") {
843
- options.push({
844
- value: fieldPath,
845
- label: field.name || fieldPath
846
- });
847
- }
848
- if (field.type === "object" && field.fields) {
849
- var nestedOptions = addNestedFieldOptions(field.fields, fieldPath + ".");
850
- options.push.apply(options, nestedOptions);
851
- }
852
- });
853
- return options;
854
- }
855
805
  function mkFieldOptions(tables, tableIdentifier, types) {
856
806
  if (!tables) {
857
807
  return [];
@@ -868,7 +818,12 @@ function mkFieldOptions(tables, tableIdentifier, types) {
868
818
  return types.includes(f.type);
869
819
  });
870
820
  }
871
- var options = addNestedFieldOptions(fields);
821
+ var options = fields.map(function (f) {
822
+ return {
823
+ value: f.identifier,
824
+ label: f.name || f.identifier
825
+ };
826
+ });
872
827
  if (!options.some(function (option) {
873
828
  return option.value === "_id";
874
829
  })) {
@@ -1064,7 +1019,7 @@ var cmsQueryRepeaterMeta = {
1064
1019
  options: function options(_ref4, ctx) {
1065
1020
  var _ctx$table;
1066
1021
  var table = _ref4.table;
1067
- return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table = ctx == null ? void 0 : ctx.table) != null ? _ctx$table : table, ["number", "boolean", "text", "long-text", "ref", "object"]);
1022
+ return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table = ctx == null ? void 0 : ctx.table) != null ? _ctx$table : table, ["number", "boolean", "text", "long-text", "ref"]);
1068
1023
  }
1069
1024
  },
1070
1025
  filterValue: {
@@ -1109,6 +1064,20 @@ var cmsQueryRepeaterMeta = {
1109
1064
  return ps.mode === "count";
1110
1065
  }
1111
1066
  },
1067
+ fields: {
1068
+ type: "choice",
1069
+ multiSelect: true,
1070
+ displayName: "Fields",
1071
+ description: "Fields from the CMS model to include with each row; by default, all fields are included",
1072
+ options: function options(_ref5, ctx) {
1073
+ var _ctx$table2;
1074
+ var table = _ref5.table;
1075
+ return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table2 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table2 : table);
1076
+ },
1077
+ hidden: function hidden(ps) {
1078
+ return ps.mode === "count";
1079
+ }
1080
+ },
1112
1081
  emptyMessage: {
1113
1082
  type: "slot",
1114
1083
  defaultValue: {
@@ -1152,26 +1121,27 @@ var cmsQueryRepeaterMeta = {
1152
1121
  }
1153
1122
  }
1154
1123
  };
1155
- function CmsQueryRepeater(_ref5) {
1156
- var table = _ref5.table,
1157
- children = _ref5.children,
1158
- setControlContextData = _ref5.setControlContextData,
1159
- mode = _ref5.mode,
1160
- where = _ref5.where,
1161
- useDraft = _ref5.useDraft,
1162
- orderBy = _ref5.orderBy,
1163
- desc = _ref5.desc,
1164
- limit = _ref5.limit,
1165
- offset = _ref5.offset,
1166
- emptyMessage = _ref5.emptyMessage,
1167
- forceEmptyState = _ref5.forceEmptyState,
1168
- loadingMessage = _ref5.loadingMessage,
1169
- forceLoadingState = _ref5.forceLoadingState,
1170
- noLayout = _ref5.noLayout,
1171
- noAutoRepeat = _ref5.noAutoRepeat,
1172
- className = _ref5.className,
1173
- filterField = _ref5.filterField,
1174
- filterValue = _ref5.filterValue;
1124
+ function CmsQueryRepeater(_ref6) {
1125
+ var table = _ref6.table,
1126
+ children = _ref6.children,
1127
+ setControlContextData = _ref6.setControlContextData,
1128
+ mode = _ref6.mode,
1129
+ where = _ref6.where,
1130
+ useDraft = _ref6.useDraft,
1131
+ orderBy = _ref6.orderBy,
1132
+ desc = _ref6.desc,
1133
+ limit = _ref6.limit,
1134
+ offset = _ref6.offset,
1135
+ emptyMessage = _ref6.emptyMessage,
1136
+ forceEmptyState = _ref6.forceEmptyState,
1137
+ loadingMessage = _ref6.loadingMessage,
1138
+ forceLoadingState = _ref6.forceLoadingState,
1139
+ noLayout = _ref6.noLayout,
1140
+ noAutoRepeat = _ref6.noAutoRepeat,
1141
+ className = _ref6.className,
1142
+ filterField = _ref6.filterField,
1143
+ filterValue = _ref6.filterValue,
1144
+ fields = _ref6.fields;
1175
1145
  var databaseConfig = useDatabase();
1176
1146
  var tables = useTables();
1177
1147
  if (filterField && filterValue) {
@@ -1184,7 +1154,8 @@ function CmsQueryRepeater(_ref5) {
1184
1154
  orderBy: orderBy,
1185
1155
  desc: desc,
1186
1156
  limit: limit,
1187
- offset: offset
1157
+ offset: offset,
1158
+ fields: fields
1188
1159
  };
1189
1160
  if (!table && tables && tables.length > 0) {
1190
1161
  table = tables[0].identifier;
@@ -1297,19 +1268,24 @@ var cmsRowFieldMeta = {
1297
1268
  }
1298
1269
  },
1299
1270
  field: {
1300
- type: "dataSelector",
1301
- data: function data(_, ctx) {
1302
- var _ctx$data;
1303
- return (_ctx$data = ctx == null ? void 0 : ctx.data) != null ? _ctx$data : {};
1304
- },
1271
+ type: "choice",
1305
1272
  displayName: "Field",
1306
- description: "Field to be displayed."
1273
+ description: "Field (from model schema) to use.",
1274
+ options: function options(_ref8, ctx) {
1275
+ var _ctx$table3;
1276
+ var table = _ref8.table;
1277
+ return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table3 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table3 : table, ["number", "boolean", "text", "long-text", "date-time", "rich-text", "image", "file"]);
1278
+ },
1279
+ defaultValueHint: function defaultValueHint(_, ctx) {
1280
+ var _ctx$fieldMeta, _ctx$fieldMeta2;
1281
+ return (ctx == null || (_ctx$fieldMeta = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta.name) || (ctx == null || (_ctx$fieldMeta2 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta2.identifier);
1282
+ }
1307
1283
  },
1308
1284
  dateFormat: {
1309
1285
  type: "choice",
1310
1286
  displayName: "Date Format",
1311
- hidden: function hidden(_ref7, ctx) {
1312
- var field = _ref7.field;
1287
+ hidden: function hidden(_ref9, ctx) {
1288
+ var field = _ref9.field;
1313
1289
  if (!ctx) {
1314
1290
  return true;
1315
1291
  }
@@ -1375,13 +1351,14 @@ var cmsRowFieldMeta = {
1375
1351
  objectFit: "cover"
1376
1352
  }
1377
1353
  };
1378
- function CmsRowField(_ref8) {
1379
- var className = _ref8.className,
1380
- table = _ref8.table,
1381
- field = _ref8.field,
1382
- dateFormat = _ref8.dateFormat,
1383
- setControlContextData = _ref8.setControlContextData,
1384
- rest = _objectWithoutPropertiesLoose(_ref8, _excluded);
1354
+ function CmsRowField(_ref10) {
1355
+ var _res$row$data;
1356
+ var className = _ref10.className,
1357
+ table = _ref10.table,
1358
+ field = _ref10.field,
1359
+ dateFormat = _ref10.dateFormat,
1360
+ setControlContextData = _ref10.setControlContextData,
1361
+ rest = _objectWithoutPropertiesLoose(_ref10, _excluded);
1385
1362
  var tables = useTablesWithDataLoaded("rows");
1386
1363
  var res = useRow(tables, table);
1387
1364
  var unknown = React.createElement("div", Object.assign({
@@ -1393,16 +1370,14 @@ function CmsRowField(_ref8) {
1393
1370
  field: field,
1394
1371
  typeFilters: ["text", "long-text", "rich-text"]
1395
1372
  }) : undefined;
1396
- var filteredFields = res && tables ? filterFieldsByType(res.table, tables, ["number", "boolean", "text", "long-text", "date-time", "rich-text", "image", "file", "object"]) : undefined;
1397
1373
  if (tables) {
1398
1374
  // TODO: Only include table if __plasmic_cms_row_{table} exists.
1399
1375
  setControlContextData == null || setControlContextData(_extends({
1400
1376
  tables: tables
1401
- }, res && res.row && res.row.data ? {
1377
+ }, res && res.row ? {
1402
1378
  table: res.table,
1403
1379
  row: res.row,
1404
- fieldMeta: fieldMeta,
1405
- data: extractFields(res.row.data, filteredFields)
1380
+ fieldMeta: fieldMeta
1406
1381
  } : {}));
1407
1382
  }
1408
1383
  if (!res) {
@@ -1416,30 +1391,11 @@ function CmsRowField(_ref8) {
1416
1391
  if (!fieldMeta) {
1417
1392
  return unknown;
1418
1393
  }
1419
- if (!field) {
1420
- return React.createElement("div", null, "Please specify a valid path or select a field.");
1421
- }
1422
- var data = res.row.data;
1423
- if (data !== null && typeof data !== 'string' && fieldMeta.path) {
1424
- var pathParts = fieldMeta.path.split(".");
1425
- for (var _iterator = _createForOfIteratorHelperLoose(pathParts), _step; !(_step = _iterator()).done;) {
1426
- var part = _step.value;
1427
- if (data && typeof data === 'object' && data.hasOwnProperty(part)) {
1428
- data = data[part];
1429
- } else {
1430
- data = null;
1431
- break;
1432
- }
1433
- }
1434
- } else if (data !== null) {
1435
- data = data[fieldMeta.identifier];
1436
- } else {
1437
- data = null;
1438
- }
1394
+ var data = (_res$row$data = res.row.data) == null ? void 0 : _res$row$data[fieldMeta.identifier];
1439
1395
  if (!data) {
1440
1396
  return null;
1441
1397
  }
1442
- if (fieldMeta.type === "date-time" && dateFormat && typeof data === 'string') {
1398
+ if (fieldMeta.type === "date-time" && dateFormat) {
1443
1399
  data = dayjs(data).format(dateFormat);
1444
1400
  }
1445
1401
  return data ? renderValue(data, fieldMeta.type, _extends({
@@ -1470,10 +1426,10 @@ var cmsCountFieldMeta = {
1470
1426
  }
1471
1427
  }
1472
1428
  };
1473
- function CmsCount(_ref9) {
1474
- var className = _ref9.className,
1475
- table = _ref9.table,
1476
- rest = _objectWithoutPropertiesLoose(_ref9, _excluded2);
1429
+ function CmsCount(_ref11) {
1430
+ var className = _ref11.className,
1431
+ table = _ref11.table,
1432
+ rest = _objectWithoutPropertiesLoose(_ref11, _excluded2);
1477
1433
  var tables = useTablesWithDataLoaded("count");
1478
1434
  var res = useCount(tables, table);
1479
1435
  var unknown = React.createElement("div", Object.assign({
@@ -1501,84 +1457,12 @@ function deriveInferredTableField(opts) {
1501
1457
  var schema = tables == null || (_tables$find = tables.find(function (t) {
1502
1458
  return t.identifier === table;
1503
1459
  })) == null ? void 0 : _tables$find.schema;
1504
- function findFieldInSchema(schema, fieldIdentifier) {
1505
- return schema == null ? void 0 : schema.fields.find(function (f) {
1506
- return f.identifier === fieldIdentifier;
1507
- });
1508
- }
1509
- if (Array.isArray(field)) {
1510
- if (field.length === 1) {
1511
- return findFieldInSchema(schema, field[0]);
1512
- } else if (field.length === 2) {
1513
- var topLevelField = findFieldInSchema(schema, field[0]);
1514
- if (topLevelField && topLevelField.type === "object" && topLevelField.fields) {
1515
- var nestedField = topLevelField == null ? void 0 : topLevelField.fields.find(function (f) {
1516
- return f.identifier === field[1];
1517
- });
1518
- return nestedField ? _extends({}, nestedField, {
1519
- path: field[0] + "." + field[1]
1520
- }) : undefined;
1521
- }
1522
- }
1523
- } else if (typeof field === "string") {
1524
- return findFieldInSchema(schema, field);
1525
- } else {
1526
- return schema == null ? void 0 : schema.fields.find(function (f) {
1527
- return (typeFilters != null ? typeFilters : DEFAULT_TYPE_FILTERS).includes(f.type);
1528
- });
1529
- }
1530
- }
1531
- function filterFieldsByType(table, tables, types) {
1532
- var _tables$find2;
1533
- if (!table || !tables) return undefined;
1534
- var schema = (_tables$find2 = tables.find(function (t) {
1535
- return t.identifier === table;
1536
- })) == null ? void 0 : _tables$find2.schema;
1537
- if (!schema || !schema.fields) return [];
1538
- var filteredFields = [];
1539
- for (var _iterator2 = _createForOfIteratorHelperLoose(schema.fields), _step2; !(_step2 = _iterator2()).done;) {
1540
- var field = _step2.value;
1541
- if (types.includes(field.type)) {
1542
- var modifiedField = deepClone(field);
1543
- if (field.type === "object" && field.fields) {
1544
- modifiedField.fields = field.fields.filter(function (f) {
1545
- return types.includes(f.type);
1546
- });
1547
- }
1548
- filteredFields.push(modifiedField);
1549
- }
1550
- }
1551
- return filteredFields;
1552
- }
1553
- function extractFields(data, schema) {
1554
- var result = {};
1555
- schema.forEach(function (field) {
1556
- var fieldName = field.identifier;
1557
- var fieldType = field.type;
1558
- if (fieldType === "object" && data[fieldName] && field.fields) {
1559
- result[fieldName] = extractFields(_extends({}, data[fieldName]), field.fields || []);
1560
- } else if (data[fieldName] !== undefined) {
1561
- result[fieldName] = data[fieldName];
1562
- }
1460
+ var fieldMeta = field ? schema == null ? void 0 : schema.fields.find(function (f) {
1461
+ return f.identifier === field;
1462
+ }) : schema == null ? void 0 : schema.fields.find(function (f) {
1463
+ return (typeFilters != null ? typeFilters : DEFAULT_TYPE_FILTERS).includes(f.type);
1563
1464
  });
1564
- return result;
1565
- }
1566
- function deepClone(obj) {
1567
- if (obj === null || typeof obj !== "object") {
1568
- return obj;
1569
- }
1570
- if (Array.isArray(obj)) {
1571
- return obj.map(function (item) {
1572
- return deepClone(item);
1573
- });
1574
- }
1575
- var clonedObj = {};
1576
- for (var key in obj) {
1577
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
1578
- clonedObj[key] = deepClone(obj[key]);
1579
- }
1580
- }
1581
- return clonedObj;
1465
+ return fieldMeta;
1582
1466
  }
1583
1467
  function assertNever(_) {
1584
1468
  throw new Error("unexpected branch taken");
@@ -1590,7 +1474,6 @@ function renderValue(value, type, props) {
1590
1474
  case "text":
1591
1475
  case "long-text":
1592
1476
  case "date-time":
1593
- case "object":
1594
1477
  case "ref":
1595
1478
  return React.createElement("div", Object.assign({}, props), value);
1596
1479
  case "rich-text":
@@ -1657,14 +1540,14 @@ var cmsRowLinkMeta = {
1657
1540
  type: "choice",
1658
1541
  displayName: "Field",
1659
1542
  description: "Field (from model schema) to use.",
1660
- options: function options(_ref10, ctx) {
1661
- var _ctx$table2;
1662
- var table = _ref10.table;
1663
- return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table2 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table2 : table);
1543
+ options: function options(_ref12, ctx) {
1544
+ var _ctx$table4;
1545
+ var table = _ref12.table;
1546
+ return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table4 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table4 : table);
1664
1547
  },
1665
1548
  defaultValueHint: function defaultValueHint(_, ctx) {
1666
- var _ctx$fieldMeta, _ctx$fieldMeta2;
1667
- return (ctx == null || (_ctx$fieldMeta = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta.name) || (ctx == null || (_ctx$fieldMeta2 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta2.identifier);
1549
+ var _ctx$fieldMeta3, _ctx$fieldMeta4;
1550
+ return (ctx == null || (_ctx$fieldMeta3 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta3.name) || (ctx == null || (_ctx$fieldMeta4 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta4.identifier);
1668
1551
  }
1669
1552
  },
1670
1553
  hrefProp: {
@@ -1678,8 +1561,8 @@ var cmsRowLinkMeta = {
1678
1561
  displayName: "Optional prefix",
1679
1562
  description: "Prefix to prepend to prop value.",
1680
1563
  hidden: function hidden(_, ctx) {
1681
- var _ctx$fieldMeta3;
1682
- return (ctx == null || (_ctx$fieldMeta3 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta3.type) === "file";
1564
+ var _ctx$fieldMeta5;
1565
+ return (ctx == null || (_ctx$fieldMeta5 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta5.type) === "file";
1683
1566
  }
1684
1567
  },
1685
1568
  suffix: {
@@ -1687,21 +1570,21 @@ var cmsRowLinkMeta = {
1687
1570
  displayName: "Optional suffix",
1688
1571
  description: "Suffix to append to prop value.",
1689
1572
  hidden: function hidden(_, ctx) {
1690
- var _ctx$fieldMeta4;
1691
- return (ctx == null || (_ctx$fieldMeta4 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta4.type) === "file";
1573
+ var _ctx$fieldMeta6;
1574
+ return (ctx == null || (_ctx$fieldMeta6 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta6.type) === "file";
1692
1575
  }
1693
1576
  }
1694
1577
  }
1695
1578
  };
1696
- function CmsRowLink(_ref11) {
1697
- var _res$row$data;
1698
- var table = _ref11.table,
1699
- field = _ref11.field,
1700
- hrefProp = _ref11.hrefProp,
1701
- children = _ref11.children,
1702
- setControlContextData = _ref11.setControlContextData,
1703
- prefix = _ref11.prefix,
1704
- suffix = _ref11.suffix;
1579
+ function CmsRowLink(_ref13) {
1580
+ var _res$row$data2;
1581
+ var table = _ref13.table,
1582
+ field = _ref13.field,
1583
+ hrefProp = _ref13.hrefProp,
1584
+ children = _ref13.children,
1585
+ setControlContextData = _ref13.setControlContextData,
1586
+ prefix = _ref13.prefix,
1587
+ suffix = _ref13.suffix;
1705
1588
  var tables = useTablesWithDataLoaded("rows");
1706
1589
  var res = useRow(tables, table);
1707
1590
  if (!res || !res.row) {
@@ -1728,7 +1611,7 @@ function CmsRowLink(_ref11) {
1728
1611
  if (!children) {
1729
1612
  return null;
1730
1613
  }
1731
- var value = ((_res$row$data = res.row.data) == null ? void 0 : _res$row$data[fieldMeta.identifier]) || "";
1614
+ var value = ((_res$row$data2 = res.row.data) == null ? void 0 : _res$row$data2[fieldMeta.identifier]) || "";
1732
1615
  var childrenWithProps = React.Children.map(children, function (child) {
1733
1616
  if (React.isValidElement(child)) {
1734
1617
  var _React$cloneElement;
@@ -1771,14 +1654,14 @@ var cmsRowImageMeta = {
1771
1654
  type: "choice",
1772
1655
  displayName: "Field",
1773
1656
  description: "Field (from model schema) to use.",
1774
- options: function options(_ref12, ctx) {
1775
- var _ctx$table3;
1776
- var table = _ref12.table;
1777
- return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table3 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table3 : table, ["image"]);
1657
+ options: function options(_ref14, ctx) {
1658
+ var _ctx$table5;
1659
+ var table = _ref14.table;
1660
+ return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table5 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table5 : table, ["image"]);
1778
1661
  },
1779
1662
  defaultValueHint: function defaultValueHint(_, ctx) {
1780
- var _ctx$fieldMeta5, _ctx$fieldMeta6;
1781
- return (ctx == null || (_ctx$fieldMeta5 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta5.name) || (ctx == null || (_ctx$fieldMeta6 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta6.identifier);
1663
+ var _ctx$fieldMeta7, _ctx$fieldMeta8;
1664
+ return (ctx == null || (_ctx$fieldMeta7 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta7.name) || (ctx == null || (_ctx$fieldMeta8 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta8.identifier);
1782
1665
  }
1783
1666
  },
1784
1667
  srcProp: {
@@ -1789,13 +1672,13 @@ var cmsRowImageMeta = {
1789
1672
  }
1790
1673
  }
1791
1674
  };
1792
- function CmsRowImage(_ref13) {
1793
- var _res$row$data2;
1794
- var table = _ref13.table,
1795
- field = _ref13.field,
1796
- srcProp = _ref13.srcProp,
1797
- children = _ref13.children,
1798
- setControlContextData = _ref13.setControlContextData;
1675
+ function CmsRowImage(_ref15) {
1676
+ var _res$row$data3;
1677
+ var table = _ref15.table,
1678
+ field = _ref15.field,
1679
+ srcProp = _ref15.srcProp,
1680
+ children = _ref15.children,
1681
+ setControlContextData = _ref15.setControlContextData;
1799
1682
  var tables = useTablesWithDataLoaded("rows");
1800
1683
  var res = useRow(tables, table);
1801
1684
  if (!res || !res.row) {
@@ -1819,7 +1702,7 @@ function CmsRowImage(_ref13) {
1819
1702
  if (!fieldMeta) {
1820
1703
  return React.createElement(React.Fragment, null, children);
1821
1704
  }
1822
- var value = ((_res$row$data2 = res.row.data) == null ? void 0 : _res$row$data2[fieldMeta.identifier]) || "";
1705
+ var value = ((_res$row$data3 = res.row.data) == null ? void 0 : _res$row$data3[fieldMeta.identifier]) || "";
1823
1706
  var childrenWithProps = React.Children.map(children, function (child) {
1824
1707
  if (React.isValidElement(child) && value) {
1825
1708
  var _React$cloneElement3;
@@ -1866,14 +1749,14 @@ var cmsRowFieldValueMeta = {
1866
1749
  type: "choice",
1867
1750
  displayName: "Field",
1868
1751
  description: "Field (from model schema) to use.",
1869
- options: function options(_ref14, ctx) {
1870
- var _ctx$table4;
1871
- var table = _ref14.table;
1872
- return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table4 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table4 : table);
1752
+ options: function options(_ref16, ctx) {
1753
+ var _ctx$table6;
1754
+ var table = _ref16.table;
1755
+ return mkFieldOptions(ctx == null ? void 0 : ctx.tables, (_ctx$table6 = ctx == null ? void 0 : ctx.table) != null ? _ctx$table6 : table);
1873
1756
  },
1874
1757
  defaultValueHint: function defaultValueHint(_, ctx) {
1875
- var _ctx$fieldMeta7, _ctx$fieldMeta8;
1876
- return (ctx == null || (_ctx$fieldMeta7 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta7.name) || (ctx == null || (_ctx$fieldMeta8 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta8.identifier);
1758
+ var _ctx$fieldMeta9, _ctx$fieldMeta10;
1759
+ return (ctx == null || (_ctx$fieldMeta9 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta9.name) || (ctx == null || (_ctx$fieldMeta10 = ctx.fieldMeta) == null ? void 0 : _ctx$fieldMeta10.identifier);
1877
1760
  }
1878
1761
  },
1879
1762
  valueProp: {
@@ -1884,14 +1767,14 @@ var cmsRowFieldValueMeta = {
1884
1767
  }
1885
1768
  }
1886
1769
  };
1887
- function CmsRowFieldValue(_ref15) {
1888
- var _res$row$data3;
1889
- var table = _ref15.table,
1890
- field = _ref15.field,
1891
- valueProp = _ref15.valueProp,
1892
- children = _ref15.children,
1893
- setControlContextData = _ref15.setControlContextData,
1894
- rest = _objectWithoutPropertiesLoose(_ref15, _excluded3);
1770
+ function CmsRowFieldValue(_ref17) {
1771
+ var _res$row$data4;
1772
+ var table = _ref17.table,
1773
+ field = _ref17.field,
1774
+ valueProp = _ref17.valueProp,
1775
+ children = _ref17.children,
1776
+ setControlContextData = _ref17.setControlContextData,
1777
+ rest = _objectWithoutPropertiesLoose(_ref17, _excluded3);
1895
1778
  var tables = useTablesWithDataLoaded("rows");
1896
1779
  var res = useRow(tables, table);
1897
1780
  if (!res || !res.row) {
@@ -1915,7 +1798,7 @@ function CmsRowFieldValue(_ref15) {
1915
1798
  if (!fieldMeta) {
1916
1799
  return React.createElement(React.Fragment, null, children);
1917
1800
  }
1918
- var value = ((_res$row$data3 = res.row.data) == null ? void 0 : _res$row$data3[fieldMeta.identifier]) || "";
1801
+ var value = ((_res$row$data4 = res.row.data) == null ? void 0 : _res$row$data4[fieldMeta.identifier]) || "";
1919
1802
  var childrenWithProps = React.Children.map(children, function (child) {
1920
1803
  if (React.isValidElement(child)) {
1921
1804
  var _extends2;