@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.
Files changed (237) hide show
  1. package/README.md +3 -0
  2. package/dist/compounds/compound-css-data.d.ts +22 -0
  3. package/dist/compounds/compound-css-data.d.ts.map +1 -0
  4. package/dist/compounds/compound-css-data.js +2 -0
  5. package/dist/compounds/compound-css-data.js.map +1 -0
  6. package/dist/compounds/compound-mapper.d.ts +4 -0
  7. package/dist/compounds/compound-mapper.d.ts.map +1 -0
  8. package/dist/compounds/compound-mapper.js +10 -0
  9. package/dist/compounds/compound-mapper.js.map +1 -0
  10. package/dist/compounds/compound-parser-utils.d.ts +3 -0
  11. package/dist/compounds/compound-parser-utils.d.ts.map +1 -0
  12. package/dist/compounds/compound-parser-utils.js +33 -0
  13. package/dist/compounds/compound-parser-utils.js.map +1 -0
  14. package/dist/compounds/compound-types.d.ts +26 -0
  15. package/dist/compounds/compound-types.d.ts.map +1 -0
  16. package/dist/compounds/compound-types.js +2 -0
  17. package/dist/compounds/compound-types.js.map +1 -0
  18. package/dist/compounds/compound-value-parsers.d.ts +6 -0
  19. package/dist/compounds/compound-value-parsers.d.ts.map +1 -0
  20. package/dist/compounds/compound-value-parsers.js +5 -0
  21. package/dist/compounds/compound-value-parsers.js.map +1 -0
  22. package/dist/compounds/index.d.ts +6 -0
  23. package/dist/compounds/index.d.ts.map +1 -0
  24. package/dist/compounds/index.js +6 -0
  25. package/dist/compounds/index.js.map +1 -0
  26. package/dist/compounds/parsers/index.d.ts +2 -0
  27. package/dist/compounds/parsers/index.d.ts.map +1 -0
  28. package/dist/compounds/parsers/index.js +2 -0
  29. package/dist/compounds/parsers/index.js.map +1 -0
  30. package/dist/compounds/parsers/shadow-compound.d.ts +5 -0
  31. package/dist/compounds/parsers/shadow-compound.d.ts.map +1 -0
  32. package/dist/compounds/parsers/shadow-compound.js +39 -0
  33. package/dist/compounds/parsers/shadow-compound.js.map +1 -0
  34. package/dist/css-data-types/data-types-consts.d.ts +212 -0
  35. package/dist/css-data-types/data-types-consts.d.ts.map +1 -0
  36. package/dist/css-data-types/data-types-consts.js +790 -0
  37. package/dist/css-data-types/data-types-consts.js.map +1 -0
  38. package/dist/css-data-types/data-types-predicates.d.ts +32 -0
  39. package/dist/css-data-types/data-types-predicates.d.ts.map +1 -0
  40. package/dist/css-data-types/data-types-predicates.js +353 -0
  41. package/dist/css-data-types/data-types-predicates.js.map +1 -0
  42. package/dist/css-data-types/data-types-state-machines.d.ts +14 -0
  43. package/dist/css-data-types/data-types-state-machines.d.ts.map +1 -0
  44. package/dist/css-data-types/data-types-state-machines.js +129 -0
  45. package/dist/css-data-types/data-types-state-machines.js.map +1 -0
  46. package/dist/css-data-types/data-types-types.d.ts +26 -0
  47. package/dist/css-data-types/data-types-types.d.ts.map +1 -0
  48. package/dist/css-data-types/data-types-types.js +2 -0
  49. package/dist/css-data-types/data-types-types.js.map +1 -0
  50. package/dist/css-data-types/data-types-utils.d.ts +31 -0
  51. package/dist/css-data-types/data-types-utils.d.ts.map +1 -0
  52. package/dist/css-data-types/data-types-utils.js +176 -0
  53. package/dist/css-data-types/data-types-utils.js.map +1 -0
  54. package/dist/css-data-types/data-types.d.ts +64 -0
  55. package/dist/css-data-types/data-types.d.ts.map +1 -0
  56. package/dist/css-data-types/data-types.js +304 -0
  57. package/dist/css-data-types/data-types.js.map +1 -0
  58. package/dist/css-data-types/index.d.ts +7 -0
  59. package/dist/css-data-types/index.d.ts.map +1 -0
  60. package/dist/css-data-types/index.js +7 -0
  61. package/dist/css-data-types/index.js.map +1 -0
  62. package/dist/index.d.ts +5 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +5 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/shorthands/index.d.ts +8 -0
  67. package/dist/shorthands/index.d.ts.map +1 -0
  68. package/dist/shorthands/index.js +8 -0
  69. package/dist/shorthands/index.js.map +1 -0
  70. package/dist/shorthands/openers/background-position-shorthand.d.ts +5 -0
  71. package/dist/shorthands/openers/background-position-shorthand.d.ts.map +1 -0
  72. package/dist/shorthands/openers/background-position-shorthand.js +173 -0
  73. package/dist/shorthands/openers/background-position-shorthand.js.map +1 -0
  74. package/dist/shorthands/openers/background-shorthand.d.ts +5 -0
  75. package/dist/shorthands/openers/background-shorthand.d.ts.map +1 -0
  76. package/dist/shorthands/openers/background-shorthand.js +88 -0
  77. package/dist/shorthands/openers/background-shorthand.js.map +1 -0
  78. package/dist/shorthands/openers/border-image-shorthand.d.ts +5 -0
  79. package/dist/shorthands/openers/border-image-shorthand.d.ts.map +1 -0
  80. package/dist/shorthands/openers/border-image-shorthand.js +16 -0
  81. package/dist/shorthands/openers/border-image-shorthand.js.map +1 -0
  82. package/dist/shorthands/openers/border-radius-shorthand.d.ts +5 -0
  83. package/dist/shorthands/openers/border-radius-shorthand.d.ts.map +1 -0
  84. package/dist/shorthands/openers/border-radius-shorthand.js +61 -0
  85. package/dist/shorthands/openers/border-radius-shorthand.js.map +1 -0
  86. package/dist/shorthands/openers/border-shorthand.d.ts +20 -0
  87. package/dist/shorthands/openers/border-shorthand.d.ts.map +1 -0
  88. package/dist/shorthands/openers/border-shorthand.js +90 -0
  89. package/dist/shorthands/openers/border-shorthand.js.map +1 -0
  90. package/dist/shorthands/openers/flex-flow-shorthand.d.ts +5 -0
  91. package/dist/shorthands/openers/flex-flow-shorthand.d.ts.map +1 -0
  92. package/dist/shorthands/openers/flex-flow-shorthand.js +13 -0
  93. package/dist/shorthands/openers/flex-flow-shorthand.js.map +1 -0
  94. package/dist/shorthands/openers/flex-shorthand.d.ts +5 -0
  95. package/dist/shorthands/openers/flex-shorthand.d.ts.map +1 -0
  96. package/dist/shorthands/openers/flex-shorthand.js +55 -0
  97. package/dist/shorthands/openers/flex-shorthand.js.map +1 -0
  98. package/dist/shorthands/openers/font-shorthand.d.ts +5 -0
  99. package/dist/shorthands/openers/font-shorthand.d.ts.map +1 -0
  100. package/dist/shorthands/openers/font-shorthand.js +60 -0
  101. package/dist/shorthands/openers/font-shorthand.js.map +1 -0
  102. package/dist/shorthands/openers/gap-shorthand.d.ts +5 -0
  103. package/dist/shorthands/openers/gap-shorthand.d.ts.map +1 -0
  104. package/dist/shorthands/openers/gap-shorthand.js +28 -0
  105. package/dist/shorthands/openers/gap-shorthand.js.map +1 -0
  106. package/dist/shorthands/openers/grid-axis-shorthand.d.ts +6 -0
  107. package/dist/shorthands/openers/grid-axis-shorthand.d.ts.map +1 -0
  108. package/dist/shorthands/openers/grid-axis-shorthand.js +36 -0
  109. package/dist/shorthands/openers/grid-axis-shorthand.js.map +1 -0
  110. package/dist/shorthands/openers/grid-gap-shorthand.d.ts +5 -0
  111. package/dist/shorthands/openers/grid-gap-shorthand.d.ts.map +1 -0
  112. package/dist/shorthands/openers/grid-gap-shorthand.js +21 -0
  113. package/dist/shorthands/openers/grid-gap-shorthand.js.map +1 -0
  114. package/dist/shorthands/openers/grid-shorthand.d.ts +8 -0
  115. package/dist/shorthands/openers/grid-shorthand.d.ts.map +1 -0
  116. package/dist/shorthands/openers/grid-shorthand.js +145 -0
  117. package/dist/shorthands/openers/grid-shorthand.js.map +1 -0
  118. package/dist/shorthands/openers/grid-template-shorthand.d.ts +10 -0
  119. package/dist/shorthands/openers/grid-template-shorthand.d.ts.map +1 -0
  120. package/dist/shorthands/openers/grid-template-shorthand.js +113 -0
  121. package/dist/shorthands/openers/grid-template-shorthand.js.map +1 -0
  122. package/dist/shorthands/openers/index.d.ts +22 -0
  123. package/dist/shorthands/openers/index.d.ts.map +1 -0
  124. package/dist/shorthands/openers/index.js +22 -0
  125. package/dist/shorthands/openers/index.js.map +1 -0
  126. package/dist/shorthands/openers/list-style-shorthand.d.ts +5 -0
  127. package/dist/shorthands/openers/list-style-shorthand.d.ts.map +1 -0
  128. package/dist/shorthands/openers/list-style-shorthand.js +15 -0
  129. package/dist/shorthands/openers/list-style-shorthand.js.map +1 -0
  130. package/dist/shorthands/openers/margin-shorthand.d.ts +5 -0
  131. package/dist/shorthands/openers/margin-shorthand.d.ts.map +1 -0
  132. package/dist/shorthands/openers/margin-shorthand.js +11 -0
  133. package/dist/shorthands/openers/margin-shorthand.js.map +1 -0
  134. package/dist/shorthands/openers/outline-shorthand.d.ts +5 -0
  135. package/dist/shorthands/openers/outline-shorthand.d.ts.map +1 -0
  136. package/dist/shorthands/openers/outline-shorthand.js +14 -0
  137. package/dist/shorthands/openers/outline-shorthand.js.map +1 -0
  138. package/dist/shorthands/openers/overflow-shorthand.d.ts +5 -0
  139. package/dist/shorthands/openers/overflow-shorthand.d.ts.map +1 -0
  140. package/dist/shorthands/openers/overflow-shorthand.js +21 -0
  141. package/dist/shorthands/openers/overflow-shorthand.js.map +1 -0
  142. package/dist/shorthands/openers/padding-shorthand.d.ts +5 -0
  143. package/dist/shorthands/openers/padding-shorthand.d.ts.map +1 -0
  144. package/dist/shorthands/openers/padding-shorthand.js +11 -0
  145. package/dist/shorthands/openers/padding-shorthand.js.map +1 -0
  146. package/dist/shorthands/openers/place-content-shorthand.d.ts +5 -0
  147. package/dist/shorthands/openers/place-content-shorthand.d.ts.map +1 -0
  148. package/dist/shorthands/openers/place-content-shorthand.js +29 -0
  149. package/dist/shorthands/openers/place-content-shorthand.js.map +1 -0
  150. package/dist/shorthands/openers/place-items-shorthand.d.ts +5 -0
  151. package/dist/shorthands/openers/place-items-shorthand.d.ts.map +1 -0
  152. package/dist/shorthands/openers/place-items-shorthand.js +23 -0
  153. package/dist/shorthands/openers/place-items-shorthand.js.map +1 -0
  154. package/dist/shorthands/openers/text-decoration-shorthand.d.ts +5 -0
  155. package/dist/shorthands/openers/text-decoration-shorthand.d.ts.map +1 -0
  156. package/dist/shorthands/openers/text-decoration-shorthand.js +14 -0
  157. package/dist/shorthands/openers/text-decoration-shorthand.js.map +1 -0
  158. package/dist/shorthands/shorthand-css-data.d.ts +120 -0
  159. package/dist/shorthands/shorthand-css-data.d.ts.map +1 -0
  160. package/dist/shorthands/shorthand-css-data.js +48 -0
  161. package/dist/shorthands/shorthand-css-data.js.map +1 -0
  162. package/dist/shorthands/shorthand-mapper.d.ts +6 -0
  163. package/dist/shorthands/shorthand-mapper.d.ts.map +1 -0
  164. package/dist/shorthands/shorthand-mapper.js +72 -0
  165. package/dist/shorthands/shorthand-mapper.js.map +1 -0
  166. package/dist/shorthands/shorthand-parser-errors.d.ts +25 -0
  167. package/dist/shorthands/shorthand-parser-errors.d.ts.map +1 -0
  168. package/dist/shorthands/shorthand-parser-errors.js +41 -0
  169. package/dist/shorthands/shorthand-parser-errors.js.map +1 -0
  170. package/dist/shorthands/shorthand-parser-utils.d.ts +24 -0
  171. package/dist/shorthands/shorthand-parser-utils.d.ts.map +1 -0
  172. package/dist/shorthands/shorthand-parser-utils.js +398 -0
  173. package/dist/shorthands/shorthand-parser-utils.js.map +1 -0
  174. package/dist/shorthands/shorthand-types.d.ts +64 -0
  175. package/dist/shorthands/shorthand-types.d.ts.map +1 -0
  176. package/dist/shorthands/shorthand-types.js +2 -0
  177. package/dist/shorthands/shorthand-types.js.map +1 -0
  178. package/dist/shorthands/shorthands-ast-evaluation.d.ts +5 -0
  179. package/dist/shorthands/shorthands-ast-evaluation.d.ts.map +1 -0
  180. package/dist/shorthands/shorthands-ast-evaluation.js +19 -0
  181. package/dist/shorthands/shorthands-ast-evaluation.js.map +1 -0
  182. package/dist/tokenizers/css-value-tokenizer.d.ts +43 -0
  183. package/dist/tokenizers/css-value-tokenizer.d.ts.map +1 -0
  184. package/dist/tokenizers/css-value-tokenizer.js +154 -0
  185. package/dist/tokenizers/css-value-tokenizer.js.map +1 -0
  186. package/dist/tokenizers/index.d.ts +2 -0
  187. package/dist/tokenizers/index.d.ts.map +1 -0
  188. package/dist/tokenizers/index.js +2 -0
  189. package/dist/tokenizers/index.js.map +1 -0
  190. package/package.json +54 -0
  191. package/src/compounds/compound-css-data.ts +24 -0
  192. package/src/compounds/compound-mapper.ts +21 -0
  193. package/src/compounds/compound-parser-utils.ts +47 -0
  194. package/src/compounds/compound-types.ts +35 -0
  195. package/src/compounds/compound-value-parsers.ts +12 -0
  196. package/src/compounds/index.ts +5 -0
  197. package/src/compounds/parsers/index.ts +1 -0
  198. package/src/compounds/parsers/shadow-compound.ts +56 -0
  199. package/src/css-data-types/data-types-consts.ts +877 -0
  200. package/src/css-data-types/data-types-predicates.ts +477 -0
  201. package/src/css-data-types/data-types-state-machines.ts +169 -0
  202. package/src/css-data-types/data-types-types.ts +43 -0
  203. package/src/css-data-types/data-types-utils.ts +258 -0
  204. package/src/css-data-types/data-types.ts +435 -0
  205. package/src/css-data-types/index.ts +6 -0
  206. package/src/index.ts +4 -0
  207. package/src/shorthands/index.ts +7 -0
  208. package/src/shorthands/openers/background-position-shorthand.ts +180 -0
  209. package/src/shorthands/openers/background-shorthand.ts +161 -0
  210. package/src/shorthands/openers/border-image-shorthand.ts +35 -0
  211. package/src/shorthands/openers/border-radius-shorthand.ts +93 -0
  212. package/src/shorthands/openers/border-shorthand.ts +198 -0
  213. package/src/shorthands/openers/flex-flow-shorthand.ts +24 -0
  214. package/src/shorthands/openers/flex-shorthand.ts +79 -0
  215. package/src/shorthands/openers/font-shorthand.ts +85 -0
  216. package/src/shorthands/openers/gap-shorthand.ts +47 -0
  217. package/src/shorthands/openers/grid-axis-shorthand.ts +61 -0
  218. package/src/shorthands/openers/grid-gap-shorthand.ts +40 -0
  219. package/src/shorthands/openers/grid-shorthand.ts +260 -0
  220. package/src/shorthands/openers/grid-template-shorthand.ts +176 -0
  221. package/src/shorthands/openers/index.ts +21 -0
  222. package/src/shorthands/openers/list-style-shorthand.ts +33 -0
  223. package/src/shorthands/openers/margin-shorthand.ts +20 -0
  224. package/src/shorthands/openers/outline-shorthand.ts +27 -0
  225. package/src/shorthands/openers/overflow-shorthand.ts +40 -0
  226. package/src/shorthands/openers/padding-shorthand.ts +21 -0
  227. package/src/shorthands/openers/place-content-shorthand.ts +49 -0
  228. package/src/shorthands/openers/place-items-shorthand.ts +43 -0
  229. package/src/shorthands/openers/text-decoration-shorthand.ts +27 -0
  230. package/src/shorthands/shorthand-css-data.ts +210 -0
  231. package/src/shorthands/shorthand-mapper.ts +157 -0
  232. package/src/shorthands/shorthand-parser-errors.ts +47 -0
  233. package/src/shorthands/shorthand-parser-utils.ts +602 -0
  234. package/src/shorthands/shorthand-types.ts +107 -0
  235. package/src/shorthands/shorthands-ast-evaluation.ts +38 -0
  236. package/src/tokenizers/css-value-tokenizer.ts +220 -0
  237. 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":"AAQA,OAAO,EAAmB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,mCAAmC,EACnC,sBAAsB,EACtB,4BAA4B,EAC5B,oBAAoB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,cAAc,GACjB,MAAM,uBAAuB,CAAC;AAE/B,WAAW;AACX,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;AAEpD,WAAW;AACX,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE/E,eAAe;AACf,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAElF,sBAAsB;AACtB,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAElF,UAAU;AACV,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAEzE,SAAS;AACT,MAAM,aAAa,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAE3F,SAAS;AACT,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;AAEzE,eAAe;AACf,6CAA6C;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IACvE,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;IAE5E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,WAAW,EAAE,CAAC;QACd,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,WAAW,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAEhF,cAAc;AACd,0GAA0G;AAC1G,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3C,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IAErE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5B,IAAI,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM;YACV,CAAC;YACD,cAAc,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM;YACV,CAAC;YACD,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM;YACV,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACJ,MAAM;QACV,CAAC;IACL,CAAC;IAED,OAAO,CAAC,OAAO,IAAI,cAAc,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,cAAc,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;AACvG,CAAC,CAAC;AAEF,kBAAkB;AAClB,0EAA0E;AAC1E,MAAM,qBAAqB,GAAG,cAAc,CAAC;IACzC,yBAAyB;IACzB,aAAa;IACb,sBAAsB,CAAC,gBAAgB,CAAC;CAC3C,CAAC,CAAC;AAQH,MAAM,wBAAwB,GAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAClF,MAAM,cAAc,GAAiD,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IACvF,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3C,MAAM,6BAA6B,GAAG,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IAExF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;QACjC,IAAI,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;QAE1B,MAAM,OAAO,GAAG,CAAC,KAAK,UAAU,CAAC;QACjC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACnD,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,iBAAiB,CAAC,EAAE,CAAC;YAC9F,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAC;QAC3C,CAAC;QAED,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,IACI,QAAQ,KAAK,EAAE;YACf,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACnB,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACtB,CAAC,6BAA6B,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,EAC9D,CAAC;YACC,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAC;QAC3C,CAAC;QAED,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,WAAW,EAAE,CAAC;QACd,IAAI,iBAAiB,EAAE,CAAC;YACpB,MAAM;QACV,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,CAAC;AAC/F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC;AAEpH,eAAe;AACf,0HAA0H;AAC1H,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAEnH,kDAAkD;AAClD,MAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAE3D,gBAAgB;AAChB,6FAA6F;AAC7F,MAAM,mBAAmB,GAAsB,CAAC,GAAG,EAAE,EAAE;IACnD,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,mCAAmC,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAI,GAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,eAAe;AACf,2HAA2H;AAC3H,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAE3G,MAAM,oBAAoB,GACtB,CAAC,eAAoC,EAAE,QAAQ,GAAG,KAAK,EAAqB,EAAE,CAC9E,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAClB,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3C,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,OAAO,GAAG,QAAQ,CAAC;IACvB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrE,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM;YACV,CAAC;YACD,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;YAC5B,WAAW,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;YACtC,YAAY,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrE,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,GAAG,KAAK,CAAC;YACrB,CAAC,EAAE,CAAC;YACJ,WAAW,EAAE,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,MAAM;QACV,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;AACzC,CAAC,CAAC;AAEN,eAAe;AACf,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAC;AAE9F,wBAAwB;AACxB,wDAAwD;AACxD,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAerF,MAAM,WAAW,GAA0B,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;AACzF,MAAM,mBAAmB,GAAmC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACzF,MAAM,CAAC,MAAM,yBAAyB,GAA4D,CAC9F,GAAG,EACH,KAAK,EACL,KAAK,EACP,EAAE;IACA,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3C,MAAM,MAAM,GAA4B,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;IAC7D,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACpD,OAAO,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACJ,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,KAAK,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,SAAS,EAAE,CAAC;oBACZ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,eAAe,EAAE,CAAC;wBAC7C,OAAO,EAAE,GAAG,mBAAmB,EAAE,CAAC;oBACtC,CAAC;oBACD,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC7D,OAAO,GAAG,KAAK,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC5D,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;gBACpC,CAAC;gBACD,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACrD,IAAI,SAAS,EAAE,CAAC;oBACZ,OAAO,EAAE,GAAG,mBAAmB,EAAE,CAAC;gBACtC,CAAC;gBACD,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACJ,MAAM;YACV,CAAC;QACL,CAAC;QACD,CAAC,EAAE,CAAC;QACJ,WAAW,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACtD,MAAM,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,mBAAmB,EAAE,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAClF,yBAAyB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC;AAEvD,oBAAoB;AACpB,8JAA8J;AAC9J,MAAM,CAAC,MAAM,sBAAsB,GAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC3E,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3C,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IACzB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,eAAe,GAAG,CAAC,CAAC;YACpB,MAAM;QACV,CAAC;QACD,CAAC,EAAE,CAAC;IACR,CAAC;IAED,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,8BAA8B,GAAG,oBAAoB,CAAC,CAAC,kBAAkB,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;IACzG,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAI,eAAe,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,8BAA8B,CAC9C,QAAQ,CAAC,UAAU,CAAE,CAAC,KAAK,EAC3B,CAAC,EACD,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAC9C,CAAC;QACF,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,eAAe,GAAG,UAAU,EAAE,CAAC;YACvE,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,WAAW,IAAI,eAAe,GAAG,UAAU,CAAC;IAChD,CAAC;IAED,IAAI,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC;QAChC,WAAW,IAAI,MAAM,CACjB,8BAA8B,CAC1B,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAE,CAAC,KAAK,EACpC,CAAC,EACD,QAAQ,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CACtC,CACJ,CAAC;IACN,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AAEF,wBAAwB;AACxB,2BAA2B;AAC3B,MAAM,CAAC,MAAM,gCAAgC,GAAG,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE1E,mBAAmB;AACnB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,qBAAqB,GAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC1E,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3C,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,sBAAsB,CAAC,4BAA4B,CAAC,CAAC;IAE5E,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5B,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM;YACV,CAAC;YACD,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM;YACV,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,MAAM;QACV,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC,CAAC;AAEF,yBAAyB;AACzB,2DAA2D;AAC3D,MAAM,CAAC,MAAM,2BAA2B,GAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAChF,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC5D,IAAI,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;IACzD,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,OAAO,YAAY,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACrD,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC7C,WAAW,EAAE,CAAC;YACd,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrC,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,MAAM;QACV,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AAEF,uBAAuB;AACvB,4CAA4C;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAsB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC9E,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAE3C,MAAM,0BAA0B,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,sBAAsB,CAAC,+BAA+B,CAAC,CAAC;IAE9E,IAAI,IAAyB,CAAC;IAC9B,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,KAAiC,CAAC;IACtC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5B,KAAK,GAAG,SAAS,CAAC;QAClB,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7D,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM;YACV,CAAC;YACD,KAAK,GAAG,SAAS,CAAC;YAClB,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,KAAK,MAAM,SAAS,IAAI,0BAA0B,EAAE,CAAC;gBACjD,MAAM,qBAAqB,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACrE,IAAI,qBAAqB,EAAE,CAAC;oBACxB,KAAK,GAAG,qBAAqB,CAAC;oBAC9B,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,EAAE,WAAW,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM;QACV,CAAC;IACL,CAAC;IAED,IAAI,WAAW,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9F,CAAC,CAAC"}
@@ -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