@liiift-studio/sanity-font-manager 2.7.0 → 2.8.0

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 (62) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +695 -437
  3. package/dist/index.js +2330 -7084
  4. package/dist/index.mjs +2331 -7085
  5. package/package.json +84 -83
  6. package/src/components/BatchUploadFonts.jsx +655 -655
  7. package/src/components/BulkActions.jsx +99 -99
  8. package/src/components/ExistingDocumentResolver.jsx +152 -152
  9. package/src/components/FontReviewCard.jsx +455 -455
  10. package/src/components/FontScriptUploaderComponent.jsx +463 -463
  11. package/src/components/GenerateCollectionsPairsComponent.jsx +259 -259
  12. package/src/components/KeyValueInput.jsx +95 -95
  13. package/src/components/KeyValueReferenceInput.jsx +267 -267
  14. package/src/components/NestedObjectArraySelector.jsx +146 -146
  15. package/src/components/PriceInput.jsx +26 -26
  16. package/src/components/PrimaryCollectionGeneratorTypeface.jsx +116 -116
  17. package/src/components/RegenerateSubfamiliesComponent.jsx +185 -185
  18. package/src/components/SetOTF.jsx +87 -87
  19. package/src/components/SingleUploaderTool.jsx +674 -674
  20. package/src/components/StatusDisplay.jsx +26 -26
  21. package/src/components/StyleCountInput.jsx +16 -16
  22. package/src/components/UpdateScriptsComponent.jsx +76 -76
  23. package/src/components/UploadButton.jsx +43 -43
  24. package/src/components/UploadModal.jsx +309 -309
  25. package/src/components/UploadScriptsComponent.jsx +539 -539
  26. package/src/components/UploadStep1Settings.jsx +272 -272
  27. package/src/components/UploadStep2Review.jsx +478 -478
  28. package/src/components/UploadStep3Execute.jsx +234 -234
  29. package/src/components/UploadStep3bInstances.jsx +396 -396
  30. package/src/components/UploadSummary.jsx +196 -196
  31. package/src/components/VariableInstanceReferencesInput.jsx +190 -190
  32. package/src/hooks/useNestedObjects.js +92 -92
  33. package/src/hooks/useSanityClient.js +9 -9
  34. package/src/index.js +120 -120
  35. package/src/schema/openTypeField.js +1995 -1995
  36. package/src/schema/styleCountField.js +12 -12
  37. package/src/schema/stylesField.js +302 -302
  38. package/src/schema/stylisticSetField.js +301 -301
  39. package/src/utils/buildUploadPlan.js +326 -326
  40. package/src/utils/executeUploadPlan.js +430 -430
  41. package/src/utils/executionReducer.js +56 -56
  42. package/src/utils/fontHelpers.js +281 -281
  43. package/src/utils/generateCssFile.js +207 -207
  44. package/src/utils/generateFontData.js +98 -98
  45. package/src/utils/generateFontFile.js +38 -38
  46. package/src/utils/generateKeywords.js +185 -185
  47. package/src/utils/generateSubset.js +45 -45
  48. package/src/utils/getEmptyFontKit.js +101 -101
  49. package/src/utils/parseFont.js +56 -56
  50. package/src/utils/parseVariableFontInstances.js +301 -301
  51. package/src/utils/planReducer.js +531 -531
  52. package/src/utils/planTypes.js +183 -183
  53. package/src/utils/processFontFiles.js +530 -530
  54. package/src/utils/regenerateFontData.js +146 -146
  55. package/src/utils/resolveExistingFont.js +87 -87
  56. package/src/utils/retitleFontEntries.js +154 -154
  57. package/src/utils/sanitizeForSanityId.js +65 -65
  58. package/src/utils/setupDecompressors.js +27 -27
  59. package/src/utils/updateFontPrices.js +94 -94
  60. package/src/utils/updateTypefaceDocument.js +162 -162
  61. package/src/utils/uploadFontFiles.js +405 -405
  62. package/src/utils/utils.js +24 -24
@@ -1,1995 +1,1995 @@
1
- // Sanity schema field definition for the OpenType features section — uses SetOTF component for auto-detection
2
- import { SetOTF } from '../components/SetOTF.jsx';
3
-
4
- export const openTypeField = {
5
- title: 'Opentype',
6
- name: 'openType',
7
- type: 'object',
8
- group: 'openType',
9
- hidden: false,
10
- components: { input: SetOTF },
11
- options: { collapsible: true },
12
- fields: [
13
- {
14
- title:'Features',
15
- name:'features',
16
- type:'array',
17
- of:[{type:'string'}],
18
- options:{
19
- list: [
20
- { title: "All Alternates", value: "allAlternates"},
21
- { title: "All Caps", value: "allCaps"},
22
- { title: "Alternate Annotation", value: "alternateAnnotation"},
23
- { title: "Alternative Fractions", value: "alternativeFractions"},
24
- { title: "Capitals To Small Caps", value: "capitalsToSmallCaps"},
25
- { title: "Capitals to Petite Caps", value: "capitalsToPetiteCaps"},
26
- { title: "Case Sensitive Forms", value: "caseSensitiveForms"},
27
- { title: "Contextual Alternates", value: "contextualAlternates"},
28
- { title: "Contextual Ligatures", value: "contextualLigatures"},
29
- { title: "Contextual Swash", value: "contextualSwash"},
30
- { title: "Denominator", value: "denominator"},
31
- { title: "Discretionary Ligatures", value: "discretionaryLigatures"},
32
- { title: "Fractions", value: "fractions"},
33
- { title: "Glyph Decomposition", value: "glyphDecomposition"},
34
- { title: "Historical Forms", value: "historicalForms"},
35
- { title: "Historical Ligatures", value: "historicalLigatures"},
36
- { title: "Initial Form", value: "initialForm"},
37
- { title: "Isolated Form", value: "isolatedForm"},
38
- { title: "Justified Alternates", value: "justifiedAlternates"},
39
- { title: "Localized Forms", value: "localizedForms"},
40
- { title: "Mark Positioning", value: "markPositioning"},
41
- { title: "Mark Positioning via Subs", value: "markPositioningViaSubs"},
42
- { title: "Mark to Mark Positioning", value: "markToMarkPositioning"},
43
- { title: "Mathematical Greek", value: "mathematicalGreek"},
44
- { title: "Medial Form", value: "medialForm"},
45
- { title: "Numerator", value: "numerator"},
46
- { title: "Ordinals", value: "ordinals"},
47
- { title: "Ornaments", value: "ornaments"},
48
- { title: "Petite Caps", value: "petiteCaps"},
49
- { title: "Proportional Lining", value: "proportionalLining"},
50
- { title: "Proportional Oldstyle", value: "proportionalOldstyle"},
51
- { title: "Required Ligatures", value: "requiredLigatures"},
52
- { title: "Scientific Inferiors", value: "scientificInferiors"},
53
- { title: "Slashed Zero", value: "slashedZero"},
54
- { title: "Small Caps", value: "smallCaps"},
55
- { title: "Standard Ligatures", value: "standardLigatures"},
56
- { title: "Stylistic Alternates", value: "stylisticAlternates"},
57
- { title: "Subscript", value: "subscript"},
58
- { title: "Superscript", value: "superscript"},
59
- { title: "Swash", value: "swash"},
60
- { title: "Tabular Lining", value: "tabularLining"},
61
- { title: "Tabular Oldstyle", value: "tabularOldstyle"},
62
- { title: "Terminal Form", value: "terminalForm"},
63
- { title: "Titling Alternates", value: "titlingAlternates"},
64
- { title: "Unicase", value: "unicase"},
65
- { title: "All Stylistic Sets", value: "allStylisticSets"},
66
- { title: "Stylistic Set 1", value: "stylisticSet1"},
67
- { title: "Stylistic Set 2", value: "stylisticSet2"},
68
- { title: "Stylistic Set 3", value: "stylisticSet3"},
69
- { title: "Stylistic Set 4", value: "stylisticSet4"},
70
- { title: "Stylistic Set 5", value: "stylisticSet5"},
71
- { title: "Stylistic Set 6", value: "stylisticSet6"},
72
- { title: "Stylistic Set 7", value: "stylisticSet7"},
73
- { title: "Stylistic Set 8", value: "stylisticSet8"},
74
- { title: "Stylistic Set 9", value: "stylisticSet9"},
75
- { title: "Stylistic Set 10", value: "stylisticSet10"},
76
- { title: "Stylistic Set 11", value: "stylisticSet11"},
77
- { title: "Stylistic Set 12", value: "stylisticSet12"},
78
- { title: "Stylistic Set 13", value: "stylisticSet13"},
79
- { title: "Stylistic Set 14", value: "stylisticSet14"},
80
- { title: "Stylistic Set 15", value: "stylisticSet15"},
81
- { title: "Stylistic Set 16", value: "stylisticSet16"},
82
- { title: "Stylistic Set 17", value: "stylisticSet17"},
83
- { title: "Stylistic Set 18", value: "stylisticSet18"},
84
- { title: "Stylistic Set 19", value: "stylisticSet19"},
85
- { title: "Stylistic Set 20", value: "stylisticSet20"}
86
- ],
87
- layout: 'checkbox',
88
- },
89
- },
90
- {
91
- title:'All Alternates',
92
- name:'allAlternates',
93
- type:'object',
94
- hidden: ({parent}) => !parent?.features?.includes("allAlternates"),
95
- fields:[
96
- {
97
- name:'title',
98
- type:'string',
99
- placeholder:'eg. All Alternates',
100
- initialValue:'All Alternates',
101
- },
102
- {
103
- name:'feature',
104
- type:'string',
105
- placeholder:'eg. aalt',
106
- initialValue:'aalt',
107
- },
108
- {
109
- title: 'Custom Text',
110
- description:'Use the field below to input a word to highlight the feature.',
111
- name:'customText',
112
- hidden:true,
113
- type:"string",
114
- initialValue:'',
115
- },
116
- ]
117
- },
118
- {
119
- title:'All Caps',
120
- name:'allCaps',
121
- type:'object',
122
- hidden: ({parent}) => !parent?.features?.includes("allCaps"),
123
- fields:[
124
- {
125
- name:'title',
126
- type:'string',
127
- placeholder:'eg. allCaps',
128
- initialValue:'allCaps',
129
- },
130
- {
131
- name:'feature',
132
- type:'string',
133
- placeholder:'eg. case cpsp',
134
- initialValue:'case cpsp',
135
- },
136
- {
137
- title: 'Custom Text',
138
- description:'Use the field below to input a word to highlight the feature.',
139
- name:'customText',
140
- hidden:true,
141
- type:"string",
142
- initialValue:'',
143
- },
144
- ]
145
- },
146
- {
147
- title:'Alternate Annotation',
148
- name:'alternateAnnotation',
149
- type:'object',
150
- hidden: ({parent}) => !parent?.features?.includes("alternateAnnotation"),
151
- fields:[
152
- {
153
- name:'title',
154
- type:'string',
155
- placeholder:'eg. Alternate Annotation',
156
- initialValue:'Alternate Annotation',
157
- },
158
- {
159
- name:'feature',
160
- type:'string',
161
- placeholder:'eg. nalt',
162
- initialValue:'nalt',
163
- },
164
- {
165
- title: 'Custom Text',
166
- description:'Use the field below to input a word to highlight the feature.',
167
- name:'customText',
168
- hidden:true,
169
- type:"string",
170
- initialValue:'',
171
- },
172
- ]
173
- },
174
- {
175
- title:'Alternative Fractions',
176
- name:'alternativeFractions',
177
- type:'object',
178
- hidden: ({parent}) => !parent?.features?.includes("alternativeFractions"),
179
- fields:[
180
- {
181
- name:'title',
182
- type:'string',
183
- placeholder:'eg. Alternative Fractions',
184
- initialValue:'Alternative Fractions',
185
- },
186
- {
187
- name:'feature',
188
- type:'string',
189
- placeholder:'eg. afrc',
190
- initialValue:'afrc',
191
- },
192
- {
193
- title: 'Custom Text',
194
- description:'Use the field below to input a word to highlight the feature.',
195
- name:'customText',
196
- hidden:true,
197
- type:"string",
198
- initialValue:'',
199
- },
200
- ]
201
- },
202
- {
203
- title:'Capitals To Small Caps',
204
- name:'capitalsToSmallCaps',
205
- type:'object',
206
- hidden: ({parent}) => !parent?.features?.includes("capitalsToSmallCaps"),
207
- fields:[
208
- {
209
- name:'title',
210
- type:'string',
211
- placeholder:'eg. Capitals to Small Caps',
212
- initialValue:'Capitals to Small Caps',
213
- },
214
- {
215
- name:'feature',
216
- type:'string',
217
- placeholder:'eg. c2sc',
218
- initialValue:'c2sc',
219
- },
220
- {
221
- title: 'Custom Text',
222
- description:'Use the field below to input a word to highlight the feature.',
223
- name:'customText',
224
- hidden:true,
225
- type:"string",
226
- initialValue:'',
227
- },
228
- ]
229
- },
230
- {
231
- title:'Capitals to Petite Caps',
232
- name:'capitalsToPetiteCaps',
233
- type:'object',
234
- hidden: ({parent}) => !parent?.features?.includes("capitalsToPetiteCaps"),
235
- fields:[
236
- {
237
- name:'title',
238
- type:'string',
239
- placeholder:'eg. Capitals to Petite Caps',
240
- initialValue:'Capitals to Petite Caps',
241
- },
242
- {
243
- name:'feature',
244
- type:'string',
245
- placeholder:'eg. c2pc',
246
- initialValue:'c2pc',
247
- },
248
- {
249
- title: 'Custom Text',
250
- description:'Use the field below to input a word to highlight the feature.',
251
- name:'customText',
252
- hidden:true,
253
- type:"string",
254
- initialValue:'',
255
- },
256
- ]
257
- },
258
- {
259
- title:'Case Sensitive Forms',
260
- name:'caseSensitiveForms',
261
- type:'object',
262
- hidden: ({parent}) => !parent?.features?.includes("caseSensitiveForms"),
263
- fields:[
264
- {
265
- name:'title',
266
- type:'string',
267
- placeholder:'eg. Case Sensitive Forms',
268
- initialValue:'Case Sensitive Forms',
269
- },
270
- {
271
- name:'feature',
272
- type:'string',
273
- placeholder:'eg. case',
274
- initialValue:'case',
275
- },
276
- {
277
- title: 'Custom Text',
278
- description:'Use the field below to input a word to highlight the feature.',
279
- name:'customText',
280
- hidden:true,
281
- type:"string",
282
- initialValue:'',
283
- },
284
- ]
285
- },
286
- {
287
- title:'Contextual Alternates',
288
- name:'contextualAlternates',
289
- type:'object',
290
- hidden: ({parent}) => !parent?.features?.includes("contextualAlternates"),
291
- fields:[
292
- {
293
- name:'title',
294
- type:'string',
295
- placeholder:'eg. Contextual Alternates',
296
- initialValue:'Contextual Alternates',
297
- },
298
- {
299
- name:'feature',
300
- type:'string',
301
- placeholder:'eg. calt',
302
- initialValue:'calt',
303
- },
304
- {
305
- title: 'Custom Text',
306
- description:'Use the field below to input a word to highlight the feature.',
307
- name:'customText',
308
- hidden:true,
309
- type:"string",
310
- initialValue:'',
311
- },
312
- ]
313
- },
314
- {
315
- title:'Contextual Ligatures',
316
- name:'contextualLigatures',
317
- type:'object',
318
- hidden: ({parent}) => !parent?.features?.includes("contextualLigatures"),
319
- fields:[
320
- {
321
- name:'title',
322
- type:'string',
323
- placeholder:'eg. Contextual Ligatures',
324
- initialValue:'Contextual Ligatures',
325
- },
326
- {
327
- name:'feature',
328
- type:'string',
329
- placeholder:'eg. clig',
330
- initialValue:'clig',
331
- },
332
- {
333
- title: 'Custom Text',
334
- description:'Use the field below to input a word to highlight the feature.',
335
- name:'customText',
336
- hidden:true,
337
- type:"string",
338
- initialValue:'',
339
- },
340
- ]
341
- },
342
- {
343
- title:'Contextual Swash',
344
- name:'contextualSwash',
345
- type:'object',
346
- hidden: ({parent}) => !parent?.features?.includes("contextualSwash"),
347
- fields:[
348
- {
349
- name:'title',
350
- type:'string',
351
- placeholder:'eg. Contextual Swash',
352
- initialValue:'Contextual Swash',
353
- },
354
- {
355
- name:'feature',
356
- type:'string',
357
- placeholder:'eg. cswh',
358
- initialValue:'cswh',
359
- },
360
- {
361
- title: 'Custom Text',
362
- description:'Use the field below to input a word to highlight the feature.',
363
- name:'customText',
364
- hidden:true,
365
- type:"string",
366
- initialValue:'',
367
- },
368
- ]
369
- },
370
- {
371
- title:'Denominator',
372
- name:'denominator',
373
- type:'object',
374
- hidden: ({parent}) => !parent?.features?.includes("denominator"),
375
- fields:[
376
- {
377
- name:'title',
378
- type:'string',
379
- placeholder:'eg. Denominator',
380
- initialValue:'Denominator',
381
- },
382
- {
383
- name:'feature',
384
- type:'string',
385
- placeholder:'eg. dnom',
386
- initialValue:'dnom',
387
- },
388
- {
389
- title: 'Custom Text',
390
- description:'Use the field below to input a word to highlight the feature.',
391
- name:'customText',
392
- hidden:true,
393
- type:"string",
394
- initialValue:'',
395
- },
396
- ]
397
- },
398
- {
399
- title:'Discretionary Ligatures',
400
- name:'discretionaryLigatures',
401
- type:'object',
402
- hidden: ({parent}) => !parent?.features?.includes("discretionaryLigatures"),
403
- fields:[
404
- {
405
- name:'title',
406
- type:'string',
407
- placeholder:'eg. Discretionary Ligatures',
408
- initialValue:'Discretionary Ligatures',
409
- },
410
- {
411
- name:'feature',
412
- type:'string',
413
- placeholder:'eg. dlig',
414
- initialValue:'dlig',
415
- },
416
- {
417
- title: 'Custom Text',
418
- description:'Use the field below to input a word to highlight the feature.',
419
- name:'customText',
420
- hidden:true,
421
- type:"string",
422
- initialValue:'',
423
- },
424
- ]
425
- },
426
- {
427
- title:'Fractions',
428
- name:'fractions',
429
- type:'object',
430
- hidden: ({parent}) => !parent?.features?.includes("fractions"),
431
- fields:[
432
- {
433
- name:'title',
434
- type:'string',
435
- placeholder:'eg. Fractions',
436
- initialValue:'Fractions',
437
- },
438
- {
439
- name:'feature',
440
- type:'string',
441
- placeholder:'eg. frac',
442
- initialValue:'frac',
443
- },
444
- {
445
- title: 'Custom Text',
446
- description:'Use the field below to input a word to highlight the feature.',
447
- name:'customText',
448
- hidden:true,
449
- type:"string",
450
- initialValue:'',
451
- },
452
- ]
453
- },
454
- {
455
- title:'Glyph Decomposition',
456
- name:'glyphDecomposition',
457
- type:'object',
458
- hidden: ({parent}) => !parent?.features?.includes("glyphDecomposition"),
459
- fields:[
460
- {
461
- name:'title',
462
- type:'string',
463
- placeholder:'eg. Glyph Decomposition',
464
- initialValue:'Glyph Decomposition',
465
- },
466
- {
467
- name:'feature',
468
- type:'string',
469
- placeholder:'eg. ccmp',
470
- initialValue:'ccmp',
471
- },
472
- {
473
- title: 'Custom Text',
474
- description:'Use the field below to input a word to highlight the feature.',
475
- name:'customText',
476
- hidden:true,
477
- type:"string",
478
- initialValue:'',
479
- },
480
- ]
481
- },
482
- {
483
- title:'Historical Forms',
484
- name:'historicalForms',
485
- type:'object',
486
- hidden: ({parent}) => !parent?.features?.includes("historicalForms"),
487
- fields:[
488
- {
489
- name:'title',
490
- type:'string',
491
- placeholder:'eg. Historical Forms',
492
- initialValue:'Historical Forms',
493
- },
494
- {
495
- name:'feature',
496
- type:'string',
497
- placeholder:'eg. hist',
498
- initialValue:'hist',
499
- },
500
- {
501
- title: 'Custom Text',
502
- description:'Use the field below to input a word to highlight the feature.',
503
- name:'customText',
504
- hidden:true,
505
- type:"string",
506
- initialValue:'',
507
- },
508
- ]
509
- },
510
- {
511
- title:'Historical Ligatures',
512
- name:'historicalLigatures',
513
- type:'object',
514
- hidden: ({parent}) => !parent?.features?.includes("historicalLigatures"),
515
- fields:[
516
- {
517
- name:'title',
518
- type:'string',
519
- placeholder:'eg. Historical Ligatures',
520
- initialValue:'Historical Ligatures',
521
- },
522
- {
523
- name:'feature',
524
- type:'string',
525
- placeholder:'eg. hlig',
526
- initialValue:'hlig',
527
- },
528
- {
529
- title: 'Custom Text',
530
- description:'Use the field below to input a word to highlight the feature.',
531
- name:'customText',
532
- hidden:true,
533
- type:"string",
534
- initialValue:'',
535
- },
536
- ]
537
- },
538
- {
539
- title:'Initial Form',
540
- name:'initialForm',
541
- type:'object',
542
- hidden: ({parent}) => !parent?.features?.includes("initialForm"),
543
- fields:[
544
- {
545
- name:'title',
546
- type:'string',
547
- placeholder:'eg. Initial Form',
548
- initialValue:'Initial Form',
549
- },
550
- {
551
- name:'feature',
552
- type:'string',
553
- placeholder:'eg. init',
554
- initialValue:'init',
555
- },
556
- {
557
- title: 'Custom Text',
558
- description:'Use the field below to input a word to highlight the feature.',
559
- name:'customText',
560
- hidden:true,
561
- type:"string",
562
- initialValue:'',
563
- },
564
- ]
565
- },
566
- {
567
- title:'Isolated Form',
568
- name:'isolatedForm',
569
- type:'object',
570
- hidden: ({parent}) => !parent?.features?.includes("isolatedForm"),
571
- fields:[
572
- {
573
- name:'title',
574
- type:'string',
575
- placeholder:'eg. Isolated Form',
576
- initialValue:'Isolated Form',
577
- },
578
- {
579
- name:'feature',
580
- type:'string',
581
- placeholder:'eg. isol',
582
- initialValue:'isol',
583
- },
584
- {
585
- title: 'Custom Text',
586
- description:'Use the field below to input a word to highlight the feature.',
587
- name:'customText',
588
- hidden:true,
589
- type:"string",
590
- initialValue:'',
591
- },
592
- ]
593
- },
594
- {
595
- title:'Justified Alternates',
596
- name:'justifiedAlternates',
597
- type:'object',
598
- hidden: ({parent}) => !parent?.features?.includes("justifiedAlternates"),
599
- fields:[
600
- {
601
- name:'title',
602
- type:'string',
603
- placeholder:'eg. Justification Alternates',
604
- initialValue:'Justification Alternates',
605
- },
606
- {
607
- name:'feature',
608
- type:'string',
609
- placeholder:'eg. jalt',
610
- initialValue:'jalt',
611
- },
612
- {
613
- title: 'Custom Text',
614
- description:'Use the field below to input a word to highlight the feature.',
615
- name:'customText',
616
- hidden:true,
617
- type:"string",
618
- initialValue:'',
619
- },
620
- ]
621
- },
622
- {
623
- title:'Localized Forms',
624
- name:'localizedForms',
625
- type:'object',
626
- hidden: ({parent}) => !parent?.features?.includes("localizedForms"),
627
- fields:[
628
- {
629
- name:'title',
630
- type:'string',
631
- placeholder:'eg. Localized Forms',
632
- initialValue:'Localized Forms',
633
- },
634
- {
635
- name:'feature',
636
- type:'string',
637
- placeholder:'eg. locl',
638
- initialValue:'locl',
639
- },
640
- {
641
- title: 'Custom Text',
642
- description:'Use the field below to input a word to highlight the feature.',
643
- name:'customText',
644
- hidden:true,
645
- type:"string",
646
- initialValue:'',
647
- },
648
- ]
649
- },
650
- {
651
- title:'Mark Positioning',
652
- name:'markPositioning',
653
- type:'object',
654
- hidden: ({parent}) => !parent?.features?.includes("markPositioning"),
655
- fields:[
656
- {
657
- name:'title',
658
- type:'string',
659
- placeholder:'eg. Mark Positioning',
660
- initialValue:'Mark Positioning',
661
- },
662
- {
663
- name:'feature',
664
- type:'string',
665
- placeholder:'eg. mark',
666
- initialValue:'mark',
667
- },
668
- {
669
- title: 'Custom Text',
670
- description:'Use the field below to input a word to highlight the feature.',
671
- name:'customText',
672
- hidden:true,
673
- type:"string",
674
- initialValue:'',
675
- },
676
- ]
677
- },
678
- {
679
- title:'Mark Positioning via Subs',
680
- name:'markPositioningViaSubs',
681
- type:'object',
682
- hidden: ({parent}) => !parent?.features?.includes("markPositioningViaSubs"),
683
- fields:[
684
- {
685
- name:'title',
686
- type:'string',
687
- placeholder:'eg. Mark Positioning via Subs',
688
- initialValue:'Mark Positioning via Subs',
689
- },
690
- {
691
- name:'feature',
692
- type:'string',
693
- placeholder:'eg. mset',
694
- initialValue:'mset',
695
- },
696
- {
697
- title: 'Custom Text',
698
- description:'Use the field below to input a word to highlight the feature.',
699
- name:'customText',
700
- hidden:true,
701
- type:"string",
702
- initialValue:'',
703
- },
704
- ]
705
- },
706
- {
707
- title:'Mark to Mark Positioning',
708
- name:'markToMarkPositioning',
709
- type:'object',
710
- hidden: ({parent}) => !parent?.features?.includes("markToMarkPositioning"),
711
- fields:[
712
- {
713
- name:'title',
714
- type:'string',
715
- placeholder:'eg. Mark to Mark Positioning',
716
- initialValue:'Mark to Mark Positioning',
717
- },
718
- {
719
- name:'feature',
720
- type:'string',
721
- placeholder:'eg. mkmk',
722
- initialValue:'mkmk',
723
- },
724
- {
725
- title: 'Custom Text',
726
- description:'Use the field below to input a word to highlight the feature.',
727
- name:'customText',
728
- hidden:true,
729
- type:"string",
730
- initialValue:'',
731
- },
732
- ]
733
- },
734
- {
735
- title:'Mathematical Greek',
736
- name:'mathematicalGreek',
737
- type:'object',
738
- hidden: ({parent}) => !parent?.features?.includes("mathematicalGreek"),
739
- fields:[
740
- {
741
- name:'title',
742
- type:'string',
743
- placeholder:'eg. Mathematical Greek',
744
- initialValue:'Mathematical Greek',
745
- },
746
- {
747
- name:'feature',
748
- type:'string',
749
- placeholder:'eg. mgrk',
750
- initialValue:'mgrk',
751
- },
752
- {
753
- title: 'Custom Text',
754
- description:'Use the field below to input a word to highlight the feature.',
755
- name:'customText',
756
- hidden:true,
757
- type:"string",
758
- initialValue:'',
759
- },
760
- ]
761
- },
762
- {
763
- title:'Medial Form',
764
- name:'medialForm',
765
- type:'object',
766
- hidden: ({parent}) => !parent?.features?.includes("medialForm"),
767
- fields:[
768
- {
769
- name:'title',
770
- type:'string',
771
- placeholder:'eg. Medial Form',
772
- initialValue:'Medial Form',
773
- },
774
- {
775
- name:'feature',
776
- type:'string',
777
- placeholder:'eg. medi',
778
- initialValue:'medi',
779
- },
780
- {
781
- title: 'Custom Text',
782
- description:'Use the field below to input a word to highlight the feature.',
783
- name:'customText',
784
- hidden:true,
785
- type:"string",
786
- initialValue:'',
787
- },
788
- ]
789
- },
790
- {
791
- title:'Numerator',
792
- name:'numerator',
793
- type:'object',
794
- hidden: ({parent}) => !parent?.features?.includes("numerator"),
795
- fields:[
796
- {
797
- name:'title',
798
- type:'string',
799
- placeholder:'eg. Numerator',
800
- initialValue:'Numerator',
801
- },
802
- {
803
- name:'feature',
804
- type:'string',
805
- placeholder:'eg. numr',
806
- initialValue:'numr',
807
- },
808
- {
809
- title: 'Custom Text',
810
- description:'Use the field below to input a word to highlight the feature.',
811
- name:'customText',
812
- hidden:true,
813
- type:"string",
814
- initialValue:'',
815
- },
816
- ]
817
- },
818
- {
819
- title:'Ordinals',
820
- name:'ordinals',
821
- type:'object',
822
- hidden: ({parent}) => !parent?.features?.includes("ordinals"),
823
- fields:[
824
- {
825
- name:'title',
826
- type:'string',
827
- placeholder:'eg. Ordinals',
828
- initialValue:'Ordinals',
829
- },
830
- {
831
- name:'feature',
832
- type:'string',
833
- placeholder:'eg. ordn',
834
- initialValue:'ordn',
835
- },
836
- {
837
- title: 'Custom Text',
838
- description:'Use the field below to input a word to highlight the feature.',
839
- name:'customText',
840
- hidden:true,
841
- type:"string",
842
- initialValue:'',
843
- },
844
- ]
845
- },
846
- {
847
- title:'Ornaments',
848
- name:'ornaments',
849
- type:'object',
850
- hidden: ({parent}) => !parent?.features?.includes("ornaments"),
851
- fields:[
852
- {
853
- name:'title',
854
- type:'string',
855
- placeholder:'eg. Ornaments',
856
- initialValue:'Ornaments',
857
- },
858
- {
859
- name:'feature',
860
- type:'string',
861
- placeholder:'eg. ornm',
862
- initialValue:'ornm',
863
- },
864
- {
865
- title: 'Custom Text',
866
- description:'Use the field below to input a word to highlight the feature.',
867
- name:'customText',
868
- hidden:true,
869
- type:"string",
870
- initialValue:'',
871
- },
872
- ]
873
- },
874
- {
875
- title:'Petite Caps',
876
- name:'petiteCaps',
877
- type:'object',
878
- hidden: ({parent}) => !parent?.features?.includes("petiteCaps"),
879
- fields:[
880
- {
881
- name:'title',
882
- type:'string',
883
- placeholder:'eg. Petite Caps',
884
- initialValue:'Petite Caps',
885
- },
886
- {
887
- name:'feature',
888
- type:'string',
889
- placeholder:'eg. pcap',
890
- initialValue:'pcap',
891
- },
892
- {
893
- title: 'Custom Text',
894
- description:'Use the field below to input a word to highlight the feature.',
895
- name:'customText',
896
- hidden:true,
897
- type:"string",
898
- initialValue:'',
899
- },
900
- ]
901
- },
902
- {
903
- title:'Proportional Lining',
904
- name:'proportionalLining',
905
- type:'object',
906
- hidden: ({parent}) => !parent?.features?.includes("proportionalLining"),
907
- fields:[
908
- {
909
- name:'title',
910
- type:'string',
911
- placeholder:'eg. Proportional Lining',
912
- initialValue:'Proportional Lining',
913
- },
914
- {
915
- name:'feature',
916
- type:'string',
917
- placeholder:'eg. pnum lnum',
918
- initialValue:'pnum lnum',
919
- },
920
- {
921
- title: 'Custom Text',
922
- description:'Use the field below to input a word to highlight the feature.',
923
- name:'customText',
924
- hidden:true,
925
- type:"string",
926
- initialValue:'',
927
- },
928
- ]
929
- },
930
- {
931
- title:'Proportional Oldstyle',
932
- name:'proportionalOldstyle',
933
- type:'object',
934
- hidden: ({parent}) => !parent?.features?.includes("proportionalOldstyle"),
935
- fields:[
936
- {
937
- name:'title',
938
- type:'string',
939
- placeholder:'eg. Proportional Oldstyle',
940
- initialValue:'Proportional Oldstyle',
941
- },
942
- {
943
- name:'feature',
944
- type:'string',
945
- placeholder:'eg. pnum onum',
946
- initialValue:'pnum onum',
947
- },
948
- {
949
- title:'Show on Glyph Grid',
950
- name:'glyphGrid',
951
- type:'boolean',
952
- initialValue:false,
953
- },
954
- {
955
- title: 'Custom Text',
956
- description:'Use the field below to input a word to highlight the feature.',
957
- name:'customText',
958
- hidden:true,
959
- type:"string",
960
- initialValue:'',
961
- },
962
- ]
963
- },
964
- {
965
- title:'Required Ligatures',
966
- name:'requiredLigatures',
967
- type:'object',
968
- hidden: ({parent}) => !parent?.features?.includes("requiredLigatures"),
969
- fields:[
970
- {
971
- name:'title',
972
- type:'string',
973
- placeholder:'eg. Required Ligatures',
974
- initialValue:'Required Ligatures',
975
- },
976
- {
977
- name:'feature',
978
- type:'string',
979
- placeholder:'eg. rlig',
980
- initialValue:'rlig',
981
- },
982
- {
983
- title: 'Custom Text',
984
- description:'Use the field below to input a word to highlight the feature.',
985
- name:'customText',
986
- hidden:true,
987
- type:"string",
988
- initialValue:'',
989
- },
990
- ]
991
- },
992
- {
993
- title:'Scientific Inferiors',
994
- name:'scientificInferiors',
995
- type:'object',
996
- hidden: ({parent}) => !parent?.features?.includes("scientificInferiors"),
997
- fields:[
998
- {
999
- name:'title',
1000
- type:'string',
1001
- placeholder:'eg. Scientific Inferiors',
1002
- initialValue:'Scientific Inferiors',
1003
- },
1004
- {
1005
- name:'feature',
1006
- type:'string',
1007
- placeholder:'eg. sinf',
1008
- initialValue:'sinf',
1009
- },
1010
- {
1011
- title: 'Custom Text',
1012
- description:'Use the field below to input a word to highlight the feature.',
1013
- name:'customText',
1014
- hidden:true,
1015
- type:"string",
1016
- initialValue:'',
1017
- },
1018
- ]
1019
- },
1020
- {
1021
- title:'Slashed Zero',
1022
- name:'slashedZero',
1023
- type:'object',
1024
- hidden: ({parent}) => !parent?.features?.includes("slashedZero"),
1025
- fields:[
1026
- {
1027
- name:'title',
1028
- type:'string',
1029
- placeholder:'eg. Slashed Zero',
1030
- initialValue:'Slashed Zero',
1031
- },
1032
- {
1033
- name:'feature',
1034
- type:'string',
1035
- placeholder:'eg. zero',
1036
- initialValue:'zero',
1037
- },
1038
- {
1039
- title: 'Custom Text',
1040
- description:'Use the field below to input a word to highlight the feature.',
1041
- name:'customText',
1042
- hidden:true,
1043
- type:"string",
1044
- initialValue:'',
1045
- },
1046
- ]
1047
- },
1048
- {
1049
- title:'Small Caps',
1050
- name:'smallCaps',
1051
- type:'object',
1052
- hidden: ({parent}) => !parent?.features?.includes("smallCaps"),
1053
- fields:[
1054
- {
1055
- name:'title',
1056
- type:'string',
1057
- placeholder:'eg. smallCaps',
1058
- initialValue:'Small Caps',
1059
- },
1060
- {
1061
- name:'feature',
1062
- type:'string',
1063
- placeholder:'eg. smcp',
1064
- initialValue:'smcp',
1065
- },
1066
- {
1067
- title: 'Custom Text',
1068
- description:'Use the field below to input a word to highlight the feature.',
1069
- name:'customText',
1070
- hidden:true,
1071
- type:"string",
1072
- initialValue:'',
1073
- },
1074
- ]
1075
- },
1076
- {
1077
- title:'Standard Ligatures',
1078
- name:'standardLigatures',
1079
- type:'object',
1080
- hidden: ({parent}) => !parent?.features?.includes("standardLigatures"),
1081
- fields:[
1082
- {
1083
- name:'title',
1084
- type:'string',
1085
- placeholder:'eg. StandardLigatures',
1086
- initialValue:'StandardLigatures',
1087
- },
1088
- {
1089
- name:'feature',
1090
- type:'string',
1091
- placeholder:'eg. liga',
1092
- initialValue:'liga',
1093
- },
1094
- {
1095
- title: 'Custom Text',
1096
- description:'Use the field below to input a word to highlight the feature.',
1097
- name:'customText',
1098
- hidden:true,
1099
- type:"string",
1100
- initialValue:'',
1101
- },
1102
- ]
1103
- },
1104
- {
1105
- title:'Stylistic Alternates',
1106
- name:'stylisticAlternates',
1107
- type:'object',
1108
- hidden: ({parent}) => !parent?.features?.includes("stylisticAlternates"),
1109
- fields:[
1110
- {
1111
- name:'title',
1112
- type:'string',
1113
- placeholder:'eg. Stylistic Alternates',
1114
- initialValue:'Stylistic Alternates',
1115
- },
1116
- {
1117
- name:'feature',
1118
- type:'string',
1119
- placeholder:'eg. salt',
1120
- initialValue:'salt',
1121
- },
1122
- {
1123
- title: 'Custom Text',
1124
- description:'Use the field below to input a word to highlight the feature.',
1125
- name:'customText',
1126
- hidden:true,
1127
- type:"string",
1128
- initialValue:'',
1129
- },
1130
- ]
1131
- },
1132
- {
1133
- title:'Subscript',
1134
- name:'subscript',
1135
- type:'object',
1136
- hidden: ({parent}) => !parent?.features?.includes("subscript"),
1137
- fields:[
1138
- {
1139
- name:'title',
1140
- type:'string',
1141
- placeholder:'eg. Subscript',
1142
- initialValue:'Subscript',
1143
- },
1144
- {
1145
- name:'feature',
1146
- type:'string',
1147
- placeholder:'eg. subs',
1148
- initialValue:'subs',
1149
- },
1150
- {
1151
- title: 'Custom Text',
1152
- description:'Use the field below to input a word to highlight the feature.',
1153
- name:'customText',
1154
- hidden:true,
1155
- type:"string",
1156
- initialValue:'',
1157
- },
1158
- ]
1159
- },
1160
- {
1161
- title:'Superscript',
1162
- name:'superscript',
1163
- type:'object',
1164
- hidden: ({parent}) => !parent?.features?.includes("superscript"),
1165
- fields:[
1166
- {
1167
- name:'title',
1168
- type:'string',
1169
- placeholder:'eg. Superscript',
1170
- initialValue:'Superscript',
1171
- },
1172
- {
1173
- name:'feature',
1174
- type:'string',
1175
- placeholder:'eg. sups',
1176
- initialValue:'sups',
1177
- },
1178
- {
1179
- title: 'Custom Text',
1180
- description:'Use the field below to input a word to highlight the feature.',
1181
- name:'customText',
1182
- hidden:true,
1183
- type:"string",
1184
- initialValue:'',
1185
- },
1186
- ]
1187
- },
1188
- {
1189
- title:'Swash',
1190
- name:'swash',
1191
- type:'object',
1192
- hidden: ({parent}) => !parent?.features?.includes("swash"),
1193
- fields:[
1194
- {
1195
- name:'title',
1196
- type:'string',
1197
- placeholder:'eg. Swash',
1198
- initialValue:'Swash',
1199
- },
1200
- {
1201
- name:'feature',
1202
- type:'string',
1203
- placeholder:'eg. swsh',
1204
- initialValue:'swsh',
1205
- },
1206
- {
1207
- title: 'Custom Text',
1208
- description:'Use the field below to input a word to highlight the feature.',
1209
- name:'customText',
1210
- hidden:true,
1211
- type:"string",
1212
- initialValue:'',
1213
- },
1214
- ]
1215
- },{
1216
- title:'Tabular Lining',
1217
- name:'tabularLining',
1218
- type:'object',
1219
- hidden: ({parent}) => !parent?.features?.includes("tabularLining"),
1220
- fields:[
1221
- {
1222
- name:'title',
1223
- type:'string',
1224
- placeholder:'eg. Tabular Lining',
1225
- initialValue:'Tabular Lining',
1226
- },
1227
- {
1228
- name:'feature',
1229
- type:'string',
1230
- placeholder:'eg. tnum lnum',
1231
- initialValue:'tnum lnum',
1232
- },
1233
- {
1234
- title: 'Custom Text',
1235
- description:'Use the field below to input a word to highlight the feature.',
1236
- name:'customText',
1237
- hidden:true,
1238
- type:"string",
1239
- initialValue:'',
1240
- },
1241
- ]
1242
- },
1243
- {
1244
- title:'Tabular Oldstyle',
1245
- name:'tabularOldstyle',
1246
- type:'object',
1247
- hidden: ({parent}) => !parent?.features?.includes("tabularOldstyle"),
1248
- fields:[
1249
- {
1250
- name:'title',
1251
- type:'string',
1252
- placeholder:'eg. Tabular Oldstyle',
1253
- initialValue:'Tabular Oldstyle',
1254
- },
1255
- {
1256
- name:'feature',
1257
- type:'string',
1258
- placeholder:'eg. tnum onum',
1259
- initialValue:'tnum onum',
1260
- },
1261
- {
1262
- title: 'Custom Text',
1263
- description:'Use the field below to input a word to highlight the feature.',
1264
- name:'customText',
1265
- hidden:true,
1266
- type:"string",
1267
- initialValue:'',
1268
- },
1269
- ]
1270
- },
1271
- {
1272
- title:'Terminal Form',
1273
- name:'terminalForm',
1274
- type:'object',
1275
- hidden: ({parent}) => !parent?.features?.includes("terminalForm"),
1276
- fields:[
1277
- {
1278
- name:'title',
1279
- type:'string',
1280
- placeholder:'eg. Terminal Form',
1281
- initialValue:'Terminal Form',
1282
- },
1283
- {
1284
- name:'feature',
1285
- type:'string',
1286
- placeholder:'eg. fina',
1287
- initialValue:'fina',
1288
- },
1289
- {
1290
- title: 'Custom Text',
1291
- description:'Use the field below to input a word to highlight the feature.',
1292
- name:'customText',
1293
- hidden:true,
1294
- type:"string",
1295
- initialValue:'',
1296
- },
1297
- ]
1298
- },
1299
- {
1300
- title:'Titling Alternates',
1301
- name:'titlingAlternates',
1302
- type:'object',
1303
- hidden: ({parent}) => !parent?.features?.includes("titlingAlternates"),
1304
- fields:[
1305
- {
1306
- name:'title',
1307
- type:'string',
1308
- placeholder:'eg. Titling Alternates',
1309
- initialValue:'Titling Alternates',
1310
- },
1311
- {
1312
- name:'feature',
1313
- type:'string',
1314
- placeholder:'eg. titl',
1315
- initialValue:'titl',
1316
- },
1317
- {
1318
- title: 'Custom Text',
1319
- description:'Use the field below to input a word to highlight the feature.',
1320
- name:'customText',
1321
- hidden:true,
1322
- type:"string",
1323
- initialValue:'',
1324
- },
1325
- ]
1326
- },
1327
- {
1328
- title:'Unicase',
1329
- name:'unicase',
1330
- type:'object',
1331
- hidden: ({parent}) => !parent?.features?.includes("unicase"),
1332
- fields:[
1333
- {
1334
- name:'title',
1335
- type:'string',
1336
- placeholder:'eg. Unicase',
1337
- initialValue:'Unicase',
1338
- },
1339
- {
1340
- name:'feature',
1341
- type:'string',
1342
- placeholder:'eg. unic',
1343
- initialValue:'unic',
1344
- },
1345
- {
1346
- title: 'Custom Text',
1347
- description:'Use the field below to input a word to highlight the feature.',
1348
- name:'customText',
1349
- hidden:true,
1350
- type:"string",
1351
- initialValue:'',
1352
- },
1353
- ]
1354
- },
1355
- {
1356
- title:'All Stylistic Sets',
1357
- name:'allStylisticSets',
1358
- type:'object',
1359
- hidden: ({parent}) => !parent?.features?.includes("allStylisticSets"),
1360
- fields:[
1361
- {
1362
- name:'title',
1363
- type:'string',
1364
- placeholder:'eg. All Stylistic Sets',
1365
- initialValue:'All Stylistic Sets',
1366
- },
1367
- {
1368
- name:'feature',
1369
- type:'string',
1370
- placeholder:'eg. ss01 ss02 ss03 ss04 ss05 ss06 ss07 ss08 ss09 ss10 ss11 ss12 ss13 ss14 ss15 ss16 ss17 ss18 ss19 ss20',
1371
- initialValue:'ss01 ss02 ss03 ss04 ss05 ss06 ss07 ss08 ss09 ss10 ss11 ss12 ss13 ss14 ss15 ss16 ss17 ss18 ss19 ss20',
1372
- },
1373
- {
1374
- title: 'Custom Text',
1375
- description:'Use the field below to input a word to highlight the feature.',
1376
- name:'customText',
1377
- hidden:true,
1378
- type:"string",
1379
- initialValue:'',
1380
- },
1381
- ]
1382
- },
1383
- {
1384
- title:'Stylistic Set 1',
1385
- name:'stylisticSet1',
1386
- type:'object',
1387
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet1"),
1388
- fields:[
1389
- {
1390
- name:'title',
1391
- type:'string',
1392
- placeholder:'eg. Stylistic Set 1',
1393
- initialValue:'Stylistic Set 1',
1394
- },
1395
- {
1396
- name:'feature',
1397
- type:'string',
1398
- placeholder:'eg. ss01',
1399
- initialValue:'ss01',
1400
- },
1401
- {
1402
- title: 'Custom Text',
1403
- description:'Use the field below to input a word to highlight the feature.',
1404
- name:'customText',
1405
- hidden:true,
1406
- type:"string",
1407
- initialValue:'',
1408
- },
1409
- ]
1410
- },
1411
- {
1412
- title:'Stylistic Set 2',
1413
- name:'stylisticSet2',
1414
- type:'object',
1415
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet2"),
1416
- fields:[
1417
- {
1418
- name:'title',
1419
- type:'string',
1420
- placeholder:'eg. Stylistic Set 2',
1421
- initialValue:'Stylistic Set 2',
1422
- },
1423
- {
1424
- name:'feature',
1425
- type:'string',
1426
- placeholder:'eg. ss02',
1427
- initialValue:'ss02',
1428
- },
1429
- {
1430
- title: 'Custom Text',
1431
- description:'Use the field below to input a word to highlight the feature.',
1432
- name:'customText',
1433
- hidden:true,
1434
- type:"string",
1435
- initialValue:'',
1436
- },
1437
- ]
1438
- },
1439
- {
1440
- title:'Stylistic Set 3',
1441
- name:'stylisticSet3',
1442
- type:'object',
1443
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet3"),
1444
- fields:[
1445
- {
1446
- name:'title',
1447
- type:'string',
1448
- placeholder:'eg. Stylistic Set 3',
1449
- initialValue:'Stylistic Set 3',
1450
- },
1451
- {
1452
- name:'feature',
1453
- type:'string',
1454
- placeholder:'eg. ss03',
1455
- initialValue:'ss03',
1456
- },
1457
- {
1458
- title: 'Custom Text',
1459
- description:'Use the field below to input a word to highlight the feature.',
1460
- name:'customText',
1461
- hidden:true,
1462
- type:"string",
1463
- initialValue:'',
1464
- },
1465
- ]
1466
- },
1467
- {
1468
- title:'Stylistic Set 4',
1469
- name:'stylisticSet4',
1470
- type:'object',
1471
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet4"),
1472
- fields:[
1473
- {
1474
- name:'title',
1475
- type:'string',
1476
- placeholder:'eg. Stylistic Set 4',
1477
- initialValue:'Stylistic Set 4',
1478
- },
1479
- {
1480
- name:'feature',
1481
- type:'string',
1482
- placeholder:'eg. ss04',
1483
- initialValue:'ss04',
1484
- },
1485
- {
1486
- title: 'Custom Text',
1487
- description:'Use the field below to input a word to highlight the feature.',
1488
- name:'customText',
1489
- hidden:true,
1490
- type:"string",
1491
- initialValue:'',
1492
- },
1493
- ]
1494
- },
1495
- {
1496
- title:'Stylistic Set 5',
1497
- name:'stylisticSet5',
1498
- type:'object',
1499
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet5"),
1500
- fields:[
1501
- {
1502
- name:'title',
1503
- type:'string',
1504
- placeholder:'eg. Stylistic Set 5',
1505
- initialValue:'Stylistic Set 5',
1506
- },
1507
- {
1508
- name:'feature',
1509
- type:'string',
1510
- placeholder:'eg. ss05',
1511
- initialValue:'ss05',
1512
- },
1513
- {
1514
- title: 'Custom Text',
1515
- description:'Use the field below to input a word to highlight the feature.',
1516
- name:'customText',
1517
- hidden:true,
1518
- type:"string",
1519
- initialValue:'',
1520
- },
1521
- ]
1522
- },
1523
- {
1524
- title:'Stylistic Set 6',
1525
- name:'stylisticSet6',
1526
- type:'object',
1527
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet6"),
1528
- fields:[
1529
- {
1530
- name:'title',
1531
- type:'string',
1532
- placeholder:'eg. Stylistic Set 6',
1533
- initialValue:'Stylistic Set 6',
1534
- },
1535
- {
1536
- name:'feature',
1537
- type:'string',
1538
- placeholder:'eg. ss06',
1539
- initialValue:'ss06',
1540
- },
1541
- {
1542
- title: 'Custom Text',
1543
- description:'Use the field below to input a word to highlight the feature.',
1544
- name:'customText',
1545
- hidden:true,
1546
- type:"string",
1547
- initialValue:'',
1548
- },
1549
- ]
1550
- },
1551
- {
1552
- title:'Stylistic Set 7',
1553
- name:'stylisticSet7',
1554
- type:'object',
1555
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet7"),
1556
- fields:[
1557
- {
1558
- name:'title',
1559
- type:'string',
1560
- placeholder:'eg. Stylistic Set 7',
1561
- initialValue:'Stylistic Set 7',
1562
- },
1563
- {
1564
- name:'feature',
1565
- type:'string',
1566
- placeholder:'eg. ss07',
1567
- initialValue:'ss07',
1568
- },
1569
- {
1570
- title: 'Custom Text',
1571
- description:'Use the field below to input a word to highlight the feature.',
1572
- name:'customText',
1573
- hidden:true,
1574
- type:"string",
1575
- initialValue:'',
1576
- },
1577
- ]
1578
- },
1579
- {
1580
- title:'Stylistic Set 8',
1581
- name:'stylisticSet8',
1582
- type:'object',
1583
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet8"),
1584
- fields:[
1585
- {
1586
- name:'title',
1587
- type:'string',
1588
- placeholder:'eg. Stylistic Set 8',
1589
- initialValue:'Stylistic Set 8',
1590
- },
1591
- {
1592
- name:'feature',
1593
- type:'string',
1594
- placeholder:'eg. ss08',
1595
- initialValue:'ss08',
1596
- },
1597
- {
1598
- title: 'Custom Text',
1599
- description:'Use the field below to input a word to highlight the feature.',
1600
- name:'customText',
1601
- hidden:true,
1602
- type:"string",
1603
- initialValue:'',
1604
- },
1605
- ]
1606
- },
1607
- {
1608
- title:'Stylistic Set 9',
1609
- name:'stylisticSet9',
1610
- type:'object',
1611
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet9"),
1612
- fields:[
1613
- {
1614
- name:'title',
1615
- type:'string',
1616
- placeholder:'eg. Stylistic Set 9',
1617
- initialValue:'Stylistic Set 9',
1618
- },
1619
- {
1620
- name:'feature',
1621
- type:'string',
1622
- placeholder:'eg. ss09',
1623
- initialValue:'ss09',
1624
- },
1625
- {
1626
- title: 'Custom Text',
1627
- description:'Use the field below to input a word to highlight the feature.',
1628
- name:'customText',
1629
- hidden:true,
1630
- type:"string",
1631
- initialValue:'',
1632
- },
1633
- ]
1634
- },
1635
- {
1636
- title:'Stylistic Set 10',
1637
- name:'stylisticSet10',
1638
- type:'object',
1639
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet10"),
1640
- fields:[
1641
- {
1642
- name:'title',
1643
- type:'string',
1644
- placeholder:'eg. Stylistic Set10',
1645
- initialValue:'Stylistic Set10',
1646
- },
1647
- {
1648
- name:'feature',
1649
- type:'string',
1650
- placeholder:'eg. ss10',
1651
- initialValue:'ss10',
1652
- },
1653
- {
1654
- title: 'Custom Text',
1655
- description:'Use the field below to input a word to highlight the feature.',
1656
- name:'customText',
1657
- hidden:true,
1658
- type:"string",
1659
- initialValue:'',
1660
- },
1661
- ]
1662
- },
1663
- {
1664
- title:'Stylistic Set 11',
1665
- name:'stylisticSet11',
1666
- type:'object',
1667
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet11"),
1668
- fields:[
1669
- {
1670
- name:'title',
1671
- type:'string',
1672
- placeholder:'eg. Stylistic Set 11',
1673
- initialValue:'Stylistic Set 11',
1674
- },
1675
- {
1676
- name:'feature',
1677
- type:'string',
1678
- placeholder:'eg. ss11',
1679
- initialValue:'ss11',
1680
- },
1681
- {
1682
- title: 'Custom Text',
1683
- description:'Use the field below to input a word to highlight the feature.',
1684
- name:'customText',
1685
- hidden:true,
1686
- type:"string",
1687
- initialValue:'',
1688
- },
1689
- ]
1690
- },
1691
- {
1692
- title:'Stylistic Set 12',
1693
- name:'stylisticSet12',
1694
- type:'object',
1695
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet12"),
1696
- fields:[
1697
- {
1698
- name:'title',
1699
- type:'string',
1700
- placeholder:'eg. Stylistic Set 12',
1701
- initialValue:'Stylistic Set 12',
1702
- },
1703
- {
1704
- name:'feature',
1705
- type:'string',
1706
- placeholder:'eg. ss12',
1707
- initialValue:'ss12',
1708
- },
1709
- {
1710
- title: 'Custom Text',
1711
- description:'Use the field below to input a word to highlight the feature.',
1712
- name:'customText',
1713
- hidden:true,
1714
- type:"string",
1715
- initialValue:'',
1716
- },
1717
- ]
1718
- },
1719
- {
1720
- title:'Stylistic Set 13',
1721
- name:'stylisticSet13',
1722
- type:'object',
1723
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet13"),
1724
- fields:[
1725
- {
1726
- name:'title',
1727
- type:'string',
1728
- placeholder:'eg. Stylistic Set 13',
1729
- initialValue:'Stylistic Set 13',
1730
- },
1731
- {
1732
- name:'feature',
1733
- type:'string',
1734
- placeholder:'eg. ss13',
1735
- initialValue:'ss13',
1736
- },
1737
- {
1738
- title: 'Custom Text',
1739
- description:'Use the field below to input a word to highlight the feature.',
1740
- name:'customText',
1741
- hidden:true,
1742
- type:"string",
1743
- initialValue:'',
1744
- },
1745
- ]
1746
- },
1747
- {
1748
- title:'Stylistic Set 14',
1749
- name:'stylisticSet14',
1750
- type:'object',
1751
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet14"),
1752
- fields:[
1753
- {
1754
- name:'title',
1755
- type:'string',
1756
- placeholder:'eg. Stylistic Set 14',
1757
- initialValue:'Stylistic Set 14',
1758
- },
1759
- {
1760
- name:'feature',
1761
- type:'string',
1762
- placeholder:'eg. ss14',
1763
- initialValue:'ss14',
1764
- },
1765
- {
1766
- title: 'Custom Text',
1767
- description:'Use the field below to input a word to highlight the feature.',
1768
- name:'customText',
1769
- hidden:true,
1770
- type:"string",
1771
- initialValue:'',
1772
- },
1773
- ]
1774
- },
1775
- {
1776
- title:'Stylistic Set 15',
1777
- name:'stylisticSet15',
1778
- type:'object',
1779
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet15"),
1780
- fields:[
1781
- {
1782
- name:'title',
1783
- type:'string',
1784
- placeholder:'eg. Stylistic Set 15',
1785
- initialValue:'Stylistic Set 15',
1786
- },
1787
- {
1788
- name:'feature',
1789
- type:'string',
1790
- placeholder:'eg. ss15',
1791
- initialValue:'ss15',
1792
- },
1793
- {
1794
- title: 'Custom Text',
1795
- description:'Use the field below to input a word to highlight the feature.',
1796
- name:'customText',
1797
- hidden:true,
1798
- type:"string",
1799
- initialValue:'',
1800
- },
1801
- ]
1802
- },
1803
- {
1804
- title:'Stylistic Set 16',
1805
- name:'stylisticSet16',
1806
- type:'object',
1807
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet16"),
1808
- fields:[
1809
- {
1810
- name:'title',
1811
- type:'string',
1812
- placeholder:'eg. Stylistic Set 16',
1813
- initialValue:'Stylistic Set 16',
1814
- },
1815
- {
1816
- name:'feature',
1817
- type:'string',
1818
- placeholder:'eg. ss16',
1819
- initialValue:'ss16',
1820
- },
1821
- {
1822
- title: 'Custom Text',
1823
- description:'Use the field below to input a word to highlight the feature.',
1824
- name:'customText',
1825
- hidden:true,
1826
- type:"string",
1827
- initialValue:'',
1828
- },
1829
- ]
1830
- },
1831
- {
1832
- title:'Stylistic Set 17',
1833
- name:'stylisticSet17',
1834
- type:'object',
1835
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet17"),
1836
- fields:[
1837
- {
1838
- name:'title',
1839
- type:'string',
1840
- placeholder:'eg. Stylistic Set 17',
1841
- initialValue:'Stylistic Set 17',
1842
- },
1843
- {
1844
- name:'feature',
1845
- type:'string',
1846
- placeholder:'eg. ss17',
1847
- initialValue:'ss17',
1848
- },
1849
- {
1850
- title: 'Custom Text',
1851
- description:'Use the field below to input a word to highlight the feature.',
1852
- name:'customText',
1853
- hidden:true,
1854
- type:"string",
1855
- initialValue:'',
1856
- },
1857
- ]
1858
- },
1859
- {
1860
- title:'Stylistic Set 18',
1861
- name:'stylisticSet18',
1862
- type:'object',
1863
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet18"),
1864
- fields:[
1865
- {
1866
- name:'title',
1867
- type:'string',
1868
- placeholder:'eg. Stylistic Set 18',
1869
- initialValue:'Stylistic Set 18',
1870
- },
1871
- {
1872
- name:'feature',
1873
- type:'string',
1874
- placeholder:'eg. ss18',
1875
- initialValue:'ss18',
1876
- },
1877
- {
1878
- title: 'Custom Text',
1879
- description:'Use the field below to input a word to highlight the feature.',
1880
- name:'customText',
1881
- hidden:true,
1882
- type:"string",
1883
- initialValue:'',
1884
- },
1885
- ]
1886
- },
1887
- {
1888
- title:'Stylistic Set 19',
1889
- name:'stylisticSet19',
1890
- type:'object',
1891
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet19"),
1892
- fields:[
1893
- {
1894
- name:'title',
1895
- type:'string',
1896
- placeholder:'eg. Stylistic Set 19',
1897
- initialValue:'Stylistic Set 19',
1898
- },
1899
- {
1900
- name:'feature',
1901
- type:'string',
1902
- placeholder:'eg. ss19',
1903
- initialValue:'ss19',
1904
- },
1905
- {
1906
- title: 'Custom Text',
1907
- description:'Use the field below to input a word to highlight the feature.',
1908
- name:'customText',
1909
- hidden:true,
1910
- type:"string",
1911
- initialValue:'',
1912
- },
1913
- ]
1914
- },
1915
- {
1916
- title:'Stylistic Set 20',
1917
- name:'stylisticSet20',
1918
- type:'object',
1919
- hidden: ({parent}) => !parent?.features?.includes("stylisticSet20"),
1920
- fields:[
1921
- {
1922
- name:'title',
1923
- type:'string',
1924
- placeholder:'eg. Stylistic Set 20',
1925
- initialValue:'Stylistic Set 20',
1926
- },
1927
- {
1928
- name:'feature',
1929
- type:'string',
1930
- placeholder:'eg. ss20',
1931
- initialValue:'ss20',
1932
- },
1933
- {
1934
- title: 'Custom Text',
1935
- description:'Use the field below to input a word to highlight the feature.',
1936
- name:'customText',
1937
- hidden:true,
1938
- type:"string",
1939
- initialValue:'',
1940
- },
1941
- ]
1942
- },
1943
-
1944
- ],
1945
- };
1946
-
1947
- /**
1948
- * Factory function to create a customised OpenType field.
1949
- * The static `openTypeField` export remains unchanged for backwards compatibility.
1950
- *
1951
- * @param {object} [options]
1952
- * @param {boolean} [options.customText=false] - Unhide the customText field on each feature
1953
- * @param {'string'|'code'} [options.customTextType='string'] - Type for customText field.
1954
- * Use 'code' for an HTML code editor (requires @sanity/code-input plugin).
1955
- * @returns {object} Sanity field definition
1956
- */
1957
- export function createOpenTypeField({
1958
- customText = false,
1959
- customTextType = 'string',
1960
- } = {}) {
1961
- if (!customText) return { ...openTypeField };
1962
-
1963
- // Deep clone fields and unhide/retype customText on each feature object
1964
- const fields = openTypeField.fields.map(field => {
1965
- // Skip the top-level 'features' checkbox array
1966
- if (field.type !== 'object' || !field.fields) return field;
1967
-
1968
- const updatedSubfields = field.fields.map(subfield => {
1969
- if (subfield.name !== 'customText') return subfield;
1970
-
1971
- const updated = { ...subfield, hidden: false };
1972
-
1973
- if (customTextType === 'code') {
1974
- updated.type = 'code';
1975
- updated.options = {
1976
- language: 'html',
1977
- languageAlternatives: [
1978
- { title: 'HTML', value: 'html' },
1979
- ],
1980
- withFilename: false,
1981
- };
1982
- updated.description = 'Use the field below to input custom text to highlight the feature. Wrap featured characters in <span class="bold">CHARACTER</span>.';
1983
- }
1984
-
1985
- return updated;
1986
- });
1987
-
1988
- return { ...field, fields: updatedSubfields };
1989
- });
1990
-
1991
- return {
1992
- ...openTypeField,
1993
- fields,
1994
- };
1995
- }
1
+ // Sanity schema field definition for the OpenType features section — uses SetOTF component for auto-detection
2
+ import { SetOTF } from '../components/SetOTF.jsx';
3
+
4
+ export const openTypeField = {
5
+ title: 'Opentype',
6
+ name: 'openType',
7
+ type: 'object',
8
+ group: 'openType',
9
+ hidden: false,
10
+ components: { input: SetOTF },
11
+ options: { collapsible: true },
12
+ fields: [
13
+ {
14
+ title:'Features',
15
+ name:'features',
16
+ type:'array',
17
+ of:[{type:'string'}],
18
+ options:{
19
+ list: [
20
+ { title: "All Alternates", value: "allAlternates"},
21
+ { title: "All Caps", value: "allCaps"},
22
+ { title: "Alternate Annotation", value: "alternateAnnotation"},
23
+ { title: "Alternative Fractions", value: "alternativeFractions"},
24
+ { title: "Capitals To Small Caps", value: "capitalsToSmallCaps"},
25
+ { title: "Capitals to Petite Caps", value: "capitalsToPetiteCaps"},
26
+ { title: "Case Sensitive Forms", value: "caseSensitiveForms"},
27
+ { title: "Contextual Alternates", value: "contextualAlternates"},
28
+ { title: "Contextual Ligatures", value: "contextualLigatures"},
29
+ { title: "Contextual Swash", value: "contextualSwash"},
30
+ { title: "Denominator", value: "denominator"},
31
+ { title: "Discretionary Ligatures", value: "discretionaryLigatures"},
32
+ { title: "Fractions", value: "fractions"},
33
+ { title: "Glyph Decomposition", value: "glyphDecomposition"},
34
+ { title: "Historical Forms", value: "historicalForms"},
35
+ { title: "Historical Ligatures", value: "historicalLigatures"},
36
+ { title: "Initial Form", value: "initialForm"},
37
+ { title: "Isolated Form", value: "isolatedForm"},
38
+ { title: "Justified Alternates", value: "justifiedAlternates"},
39
+ { title: "Localized Forms", value: "localizedForms"},
40
+ { title: "Mark Positioning", value: "markPositioning"},
41
+ { title: "Mark Positioning via Subs", value: "markPositioningViaSubs"},
42
+ { title: "Mark to Mark Positioning", value: "markToMarkPositioning"},
43
+ { title: "Mathematical Greek", value: "mathematicalGreek"},
44
+ { title: "Medial Form", value: "medialForm"},
45
+ { title: "Numerator", value: "numerator"},
46
+ { title: "Ordinals", value: "ordinals"},
47
+ { title: "Ornaments", value: "ornaments"},
48
+ { title: "Petite Caps", value: "petiteCaps"},
49
+ { title: "Proportional Lining", value: "proportionalLining"},
50
+ { title: "Proportional Oldstyle", value: "proportionalOldstyle"},
51
+ { title: "Required Ligatures", value: "requiredLigatures"},
52
+ { title: "Scientific Inferiors", value: "scientificInferiors"},
53
+ { title: "Slashed Zero", value: "slashedZero"},
54
+ { title: "Small Caps", value: "smallCaps"},
55
+ { title: "Standard Ligatures", value: "standardLigatures"},
56
+ { title: "Stylistic Alternates", value: "stylisticAlternates"},
57
+ { title: "Subscript", value: "subscript"},
58
+ { title: "Superscript", value: "superscript"},
59
+ { title: "Swash", value: "swash"},
60
+ { title: "Tabular Lining", value: "tabularLining"},
61
+ { title: "Tabular Oldstyle", value: "tabularOldstyle"},
62
+ { title: "Terminal Form", value: "terminalForm"},
63
+ { title: "Titling Alternates", value: "titlingAlternates"},
64
+ { title: "Unicase", value: "unicase"},
65
+ { title: "All Stylistic Sets", value: "allStylisticSets"},
66
+ { title: "Stylistic Set 1", value: "stylisticSet1"},
67
+ { title: "Stylistic Set 2", value: "stylisticSet2"},
68
+ { title: "Stylistic Set 3", value: "stylisticSet3"},
69
+ { title: "Stylistic Set 4", value: "stylisticSet4"},
70
+ { title: "Stylistic Set 5", value: "stylisticSet5"},
71
+ { title: "Stylistic Set 6", value: "stylisticSet6"},
72
+ { title: "Stylistic Set 7", value: "stylisticSet7"},
73
+ { title: "Stylistic Set 8", value: "stylisticSet8"},
74
+ { title: "Stylistic Set 9", value: "stylisticSet9"},
75
+ { title: "Stylistic Set 10", value: "stylisticSet10"},
76
+ { title: "Stylistic Set 11", value: "stylisticSet11"},
77
+ { title: "Stylistic Set 12", value: "stylisticSet12"},
78
+ { title: "Stylistic Set 13", value: "stylisticSet13"},
79
+ { title: "Stylistic Set 14", value: "stylisticSet14"},
80
+ { title: "Stylistic Set 15", value: "stylisticSet15"},
81
+ { title: "Stylistic Set 16", value: "stylisticSet16"},
82
+ { title: "Stylistic Set 17", value: "stylisticSet17"},
83
+ { title: "Stylistic Set 18", value: "stylisticSet18"},
84
+ { title: "Stylistic Set 19", value: "stylisticSet19"},
85
+ { title: "Stylistic Set 20", value: "stylisticSet20"}
86
+ ],
87
+ layout: 'checkbox',
88
+ },
89
+ },
90
+ {
91
+ title:'All Alternates',
92
+ name:'allAlternates',
93
+ type:'object',
94
+ hidden: ({parent}) => !parent?.features?.includes("allAlternates"),
95
+ fields:[
96
+ {
97
+ name:'title',
98
+ type:'string',
99
+ placeholder:'eg. All Alternates',
100
+ initialValue:'All Alternates',
101
+ },
102
+ {
103
+ name:'feature',
104
+ type:'string',
105
+ placeholder:'eg. aalt',
106
+ initialValue:'aalt',
107
+ },
108
+ {
109
+ title: 'Custom Text',
110
+ description:'Use the field below to input a word to highlight the feature.',
111
+ name:'customText',
112
+ hidden:true,
113
+ type:"string",
114
+ initialValue:'',
115
+ },
116
+ ]
117
+ },
118
+ {
119
+ title:'All Caps',
120
+ name:'allCaps',
121
+ type:'object',
122
+ hidden: ({parent}) => !parent?.features?.includes("allCaps"),
123
+ fields:[
124
+ {
125
+ name:'title',
126
+ type:'string',
127
+ placeholder:'eg. allCaps',
128
+ initialValue:'allCaps',
129
+ },
130
+ {
131
+ name:'feature',
132
+ type:'string',
133
+ placeholder:'eg. case cpsp',
134
+ initialValue:'case cpsp',
135
+ },
136
+ {
137
+ title: 'Custom Text',
138
+ description:'Use the field below to input a word to highlight the feature.',
139
+ name:'customText',
140
+ hidden:true,
141
+ type:"string",
142
+ initialValue:'',
143
+ },
144
+ ]
145
+ },
146
+ {
147
+ title:'Alternate Annotation',
148
+ name:'alternateAnnotation',
149
+ type:'object',
150
+ hidden: ({parent}) => !parent?.features?.includes("alternateAnnotation"),
151
+ fields:[
152
+ {
153
+ name:'title',
154
+ type:'string',
155
+ placeholder:'eg. Alternate Annotation',
156
+ initialValue:'Alternate Annotation',
157
+ },
158
+ {
159
+ name:'feature',
160
+ type:'string',
161
+ placeholder:'eg. nalt',
162
+ initialValue:'nalt',
163
+ },
164
+ {
165
+ title: 'Custom Text',
166
+ description:'Use the field below to input a word to highlight the feature.',
167
+ name:'customText',
168
+ hidden:true,
169
+ type:"string",
170
+ initialValue:'',
171
+ },
172
+ ]
173
+ },
174
+ {
175
+ title:'Alternative Fractions',
176
+ name:'alternativeFractions',
177
+ type:'object',
178
+ hidden: ({parent}) => !parent?.features?.includes("alternativeFractions"),
179
+ fields:[
180
+ {
181
+ name:'title',
182
+ type:'string',
183
+ placeholder:'eg. Alternative Fractions',
184
+ initialValue:'Alternative Fractions',
185
+ },
186
+ {
187
+ name:'feature',
188
+ type:'string',
189
+ placeholder:'eg. afrc',
190
+ initialValue:'afrc',
191
+ },
192
+ {
193
+ title: 'Custom Text',
194
+ description:'Use the field below to input a word to highlight the feature.',
195
+ name:'customText',
196
+ hidden:true,
197
+ type:"string",
198
+ initialValue:'',
199
+ },
200
+ ]
201
+ },
202
+ {
203
+ title:'Capitals To Small Caps',
204
+ name:'capitalsToSmallCaps',
205
+ type:'object',
206
+ hidden: ({parent}) => !parent?.features?.includes("capitalsToSmallCaps"),
207
+ fields:[
208
+ {
209
+ name:'title',
210
+ type:'string',
211
+ placeholder:'eg. Capitals to Small Caps',
212
+ initialValue:'Capitals to Small Caps',
213
+ },
214
+ {
215
+ name:'feature',
216
+ type:'string',
217
+ placeholder:'eg. c2sc',
218
+ initialValue:'c2sc',
219
+ },
220
+ {
221
+ title: 'Custom Text',
222
+ description:'Use the field below to input a word to highlight the feature.',
223
+ name:'customText',
224
+ hidden:true,
225
+ type:"string",
226
+ initialValue:'',
227
+ },
228
+ ]
229
+ },
230
+ {
231
+ title:'Capitals to Petite Caps',
232
+ name:'capitalsToPetiteCaps',
233
+ type:'object',
234
+ hidden: ({parent}) => !parent?.features?.includes("capitalsToPetiteCaps"),
235
+ fields:[
236
+ {
237
+ name:'title',
238
+ type:'string',
239
+ placeholder:'eg. Capitals to Petite Caps',
240
+ initialValue:'Capitals to Petite Caps',
241
+ },
242
+ {
243
+ name:'feature',
244
+ type:'string',
245
+ placeholder:'eg. c2pc',
246
+ initialValue:'c2pc',
247
+ },
248
+ {
249
+ title: 'Custom Text',
250
+ description:'Use the field below to input a word to highlight the feature.',
251
+ name:'customText',
252
+ hidden:true,
253
+ type:"string",
254
+ initialValue:'',
255
+ },
256
+ ]
257
+ },
258
+ {
259
+ title:'Case Sensitive Forms',
260
+ name:'caseSensitiveForms',
261
+ type:'object',
262
+ hidden: ({parent}) => !parent?.features?.includes("caseSensitiveForms"),
263
+ fields:[
264
+ {
265
+ name:'title',
266
+ type:'string',
267
+ placeholder:'eg. Case Sensitive Forms',
268
+ initialValue:'Case Sensitive Forms',
269
+ },
270
+ {
271
+ name:'feature',
272
+ type:'string',
273
+ placeholder:'eg. case',
274
+ initialValue:'case',
275
+ },
276
+ {
277
+ title: 'Custom Text',
278
+ description:'Use the field below to input a word to highlight the feature.',
279
+ name:'customText',
280
+ hidden:true,
281
+ type:"string",
282
+ initialValue:'',
283
+ },
284
+ ]
285
+ },
286
+ {
287
+ title:'Contextual Alternates',
288
+ name:'contextualAlternates',
289
+ type:'object',
290
+ hidden: ({parent}) => !parent?.features?.includes("contextualAlternates"),
291
+ fields:[
292
+ {
293
+ name:'title',
294
+ type:'string',
295
+ placeholder:'eg. Contextual Alternates',
296
+ initialValue:'Contextual Alternates',
297
+ },
298
+ {
299
+ name:'feature',
300
+ type:'string',
301
+ placeholder:'eg. calt',
302
+ initialValue:'calt',
303
+ },
304
+ {
305
+ title: 'Custom Text',
306
+ description:'Use the field below to input a word to highlight the feature.',
307
+ name:'customText',
308
+ hidden:true,
309
+ type:"string",
310
+ initialValue:'',
311
+ },
312
+ ]
313
+ },
314
+ {
315
+ title:'Contextual Ligatures',
316
+ name:'contextualLigatures',
317
+ type:'object',
318
+ hidden: ({parent}) => !parent?.features?.includes("contextualLigatures"),
319
+ fields:[
320
+ {
321
+ name:'title',
322
+ type:'string',
323
+ placeholder:'eg. Contextual Ligatures',
324
+ initialValue:'Contextual Ligatures',
325
+ },
326
+ {
327
+ name:'feature',
328
+ type:'string',
329
+ placeholder:'eg. clig',
330
+ initialValue:'clig',
331
+ },
332
+ {
333
+ title: 'Custom Text',
334
+ description:'Use the field below to input a word to highlight the feature.',
335
+ name:'customText',
336
+ hidden:true,
337
+ type:"string",
338
+ initialValue:'',
339
+ },
340
+ ]
341
+ },
342
+ {
343
+ title:'Contextual Swash',
344
+ name:'contextualSwash',
345
+ type:'object',
346
+ hidden: ({parent}) => !parent?.features?.includes("contextualSwash"),
347
+ fields:[
348
+ {
349
+ name:'title',
350
+ type:'string',
351
+ placeholder:'eg. Contextual Swash',
352
+ initialValue:'Contextual Swash',
353
+ },
354
+ {
355
+ name:'feature',
356
+ type:'string',
357
+ placeholder:'eg. cswh',
358
+ initialValue:'cswh',
359
+ },
360
+ {
361
+ title: 'Custom Text',
362
+ description:'Use the field below to input a word to highlight the feature.',
363
+ name:'customText',
364
+ hidden:true,
365
+ type:"string",
366
+ initialValue:'',
367
+ },
368
+ ]
369
+ },
370
+ {
371
+ title:'Denominator',
372
+ name:'denominator',
373
+ type:'object',
374
+ hidden: ({parent}) => !parent?.features?.includes("denominator"),
375
+ fields:[
376
+ {
377
+ name:'title',
378
+ type:'string',
379
+ placeholder:'eg. Denominator',
380
+ initialValue:'Denominator',
381
+ },
382
+ {
383
+ name:'feature',
384
+ type:'string',
385
+ placeholder:'eg. dnom',
386
+ initialValue:'dnom',
387
+ },
388
+ {
389
+ title: 'Custom Text',
390
+ description:'Use the field below to input a word to highlight the feature.',
391
+ name:'customText',
392
+ hidden:true,
393
+ type:"string",
394
+ initialValue:'',
395
+ },
396
+ ]
397
+ },
398
+ {
399
+ title:'Discretionary Ligatures',
400
+ name:'discretionaryLigatures',
401
+ type:'object',
402
+ hidden: ({parent}) => !parent?.features?.includes("discretionaryLigatures"),
403
+ fields:[
404
+ {
405
+ name:'title',
406
+ type:'string',
407
+ placeholder:'eg. Discretionary Ligatures',
408
+ initialValue:'Discretionary Ligatures',
409
+ },
410
+ {
411
+ name:'feature',
412
+ type:'string',
413
+ placeholder:'eg. dlig',
414
+ initialValue:'dlig',
415
+ },
416
+ {
417
+ title: 'Custom Text',
418
+ description:'Use the field below to input a word to highlight the feature.',
419
+ name:'customText',
420
+ hidden:true,
421
+ type:"string",
422
+ initialValue:'',
423
+ },
424
+ ]
425
+ },
426
+ {
427
+ title:'Fractions',
428
+ name:'fractions',
429
+ type:'object',
430
+ hidden: ({parent}) => !parent?.features?.includes("fractions"),
431
+ fields:[
432
+ {
433
+ name:'title',
434
+ type:'string',
435
+ placeholder:'eg. Fractions',
436
+ initialValue:'Fractions',
437
+ },
438
+ {
439
+ name:'feature',
440
+ type:'string',
441
+ placeholder:'eg. frac',
442
+ initialValue:'frac',
443
+ },
444
+ {
445
+ title: 'Custom Text',
446
+ description:'Use the field below to input a word to highlight the feature.',
447
+ name:'customText',
448
+ hidden:true,
449
+ type:"string",
450
+ initialValue:'',
451
+ },
452
+ ]
453
+ },
454
+ {
455
+ title:'Glyph Decomposition',
456
+ name:'glyphDecomposition',
457
+ type:'object',
458
+ hidden: ({parent}) => !parent?.features?.includes("glyphDecomposition"),
459
+ fields:[
460
+ {
461
+ name:'title',
462
+ type:'string',
463
+ placeholder:'eg. Glyph Decomposition',
464
+ initialValue:'Glyph Decomposition',
465
+ },
466
+ {
467
+ name:'feature',
468
+ type:'string',
469
+ placeholder:'eg. ccmp',
470
+ initialValue:'ccmp',
471
+ },
472
+ {
473
+ title: 'Custom Text',
474
+ description:'Use the field below to input a word to highlight the feature.',
475
+ name:'customText',
476
+ hidden:true,
477
+ type:"string",
478
+ initialValue:'',
479
+ },
480
+ ]
481
+ },
482
+ {
483
+ title:'Historical Forms',
484
+ name:'historicalForms',
485
+ type:'object',
486
+ hidden: ({parent}) => !parent?.features?.includes("historicalForms"),
487
+ fields:[
488
+ {
489
+ name:'title',
490
+ type:'string',
491
+ placeholder:'eg. Historical Forms',
492
+ initialValue:'Historical Forms',
493
+ },
494
+ {
495
+ name:'feature',
496
+ type:'string',
497
+ placeholder:'eg. hist',
498
+ initialValue:'hist',
499
+ },
500
+ {
501
+ title: 'Custom Text',
502
+ description:'Use the field below to input a word to highlight the feature.',
503
+ name:'customText',
504
+ hidden:true,
505
+ type:"string",
506
+ initialValue:'',
507
+ },
508
+ ]
509
+ },
510
+ {
511
+ title:'Historical Ligatures',
512
+ name:'historicalLigatures',
513
+ type:'object',
514
+ hidden: ({parent}) => !parent?.features?.includes("historicalLigatures"),
515
+ fields:[
516
+ {
517
+ name:'title',
518
+ type:'string',
519
+ placeholder:'eg. Historical Ligatures',
520
+ initialValue:'Historical Ligatures',
521
+ },
522
+ {
523
+ name:'feature',
524
+ type:'string',
525
+ placeholder:'eg. hlig',
526
+ initialValue:'hlig',
527
+ },
528
+ {
529
+ title: 'Custom Text',
530
+ description:'Use the field below to input a word to highlight the feature.',
531
+ name:'customText',
532
+ hidden:true,
533
+ type:"string",
534
+ initialValue:'',
535
+ },
536
+ ]
537
+ },
538
+ {
539
+ title:'Initial Form',
540
+ name:'initialForm',
541
+ type:'object',
542
+ hidden: ({parent}) => !parent?.features?.includes("initialForm"),
543
+ fields:[
544
+ {
545
+ name:'title',
546
+ type:'string',
547
+ placeholder:'eg. Initial Form',
548
+ initialValue:'Initial Form',
549
+ },
550
+ {
551
+ name:'feature',
552
+ type:'string',
553
+ placeholder:'eg. init',
554
+ initialValue:'init',
555
+ },
556
+ {
557
+ title: 'Custom Text',
558
+ description:'Use the field below to input a word to highlight the feature.',
559
+ name:'customText',
560
+ hidden:true,
561
+ type:"string",
562
+ initialValue:'',
563
+ },
564
+ ]
565
+ },
566
+ {
567
+ title:'Isolated Form',
568
+ name:'isolatedForm',
569
+ type:'object',
570
+ hidden: ({parent}) => !parent?.features?.includes("isolatedForm"),
571
+ fields:[
572
+ {
573
+ name:'title',
574
+ type:'string',
575
+ placeholder:'eg. Isolated Form',
576
+ initialValue:'Isolated Form',
577
+ },
578
+ {
579
+ name:'feature',
580
+ type:'string',
581
+ placeholder:'eg. isol',
582
+ initialValue:'isol',
583
+ },
584
+ {
585
+ title: 'Custom Text',
586
+ description:'Use the field below to input a word to highlight the feature.',
587
+ name:'customText',
588
+ hidden:true,
589
+ type:"string",
590
+ initialValue:'',
591
+ },
592
+ ]
593
+ },
594
+ {
595
+ title:'Justified Alternates',
596
+ name:'justifiedAlternates',
597
+ type:'object',
598
+ hidden: ({parent}) => !parent?.features?.includes("justifiedAlternates"),
599
+ fields:[
600
+ {
601
+ name:'title',
602
+ type:'string',
603
+ placeholder:'eg. Justification Alternates',
604
+ initialValue:'Justification Alternates',
605
+ },
606
+ {
607
+ name:'feature',
608
+ type:'string',
609
+ placeholder:'eg. jalt',
610
+ initialValue:'jalt',
611
+ },
612
+ {
613
+ title: 'Custom Text',
614
+ description:'Use the field below to input a word to highlight the feature.',
615
+ name:'customText',
616
+ hidden:true,
617
+ type:"string",
618
+ initialValue:'',
619
+ },
620
+ ]
621
+ },
622
+ {
623
+ title:'Localized Forms',
624
+ name:'localizedForms',
625
+ type:'object',
626
+ hidden: ({parent}) => !parent?.features?.includes("localizedForms"),
627
+ fields:[
628
+ {
629
+ name:'title',
630
+ type:'string',
631
+ placeholder:'eg. Localized Forms',
632
+ initialValue:'Localized Forms',
633
+ },
634
+ {
635
+ name:'feature',
636
+ type:'string',
637
+ placeholder:'eg. locl',
638
+ initialValue:'locl',
639
+ },
640
+ {
641
+ title: 'Custom Text',
642
+ description:'Use the field below to input a word to highlight the feature.',
643
+ name:'customText',
644
+ hidden:true,
645
+ type:"string",
646
+ initialValue:'',
647
+ },
648
+ ]
649
+ },
650
+ {
651
+ title:'Mark Positioning',
652
+ name:'markPositioning',
653
+ type:'object',
654
+ hidden: ({parent}) => !parent?.features?.includes("markPositioning"),
655
+ fields:[
656
+ {
657
+ name:'title',
658
+ type:'string',
659
+ placeholder:'eg. Mark Positioning',
660
+ initialValue:'Mark Positioning',
661
+ },
662
+ {
663
+ name:'feature',
664
+ type:'string',
665
+ placeholder:'eg. mark',
666
+ initialValue:'mark',
667
+ },
668
+ {
669
+ title: 'Custom Text',
670
+ description:'Use the field below to input a word to highlight the feature.',
671
+ name:'customText',
672
+ hidden:true,
673
+ type:"string",
674
+ initialValue:'',
675
+ },
676
+ ]
677
+ },
678
+ {
679
+ title:'Mark Positioning via Subs',
680
+ name:'markPositioningViaSubs',
681
+ type:'object',
682
+ hidden: ({parent}) => !parent?.features?.includes("markPositioningViaSubs"),
683
+ fields:[
684
+ {
685
+ name:'title',
686
+ type:'string',
687
+ placeholder:'eg. Mark Positioning via Subs',
688
+ initialValue:'Mark Positioning via Subs',
689
+ },
690
+ {
691
+ name:'feature',
692
+ type:'string',
693
+ placeholder:'eg. mset',
694
+ initialValue:'mset',
695
+ },
696
+ {
697
+ title: 'Custom Text',
698
+ description:'Use the field below to input a word to highlight the feature.',
699
+ name:'customText',
700
+ hidden:true,
701
+ type:"string",
702
+ initialValue:'',
703
+ },
704
+ ]
705
+ },
706
+ {
707
+ title:'Mark to Mark Positioning',
708
+ name:'markToMarkPositioning',
709
+ type:'object',
710
+ hidden: ({parent}) => !parent?.features?.includes("markToMarkPositioning"),
711
+ fields:[
712
+ {
713
+ name:'title',
714
+ type:'string',
715
+ placeholder:'eg. Mark to Mark Positioning',
716
+ initialValue:'Mark to Mark Positioning',
717
+ },
718
+ {
719
+ name:'feature',
720
+ type:'string',
721
+ placeholder:'eg. mkmk',
722
+ initialValue:'mkmk',
723
+ },
724
+ {
725
+ title: 'Custom Text',
726
+ description:'Use the field below to input a word to highlight the feature.',
727
+ name:'customText',
728
+ hidden:true,
729
+ type:"string",
730
+ initialValue:'',
731
+ },
732
+ ]
733
+ },
734
+ {
735
+ title:'Mathematical Greek',
736
+ name:'mathematicalGreek',
737
+ type:'object',
738
+ hidden: ({parent}) => !parent?.features?.includes("mathematicalGreek"),
739
+ fields:[
740
+ {
741
+ name:'title',
742
+ type:'string',
743
+ placeholder:'eg. Mathematical Greek',
744
+ initialValue:'Mathematical Greek',
745
+ },
746
+ {
747
+ name:'feature',
748
+ type:'string',
749
+ placeholder:'eg. mgrk',
750
+ initialValue:'mgrk',
751
+ },
752
+ {
753
+ title: 'Custom Text',
754
+ description:'Use the field below to input a word to highlight the feature.',
755
+ name:'customText',
756
+ hidden:true,
757
+ type:"string",
758
+ initialValue:'',
759
+ },
760
+ ]
761
+ },
762
+ {
763
+ title:'Medial Form',
764
+ name:'medialForm',
765
+ type:'object',
766
+ hidden: ({parent}) => !parent?.features?.includes("medialForm"),
767
+ fields:[
768
+ {
769
+ name:'title',
770
+ type:'string',
771
+ placeholder:'eg. Medial Form',
772
+ initialValue:'Medial Form',
773
+ },
774
+ {
775
+ name:'feature',
776
+ type:'string',
777
+ placeholder:'eg. medi',
778
+ initialValue:'medi',
779
+ },
780
+ {
781
+ title: 'Custom Text',
782
+ description:'Use the field below to input a word to highlight the feature.',
783
+ name:'customText',
784
+ hidden:true,
785
+ type:"string",
786
+ initialValue:'',
787
+ },
788
+ ]
789
+ },
790
+ {
791
+ title:'Numerator',
792
+ name:'numerator',
793
+ type:'object',
794
+ hidden: ({parent}) => !parent?.features?.includes("numerator"),
795
+ fields:[
796
+ {
797
+ name:'title',
798
+ type:'string',
799
+ placeholder:'eg. Numerator',
800
+ initialValue:'Numerator',
801
+ },
802
+ {
803
+ name:'feature',
804
+ type:'string',
805
+ placeholder:'eg. numr',
806
+ initialValue:'numr',
807
+ },
808
+ {
809
+ title: 'Custom Text',
810
+ description:'Use the field below to input a word to highlight the feature.',
811
+ name:'customText',
812
+ hidden:true,
813
+ type:"string",
814
+ initialValue:'',
815
+ },
816
+ ]
817
+ },
818
+ {
819
+ title:'Ordinals',
820
+ name:'ordinals',
821
+ type:'object',
822
+ hidden: ({parent}) => !parent?.features?.includes("ordinals"),
823
+ fields:[
824
+ {
825
+ name:'title',
826
+ type:'string',
827
+ placeholder:'eg. Ordinals',
828
+ initialValue:'Ordinals',
829
+ },
830
+ {
831
+ name:'feature',
832
+ type:'string',
833
+ placeholder:'eg. ordn',
834
+ initialValue:'ordn',
835
+ },
836
+ {
837
+ title: 'Custom Text',
838
+ description:'Use the field below to input a word to highlight the feature.',
839
+ name:'customText',
840
+ hidden:true,
841
+ type:"string",
842
+ initialValue:'',
843
+ },
844
+ ]
845
+ },
846
+ {
847
+ title:'Ornaments',
848
+ name:'ornaments',
849
+ type:'object',
850
+ hidden: ({parent}) => !parent?.features?.includes("ornaments"),
851
+ fields:[
852
+ {
853
+ name:'title',
854
+ type:'string',
855
+ placeholder:'eg. Ornaments',
856
+ initialValue:'Ornaments',
857
+ },
858
+ {
859
+ name:'feature',
860
+ type:'string',
861
+ placeholder:'eg. ornm',
862
+ initialValue:'ornm',
863
+ },
864
+ {
865
+ title: 'Custom Text',
866
+ description:'Use the field below to input a word to highlight the feature.',
867
+ name:'customText',
868
+ hidden:true,
869
+ type:"string",
870
+ initialValue:'',
871
+ },
872
+ ]
873
+ },
874
+ {
875
+ title:'Petite Caps',
876
+ name:'petiteCaps',
877
+ type:'object',
878
+ hidden: ({parent}) => !parent?.features?.includes("petiteCaps"),
879
+ fields:[
880
+ {
881
+ name:'title',
882
+ type:'string',
883
+ placeholder:'eg. Petite Caps',
884
+ initialValue:'Petite Caps',
885
+ },
886
+ {
887
+ name:'feature',
888
+ type:'string',
889
+ placeholder:'eg. pcap',
890
+ initialValue:'pcap',
891
+ },
892
+ {
893
+ title: 'Custom Text',
894
+ description:'Use the field below to input a word to highlight the feature.',
895
+ name:'customText',
896
+ hidden:true,
897
+ type:"string",
898
+ initialValue:'',
899
+ },
900
+ ]
901
+ },
902
+ {
903
+ title:'Proportional Lining',
904
+ name:'proportionalLining',
905
+ type:'object',
906
+ hidden: ({parent}) => !parent?.features?.includes("proportionalLining"),
907
+ fields:[
908
+ {
909
+ name:'title',
910
+ type:'string',
911
+ placeholder:'eg. Proportional Lining',
912
+ initialValue:'Proportional Lining',
913
+ },
914
+ {
915
+ name:'feature',
916
+ type:'string',
917
+ placeholder:'eg. pnum lnum',
918
+ initialValue:'pnum lnum',
919
+ },
920
+ {
921
+ title: 'Custom Text',
922
+ description:'Use the field below to input a word to highlight the feature.',
923
+ name:'customText',
924
+ hidden:true,
925
+ type:"string",
926
+ initialValue:'',
927
+ },
928
+ ]
929
+ },
930
+ {
931
+ title:'Proportional Oldstyle',
932
+ name:'proportionalOldstyle',
933
+ type:'object',
934
+ hidden: ({parent}) => !parent?.features?.includes("proportionalOldstyle"),
935
+ fields:[
936
+ {
937
+ name:'title',
938
+ type:'string',
939
+ placeholder:'eg. Proportional Oldstyle',
940
+ initialValue:'Proportional Oldstyle',
941
+ },
942
+ {
943
+ name:'feature',
944
+ type:'string',
945
+ placeholder:'eg. pnum onum',
946
+ initialValue:'pnum onum',
947
+ },
948
+ {
949
+ title:'Show on Glyph Grid',
950
+ name:'glyphGrid',
951
+ type:'boolean',
952
+ initialValue:false,
953
+ },
954
+ {
955
+ title: 'Custom Text',
956
+ description:'Use the field below to input a word to highlight the feature.',
957
+ name:'customText',
958
+ hidden:true,
959
+ type:"string",
960
+ initialValue:'',
961
+ },
962
+ ]
963
+ },
964
+ {
965
+ title:'Required Ligatures',
966
+ name:'requiredLigatures',
967
+ type:'object',
968
+ hidden: ({parent}) => !parent?.features?.includes("requiredLigatures"),
969
+ fields:[
970
+ {
971
+ name:'title',
972
+ type:'string',
973
+ placeholder:'eg. Required Ligatures',
974
+ initialValue:'Required Ligatures',
975
+ },
976
+ {
977
+ name:'feature',
978
+ type:'string',
979
+ placeholder:'eg. rlig',
980
+ initialValue:'rlig',
981
+ },
982
+ {
983
+ title: 'Custom Text',
984
+ description:'Use the field below to input a word to highlight the feature.',
985
+ name:'customText',
986
+ hidden:true,
987
+ type:"string",
988
+ initialValue:'',
989
+ },
990
+ ]
991
+ },
992
+ {
993
+ title:'Scientific Inferiors',
994
+ name:'scientificInferiors',
995
+ type:'object',
996
+ hidden: ({parent}) => !parent?.features?.includes("scientificInferiors"),
997
+ fields:[
998
+ {
999
+ name:'title',
1000
+ type:'string',
1001
+ placeholder:'eg. Scientific Inferiors',
1002
+ initialValue:'Scientific Inferiors',
1003
+ },
1004
+ {
1005
+ name:'feature',
1006
+ type:'string',
1007
+ placeholder:'eg. sinf',
1008
+ initialValue:'sinf',
1009
+ },
1010
+ {
1011
+ title: 'Custom Text',
1012
+ description:'Use the field below to input a word to highlight the feature.',
1013
+ name:'customText',
1014
+ hidden:true,
1015
+ type:"string",
1016
+ initialValue:'',
1017
+ },
1018
+ ]
1019
+ },
1020
+ {
1021
+ title:'Slashed Zero',
1022
+ name:'slashedZero',
1023
+ type:'object',
1024
+ hidden: ({parent}) => !parent?.features?.includes("slashedZero"),
1025
+ fields:[
1026
+ {
1027
+ name:'title',
1028
+ type:'string',
1029
+ placeholder:'eg. Slashed Zero',
1030
+ initialValue:'Slashed Zero',
1031
+ },
1032
+ {
1033
+ name:'feature',
1034
+ type:'string',
1035
+ placeholder:'eg. zero',
1036
+ initialValue:'zero',
1037
+ },
1038
+ {
1039
+ title: 'Custom Text',
1040
+ description:'Use the field below to input a word to highlight the feature.',
1041
+ name:'customText',
1042
+ hidden:true,
1043
+ type:"string",
1044
+ initialValue:'',
1045
+ },
1046
+ ]
1047
+ },
1048
+ {
1049
+ title:'Small Caps',
1050
+ name:'smallCaps',
1051
+ type:'object',
1052
+ hidden: ({parent}) => !parent?.features?.includes("smallCaps"),
1053
+ fields:[
1054
+ {
1055
+ name:'title',
1056
+ type:'string',
1057
+ placeholder:'eg. smallCaps',
1058
+ initialValue:'Small Caps',
1059
+ },
1060
+ {
1061
+ name:'feature',
1062
+ type:'string',
1063
+ placeholder:'eg. smcp',
1064
+ initialValue:'smcp',
1065
+ },
1066
+ {
1067
+ title: 'Custom Text',
1068
+ description:'Use the field below to input a word to highlight the feature.',
1069
+ name:'customText',
1070
+ hidden:true,
1071
+ type:"string",
1072
+ initialValue:'',
1073
+ },
1074
+ ]
1075
+ },
1076
+ {
1077
+ title:'Standard Ligatures',
1078
+ name:'standardLigatures',
1079
+ type:'object',
1080
+ hidden: ({parent}) => !parent?.features?.includes("standardLigatures"),
1081
+ fields:[
1082
+ {
1083
+ name:'title',
1084
+ type:'string',
1085
+ placeholder:'eg. StandardLigatures',
1086
+ initialValue:'StandardLigatures',
1087
+ },
1088
+ {
1089
+ name:'feature',
1090
+ type:'string',
1091
+ placeholder:'eg. liga',
1092
+ initialValue:'liga',
1093
+ },
1094
+ {
1095
+ title: 'Custom Text',
1096
+ description:'Use the field below to input a word to highlight the feature.',
1097
+ name:'customText',
1098
+ hidden:true,
1099
+ type:"string",
1100
+ initialValue:'',
1101
+ },
1102
+ ]
1103
+ },
1104
+ {
1105
+ title:'Stylistic Alternates',
1106
+ name:'stylisticAlternates',
1107
+ type:'object',
1108
+ hidden: ({parent}) => !parent?.features?.includes("stylisticAlternates"),
1109
+ fields:[
1110
+ {
1111
+ name:'title',
1112
+ type:'string',
1113
+ placeholder:'eg. Stylistic Alternates',
1114
+ initialValue:'Stylistic Alternates',
1115
+ },
1116
+ {
1117
+ name:'feature',
1118
+ type:'string',
1119
+ placeholder:'eg. salt',
1120
+ initialValue:'salt',
1121
+ },
1122
+ {
1123
+ title: 'Custom Text',
1124
+ description:'Use the field below to input a word to highlight the feature.',
1125
+ name:'customText',
1126
+ hidden:true,
1127
+ type:"string",
1128
+ initialValue:'',
1129
+ },
1130
+ ]
1131
+ },
1132
+ {
1133
+ title:'Subscript',
1134
+ name:'subscript',
1135
+ type:'object',
1136
+ hidden: ({parent}) => !parent?.features?.includes("subscript"),
1137
+ fields:[
1138
+ {
1139
+ name:'title',
1140
+ type:'string',
1141
+ placeholder:'eg. Subscript',
1142
+ initialValue:'Subscript',
1143
+ },
1144
+ {
1145
+ name:'feature',
1146
+ type:'string',
1147
+ placeholder:'eg. subs',
1148
+ initialValue:'subs',
1149
+ },
1150
+ {
1151
+ title: 'Custom Text',
1152
+ description:'Use the field below to input a word to highlight the feature.',
1153
+ name:'customText',
1154
+ hidden:true,
1155
+ type:"string",
1156
+ initialValue:'',
1157
+ },
1158
+ ]
1159
+ },
1160
+ {
1161
+ title:'Superscript',
1162
+ name:'superscript',
1163
+ type:'object',
1164
+ hidden: ({parent}) => !parent?.features?.includes("superscript"),
1165
+ fields:[
1166
+ {
1167
+ name:'title',
1168
+ type:'string',
1169
+ placeholder:'eg. Superscript',
1170
+ initialValue:'Superscript',
1171
+ },
1172
+ {
1173
+ name:'feature',
1174
+ type:'string',
1175
+ placeholder:'eg. sups',
1176
+ initialValue:'sups',
1177
+ },
1178
+ {
1179
+ title: 'Custom Text',
1180
+ description:'Use the field below to input a word to highlight the feature.',
1181
+ name:'customText',
1182
+ hidden:true,
1183
+ type:"string",
1184
+ initialValue:'',
1185
+ },
1186
+ ]
1187
+ },
1188
+ {
1189
+ title:'Swash',
1190
+ name:'swash',
1191
+ type:'object',
1192
+ hidden: ({parent}) => !parent?.features?.includes("swash"),
1193
+ fields:[
1194
+ {
1195
+ name:'title',
1196
+ type:'string',
1197
+ placeholder:'eg. Swash',
1198
+ initialValue:'Swash',
1199
+ },
1200
+ {
1201
+ name:'feature',
1202
+ type:'string',
1203
+ placeholder:'eg. swsh',
1204
+ initialValue:'swsh',
1205
+ },
1206
+ {
1207
+ title: 'Custom Text',
1208
+ description:'Use the field below to input a word to highlight the feature.',
1209
+ name:'customText',
1210
+ hidden:true,
1211
+ type:"string",
1212
+ initialValue:'',
1213
+ },
1214
+ ]
1215
+ },{
1216
+ title:'Tabular Lining',
1217
+ name:'tabularLining',
1218
+ type:'object',
1219
+ hidden: ({parent}) => !parent?.features?.includes("tabularLining"),
1220
+ fields:[
1221
+ {
1222
+ name:'title',
1223
+ type:'string',
1224
+ placeholder:'eg. Tabular Lining',
1225
+ initialValue:'Tabular Lining',
1226
+ },
1227
+ {
1228
+ name:'feature',
1229
+ type:'string',
1230
+ placeholder:'eg. tnum lnum',
1231
+ initialValue:'tnum lnum',
1232
+ },
1233
+ {
1234
+ title: 'Custom Text',
1235
+ description:'Use the field below to input a word to highlight the feature.',
1236
+ name:'customText',
1237
+ hidden:true,
1238
+ type:"string",
1239
+ initialValue:'',
1240
+ },
1241
+ ]
1242
+ },
1243
+ {
1244
+ title:'Tabular Oldstyle',
1245
+ name:'tabularOldstyle',
1246
+ type:'object',
1247
+ hidden: ({parent}) => !parent?.features?.includes("tabularOldstyle"),
1248
+ fields:[
1249
+ {
1250
+ name:'title',
1251
+ type:'string',
1252
+ placeholder:'eg. Tabular Oldstyle',
1253
+ initialValue:'Tabular Oldstyle',
1254
+ },
1255
+ {
1256
+ name:'feature',
1257
+ type:'string',
1258
+ placeholder:'eg. tnum onum',
1259
+ initialValue:'tnum onum',
1260
+ },
1261
+ {
1262
+ title: 'Custom Text',
1263
+ description:'Use the field below to input a word to highlight the feature.',
1264
+ name:'customText',
1265
+ hidden:true,
1266
+ type:"string",
1267
+ initialValue:'',
1268
+ },
1269
+ ]
1270
+ },
1271
+ {
1272
+ title:'Terminal Form',
1273
+ name:'terminalForm',
1274
+ type:'object',
1275
+ hidden: ({parent}) => !parent?.features?.includes("terminalForm"),
1276
+ fields:[
1277
+ {
1278
+ name:'title',
1279
+ type:'string',
1280
+ placeholder:'eg. Terminal Form',
1281
+ initialValue:'Terminal Form',
1282
+ },
1283
+ {
1284
+ name:'feature',
1285
+ type:'string',
1286
+ placeholder:'eg. fina',
1287
+ initialValue:'fina',
1288
+ },
1289
+ {
1290
+ title: 'Custom Text',
1291
+ description:'Use the field below to input a word to highlight the feature.',
1292
+ name:'customText',
1293
+ hidden:true,
1294
+ type:"string",
1295
+ initialValue:'',
1296
+ },
1297
+ ]
1298
+ },
1299
+ {
1300
+ title:'Titling Alternates',
1301
+ name:'titlingAlternates',
1302
+ type:'object',
1303
+ hidden: ({parent}) => !parent?.features?.includes("titlingAlternates"),
1304
+ fields:[
1305
+ {
1306
+ name:'title',
1307
+ type:'string',
1308
+ placeholder:'eg. Titling Alternates',
1309
+ initialValue:'Titling Alternates',
1310
+ },
1311
+ {
1312
+ name:'feature',
1313
+ type:'string',
1314
+ placeholder:'eg. titl',
1315
+ initialValue:'titl',
1316
+ },
1317
+ {
1318
+ title: 'Custom Text',
1319
+ description:'Use the field below to input a word to highlight the feature.',
1320
+ name:'customText',
1321
+ hidden:true,
1322
+ type:"string",
1323
+ initialValue:'',
1324
+ },
1325
+ ]
1326
+ },
1327
+ {
1328
+ title:'Unicase',
1329
+ name:'unicase',
1330
+ type:'object',
1331
+ hidden: ({parent}) => !parent?.features?.includes("unicase"),
1332
+ fields:[
1333
+ {
1334
+ name:'title',
1335
+ type:'string',
1336
+ placeholder:'eg. Unicase',
1337
+ initialValue:'Unicase',
1338
+ },
1339
+ {
1340
+ name:'feature',
1341
+ type:'string',
1342
+ placeholder:'eg. unic',
1343
+ initialValue:'unic',
1344
+ },
1345
+ {
1346
+ title: 'Custom Text',
1347
+ description:'Use the field below to input a word to highlight the feature.',
1348
+ name:'customText',
1349
+ hidden:true,
1350
+ type:"string",
1351
+ initialValue:'',
1352
+ },
1353
+ ]
1354
+ },
1355
+ {
1356
+ title:'All Stylistic Sets',
1357
+ name:'allStylisticSets',
1358
+ type:'object',
1359
+ hidden: ({parent}) => !parent?.features?.includes("allStylisticSets"),
1360
+ fields:[
1361
+ {
1362
+ name:'title',
1363
+ type:'string',
1364
+ placeholder:'eg. All Stylistic Sets',
1365
+ initialValue:'All Stylistic Sets',
1366
+ },
1367
+ {
1368
+ name:'feature',
1369
+ type:'string',
1370
+ placeholder:'eg. ss01 ss02 ss03 ss04 ss05 ss06 ss07 ss08 ss09 ss10 ss11 ss12 ss13 ss14 ss15 ss16 ss17 ss18 ss19 ss20',
1371
+ initialValue:'ss01 ss02 ss03 ss04 ss05 ss06 ss07 ss08 ss09 ss10 ss11 ss12 ss13 ss14 ss15 ss16 ss17 ss18 ss19 ss20',
1372
+ },
1373
+ {
1374
+ title: 'Custom Text',
1375
+ description:'Use the field below to input a word to highlight the feature.',
1376
+ name:'customText',
1377
+ hidden:true,
1378
+ type:"string",
1379
+ initialValue:'',
1380
+ },
1381
+ ]
1382
+ },
1383
+ {
1384
+ title:'Stylistic Set 1',
1385
+ name:'stylisticSet1',
1386
+ type:'object',
1387
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet1"),
1388
+ fields:[
1389
+ {
1390
+ name:'title',
1391
+ type:'string',
1392
+ placeholder:'eg. Stylistic Set 1',
1393
+ initialValue:'Stylistic Set 1',
1394
+ },
1395
+ {
1396
+ name:'feature',
1397
+ type:'string',
1398
+ placeholder:'eg. ss01',
1399
+ initialValue:'ss01',
1400
+ },
1401
+ {
1402
+ title: 'Custom Text',
1403
+ description:'Use the field below to input a word to highlight the feature.',
1404
+ name:'customText',
1405
+ hidden:true,
1406
+ type:"string",
1407
+ initialValue:'',
1408
+ },
1409
+ ]
1410
+ },
1411
+ {
1412
+ title:'Stylistic Set 2',
1413
+ name:'stylisticSet2',
1414
+ type:'object',
1415
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet2"),
1416
+ fields:[
1417
+ {
1418
+ name:'title',
1419
+ type:'string',
1420
+ placeholder:'eg. Stylistic Set 2',
1421
+ initialValue:'Stylistic Set 2',
1422
+ },
1423
+ {
1424
+ name:'feature',
1425
+ type:'string',
1426
+ placeholder:'eg. ss02',
1427
+ initialValue:'ss02',
1428
+ },
1429
+ {
1430
+ title: 'Custom Text',
1431
+ description:'Use the field below to input a word to highlight the feature.',
1432
+ name:'customText',
1433
+ hidden:true,
1434
+ type:"string",
1435
+ initialValue:'',
1436
+ },
1437
+ ]
1438
+ },
1439
+ {
1440
+ title:'Stylistic Set 3',
1441
+ name:'stylisticSet3',
1442
+ type:'object',
1443
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet3"),
1444
+ fields:[
1445
+ {
1446
+ name:'title',
1447
+ type:'string',
1448
+ placeholder:'eg. Stylistic Set 3',
1449
+ initialValue:'Stylistic Set 3',
1450
+ },
1451
+ {
1452
+ name:'feature',
1453
+ type:'string',
1454
+ placeholder:'eg. ss03',
1455
+ initialValue:'ss03',
1456
+ },
1457
+ {
1458
+ title: 'Custom Text',
1459
+ description:'Use the field below to input a word to highlight the feature.',
1460
+ name:'customText',
1461
+ hidden:true,
1462
+ type:"string",
1463
+ initialValue:'',
1464
+ },
1465
+ ]
1466
+ },
1467
+ {
1468
+ title:'Stylistic Set 4',
1469
+ name:'stylisticSet4',
1470
+ type:'object',
1471
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet4"),
1472
+ fields:[
1473
+ {
1474
+ name:'title',
1475
+ type:'string',
1476
+ placeholder:'eg. Stylistic Set 4',
1477
+ initialValue:'Stylistic Set 4',
1478
+ },
1479
+ {
1480
+ name:'feature',
1481
+ type:'string',
1482
+ placeholder:'eg. ss04',
1483
+ initialValue:'ss04',
1484
+ },
1485
+ {
1486
+ title: 'Custom Text',
1487
+ description:'Use the field below to input a word to highlight the feature.',
1488
+ name:'customText',
1489
+ hidden:true,
1490
+ type:"string",
1491
+ initialValue:'',
1492
+ },
1493
+ ]
1494
+ },
1495
+ {
1496
+ title:'Stylistic Set 5',
1497
+ name:'stylisticSet5',
1498
+ type:'object',
1499
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet5"),
1500
+ fields:[
1501
+ {
1502
+ name:'title',
1503
+ type:'string',
1504
+ placeholder:'eg. Stylistic Set 5',
1505
+ initialValue:'Stylistic Set 5',
1506
+ },
1507
+ {
1508
+ name:'feature',
1509
+ type:'string',
1510
+ placeholder:'eg. ss05',
1511
+ initialValue:'ss05',
1512
+ },
1513
+ {
1514
+ title: 'Custom Text',
1515
+ description:'Use the field below to input a word to highlight the feature.',
1516
+ name:'customText',
1517
+ hidden:true,
1518
+ type:"string",
1519
+ initialValue:'',
1520
+ },
1521
+ ]
1522
+ },
1523
+ {
1524
+ title:'Stylistic Set 6',
1525
+ name:'stylisticSet6',
1526
+ type:'object',
1527
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet6"),
1528
+ fields:[
1529
+ {
1530
+ name:'title',
1531
+ type:'string',
1532
+ placeholder:'eg. Stylistic Set 6',
1533
+ initialValue:'Stylistic Set 6',
1534
+ },
1535
+ {
1536
+ name:'feature',
1537
+ type:'string',
1538
+ placeholder:'eg. ss06',
1539
+ initialValue:'ss06',
1540
+ },
1541
+ {
1542
+ title: 'Custom Text',
1543
+ description:'Use the field below to input a word to highlight the feature.',
1544
+ name:'customText',
1545
+ hidden:true,
1546
+ type:"string",
1547
+ initialValue:'',
1548
+ },
1549
+ ]
1550
+ },
1551
+ {
1552
+ title:'Stylistic Set 7',
1553
+ name:'stylisticSet7',
1554
+ type:'object',
1555
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet7"),
1556
+ fields:[
1557
+ {
1558
+ name:'title',
1559
+ type:'string',
1560
+ placeholder:'eg. Stylistic Set 7',
1561
+ initialValue:'Stylistic Set 7',
1562
+ },
1563
+ {
1564
+ name:'feature',
1565
+ type:'string',
1566
+ placeholder:'eg. ss07',
1567
+ initialValue:'ss07',
1568
+ },
1569
+ {
1570
+ title: 'Custom Text',
1571
+ description:'Use the field below to input a word to highlight the feature.',
1572
+ name:'customText',
1573
+ hidden:true,
1574
+ type:"string",
1575
+ initialValue:'',
1576
+ },
1577
+ ]
1578
+ },
1579
+ {
1580
+ title:'Stylistic Set 8',
1581
+ name:'stylisticSet8',
1582
+ type:'object',
1583
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet8"),
1584
+ fields:[
1585
+ {
1586
+ name:'title',
1587
+ type:'string',
1588
+ placeholder:'eg. Stylistic Set 8',
1589
+ initialValue:'Stylistic Set 8',
1590
+ },
1591
+ {
1592
+ name:'feature',
1593
+ type:'string',
1594
+ placeholder:'eg. ss08',
1595
+ initialValue:'ss08',
1596
+ },
1597
+ {
1598
+ title: 'Custom Text',
1599
+ description:'Use the field below to input a word to highlight the feature.',
1600
+ name:'customText',
1601
+ hidden:true,
1602
+ type:"string",
1603
+ initialValue:'',
1604
+ },
1605
+ ]
1606
+ },
1607
+ {
1608
+ title:'Stylistic Set 9',
1609
+ name:'stylisticSet9',
1610
+ type:'object',
1611
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet9"),
1612
+ fields:[
1613
+ {
1614
+ name:'title',
1615
+ type:'string',
1616
+ placeholder:'eg. Stylistic Set 9',
1617
+ initialValue:'Stylistic Set 9',
1618
+ },
1619
+ {
1620
+ name:'feature',
1621
+ type:'string',
1622
+ placeholder:'eg. ss09',
1623
+ initialValue:'ss09',
1624
+ },
1625
+ {
1626
+ title: 'Custom Text',
1627
+ description:'Use the field below to input a word to highlight the feature.',
1628
+ name:'customText',
1629
+ hidden:true,
1630
+ type:"string",
1631
+ initialValue:'',
1632
+ },
1633
+ ]
1634
+ },
1635
+ {
1636
+ title:'Stylistic Set 10',
1637
+ name:'stylisticSet10',
1638
+ type:'object',
1639
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet10"),
1640
+ fields:[
1641
+ {
1642
+ name:'title',
1643
+ type:'string',
1644
+ placeholder:'eg. Stylistic Set10',
1645
+ initialValue:'Stylistic Set10',
1646
+ },
1647
+ {
1648
+ name:'feature',
1649
+ type:'string',
1650
+ placeholder:'eg. ss10',
1651
+ initialValue:'ss10',
1652
+ },
1653
+ {
1654
+ title: 'Custom Text',
1655
+ description:'Use the field below to input a word to highlight the feature.',
1656
+ name:'customText',
1657
+ hidden:true,
1658
+ type:"string",
1659
+ initialValue:'',
1660
+ },
1661
+ ]
1662
+ },
1663
+ {
1664
+ title:'Stylistic Set 11',
1665
+ name:'stylisticSet11',
1666
+ type:'object',
1667
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet11"),
1668
+ fields:[
1669
+ {
1670
+ name:'title',
1671
+ type:'string',
1672
+ placeholder:'eg. Stylistic Set 11',
1673
+ initialValue:'Stylistic Set 11',
1674
+ },
1675
+ {
1676
+ name:'feature',
1677
+ type:'string',
1678
+ placeholder:'eg. ss11',
1679
+ initialValue:'ss11',
1680
+ },
1681
+ {
1682
+ title: 'Custom Text',
1683
+ description:'Use the field below to input a word to highlight the feature.',
1684
+ name:'customText',
1685
+ hidden:true,
1686
+ type:"string",
1687
+ initialValue:'',
1688
+ },
1689
+ ]
1690
+ },
1691
+ {
1692
+ title:'Stylistic Set 12',
1693
+ name:'stylisticSet12',
1694
+ type:'object',
1695
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet12"),
1696
+ fields:[
1697
+ {
1698
+ name:'title',
1699
+ type:'string',
1700
+ placeholder:'eg. Stylistic Set 12',
1701
+ initialValue:'Stylistic Set 12',
1702
+ },
1703
+ {
1704
+ name:'feature',
1705
+ type:'string',
1706
+ placeholder:'eg. ss12',
1707
+ initialValue:'ss12',
1708
+ },
1709
+ {
1710
+ title: 'Custom Text',
1711
+ description:'Use the field below to input a word to highlight the feature.',
1712
+ name:'customText',
1713
+ hidden:true,
1714
+ type:"string",
1715
+ initialValue:'',
1716
+ },
1717
+ ]
1718
+ },
1719
+ {
1720
+ title:'Stylistic Set 13',
1721
+ name:'stylisticSet13',
1722
+ type:'object',
1723
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet13"),
1724
+ fields:[
1725
+ {
1726
+ name:'title',
1727
+ type:'string',
1728
+ placeholder:'eg. Stylistic Set 13',
1729
+ initialValue:'Stylistic Set 13',
1730
+ },
1731
+ {
1732
+ name:'feature',
1733
+ type:'string',
1734
+ placeholder:'eg. ss13',
1735
+ initialValue:'ss13',
1736
+ },
1737
+ {
1738
+ title: 'Custom Text',
1739
+ description:'Use the field below to input a word to highlight the feature.',
1740
+ name:'customText',
1741
+ hidden:true,
1742
+ type:"string",
1743
+ initialValue:'',
1744
+ },
1745
+ ]
1746
+ },
1747
+ {
1748
+ title:'Stylistic Set 14',
1749
+ name:'stylisticSet14',
1750
+ type:'object',
1751
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet14"),
1752
+ fields:[
1753
+ {
1754
+ name:'title',
1755
+ type:'string',
1756
+ placeholder:'eg. Stylistic Set 14',
1757
+ initialValue:'Stylistic Set 14',
1758
+ },
1759
+ {
1760
+ name:'feature',
1761
+ type:'string',
1762
+ placeholder:'eg. ss14',
1763
+ initialValue:'ss14',
1764
+ },
1765
+ {
1766
+ title: 'Custom Text',
1767
+ description:'Use the field below to input a word to highlight the feature.',
1768
+ name:'customText',
1769
+ hidden:true,
1770
+ type:"string",
1771
+ initialValue:'',
1772
+ },
1773
+ ]
1774
+ },
1775
+ {
1776
+ title:'Stylistic Set 15',
1777
+ name:'stylisticSet15',
1778
+ type:'object',
1779
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet15"),
1780
+ fields:[
1781
+ {
1782
+ name:'title',
1783
+ type:'string',
1784
+ placeholder:'eg. Stylistic Set 15',
1785
+ initialValue:'Stylistic Set 15',
1786
+ },
1787
+ {
1788
+ name:'feature',
1789
+ type:'string',
1790
+ placeholder:'eg. ss15',
1791
+ initialValue:'ss15',
1792
+ },
1793
+ {
1794
+ title: 'Custom Text',
1795
+ description:'Use the field below to input a word to highlight the feature.',
1796
+ name:'customText',
1797
+ hidden:true,
1798
+ type:"string",
1799
+ initialValue:'',
1800
+ },
1801
+ ]
1802
+ },
1803
+ {
1804
+ title:'Stylistic Set 16',
1805
+ name:'stylisticSet16',
1806
+ type:'object',
1807
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet16"),
1808
+ fields:[
1809
+ {
1810
+ name:'title',
1811
+ type:'string',
1812
+ placeholder:'eg. Stylistic Set 16',
1813
+ initialValue:'Stylistic Set 16',
1814
+ },
1815
+ {
1816
+ name:'feature',
1817
+ type:'string',
1818
+ placeholder:'eg. ss16',
1819
+ initialValue:'ss16',
1820
+ },
1821
+ {
1822
+ title: 'Custom Text',
1823
+ description:'Use the field below to input a word to highlight the feature.',
1824
+ name:'customText',
1825
+ hidden:true,
1826
+ type:"string",
1827
+ initialValue:'',
1828
+ },
1829
+ ]
1830
+ },
1831
+ {
1832
+ title:'Stylistic Set 17',
1833
+ name:'stylisticSet17',
1834
+ type:'object',
1835
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet17"),
1836
+ fields:[
1837
+ {
1838
+ name:'title',
1839
+ type:'string',
1840
+ placeholder:'eg. Stylistic Set 17',
1841
+ initialValue:'Stylistic Set 17',
1842
+ },
1843
+ {
1844
+ name:'feature',
1845
+ type:'string',
1846
+ placeholder:'eg. ss17',
1847
+ initialValue:'ss17',
1848
+ },
1849
+ {
1850
+ title: 'Custom Text',
1851
+ description:'Use the field below to input a word to highlight the feature.',
1852
+ name:'customText',
1853
+ hidden:true,
1854
+ type:"string",
1855
+ initialValue:'',
1856
+ },
1857
+ ]
1858
+ },
1859
+ {
1860
+ title:'Stylistic Set 18',
1861
+ name:'stylisticSet18',
1862
+ type:'object',
1863
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet18"),
1864
+ fields:[
1865
+ {
1866
+ name:'title',
1867
+ type:'string',
1868
+ placeholder:'eg. Stylistic Set 18',
1869
+ initialValue:'Stylistic Set 18',
1870
+ },
1871
+ {
1872
+ name:'feature',
1873
+ type:'string',
1874
+ placeholder:'eg. ss18',
1875
+ initialValue:'ss18',
1876
+ },
1877
+ {
1878
+ title: 'Custom Text',
1879
+ description:'Use the field below to input a word to highlight the feature.',
1880
+ name:'customText',
1881
+ hidden:true,
1882
+ type:"string",
1883
+ initialValue:'',
1884
+ },
1885
+ ]
1886
+ },
1887
+ {
1888
+ title:'Stylistic Set 19',
1889
+ name:'stylisticSet19',
1890
+ type:'object',
1891
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet19"),
1892
+ fields:[
1893
+ {
1894
+ name:'title',
1895
+ type:'string',
1896
+ placeholder:'eg. Stylistic Set 19',
1897
+ initialValue:'Stylistic Set 19',
1898
+ },
1899
+ {
1900
+ name:'feature',
1901
+ type:'string',
1902
+ placeholder:'eg. ss19',
1903
+ initialValue:'ss19',
1904
+ },
1905
+ {
1906
+ title: 'Custom Text',
1907
+ description:'Use the field below to input a word to highlight the feature.',
1908
+ name:'customText',
1909
+ hidden:true,
1910
+ type:"string",
1911
+ initialValue:'',
1912
+ },
1913
+ ]
1914
+ },
1915
+ {
1916
+ title:'Stylistic Set 20',
1917
+ name:'stylisticSet20',
1918
+ type:'object',
1919
+ hidden: ({parent}) => !parent?.features?.includes("stylisticSet20"),
1920
+ fields:[
1921
+ {
1922
+ name:'title',
1923
+ type:'string',
1924
+ placeholder:'eg. Stylistic Set 20',
1925
+ initialValue:'Stylistic Set 20',
1926
+ },
1927
+ {
1928
+ name:'feature',
1929
+ type:'string',
1930
+ placeholder:'eg. ss20',
1931
+ initialValue:'ss20',
1932
+ },
1933
+ {
1934
+ title: 'Custom Text',
1935
+ description:'Use the field below to input a word to highlight the feature.',
1936
+ name:'customText',
1937
+ hidden:true,
1938
+ type:"string",
1939
+ initialValue:'',
1940
+ },
1941
+ ]
1942
+ },
1943
+
1944
+ ],
1945
+ };
1946
+
1947
+ /**
1948
+ * Factory function to create a customised OpenType field.
1949
+ * The static `openTypeField` export remains unchanged for backwards compatibility.
1950
+ *
1951
+ * @param {object} [options]
1952
+ * @param {boolean} [options.customText=false] - Unhide the customText field on each feature
1953
+ * @param {'string'|'code'} [options.customTextType='string'] - Type for customText field.
1954
+ * Use 'code' for an HTML code editor (requires @sanity/code-input plugin).
1955
+ * @returns {object} Sanity field definition
1956
+ */
1957
+ export function createOpenTypeField({
1958
+ customText = false,
1959
+ customTextType = 'string',
1960
+ } = {}) {
1961
+ if (!customText) return { ...openTypeField };
1962
+
1963
+ // Deep clone fields and unhide/retype customText on each feature object
1964
+ const fields = openTypeField.fields.map(field => {
1965
+ // Skip the top-level 'features' checkbox array
1966
+ if (field.type !== 'object' || !field.fields) return field;
1967
+
1968
+ const updatedSubfields = field.fields.map(subfield => {
1969
+ if (subfield.name !== 'customText') return subfield;
1970
+
1971
+ const updated = { ...subfield, hidden: false };
1972
+
1973
+ if (customTextType === 'code') {
1974
+ updated.type = 'code';
1975
+ updated.options = {
1976
+ language: 'html',
1977
+ languageAlternatives: [
1978
+ { title: 'HTML', value: 'html' },
1979
+ ],
1980
+ withFilename: false,
1981
+ };
1982
+ updated.description = 'Use the field below to input custom text to highlight the feature. Wrap featured characters in <span class="bold">CHARACTER</span>.';
1983
+ }
1984
+
1985
+ return updated;
1986
+ });
1987
+
1988
+ return { ...field, fields: updatedSubfields };
1989
+ });
1990
+
1991
+ return {
1992
+ ...openTypeField,
1993
+ fields,
1994
+ };
1995
+ }