@makeswift/runtime 0.10.12 → 0.10.14

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.
Files changed (101) hide show
  1. package/dist/Box.cjs.js +2 -2
  2. package/dist/Box.es.js +3 -3
  3. package/dist/Button.cjs.js +2 -2
  4. package/dist/Button.es.js +3 -3
  5. package/dist/Carousel.cjs.js +2 -2
  6. package/dist/Carousel.es.js +3 -3
  7. package/dist/Countdown.cjs.js +1 -1
  8. package/dist/Countdown.es.js +2 -2
  9. package/dist/Divider.cjs.js +2 -2
  10. package/dist/Divider.es.js +3 -3
  11. package/dist/Embed.es.js +1 -1
  12. package/dist/Form.cjs.js +1 -1
  13. package/dist/Form.es.js +2 -2
  14. package/dist/Image.cjs.js +1 -1
  15. package/dist/Image.es.js +2 -2
  16. package/dist/LiveProvider.cjs.js +2 -2
  17. package/dist/LiveProvider.es.js +3 -3
  18. package/dist/Navigation.cjs.js +2 -2
  19. package/dist/Navigation.es.js +3 -3
  20. package/dist/PreviewProvider.cjs.js +2 -2
  21. package/dist/PreviewProvider.es.js +3 -3
  22. package/dist/ReadOnlyText.cjs.js +1 -1
  23. package/dist/ReadOnlyText.es.js +2 -2
  24. package/dist/ReadOnlyTextV2.cjs.js +1 -1
  25. package/dist/ReadOnlyTextV2.es.js +2 -2
  26. package/dist/Root.cjs.js +1 -1
  27. package/dist/Root.es.js +2 -2
  28. package/dist/SocialLinks.cjs.js +2 -2
  29. package/dist/SocialLinks.es.js +3 -3
  30. package/dist/Video.es.js +1 -1
  31. package/dist/components.cjs.js +1 -1
  32. package/dist/components.es.js +1 -1
  33. package/dist/control-serialization.cjs.js +1 -1
  34. package/dist/control-serialization.es.js +2 -2
  35. package/dist/controls.cjs.js +13 -10
  36. package/dist/controls.cjs.js.map +1 -1
  37. package/dist/controls.es.js +2 -2
  38. package/dist/index.cjs.js +30 -11
  39. package/dist/index.cjs.js.map +1 -1
  40. package/dist/index.cjs2.js +37 -6
  41. package/dist/index.cjs2.js.map +1 -1
  42. package/dist/index.cjs8.js +1 -1
  43. package/dist/index.cjs9.js +1 -1
  44. package/dist/index.es.js +23 -4
  45. package/dist/index.es.js.map +1 -1
  46. package/dist/index.es2.js +38 -7
  47. package/dist/index.es2.js.map +1 -1
  48. package/dist/index.es4.js +1 -1
  49. package/dist/index.es5.js +1 -1
  50. package/dist/index.es6.js +1 -1
  51. package/dist/index.es8.js +2 -2
  52. package/dist/index.es9.js +2 -2
  53. package/dist/next.cjs.js +1 -1
  54. package/dist/next.es.js +1 -1
  55. package/dist/number.cjs.js +14 -0
  56. package/dist/number.cjs.js.map +1 -0
  57. package/dist/number.es.js +10 -0
  58. package/dist/number.es.js.map +1 -0
  59. package/dist/prop-controllers.cjs.js +2 -0
  60. package/dist/prop-controllers.cjs.js.map +1 -1
  61. package/dist/prop-controllers.es.js +1 -1
  62. package/dist/react-page.cjs.js +139 -53
  63. package/dist/react-page.cjs.js.map +1 -1
  64. package/dist/react-page.es.js +127 -51
  65. package/dist/react-page.es.js.map +1 -1
  66. package/dist/react.cjs.js +1 -1
  67. package/dist/react.es.js +1 -1
  68. package/dist/slate.cjs.js +1 -1
  69. package/dist/slate.es.js +2 -2
  70. package/dist/toText.es.js +1 -1
  71. package/dist/types/src/components/hooks/useBackgrounds.d.ts.map +1 -1
  72. package/dist/types/src/controls/control.d.ts +1 -0
  73. package/dist/types/src/controls/control.d.ts.map +1 -1
  74. package/dist/types/src/controls/list.d.ts +3 -0
  75. package/dist/types/src/controls/list.d.ts.map +1 -1
  76. package/dist/types/src/controls/shape.d.ts +3 -0
  77. package/dist/types/src/controls/shape.d.ts.map +1 -1
  78. package/dist/types/src/next/api-handler/handlers/translatable-data.d.ts +13 -0
  79. package/dist/types/src/next/api-handler/handlers/translatable-data.d.ts.map +1 -0
  80. package/dist/types/src/next/api-handler/index.d.ts +2 -1
  81. package/dist/types/src/next/api-handler/index.d.ts.map +1 -1
  82. package/dist/types/src/next/client.d.ts +2 -1
  83. package/dist/types/src/next/client.d.ts.map +1 -1
  84. package/dist/types/src/prop-controllers/copy/backgrounds.d.ts +2 -2
  85. package/dist/types/src/prop-controllers/copy/backgrounds.d.ts.map +1 -1
  86. package/dist/types/src/prop-controllers/copy/images.d.ts +2 -2
  87. package/dist/types/src/prop-controllers/copy/images.d.ts.map +1 -1
  88. package/dist/types/src/prop-controllers/descriptors.d.ts +38 -9
  89. package/dist/types/src/prop-controllers/descriptors.d.ts.map +1 -1
  90. package/dist/types/src/prop-controllers/index.d.ts +3 -1
  91. package/dist/types/src/prop-controllers/index.d.ts.map +1 -1
  92. package/dist/types/src/prop-controllers/introspection.d.ts.map +1 -1
  93. package/dist/types/src/runtimes/react/index.d.ts +2 -0
  94. package/dist/types/src/runtimes/react/index.d.ts.map +1 -1
  95. package/dist/types/src/state/react-page.d.ts +1 -0
  96. package/dist/types/src/state/react-page.d.ts.map +1 -1
  97. package/package.json +1 -1
  98. package/dist/text-input.cjs.js +0 -26
  99. package/dist/text-input.cjs.js.map +0 -1
  100. package/dist/text-input.es.js +0 -18
  101. package/dist/text-input.es.js.map +0 -1
@@ -573,7 +573,7 @@ const Types = {
573
573
  Style: StyleControlType
574
574
  };
575
575
  function Backgrounds(options = {}) {
576
- return { type: Types.Backgrounds, options };
576
+ return { type: Types.Backgrounds, version: 1, options };
577
577
  }
578
578
  const BorderPropControllerFormat = {
579
579
  ClassName: "makeswift::prop-controllers::border::format::class-name",
@@ -616,7 +616,7 @@ function Image$1(options = {}) {
616
616
  return { type: Types.Image, version: 1, options };
617
617
  }
618
618
  function Images(options = {}) {
619
- return { type: Types.Images, options };
619
+ return { type: Types.Images, version: 1, options };
620
620
  }
621
621
  function Link$1(options = {}) {
622
622
  return { type: Types.Link, options };
@@ -730,10 +730,10 @@ function TableFormFields(options = {}) {
730
730
  function Typeahead(options) {
731
731
  return { type: Types.Typeahead, options };
732
732
  }
733
- function TextArea(options = {}) {
733
+ function TextArea$1(options = {}) {
734
734
  return { type: Types.TextArea, options };
735
735
  }
736
- function TextInput(options = {}) {
736
+ function TextInput$1(options = {}) {
737
737
  return { type: Types.TextInput, options };
738
738
  }
739
739
  function TextStyle(options = {}) {
@@ -801,8 +801,8 @@ var descriptors = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePro
801
801
  Table,
802
802
  TableFormFields,
803
803
  Typeahead,
804
- TextArea,
805
- TextInput,
804
+ TextArea: TextArea$1,
805
+ TextInput: TextInput$1,
806
806
  TextStyle,
807
807
  Video,
808
808
  WidthPropControllerFormat,
@@ -1094,6 +1094,9 @@ function getListTypographyIds(definition2, value) {
1094
1094
  function getListPageIds(definition2, value) {
1095
1095
  return introspectListData(definition2, value, getPageIds);
1096
1096
  }
1097
+ function getListTranslatableData(definition2, data) {
1098
+ return Object.fromEntries(data.map((item) => [item.id, getTranslatableData(definition2.config.type, item.value)]));
1099
+ }
1097
1100
  const ShapeControlType = "makeswift::controls::shape";
1098
1101
  function Shape(config) {
1099
1102
  return { type: ShapeControlType, config };
@@ -1167,6 +1170,20 @@ function getShapePageIds(definition2, data) {
1167
1170
  function getShapeFileIds(definition2, data) {
1168
1171
  return introspectShapeData(definition2, data, getFileIds);
1169
1172
  }
1173
+ function getShapeTranslatableData(definition2, data) {
1174
+ return Object.fromEntries(Object.entries(definition2.config.type).map(([key, definition22]) => [
1175
+ key,
1176
+ getTranslatableData(definition22, data[key])
1177
+ ]));
1178
+ }
1179
+ const TextAreaControlType = "makeswift::controls::text-area";
1180
+ function TextArea(config = {}) {
1181
+ return { type: TextAreaControlType, config };
1182
+ }
1183
+ const TextInputControlType = "makeswift::controls::text-input";
1184
+ function TextInput(config = {}) {
1185
+ return { type: TextInputControlType, config };
1186
+ }
1170
1187
  const SlotControlType = "makeswift::controls::slot";
1171
1188
  function Slot() {
1172
1189
  return { type: SlotControlType };
@@ -1211,41 +1228,51 @@ function mergeSlotData(base = { columns: [], elements: [] }, override = { column
1211
1228
  });
1212
1229
  return { columns: mergedColumns, elements: mergedElements };
1213
1230
  }
1214
- function copy$e(value, context) {
1231
+ function copy$e(descriptor, value, context) {
1215
1232
  if (value == null)
1216
1233
  return value;
1217
1234
  return value.map((override) => __spreadProps(__spreadValues({}, override), {
1218
1235
  value: override.value.map((backgroundItem) => {
1219
- var _a, _b;
1220
- switch (backgroundItem.type) {
1221
- case "color":
1222
- return __spreadProps(__spreadValues({}, backgroundItem), {
1223
- payload: backgroundItem.payload === null ? null : __spreadProps(__spreadValues({}, backgroundItem.payload), {
1224
- swatchId: (_a = context.replacementContext.swatchIds.get(backgroundItem.payload.swatchId)) != null ? _a : backgroundItem.payload.swatchId
1225
- })
1226
- });
1227
- case "gradient":
1228
- return __spreadProps(__spreadValues({}, backgroundItem), {
1229
- payload: __spreadProps(__spreadValues({}, backgroundItem.payload), {
1230
- stops: backgroundItem.payload.stops.map((stop) => {
1231
- var _a2;
1232
- return __spreadProps(__spreadValues({}, stop), {
1233
- color: stop.color == null ? null : __spreadProps(__spreadValues({}, stop.color), {
1234
- swatchId: (_a2 = context.replacementContext.swatchIds.get(stop.color.swatchId)) != null ? _a2 : stop.color.swatchId
1235
- })
1236
- });
1237
- })
1236
+ return tsPattern.match([descriptor, backgroundItem]).with([tsPattern.P.any, { type: "color" }], ([, item]) => {
1237
+ var _a;
1238
+ return __spreadProps(__spreadValues({}, item), {
1239
+ payload: item.payload === null ? null : __spreadProps(__spreadValues({}, item.payload), {
1240
+ swatchId: (_a = context.replacementContext.swatchIds.get(item.payload.swatchId)) != null ? _a : item.payload.swatchId
1241
+ })
1242
+ });
1243
+ }).with([tsPattern.P.any, { type: "gradient" }], ([, item]) => {
1244
+ return __spreadProps(__spreadValues({}, item), {
1245
+ payload: __spreadProps(__spreadValues({}, item.payload), {
1246
+ stops: item.payload.stops.map((stop) => {
1247
+ var _a;
1248
+ return __spreadProps(__spreadValues({}, stop), {
1249
+ color: stop.color == null ? null : __spreadProps(__spreadValues({}, stop.color), {
1250
+ swatchId: (_a = context.replacementContext.swatchIds.get(stop.color.swatchId)) != null ? _a : stop.color.swatchId
1251
+ })
1252
+ });
1238
1253
  })
1239
- });
1240
- case "image":
1241
- return __spreadProps(__spreadValues({}, backgroundItem), {
1242
- payload: __spreadProps(__spreadValues({}, backgroundItem.payload), {
1243
- imageId: (_b = context.replacementContext.fileIds.get(backgroundItem.payload.imageId)) != null ? _b : backgroundItem.payload.imageId
1254
+ })
1255
+ });
1256
+ }).with([
1257
+ { version: 1 },
1258
+ { type: "image-v1", version: 1, payload: { image: { type: "makeswift-file" } } }
1259
+ ], ([, item]) => {
1260
+ var _a;
1261
+ return __spreadProps(__spreadValues({}, item), {
1262
+ payload: __spreadProps(__spreadValues({}, item.payload), {
1263
+ image: __spreadProps(__spreadValues({}, item.payload.image), {
1264
+ id: (_a = context.replacementContext.fileIds.get(item.payload.image.id)) != null ? _a : item.payload.image.id
1244
1265
  })
1245
- });
1246
- default:
1247
- return backgroundItem;
1248
- }
1266
+ })
1267
+ });
1268
+ }).with([tsPattern.P.any, { type: "image", payload: { imageId: tsPattern.P.string } }], ([, item]) => {
1269
+ var _a;
1270
+ return __spreadProps(__spreadValues({}, item), {
1271
+ payload: __spreadProps(__spreadValues({}, item.payload), {
1272
+ imageId: (_a = context.replacementContext.fileIds.get(item.payload.imageId)) != null ? _a : item.payload.imageId
1273
+ })
1274
+ });
1275
+ }).otherwise(() => backgroundItem);
1249
1276
  })
1250
1277
  }));
1251
1278
  }
@@ -1455,18 +1482,23 @@ if (void 0) {
1455
1482
  });
1456
1483
  });
1457
1484
  }
1458
- function copy$8(value, context) {
1485
+ function copy$8(descriptor, value, context) {
1459
1486
  if (value == null)
1460
1487
  return value;
1461
1488
  return value.map(copyImagesPanelItem);
1462
1489
  function copyImagesPanelItem(imagesPanelItem) {
1463
- var _a;
1464
1490
  const { file } = imagesPanelItem.props;
1465
1491
  if (file == null)
1466
1492
  return imagesPanelItem;
1467
1493
  return __spreadProps(__spreadValues({}, imagesPanelItem), {
1468
1494
  props: __spreadProps(__spreadValues({}, imagesPanelItem.props), {
1469
- file: (_a = context.replacementContext.fileIds.get(file)) != null ? _a : file
1495
+ file: tsPattern.match([descriptor, file]).with([tsPattern.P.any, tsPattern.P.string], ([, f]) => {
1496
+ var _a;
1497
+ return (_a = context.replacementContext.fileIds.get(f)) != null ? _a : f;
1498
+ }).with([{ version: 1 }, { type: "makeswift-file", version: 1 }], ([, f]) => {
1499
+ var _a;
1500
+ return (_a = context.replacementContext.fileIds.get(f.id)) != null ? _a : f.id;
1501
+ }).otherwise(([, f]) => f)
1470
1502
  })
1471
1503
  });
1472
1504
  }
@@ -1502,9 +1534,8 @@ if (void 0) {
1502
1534
  globalElementIds: /* @__PURE__ */ new Map(),
1503
1535
  globalElementData: /* @__PURE__ */ new Map()
1504
1536
  };
1505
- const result = copy$8(data, {
1506
- replacementContext,
1507
- copyElement: (node) => node
1537
+ const result = copy$8({ type: "Images", options: {} }, data, {
1538
+ replacementContext
1508
1539
  });
1509
1540
  expect(result).toMatchObject(expected);
1510
1541
  });
@@ -1933,7 +1964,7 @@ function copy$2(value, context) {
1933
1964
  function copy$1(descriptor, value, context) {
1934
1965
  switch (descriptor.type) {
1935
1966
  case "Backgrounds":
1936
- return copy$e(value, context);
1967
+ return copy$e(descriptor, value, context);
1937
1968
  case "Grid":
1938
1969
  return copy$d(value, context);
1939
1970
  case "NavigationLinks":
@@ -1945,7 +1976,7 @@ function copy$1(descriptor, value, context) {
1945
1976
  case "Image":
1946
1977
  return copy$9(descriptor, value, context);
1947
1978
  case "Images":
1948
- return copy$8(value, context);
1979
+ return copy$8(descriptor, value, context);
1949
1980
  case "ResponsiveColor":
1950
1981
  return copy$7(value, context);
1951
1982
  case "TableFormFields":
@@ -3996,6 +4027,21 @@ function merge(definition2, a, b = a, context) {
3996
4027
  return b;
3997
4028
  }
3998
4029
  }
4030
+ function getTranslatableData(definition2, data) {
4031
+ switch (definition2.type) {
4032
+ case Types.TextInput:
4033
+ case Types.TextArea:
4034
+ case TextInputControlType:
4035
+ case TextAreaControlType:
4036
+ return data;
4037
+ case ListControlType:
4038
+ return getListTranslatableData(definition2, data);
4039
+ case ShapeControlType:
4040
+ return getShapeTranslatableData(definition2, data);
4041
+ default:
4042
+ return null;
4043
+ }
4044
+ }
3999
4045
  const StyleV2ControlType = "makeswift::controls::style-v2";
4000
4046
  const unstable_useStyleV2ClassName = useStyle;
4001
4047
  function unstable_StyleV2(config) {
@@ -4314,12 +4360,9 @@ function getSwatchIds(descriptor, prop) {
4314
4360
  function getBackgroundsFileIds(value) {
4315
4361
  var _a;
4316
4362
  return (_a = value == null ? void 0 : value.flatMap((override) => override.value).flatMap((backgroundItem) => {
4317
- switch (backgroundItem.type) {
4318
- case "image":
4319
- return [backgroundItem.payload.imageId];
4320
- default:
4321
- return [];
4322
- }
4363
+ return tsPattern.match(backgroundItem).with({ type: "image-v1", payload: { image: { type: "makeswift-file" } } }, (item) => [
4364
+ item.payload.image.id
4365
+ ]).with({ type: "image", payload: { imageId: tsPattern.P.string } }, (item) => [item.payload.imageId]).otherwise(() => []);
4323
4366
  })) != null ? _a : [];
4324
4367
  }
4325
4368
  function getFileIds(descriptor, prop) {
@@ -4334,7 +4377,7 @@ function getFileIds(descriptor, prop) {
4334
4377
  }
4335
4378
  case Types.Images: {
4336
4379
  const value = prop;
4337
- return (_a = value == null ? void 0 : value.flatMap((item) => item.props.file == null ? [] : [item.props.file])) != null ? _a : [];
4380
+ return (_a = value == null ? void 0 : value.flatMap((item) => tsPattern.match(item.props.file).with(tsPattern.P.string, (f) => [f]).with({ type: "makeswift-file", version: 1 }, (f) => [f.id]).with({ type: "external-file", version: 1 }, () => []).with(tsPattern.P.nullish, () => []).otherwise(() => []))) != null ? _a : [];
4338
4381
  }
4339
4382
  case ImageControlType: {
4340
4383
  const value = prop;
@@ -4642,6 +4685,39 @@ function copyElementTree(state, elementTree, replacementContext) {
4642
4685
  const copy$12 = JSON.parse(JSON.stringify(elementTree));
4643
4686
  return copyElementTreeNode(state, createReplacementContext(replacementContext))(copy$12);
4644
4687
  }
4688
+ function* traverseElementTree(state, elementTree) {
4689
+ yield elementTree;
4690
+ if (isElementReference(elementTree))
4691
+ return;
4692
+ const descriptors2 = getComponentPropControllerDescriptors(state, elementTree.type);
4693
+ if (descriptors2 == null)
4694
+ return;
4695
+ for (const [propKey, descriptor] of Object.entries(descriptors2)) {
4696
+ const children = getElementChildren(descriptor, elementTree.props[propKey]);
4697
+ for (const child of children) {
4698
+ if (!isElementReference(child))
4699
+ yield* traverseElementTree(state, child);
4700
+ yield child;
4701
+ }
4702
+ }
4703
+ }
4704
+ function getElementTreeTranslatableData(state, elementTree) {
4705
+ const translatableData = {};
4706
+ for (const element of traverseElementTree(state, elementTree)) {
4707
+ if (isElementReference(element))
4708
+ continue;
4709
+ const descriptors2 = getComponentPropControllerDescriptors(state, element.type);
4710
+ if (descriptors2 == null)
4711
+ continue;
4712
+ Object.entries(descriptors2).forEach(([propName, descriptor]) => {
4713
+ const translatablePropData = getTranslatableData(descriptor, element.props[propName]);
4714
+ if (translatablePropData != null) {
4715
+ translatableData[`${element.key}:${propName}`] = translatablePropData;
4716
+ }
4717
+ });
4718
+ }
4719
+ return translatableData;
4720
+ }
4645
4721
  function getIsInBuilder(state) {
4646
4722
  return state.isInBuilder;
4647
4723
  }
@@ -4759,8 +4835,12 @@ exports.Table = Table;
4759
4835
  exports.TableFormFields = TableFormFields;
4760
4836
  exports.TableFormFieldsMessageType = TableFormFieldsMessageType;
4761
4837
  exports.TextAlignPlugin = TextAlignPlugin;
4762
- exports.TextArea = TextArea;
4763
- exports.TextInput = TextInput;
4838
+ exports.TextArea = TextArea$1;
4839
+ exports.TextArea$1 = TextArea;
4840
+ exports.TextAreaControlType = TextAreaControlType;
4841
+ exports.TextInput = TextInput$1;
4842
+ exports.TextInput$1 = TextInput;
4843
+ exports.TextInputControlType = TextInputControlType;
4764
4844
  exports.TextStyle = TextStyle;
4765
4845
  exports.Types = Types;
4766
4846
  exports.TypographyActions = TypographyActions;
@@ -4771,7 +4851,9 @@ exports.Width = Width;
4771
4851
  exports.WidthPropControllerFormat = WidthPropControllerFormat;
4772
4852
  exports.configureStore = configureStore;
4773
4853
  exports.copy = copy$9;
4774
- exports.copy$1 = copy;
4854
+ exports.copy$1 = copy$8;
4855
+ exports.copy$2 = copy$e;
4856
+ exports.copy$3 = copy;
4775
4857
  exports.copyColorData = copyColorData;
4776
4858
  exports.copyElementTree = copyElementTree;
4777
4859
  exports.copyImageData = copyImageData;
@@ -4804,6 +4886,7 @@ exports.getElement = getElement;
4804
4886
  exports.getElementChildren = getElementChildren;
4805
4887
  exports.getElementId = getElementId;
4806
4888
  exports.getElementPropControllerDescriptors = getElementPropControllerDescriptors;
4889
+ exports.getElementTreeTranslatableData = getElementTreeTranslatableData;
4807
4890
  exports.getFileIds = getFileIds;
4808
4891
  exports.getInitialState = getInitialState$7;
4809
4892
  exports.getInitialState$1 = getInitialState$2;
@@ -4813,6 +4896,7 @@ exports.getListElementChildren = getListElementChildren;
4813
4896
  exports.getListFileIds = getListFileIds;
4814
4897
  exports.getListPageIds = getListPageIds;
4815
4898
  exports.getListSwatchIds = getListSwatchIds;
4899
+ exports.getListTranslatableData = getListTranslatableData;
4816
4900
  exports.getListTypographyIds = getListTypographyIds;
4817
4901
  exports.getLocales = getLocales;
4818
4902
  exports.getPageIds = getPageIds;
@@ -4826,9 +4910,11 @@ exports.getShapeElementChildren = getShapeElementChildren;
4826
4910
  exports.getShapeFileIds = getShapeFileIds;
4827
4911
  exports.getShapePageIds = getShapePageIds;
4828
4912
  exports.getShapeSwatchIds = getShapeSwatchIds;
4913
+ exports.getShapeTranslatableData = getShapeTranslatableData;
4829
4914
  exports.getShapeTypographyIds = getShapeTypographyIds;
4830
4915
  exports.getSwatchIds = getSwatchIds;
4831
4916
  exports.getTableIds = getTableIds;
4917
+ exports.getTranslatableData = getTranslatableData;
4832
4918
  exports.getTypographyIds = getTypographyIds;
4833
4919
  exports.getTypographySwatchIds = getTypographySwatchIds;
4834
4920
  exports.getTypographyTypographyIds = getTypographyTypographyIds;