zyzz 0.0.16 → 0.0.18

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.
@@ -825,7 +825,7 @@ const textSpacing = {
825
825
  const track = { explicit: false, kind: 'grid-tracks' } as const
826
826
 
827
827
  /** Canonical domains shared by legacy aliases and standard declarations. */
828
- export const aliases = {
828
+ const legacyAliases = {
829
829
  gridColumnGap: 'columnGap',
830
830
  gridGap: 'gap',
831
831
  gridRowGap: 'rowGap',
@@ -909,8 +909,7 @@ export function name(property: string): string {
909
909
  return property.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)
910
910
  }
911
911
 
912
- /** Single source of truth for the supported literal properties and domains. */
913
- export const rules = {
912
+ const properties = {
914
913
  accentColor: { ...color, keywords: ['auto'] },
915
914
  alignContent: {
916
915
  kind: 'enum',
@@ -1023,6 +1022,7 @@ export const rules = {
1023
1022
  kind: 'enum',
1024
1023
  values: ['inherit', 'initial', 'revert', 'revert-layer', 'unset'],
1025
1024
  },
1025
+ alt: { kind: 'enum', values: [], quoted: true, functions: ['attr'] },
1026
1026
  anchorName: {
1027
1027
  dashed: true,
1028
1028
  keywords: ['none'],
@@ -1146,6 +1146,16 @@ export const rules = {
1146
1146
  list: true,
1147
1147
  values: ['no-repeat', 'repeat', 'repeat-x', 'repeat-y', 'round', 'space'],
1148
1148
  },
1149
+ backgroundRepeatX: {
1150
+ kind: 'enum',
1151
+ values: ['repeat', 'space', 'round', 'no-repeat'],
1152
+ list: true,
1153
+ },
1154
+ backgroundRepeatY: {
1155
+ kind: 'enum',
1156
+ values: ['repeat', 'space', 'round', 'no-repeat'],
1157
+ list: true,
1158
+ },
1149
1159
  backgroundSize: {
1150
1160
  ...length,
1151
1161
  auto: true,
@@ -1159,6 +1169,11 @@ export const rules = {
1159
1169
  negative: true,
1160
1170
  },
1161
1171
  baselineSource: { kind: 'enum', values: ['auto', 'first', 'last'] },
1172
+ blockEllipsis: {
1173
+ kind: 'enum',
1174
+ values: ['no-ellipsis', 'auto'],
1175
+ quoted: true,
1176
+ },
1162
1177
  blockSize: {
1163
1178
  ...size,
1164
1179
  functions: ['anchor-size', 'calc-size', 'fit-content'],
@@ -1328,6 +1343,7 @@ export const rules = {
1328
1343
  kind: 'enum',
1329
1344
  values: ['avoid-region', 'auto', 'avoid', 'avoid-column', 'avoid-page'],
1330
1345
  },
1346
+ bufferedRendering: { kind: 'enum', values: ['auto', 'dynamic', 'static'] },
1331
1347
  captionSide: { kind: 'enum', values: ['bottom', 'top'] },
1332
1348
  caret: { kind: 'compound', property: 'caret' },
1333
1349
  caretAnimation: { kind: 'enum', values: ['auto', 'manual'] },
@@ -1341,10 +1357,15 @@ export const rules = {
1341
1357
  clipPath: { kind: 'compound', property: 'clipPath' },
1342
1358
  clipRule: { kind: 'enum', values: ['evenodd', 'nonzero'] },
1343
1359
  color,
1360
+ colorInterpolation: { kind: 'enum', values: ['auto', 'sRGB', 'linearRGB'] },
1344
1361
  colorInterpolationFilters: {
1345
1362
  kind: 'enum',
1346
1363
  values: ['auto', 'linearRGB', 'sRGB'],
1347
1364
  },
1365
+ colorRendering: {
1366
+ kind: 'enum',
1367
+ values: ['auto', 'optimizeSpeed', 'optimizeQuality'],
1368
+ },
1348
1369
  colorScheme: {
1349
1370
  kind: 'identifier',
1350
1371
  keywords: [
@@ -1362,8 +1383,52 @@ export const rules = {
1362
1383
  columnGap: { ...length, keywords: ['normal'] },
1363
1384
  columnHeight: { ...length, auto: true, percentage: false },
1364
1385
  columnRule: { kind: 'line' },
1386
+ columnRuleBreak: { kind: 'enum', values: ['none', 'normal', 'intersection'] },
1365
1387
  columnRuleColor: color,
1388
+ columnRuleInset: { kind: 'compound', property: 'ruleInset' },
1389
+ columnRuleInsetCap: {
1390
+ ...length,
1391
+ negative: true,
1392
+ items: 2,
1393
+ keywords: ['overlap-join'],
1394
+ },
1395
+ columnRuleInsetCapEnd: {
1396
+ ...length,
1397
+ negative: true,
1398
+ keywords: ['overlap-join'],
1399
+ },
1400
+ columnRuleInsetCapStart: {
1401
+ ...length,
1402
+ negative: true,
1403
+ keywords: ['overlap-join'],
1404
+ },
1405
+ columnRuleInsetEnd: { ...length, negative: true, keywords: ['overlap-join'] },
1406
+ columnRuleInsetJunction: {
1407
+ ...length,
1408
+ negative: true,
1409
+ items: 2,
1410
+ keywords: ['overlap-join'],
1411
+ },
1412
+ columnRuleInsetJunctionEnd: {
1413
+ ...length,
1414
+ negative: true,
1415
+ keywords: ['overlap-join'],
1416
+ },
1417
+ columnRuleInsetJunctionStart: {
1418
+ ...length,
1419
+ negative: true,
1420
+ keywords: ['overlap-join'],
1421
+ },
1422
+ columnRuleInsetStart: {
1423
+ ...length,
1424
+ negative: true,
1425
+ keywords: ['overlap-join'],
1426
+ },
1366
1427
  columnRuleStyle: border,
1428
+ columnRuleVisibilityItems: {
1429
+ kind: 'enum',
1430
+ values: ['all', 'around', 'between', 'normal'],
1431
+ },
1367
1432
  columnRuleWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
1368
1433
  columns: { kind: 'compound', property: 'columns' },
1369
1434
  columnSpan: { kind: 'enum', values: ['all', 'none'] },
@@ -1451,6 +1516,10 @@ export const rules = {
1451
1516
  },
1452
1517
  content: { kind: 'compound', property: 'content' },
1453
1518
  contentVisibility: { kind: 'enum', values: ['auto', 'hidden', 'visible'] },
1519
+ continue: {
1520
+ kind: 'enum',
1521
+ values: ['auto', 'discard', 'collapse', '-webkit-legacy'],
1522
+ },
1454
1523
  cornerBlockEndShape: { kind: 'corner', items: 2 },
1455
1524
  cornerBlockStartShape: { kind: 'corner', items: 2 },
1456
1525
  cornerBottomLeftShape: { kind: 'corner' },
@@ -1784,6 +1853,7 @@ export const rules = {
1784
1853
  },
1785
1854
  floodColor: color,
1786
1855
  floodOpacity: alpha,
1856
+ flowTolerance: { ...length, keywords: ['normal', 'infinite'] },
1787
1857
  font: { kind: 'compound', property: 'font' },
1788
1858
  fontFamily: { kind: 'compound', property: 'fontFamily' },
1789
1859
  fontFeatureSettings: { kind: 'compound', property: 'fontFeatureSettings' },
@@ -1958,6 +2028,10 @@ export const rules = {
1958
2028
  ],
1959
2029
  },
1960
2030
  gap: { ...length, items: 2, keywords: ['normal'] },
2031
+ glyphOrientationVertical: {
2032
+ kind: 'compound',
2033
+ property: 'glyphOrientationVertical',
2034
+ },
1961
2035
  grid: { kind: 'compound', property: 'grid' },
1962
2036
  gridArea: { kind: 'grid-line', items: 4 },
1963
2037
  gridAutoColumns: track,
@@ -2397,6 +2471,11 @@ export const rules = {
2397
2471
  'soft-light',
2398
2472
  ],
2399
2473
  },
2474
+ MozAnimationName: {
2475
+ keywords: ['none'],
2476
+ kind: 'identifier',
2477
+ separator: 'comma',
2478
+ },
2400
2479
  MozAppearance: {
2401
2480
  kind: 'enum',
2402
2481
  values: [
@@ -2512,6 +2591,32 @@ export const rules = {
2512
2591
  'treeview',
2513
2592
  ],
2514
2593
  },
2594
+ MozBackgroundClip: {
2595
+ kind: 'enum',
2596
+ list: true,
2597
+ values: [
2598
+ 'border-area',
2599
+ 'border-box',
2600
+ 'content-box',
2601
+ 'padding-box',
2602
+ 'text',
2603
+ 'border',
2604
+ 'padding',
2605
+ 'content',
2606
+ ],
2607
+ },
2608
+ MozBackgroundOrigin: {
2609
+ kind: 'enum',
2610
+ list: true,
2611
+ values: [
2612
+ 'border-box',
2613
+ 'content-box',
2614
+ 'padding-box',
2615
+ 'border',
2616
+ 'padding',
2617
+ 'content',
2618
+ ],
2619
+ },
2515
2620
  MozBinding: { kind: 'url' },
2516
2621
  MozBorderBottomColors: {
2517
2622
  kind: 'tuple',
@@ -2550,6 +2655,10 @@ export const rules = {
2550
2655
  kind: 'enum',
2551
2656
  values: ['border-box', 'content-box', 'margin-box', 'padding-box'],
2552
2657
  },
2658
+ MozFontLanguageOverride: {
2659
+ kind: 'compound',
2660
+ property: 'fontLanguageOverride',
2661
+ },
2553
2662
  MozForceBrokenImageIcon: {
2554
2663
  kind: 'compound',
2555
2664
  property: 'MozForceBrokenImageIcon',
@@ -2558,6 +2667,7 @@ export const rules = {
2558
2667
  kind: 'enum',
2559
2668
  values: ['block', 'horizontal', 'inline', 'vertical'],
2560
2669
  },
2670
+ MozOsxFontSmoothing: { kind: 'enum', values: ['auto', 'grayscale'] },
2561
2671
  MozOutlineRadius: { ...length, axes: true, items: 4 },
2562
2672
  MozOutlineRadiusBottomleft: length,
2563
2673
  MozOutlineRadiusBottomright: length,
@@ -2676,6 +2786,11 @@ export const rules = {
2676
2786
  },
2677
2787
  MsWrapMargin: stroke,
2678
2788
  MsWrapThrough: { kind: 'enum', values: ['none', 'wrap'] },
2789
+ OAnimationName: {
2790
+ keywords: ['none'],
2791
+ kind: 'identifier',
2792
+ separator: 'comma',
2793
+ },
2679
2794
  objectFit: {
2680
2795
  kind: 'enum',
2681
2796
  values: ['contain', 'cover', 'fill', 'none', 'scale-down'],
@@ -2846,6 +2961,46 @@ export const rules = {
2846
2961
  right: { ...margin, functions: ['anchor', 'anchor-size'] },
2847
2962
  rotate: { kind: 'rotate' },
2848
2963
  rowGap: { ...length, keywords: ['normal'] },
2964
+ rowRule: { kind: 'compound', property: 'rowRule', negative: false },
2965
+ rowRuleBreak: { kind: 'enum', values: ['none', 'normal', 'intersection'] },
2966
+ rowRuleColor: { kind: 'compound', property: 'rowRuleColor' },
2967
+ rowRuleInset: { kind: 'compound', property: 'ruleInset' },
2968
+ rowRuleInsetCap: {
2969
+ ...length,
2970
+ negative: true,
2971
+ items: 2,
2972
+ keywords: ['overlap-join'],
2973
+ },
2974
+ rowRuleInsetCapEnd: { ...length, negative: true, keywords: ['overlap-join'] },
2975
+ rowRuleInsetCapStart: {
2976
+ ...length,
2977
+ negative: true,
2978
+ keywords: ['overlap-join'],
2979
+ },
2980
+ rowRuleInsetEnd: { ...length, negative: true, keywords: ['overlap-join'] },
2981
+ rowRuleInsetJunction: {
2982
+ ...length,
2983
+ negative: true,
2984
+ items: 2,
2985
+ keywords: ['overlap-join'],
2986
+ },
2987
+ rowRuleInsetJunctionEnd: {
2988
+ ...length,
2989
+ negative: true,
2990
+ keywords: ['overlap-join'],
2991
+ },
2992
+ rowRuleInsetJunctionStart: {
2993
+ ...length,
2994
+ negative: true,
2995
+ keywords: ['overlap-join'],
2996
+ },
2997
+ rowRuleInsetStart: { ...length, negative: true, keywords: ['overlap-join'] },
2998
+ rowRuleStyle: { kind: 'compound', property: 'rowRuleStyle' },
2999
+ rowRuleVisibilityItems: {
3000
+ kind: 'enum',
3001
+ values: ['all', 'around', 'between', 'normal'],
3002
+ },
3003
+ rowRuleWidth: { kind: 'compound', property: 'rowRuleWidth', negative: false },
2849
3004
  rubyAlign: {
2850
3005
  kind: 'enum',
2851
3006
  values: ['center', 'space-around', 'space-between', 'start'],
@@ -2865,9 +3020,35 @@ export const rules = {
2865
3020
  'under alternate',
2866
3021
  ],
2867
3022
  },
3023
+ rule: { kind: 'compound', property: 'rowRule', negative: false },
3024
+ ruleBreak: { kind: 'enum', values: ['none', 'normal', 'intersection'] },
3025
+ ruleColor: { kind: 'compound', property: 'rowRuleColor' },
3026
+ ruleInset: { kind: 'compound', property: 'ruleInset' },
3027
+ ruleInsetCap: {
3028
+ ...length,
3029
+ negative: true,
3030
+ items: 2,
3031
+ keywords: ['overlap-join'],
3032
+ },
3033
+ ruleInsetEnd: { ...length, negative: true, keywords: ['overlap-join'] },
3034
+ ruleInsetJunction: {
3035
+ ...length,
3036
+ negative: true,
3037
+ items: 2,
3038
+ keywords: ['overlap-join'],
3039
+ },
3040
+ ruleInsetStart: { ...length, negative: true, keywords: ['overlap-join'] },
3041
+ ruleOverlap: { kind: 'enum', values: ['row-over-column', 'column-over-row'] },
3042
+ ruleStyle: { kind: 'compound', property: 'rowRuleStyle' },
3043
+ ruleVisibilityItems: {
3044
+ kind: 'enum',
3045
+ values: ['all', 'around', 'between', 'normal'],
3046
+ },
3047
+ ruleWidth: { kind: 'compound', property: 'rowRuleWidth', negative: false },
2868
3048
  rx: { ...length, auto: true },
2869
3049
  ry: { ...length, auto: true },
2870
3050
  scale: { kind: 'scale' },
3051
+ scrollAxisLock: { kind: 'enum', values: ['auto', 'none'] },
2871
3052
  scrollbarColor: {
2872
3053
  kind: 'tuple',
2873
3054
  atoms: ['color'],
@@ -2982,6 +3163,7 @@ export const rules = {
2982
3163
  kind: 'enum',
2983
3164
  values: ['auto', 'crispEdges', 'geometricPrecision', 'optimizeSpeed'],
2984
3165
  },
3166
+ speak: { kind: 'enum', values: ['auto', 'never', 'always'] },
2985
3167
  speakAs: {
2986
3168
  groups: [
2987
3169
  ['spell-out'],
@@ -3165,6 +3347,11 @@ export const rules = {
3165
3347
  },
3166
3348
  textDecorationSkip: { kind: 'compound', property: 'textDecorationSkip' },
3167
3349
  textDecorationSkipInk: { kind: 'enum', values: ['all', 'auto', 'none'] },
3350
+ textDecorationSkipSpaces: {
3351
+ kind: 'enum',
3352
+ values: ['none', 'all', 'start', 'end'],
3353
+ groups: [['start'], ['end']],
3354
+ },
3168
3355
  textDecorationStyle: {
3169
3356
  kind: 'enum',
3170
3357
  values: ['dashed', 'dotted', 'double', 'solid', 'wavy'],
@@ -3511,6 +3698,10 @@ export const rules = {
3511
3698
  'plaintext',
3512
3699
  ],
3513
3700
  },
3701
+ userModify: {
3702
+ kind: 'enum',
3703
+ values: ['read-only', 'read-write', 'read-write-plaintext-only'],
3704
+ },
3514
3705
  userSelect: {
3515
3706
  kind: 'enum',
3516
3707
  values: ['all', 'auto', 'none', 'text'],
@@ -3566,6 +3757,10 @@ export const rules = {
3566
3757
  separator: 'space',
3567
3758
  standalone: ['none'],
3568
3759
  },
3760
+ viewTransitionGroup: {
3761
+ kind: 'identifier',
3762
+ keywords: ['normal', 'contain', 'nearest'],
3763
+ },
3569
3764
  viewTransitionName: {
3570
3765
  keywords: ['match-element', 'none'],
3571
3766
  kind: 'identifier',
@@ -3573,6 +3768,11 @@ export const rules = {
3573
3768
  },
3574
3769
  viewTransitionScope: { kind: 'enum', values: ['all', 'none'] },
3575
3770
  visibility: { kind: 'enum', values: ['collapse', 'hidden', 'visible'] },
3771
+ WebkitAnimationName: {
3772
+ keywords: ['none'],
3773
+ kind: 'identifier',
3774
+ separator: 'comma',
3775
+ },
3576
3776
  WebkitAppearance: {
3577
3777
  kind: 'enum',
3578
3778
  values: [
@@ -3627,6 +3827,37 @@ export const rules = {
3627
3827
  'textfield',
3628
3828
  ],
3629
3829
  },
3830
+ WebkitAppRegion: {
3831
+ kind: 'enum',
3832
+ values: ['drag', 'no-drag', 'none', 'move'],
3833
+ },
3834
+ WebkitBackgroundClip: {
3835
+ kind: 'enum',
3836
+ list: true,
3837
+ values: [
3838
+ 'border-box',
3839
+ 'content-box',
3840
+ 'padding-box',
3841
+ 'text',
3842
+ 'border',
3843
+ 'padding',
3844
+ 'content',
3845
+ '-webkit-text',
3846
+ ],
3847
+ },
3848
+ WebkitBackgroundOrigin: {
3849
+ kind: 'enum',
3850
+ list: true,
3851
+ values: [
3852
+ 'border-box',
3853
+ 'content-box',
3854
+ 'padding-box',
3855
+ 'border',
3856
+ 'padding',
3857
+ 'content',
3858
+ '-webkit-text',
3859
+ ],
3860
+ },
3630
3861
  WebkitBorderAfter: { kind: 'line' },
3631
3862
  WebkitBorderAfterColor: color,
3632
3863
  WebkitBorderAfterStyle: border,
@@ -3639,12 +3870,79 @@ export const rules = {
3639
3870
  WebkitBorderEndColor: color,
3640
3871
  WebkitBorderEndStyle: border,
3641
3872
  WebkitBorderEndWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
3873
+ WebkitBorderHorizontalSpacing: stroke,
3642
3874
  WebkitBorderStart: { kind: 'line' },
3643
3875
  WebkitBorderStartColor: color,
3644
3876
  WebkitBorderStartStyle: border,
3645
3877
  WebkitBorderStartWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
3878
+ WebkitBorderVerticalSpacing: stroke,
3879
+ WebkitBoxPack: {
3880
+ kind: 'enum',
3881
+ values: ['center', 'end', 'justify', 'start'],
3882
+ },
3646
3883
  WebkitBoxReflect: { kind: 'compound', property: 'WebkitBoxReflect' },
3884
+ WebkitColumnAxis: {
3885
+ kind: 'enum',
3886
+ values: ['horizontal', 'vertical', 'auto'],
3887
+ },
3888
+ WebkitColumnBreakAfter: { kind: 'enum', values: ['auto', 'always', 'avoid'] },
3889
+ WebkitColumnBreakBefore: {
3890
+ kind: 'enum',
3891
+ values: ['auto', 'always', 'avoid'],
3892
+ },
3893
+ WebkitColumnBreakInside: { kind: 'enum', values: ['auto', 'avoid'] },
3894
+ WebkitColumnProgression: { kind: 'enum', values: ['normal', 'reverse'] },
3895
+ WebkitCursorVisibility: { kind: 'enum', values: ['auto', 'auto-hide'] },
3896
+ WebkitFontFeatureSettings: {
3897
+ kind: 'compound',
3898
+ property: 'fontFeatureSettings',
3899
+ },
3900
+ WebkitFontSmoothing: {
3901
+ kind: 'enum',
3902
+ values: ['antialiased', 'auto', 'none', 'subpixel-antialiased'],
3903
+ },
3904
+ WebkitHyphenateCharacter: {
3905
+ kind: 'compound',
3906
+ property: 'hyphenateCharacter',
3907
+ },
3908
+ WebkitHyphenateLimitAfter: { ...positiveInteger, min: 0, keywords: ['auto'] },
3909
+ WebkitHyphenateLimitBefore: {
3910
+ ...positiveInteger,
3911
+ min: 0,
3912
+ keywords: ['auto'],
3913
+ },
3914
+ WebkitHyphenateLimitLines: {
3915
+ ...positiveInteger,
3916
+ min: 0,
3917
+ keywords: ['no-limit'],
3918
+ },
3919
+ WebkitLineAlign: { kind: 'enum', values: ['none', 'edges'] },
3920
+ WebkitLineBoxContain: {
3921
+ kind: 'enum',
3922
+ values: [
3923
+ 'none',
3924
+ 'block',
3925
+ 'inline',
3926
+ 'font',
3927
+ 'glyphs',
3928
+ 'replaced',
3929
+ 'inline-box',
3930
+ 'initial-letter',
3931
+ ],
3932
+ groups: [
3933
+ ['block'],
3934
+ ['inline'],
3935
+ ['font'],
3936
+ ['glyphs'],
3937
+ ['replaced'],
3938
+ ['inline-box'],
3939
+ ['initial-letter'],
3940
+ ],
3941
+ },
3647
3942
  WebkitLineClamp: { ...positiveInteger, keywords: ['none'] },
3943
+ WebkitLineGrid: { kind: 'identifier', keywords: ['none'] },
3944
+ WebkitLineSnap: { kind: 'enum', values: ['none', 'baseline', 'contain'] },
3945
+ WebkitLocale: { kind: 'enum', values: ['auto'], quoted: true },
3648
3946
  WebkitMask: { kind: 'compound', property: 'WebkitMask' },
3649
3947
  WebkitMaskAttachment: {
3650
3948
  kind: 'enum',
@@ -3724,18 +4022,175 @@ export const rules = {
3724
4022
  values: ['no-repeat', 'repeat', 'round', 'space'],
3725
4023
  },
3726
4024
  WebkitMaskSize: { kind: 'compound', property: 'WebkitMaskSize' },
4025
+ WebkitMaskSourceType: {
4026
+ kind: 'enum',
4027
+ values: ['alpha', 'luminance', 'auto'],
4028
+ list: true,
4029
+ },
4030
+ WebkitMaxLogicalHeight: {
4031
+ ...maximum,
4032
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
4033
+ },
4034
+ WebkitMaxLogicalWidth: {
4035
+ ...maximum,
4036
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
4037
+ },
4038
+ WebkitMinLogicalHeight: {
4039
+ ...size,
4040
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
4041
+ },
4042
+ WebkitMinLogicalWidth: {
4043
+ ...size,
4044
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
4045
+ },
4046
+ WebkitNbspMode: { kind: 'enum', values: ['normal', 'space'] },
3727
4047
  WebkitOverflowScrolling: { kind: 'enum', values: ['auto', 'touch'] },
4048
+ WebkitPerspective: { ...stroke, numeric: true, keywords: ['none'] },
4049
+ WebkitPerspectiveOriginX: {
4050
+ ...length,
4051
+ negative: true,
4052
+ keywords: ['left', 'center', 'right'],
4053
+ },
4054
+ WebkitPerspectiveOriginY: {
4055
+ ...length,
4056
+ negative: true,
4057
+ keywords: ['top', 'center', 'bottom'],
4058
+ },
4059
+ WebkitRtlOrdering: { kind: 'enum', values: ['logical', 'visual'] },
4060
+ WebkitRubyPosition: {
4061
+ kind: 'enum',
4062
+ values: ['before', 'after', 'inter-character'],
4063
+ },
4064
+ WebkitScrollSnapType: {
4065
+ kind: 'enum',
4066
+ values: ['none', 'mandatory', 'proximity'],
4067
+ },
3728
4068
  WebkitTapHighlightColor: color,
4069
+ WebkitTextCombine: { kind: 'enum', values: ['none', 'horizontal'] },
4070
+ WebkitTextDecorationsInEffect: {
4071
+ kind: 'enum',
4072
+ values: [
4073
+ 'blink',
4074
+ 'blink line-through',
4075
+ 'blink line-through overline',
4076
+ 'blink line-through overline underline',
4077
+ 'blink line-through underline',
4078
+ 'blink line-through underline overline',
4079
+ 'blink overline',
4080
+ 'blink overline line-through',
4081
+ 'blink overline line-through underline',
4082
+ 'blink overline underline',
4083
+ 'blink overline underline line-through',
4084
+ 'blink underline',
4085
+ 'blink underline line-through',
4086
+ 'blink underline line-through overline',
4087
+ 'blink underline overline',
4088
+ 'blink underline overline line-through',
4089
+ 'grammar-error',
4090
+ 'line-through',
4091
+ 'line-through blink',
4092
+ 'line-through blink overline',
4093
+ 'line-through blink overline underline',
4094
+ 'line-through blink underline',
4095
+ 'line-through blink underline overline',
4096
+ 'line-through overline',
4097
+ 'line-through overline blink',
4098
+ 'line-through overline blink underline',
4099
+ 'line-through overline underline',
4100
+ 'line-through overline underline blink',
4101
+ 'line-through underline',
4102
+ 'line-through underline blink',
4103
+ 'line-through underline blink overline',
4104
+ 'line-through underline overline',
4105
+ 'line-through underline overline blink',
4106
+ 'none',
4107
+ 'overline',
4108
+ 'overline blink',
4109
+ 'overline blink line-through',
4110
+ 'overline blink line-through underline',
4111
+ 'overline blink underline',
4112
+ 'overline blink underline line-through',
4113
+ 'overline line-through',
4114
+ 'overline line-through blink',
4115
+ 'overline line-through blink underline',
4116
+ 'overline line-through underline',
4117
+ 'overline line-through underline blink',
4118
+ 'overline underline',
4119
+ 'overline underline blink',
4120
+ 'overline underline blink line-through',
4121
+ 'overline underline line-through',
4122
+ 'overline underline line-through blink',
4123
+ 'spelling-error',
4124
+ 'underline',
4125
+ 'underline blink',
4126
+ 'underline blink line-through',
4127
+ 'underline blink line-through overline',
4128
+ 'underline blink overline',
4129
+ 'underline blink overline line-through',
4130
+ 'underline line-through',
4131
+ 'underline line-through blink',
4132
+ 'underline line-through blink overline',
4133
+ 'underline line-through overline',
4134
+ 'underline line-through overline blink',
4135
+ 'underline overline',
4136
+ 'underline overline blink',
4137
+ 'underline overline blink line-through',
4138
+ 'underline overline line-through',
4139
+ 'underline overline line-through blink',
4140
+ ],
4141
+ },
4142
+ WebkitTextDecorationSkip: {
4143
+ kind: 'compound',
4144
+ property: 'textDecorationSkip',
4145
+ },
3729
4146
  WebkitTextFillColor: color,
4147
+ WebkitTextOrientation: {
4148
+ kind: 'enum',
4149
+ values: ['mixed', 'sideways', 'upright'],
4150
+ },
4151
+ WebkitTextSecurity: {
4152
+ kind: 'enum',
4153
+ values: ['disc', 'circle', 'square', 'none'],
4154
+ },
3730
4155
  WebkitTextStroke: { kind: 'compound', property: 'WebkitTextStroke' },
3731
4156
  WebkitTextStrokeColor: color,
3732
4157
  WebkitTextStrokeWidth: stroke,
4158
+ WebkitTextZoom: { kind: 'enum', values: ['normal', 'reset'] },
3733
4159
  WebkitTouchCallout: { kind: 'enum', values: ['default', 'none'] },
4160
+ WebkitTransformOriginX: {
4161
+ ...length,
4162
+ negative: true,
4163
+ keywords: ['left', 'center', 'right'],
4164
+ },
4165
+ WebkitTransformOriginY: {
4166
+ ...length,
4167
+ negative: true,
4168
+ keywords: ['top', 'center', 'bottom'],
4169
+ },
4170
+ WebkitTransformOriginZ: { ...stroke, negative: true },
4171
+ WebkitUserDrag: { kind: 'enum', values: ['auto', 'none', 'element'] },
3734
4172
  WebkitUserModify: {
3735
4173
  kind: 'enum',
3736
4174
  values: ['read-only', 'read-write', 'read-write-plaintext-only'],
3737
4175
  },
3738
4176
  WebkitUserSelect: { kind: 'enum', values: ['all', 'auto', 'none', 'text'] },
4177
+ WebkitWritingMode: {
4178
+ kind: 'enum',
4179
+ values: [
4180
+ 'horizontal-tb',
4181
+ 'vertical-lr',
4182
+ 'vertical-rl',
4183
+ 'sideways-lr',
4184
+ 'sideways-rl',
4185
+ 'lr-tb',
4186
+ 'rl-tb',
4187
+ 'tb-rl',
4188
+ 'lr',
4189
+ 'rl',
4190
+ 'tb',
4191
+ 'horizontal-bt',
4192
+ ],
4193
+ },
3739
4194
  whiteSpace: {
3740
4195
  kind: 'enum',
3741
4196
  values: [
@@ -3782,6 +4237,11 @@ export const rules = {
3782
4237
  'preserve-spaces',
3783
4238
  ],
3784
4239
  },
4240
+ whiteSpaceTrim: {
4241
+ kind: 'enum',
4242
+ values: ['none', 'discard-before', 'discard-after', 'discard-inner'],
4243
+ groups: [['discard-before'], ['discard-after'], ['discard-inner']],
4244
+ },
3785
4245
  widows: positiveInteger,
3786
4246
  width: { ...size, functions: ['anchor-size', 'calc-size', 'fit-content'] },
3787
4247
  willChange: {
@@ -3791,12 +4251,14 @@ export const rules = {
3791
4251
  standalone: ['auto'],
3792
4252
  excluded: ['all', 'none', 'will-change'],
3793
4253
  },
4254
+ windowDrag: { kind: 'enum', values: ['none', 'move'] },
3794
4255
  wordBreak: {
3795
4256
  kind: 'enum',
3796
4257
  values: ['auto-phrase', 'break-all', 'break-word', 'keep-all', 'normal'],
3797
4258
  },
3798
4259
  wordSpacing: textSpacing,
3799
4260
  wordWrap: { kind: 'enum', values: ['break-word', 'normal'] },
4261
+ wrapInside: { kind: 'enum', values: ['auto', 'avoid'] },
3800
4262
  writingMode: {
3801
4263
  kind: 'enum',
3802
4264
  values: [
@@ -3818,3 +4280,284 @@ export const rules = {
3818
4280
  },
3819
4281
  zoom: { kind: 'compound', property: 'zoom', negative: false },
3820
4282
  } as const satisfies Record<string, Rule>
4283
+
4284
+ const propertyAliases = {
4285
+ colorAdjust: 'printColorAdjust',
4286
+ insetArea: 'positionArea',
4287
+ KhtmlBoxAlign: 'boxAlign',
4288
+ KhtmlBoxDirection: 'boxDirection',
4289
+ KhtmlBoxFlex: 'boxFlex',
4290
+ KhtmlBoxFlexGroup: 'boxFlexGroup',
4291
+ KhtmlBoxLines: 'boxLines',
4292
+ KhtmlBoxOrdinalGroup: 'boxOrdinalGroup',
4293
+ KhtmlBoxOrient: 'boxOrient',
4294
+ KhtmlBoxPack: 'boxPack',
4295
+ KhtmlLineBreak: 'lineBreak',
4296
+ KhtmlOpacity: 'opacity',
4297
+ KhtmlUserModify: 'userModify',
4298
+ KhtmlUserSelect: 'userSelect',
4299
+ motion: 'offset',
4300
+ motionDistance: 'offsetDistance',
4301
+ motionPath: 'offsetPath',
4302
+ motionRotation: 'offsetRotate',
4303
+ MozAnimation: 'animation',
4304
+ MozAnimationDelay: 'animationDelay',
4305
+ MozAnimationDirection: 'animationDirection',
4306
+ MozAnimationDuration: 'animationDuration',
4307
+ MozAnimationFillMode: 'animationFillMode',
4308
+ MozAnimationIterationCount: 'animationIterationCount',
4309
+ MozAnimationPlayState: 'animationPlayState',
4310
+ MozAnimationTimingFunction: 'animationTimingFunction',
4311
+ MozBackfaceVisibility: 'backfaceVisibility',
4312
+ MozBackgroundSize: 'backgroundSize',
4313
+ MozBorderEndColor: 'borderInlineEndColor',
4314
+ MozBorderEndStyle: 'borderInlineEndStyle',
4315
+ MozBorderEndWidth: 'borderInlineEndWidth',
4316
+ MozBorderImage: 'borderImage',
4317
+ MozBorderRadius: 'borderRadius',
4318
+ MozBorderRadiusBottomleft: 'borderBottomLeftRadius',
4319
+ MozBorderRadiusBottomright: 'borderBottomRightRadius',
4320
+ MozBorderRadiusTopleft: 'borderTopLeftRadius',
4321
+ MozBorderRadiusTopright: 'borderTopRightRadius',
4322
+ MozBorderStartColor: 'borderInlineStartColor',
4323
+ MozBorderStartStyle: 'borderInlineStartStyle',
4324
+ MozBoxAlign: 'boxAlign',
4325
+ MozBoxDirection: 'boxDirection',
4326
+ MozBoxFlex: 'boxFlex',
4327
+ MozBoxOrdinalGroup: 'boxOrdinalGroup',
4328
+ MozBoxOrient: 'boxOrient',
4329
+ MozBoxPack: 'boxPack',
4330
+ MozBoxShadow: 'boxShadow',
4331
+ MozBoxSizing: 'boxSizing',
4332
+ MozColumnCount: 'columnCount',
4333
+ MozColumnFill: 'columnFill',
4334
+ MozColumnRule: 'columnRule',
4335
+ MozColumnRuleColor: 'columnRuleColor',
4336
+ MozColumnRuleStyle: 'columnRuleStyle',
4337
+ MozColumnRuleWidth: 'columnRuleWidth',
4338
+ MozColumns: 'columns',
4339
+ MozColumnWidth: 'columnWidth',
4340
+ MozFontFeatureSettings: 'fontFeatureSettings',
4341
+ MozHyphens: 'hyphens',
4342
+ MozMarginEnd: 'marginInlineEnd',
4343
+ MozMarginStart: 'marginInlineStart',
4344
+ MozOpacity: 'opacity',
4345
+ MozOutline: 'outline',
4346
+ MozOutlineColor: 'outlineColor',
4347
+ MozOutlineStyle: 'outlineStyle',
4348
+ MozOutlineWidth: 'outlineWidth',
4349
+ MozPaddingEnd: 'paddingInlineEnd',
4350
+ MozPaddingStart: 'paddingInlineStart',
4351
+ MozPerspective: 'perspective',
4352
+ MozPerspectiveOrigin: 'perspectiveOrigin',
4353
+ MozTabSize: 'tabSize',
4354
+ MozTextAlignLast: 'textAlignLast',
4355
+ MozTextDecorationColor: 'textDecorationColor',
4356
+ MozTextDecorationLine: 'textDecorationLine',
4357
+ MozTextDecorationStyle: 'textDecorationStyle',
4358
+ MozTextSizeAdjust: 'textSizeAdjust',
4359
+ MozTransform: 'transform',
4360
+ MozTransformOrigin: 'transformOrigin',
4361
+ MozTransformStyle: 'transformStyle',
4362
+ MozTransition: 'transition',
4363
+ MozTransitionDelay: 'transitionDelay',
4364
+ MozTransitionDuration: 'transitionDuration',
4365
+ MozTransitionProperty: 'transitionProperty',
4366
+ MozTransitionTimingFunction: 'transitionTimingFunction',
4367
+ MozUserSelect: 'userSelect',
4368
+ MsFlex: 'flex',
4369
+ MsFlexDirection: 'flexDirection',
4370
+ MsFlexPositive: 'flexGrow',
4371
+ MsHyphens: 'hyphens',
4372
+ MsImeMode: 'imeMode',
4373
+ MsLineBreak: 'lineBreak',
4374
+ MsOrder: 'order',
4375
+ MsOverflowX: 'overflowX',
4376
+ MsOverflowY: 'overflowY',
4377
+ MsTextCombineHorizontal: 'textCombineUpright',
4378
+ MsTextOverflow: 'textOverflow',
4379
+ MsTouchAction: 'touchAction',
4380
+ MsTransform: 'transform',
4381
+ MsTransformOrigin: 'transformOrigin',
4382
+ MsTransition: 'transition',
4383
+ MsTransitionDelay: 'transitionDelay',
4384
+ MsTransitionDuration: 'transitionDuration',
4385
+ MsTransitionProperty: 'transitionProperty',
4386
+ MsTransitionTimingFunction: 'transitionTimingFunction',
4387
+ MsWordBreak: 'wordBreak',
4388
+ MsWritingMode: 'writingMode',
4389
+ OAnimation: 'animation',
4390
+ OAnimationDelay: 'animationDelay',
4391
+ OAnimationDirection: 'animationDirection',
4392
+ OAnimationDuration: 'animationDuration',
4393
+ OAnimationFillMode: 'animationFillMode',
4394
+ OAnimationIterationCount: 'animationIterationCount',
4395
+ OAnimationPlayState: 'animationPlayState',
4396
+ OAnimationTimingFunction: 'animationTimingFunction',
4397
+ OBackgroundSize: 'backgroundSize',
4398
+ OBorderImage: 'borderImage',
4399
+ offsetBlock: 'insetBlock',
4400
+ offsetBlockEnd: 'insetBlockEnd',
4401
+ offsetBlockStart: 'insetBlockStart',
4402
+ offsetInline: 'insetInline',
4403
+ offsetInlineEnd: 'insetInlineEnd',
4404
+ offsetInlineStart: 'insetInlineStart',
4405
+ offsetRotation: 'offsetRotate',
4406
+ OObjectFit: 'objectFit',
4407
+ OObjectPosition: 'objectPosition',
4408
+ OTabSize: 'tabSize',
4409
+ OTextOverflow: 'textOverflow',
4410
+ OTransform: 'transform',
4411
+ OTransformOrigin: 'transformOrigin',
4412
+ OTransition: 'transition',
4413
+ OTransitionDelay: 'transitionDelay',
4414
+ OTransitionDuration: 'transitionDuration',
4415
+ OTransitionProperty: 'transitionProperty',
4416
+ OTransitionTimingFunction: 'transitionTimingFunction',
4417
+ positionTryOptions: 'positionTryFallbacks',
4418
+ scrollSnapMargin: 'scrollMargin',
4419
+ scrollSnapMarginBottom: 'scrollMarginBottom',
4420
+ scrollSnapMarginLeft: 'scrollMarginLeft',
4421
+ scrollSnapMarginRight: 'scrollMarginRight',
4422
+ scrollSnapMarginTop: 'scrollMarginTop',
4423
+ WebkitAlignContent: 'alignContent',
4424
+ WebkitAlignItems: 'alignItems',
4425
+ WebkitAlignSelf: 'alignSelf',
4426
+ WebkitAlt: 'alt',
4427
+ WebkitAnimation: 'animation',
4428
+ WebkitAnimationDelay: 'animationDelay',
4429
+ WebkitAnimationDirection: 'animationDirection',
4430
+ WebkitAnimationDuration: 'animationDuration',
4431
+ WebkitAnimationFillMode: 'animationFillMode',
4432
+ WebkitAnimationIterationCount: 'animationIterationCount',
4433
+ WebkitAnimationPlayState: 'animationPlayState',
4434
+ WebkitAnimationTimingFunction: 'animationTimingFunction',
4435
+ WebkitBackdropFilter: 'backdropFilter',
4436
+ WebkitBackfaceVisibility: 'backfaceVisibility',
4437
+ WebkitBackgroundSize: 'backgroundSize',
4438
+ WebkitBorderBottomLeftRadius: 'borderBottomLeftRadius',
4439
+ WebkitBorderBottomRightRadius: 'borderBottomRightRadius',
4440
+ WebkitBorderImage: 'borderImage',
4441
+ WebkitBorderImageSlice: 'borderImageSlice',
4442
+ WebkitBorderRadius: 'borderRadius',
4443
+ WebkitBorderTopLeftRadius: 'borderTopLeftRadius',
4444
+ WebkitBorderTopRightRadius: 'borderTopRightRadius',
4445
+ WebkitBoxAlign: 'boxAlign',
4446
+ WebkitBoxDecorationBreak: 'boxDecorationBreak',
4447
+ WebkitBoxDirection: 'boxDirection',
4448
+ WebkitBoxFlex: 'boxFlex',
4449
+ WebkitBoxFlexGroup: 'boxFlexGroup',
4450
+ WebkitBoxLines: 'boxLines',
4451
+ WebkitBoxOrdinalGroup: 'boxOrdinalGroup',
4452
+ WebkitBoxOrient: 'boxOrient',
4453
+ WebkitBoxShadow: 'boxShadow',
4454
+ WebkitBoxSizing: 'boxSizing',
4455
+ WebkitClipPath: 'clipPath',
4456
+ WebkitColumnCount: 'columnCount',
4457
+ WebkitColumnFill: 'columnFill',
4458
+ WebkitColumnRule: 'columnRule',
4459
+ WebkitColumnRuleColor: 'columnRuleColor',
4460
+ WebkitColumnRuleStyle: 'columnRuleStyle',
4461
+ WebkitColumnRuleWidth: 'columnRuleWidth',
4462
+ WebkitColumns: 'columns',
4463
+ WebkitColumnSpan: 'columnSpan',
4464
+ WebkitColumnWidth: 'columnWidth',
4465
+ WebkitFilter: 'filter',
4466
+ WebkitFlex: 'flex',
4467
+ WebkitFlexBasis: 'flexBasis',
4468
+ WebkitFlexDirection: 'flexDirection',
4469
+ WebkitFlexFlow: 'flexFlow',
4470
+ WebkitFlexGrow: 'flexGrow',
4471
+ WebkitFlexShrink: 'flexShrink',
4472
+ WebkitFlexWrap: 'flexWrap',
4473
+ WebkitFontKerning: 'fontKerning',
4474
+ WebkitFontVariantLigatures: 'fontVariantLigatures',
4475
+ WebkitHyphens: 'hyphens',
4476
+ WebkitInitialLetter: 'initialLetter',
4477
+ WebkitJustifyContent: 'justifyContent',
4478
+ WebkitLineBreak: 'lineBreak',
4479
+ WebkitLogicalHeight: 'blockSize',
4480
+ WebkitLogicalWidth: 'inlineSize',
4481
+ WebkitMarginAfter: 'marginBlockEnd',
4482
+ WebkitMarginBefore: 'marginBlockStart',
4483
+ WebkitMarginEnd: 'marginInlineEnd',
4484
+ WebkitMarginStart: 'marginInlineStart',
4485
+ WebkitMaskBoxImage: 'maskBorder',
4486
+ WebkitMaskBoxImageOutset: 'maskBorderOutset',
4487
+ WebkitMaskBoxImageRepeat: 'maskBorderRepeat',
4488
+ WebkitMaskBoxImageSlice: 'maskBorderSlice',
4489
+ WebkitMaskBoxImageSource: 'maskBorderSource',
4490
+ WebkitMaskBoxImageWidth: 'maskBorderWidth',
4491
+ WebkitMaxInlineSize: 'maxInlineSize',
4492
+ WebkitOrder: 'order',
4493
+ WebkitPaddingEnd: 'paddingInlineEnd',
4494
+ WebkitPaddingStart: 'paddingInlineStart',
4495
+ WebkitPerspectiveOrigin: 'perspectiveOrigin',
4496
+ WebkitPrintColorAdjust: 'printColorAdjust',
4497
+ WebkitShapeMargin: 'shapeMargin',
4498
+ WebkitTextDecorationColor: 'textDecorationColor',
4499
+ WebkitTextDecorationLine: 'textDecorationLine',
4500
+ WebkitTextDecorationStyle: 'textDecorationStyle',
4501
+ WebkitTextEmphasis: 'textEmphasis',
4502
+ WebkitTextEmphasisColor: 'textEmphasisColor',
4503
+ WebkitTextEmphasisPosition: 'textEmphasisPosition',
4504
+ WebkitTextEmphasisStyle: 'textEmphasisStyle',
4505
+ WebkitTextSizeAdjust: 'textSizeAdjust',
4506
+ WebkitTextUnderlinePosition: 'textUnderlinePosition',
4507
+ WebkitTransform: 'transform',
4508
+ WebkitTransformOrigin: 'transformOrigin',
4509
+ WebkitTransformStyle: 'transformStyle',
4510
+ WebkitTransition: 'transition',
4511
+ WebkitTransitionDelay: 'transitionDelay',
4512
+ WebkitTransitionDuration: 'transitionDuration',
4513
+ WebkitTransitionProperty: 'transitionProperty',
4514
+ WebkitTransitionTimingFunction: 'transitionTimingFunction',
4515
+ } as const satisfies Record<string, keyof typeof properties>
4516
+
4517
+ /** Supported literal properties, including equivalent legacy spellings. */
4518
+ export const rules = {
4519
+ ...properties,
4520
+ ...Object.fromEntries(
4521
+ Object.entries(propertyAliases).map(([name, property]) => [
4522
+ name,
4523
+ properties[property],
4524
+ ]),
4525
+ ),
4526
+ } as typeof properties & {
4527
+ readonly [property in keyof typeof propertyAliases]: (typeof properties)[(typeof propertyAliases)[property]]
4528
+ }
4529
+
4530
+ /** Canonical conflict domains retain authored order across legacy spellings. */
4531
+ export const aliases = {
4532
+ ...legacyAliases,
4533
+ ...propertyAliases,
4534
+ MozAnimationName: 'animationName',
4535
+ MozBackgroundClip: 'backgroundClip',
4536
+ MozBackgroundOrigin: 'backgroundOrigin',
4537
+ MozFontLanguageOverride: 'fontLanguageOverride',
4538
+ MozOsxFontSmoothing: 'fontSmooth',
4539
+ OAnimationName: 'animationName',
4540
+ WebkitAnimationName: 'animationName',
4541
+ WebkitAppRegion: 'windowDrag',
4542
+ WebkitBackgroundClip: 'backgroundClip',
4543
+ WebkitBackgroundOrigin: 'backgroundOrigin',
4544
+ WebkitBoxPack: 'boxPack',
4545
+ WebkitColumnBreakAfter: 'breakAfter',
4546
+ WebkitColumnBreakBefore: 'breakBefore',
4547
+ WebkitColumnBreakInside: 'breakInside',
4548
+ WebkitFontFeatureSettings: 'fontFeatureSettings',
4549
+ WebkitFontSmoothing: 'fontSmooth',
4550
+ WebkitHyphenateCharacter: 'hyphenateCharacter',
4551
+ WebkitLineClamp: 'lineClamp',
4552
+ WebkitMaxLogicalHeight: 'maxBlockSize',
4553
+ WebkitMaxLogicalWidth: 'maxInlineSize',
4554
+ WebkitMinLogicalHeight: 'minBlockSize',
4555
+ WebkitMinLogicalWidth: 'minInlineSize',
4556
+ WebkitPerspective: 'perspective',
4557
+ WebkitRubyPosition: 'rubyPosition',
4558
+ WebkitScrollSnapType: 'scrollSnapType',
4559
+ WebkitTextCombine: 'textCombineUpright',
4560
+ WebkitTextDecorationSkip: 'textDecorationSkip',
4561
+ WebkitTextOrientation: 'textOrientation',
4562
+ WebkitWritingMode: 'writingMode',
4563
+ } as const