@dazl/shorthands-opener 4.2.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/README.md +3 -0
- package/dist/compounds/compound-css-data.d.ts +22 -0
- package/dist/compounds/compound-css-data.d.ts.map +1 -0
- package/dist/compounds/compound-css-data.js +2 -0
- package/dist/compounds/compound-css-data.js.map +1 -0
- package/dist/compounds/compound-mapper.d.ts +4 -0
- package/dist/compounds/compound-mapper.d.ts.map +1 -0
- package/dist/compounds/compound-mapper.js +10 -0
- package/dist/compounds/compound-mapper.js.map +1 -0
- package/dist/compounds/compound-parser-utils.d.ts +3 -0
- package/dist/compounds/compound-parser-utils.d.ts.map +1 -0
- package/dist/compounds/compound-parser-utils.js +33 -0
- package/dist/compounds/compound-parser-utils.js.map +1 -0
- package/dist/compounds/compound-types.d.ts +26 -0
- package/dist/compounds/compound-types.d.ts.map +1 -0
- package/dist/compounds/compound-types.js +2 -0
- package/dist/compounds/compound-types.js.map +1 -0
- package/dist/compounds/compound-value-parsers.d.ts +6 -0
- package/dist/compounds/compound-value-parsers.d.ts.map +1 -0
- package/dist/compounds/compound-value-parsers.js +5 -0
- package/dist/compounds/compound-value-parsers.js.map +1 -0
- package/dist/compounds/index.d.ts +6 -0
- package/dist/compounds/index.d.ts.map +1 -0
- package/dist/compounds/index.js +6 -0
- package/dist/compounds/index.js.map +1 -0
- package/dist/compounds/parsers/index.d.ts +2 -0
- package/dist/compounds/parsers/index.d.ts.map +1 -0
- package/dist/compounds/parsers/index.js +2 -0
- package/dist/compounds/parsers/index.js.map +1 -0
- package/dist/compounds/parsers/shadow-compound.d.ts +5 -0
- package/dist/compounds/parsers/shadow-compound.d.ts.map +1 -0
- package/dist/compounds/parsers/shadow-compound.js +39 -0
- package/dist/compounds/parsers/shadow-compound.js.map +1 -0
- package/dist/css-data-types/data-types-consts.d.ts +212 -0
- package/dist/css-data-types/data-types-consts.d.ts.map +1 -0
- package/dist/css-data-types/data-types-consts.js +790 -0
- package/dist/css-data-types/data-types-consts.js.map +1 -0
- package/dist/css-data-types/data-types-predicates.d.ts +32 -0
- package/dist/css-data-types/data-types-predicates.d.ts.map +1 -0
- package/dist/css-data-types/data-types-predicates.js +353 -0
- package/dist/css-data-types/data-types-predicates.js.map +1 -0
- package/dist/css-data-types/data-types-state-machines.d.ts +14 -0
- package/dist/css-data-types/data-types-state-machines.d.ts.map +1 -0
- package/dist/css-data-types/data-types-state-machines.js +129 -0
- package/dist/css-data-types/data-types-state-machines.js.map +1 -0
- package/dist/css-data-types/data-types-types.d.ts +26 -0
- package/dist/css-data-types/data-types-types.d.ts.map +1 -0
- package/dist/css-data-types/data-types-types.js +2 -0
- package/dist/css-data-types/data-types-types.js.map +1 -0
- package/dist/css-data-types/data-types-utils.d.ts +31 -0
- package/dist/css-data-types/data-types-utils.d.ts.map +1 -0
- package/dist/css-data-types/data-types-utils.js +176 -0
- package/dist/css-data-types/data-types-utils.js.map +1 -0
- package/dist/css-data-types/data-types.d.ts +64 -0
- package/dist/css-data-types/data-types.d.ts.map +1 -0
- package/dist/css-data-types/data-types.js +304 -0
- package/dist/css-data-types/data-types.js.map +1 -0
- package/dist/css-data-types/index.d.ts +7 -0
- package/dist/css-data-types/index.d.ts.map +1 -0
- package/dist/css-data-types/index.js +7 -0
- package/dist/css-data-types/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/shorthands/index.d.ts +8 -0
- package/dist/shorthands/index.d.ts.map +1 -0
- package/dist/shorthands/index.js +8 -0
- package/dist/shorthands/index.js.map +1 -0
- package/dist/shorthands/openers/background-position-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/background-position-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/background-position-shorthand.js +173 -0
- package/dist/shorthands/openers/background-position-shorthand.js.map +1 -0
- package/dist/shorthands/openers/background-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/background-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/background-shorthand.js +88 -0
- package/dist/shorthands/openers/background-shorthand.js.map +1 -0
- package/dist/shorthands/openers/border-image-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/border-image-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/border-image-shorthand.js +16 -0
- package/dist/shorthands/openers/border-image-shorthand.js.map +1 -0
- package/dist/shorthands/openers/border-radius-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/border-radius-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/border-radius-shorthand.js +61 -0
- package/dist/shorthands/openers/border-radius-shorthand.js.map +1 -0
- package/dist/shorthands/openers/border-shorthand.d.ts +20 -0
- package/dist/shorthands/openers/border-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/border-shorthand.js +90 -0
- package/dist/shorthands/openers/border-shorthand.js.map +1 -0
- package/dist/shorthands/openers/flex-flow-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/flex-flow-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/flex-flow-shorthand.js +13 -0
- package/dist/shorthands/openers/flex-flow-shorthand.js.map +1 -0
- package/dist/shorthands/openers/flex-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/flex-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/flex-shorthand.js +55 -0
- package/dist/shorthands/openers/flex-shorthand.js.map +1 -0
- package/dist/shorthands/openers/font-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/font-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/font-shorthand.js +60 -0
- package/dist/shorthands/openers/font-shorthand.js.map +1 -0
- package/dist/shorthands/openers/gap-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/gap-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/gap-shorthand.js +28 -0
- package/dist/shorthands/openers/gap-shorthand.js.map +1 -0
- package/dist/shorthands/openers/grid-axis-shorthand.d.ts +6 -0
- package/dist/shorthands/openers/grid-axis-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/grid-axis-shorthand.js +36 -0
- package/dist/shorthands/openers/grid-axis-shorthand.js.map +1 -0
- package/dist/shorthands/openers/grid-gap-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/grid-gap-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/grid-gap-shorthand.js +21 -0
- package/dist/shorthands/openers/grid-gap-shorthand.js.map +1 -0
- package/dist/shorthands/openers/grid-shorthand.d.ts +8 -0
- package/dist/shorthands/openers/grid-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/grid-shorthand.js +145 -0
- package/dist/shorthands/openers/grid-shorthand.js.map +1 -0
- package/dist/shorthands/openers/grid-template-shorthand.d.ts +10 -0
- package/dist/shorthands/openers/grid-template-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/grid-template-shorthand.js +113 -0
- package/dist/shorthands/openers/grid-template-shorthand.js.map +1 -0
- package/dist/shorthands/openers/index.d.ts +22 -0
- package/dist/shorthands/openers/index.d.ts.map +1 -0
- package/dist/shorthands/openers/index.js +22 -0
- package/dist/shorthands/openers/index.js.map +1 -0
- package/dist/shorthands/openers/list-style-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/list-style-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/list-style-shorthand.js +15 -0
- package/dist/shorthands/openers/list-style-shorthand.js.map +1 -0
- package/dist/shorthands/openers/margin-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/margin-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/margin-shorthand.js +11 -0
- package/dist/shorthands/openers/margin-shorthand.js.map +1 -0
- package/dist/shorthands/openers/outline-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/outline-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/outline-shorthand.js +14 -0
- package/dist/shorthands/openers/outline-shorthand.js.map +1 -0
- package/dist/shorthands/openers/overflow-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/overflow-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/overflow-shorthand.js +21 -0
- package/dist/shorthands/openers/overflow-shorthand.js.map +1 -0
- package/dist/shorthands/openers/padding-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/padding-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/padding-shorthand.js +11 -0
- package/dist/shorthands/openers/padding-shorthand.js.map +1 -0
- package/dist/shorthands/openers/place-content-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/place-content-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/place-content-shorthand.js +29 -0
- package/dist/shorthands/openers/place-content-shorthand.js.map +1 -0
- package/dist/shorthands/openers/place-items-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/place-items-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/place-items-shorthand.js +23 -0
- package/dist/shorthands/openers/place-items-shorthand.js.map +1 -0
- package/dist/shorthands/openers/text-decoration-shorthand.d.ts +5 -0
- package/dist/shorthands/openers/text-decoration-shorthand.d.ts.map +1 -0
- package/dist/shorthands/openers/text-decoration-shorthand.js +14 -0
- package/dist/shorthands/openers/text-decoration-shorthand.js.map +1 -0
- package/dist/shorthands/shorthand-css-data.d.ts +120 -0
- package/dist/shorthands/shorthand-css-data.d.ts.map +1 -0
- package/dist/shorthands/shorthand-css-data.js +48 -0
- package/dist/shorthands/shorthand-css-data.js.map +1 -0
- package/dist/shorthands/shorthand-mapper.d.ts +6 -0
- package/dist/shorthands/shorthand-mapper.d.ts.map +1 -0
- package/dist/shorthands/shorthand-mapper.js +72 -0
- package/dist/shorthands/shorthand-mapper.js.map +1 -0
- package/dist/shorthands/shorthand-parser-errors.d.ts +25 -0
- package/dist/shorthands/shorthand-parser-errors.d.ts.map +1 -0
- package/dist/shorthands/shorthand-parser-errors.js +41 -0
- package/dist/shorthands/shorthand-parser-errors.js.map +1 -0
- package/dist/shorthands/shorthand-parser-utils.d.ts +24 -0
- package/dist/shorthands/shorthand-parser-utils.d.ts.map +1 -0
- package/dist/shorthands/shorthand-parser-utils.js +398 -0
- package/dist/shorthands/shorthand-parser-utils.js.map +1 -0
- package/dist/shorthands/shorthand-types.d.ts +64 -0
- package/dist/shorthands/shorthand-types.d.ts.map +1 -0
- package/dist/shorthands/shorthand-types.js +2 -0
- package/dist/shorthands/shorthand-types.js.map +1 -0
- package/dist/shorthands/shorthands-ast-evaluation.d.ts +5 -0
- package/dist/shorthands/shorthands-ast-evaluation.d.ts.map +1 -0
- package/dist/shorthands/shorthands-ast-evaluation.js +19 -0
- package/dist/shorthands/shorthands-ast-evaluation.js.map +1 -0
- package/dist/tokenizers/css-value-tokenizer.d.ts +43 -0
- package/dist/tokenizers/css-value-tokenizer.d.ts.map +1 -0
- package/dist/tokenizers/css-value-tokenizer.js +154 -0
- package/dist/tokenizers/css-value-tokenizer.js.map +1 -0
- package/dist/tokenizers/index.d.ts +2 -0
- package/dist/tokenizers/index.d.ts.map +1 -0
- package/dist/tokenizers/index.js +2 -0
- package/dist/tokenizers/index.js.map +1 -0
- package/package.json +54 -0
- package/src/compounds/compound-css-data.ts +24 -0
- package/src/compounds/compound-mapper.ts +21 -0
- package/src/compounds/compound-parser-utils.ts +47 -0
- package/src/compounds/compound-types.ts +35 -0
- package/src/compounds/compound-value-parsers.ts +12 -0
- package/src/compounds/index.ts +5 -0
- package/src/compounds/parsers/index.ts +1 -0
- package/src/compounds/parsers/shadow-compound.ts +56 -0
- package/src/css-data-types/data-types-consts.ts +877 -0
- package/src/css-data-types/data-types-predicates.ts +477 -0
- package/src/css-data-types/data-types-state-machines.ts +169 -0
- package/src/css-data-types/data-types-types.ts +43 -0
- package/src/css-data-types/data-types-utils.ts +258 -0
- package/src/css-data-types/data-types.ts +435 -0
- package/src/css-data-types/index.ts +6 -0
- package/src/index.ts +4 -0
- package/src/shorthands/index.ts +7 -0
- package/src/shorthands/openers/background-position-shorthand.ts +180 -0
- package/src/shorthands/openers/background-shorthand.ts +161 -0
- package/src/shorthands/openers/border-image-shorthand.ts +35 -0
- package/src/shorthands/openers/border-radius-shorthand.ts +93 -0
- package/src/shorthands/openers/border-shorthand.ts +198 -0
- package/src/shorthands/openers/flex-flow-shorthand.ts +24 -0
- package/src/shorthands/openers/flex-shorthand.ts +79 -0
- package/src/shorthands/openers/font-shorthand.ts +85 -0
- package/src/shorthands/openers/gap-shorthand.ts +47 -0
- package/src/shorthands/openers/grid-axis-shorthand.ts +61 -0
- package/src/shorthands/openers/grid-gap-shorthand.ts +40 -0
- package/src/shorthands/openers/grid-shorthand.ts +260 -0
- package/src/shorthands/openers/grid-template-shorthand.ts +176 -0
- package/src/shorthands/openers/index.ts +21 -0
- package/src/shorthands/openers/list-style-shorthand.ts +33 -0
- package/src/shorthands/openers/margin-shorthand.ts +20 -0
- package/src/shorthands/openers/outline-shorthand.ts +27 -0
- package/src/shorthands/openers/overflow-shorthand.ts +40 -0
- package/src/shorthands/openers/padding-shorthand.ts +21 -0
- package/src/shorthands/openers/place-content-shorthand.ts +49 -0
- package/src/shorthands/openers/place-items-shorthand.ts +43 -0
- package/src/shorthands/openers/text-decoration-shorthand.ts +27 -0
- package/src/shorthands/shorthand-css-data.ts +210 -0
- package/src/shorthands/shorthand-mapper.ts +157 -0
- package/src/shorthands/shorthand-parser-errors.ts +47 -0
- package/src/shorthands/shorthand-parser-utils.ts +602 -0
- package/src/shorthands/shorthand-types.ts +107 -0
- package/src/shorthands/shorthands-ast-evaluation.ts +38 -0
- package/src/tokenizers/css-value-tokenizer.ts +220 -0
- package/src/tokenizers/index.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types-consts.js","sourceRoot":"","sources":["../../src/css-data-types/data-types-consts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ParsedPredicateMatch, DataTypePredicate, ParsedDataTypePredicate } from './data-types-types.js';
|
|
2
|
+
export declare const numberPredicate: DataTypePredicate;
|
|
3
|
+
export declare const lengthPredicate: DataTypePredicate;
|
|
4
|
+
export declare const percentagePredicate: DataTypePredicate;
|
|
5
|
+
export declare const lengthPercentagePredicate: DataTypePredicate;
|
|
6
|
+
export declare const basicMathFunctionPredicate: DataTypePredicate;
|
|
7
|
+
export declare const anglePredicate: DataTypePredicate;
|
|
8
|
+
export declare const autoKeywordPredicate: DataTypePredicate;
|
|
9
|
+
export declare const fontStylePredicate: DataTypePredicate;
|
|
10
|
+
export declare const fontFamilyStringPredicate: DataTypePredicate;
|
|
11
|
+
export declare const gridLinePredicate: DataTypePredicate;
|
|
12
|
+
export declare const lineNamesPredicate: DataTypePredicate;
|
|
13
|
+
export declare const trackSizePredicate: DataTypePredicate;
|
|
14
|
+
export declare const trackListPredicate: DataTypePredicate;
|
|
15
|
+
export declare const explicitTrackListPredicate: DataTypePredicate;
|
|
16
|
+
export interface ParsedTrackWithString {
|
|
17
|
+
string: string;
|
|
18
|
+
trackSize: string;
|
|
19
|
+
lineNamesBefore?: string[];
|
|
20
|
+
lineNamesAfter?: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface ParseTrackListWithStringsMatch extends ParsedPredicateMatch {
|
|
23
|
+
tracks: ParsedTrackWithString[];
|
|
24
|
+
}
|
|
25
|
+
export declare const parseTrackListWithStrings: ParsedDataTypePredicate<ParseTrackListWithStringsMatch>;
|
|
26
|
+
export declare const trackListWithStringsPredicate: DataTypePredicate;
|
|
27
|
+
export declare const autoTrackListPredicate: DataTypePredicate;
|
|
28
|
+
export declare const gridTemplateAreasStringPredicate: DataTypePredicate;
|
|
29
|
+
export declare const gridAutoFlowPredicate: DataTypePredicate;
|
|
30
|
+
export declare const textDecorationLinePredicate: DataTypePredicate;
|
|
31
|
+
export declare const borderImageSlicePredicate: DataTypePredicate;
|
|
32
|
+
//# sourceMappingURL=data-types-predicates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types-predicates.d.ts","sourceRoot":"","sources":["../../src/css-data-types/data-types-predicates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGR,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EAC1B,MAAM,uBAAuB,CAAC;AAoC/B,eAAO,MAAM,eAAe,mBAAuB,CAAC;AAGpD,eAAO,MAAM,eAAe,mBAAkD,CAAC;AAG/E,eAAO,MAAM,mBAAmB,mBAAiD,CAAC;AAGlF,eAAO,MAAM,yBAAyB,mBAAyD,CAAC;AAEhG,eAAO,MAAM,0BAA0B,mBAA0C,CAAC;AAGlF,eAAO,MAAM,cAAc,mBAA6C,CAAC;AAMzE,eAAO,MAAM,oBAAoB,mBAAuC,CAAC;AAIzE,eAAO,MAAM,kBAAkB,EAAE,iBAiBhC,CAAC;AAGF,eAAO,MAAM,yBAAyB,mBAAyC,CAAC;AAIhF,eAAO,MAAM,iBAAiB,EAAE,iBAoC/B,CAAC;AA2DF,eAAO,MAAM,kBAAkB,EAAE,iBAAkF,CAAC;AAIpH,eAAO,MAAM,kBAAkB,mBAAmF,CAAC;AA0DnH,eAAO,MAAM,kBAAkB,mBAA8D,CAAC;AAI9F,eAAO,MAAM,0BAA0B,mBAA6C,CAAC;AAIrF,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IACxE,MAAM,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAID,eAAO,MAAM,yBAAyB,EAAE,uBAAuB,CAAC,8BAA8B,CAmD7F,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,iBACU,CAAC;AAIvD,eAAO,MAAM,sBAAsB,EAAE,iBA6CpC,CAAC;AAIF,eAAO,MAAM,gCAAgC,mBAA4B,CAAC;AAI1E,eAAO,MAAM,qBAAqB,EAAE,iBA6BnC,CAAC;AAIF,eAAO,MAAM,2BAA2B,EAAE,iBAoBzC,CAAC;AAIF,eAAO,MAAM,yBAAyB,EAAE,iBAwCvC,CAAC"}
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
import { valueTextNode } from '../tokenizers/index.js';
|
|
2
|
+
import { AUTO_KEYWORD, LENGTH_UNITS_MAP, PERCENTAGE_UNIT, LENGTH_PERCENTAGE_UNITS, ANGLE_UNITS, FLEX_UNIT, FLEX_NUMBER_RANGE_MIN, FONT_STYLE_OBLIQUE_KEYWORD, TEXT_DECORATION_LINE_KEYWORDS, BORDER_IMAGE_SLICE_FILL_KEYWORD, GRID_LINE_SPAN_KEYWORD, BREADTH_KEYWORDS, LINE_NAMES_EXCLUDE_KEYWORDS, MINMAX_FUNCTION, REPEAT_FUNCTION, TRACK_SIZE_FUNCTIONS, INITIAL_TRACK_SIZE, AUTO_REPEAT_FIRST_ARGUMENT_KEYWORDS, GRID_AUTO_FLOW_KEYWORD, GRID_AUTO_FLOW_DENSE_KEYWORD, BASIC_MATH_FUNCTIONS, } from './data-types-consts.js';
|
|
3
|
+
import { unorderedListPredicate, functionPredicate, dimensionPredicate, customIdentPredicate, typePredicate, predicateUnion, } from './data-types-utils.js';
|
|
4
|
+
// <number>
|
|
5
|
+
export const numberPredicate = dimensionPredicate();
|
|
6
|
+
// <length>
|
|
7
|
+
export const lengthPredicate = dimensionPredicate({ units: LENGTH_UNITS_MAP });
|
|
8
|
+
// <percentage>
|
|
9
|
+
export const percentagePredicate = dimensionPredicate({ units: PERCENTAGE_UNIT });
|
|
10
|
+
// <length-percentage>
|
|
11
|
+
export const lengthPercentagePredicate = dimensionPredicate({ units: LENGTH_PERCENTAGE_UNITS });
|
|
12
|
+
export const basicMathFunctionPredicate = functionPredicate(BASIC_MATH_FUNCTIONS);
|
|
13
|
+
// <angle>
|
|
14
|
+
export const anglePredicate = dimensionPredicate({ units: ANGLE_UNITS });
|
|
15
|
+
// <flex>
|
|
16
|
+
const flexPredicate = dimensionPredicate({ units: FLEX_UNIT, min: FLEX_NUMBER_RANGE_MIN });
|
|
17
|
+
// 'auto'
|
|
18
|
+
export const autoKeywordPredicate = unorderedListPredicate(AUTO_KEYWORD);
|
|
19
|
+
// <font-style>
|
|
20
|
+
// syntax: normal | italic | oblique <angle>?
|
|
21
|
+
export const fontStylePredicate = (ast, index, items) => {
|
|
22
|
+
if (index === undefined || !items) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const obliquePredicate = unorderedListPredicate(FONT_STYLE_OBLIQUE_KEYWORD);
|
|
26
|
+
let matchAmount = 0;
|
|
27
|
+
if (obliquePredicate(ast)) {
|
|
28
|
+
matchAmount++;
|
|
29
|
+
const next = items[index + 1];
|
|
30
|
+
if (next && anglePredicate(next.value)) {
|
|
31
|
+
matchAmount++;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return matchAmount;
|
|
35
|
+
};
|
|
36
|
+
// <font-family>
|
|
37
|
+
export const fontFamilyStringPredicate = typePredicate(['text', 'string', ',']);
|
|
38
|
+
// <grid-line>
|
|
39
|
+
// syntax: <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]
|
|
40
|
+
export const gridLinePredicate = (ast, index, items) => {
|
|
41
|
+
const startIndex = index ?? 0;
|
|
42
|
+
const astItems = items ?? [{ value: ast }];
|
|
43
|
+
const nonZeroIntegerPredicate = dimensionPredicate({ nonZero: true, integer: true });
|
|
44
|
+
const gridLineCustomIdentPredicate = customIdentPredicate(GRID_LINE_SPAN_KEYWORD);
|
|
45
|
+
const spanPredicate = unorderedListPredicate(GRID_LINE_SPAN_KEYWORD);
|
|
46
|
+
let hasSpan = false;
|
|
47
|
+
let hasCustomIdent = false;
|
|
48
|
+
let hasInteger = false;
|
|
49
|
+
let item;
|
|
50
|
+
let i = startIndex;
|
|
51
|
+
while ((item = astItems[i++])) {
|
|
52
|
+
if (gridLineCustomIdentPredicate(item.value)) {
|
|
53
|
+
if (hasCustomIdent) {
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
hasCustomIdent = true;
|
|
57
|
+
}
|
|
58
|
+
else if (nonZeroIntegerPredicate(item.value)) {
|
|
59
|
+
if (hasInteger) {
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
hasInteger = true;
|
|
63
|
+
}
|
|
64
|
+
else if (spanPredicate(item.value)) {
|
|
65
|
+
if (hasSpan) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
hasSpan = true;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return !hasSpan || hasCustomIdent || hasInteger ? +hasSpan + +hasCustomIdent + +hasInteger : false;
|
|
75
|
+
};
|
|
76
|
+
// <track-breadth>
|
|
77
|
+
// syntax: <length-percentage> | <flex> | min-content | max-content | auto
|
|
78
|
+
const trackBreadthPredicate = predicateUnion([
|
|
79
|
+
lengthPercentagePredicate,
|
|
80
|
+
flexPredicate,
|
|
81
|
+
unorderedListPredicate(BREADTH_KEYWORDS),
|
|
82
|
+
]);
|
|
83
|
+
const INVALID_LINE_NAMES_MATCH = { names: [], match: false };
|
|
84
|
+
const parseLineNames = (ast, index, items) => {
|
|
85
|
+
const startIndex = index ?? 0;
|
|
86
|
+
const astItems = items ?? [{ value: ast }];
|
|
87
|
+
const lineNamesCustomIdentPredicate = customIdentPredicate(LINE_NAMES_EXCLUDE_KEYWORDS);
|
|
88
|
+
const names = [];
|
|
89
|
+
let matchAmount = 0;
|
|
90
|
+
let hasClosingBracket = false;
|
|
91
|
+
for (let i = startIndex; i < astItems.length; i++) {
|
|
92
|
+
const value = astItems[i].value;
|
|
93
|
+
let currText = value.text;
|
|
94
|
+
const isStart = i === startIndex;
|
|
95
|
+
const hasOpeningBracket = currText.startsWith('[');
|
|
96
|
+
hasClosingBracket = currText.endsWith(']');
|
|
97
|
+
if (value.type !== 'text' || (isStart && !hasOpeningBracket) || (!isStart && hasOpeningBracket)) {
|
|
98
|
+
return { ...INVALID_LINE_NAMES_MATCH };
|
|
99
|
+
}
|
|
100
|
+
currText = currText.slice(hasOpeningBracket ? 1 : 0, currText.length - (hasClosingBracket ? 1 : 0));
|
|
101
|
+
if (currText !== '' &&
|
|
102
|
+
(currText.includes('[') ||
|
|
103
|
+
currText.includes(']') ||
|
|
104
|
+
!lineNamesCustomIdentPredicate(valueTextNode(currText)))) {
|
|
105
|
+
return { ...INVALID_LINE_NAMES_MATCH };
|
|
106
|
+
}
|
|
107
|
+
if (currText !== '') {
|
|
108
|
+
names.push(currText);
|
|
109
|
+
}
|
|
110
|
+
matchAmount++;
|
|
111
|
+
if (hasClosingBracket) {
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return hasClosingBracket ? { names, match: matchAmount } : { ...INVALID_LINE_NAMES_MATCH };
|
|
116
|
+
};
|
|
117
|
+
export const lineNamesPredicate = (ast, index, items) => parseLineNames(ast, index, items).match;
|
|
118
|
+
// <track-size>
|
|
119
|
+
// syntax: <track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )
|
|
120
|
+
export const trackSizePredicate = predicateUnion([trackBreadthPredicate, functionPredicate(TRACK_SIZE_FUNCTIONS)]);
|
|
121
|
+
// <track-repeat> / <fixed-repeat> / <auto-repeat>
|
|
122
|
+
const repeatPredicate = functionPredicate(REPEAT_FUNCTION);
|
|
123
|
+
// <auto-repeat>
|
|
124
|
+
// syntax: repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )
|
|
125
|
+
const autoRepeatPredicate = (ast) => {
|
|
126
|
+
if (repeatPredicate(ast)) {
|
|
127
|
+
const firstArgPredicate = unorderedListPredicate(AUTO_REPEAT_FIRST_ARGUMENT_KEYWORDS);
|
|
128
|
+
const firstArg = ast.args[0];
|
|
129
|
+
if (firstArg) {
|
|
130
|
+
return firstArgPredicate(firstArg);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return false;
|
|
134
|
+
};
|
|
135
|
+
// <fixed-size>
|
|
136
|
+
// syntax: <fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )
|
|
137
|
+
const fixedSizePredicate = predicateUnion([lengthPercentagePredicate, functionPredicate(MINMAX_FUNCTION)]);
|
|
138
|
+
const singleTrackPredicate = (trackPredicates, asterisk = false) => (ast, index, items) => {
|
|
139
|
+
const startIndex = index ?? 0;
|
|
140
|
+
const astItems = items ?? [{ value: ast }];
|
|
141
|
+
let item;
|
|
142
|
+
let i = startIndex;
|
|
143
|
+
let hasPrevNames = false;
|
|
144
|
+
let isValid = asterisk;
|
|
145
|
+
let matchAmount = 0;
|
|
146
|
+
while ((item = astItems[i])) {
|
|
147
|
+
const lineNamesMatch = parseLineNames(item.value, i, astItems).match;
|
|
148
|
+
if (lineNamesMatch) {
|
|
149
|
+
if (hasPrevNames) {
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
i += Number(lineNamesMatch);
|
|
153
|
+
matchAmount += Number(lineNamesMatch);
|
|
154
|
+
hasPrevNames = true;
|
|
155
|
+
}
|
|
156
|
+
else if (trackPredicates.some((predicate) => predicate(item.value))) {
|
|
157
|
+
isValid = true;
|
|
158
|
+
hasPrevNames = false;
|
|
159
|
+
i++;
|
|
160
|
+
matchAmount++;
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return isValid ? matchAmount : false;
|
|
167
|
+
};
|
|
168
|
+
// <track-list>
|
|
169
|
+
// syntax: [ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?
|
|
170
|
+
export const trackListPredicate = singleTrackPredicate([trackSizePredicate, repeatPredicate]);
|
|
171
|
+
// <explicit-track-list>
|
|
172
|
+
// syntax: [ <line-names>? <track-size> ]+ <line-names>?
|
|
173
|
+
export const explicitTrackListPredicate = singleTrackPredicate([trackSizePredicate]);
|
|
174
|
+
const EMPTY_TRACK = { string: '', trackSize: INITIAL_TRACK_SIZE };
|
|
175
|
+
const INVALID_TRACK_MATCH = { tracks: [], match: false };
|
|
176
|
+
export const parseTrackListWithStrings = (ast, index, items) => {
|
|
177
|
+
const startIndex = index ?? 0;
|
|
178
|
+
const astItems = items ?? [{ value: ast }];
|
|
179
|
+
const tracks = [{ ...EMPTY_TRACK }];
|
|
180
|
+
let item;
|
|
181
|
+
let i = startIndex;
|
|
182
|
+
let isValid = false;
|
|
183
|
+
let matchAmount = 0;
|
|
184
|
+
while ((item = astItems[i])) {
|
|
185
|
+
if (item.value.type === 'string') {
|
|
186
|
+
tracks[tracks.length - 1].string = item.value.text;
|
|
187
|
+
isValid = true;
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
const hasString = tracks[tracks.length - 1].string === '';
|
|
191
|
+
const lineNames = parseLineNames(item.value, i, astItems);
|
|
192
|
+
if (lineNames.match) {
|
|
193
|
+
if (hasString) {
|
|
194
|
+
if (tracks[tracks.length - 1].lineNamesBefore) {
|
|
195
|
+
return { ...INVALID_TRACK_MATCH };
|
|
196
|
+
}
|
|
197
|
+
tracks[tracks.length - 1].lineNamesBefore = lineNames.names;
|
|
198
|
+
isValid = false;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
tracks[tracks.length - 1].lineNamesAfter = lineNames.names;
|
|
202
|
+
tracks.push({ ...EMPTY_TRACK });
|
|
203
|
+
}
|
|
204
|
+
i += Number(lineNames.match) - 1;
|
|
205
|
+
matchAmount += Number(lineNames.match) - 1;
|
|
206
|
+
}
|
|
207
|
+
else if (trackSizePredicate(item.value, i, astItems)) {
|
|
208
|
+
if (hasString) {
|
|
209
|
+
return { ...INVALID_TRACK_MATCH };
|
|
210
|
+
}
|
|
211
|
+
tracks[tracks.length - 1].trackSize = item.value.text;
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
i++;
|
|
218
|
+
matchAmount++;
|
|
219
|
+
}
|
|
220
|
+
if (isValid && tracks[tracks.length - 1].string === '') {
|
|
221
|
+
tracks.pop();
|
|
222
|
+
}
|
|
223
|
+
return isValid ? { tracks, match: matchAmount } : { ...INVALID_TRACK_MATCH };
|
|
224
|
+
};
|
|
225
|
+
export const trackListWithStringsPredicate = (ast, index, items) => parseTrackListWithStrings(ast, index, items).match;
|
|
226
|
+
// <auto-track-list>
|
|
227
|
+
// syntax: [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat> [ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?
|
|
228
|
+
export const autoTrackListPredicate = (ast, index, items) => {
|
|
229
|
+
const startIndex = index ?? 0;
|
|
230
|
+
const astItems = items ?? [{ value: ast }];
|
|
231
|
+
let item;
|
|
232
|
+
let i = startIndex;
|
|
233
|
+
let autoRepeatIndex = -1;
|
|
234
|
+
while ((item = astItems[i])) {
|
|
235
|
+
if (autoRepeatPredicate(item.value)) {
|
|
236
|
+
autoRepeatIndex = i;
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
i++;
|
|
240
|
+
}
|
|
241
|
+
if (autoRepeatIndex === -1) {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
const prefixSuffixTrackListPredicate = singleTrackPredicate([fixedSizePredicate, repeatPredicate], true);
|
|
245
|
+
let matchAmount = 1;
|
|
246
|
+
if (autoRepeatIndex > startIndex) {
|
|
247
|
+
const prefixMatch = prefixSuffixTrackListPredicate(astItems[startIndex].value, 0, astItems.slice(startIndex, autoRepeatIndex));
|
|
248
|
+
if (!prefixMatch || Number(prefixMatch) !== autoRepeatIndex - startIndex) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
matchAmount += autoRepeatIndex - startIndex;
|
|
252
|
+
}
|
|
253
|
+
if (astItems[autoRepeatIndex + 1]) {
|
|
254
|
+
matchAmount += Number(prefixSuffixTrackListPredicate(astItems[autoRepeatIndex + 1].value, 0, astItems.slice(autoRepeatIndex + 1)));
|
|
255
|
+
}
|
|
256
|
+
return matchAmount;
|
|
257
|
+
};
|
|
258
|
+
// <grid-template-areas>
|
|
259
|
+
// syntax: none | <string>+
|
|
260
|
+
export const gridTemplateAreasStringPredicate = typePredicate(['string']);
|
|
261
|
+
// <grid-auto-flow>
|
|
262
|
+
// syntax: auto-flow && dense?
|
|
263
|
+
export const gridAutoFlowPredicate = (ast, index, items) => {
|
|
264
|
+
const startIndex = index ?? 0;
|
|
265
|
+
const astItems = items ?? [{ value: ast }];
|
|
266
|
+
const autoFlowPredicate = unorderedListPredicate(GRID_AUTO_FLOW_KEYWORD);
|
|
267
|
+
const densePredicate = unorderedListPredicate(GRID_AUTO_FLOW_DENSE_KEYWORD);
|
|
268
|
+
let hasAutoFlow = false;
|
|
269
|
+
let hasDense = false;
|
|
270
|
+
let item;
|
|
271
|
+
let i = startIndex;
|
|
272
|
+
while ((item = astItems[i++])) {
|
|
273
|
+
if (autoFlowPredicate(item.value)) {
|
|
274
|
+
if (hasAutoFlow) {
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
hasAutoFlow = true;
|
|
278
|
+
}
|
|
279
|
+
else if (densePredicate(item.value)) {
|
|
280
|
+
if (hasDense) {
|
|
281
|
+
break;
|
|
282
|
+
}
|
|
283
|
+
hasDense = true;
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
break;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
return hasAutoFlow ? +hasAutoFlow + +hasDense : false;
|
|
290
|
+
};
|
|
291
|
+
// <text-decoration-line>
|
|
292
|
+
// syntax: none | [ underline || overline || line-through ]
|
|
293
|
+
export const textDecorationLinePredicate = (ast, index, items) => {
|
|
294
|
+
const startIndex = index ?? 0;
|
|
295
|
+
const astItems = items ?? [{ value: ast }];
|
|
296
|
+
const currKeywords = new Map(TEXT_DECORATION_LINE_KEYWORDS);
|
|
297
|
+
let currPredicate = unorderedListPredicate(currKeywords);
|
|
298
|
+
let item;
|
|
299
|
+
let i = startIndex;
|
|
300
|
+
let matchAmount = 0;
|
|
301
|
+
while (currKeywords.size > 0 && (item = astItems[i++])) {
|
|
302
|
+
if (currPredicate(item.value, i - 1, astItems)) {
|
|
303
|
+
matchAmount++;
|
|
304
|
+
currKeywords.delete(item.value.text);
|
|
305
|
+
currPredicate = unorderedListPredicate(currKeywords);
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return matchAmount;
|
|
312
|
+
};
|
|
313
|
+
// <border-image-slice>
|
|
314
|
+
// syntax: <number-percentage>{1,4} && fill?
|
|
315
|
+
export const borderImageSlicePredicate = (ast, index, items) => {
|
|
316
|
+
const startIndex = index ?? 0;
|
|
317
|
+
const astItems = items ?? [{ value: ast }];
|
|
318
|
+
const numberPercentagePredicates = [numberPredicate, percentagePredicate];
|
|
319
|
+
const fillPredicate = unorderedListPredicate(BORDER_IMAGE_SLICE_FILL_KEYWORD);
|
|
320
|
+
let item;
|
|
321
|
+
let i = startIndex;
|
|
322
|
+
let matchAmount = 0;
|
|
323
|
+
let matchedFill = false;
|
|
324
|
+
let match;
|
|
325
|
+
while ((item = astItems[i++])) {
|
|
326
|
+
match = undefined;
|
|
327
|
+
const fillMatch = fillPredicate(item.value, i - 1, astItems);
|
|
328
|
+
if (fillMatch) {
|
|
329
|
+
if (matchedFill) {
|
|
330
|
+
break;
|
|
331
|
+
}
|
|
332
|
+
match = fillMatch;
|
|
333
|
+
matchedFill = true;
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
for (const predicate of numberPercentagePredicates) {
|
|
337
|
+
const numberPercentageMatch = predicate(item.value, i - 1, astItems);
|
|
338
|
+
if (numberPercentageMatch) {
|
|
339
|
+
match = numberPercentageMatch;
|
|
340
|
+
break;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
if (!match || ++matchAmount === (matchedFill ? 5 : 4)) {
|
|
345
|
+
break;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
if (matchAmount === 4 && match && (item = astItems[i])) {
|
|
349
|
+
return fillPredicate(item.value, i - 1, astItems) ? 5 : 4;
|
|
350
|
+
}
|
|
351
|
+
return matchAmount >= 1 ? (!matchedFill || matchAmount > 1 ? matchAmount : false) : false;
|
|
352
|
+
};
|
|
353
|
+
//# sourceMappingURL=data-types-predicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types-predicates.js","sourceRoot":"","sources":["../../src/css-data-types/data-types-predicates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AstItem, DataTypePredicate } from './data-types-types.js';
|
|
2
|
+
declare const PREDICATE_STATE_START = "start";
|
|
3
|
+
type StateMachineKey<T extends string> = typeof PREDICATE_STATE_START | T;
|
|
4
|
+
interface PredicateStateMatch<T extends string> {
|
|
5
|
+
predicate: DataTypePredicate;
|
|
6
|
+
nextKey?: StateMachineKey<T>;
|
|
7
|
+
mustContinue?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export type StateMachine<T extends string> = Array<Partial<Record<StateMachineKey<T>, PredicateStateMatch<T>[]>>>;
|
|
10
|
+
export declare const stateMachineDataTypeMatch: <T extends string>(items: AstItem[], index: number, stateMachine: StateMachine<T>) => number;
|
|
11
|
+
type BgPositionStateMachineKey = '<length-percentage>' | 'center' | 'left | right' | 'top | bottom' | '3-value' | '[ left | right ] <length-percentage>' | '[ top | bottom ] <length-percentage>' | '4-value';
|
|
12
|
+
export declare const bgPositionStateMachine: (lengthPercentagePredicate: DataTypePredicate) => StateMachine<BgPositionStateMachineKey>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=data-types-state-machines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types-state-machines.d.ts","sourceRoot":"","sources":["../../src/css-data-types/data-types-state-machines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAUxE,QAAA,MAAM,qBAAqB,UAAU,CAAC;AAEtC,KAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,qBAAqB,GAAG,CAAC,CAAC;AAE1E,UAAU,mBAAmB,CAAC,CAAC,SAAS,MAAM;IAC1C,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAElH,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,MAAM,EACtD,OAAO,OAAO,EAAE,EAChB,OAAO,MAAM,EACb,cAAc,YAAY,CAAC,CAAC,CAAC,KAC9B,MAqCF,CAAC;AAGF,KAAK,yBAAyB,GACxB,qBAAqB,GACrB,QAAQ,GACR,cAAc,GACd,cAAc,GACd,SAAS,GACT,sCAAsC,GACtC,sCAAsC,GACtC,SAAS,CAAC;AAChB,eAAO,MAAM,sBAAsB,GAC/B,2BAA2B,iBAAiB,KAC7C,YAAY,CAAC,yBAAyB,CA2FxC,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { BG_POSITION_CENTER_KEYWORD, BG_POSITION_HORIZONTAL_KEYWORDS_MAP, BG_POSITION_VERTICAL_KEYWORDS_MAP, BG_POSITION_ALL_EDGES_KEYWORDS, } from './data-types-consts.js';
|
|
2
|
+
import { unorderedListPredicate } from './data-types-utils.js';
|
|
3
|
+
const PREDICATE_STATE_START = 'start';
|
|
4
|
+
export const stateMachineDataTypeMatch = (items, index, stateMachine) => {
|
|
5
|
+
let returnMatch = 0;
|
|
6
|
+
let valueIndex = 0;
|
|
7
|
+
let currKey = PREDICATE_STATE_START;
|
|
8
|
+
if (!currKey || !stateMachine[valueIndex]) {
|
|
9
|
+
return returnMatch;
|
|
10
|
+
}
|
|
11
|
+
let match;
|
|
12
|
+
do {
|
|
13
|
+
let newMatch;
|
|
14
|
+
const currItem = items[index + valueIndex];
|
|
15
|
+
if (currItem) {
|
|
16
|
+
const possibleMatches = stateMachine[valueIndex][currKey];
|
|
17
|
+
if (possibleMatches) {
|
|
18
|
+
for (let i = 0; i < possibleMatches.length; i++) {
|
|
19
|
+
const stateMatch = possibleMatches[i];
|
|
20
|
+
if (stateMatch.predicate(currItem.value)) {
|
|
21
|
+
newMatch = stateMatch;
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (newMatch) {
|
|
26
|
+
returnMatch++;
|
|
27
|
+
currKey = newMatch.nextKey;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (!newMatch && match && match.mustContinue) {
|
|
32
|
+
returnMatch--;
|
|
33
|
+
}
|
|
34
|
+
match = newMatch;
|
|
35
|
+
} while (match && currKey && stateMachine[++valueIndex]);
|
|
36
|
+
return returnMatch;
|
|
37
|
+
};
|
|
38
|
+
export const bgPositionStateMachine = (lengthPercentagePredicate) => {
|
|
39
|
+
const centerPredicate = unorderedListPredicate(BG_POSITION_CENTER_KEYWORD);
|
|
40
|
+
const horizontalPredicate = unorderedListPredicate(BG_POSITION_HORIZONTAL_KEYWORDS_MAP);
|
|
41
|
+
const verticalPredicate = unorderedListPredicate(BG_POSITION_VERTICAL_KEYWORDS_MAP);
|
|
42
|
+
const allEdgesPredicate = unorderedListPredicate(BG_POSITION_ALL_EDGES_KEYWORDS);
|
|
43
|
+
/*
|
|
44
|
+
syntax: [
|
|
45
|
+
[ left | center | right | top | bottom | <length-percentage> ] |
|
|
46
|
+
[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] |
|
|
47
|
+
[ center | [ left | right ] <length-percentage>? ]
|
|
48
|
+
&& [ center | [ top | bottom] <length-percentage>? ]
|
|
49
|
+
]
|
|
50
|
+
*/
|
|
51
|
+
return [
|
|
52
|
+
{
|
|
53
|
+
[PREDICATE_STATE_START]: [
|
|
54
|
+
// <length-percentage>
|
|
55
|
+
{ predicate: lengthPercentagePredicate, nextKey: '<length-percentage>' },
|
|
56
|
+
// center
|
|
57
|
+
{ predicate: centerPredicate, nextKey: 'center' },
|
|
58
|
+
// left | right
|
|
59
|
+
{ predicate: horizontalPredicate, nextKey: 'left | right' },
|
|
60
|
+
// top | bottom
|
|
61
|
+
{ predicate: verticalPredicate, nextKey: 'top | bottom' },
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
'<length-percentage>': [
|
|
66
|
+
// <length-percentage> <length-percentage> $
|
|
67
|
+
{ predicate: lengthPercentagePredicate },
|
|
68
|
+
// <length-percentage> center $
|
|
69
|
+
{ predicate: centerPredicate },
|
|
70
|
+
// <length-percentage> [ top | bottom ] $
|
|
71
|
+
{ predicate: verticalPredicate },
|
|
72
|
+
],
|
|
73
|
+
center: [
|
|
74
|
+
// center <length-percentage> $
|
|
75
|
+
{ predicate: lengthPercentagePredicate },
|
|
76
|
+
// center center $
|
|
77
|
+
{ predicate: centerPredicate },
|
|
78
|
+
// center [ left | right | top | bottom ]
|
|
79
|
+
{ predicate: allEdgesPredicate, nextKey: '3-value' },
|
|
80
|
+
],
|
|
81
|
+
'left | right': [
|
|
82
|
+
// [ left | right ] <length-percentage>
|
|
83
|
+
{ predicate: lengthPercentagePredicate, nextKey: '[ left | right ] <length-percentage>' },
|
|
84
|
+
// [ left | right ] center $
|
|
85
|
+
{ predicate: centerPredicate },
|
|
86
|
+
// [ left |right ] [ top | bottom ]
|
|
87
|
+
{ predicate: verticalPredicate, nextKey: '3-value' },
|
|
88
|
+
],
|
|
89
|
+
'top | bottom': [
|
|
90
|
+
// [ top | bottom ] <length-percentage>
|
|
91
|
+
{
|
|
92
|
+
predicate: lengthPercentagePredicate,
|
|
93
|
+
nextKey: '[ top | bottom ] <length-percentage>',
|
|
94
|
+
mustContinue: true,
|
|
95
|
+
},
|
|
96
|
+
// [ top | bottom ] center $
|
|
97
|
+
{ predicate: centerPredicate },
|
|
98
|
+
// [ top | bottom ] [ left |right ]
|
|
99
|
+
{ predicate: horizontalPredicate, nextKey: '3-value' },
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
'3-value': [
|
|
104
|
+
// center [ left | right | top | bottom ] <length-percentage> $
|
|
105
|
+
{ predicate: lengthPercentagePredicate },
|
|
106
|
+
],
|
|
107
|
+
'[ left | right ] <length-percentage>': [
|
|
108
|
+
// [ left | right ] <length-percentage> center $
|
|
109
|
+
{ predicate: centerPredicate },
|
|
110
|
+
// [ left | right ] <length-percentage> [ top | bottom ]
|
|
111
|
+
{ predicate: verticalPredicate, nextKey: '4-value' },
|
|
112
|
+
],
|
|
113
|
+
'[ top | bottom ] <length-percentage>': [
|
|
114
|
+
// [ top | bottom ] <length-percentage> center $
|
|
115
|
+
{ predicate: centerPredicate },
|
|
116
|
+
// [ top | bottom ] <length-percentage> [ left | right ]
|
|
117
|
+
{ predicate: horizontalPredicate, nextKey: '4-value' },
|
|
118
|
+
],
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
'4-value': [
|
|
122
|
+
// [ left | right ] <length-percentage> [ top | bottom ] <length-percentage> $
|
|
123
|
+
// [ top | bottom ] <length-percentage> [ left | right ] <length-percentage> $
|
|
124
|
+
{ predicate: lengthPercentagePredicate },
|
|
125
|
+
],
|
|
126
|
+
},
|
|
127
|
+
];
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=data-types-state-machines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types-state-machines.js","sourceRoot":"","sources":["../../src/css-data-types/data-types-state-machines.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { CSSCodeAst } from '../tokenizers/index.js';
|
|
2
|
+
import type { DataTypeType } from './data-types-consts.js';
|
|
3
|
+
export interface AstItem {
|
|
4
|
+
value: CSSCodeAst;
|
|
5
|
+
}
|
|
6
|
+
export type PredicateMatch = number | boolean;
|
|
7
|
+
export interface ParsedPredicateMatch {
|
|
8
|
+
match: PredicateMatch;
|
|
9
|
+
}
|
|
10
|
+
export interface PredicateIndexMatch {
|
|
11
|
+
index: number;
|
|
12
|
+
length: number;
|
|
13
|
+
}
|
|
14
|
+
export type DataTypePredicate = (ast: CSSCodeAst, index?: number, items?: AstItem[], prev?: DataTypeType) => PredicateMatch;
|
|
15
|
+
export type ParsedDataTypePredicate<T extends ParsedPredicateMatch> = (ast: CSSCodeAst, index?: number, items?: AstItem[], prev?: DataTypeType) => T;
|
|
16
|
+
export interface PredicatePrefix {
|
|
17
|
+
dataType: DataTypeType;
|
|
18
|
+
prefixChar: string;
|
|
19
|
+
}
|
|
20
|
+
export interface DataType {
|
|
21
|
+
dataType: DataTypeType;
|
|
22
|
+
predicate: DataTypePredicate;
|
|
23
|
+
initial: string;
|
|
24
|
+
prefix?: PredicatePrefix;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data-types-types.d.ts.map
|