@gmb/bitmark-parser-generator 5.36.0 → 5.37.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.
package/dist/cli/main.js CHANGED
@@ -1529,6 +1529,8 @@ var propertyKeys = {
1529
1529
  property_trim: "@trim",
1530
1530
  property_unit: "@unit",
1531
1531
  property_unitAbbr: "@unitAbbr",
1532
+ property_unitAbbrPlural: "@unitAbbrPlural",
1533
+ property_unitPlural: "@unitPlural",
1532
1534
  property_vendorDashboardId: "@vendorDashboardId",
1533
1535
  property_vendorSurveyId: "@vendorSurveyId",
1534
1536
  property_vendorUrl: "@vendorUrl",
@@ -4333,12 +4335,22 @@ var CARDSETS = {
4333
4335
  },
4334
4336
  {
4335
4337
  key: ConfigKey.property_unit,
4336
- description: "Unit of measurement for the ingredient.",
4338
+ description: "Unit of measurement for the ingredient (singular).",
4339
+ format: TagFormat.plainText
4340
+ },
4341
+ {
4342
+ key: ConfigKey.property_unitPlural,
4343
+ description: "Unit of measurement for the ingredient (plural).",
4337
4344
  format: TagFormat.plainText
4338
4345
  },
4339
4346
  {
4340
4347
  key: ConfigKey.property_unitAbbr,
4341
- description: "Abbreviation for the unit of measurement.",
4348
+ description: "Abbreviation for the unit of measurement (singular).",
4349
+ format: TagFormat.plainText
4350
+ },
4351
+ {
4352
+ key: ConfigKey.property_unitAbbrPlural,
4353
+ description: "Abbreviation for the unit of measurement (plural).",
4342
4354
  format: TagFormat.plainText
4343
4355
  },
4344
4356
  {
@@ -4514,6 +4526,11 @@ var GROUPS = {
4514
4526
  description: "Translation source reference",
4515
4527
  format: TagFormat.plainText
4516
4528
  },
4529
+ {
4530
+ key: ConfigKey.property_isCollapsible,
4531
+ description: "If true, the bit is collapsible",
4532
+ format: TagFormat.boolean
4533
+ },
4517
4534
  {
4518
4535
  key: ConfigKey.property_spansPageBreak,
4519
4536
  description: "If true, the bit spans a page break",
@@ -7567,13 +7584,31 @@ var BITS = {
7567
7584
  },
7568
7585
  [BitType.smartStandardArticleNormativeCollapsible]: {
7569
7586
  since: "1.28.0",
7587
+ deprecated: "5.37.0",
7570
7588
  baseBitType: BitType.smartStandardArticleNormative,
7571
- description: "Smart standard normative article bit that is collapsible"
7589
+ description: "Smart standard normative article bit that is collapsible",
7590
+ tags: [
7591
+ {
7592
+ key: ConfigKey.property_isCollapsible,
7593
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
7594
+ format: TagFormat.boolean,
7595
+ defaultValue: "true"
7596
+ }
7597
+ ]
7572
7598
  },
7573
7599
  [BitType.smartStandardArticleNonNormativeCollapsible]: {
7574
7600
  since: "1.28.0",
7601
+ deprecated: "5.37.0",
7575
7602
  baseBitType: BitType.smartStandardArticleNonNormative,
7576
- description: "Smart standard non-normative article bit that is collapsible"
7603
+ description: "Smart standard non-normative article bit that is collapsible",
7604
+ tags: [
7605
+ {
7606
+ key: ConfigKey.property_isCollapsible,
7607
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
7608
+ format: TagFormat.boolean,
7609
+ defaultValue: "true"
7610
+ }
7611
+ ]
7577
7612
  },
7578
7613
  [BitType.statement]: {
7579
7614
  since: "1.3.0",
@@ -8692,12 +8727,6 @@ var BITS = {
8692
8727
  description: "The progress of the chapter, used for tracking reading progress",
8693
8728
  format: TagFormat.boolean,
8694
8729
  defaultValue: "true"
8695
- },
8696
- {
8697
- key: ConfigKey.property_isCollapsible,
8698
- description: "If true, the chapter is collapsible",
8699
- format: TagFormat.boolean,
8700
- defaultValue: "false"
8701
8730
  }
8702
8731
  ]
8703
8732
  },
@@ -9304,12 +9333,22 @@ var BITS = {
9304
9333
  chain: [
9305
9334
  {
9306
9335
  key: ConfigKey.property_unit,
9307
- description: "The unit of measurement for the ingredients",
9336
+ description: "The unit of measurement for the ingredients (singular)",
9337
+ format: TagFormat.plainText
9338
+ },
9339
+ {
9340
+ key: ConfigKey.property_unitPlural,
9341
+ description: "The unit of measurement for the ingredients (plural)",
9308
9342
  format: TagFormat.plainText
9309
9343
  },
9310
9344
  {
9311
9345
  key: ConfigKey.property_unitAbbr,
9312
- description: "The abbreviation for the unit of measurement",
9346
+ description: "The abbreviation for the unit of measurement (singular)",
9347
+ format: TagFormat.plainText
9348
+ },
9349
+ {
9350
+ key: ConfigKey.property_unitAbbrPlural,
9351
+ description: "The abbreviation for the unit of measurement (plural)",
9313
9352
  format: TagFormat.plainText
9314
9353
  },
9315
9354
  {
@@ -9588,13 +9627,31 @@ var BITS = {
9588
9627
  },
9589
9628
  [BitType.smartStandardExampleNormativeCollapsible]: {
9590
9629
  since: "1.28.0",
9630
+ deprecated: "5.37.0",
9591
9631
  baseBitType: BitType.smartStandardExampleNormative,
9592
- description: "Smart standard normative example collapsible bit, used to provide normative examples in smart standards that can be collapsed"
9632
+ description: "Smart standard normative example collapsible bit, used to provide normative examples in smart standards that can be collapsed",
9633
+ tags: [
9634
+ {
9635
+ key: ConfigKey.property_isCollapsible,
9636
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
9637
+ format: TagFormat.boolean,
9638
+ defaultValue: "true"
9639
+ }
9640
+ ]
9593
9641
  },
9594
9642
  [BitType.smartStandardExampleNonNormativeCollapsible]: {
9595
9643
  since: "1.28.0",
9644
+ deprecated: "5.37.0",
9596
9645
  baseBitType: BitType.smartStandardExampleNonNormative,
9597
- description: "Smart standard non-normative example collapsible bit, used to provide non-normative examples in smart standards that can be collapsed"
9646
+ description: "Smart standard non-normative example collapsible bit, used to provide non-normative examples in smart standards that can be collapsed",
9647
+ tags: [
9648
+ {
9649
+ key: ConfigKey.property_isCollapsible,
9650
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
9651
+ format: TagFormat.boolean,
9652
+ defaultValue: "true"
9653
+ }
9654
+ ]
9598
9655
  },
9599
9656
  [BitType.authorContentBitGenerator]: {
9600
9657
  since: "4.2.0",
@@ -9930,8 +9987,17 @@ var BITS = {
9930
9987
  },
9931
9988
  [BitType.smartStandardListCollapsible]: {
9932
9989
  since: "1.28.0",
9990
+ deprecated: "5.37.0",
9933
9991
  baseBitType: BitType.smartStandardList,
9934
- description: "Smart standard list collapsible bit, used to create collapsible smart standard lists in articles or books"
9992
+ description: "Smart standard list collapsible bit, used to create collapsible smart standard lists in articles or books",
9993
+ tags: [
9994
+ {
9995
+ key: ConfigKey.property_isCollapsible,
9996
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
9997
+ format: TagFormat.boolean,
9998
+ defaultValue: "true"
9999
+ }
10000
+ ]
9935
10001
  },
9936
10002
  [BitType.message]: {
9937
10003
  since: "1.3.0",
@@ -9985,13 +10051,31 @@ var BITS = {
9985
10051
  },
9986
10052
  [BitType.smartStandardNoteNormativeCollapsible]: {
9987
10053
  since: "1.28.0",
10054
+ deprecated: "5.37.0",
9988
10055
  baseBitType: BitType.smartStandardNoteNormative,
9989
- description: "Smart standard normative note collapsible bit, used to provide normative notes in smart standards that can be collapsed"
10056
+ description: "Smart standard normative note collapsible bit, used to provide normative notes in smart standards that can be collapsed",
10057
+ tags: [
10058
+ {
10059
+ key: ConfigKey.property_isCollapsible,
10060
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10061
+ format: TagFormat.boolean,
10062
+ defaultValue: "true"
10063
+ }
10064
+ ]
9990
10065
  },
9991
10066
  [BitType.smartStandardNoteNonNormativeCollapsible]: {
9992
10067
  since: "1.28.0",
10068
+ deprecated: "5.37.0",
9993
10069
  baseBitType: BitType.smartStandardNoteNonNormative,
9994
- description: "Smart standard non-normative note collapsible bit, used to provide non-normative notes in smart standards that can be collapsed"
10070
+ description: "Smart standard non-normative note collapsible bit, used to provide non-normative notes in smart standards that can be collapsed",
10071
+ tags: [
10072
+ {
10073
+ key: ConfigKey.property_isCollapsible,
10074
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10075
+ format: TagFormat.boolean,
10076
+ defaultValue: "true"
10077
+ }
10078
+ ]
9995
10079
  },
9996
10080
  [BitType.noteAi]: {
9997
10081
  since: "1.3.0",
@@ -10104,13 +10188,31 @@ var BITS = {
10104
10188
  },
10105
10189
  [BitType.smartStandardRemarkNormativeCollapsible]: {
10106
10190
  since: "1.28.0",
10191
+ deprecated: "5.37.0",
10107
10192
  baseBitType: BitType.smartStandardRemarkNormative,
10108
- description: "Smart standard normative remark collapsible bit, used to provide normative remarks in smart standards that can be collapsed"
10193
+ description: "Smart standard normative remark collapsible bit, used to provide normative remarks in smart standards that can be collapsed",
10194
+ tags: [
10195
+ {
10196
+ key: ConfigKey.property_isCollapsible,
10197
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10198
+ format: TagFormat.boolean,
10199
+ defaultValue: "true"
10200
+ }
10201
+ ]
10109
10202
  },
10110
10203
  [BitType.smartStandardRemarkNonNormativeCollapsible]: {
10111
10204
  since: "1.28.0",
10205
+ deprecated: "5.37.0",
10112
10206
  baseBitType: BitType.smartStandardRemarkNonNormative,
10113
- description: "Smart standard non-normative remark collapsible bit, used to provide non-normative remarks in smart standards that can be collapsed"
10207
+ description: "Smart standard non-normative remark collapsible bit, used to provide non-normative remarks in smart standards that can be collapsed",
10208
+ tags: [
10209
+ {
10210
+ key: ConfigKey.property_isCollapsible,
10211
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10212
+ format: TagFormat.boolean,
10213
+ defaultValue: "true"
10214
+ }
10215
+ ]
10114
10216
  },
10115
10217
  [BitType.selfAssessment]: {
10116
10218
  since: "1.3.0",
@@ -10181,53 +10283,143 @@ var BITS = {
10181
10283
  },
10182
10284
  [BitType.collapsible]: {
10183
10285
  since: "1.21.0",
10286
+ deprecated: "5.37.0",
10184
10287
  baseBitType: BitType.article,
10185
- description: "Collapsible bit, used to create collapsible sections in articles or books"
10288
+ description: "Collapsible bit, used to create collapsible sections in articles or books",
10289
+ tags: [
10290
+ {
10291
+ key: ConfigKey.property_isCollapsible,
10292
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10293
+ format: TagFormat.boolean,
10294
+ defaultValue: "true"
10295
+ }
10296
+ ]
10186
10297
  },
10187
10298
  [BitType.sideNoteCollapsible]: {
10188
10299
  since: "1.21.0",
10189
- baseBitType: BitType.article,
10190
- description: "Side note collapsible bit, used to create collapsible side notes in articles or books"
10300
+ deprecated: "5.37.0",
10301
+ baseBitType: BitType.sideNote,
10302
+ description: "Side note collapsible bit, used to create collapsible side notes in articles or books",
10303
+ tags: [
10304
+ {
10305
+ key: ConfigKey.property_isCollapsible,
10306
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10307
+ format: TagFormat.boolean,
10308
+ defaultValue: "true"
10309
+ }
10310
+ ]
10191
10311
  },
10192
10312
  [BitType.infoCollapsible]: {
10193
10313
  since: "1.21.0",
10194
- baseBitType: BitType.article,
10195
- description: "Info collapsible bit, used to create collapsible informational sections in articles or books"
10314
+ deprecated: "5.37.0",
10315
+ baseBitType: BitType.info,
10316
+ description: "Info collapsible bit, used to create collapsible informational sections in articles or books",
10317
+ tags: [
10318
+ {
10319
+ key: ConfigKey.property_isCollapsible,
10320
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10321
+ format: TagFormat.boolean,
10322
+ defaultValue: "true"
10323
+ }
10324
+ ]
10196
10325
  },
10197
10326
  [BitType.remarkCollapsible]: {
10198
10327
  since: "1.21.0",
10199
- baseBitType: BitType.article,
10200
- description: "Remark collapsible bit, used to create collapsible remarks in articles or books"
10328
+ deprecated: "5.37.0",
10329
+ baseBitType: BitType.remark,
10330
+ description: "Remark collapsible bit, used to create collapsible remarks in articles or books",
10331
+ tags: [
10332
+ {
10333
+ key: ConfigKey.property_isCollapsible,
10334
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10335
+ format: TagFormat.boolean,
10336
+ defaultValue: "true"
10337
+ }
10338
+ ]
10201
10339
  },
10202
10340
  [BitType.warningCollapsible]: {
10203
10341
  since: "1.21.0",
10204
- baseBitType: BitType.article,
10205
- description: "Warning collapsible bit, used to create collapsible warnings in articles or books"
10342
+ deprecated: "5.37.0",
10343
+ baseBitType: BitType.warning,
10344
+ description: "Warning collapsible bit, used to create collapsible warnings in articles or books",
10345
+ tags: [
10346
+ {
10347
+ key: ConfigKey.property_isCollapsible,
10348
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10349
+ format: TagFormat.boolean,
10350
+ defaultValue: "true"
10351
+ }
10352
+ ]
10206
10353
  },
10207
10354
  [BitType.dangerCollapsible]: {
10208
10355
  since: "1.21.0",
10209
- baseBitType: BitType.article,
10210
- description: "Danger collapsible bit, used to create collapsible danger sections in articles or books"
10356
+ deprecated: "5.37.0",
10357
+ baseBitType: BitType.danger,
10358
+ description: "Danger collapsible bit, used to create collapsible danger sections in articles or books",
10359
+ tags: [
10360
+ {
10361
+ key: ConfigKey.property_isCollapsible,
10362
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10363
+ format: TagFormat.boolean,
10364
+ defaultValue: "true"
10365
+ }
10366
+ ]
10211
10367
  },
10212
10368
  [BitType.noteCollapsible]: {
10213
10369
  since: "1.21.0",
10214
- baseBitType: BitType.article,
10215
- description: "Note collapsible bit, used to create collapsible notes in articles or books"
10370
+ deprecated: "5.37.0",
10371
+ baseBitType: BitType.note,
10372
+ description: "Note collapsible bit, used to create collapsible notes in articles or books",
10373
+ tags: [
10374
+ {
10375
+ key: ConfigKey.property_isCollapsible,
10376
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10377
+ format: TagFormat.boolean,
10378
+ defaultValue: "true"
10379
+ }
10380
+ ]
10216
10381
  },
10217
10382
  [BitType.exampleCollapsible]: {
10218
10383
  since: "1.21.0",
10219
- baseBitType: BitType.article,
10220
- description: "Example collapsible bit, used to create collapsible examples in articles or books"
10384
+ deprecated: "5.37.0",
10385
+ baseBitType: BitType.example,
10386
+ description: "Example collapsible bit, used to create collapsible examples in articles or books",
10387
+ tags: [
10388
+ {
10389
+ key: ConfigKey.property_isCollapsible,
10390
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10391
+ format: TagFormat.boolean,
10392
+ defaultValue: "true"
10393
+ }
10394
+ ]
10221
10395
  },
10222
10396
  [BitType.hintCollapsible]: {
10223
10397
  since: "1.21.0",
10224
- baseBitType: BitType.article,
10225
- description: "Hint collapsible bit, used to create collapsible hints in articles or books"
10398
+ deprecated: "5.37.0",
10399
+ baseBitType: BitType.hint,
10400
+ description: "Hint collapsible bit, used to create collapsible hints in articles or books",
10401
+ tags: [
10402
+ {
10403
+ key: ConfigKey.property_isCollapsible,
10404
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10405
+ format: TagFormat.boolean,
10406
+ defaultValue: "true"
10407
+ }
10408
+ ]
10226
10409
  },
10227
10410
  [BitType.bugCollapsible]: {
10228
10411
  since: "1.21.0",
10229
- baseBitType: BitType.article,
10230
- description: "Bug collapsible bit, used to create collapsible bug reports in articles or books"
10412
+ deprecated: "5.37.0",
10413
+ baseBitType: BitType.bug,
10414
+ description: "Bug collapsible bit, used to create collapsible bug reports in articles or books",
10415
+ tags: [
10416
+ {
10417
+ key: ConfigKey.property_isCollapsible,
10418
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10419
+ format: TagFormat.boolean,
10420
+ defaultValue: "true"
10421
+ }
10422
+ ]
10231
10423
  },
10232
10424
  [BitType.platformPath]: {
10233
10425
  since: "3.14.1",
@@ -10449,8 +10641,17 @@ var BITS = {
10449
10641
  },
10450
10642
  [BitType.extractorPageCollapsible]: {
10451
10643
  since: "1.30.0",
10644
+ deprecated: "5.37.0",
10452
10645
  baseBitType: BitType.extractorPage,
10453
- description: "Collapsible extractor page bit, used to extract pages from images with collapsible functionality"
10646
+ description: "Collapsible extractor page bit, used to extract pages from images with collapsible functionality",
10647
+ tags: [
10648
+ {
10649
+ key: ConfigKey.property_isCollapsible,
10650
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10651
+ format: TagFormat.boolean,
10652
+ defaultValue: "true"
10653
+ }
10654
+ ]
10454
10655
  },
10455
10656
  [BitType.extractorPageWithBlocks]: {
10456
10657
  since: "1.5.21",
@@ -10459,8 +10660,17 @@ var BITS = {
10459
10660
  },
10460
10661
  [BitType.extractorPageWithBlocksCollapsible]: {
10461
10662
  since: "1.30.0",
10663
+ deprecated: "5.37.0",
10462
10664
  baseBitType: BitType.extractorPageWithBlocks,
10463
- description: "Collapsible extractor page with blocks bit, used to extract pages with blocks from images with collapsible functionality"
10665
+ description: "Collapsible extractor page with blocks bit, used to extract pages with blocks from images with collapsible functionality",
10666
+ tags: [
10667
+ {
10668
+ key: ConfigKey.property_isCollapsible,
10669
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10670
+ format: TagFormat.boolean,
10671
+ defaultValue: "true"
10672
+ }
10673
+ ]
10464
10674
  },
10465
10675
  [BitType.extractorConfiguration]: {
10466
10676
  since: "1.7.1",
@@ -10500,8 +10710,17 @@ var BITS = {
10500
10710
  },
10501
10711
  [BitType.extractorImageCollapsible]: {
10502
10712
  since: "4.3.0",
10713
+ deprecated: "5.37.0",
10503
10714
  baseBitType: BitType.extractorImage,
10504
- description: "Collapsible extractor images bit, used for images extracted from PDFs"
10715
+ description: "Collapsible extractor images bit, used for images extracted from PDFs",
10716
+ tags: [
10717
+ {
10718
+ key: ConfigKey.property_isCollapsible,
10719
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10720
+ format: TagFormat.boolean,
10721
+ defaultValue: "true"
10722
+ }
10723
+ ]
10505
10724
  },
10506
10725
  [BitType.extractorBlueprint]: {
10507
10726
  since: "5.12.0",
@@ -10638,8 +10857,17 @@ var BITS = {
10638
10857
  },
10639
10858
  [BitType.extractorPageNumberCollapsible]: {
10640
10859
  since: "1.30.0",
10860
+ deprecated: "5.37.0",
10641
10861
  baseBitType: BitType.extractorPageNumber,
10642
- description: "Collapsible extractor page number bit, used to define page numbers in extractor pages with collapsible functionality"
10862
+ description: "Collapsible extractor page number bit, used to define page numbers in extractor pages with collapsible functionality",
10863
+ tags: [
10864
+ {
10865
+ key: ConfigKey.property_isCollapsible,
10866
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10867
+ format: TagFormat.boolean,
10868
+ defaultValue: "true"
10869
+ }
10870
+ ]
10643
10871
  },
10644
10872
  [BitType.extractorPageHeader]: {
10645
10873
  since: "1.5.21",
@@ -10648,8 +10876,17 @@ var BITS = {
10648
10876
  },
10649
10877
  [BitType.extractorPageHeaderCollapsible]: {
10650
10878
  since: "1.30.0",
10879
+ deprecated: "5.37.0",
10651
10880
  baseBitType: BitType.extractorPageHeader,
10652
- description: "Collapsible extractor page header bit, used to define headers in extractor pages with collapsible functionality"
10881
+ description: "Collapsible extractor page header bit, used to define headers in extractor pages with collapsible functionality",
10882
+ tags: [
10883
+ {
10884
+ key: ConfigKey.property_isCollapsible,
10885
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10886
+ format: TagFormat.boolean,
10887
+ defaultValue: "true"
10888
+ }
10889
+ ]
10653
10890
  },
10654
10891
  [BitType.extractorPageFooter]: {
10655
10892
  since: "1.5.21",
@@ -10658,8 +10895,17 @@ var BITS = {
10658
10895
  },
10659
10896
  [BitType.extractorPageFooterCollapsible]: {
10660
10897
  since: "1.30.0",
10898
+ deprecated: "5.37.0",
10661
10899
  baseBitType: BitType.extractorPageFooter,
10662
- description: "Collapsible extractor page footer bit, used to define footers in extractor pages with collapsible functionality"
10900
+ description: "Collapsible extractor page footer bit, used to define footers in extractor pages with collapsible functionality",
10901
+ tags: [
10902
+ {
10903
+ key: ConfigKey.property_isCollapsible,
10904
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
10905
+ format: TagFormat.boolean,
10906
+ defaultValue: "true"
10907
+ }
10908
+ ]
10663
10909
  },
10664
10910
  [BitType.pageOpenBook]: {
10665
10911
  since: "1.5.10",
@@ -10949,8 +11195,17 @@ var BITS = {
10949
11195
  },
10950
11196
  [BitType.definitionListCollapsible]: {
10951
11197
  since: "5.25.0",
11198
+ deprecated: "5.37.0",
10952
11199
  baseBitType: BitType.definitionList,
10953
- description: "Collapsible definition list bit, used to create collapsible lists of definitions in articles or books"
11200
+ description: "Collapsible definition list bit, used to create collapsible lists of definitions in articles or books",
11201
+ tags: [
11202
+ {
11203
+ key: ConfigKey.property_isCollapsible,
11204
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11205
+ format: TagFormat.boolean,
11206
+ defaultValue: "true"
11207
+ }
11208
+ ]
10954
11209
  },
10955
11210
  [BitType.standardDefinitionListNormative]: {
10956
11211
  since: "5.24.0",
@@ -11174,13 +11429,31 @@ var BITS = {
11174
11429
  },
11175
11430
  [BitType.smartStandardImageFigureNormativeCollapsible]: {
11176
11431
  since: "1.28.0",
11432
+ deprecated: "5.37.0",
11177
11433
  baseBitType: BitType.smartStandardImageFigureNormative,
11178
- description: "Collapsible smart standard normative image figure bit, used to create collapsible smart standard normative image figures in articles or books"
11434
+ description: "Collapsible smart standard normative image figure bit, used to create collapsible smart standard normative image figures in articles or books",
11435
+ tags: [
11436
+ {
11437
+ key: ConfigKey.property_isCollapsible,
11438
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11439
+ format: TagFormat.boolean,
11440
+ defaultValue: "true"
11441
+ }
11442
+ ]
11179
11443
  },
11180
11444
  [BitType.smartStandardImageFigureNonNormativeCollapsible]: {
11181
11445
  since: "1.28.0",
11446
+ deprecated: "5.37.0",
11182
11447
  baseBitType: BitType.smartStandardImageFigureNonNormative,
11183
- description: "Collapsible smart standard non-normative image figure bit, used to create collapsible smart standard non-normative image figures in articles or books"
11448
+ description: "Collapsible smart standard non-normative image figure bit, used to create collapsible smart standard non-normative image figures in articles or books",
11449
+ tags: [
11450
+ {
11451
+ key: ConfigKey.property_isCollapsible,
11452
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11453
+ format: TagFormat.boolean,
11454
+ defaultValue: "true"
11455
+ }
11456
+ ]
11184
11457
  },
11185
11458
  [BitType.imageLandscape]: {
11186
11459
  since: "1.3.0",
@@ -11392,43 +11665,115 @@ var BITS = {
11392
11665
  },
11393
11666
  [BitType.smartStandardTableImageNormativeCollapsible]: {
11394
11667
  since: "1.28.0",
11668
+ deprecated: "5.37.0",
11395
11669
  baseBitType: BitType.smartStandardTableImageNormative,
11396
- description: "Collapsible smart standard normative table image bit, used to create collapsible smart standard normative images in tables in articles or books"
11670
+ description: "Collapsible smart standard normative table image bit, used to create collapsible smart standard normative images in tables in articles or books",
11671
+ tags: [
11672
+ {
11673
+ key: ConfigKey.property_isCollapsible,
11674
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11675
+ format: TagFormat.boolean,
11676
+ defaultValue: "true"
11677
+ }
11678
+ ]
11397
11679
  },
11398
11680
  [BitType.smartStandardTableImageNonNormativeCollapsible]: {
11399
11681
  since: "1.28.0",
11682
+ deprecated: "5.37.0",
11400
11683
  baseBitType: BitType.smartStandardTableImageNonNormative,
11401
- description: "Collapsible smart standard non-normative table image bit, used to create collapsible smart standard non-normative images in tables in articles or books"
11684
+ description: "Collapsible smart standard non-normative table image bit, used to create collapsible smart standard non-normative images in tables in articles or books",
11685
+ tags: [
11686
+ {
11687
+ key: ConfigKey.property_isCollapsible,
11688
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11689
+ format: TagFormat.boolean,
11690
+ defaultValue: "true"
11691
+ }
11692
+ ]
11402
11693
  },
11403
11694
  [BitType.smartStandardRemarkTableImageNormativeCollapsible]: {
11404
11695
  since: "1.28.0",
11696
+ deprecated: "5.37.0",
11405
11697
  baseBitType: BitType.smartStandardRemarkTableImageNormative,
11406
- description: "Collapsible smart standard normative remark table image bit, used to create collapsible smart standard normative remark images in tables in articles or books"
11698
+ description: "Collapsible smart standard normative remark table image bit, used to create collapsible smart standard normative remark images in tables in articles or books",
11699
+ tags: [
11700
+ {
11701
+ key: ConfigKey.property_isCollapsible,
11702
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11703
+ format: TagFormat.boolean,
11704
+ defaultValue: "true"
11705
+ }
11706
+ ]
11407
11707
  },
11408
11708
  [BitType.smartStandardRemarkTableImageNonNormativeCollapsible]: {
11409
11709
  since: "1.28.0",
11710
+ deprecated: "5.37.0",
11410
11711
  baseBitType: BitType.smartStandardRemarkTableImageNonNormative,
11411
- description: "Collapsible smart standard non-normative remark table image bit, used to create collapsible smart standard non-normative remark images in tables in articles or books"
11712
+ description: "Collapsible smart standard non-normative remark table image bit, used to create collapsible smart standard non-normative remark images in tables in articles or books",
11713
+ tags: [
11714
+ {
11715
+ key: ConfigKey.property_isCollapsible,
11716
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11717
+ format: TagFormat.boolean,
11718
+ defaultValue: "true"
11719
+ }
11720
+ ]
11412
11721
  },
11413
11722
  [BitType.smartStandardTableExtendedImageNormativeCollapsible]: {
11414
11723
  since: "1.28.0",
11724
+ deprecated: "5.37.0",
11415
11725
  baseBitType: BitType.smartStandardTableExtendedImageNormative,
11416
- description: "Collapsible smart standard normative extended table image bit, used to create collapsible smart standard normative extended images in tables in articles or books"
11726
+ description: "Collapsible smart standard normative extended table image bit, used to create collapsible smart standard normative extended images in tables in articles or books",
11727
+ tags: [
11728
+ {
11729
+ key: ConfigKey.property_isCollapsible,
11730
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11731
+ format: TagFormat.boolean,
11732
+ defaultValue: "true"
11733
+ }
11734
+ ]
11417
11735
  },
11418
11736
  [BitType.smartStandardTableExtendedImageNonNormativeCollapsible]: {
11419
11737
  since: "1.28.0",
11738
+ deprecated: "5.37.0",
11420
11739
  baseBitType: BitType.smartStandardTableExtendedImageNonNormative,
11421
- description: "Collapsible smart standard non-normative extended table image bit, used to create collapsible smart standard non-normative extended images in tables in articles or books"
11740
+ description: "Collapsible smart standard non-normative extended table image bit, used to create collapsible smart standard non-normative extended images in tables in articles or books",
11741
+ tags: [
11742
+ {
11743
+ key: ConfigKey.property_isCollapsible,
11744
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11745
+ format: TagFormat.boolean,
11746
+ defaultValue: "true"
11747
+ }
11748
+ ]
11422
11749
  },
11423
11750
  [BitType.smartStandardRemarkTableExtendedImageNormativeCollapsible]: {
11424
11751
  since: "1.28.0",
11752
+ deprecated: "5.37.0",
11425
11753
  baseBitType: BitType.smartStandardRemarkTableExtendedImageNormative,
11426
- description: "Collapsible smart standard normative remark extended table image bit, used to create collapsible smart standard normative remark extended images in tables in articles or books"
11754
+ description: "Collapsible smart standard normative remark extended table image bit, used to create collapsible smart standard normative remark extended images in tables in articles or books",
11755
+ tags: [
11756
+ {
11757
+ key: ConfigKey.property_isCollapsible,
11758
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11759
+ format: TagFormat.boolean,
11760
+ defaultValue: "true"
11761
+ }
11762
+ ]
11427
11763
  },
11428
11764
  [BitType.smartStandardRemarkTableExtendedImageNonNormativeCollapsible]: {
11429
11765
  since: "1.28.0",
11766
+ deprecated: "5.37.0",
11430
11767
  baseBitType: BitType.smartStandardRemarkTableExtendedImageNonNormative,
11431
- description: "Collapsible smart standard non-normative remark extended table image bit, used to create collapsible smart standard non-normative remark extended images in tables in articles or books"
11768
+ description: "Collapsible smart standard non-normative remark extended table image bit, used to create collapsible smart standard non-normative remark extended images in tables in articles or books",
11769
+ tags: [
11770
+ {
11771
+ key: ConfigKey.property_isCollapsible,
11772
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
11773
+ format: TagFormat.boolean,
11774
+ defaultValue: "true"
11775
+ }
11776
+ ]
11432
11777
  },
11433
11778
  [BitType.imageLink]: {
11434
11779
  since: "1.3.0",
@@ -11909,8 +12254,17 @@ var BITS = {
11909
12254
  },
11910
12255
  [BitType.smartStandardListItemCollapsible]: {
11911
12256
  since: "1.28.0",
12257
+ deprecated: "5.37.0",
11912
12258
  baseBitType: BitType.smartStandardListItem,
11913
- description: "Collapsible smart standard list item bit, used to create collapsible smart standard list items in articles or books"
12259
+ description: "Collapsible smart standard list item bit, used to create collapsible smart standard list items in articles or books",
12260
+ tags: [
12261
+ {
12262
+ key: ConfigKey.property_isCollapsible,
12263
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
12264
+ format: TagFormat.boolean,
12265
+ defaultValue: "true"
12266
+ }
12267
+ ]
11914
12268
  },
11915
12269
  [BitType.mark]: {
11916
12270
  since: "1.3.0",
@@ -12243,8 +12597,17 @@ var BITS = {
12243
12597
  },
12244
12598
  [BitType.pageCollapsible]: {
12245
12599
  since: "1.30.0",
12600
+ deprecated: "5.37.0",
12246
12601
  baseBitType: BitType.page,
12247
- description: "Collapsible page bit, used to create collapsible sections in pages"
12602
+ description: "Collapsible page bit, used to create collapsible sections in pages",
12603
+ tags: [
12604
+ {
12605
+ key: ConfigKey.property_isCollapsible,
12606
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
12607
+ format: TagFormat.boolean,
12608
+ defaultValue: "true"
12609
+ }
12610
+ ]
12248
12611
  },
12249
12612
  [BitType.pageCoverImage]: {
12250
12613
  since: "1.22.0",
@@ -13219,43 +13582,115 @@ var BITS = {
13219
13582
  },
13220
13583
  [BitType.smartStandardTableNormativeCollapsible]: {
13221
13584
  since: "1.28.0",
13585
+ deprecated: "5.37.0",
13222
13586
  baseBitType: BitType.smartStandardTableNormative,
13223
- description: "Collapsible smart standard normative table bit, used to create collapsible smart standard normative tables in articles or books"
13587
+ description: "Collapsible smart standard normative table bit, used to create collapsible smart standard normative tables in articles or books",
13588
+ tags: [
13589
+ {
13590
+ key: ConfigKey.property_isCollapsible,
13591
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
13592
+ format: TagFormat.boolean,
13593
+ defaultValue: "true"
13594
+ }
13595
+ ]
13224
13596
  },
13225
13597
  [BitType.smartStandardTableNonNormativeCollapsible]: {
13226
13598
  since: "1.28.0",
13599
+ deprecated: "5.37.0",
13227
13600
  baseBitType: BitType.smartStandardTableNonNormative,
13228
- description: "Collapsible smart standard non-normative table bit, used to create collapsible smart standard non-normative tables in articles or books"
13601
+ description: "Collapsible smart standard non-normative table bit, used to create collapsible smart standard non-normative tables in articles or books",
13602
+ tags: [
13603
+ {
13604
+ key: ConfigKey.property_isCollapsible,
13605
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
13606
+ format: TagFormat.boolean,
13607
+ defaultValue: "true"
13608
+ }
13609
+ ]
13229
13610
  },
13230
13611
  [BitType.smartStandardRemarkTableNormativeCollapsible]: {
13231
13612
  since: "1.28.0",
13613
+ deprecated: "5.37.0",
13232
13614
  baseBitType: BitType.smartStandardRemarkTableNormative,
13233
- description: "Collapsible smart standard normative remark table bit, used to create collapsible smart standard normative remark tables in articles or books"
13615
+ description: "Collapsible smart standard normative remark table bit, used to create collapsible smart standard normative remark tables in articles or books",
13616
+ tags: [
13617
+ {
13618
+ key: ConfigKey.property_isCollapsible,
13619
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
13620
+ format: TagFormat.boolean,
13621
+ defaultValue: "true"
13622
+ }
13623
+ ]
13234
13624
  },
13235
13625
  [BitType.smartStandardRemarkTableNonNormativeCollapsible]: {
13236
13626
  since: "1.28.0",
13627
+ deprecated: "5.37.0",
13237
13628
  baseBitType: BitType.smartStandardRemarkTableNonNormative,
13238
- description: "Collapsible smart standard non-normative remark table bit, used to create collapsible smart standard non-normative remark tables in articles or books"
13629
+ description: "Collapsible smart standard non-normative remark table bit, used to create collapsible smart standard non-normative remark tables in articles or books",
13630
+ tags: [
13631
+ {
13632
+ key: ConfigKey.property_isCollapsible,
13633
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
13634
+ format: TagFormat.boolean,
13635
+ defaultValue: "true"
13636
+ }
13637
+ ]
13239
13638
  },
13240
13639
  [BitType.smartStandardTableExtendedNormativeCollapsible]: {
13241
13640
  since: "1.28.0",
13641
+ deprecated: "5.37.0",
13242
13642
  baseBitType: BitType.smartStandardTableExtendedNormative,
13243
- description: "Collapsible smart standard normative extended table bit, used to create collapsible smart standard normative extended tables in articles or books"
13643
+ description: "Collapsible smart standard normative extended table bit, used to create collapsible smart standard normative extended tables in articles or books",
13644
+ tags: [
13645
+ {
13646
+ key: ConfigKey.property_isCollapsible,
13647
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
13648
+ format: TagFormat.boolean,
13649
+ defaultValue: "true"
13650
+ }
13651
+ ]
13244
13652
  },
13245
13653
  [BitType.smartStandardTableExtendedNonNormativeCollapsible]: {
13246
13654
  since: "1.28.0",
13655
+ deprecated: "5.37.0",
13247
13656
  baseBitType: BitType.smartStandardTableExtendedNonNormative,
13248
- description: "Collapsible smart standard non-normative extended table bit, used to create collapsible smart standard non-normative extended tables in articles or books"
13657
+ description: "Collapsible smart standard non-normative extended table bit, used to create collapsible smart standard non-normative extended tables in articles or books",
13658
+ tags: [
13659
+ {
13660
+ key: ConfigKey.property_isCollapsible,
13661
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
13662
+ format: TagFormat.boolean,
13663
+ defaultValue: "true"
13664
+ }
13665
+ ]
13249
13666
  },
13250
13667
  [BitType.smartStandardRemarkTableExtendedNormativeCollapsible]: {
13251
13668
  since: "1.28.0",
13669
+ deprecated: "5.37.0",
13252
13670
  baseBitType: BitType.smartStandardRemarkTableExtendedNormative,
13253
- description: "Collapsible smart standard normative remark extended table bit, used to create collapsible smart standard normative remark extended tables in articles or books"
13671
+ description: "Collapsible smart standard normative remark extended table bit, used to create collapsible smart standard normative remark extended tables in articles or books",
13672
+ tags: [
13673
+ {
13674
+ key: ConfigKey.property_isCollapsible,
13675
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
13676
+ format: TagFormat.boolean,
13677
+ defaultValue: "true"
13678
+ }
13679
+ ]
13254
13680
  },
13255
13681
  [BitType.smartStandardRemarkTableExtendedNonNormativeCollapsible]: {
13256
13682
  since: "1.28.0",
13683
+ deprecated: "5.37.0",
13257
13684
  baseBitType: BitType.smartStandardRemarkTableExtendedNonNormative,
13258
- description: "Collapsible smart standard non-normative remark extended table bit, used to create collapsible smart standard non-normative remark extended tables in articles or books"
13685
+ description: "Collapsible smart standard non-normative remark extended table bit, used to create collapsible smart standard non-normative remark extended tables in articles or books",
13686
+ tags: [
13687
+ {
13688
+ key: ConfigKey.property_isCollapsible,
13689
+ description: "If true, the bit is collapsible (defaults true for this deprecated bit type)",
13690
+ format: TagFormat.boolean,
13691
+ defaultValue: "true"
13692
+ }
13693
+ ]
13259
13694
  },
13260
13695
  [BitType.parameters]: {
13261
13696
  since: "1.18.0",
@@ -13967,10 +14402,12 @@ var BITS = {
13967
14402
  };
13968
14403
 
13969
14404
  // src/config/Config.ts
14405
+ var COLLAPSIBLE_BIT_TYPE_SUFFIX = "-collapsible";
13970
14406
  var Config = class {
13971
14407
  bitLevelMin = 1;
13972
14408
  bitLevelMax = 7;
13973
14409
  bitCache = /* @__PURE__ */ new Map();
14410
+ migratedBitCache = /* @__PURE__ */ new Map();
13974
14411
  allResourcesCache;
13975
14412
  comboResourcesCache = /* @__PURE__ */ new Map();
13976
14413
  constructor() {
@@ -13987,6 +14424,29 @@ var Config = class {
13987
14424
  if (bitType?.startsWith("|")) bitType = bitType.substring(1);
13988
14425
  return Enum(BitType).fromValue(bitType) ?? BitType._error;
13989
14426
  }
14427
+ /**
14428
+ * PLAN-017: Return the migration target for a deprecated `*-collapsible` bit type.
14429
+ *
14430
+ * Every `*-collapsible` bit type declares its non-collapsible cousin as its `baseBitType`, so the
14431
+ * target is read from the config rather than a hand-maintained table — a new `*-collapsible` bit
14432
+ * type is covered automatically.
14433
+ *
14434
+ * `BitType.collapsible` is the one exclusion: it has no non-collapsible cousin (its `baseBitType`
14435
+ * is `article`, which is not a migration target).
14436
+ *
14437
+ * @param bitType the bit type
14438
+ * @returns the bit type to migrate to, or undefined if the bit type does not migrate
14439
+ */
14440
+ getMigratedBitType(bitType) {
14441
+ const cached = this.migratedBitCache.get(bitType);
14442
+ if (cached !== void 0 || this.migratedBitCache.has(bitType)) return cached;
14443
+ let target;
14444
+ if (bitType !== BitType.collapsible && bitType.endsWith(COLLAPSIBLE_BIT_TYPE_SUFFIX)) {
14445
+ target = BITS[bitType]?.baseBitType;
14446
+ }
14447
+ this.migratedBitCache.set(bitType, target);
14448
+ return target;
14449
+ }
13990
14450
  /**
13991
14451
  * Check if a bit type is and instance of the given root bit type.
13992
14452
  *
@@ -14309,7 +14769,7 @@ var instance2 = new Config();
14309
14769
  // src/generated/package_info.ts
14310
14770
  var PACKAGE_INFO = {
14311
14771
  "name": "@gmb/bitmark-parser-generator",
14312
- "version": "5.36.0",
14772
+ "version": "5.37.0",
14313
14773
  "license": "ISC"};
14314
14774
  var Environment = {
14315
14775
  unknown: "",
@@ -15336,6 +15796,8 @@ var NodeType = {
15336
15796
  type: "type",
15337
15797
  unit: "unit",
15338
15798
  unitAbbr: "unitAbbr",
15799
+ unitAbbrPlural: "unitAbbrPlural",
15800
+ unitPlural: "unitPlural",
15339
15801
  url: "url",
15340
15802
  validationDate: "validationDate",
15341
15803
  validationDateValue: "validationDateValue",
@@ -28326,8 +28788,14 @@ var Builder = class extends BaseBuilder {
28326
28788
  */
28327
28789
  buildBit(data, options) {
28328
28790
  data = structuredClone(data);
28791
+ const migratedBitType = instance2.getMigratedBitType(data.bitType);
28792
+ if (migratedBitType) {
28793
+ data.bitType = migratedBitType;
28794
+ data.isCollapsible = data.isCollapsible ?? true;
28795
+ }
28329
28796
  const bitType = data.bitType;
28330
28797
  const bitConfig = instance2.getBitConfig(bitType);
28798
+ const isCollapsibleDefaultsTrue = bitConfig.tags[ConfigKey.property_isCollapsible]?.defaultValue === "true";
28331
28799
  const deprecatedTextFormat = Enum(DeprecatedTextFormat).fromValue(data.textFormat);
28332
28800
  let textFormat = Enum(TextFormat).fromValue(data.textFormat) ?? bitConfig.textFormatDefault;
28333
28801
  if (deprecatedTextFormat === DeprecatedTextFormat.bitmarkMinusMinus) {
@@ -29460,7 +29928,7 @@ var Builder = class extends BaseBuilder {
29460
29928
  isCollapsible: this.toAstProperty(
29461
29929
  bitType,
29462
29930
  ConfigKey.property_isCollapsible,
29463
- data.isCollapsible,
29931
+ data.isCollapsible ?? (isCollapsibleDefaultsTrue ? true : void 0),
29464
29932
  options
29465
29933
  ),
29466
29934
  anchor: data.anchor,
@@ -30229,7 +30697,9 @@ var Builder = class extends BaseBuilder {
30229
30697
  ingredient: this.handleJsonText(context, TextLocation.tag, data.ingredient),
30230
30698
  quantity: data.quantity ?? 0,
30231
30699
  unit: data.unit ?? "",
30700
+ unitPlural: data.unitPlural ?? "",
30232
30701
  unitAbbr: data.unitAbbr ?? "",
30702
+ unitAbbrPlural: data.unitAbbrPlural ?? "",
30233
30703
  decimalPlaces: data.decimalPlaces ?? 1,
30234
30704
  disableCalculation: data.disableCalculation ?? false,
30235
30705
  item: this.handleJsonText(context, TextLocation.tag, data.item),
@@ -30824,11 +31294,22 @@ var Builder = class extends BaseBuilder {
30824
31294
  */
30825
31295
  buildServings(_context, data) {
30826
31296
  if (!data) return void 0;
30827
- const { servings, unit, unitAbbr, decimalPlaces, disableCalculation, hint } = data;
31297
+ const {
31298
+ servings,
31299
+ unit,
31300
+ unitPlural,
31301
+ unitAbbr,
31302
+ unitAbbrPlural,
31303
+ decimalPlaces,
31304
+ disableCalculation,
31305
+ hint
31306
+ } = data;
30828
31307
  const node = {
30829
31308
  servings: servings ?? 0,
30830
31309
  unit: unit ?? "",
31310
+ unitPlural: unitPlural ?? "",
30831
31311
  unitAbbr: unitAbbr ?? "",
31312
+ unitAbbrPlural: unitAbbrPlural ?? "",
30832
31313
  decimalPlaces: decimalPlaces ?? 1,
30833
31314
  disableCalculation: disableCalculation ?? false,
30834
31315
  hint: hint ?? ""
@@ -31754,7 +32235,16 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
31754
32235
  const nodeValue = node.value;
31755
32236
  const parent = this.getParentNode(route);
31756
32237
  if (parent?.key !== NodeType.bitsValue) return true;
31757
- const { servings, unit, unitAbbr, decimalPlaces, disableCalculation, hint } = nodeValue;
32238
+ const {
32239
+ servings,
32240
+ unit,
32241
+ unitPlural,
32242
+ unitAbbr,
32243
+ unitAbbrPlural,
32244
+ decimalPlaces,
32245
+ disableCalculation,
32246
+ hint
32247
+ } = nodeValue;
31758
32248
  this.writeProperty("servings", servings, route, {
31759
32249
  format: TagFormat.plainText
31760
32250
  });
@@ -31764,12 +32254,24 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
31764
32254
  forceChain: true
31765
32255
  });
31766
32256
  }
32257
+ if (unitPlural != null) {
32258
+ this.writeProperty("unitPlural", unitPlural, route, {
32259
+ format: TagFormat.plainText,
32260
+ forceChain: true
32261
+ });
32262
+ }
31767
32263
  if (unitAbbr != null) {
31768
32264
  this.writeProperty("unitAbbr", unitAbbr, route, {
31769
32265
  format: TagFormat.plainText,
31770
32266
  forceChain: true
31771
32267
  });
31772
32268
  }
32269
+ if (unitAbbrPlural != null) {
32270
+ this.writeProperty("unitAbbrPlural", unitAbbrPlural, route, {
32271
+ format: TagFormat.plainText,
32272
+ forceChain: true
32273
+ });
32274
+ }
31773
32275
  if (decimalPlaces != null) {
31774
32276
  this.writeProperty("decimalPlaces", decimalPlaces, route, {
31775
32277
  format: TagFormat.plainText,
@@ -32613,10 +33115,18 @@ var BitmarkGenerator = class extends AstWalkerGenerator {
32613
33115
  this.writeProperty("unit", ingredient.unit, route, {
32614
33116
  format: TagFormat.plainText
32615
33117
  });
33118
+ if (ingredient.unitPlural != null)
33119
+ this.writeProperty("unitPlural", ingredient.unitPlural, route, {
33120
+ format: TagFormat.plainText
33121
+ });
32616
33122
  if (ingredient.unitAbbr != null)
32617
33123
  this.writeProperty("unitAbbr", ingredient.unitAbbr, route, {
32618
33124
  format: TagFormat.plainText
32619
33125
  });
33126
+ if (ingredient.unitAbbrPlural != null)
33127
+ this.writeProperty("unitAbbrPlural", ingredient.unitAbbrPlural, route, {
33128
+ format: TagFormat.plainText
33129
+ });
32620
33130
  if (ingredient.decimalPlaces != null)
32621
33131
  this.writeProperty("decimalPlaces", ingredient.decimalPlaces, route, {
32622
33132
  format: TagFormat.plainText
@@ -34386,6 +34896,25 @@ var JsonGenerator = class extends AstWalkerGenerator {
34386
34896
  }
34387
34897
  return false;
34388
34898
  }
34899
+ // bitmarkAst -> bits -> bitsValue -> isCollapsible
34900
+ /**
34901
+ * PLAN-016: `isCollapsible` is emitted only when true. `false` is the implied
34902
+ * default for every bit, so it is never written to the JSON — an absent key
34903
+ * means the bit's configured default (`true` for the deprecated
34904
+ * `*-collapsible` bit types, `false` everywhere else).
34905
+ *
34906
+ * Defining these handlers suppresses the generic property handlers that
34907
+ * `generatePropertyHandlers()` would otherwise install for this tag.
34908
+ */
34909
+ leaf_isCollapsible(node, route) {
34910
+ const parent = this.getParentNode(route);
34911
+ if (parent?.key !== NodeType.bitsValue) return false;
34912
+ if (node.value === true) this.bitJson.isCollapsible = true;
34913
+ return false;
34914
+ }
34915
+ enter_isCollapsible(node, route) {
34916
+ return this.leaf_isCollapsible(node, route);
34917
+ }
34389
34918
  // bitmarkAst -> bits -> bitsValue -> markConfig
34390
34919
  enter_markConfig(_node, _route) {
34391
34920
  return true;
@@ -35257,7 +35786,6 @@ var JsonGenerator = class extends AstWalkerGenerator {
35257
35786
  if (instance2.isOfBitType(bitType, BitType.chapter)) {
35258
35787
  if (bitJson.toc == null) bitJson.toc = true;
35259
35788
  if (bitJson.progress == null) bitJson.progress = true;
35260
- if (bitJson.isCollapsible == null) bitJson.isCollapsible = false;
35261
35789
  if (bitJson.level == null) bitJson.level = 1;
35262
35790
  if (bitJson.body == null) bitJson.body = this.bodyDefault;
35263
35791
  }
@@ -38162,7 +38690,9 @@ function parseIngredients(_context, _bitType, cardSet) {
38162
38690
  title: titleArray,
38163
38691
  __instructionString,
38164
38692
  unit,
38693
+ unitPlural,
38165
38694
  unitAbbr,
38695
+ unitAbbrPlural,
38166
38696
  decimalPlaces,
38167
38697
  disableCalculation,
38168
38698
  cardBodyStr,
@@ -38192,7 +38722,9 @@ function parseIngredients(_context, _bitType, cardSet) {
38192
38722
  ingredient: cardBodyStr,
38193
38723
  quantity,
38194
38724
  unit: unit ?? instance3.EMPTY_STRING,
38725
+ unitPlural,
38195
38726
  unitAbbr: unitAbbr ?? instance3.EMPTY_STRING,
38727
+ unitAbbrPlural,
38196
38728
  decimalPlaces: decimalPlaces ?? 1,
38197
38729
  disableCalculation,
38198
38730
  ...tags2
@@ -38842,12 +39374,22 @@ function servingsChainContentProcessor(context, _contentDepth, tagsConfig, conte
38842
39374
  if (context.DEBUG_CHAIN_CONTENT) context.debugPrint("servings content", content);
38843
39375
  const tags2 = context.bitContentProcessor(ContentDepth.Chain, tagsConfig, content.chain);
38844
39376
  if (context.DEBUG_CHAIN_TAGS) context.debugPrint("servings TAGS", tags2);
38845
- const { unit, unitAbbr, decimalPlaces, disableCalculation, __hintString } = tags2;
39377
+ const {
39378
+ unit,
39379
+ unitPlural,
39380
+ unitAbbr,
39381
+ unitAbbrPlural,
39382
+ decimalPlaces,
39383
+ disableCalculation,
39384
+ __hintString
39385
+ } = tags2;
38846
39386
  const servings = instance6.asNumber(content.value) ?? 1;
38847
39387
  const node = {
38848
39388
  servings,
38849
39389
  unit,
39390
+ unitPlural,
38850
39391
  unitAbbr,
39392
+ unitAbbrPlural,
38851
39393
  decimalPlaces: decimalPlaces ?? 1,
38852
39394
  disableCalculation,
38853
39395
  hint: __hintString