@sveltia/cms 0.87.3 → 0.87.4

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/types/public.d.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  /**
2
- * Standard IETF locale tag like `en` or `en-US`.
2
+ * Standard [IETF locale tag](https://en.wikipedia.org/wiki/IETF_language_tag) like `en` or `en-US`.
3
3
  */
4
4
  export type LocaleCode = string;
5
5
  /**
6
6
  * An entry field name. It can be written in dot notation like `author.name` if the field is nested
7
- * with an Object field. For a List subfield, a wildcard can be used like `authors.*.name`. We
8
- * call this a key path, which is derived from the IndexedDB API terminology, and use it everywhere,
9
- * as entry data is managed as a flatten object for easier access.
7
+ * with an Object field. For a List subfield, a wildcard can be used like `authors.*.name`. We call
8
+ * this a key path, which is derived from the [IndexedDB API
9
+ * terminology](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Basic_Terminology#key_path),
10
+ * and use it everywhere, as entry data is managed as a [flatten
11
+ * object](https://www.npmjs.com/package/flat) for easier access.
10
12
  */
11
13
  export type FieldKeyPath = string;
12
14
  /**
@@ -28,7 +30,8 @@ export type VectorImageFormat = "svg";
28
30
  */
29
31
  export type RasterImageConversionFormat = "webp";
30
32
  /**
31
- * Raster image transformation options.
33
+ * Raster image transformation options. See our
34
+ * [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details.
32
35
  */
33
36
  export type RasterImageTransformationOptions = {
34
37
  /**
@@ -122,7 +125,8 @@ export type DefaultMediaLibraryConfig = {
122
125
  /**
123
126
  * File transformation option map. The key is an
124
127
  * original format like `png` or `jpeg`. It can also be `raster_image` that matches any supported
125
- * raster image format.
128
+ * raster image format. See our
129
+ * [README](https://github.com/sveltia/sveltia-cms#optimizing-images-for-upload) for details.
126
130
  */
127
131
  transformations?: FileTransformations;
128
132
  };
@@ -136,7 +140,7 @@ export type DefaultMediaLibrary = {
136
140
  config?: DefaultMediaLibraryConfig;
137
141
  };
138
142
  /**
139
- * Options for the Cloudinary media library.
143
+ * Options for the [Cloudinary media library](https://decapcms.org/docs/cloudinary/).
140
144
  */
141
145
  export type CloudinaryMediaLibrary = {
142
146
  /**
@@ -156,13 +160,14 @@ export type CloudinaryMediaLibrary = {
156
160
  /**
157
161
  * Options to be passed to Cloudinary, such as `multiple`.
158
162
  * The `cloud_name` and `api_key` options are required for the global `media_library` option. See
159
- * https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options for a
160
- * full list of available options.
163
+ * the [Cloudinary
164
+ * documentation](https://cloudinary.com/documentation/media_library_widget#2_set_the_configuration_options)
165
+ * for a full list of available options.
161
166
  */
162
167
  config?: Record<string, any>;
163
168
  };
164
169
  /**
165
- * Settings for the Uploadcare media library.
170
+ * Settings for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/).
166
171
  */
167
172
  export type UploadcareMediaLibrarySettings = {
168
173
  /**
@@ -177,13 +182,14 @@ export type UploadcareMediaLibrarySettings = {
177
182
  defaultOperations?: string;
178
183
  };
179
184
  /**
180
- * Options for the Uploadcare media library.
185
+ * Options for the [Uploadcare media library](https://decapcms.org/docs/uploadcare/).
181
186
  */
182
187
  export type UploadcareMediaLibrary = {
183
188
  /**
184
189
  * Options to be passed to Uploadcare, such as `multiple`.
185
- * The `publicKey` option is required for the global `media_library` option. See
186
- * https://uploadcare.com/docs/uploads/file-uploader-options/ for a full list of available options.
190
+ * The `publicKey` option is required for the global `media_library` option. See the [Uploadcare
191
+ * documentation](https://uploadcare.com/docs/uploads/file-uploader-options/) for a full list of
192
+ * available options.
187
193
  */
188
194
  config?: Record<string, any>;
189
195
  /**
@@ -207,11 +213,13 @@ export type StockAssetMediaLibrary = {
207
213
  providers?: StockAssetProviderName[];
208
214
  };
209
215
  /**
210
- * Supported media library.
216
+ * Supported [media library](https://decapcms.org/docs/configuration-options/#media-library).
211
217
  */
212
218
  export type MediaLibrary = DefaultMediaLibrary | CloudinaryMediaLibrary | UploadcareMediaLibrary | StockAssetMediaLibrary;
213
219
  /**
214
- * Unified media library option that supports multiple libraries.
220
+ * Unified media library option that supports multiple libraries. See our
221
+ * [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for
222
+ * details.
215
223
  */
216
224
  export type MediaLibraries = {
217
225
  /**
@@ -314,8 +322,9 @@ export type MediaFieldProps = {
314
322
  default?: string;
315
323
  /**
316
324
  * File types that the field should accept. The value would be a
317
- * comma-separated list of unique file type specifiers, the format used for the HTML `accept`
318
- * attribute: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept.
325
+ * comma-separated list of unique file type specifiers, the format used for the HTML
326
+ * [`accept`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/accept)
327
+ * attribute.
319
328
  */
320
329
  accept?: string;
321
330
  /**
@@ -408,8 +417,8 @@ export type VariableFieldType = {
408
417
  */
409
418
  summary?: string;
410
419
  /**
411
- * Set of subfields. This option can be omitted; in that case, only
412
- * the `type` property will be saved.
420
+ * Set of subfields. This option can be omitted; in that case, only the
421
+ * `type` property will be saved.
413
422
  */
414
423
  fields?: Field[];
415
424
  };
@@ -488,9 +497,9 @@ export type CodeFieldProps = {
488
497
  */
489
498
  default?: string | Record<string, string>;
490
499
  /**
491
- * Default language to be selected, like `js`. See
492
- * https://prismjs.com/#supported-languages for a list of supported languages. Default: empty
493
- * string, which is plaintext.
500
+ * Default language to be selected, like `js`. See the [Prism
501
+ * documentation](https://prismjs.com/#supported-languages) for a list of supported languages.
502
+ * Default: empty string, which is plaintext.
494
503
  */
495
504
  default_language?: string;
496
505
  /**
@@ -573,20 +582,22 @@ export type DateTimeFieldProps = {
573
582
  */
574
583
  default?: string;
575
584
  /**
576
- * Storage format written in Moment.js tokens. See
577
- * https://momentjs.com/docs/#/displaying/format/ for supported tokens. Default: ISO 8601 format.
585
+ * Storage format written in [Moment.js
586
+ * tokens](https://momentjs.com/docs/#/displaying/format/). Default: ISO 8601 format.
578
587
  */
579
588
  format?: string;
580
589
  /**
581
- * Date storage format written in Moment.js tokens if the
582
- * value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used
583
- * unless the `format` option is defined. If `false`, date input/output is disabled.
590
+ * Date storage format written in [Moment.js
591
+ * tokens](https://momentjs.com/docs/#/displaying/format/) if the value is a string and the `format`
592
+ * option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined.
593
+ * If `false`, date input/output is disabled.
584
594
  */
585
595
  date_format?: string | boolean;
586
596
  /**
587
- * Time storage format written in Moment.js tokens if the
588
- * value is a string and the `format` option is not defined. If `true`, ISO 8601 format is used
589
- * unless the `format` option is defined. If `false`, time input/output is disabled.
597
+ * Time storage format written in [Moment.js
598
+ * tokens](https://momentjs.com/docs/#/displaying/format/) if the value is a string and the `format`
599
+ * option is not defined. If `true`, ISO 8601 format is used unless the `format` option is defined.
600
+ * If `false`, time input/output is disabled.
590
601
  */
591
602
  time_format?: string | boolean;
592
603
  /**
@@ -643,7 +654,7 @@ export type ImageFieldProps = {
643
654
  */
644
655
  export type ImageField = CommonFieldProps & StandardFieldProps & MediaFieldProps & ImageFieldProps;
645
656
  /**
646
- * KeyValue field properties.
657
+ * KeyValue field properties compatible with Static CMS.
647
658
  */
648
659
  export type KeyValueFieldProps = {
649
660
  /**
@@ -722,8 +733,9 @@ export type ListFieldProps = {
722
733
  /**
723
734
  * Whether to save the field value at the top-level of the data file
724
735
  * without the field name. If the `single_file` i18n structure is enabled, the lists will still be
725
- * saved under locale keys. Default: `false`. See
726
- * https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list for details.
736
+ * saved under locale keys. Default: `false`. See our
737
+ * [README](https://github.com/sveltia/sveltia-cms#editing-data-files-with-a-top-level-list) for
738
+ * details.
727
739
  */
728
740
  root?: boolean;
729
741
  };
@@ -740,8 +752,9 @@ export type MapFieldProps = {
740
752
  */
741
753
  widget: "map";
742
754
  /**
743
- * Default value. Accepts a stringified single GeoJSON geometry object
744
- * that contains `type` and `coordinates` properties.
755
+ * Default value. Accepts a stringified single
756
+ * [GeoJSON](https://geojson.org/) geometry object that contains `type` and `coordinates`
757
+ * properties.
745
758
  */
746
759
  default?: string;
747
760
  /**
@@ -1049,6 +1062,11 @@ export type UuidField = CommonFieldProps & StandardFieldProps & UuidFieldProps;
1049
1062
  * Entry field using a built-in widget.
1050
1063
  */
1051
1064
  export type StandardField = BooleanField | CodeField | ColorField | ComputeField | DateTimeField | FileField | HiddenField | ImageField | KeyValueField | ListField | MapField | MarkdownField | NumberField | ObjectField | RelationField | SelectField | StringField | TextField | UuidField;
1065
+ /**
1066
+ * Name of a built-in widget. Sveltia CMS supports all the built-in widgets provided by Decap CMS as
1067
+ * well as some new widgets.
1068
+ */
1069
+ export type BuiltInWidgetName = "boolean" | "code" | "color" | "compute" | "datetime" | "file" | "hidden" | "image" | "keyvalue" | "list" | "map" | "markdown" | "number" | "object" | "relation" | "select" | "string" | "text" | "uuid";
1052
1070
  /**
1053
1071
  * Custom field properties.
1054
1072
  */
@@ -1056,7 +1074,7 @@ export type CustomFieldProps = {
1056
1074
  /**
1057
1075
  * Widget name.
1058
1076
  */
1059
- widget: string;
1077
+ widget: Exclude<string, BuiltInWidgetName>;
1060
1078
  };
1061
1079
  /**
1062
1080
  * Entry field using a custom widget.
@@ -1091,22 +1109,24 @@ export type I18nOptions = {
1091
1109
  /**
1092
1110
  * Locales to be enabled when
1093
1111
  * creating a new entry draft. If this option is used, users will be able to disable the output of
1094
- * non-default locales through the UI. See
1095
- * https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content for details.
1112
+ * non-default locales through the UI. See our
1113
+ * [README](https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content) for
1114
+ * details.
1096
1115
  */
1097
1116
  initial_locales?: LocaleCode[] | "all" | "default";
1098
1117
  /**
1099
1118
  * Whether to save collection entries in all the locales. If
1100
- * `false`, users will be able to disable the output of non-default locales through the UI. See
1101
- * https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content for details.
1119
+ * `false`, users will be able to disable the output of non-default locales through the UI. See our
1120
+ * [README](https://github.com/sveltia/sveltia-cms#disabling-non-default-locale-content) for
1121
+ * details.
1102
1122
  */
1103
1123
  save_all_locales?: boolean;
1104
1124
  /**
1105
1125
  * Property name and value template used
1106
1126
  * to add a canonical slug to entry files, which helps Sveltia CMS and some frameworks to link
1107
1127
  * localized files when entry slugs are localized. The default property name is `translationKey`
1108
- * used in Hugo’s multilingual support, and the default value is the default locale’s slug. See
1109
- * https://github.com/sveltia/sveltia-cms#localizing-entry-slugs for details.
1128
+ * used in Hugo’s multilingual support, and the default value is the default locale’s slug. See our
1129
+ * [README](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) for details.
1110
1130
  */
1111
1131
  canonical_slug?: {
1112
1132
  key: string;
@@ -1116,8 +1136,8 @@ export type I18nOptions = {
1116
1136
  * Whether to exclude the default locale
1117
1137
  * from entry filenames. Default: `false`. This option applies to entry collections with the
1118
1138
  * `multiple_files` i18n structure enabled, as well as to file/singleton collection items with the
1119
- * `file` path ending with `.{{locale}}.<extension>`, aiming to support Zola’s multilingual sites:
1120
- * https://www.getzola.org/documentation/content/multilingual/.
1139
+ * `file` path ending with `.{{locale}}.<extension>`, aiming to support [Zola’s multilingual
1140
+ * sites](https://www.getzola.org/documentation/content/multilingual/).
1121
1141
  */
1122
1142
  omit_default_locale_from_filename?: boolean;
1123
1143
  };
@@ -1134,8 +1154,11 @@ export type CollectionFile = {
1134
1154
  */
1135
1155
  label?: string;
1136
1156
  /**
1137
- * Name of a Material Symbols icon to be displayed in the collection file
1138
- * list and other places.
1157
+ * Name of a [Material Symbols
1158
+ * icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection
1159
+ * file list and other places. See our
1160
+ * [README](https://github.com/sveltia/sveltia-cms#using-a-custom-icon-for-a-collection) for
1161
+ * details.
1139
1162
  */
1140
1163
  icon?: string;
1141
1164
  /**
@@ -1182,7 +1205,7 @@ export type CollectionFile = {
1182
1205
  preview_path_date_field?: FieldKeyPath;
1183
1206
  };
1184
1207
  /**
1185
- * Supported file extension.
1208
+ * Supported file extension. Actually it can be any string.
1186
1209
  */
1187
1210
  export type FileExtension = "yml" | "yaml" | "toml" | "json" | "md" | "markdown" | "html" | string;
1188
1211
  /**
@@ -1235,8 +1258,9 @@ export type SortableFields = {
1235
1258
  */
1236
1259
  fields: FieldKeyPath[];
1237
1260
  /**
1238
- * Default sort settings. See
1239
- * https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction for details.
1261
+ * Default sort settings. See our
1262
+ * [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for
1263
+ * details.
1240
1264
  */
1241
1265
  default?: SortableFieldsDefaultOptions;
1242
1266
  };
@@ -1324,7 +1348,9 @@ export type CollectionMetaData = {
1324
1348
  path?: CollectionMetaDataPath;
1325
1349
  };
1326
1350
  /**
1327
- * Index file inclusion options.
1351
+ * Index file inclusion options. See our
1352
+ * [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection)
1353
+ * for details.
1328
1354
  */
1329
1355
  export type CollectionIndexFile = {
1330
1356
  /**
@@ -1338,7 +1364,8 @@ export type CollectionIndexFile = {
1338
1364
  */
1339
1365
  label?: string;
1340
1366
  /**
1341
- * Name of a Material Symbols icon to be displayed in the editor UI.
1367
+ * Name of a [Material Symbols
1368
+ * icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the editor UI.
1342
1369
  * Default: `home`.
1343
1370
  */
1344
1371
  icon?: string;
@@ -1353,7 +1380,9 @@ export type CollectionIndexFile = {
1353
1380
  editor?: EditorOptions;
1354
1381
  };
1355
1382
  /**
1356
- * A divider in the collection list and singleton list.
1383
+ * A divider in the collection list and singleton list. See our
1384
+ * [README](https://github.com/sveltia/sveltia-cms#adding-dividers-to-the-collection-list) for
1385
+ * details.
1357
1386
  */
1358
1387
  export type CollectionDivider = {
1359
1388
  /**
@@ -1394,7 +1423,9 @@ export type Collection = {
1394
1423
  */
1395
1424
  description?: string;
1396
1425
  /**
1397
- * Name of a Material Symbols icon to be displayed in the collection list.
1426
+ * Name of a [Material Symbols
1427
+ * icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the collection
1428
+ * list.
1398
1429
  */
1399
1430
  icon?: string;
1400
1431
  /**
@@ -1421,7 +1452,11 @@ export type Collection = {
1421
1452
  path?: string;
1422
1453
  /**
1423
1454
  * Internal media folder path for the collection. This overrides
1424
- * the global `media_folder` option.
1455
+ * the global `media_folder` option. It can be a relative path from the project root if it starts
1456
+ * with a slash. Otherwise it’s a path relative to the entry. If this option is omitted, the global
1457
+ * `media_folder` option value is used. See our
1458
+ * [README](https://github.com/sveltia/sveltia-cms#using-a-custom-media-folder-for-a-collection) for
1459
+ * details.
1425
1460
  */
1426
1461
  media_folder?: string;
1427
1462
  /**
@@ -1468,7 +1503,9 @@ export type Collection = {
1468
1503
  frontmatter_delimiter?: string | string[];
1469
1504
  /**
1470
1505
  * Item slug template. Entry collection only. Default: `identifier_field`
1471
- * option value.
1506
+ * option value. It’s possible to [localize the
1507
+ * slug](https://github.com/sveltia/sveltia-cms#localizing-entry-slugs) or [use a random
1508
+ * ID](https://github.com/sveltia/sveltia-cms#using-a-random-id-for-an-entry-slug).
1472
1509
  */
1473
1510
  slug?: string;
1474
1511
  /**
@@ -1484,7 +1521,9 @@ export type Collection = {
1484
1521
  /**
1485
1522
  * Custom sortable fields. Entry
1486
1523
  * collection only. Default: `title`, `name`, `date`, `author` and `description`. For a Git backend,
1487
- * commit author and commit date are also included by default.
1524
+ * commit author and commit date are also included by default. See our
1525
+ * [README](https://github.com/sveltia/sveltia-cms#specifying-default-sort-field-and-direction) for
1526
+ * details.
1488
1527
  */
1489
1528
  sortable_fields?: FieldKeyPath[] | SortableFields;
1490
1529
  /**
@@ -1525,7 +1564,9 @@ export type Collection = {
1525
1564
  /**
1526
1565
  * Index file inclusion options. Entry
1527
1566
  * collection only. If `true`, the default index file name is `_index`, which is used for Hugo’s
1528
- * special index file.
1567
+ * special index file. See our
1568
+ * [README](https://github.com/sveltia/sveltia-cms#including-hugos-special-index-file-in-a-folder-collection)
1569
+ * for details.
1529
1570
  */
1530
1571
  index_file?: CollectionIndexFile | boolean;
1531
1572
  /**
@@ -1618,14 +1659,15 @@ export type BackendOptions = {
1618
1659
  graphql_api_root?: string;
1619
1660
  /**
1620
1661
  * Site domain used for OAuth, which will be included in the
1621
- * `site_id` param to be sent to the API endpoint. Git backends only. Default: `location.hostname`.
1662
+ * `site_id` param to be sent to the API endpoint. Git backends only. Default:
1663
+ * [`location.hostname`](https://developer.mozilla.org/en-US/docs/Web/API/Location/hostname).
1622
1664
  */
1623
1665
  site_domain?: string;
1624
1666
  /**
1625
1667
  * OAuth base URL origin. Git backends only. Required when using an
1626
- * OAuth client other than Netlify, including Sveltia CMS Authenticator. Default:
1627
- * `https://api.netlify.com` (GitHub), `https://gitlab.com` (GitLab) or `https://gitea.com/`
1628
- * (Gitea).
1668
+ * OAuth client other than Netlify, including [Sveltia CMS
1669
+ * Authenticator](https://github.com/sveltia/sveltia-cms-auth). Default: `https://api.netlify.com`
1670
+ * (GitHub), `https://gitlab.com` (GitLab) or `https://gitea.com/` (Gitea).
1629
1671
  */
1630
1672
  base_url?: string;
1631
1673
  /**
@@ -1674,7 +1716,7 @@ export type BackendOptions = {
1674
1716
  * Whether to enable or disable automatic deployments
1675
1717
  * with any connected CI/CD provider, such as GitHub Actions or Cloudflare Pages. If `false`, the
1676
1718
  * `[skip ci]` prefix will be added to commit messages. Git backends only. Default: `undefined`. See
1677
- * https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments for details.
1719
+ * our [README](https://github.com/sveltia/sveltia-cms#disabling-automatic-deployments) for details.
1678
1720
  */
1679
1721
  automatic_deployments?: boolean;
1680
1722
  };
@@ -1763,8 +1805,8 @@ export type OutputOptions = {
1763
1805
  export type SiteConfig = {
1764
1806
  /**
1765
1807
  * Whether to load YAML/JSON site configuration file(s) when
1766
- * manually initializing the CMS. This works only in the `CMS.init()` method’s `config` option.
1767
- * Default: `true`.
1808
+ * [manually initializing the CMS](https://decapcms.org/docs/manual-initialization/). This works
1809
+ * only in the `CMS.init()` method’s `config` option. Default: `true`.
1768
1810
  */
1769
1811
  load_config_file?: boolean;
1770
1812
  /**
@@ -1794,11 +1836,14 @@ export type SiteConfig = {
1794
1836
  media_library?: MediaLibrary & GlobalMediaLibraryOptions;
1795
1837
  /**
1796
1838
  * Unified media library option that supports multiple
1797
- * libraries.
1839
+ * libraries. See our
1840
+ * [README](https://github.com/sveltia/sveltia-cms#configuring-multiple-media-libraries) for
1841
+ * details.
1798
1842
  */
1799
1843
  media_libraries?: MediaLibraries;
1800
1844
  /**
1801
- * Site URL. Default: current site’s origin (`location.origin`).
1845
+ * Site URL. Default: current site’s origin
1846
+ * ([`location.origin`](https://developer.mozilla.org/en-US/docs/Web/API/Location/origin)).
1802
1847
  */
1803
1848
  site_url?: string;
1804
1849
  /**
@@ -1827,7 +1872,8 @@ export type SiteConfig = {
1827
1872
  /**
1828
1873
  * Set of singleton files, such as
1829
1874
  * the site configuration file or the homepage file. They are not part of any collection and can be
1830
- * accessed directly through the collection list. The list can also contain dividers.
1875
+ * accessed directly through the collection list. The list can also contain dividers. See our
1876
+ * [README](https://github.com/sveltia/sveltia-cms#using-singletons) for details.
1831
1877
  */
1832
1878
  singletons?: (CollectionFile | CollectionDivider)[];
1833
1879
  /**
@@ -1839,7 +1885,8 @@ export type SiteConfig = {
1839
1885
  */
1840
1886
  editor?: EditorOptions;
1841
1887
  /**
1842
- * Data output options.
1888
+ * Data output options. See our
1889
+ * [README](https://github.com/sveltia/sveltia-cms#controlling-data-output) for details.
1843
1890
  */
1844
1891
  output?: OutputOptions;
1845
1892
  };
@@ -1864,7 +1911,8 @@ export type EditorComponentDefinition = {
1864
1911
  */
1865
1912
  label: string;
1866
1913
  /**
1867
- * Name of a Material Symbols icon to be displayed in the editor UI.
1914
+ * Name of a [Material Symbols
1915
+ * icon](https://fonts.google.com/icons?icon.set=Material+Symbols) to be displayed in the editor UI.
1868
1916
  */
1869
1917
  icon?: string;
1870
1918
  /**