@master/css 2.0.0-alpha.6 → 2.0.0-alpha.61

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 (469) hide show
  1. package/esm/config/breakpoints.d.ts +12 -0
  2. package/esm/config/breakpoints.js +12 -0
  3. package/esm/config/colors.d.ts +24 -0
  4. package/esm/config/colors.js +264 -0
  5. package/esm/config/index.d.ts +2 -0
  6. package/esm/config/index.js +18 -0
  7. package/esm/config/root-size.d.ts +1 -0
  8. package/esm/config/root-size.js +1 -0
  9. package/esm/config/rules.d.ts +2 -0
  10. package/esm/config/rules.js +388 -0
  11. package/esm/config/selectors.d.ts +18 -0
  12. package/esm/config/selectors.js +18 -0
  13. package/esm/config/semantics.d.ts +81 -0
  14. package/esm/config/semantics.js +81 -0
  15. package/esm/config/themes.d.ts +1 -0
  16. package/esm/config/themes.js +1 -0
  17. package/esm/config/values.d.ts +125 -0
  18. package/esm/config/values.js +83 -0
  19. package/esm/configure.d.ts +2 -0
  20. package/esm/configure.js +10 -0
  21. package/esm/constants/start-symbol.d.ts +5 -0
  22. package/esm/constants/start-symbol.js +5 -0
  23. package/esm/css.d.ts +65 -0
  24. package/esm/css.js +884 -0
  25. package/esm/fill-color-scale.d.ts +1 -0
  26. package/esm/fill-color-scale.js +59 -0
  27. package/esm/index.d.ts +18 -0
  28. package/esm/index.js +18 -0
  29. package/esm/init.d.ts +3 -0
  30. package/esm/init.js +12 -0
  31. package/esm/interfaces/config.d.ts +18 -0
  32. package/esm/interfaces/config.js +1 -0
  33. package/esm/interfaces/declaration.d.ts +5 -0
  34. package/esm/interfaces/declaration.js +1 -0
  35. package/esm/interfaces/media-feature-rule.d.ts +7 -0
  36. package/esm/interfaces/media-feature-rule.js +1 -0
  37. package/esm/interfaces/media.d.ts +8 -0
  38. package/esm/interfaces/media.js +1 -0
  39. package/esm/polyfills/css-escape.d.ts +2 -0
  40. package/esm/polyfills/css-escape.js +90 -0
  41. package/esm/render-from-html.d.ts +3 -0
  42. package/esm/render-from-html.js +18 -0
  43. package/esm/render-into-html.d.ts +3 -0
  44. package/esm/render-into-html.js +9 -0
  45. package/esm/render.d.ts +3 -0
  46. package/esm/render.js +13 -0
  47. package/esm/rule.d.ts +54 -0
  48. package/esm/rule.js +604 -0
  49. package/esm/rules/accent-color.d.ts +7 -0
  50. package/esm/rules/accent-color.js +7 -0
  51. package/esm/rules/align-content.d.ts +6 -0
  52. package/esm/rules/align-content.js +6 -0
  53. package/esm/rules/align-items.d.ts +6 -0
  54. package/esm/rules/align-items.js +6 -0
  55. package/esm/rules/align-self.d.ts +6 -0
  56. package/esm/rules/align-self.js +6 -0
  57. package/esm/rules/animation-delay.d.ts +7 -0
  58. package/esm/rules/animation-delay.js +7 -0
  59. package/esm/rules/animation-direction.d.ts +6 -0
  60. package/esm/rules/animation-direction.js +6 -0
  61. package/esm/rules/animation-duration.d.ts +7 -0
  62. package/esm/rules/animation-duration.js +7 -0
  63. package/esm/rules/animation-fill-mode.d.ts +6 -0
  64. package/esm/rules/animation-fill-mode.js +6 -0
  65. package/esm/rules/animation-iteration-count.d.ts +7 -0
  66. package/esm/rules/animation-iteration-count.js +7 -0
  67. package/esm/rules/animation-name.d.ts +6 -0
  68. package/esm/rules/animation-name.js +6 -0
  69. package/esm/rules/animation-play-state.d.ts +6 -0
  70. package/esm/rules/animation-play-state.js +6 -0
  71. package/esm/rules/animation-timing-function.d.ts +6 -0
  72. package/esm/rules/animation-timing-function.js +6 -0
  73. package/esm/rules/animation.d.ts +8 -0
  74. package/esm/rules/animation.js +8 -0
  75. package/esm/rules/appearance.d.ts +5 -0
  76. package/esm/rules/appearance.js +5 -0
  77. package/esm/rules/aspect-radio.d.ts +7 -0
  78. package/esm/rules/aspect-radio.js +7 -0
  79. package/esm/rules/backdrop-filter.d.ts +11 -0
  80. package/esm/rules/backdrop-filter.js +26 -0
  81. package/esm/rules/background-attachment.d.ts +6 -0
  82. package/esm/rules/background-attachment.js +6 -0
  83. package/esm/rules/background-blend-mode.d.ts +5 -0
  84. package/esm/rules/background-blend-mode.js +5 -0
  85. package/esm/rules/background-clip.d.ts +9 -0
  86. package/esm/rules/background-clip.js +12 -0
  87. package/esm/rules/background-color.d.ts +8 -0
  88. package/esm/rules/background-color.js +8 -0
  89. package/esm/rules/background-image.d.ts +7 -0
  90. package/esm/rules/background-image.js +7 -0
  91. package/esm/rules/background-origin.d.ts +6 -0
  92. package/esm/rules/background-origin.js +6 -0
  93. package/esm/rules/background-position.d.ts +7 -0
  94. package/esm/rules/background-position.js +7 -0
  95. package/esm/rules/background-repeat.d.ts +6 -0
  96. package/esm/rules/background-repeat.js +6 -0
  97. package/esm/rules/background-size.d.ts +6 -0
  98. package/esm/rules/background-size.js +6 -0
  99. package/esm/rules/background.d.ts +8 -0
  100. package/esm/rules/background.js +8 -0
  101. package/esm/rules/border-collapse.d.ts +6 -0
  102. package/esm/rules/border-collapse.js +6 -0
  103. package/esm/rules/border-color.d.ts +11 -0
  104. package/esm/rules/border-color.js +14 -0
  105. package/esm/rules/border-image-outset.d.ts +5 -0
  106. package/esm/rules/border-image-outset.js +5 -0
  107. package/esm/rules/border-image-repeat.d.ts +6 -0
  108. package/esm/rules/border-image-repeat.js +6 -0
  109. package/esm/rules/border-image-slice.d.ts +6 -0
  110. package/esm/rules/border-image-slice.js +6 -0
  111. package/esm/rules/border-image-source.d.ts +6 -0
  112. package/esm/rules/border-image-source.js +6 -0
  113. package/esm/rules/border-image-width.d.ts +6 -0
  114. package/esm/rules/border-image-width.js +6 -0
  115. package/esm/rules/border-image.d.ts +6 -0
  116. package/esm/rules/border-image.js +6 -0
  117. package/esm/rules/border-radius.d.ts +9 -0
  118. package/esm/rules/border-radius.js +73 -0
  119. package/esm/rules/border-spacing.d.ts +5 -0
  120. package/esm/rules/border-spacing.js +5 -0
  121. package/esm/rules/border-style.d.ts +9 -0
  122. package/esm/rules/border-style.js +12 -0
  123. package/esm/rules/border-width.d.ts +9 -0
  124. package/esm/rules/border-width.js +12 -0
  125. package/esm/rules/border.d.ts +10 -0
  126. package/esm/rules/border.js +13 -0
  127. package/esm/rules/box-decoration-break.d.ts +9 -0
  128. package/esm/rules/box-decoration-break.js +13 -0
  129. package/esm/rules/box-shadow.d.ts +7 -0
  130. package/esm/rules/box-shadow.js +7 -0
  131. package/esm/rules/box-sizing.d.ts +6 -0
  132. package/esm/rules/box-sizing.js +6 -0
  133. package/esm/rules/break-after.d.ts +5 -0
  134. package/esm/rules/break-after.js +5 -0
  135. package/esm/rules/break-before.d.ts +5 -0
  136. package/esm/rules/break-before.js +5 -0
  137. package/esm/rules/break-inside.d.ts +5 -0
  138. package/esm/rules/break-inside.js +5 -0
  139. package/esm/rules/caret-color.d.ts +7 -0
  140. package/esm/rules/caret-color.js +7 -0
  141. package/esm/rules/clear.d.ts +5 -0
  142. package/esm/rules/clear.js +5 -0
  143. package/esm/rules/clip-path.d.ts +6 -0
  144. package/esm/rules/clip-path.js +6 -0
  145. package/esm/rules/color.d.ts +8 -0
  146. package/esm/rules/color.js +8 -0
  147. package/esm/rules/column-span.d.ts +6 -0
  148. package/esm/rules/column-span.js +6 -0
  149. package/esm/rules/columns.d.ts +8 -0
  150. package/esm/rules/columns.js +8 -0
  151. package/esm/rules/contain.d.ts +5 -0
  152. package/esm/rules/contain.js +5 -0
  153. package/esm/rules/content.d.ts +5 -0
  154. package/esm/rules/content.js +5 -0
  155. package/esm/rules/counter-increment.d.ts +6 -0
  156. package/esm/rules/counter-increment.js +6 -0
  157. package/esm/rules/cursor.d.ts +5 -0
  158. package/esm/rules/cursor.js +5 -0
  159. package/esm/rules/cx.d.ts +6 -0
  160. package/esm/rules/cx.js +6 -0
  161. package/esm/rules/cy.d.ts +6 -0
  162. package/esm/rules/cy.js +6 -0
  163. package/esm/rules/direction.d.ts +5 -0
  164. package/esm/rules/direction.js +5 -0
  165. package/esm/rules/display.d.ts +6 -0
  166. package/esm/rules/display.js +6 -0
  167. package/esm/rules/fill.d.ts +7 -0
  168. package/esm/rules/fill.js +7 -0
  169. package/esm/rules/filter.d.ts +8 -0
  170. package/esm/rules/filter.js +19 -0
  171. package/esm/rules/flex-basis.d.ts +5 -0
  172. package/esm/rules/flex-basis.js +5 -0
  173. package/esm/rules/flex-direction.d.ts +6 -0
  174. package/esm/rules/flex-direction.js +6 -0
  175. package/esm/rules/flex-grow.d.ts +6 -0
  176. package/esm/rules/flex-grow.js +6 -0
  177. package/esm/rules/flex-shrink.d.ts +6 -0
  178. package/esm/rules/flex-shrink.js +6 -0
  179. package/esm/rules/flex-wrap.d.ts +6 -0
  180. package/esm/rules/flex-wrap.js +6 -0
  181. package/esm/rules/flex.d.ts +7 -0
  182. package/esm/rules/flex.js +7 -0
  183. package/esm/rules/float.d.ts +5 -0
  184. package/esm/rules/float.js +5 -0
  185. package/esm/rules/font-family.d.ts +6 -0
  186. package/esm/rules/font-family.js +6 -0
  187. package/esm/rules/font-size.d.ts +6 -0
  188. package/esm/rules/font-size.js +6 -0
  189. package/esm/rules/font-smoothing.d.ts +9 -0
  190. package/esm/rules/font-smoothing.js +34 -0
  191. package/esm/rules/font-style.d.ts +7 -0
  192. package/esm/rules/font-style.js +7 -0
  193. package/esm/rules/font-variant-numeric.d.ts +6 -0
  194. package/esm/rules/font-variant-numeric.js +6 -0
  195. package/esm/rules/font-weight.d.ts +7 -0
  196. package/esm/rules/font-weight.js +7 -0
  197. package/esm/rules/font.d.ts +8 -0
  198. package/esm/rules/font.js +8 -0
  199. package/esm/rules/gap.d.ts +9 -0
  200. package/esm/rules/gap.js +16 -0
  201. package/esm/rules/grid-area.d.ts +7 -0
  202. package/esm/rules/grid-area.js +7 -0
  203. package/esm/rules/grid-auto-columns.d.ts +6 -0
  204. package/esm/rules/grid-auto-columns.js +6 -0
  205. package/esm/rules/grid-auto-flow.d.ts +6 -0
  206. package/esm/rules/grid-auto-flow.js +6 -0
  207. package/esm/rules/grid-auto-rows.d.ts +5 -0
  208. package/esm/rules/grid-auto-rows.js +5 -0
  209. package/esm/rules/grid-column-end.d.ts +7 -0
  210. package/esm/rules/grid-column-end.js +7 -0
  211. package/esm/rules/grid-column-start.d.ts +7 -0
  212. package/esm/rules/grid-column-start.js +7 -0
  213. package/esm/rules/grid-column.d.ts +9 -0
  214. package/esm/rules/grid-column.js +13 -0
  215. package/esm/rules/grid-columns.d.ts +10 -0
  216. package/esm/rules/grid-columns.js +20 -0
  217. package/esm/rules/grid-row-end.d.ts +6 -0
  218. package/esm/rules/grid-row-end.js +6 -0
  219. package/esm/rules/grid-row-start.d.ts +6 -0
  220. package/esm/rules/grid-row-start.js +6 -0
  221. package/esm/rules/grid-row.d.ts +9 -0
  222. package/esm/rules/grid-row.js +13 -0
  223. package/esm/rules/grid-rows.d.ts +9 -0
  224. package/esm/rules/grid-rows.js +20 -0
  225. package/esm/rules/grid-template-areas.d.ts +5 -0
  226. package/esm/rules/grid-template-areas.js +5 -0
  227. package/esm/rules/grid-template-columns.d.ts +6 -0
  228. package/esm/rules/grid-template-columns.js +6 -0
  229. package/esm/rules/grid-template-rows.d.ts +5 -0
  230. package/esm/rules/grid-template-rows.js +5 -0
  231. package/esm/rules/grid-template.d.ts +6 -0
  232. package/esm/rules/grid-template.js +6 -0
  233. package/esm/rules/grid.d.ts +6 -0
  234. package/esm/rules/grid.js +6 -0
  235. package/esm/rules/group.d.ts +9 -0
  236. package/esm/rules/group.js +104 -0
  237. package/esm/rules/height.d.ts +6 -0
  238. package/esm/rules/height.js +6 -0
  239. package/esm/rules/inset.d.ts +9 -0
  240. package/esm/rules/inset.js +11 -0
  241. package/esm/rules/isolation.d.ts +5 -0
  242. package/esm/rules/isolation.js +5 -0
  243. package/esm/rules/justify-content.d.ts +6 -0
  244. package/esm/rules/justify-content.js +6 -0
  245. package/esm/rules/justify-items.d.ts +6 -0
  246. package/esm/rules/justify-items.js +6 -0
  247. package/esm/rules/justify-self.d.ts +6 -0
  248. package/esm/rules/justify-self.js +6 -0
  249. package/esm/rules/letter-spacing.d.ts +7 -0
  250. package/esm/rules/letter-spacing.js +7 -0
  251. package/esm/rules/line-clamp.d.ts +9 -0
  252. package/esm/rules/line-clamp.js +11 -0
  253. package/esm/rules/line-height.d.ts +7 -0
  254. package/esm/rules/line-height.js +7 -0
  255. package/esm/rules/lines.d.ts +9 -0
  256. package/esm/rules/lines.js +16 -0
  257. package/esm/rules/list-style-image.d.ts +6 -0
  258. package/esm/rules/list-style-image.js +6 -0
  259. package/esm/rules/list-style-position.d.ts +6 -0
  260. package/esm/rules/list-style-position.js +6 -0
  261. package/esm/rules/list-style-type.d.ts +6 -0
  262. package/esm/rules/list-style-type.js +6 -0
  263. package/esm/rules/list-style.d.ts +6 -0
  264. package/esm/rules/list-style.js +6 -0
  265. package/esm/rules/margin.d.ts +9 -0
  266. package/esm/rules/margin.js +13 -0
  267. package/esm/rules/mask-image.d.ts +8 -0
  268. package/esm/rules/mask-image.js +11 -0
  269. package/esm/rules/max-height.d.ts +6 -0
  270. package/esm/rules/max-height.js +6 -0
  271. package/esm/rules/max-width.d.ts +6 -0
  272. package/esm/rules/max-width.js +6 -0
  273. package/esm/rules/min-height.d.ts +6 -0
  274. package/esm/rules/min-height.js +6 -0
  275. package/esm/rules/min-width.d.ts +6 -0
  276. package/esm/rules/min-width.js +6 -0
  277. package/esm/rules/mix-blend-mode.d.ts +6 -0
  278. package/esm/rules/mix-blend-mode.js +6 -0
  279. package/esm/rules/object-fit.d.ts +6 -0
  280. package/esm/rules/object-fit.js +6 -0
  281. package/esm/rules/object-position.d.ts +6 -0
  282. package/esm/rules/object-position.js +6 -0
  283. package/esm/rules/opacity.d.ts +6 -0
  284. package/esm/rules/opacity.js +6 -0
  285. package/esm/rules/order.d.ts +7 -0
  286. package/esm/rules/order.js +8 -0
  287. package/esm/rules/outline-color.d.ts +7 -0
  288. package/esm/rules/outline-color.js +7 -0
  289. package/esm/rules/outline-offset.d.ts +5 -0
  290. package/esm/rules/outline-offset.js +5 -0
  291. package/esm/rules/outline-style.d.ts +6 -0
  292. package/esm/rules/outline-style.js +6 -0
  293. package/esm/rules/outline-width.d.ts +6 -0
  294. package/esm/rules/outline-width.js +6 -0
  295. package/esm/rules/outline.d.ts +7 -0
  296. package/esm/rules/outline.js +7 -0
  297. package/esm/rules/overflow.d.ts +9 -0
  298. package/esm/rules/overflow.js +26 -0
  299. package/esm/rules/overscroll-behavior.d.ts +8 -0
  300. package/esm/rules/overscroll-behavior.js +15 -0
  301. package/esm/rules/padding.d.ts +9 -0
  302. package/esm/rules/padding.js +13 -0
  303. package/esm/rules/place-content.d.ts +6 -0
  304. package/esm/rules/place-content.js +6 -0
  305. package/esm/rules/place-items.d.ts +6 -0
  306. package/esm/rules/place-items.js +6 -0
  307. package/esm/rules/place-self.d.ts +6 -0
  308. package/esm/rules/place-self.js +6 -0
  309. package/esm/rules/placement.d.ts +8 -0
  310. package/esm/rules/placement.js +29 -0
  311. package/esm/rules/pointer-events.d.ts +5 -0
  312. package/esm/rules/pointer-events.js +5 -0
  313. package/esm/rules/position.d.ts +5 -0
  314. package/esm/rules/position.js +5 -0
  315. package/esm/rules/quotes.d.ts +5 -0
  316. package/esm/rules/quotes.js +5 -0
  317. package/esm/rules/resize.d.ts +5 -0
  318. package/esm/rules/resize.js +5 -0
  319. package/esm/rules/rx.d.ts +6 -0
  320. package/esm/rules/rx.js +6 -0
  321. package/esm/rules/ry.d.ts +6 -0
  322. package/esm/rules/ry.js +6 -0
  323. package/esm/rules/scroll-behavior.d.ts +5 -0
  324. package/esm/rules/scroll-behavior.js +5 -0
  325. package/esm/rules/scroll-margin.d.ts +9 -0
  326. package/esm/rules/scroll-margin.js +45 -0
  327. package/esm/rules/scroll-padding.d.ts +9 -0
  328. package/esm/rules/scroll-padding.js +45 -0
  329. package/esm/rules/scroll-snap-align.d.ts +6 -0
  330. package/esm/rules/scroll-snap-align.js +6 -0
  331. package/esm/rules/scroll-snap-stop.d.ts +6 -0
  332. package/esm/rules/scroll-snap-stop.js +6 -0
  333. package/esm/rules/scroll-snap-type.d.ts +6 -0
  334. package/esm/rules/scroll-snap-type.js +6 -0
  335. package/esm/rules/shape-image-threshold.d.ts +6 -0
  336. package/esm/rules/shape-image-threshold.js +6 -0
  337. package/esm/rules/shape-margin.d.ts +6 -0
  338. package/esm/rules/shape-margin.js +6 -0
  339. package/esm/rules/shape-outside.d.ts +6 -0
  340. package/esm/rules/shape-outside.js +6 -0
  341. package/esm/rules/spacing.d.ts +9 -0
  342. package/esm/rules/spacing.js +48 -0
  343. package/esm/rules/stroke-dasharray.d.ts +5 -0
  344. package/esm/rules/stroke-dasharray.js +5 -0
  345. package/esm/rules/stroke-dashoffset.d.ts +5 -0
  346. package/esm/rules/stroke-dashoffset.js +5 -0
  347. package/esm/rules/stroke-width.d.ts +6 -0
  348. package/esm/rules/stroke-width.js +6 -0
  349. package/esm/rules/stroke.d.ts +6 -0
  350. package/esm/rules/stroke.js +6 -0
  351. package/esm/rules/table-layout.d.ts +5 -0
  352. package/esm/rules/table-layout.js +5 -0
  353. package/esm/rules/text-align.d.ts +6 -0
  354. package/esm/rules/text-align.js +6 -0
  355. package/esm/rules/text-decoration-color.d.ts +7 -0
  356. package/esm/rules/text-decoration-color.js +7 -0
  357. package/esm/rules/text-decoration-line.d.ts +6 -0
  358. package/esm/rules/text-decoration-line.js +6 -0
  359. package/esm/rules/text-decoration-style.d.ts +6 -0
  360. package/esm/rules/text-decoration-style.js +6 -0
  361. package/esm/rules/text-decoration-thickness.d.ts +7 -0
  362. package/esm/rules/text-decoration-thickness.js +7 -0
  363. package/esm/rules/text-decoration.d.ts +8 -0
  364. package/esm/rules/text-decoration.js +8 -0
  365. package/esm/rules/text-fill-color.d.ts +10 -0
  366. package/esm/rules/text-fill-color.js +12 -0
  367. package/esm/rules/text-indent.d.ts +5 -0
  368. package/esm/rules/text-indent.js +5 -0
  369. package/esm/rules/text-orientation.d.ts +6 -0
  370. package/esm/rules/text-orientation.js +6 -0
  371. package/esm/rules/text-overflow.d.ts +6 -0
  372. package/esm/rules/text-overflow.js +6 -0
  373. package/esm/rules/text-rendering.d.ts +6 -0
  374. package/esm/rules/text-rendering.js +6 -0
  375. package/esm/rules/text-shadow.d.ts +6 -0
  376. package/esm/rules/text-shadow.js +6 -0
  377. package/esm/rules/text-size.d.ts +8 -0
  378. package/esm/rules/text-size.js +17 -0
  379. package/esm/rules/text-stroke-color.d.ts +10 -0
  380. package/esm/rules/text-stroke-color.js +12 -0
  381. package/esm/rules/text-stroke-width.d.ts +8 -0
  382. package/esm/rules/text-stroke-width.js +10 -0
  383. package/esm/rules/text-stroke.d.ts +8 -0
  384. package/esm/rules/text-stroke.js +10 -0
  385. package/esm/rules/text-transform.d.ts +6 -0
  386. package/esm/rules/text-transform.js +6 -0
  387. package/esm/rules/text-underline-offset.d.ts +5 -0
  388. package/esm/rules/text-underline-offset.js +5 -0
  389. package/esm/rules/touch-action.d.ts +5 -0
  390. package/esm/rules/touch-action.js +5 -0
  391. package/esm/rules/transform-box.d.ts +6 -0
  392. package/esm/rules/transform-box.js +6 -0
  393. package/esm/rules/transform-origin.d.ts +7 -0
  394. package/esm/rules/transform-origin.js +7 -0
  395. package/esm/rules/transform-style.d.ts +6 -0
  396. package/esm/rules/transform-style.js +6 -0
  397. package/esm/rules/transform.d.ts +9 -0
  398. package/esm/rules/transform.js +44 -0
  399. package/esm/rules/transition-delay.d.ts +7 -0
  400. package/esm/rules/transition-delay.js +7 -0
  401. package/esm/rules/transition-duration.d.ts +7 -0
  402. package/esm/rules/transition-duration.js +7 -0
  403. package/esm/rules/transition-property.d.ts +6 -0
  404. package/esm/rules/transition-property.js +6 -0
  405. package/esm/rules/transition-timing-function.d.ts +6 -0
  406. package/esm/rules/transition-timing-function.js +6 -0
  407. package/esm/rules/transition.d.ts +7 -0
  408. package/esm/rules/transition.js +7 -0
  409. package/esm/rules/user-drag.d.ts +8 -0
  410. package/esm/rules/user-drag.js +12 -0
  411. package/esm/rules/user-select.d.ts +8 -0
  412. package/esm/rules/user-select.js +12 -0
  413. package/esm/rules/variable.d.ts +9 -0
  414. package/esm/rules/variable.js +11 -0
  415. package/esm/rules/vertical-align.d.ts +6 -0
  416. package/esm/rules/vertical-align.js +6 -0
  417. package/esm/rules/visibility.d.ts +5 -0
  418. package/esm/rules/visibility.js +5 -0
  419. package/esm/rules/white-space.d.ts +6 -0
  420. package/esm/rules/white-space.js +6 -0
  421. package/esm/rules/width.d.ts +6 -0
  422. package/esm/rules/width.js +6 -0
  423. package/esm/rules/will-change.d.ts +5 -0
  424. package/esm/rules/will-change.js +5 -0
  425. package/esm/rules/word-break.d.ts +6 -0
  426. package/esm/rules/word-break.js +6 -0
  427. package/esm/rules/word-spacing.d.ts +6 -0
  428. package/esm/rules/word-spacing.js +6 -0
  429. package/esm/rules/writing-mode.d.ts +6 -0
  430. package/esm/rules/writing-mode.js +6 -0
  431. package/esm/rules/x.d.ts +6 -0
  432. package/esm/rules/x.js +6 -0
  433. package/esm/rules/y.d.ts +6 -0
  434. package/esm/rules/y.js +6 -0
  435. package/esm/rules/z-index.d.ts +7 -0
  436. package/esm/rules/z-index.js +7 -0
  437. package/esm/utils/concat-arrays.d.ts +1 -0
  438. package/esm/utils/concat-arrays.js +7 -0
  439. package/esm/utils/extend.d.ts +5 -0
  440. package/esm/utils/extend.js +60 -0
  441. package/esm/utils/get-border-props.d.ts +3 -0
  442. package/esm/utils/get-border-props.js +43 -0
  443. package/esm/utils/get-css-property-text.d.ts +5 -0
  444. package/esm/utils/get-css-property-text.js +7 -0
  445. package/esm/utils/get-type.d.ts +7 -0
  446. package/esm/utils/get-type.js +9 -0
  447. package/esm/utils/hex-to-rgb.d.ts +1 -0
  448. package/esm/utils/hex-to-rgb.js +7 -0
  449. package/esm/utils/is-plain-object.d.ts +8 -0
  450. package/esm/utils/is-plain-object.js +12 -0
  451. package/esm/utils/is-symbol.d.ts +7 -0
  452. package/esm/utils/is-symbol.js +10 -0
  453. package/esm/utils/normalize-css-calc-text.d.ts +5 -0
  454. package/esm/utils/normalize-css-calc-text.js +55 -0
  455. package/esm/utils/parse-value-unit.d.ts +2 -0
  456. package/esm/utils/parse-value-unit.js +47 -0
  457. package/esm/utils/parse-value.d.ts +6 -0
  458. package/esm/utils/parse-value.js +84 -0
  459. package/esm/utils/rgb-to-hex.d.ts +1 -0
  460. package/esm/utils/rgb-to-hex.js +3 -0
  461. package/esm/utils/test-css.d.ts +3 -0
  462. package/esm/utils/test-css.js +15 -0
  463. package/index.js +2 -1
  464. package/package.json +13 -2
  465. package/breakpoints.js +0 -1
  466. package/color.scss +0 -1
  467. package/colors.js +0 -1
  468. package/master-css.min.js +0 -1
  469. package/render.js +0 -1
package/esm/rule.js ADDED
@@ -0,0 +1,604 @@
1
+ import { getCssPropertyText } from './utils/get-css-property-text';
2
+ import { parseValue } from './utils/parse-value';
3
+ import { START_SYMBOL } from './constants/start-symbol';
4
+ export const PRIORITY_SELECTORS = [':disabled', ':active', ':focus', ':hover'];
5
+ const MATCHES = 'matches';
6
+ const SEMANTICS = 'semantics';
7
+ const SYMBOL = 'symbol';
8
+ const WIDTH = 'width';
9
+ const MAX_WIDTH = 'max-' + WIDTH;
10
+ const MIN_WIDTH = 'min-' + WIDTH;
11
+ const MOTION = 'motion';
12
+ const REDUCE = 'reduce';
13
+ const REDUCED_MOTION = REDUCE + 'd-' + MOTION;
14
+ const PX = 'px';
15
+ const REM = 'rem';
16
+ const selectorSymbols = ['!', '*', '>', '+', '~', ':', '[', '@', '_'];
17
+ const selectorSplitRegexp = /(\\'(?:.*?)[^\\]\\')(?=[*_>~+,)])|(\[[^=]+='(?:.*?)[^\\]'\])/;
18
+ const transformSelectorUnderline = (selector) => selector.split(selectorSplitRegexp)
19
+ .map((eachToken, i) => i % 3 ? eachToken : eachToken.replace(/\_/g, ' '))
20
+ .join('');
21
+ export class MasterCSSRule {
22
+ className;
23
+ matching;
24
+ css;
25
+ prefix;
26
+ symbol;
27
+ token;
28
+ prefixSelectors;
29
+ vendorSuffixSelectors;
30
+ important;
31
+ media;
32
+ at = {};
33
+ direction;
34
+ themeName;
35
+ unitToken;
36
+ hasWhere;
37
+ prioritySelectorIndex = -1;
38
+ natives = [];
39
+ static id;
40
+ static propName;
41
+ static matches;
42
+ static colorStarts;
43
+ static symbol;
44
+ static unit = REM;
45
+ static colorful;
46
+ static match(name, colorNames) {
47
+ /**
48
+ * STEP 1. matches
49
+ */
50
+ if (this.matches && this.matches.test(name)) {
51
+ return { origin: MATCHES };
52
+ }
53
+ /**
54
+ * STEP 2. color starts
55
+ */
56
+ // TODO: 動態 new Regex 效能問題待優化
57
+ if (this.colorStarts
58
+ && (name.match('^' + this.colorStarts + '(?:(?:#|(rgb|hsl)\\(.*\\))((?!\\|).)*$|(?:transparent|current))')
59
+ || colorNames.length
60
+ && name.match('^' + this.colorStarts + '(' + colorNames.join('|') + ')')
61
+ && name.indexOf('|') === -1)) {
62
+ return { origin: MATCHES };
63
+ }
64
+ /**
65
+ * STEP 3. symbol
66
+ */
67
+ if (this.symbol && name.startsWith(this.symbol)) {
68
+ return { origin: SYMBOL };
69
+ }
70
+ /**
71
+ * STEP 4. key full name
72
+ */
73
+ if (this.propName && name.startsWith(this.propName + ':')) {
74
+ return { origin: MATCHES };
75
+ }
76
+ }
77
+ ;
78
+ constructor(className, matching, css) {
79
+ this.className = className;
80
+ this.matching = matching;
81
+ this.css = css;
82
+ const TargetRule = this.constructor;
83
+ let { id, unit, propName, colorful } = TargetRule;
84
+ const { breakpoints, mediaQueries, semantics, rootSize } = css.config;
85
+ const values = css.config.values[id];
86
+ const relationThemesMap = css.relationThemesMap[className];
87
+ const { themeNames, colorsThemesMap, selectors } = css;
88
+ let token = className;
89
+ // 1. value / selectorToken
90
+ let value, prefixToken, suffixToken, valueTokens;
91
+ if (matching.origin === SEMANTICS) {
92
+ suffixToken = token.slice(matching.value.length);
93
+ value = semantics[matching.value];
94
+ }
95
+ else {
96
+ let valueToken;
97
+ if (matching.origin === MATCHES) {
98
+ if (id === 'Group') {
99
+ let i = 0;
100
+ for (; i < token.length; i++) {
101
+ if (token[i] === '{' && token[i - 1] !== '\\') {
102
+ break;
103
+ }
104
+ }
105
+ prefixToken = token.slice(0, i);
106
+ valueToken = token.slice(i);
107
+ }
108
+ else {
109
+ const indexOfColon = token.indexOf(':');
110
+ this.prefix = token.slice(0, indexOfColon + 1);
111
+ if (this.prefix.includes('(')) {
112
+ this.prefix = undefined;
113
+ valueToken = token;
114
+ }
115
+ else {
116
+ valueToken = token.slice(indexOfColon + 1);
117
+ }
118
+ }
119
+ }
120
+ else if (matching.origin === SYMBOL) {
121
+ this.symbol = token[0];
122
+ valueToken = token.slice(1);
123
+ }
124
+ valueTokens = [];
125
+ let currentValueToken = '';
126
+ let i = 0;
127
+ (function analyze(end, depth, func = '') {
128
+ let varIndex;
129
+ let isString = false;
130
+ if (end) {
131
+ if (end === ')' && currentValueToken.slice(-1) === '$') {
132
+ varIndex = currentValueToken.length - 1;
133
+ }
134
+ else if (end === '\'') {
135
+ isString = true;
136
+ }
137
+ currentValueToken += valueToken[i++];
138
+ }
139
+ for (; i < valueToken.length; i++) {
140
+ const val = valueToken[i];
141
+ if (val === end) {
142
+ currentValueToken += val;
143
+ if (isString) {
144
+ let count = 0;
145
+ for (let j = currentValueToken.length - 2;; j--) {
146
+ if (currentValueToken[j] !== '\\') {
147
+ break;
148
+ }
149
+ count++;
150
+ }
151
+ if (count % 2) {
152
+ continue;
153
+ }
154
+ }
155
+ if (varIndex !== undefined) {
156
+ currentValueToken = currentValueToken.slice(0, varIndex) + currentValueToken.slice(varIndex).replace(/\$\((.*)\)/, 'var(--$1)');
157
+ }
158
+ if (!depth) {
159
+ if (isString) {
160
+ valueTokens.push(currentValueToken);
161
+ }
162
+ else {
163
+ valueTokens.push({ value: currentValueToken });
164
+ }
165
+ func = '';
166
+ currentValueToken = '';
167
+ }
168
+ break;
169
+ }
170
+ else if (!isString && val in START_SYMBOL) {
171
+ analyze(START_SYMBOL[val], depth === undefined ? 0 : depth + 1, func);
172
+ }
173
+ else if (val === '|' && end !== '}' && (!isString || func === 'path')) {
174
+ if (!end) {
175
+ valueTokens.push({ value: currentValueToken });
176
+ currentValueToken = '';
177
+ }
178
+ else {
179
+ currentValueToken += ' ';
180
+ }
181
+ }
182
+ else {
183
+ if (!end) {
184
+ if (val === '.') {
185
+ if (isNaN(+valueToken[i + 1])) {
186
+ break;
187
+ }
188
+ else if (valueToken[i - 1] === '-') {
189
+ currentValueToken += '0';
190
+ }
191
+ }
192
+ else if (val === ',') {
193
+ valueTokens.push({ value: currentValueToken }, ',');
194
+ currentValueToken = '';
195
+ continue;
196
+ }
197
+ else if (val === '#'
198
+ && (currentValueToken || valueTokens.length && valueToken[i - 1] !== '|')
199
+ || selectorSymbols.includes(val)) {
200
+ break;
201
+ }
202
+ func += val;
203
+ }
204
+ currentValueToken += val;
205
+ }
206
+ }
207
+ })();
208
+ if (currentValueToken) {
209
+ valueTokens.push({ value: currentValueToken });
210
+ }
211
+ suffixToken = valueToken.slice(i);
212
+ }
213
+ // 2. !important
214
+ if (suffixToken[0] === '!') {
215
+ this.important = true;
216
+ suffixToken = suffixToken.slice(1);
217
+ }
218
+ // 3. prefix selector
219
+ const analyzeSelectorToken = (selectorText) => {
220
+ const transformedSelectorText = transformSelectorUnderline(selectorText);
221
+ const selectors = [];
222
+ let currentSelector = '';
223
+ let symbolCount = 0;
224
+ for (let i = 0; i < transformedSelectorText.length; i++) {
225
+ const char = transformedSelectorText[i];
226
+ if (char === '\\') {
227
+ currentSelector += char + transformedSelectorText[++i];
228
+ continue;
229
+ }
230
+ if (!symbolCount && char === ',') {
231
+ selectors.push(currentSelector);
232
+ currentSelector = '';
233
+ }
234
+ else {
235
+ currentSelector += char;
236
+ if (symbolCount && char === ')') {
237
+ symbolCount--;
238
+ }
239
+ else if (char === '(') {
240
+ symbolCount++;
241
+ }
242
+ }
243
+ }
244
+ if (currentSelector) {
245
+ selectors.push(currentSelector);
246
+ }
247
+ return selectors;
248
+ };
249
+ this.prefixSelectors = prefixToken
250
+ ? analyzeSelectorToken(prefixToken)
251
+ : [''];
252
+ // 4. suffix selector
253
+ const suffixTokens = suffixToken.split('@');
254
+ let suffixSelector = suffixTokens[0];
255
+ if (suffixSelector) {
256
+ this.vendorSuffixSelectors = {};
257
+ const transform = (selectorText, selectorValues, selectors, matched) => {
258
+ for (const [regexp, newSelectorTexts] of selectorValues) {
259
+ if (regexp.test(selectorText)) {
260
+ for (const eachNewSelectorText of newSelectorTexts) {
261
+ transform(selectorText.replace(regexp, eachNewSelectorText), selectorValues, selectors, true);
262
+ }
263
+ return;
264
+ }
265
+ }
266
+ if (matched) {
267
+ selectors.push(selectorText);
268
+ }
269
+ };
270
+ const suffixSelectors = [];
271
+ if ('' in selectors) {
272
+ transform(suffixSelector, selectors[''], suffixSelectors, true);
273
+ }
274
+ else {
275
+ suffixSelectors.push(suffixSelector);
276
+ }
277
+ const vendorSelectors = {};
278
+ for (const [vendor, selectorValues] of Object.entries(selectors)) {
279
+ if (!vendor)
280
+ continue;
281
+ const newVendorSelectors = [];
282
+ for (const eachSuffixSelector of suffixSelectors) {
283
+ transform(eachSuffixSelector, selectorValues, newVendorSelectors, false);
284
+ }
285
+ if (newVendorSelectors.length) {
286
+ vendorSelectors[vendor] = newVendorSelectors;
287
+ }
288
+ }
289
+ const insertVendorSuffixSelectors = (vendor, selectorTexts) => {
290
+ const groupedSelectorTexts = selectorTexts.reduce((arr, eachSuffixSelector) => {
291
+ arr.push(...analyzeSelectorToken(eachSuffixSelector));
292
+ return arr;
293
+ }, []);
294
+ if (vendor in this.vendorSuffixSelectors) {
295
+ this.vendorSuffixSelectors[vendor].push(...groupedSelectorTexts);
296
+ }
297
+ else {
298
+ this.vendorSuffixSelectors[vendor] = groupedSelectorTexts;
299
+ }
300
+ };
301
+ const vendors = Object.keys(vendorSelectors);
302
+ if (vendors.length) {
303
+ for (const eachVendor of vendors) {
304
+ insertVendorSuffixSelectors(eachVendor, vendorSelectors[eachVendor]);
305
+ }
306
+ }
307
+ else {
308
+ insertVendorSuffixSelectors('', suffixSelectors);
309
+ }
310
+ for (const suffixSelectors of Object.values(this.vendorSuffixSelectors)) {
311
+ for (const eachSuffixSelector of suffixSelectors) {
312
+ if (this.hasWhere !== false) {
313
+ this.hasWhere = eachSuffixSelector.includes(':where(');
314
+ }
315
+ for (let i = 0; i < PRIORITY_SELECTORS.length; i++) {
316
+ if (eachSuffixSelector.includes(PRIORITY_SELECTORS[i])) {
317
+ if (this.prioritySelectorIndex === -1 || this.prioritySelectorIndex > i) {
318
+ this.prioritySelectorIndex = i;
319
+ }
320
+ break;
321
+ }
322
+ }
323
+ }
324
+ }
325
+ }
326
+ else {
327
+ this.vendorSuffixSelectors = { '': [''] };
328
+ }
329
+ // 5. atTokens
330
+ for (let i = 1; i < suffixTokens.length; i++) {
331
+ const atToken = suffixTokens[i];
332
+ if (atToken) {
333
+ if (themeNames.includes(atToken)) {
334
+ this.themeName = atToken;
335
+ }
336
+ else if (atToken === 'rtl'
337
+ || atToken === 'ltr') {
338
+ this.direction = atToken;
339
+ }
340
+ else {
341
+ let type;
342
+ let queryText;
343
+ const underscoreIndex = atToken.indexOf('_');
344
+ if (underscoreIndex !== -1) {
345
+ type = atToken.slice(0, underscoreIndex);
346
+ queryText = atToken.slice(underscoreIndex);
347
+ }
348
+ else {
349
+ const leftBracketIndex = atToken.indexOf('(');
350
+ if (leftBracketIndex !== -1) {
351
+ type = atToken.slice(0, leftBracketIndex);
352
+ queryText = atToken.slice(leftBracketIndex);
353
+ }
354
+ }
355
+ if (!type) {
356
+ type = 'media';
357
+ const queryTexts = [];
358
+ this.media = {
359
+ token: atToken,
360
+ features: {}
361
+ };
362
+ const typeOrFeatureTokens = atToken.split('&');
363
+ for (const typeOrFeatureToken of typeOrFeatureTokens) {
364
+ if (typeOrFeatureToken === 'all'
365
+ || typeOrFeatureToken === 'print'
366
+ || typeOrFeatureToken === 'screen'
367
+ || typeOrFeatureToken === 'speech') {
368
+ this.media.type = typeOrFeatureToken;
369
+ }
370
+ else if (typeOrFeatureToken === '🖨') {
371
+ this.media.type = 'print';
372
+ }
373
+ else {
374
+ if (typeOrFeatureToken === 'landscape' || typeOrFeatureToken === 'portrait') {
375
+ queryTexts.push('(orientation:' + typeOrFeatureToken + ')');
376
+ }
377
+ else if (typeOrFeatureToken === MOTION || typeOrFeatureToken === REDUCED_MOTION) {
378
+ queryTexts.push('(prefers-' + REDUCED_MOTION + ':'
379
+ + (typeOrFeatureToken === MOTION ? 'no-preference' : REDUCE)
380
+ + ')');
381
+ }
382
+ else if (mediaQueries && typeOrFeatureToken in mediaQueries) {
383
+ queryTexts.push(mediaQueries[typeOrFeatureToken]);
384
+ }
385
+ else {
386
+ const feature = {
387
+ token: typeOrFeatureToken
388
+ };
389
+ let featureName = '';
390
+ let extremumOperator = '';
391
+ let correction = 0;
392
+ if (typeOrFeatureToken.startsWith('<=')) {
393
+ extremumOperator = '<=';
394
+ featureName = MAX_WIDTH;
395
+ }
396
+ else if (typeOrFeatureToken.startsWith('>=') || breakpoints[typeOrFeatureToken]) {
397
+ extremumOperator = '>=';
398
+ featureName = MIN_WIDTH;
399
+ }
400
+ else if (typeOrFeatureToken.startsWith('>')) {
401
+ extremumOperator = '>';
402
+ featureName = MIN_WIDTH;
403
+ correction = .02;
404
+ }
405
+ else if (typeOrFeatureToken.startsWith('<')) {
406
+ extremumOperator = '<';
407
+ featureName = MAX_WIDTH;
408
+ correction = -.02;
409
+ }
410
+ switch (featureName) {
411
+ case MAX_WIDTH:
412
+ case MIN_WIDTH:
413
+ const conditionUnitValueToken = extremumOperator
414
+ ? typeOrFeatureToken.replace(extremumOperator, '')
415
+ : typeOrFeatureToken;
416
+ const breakpoint = breakpoints[conditionUnitValueToken];
417
+ if (breakpoint) {
418
+ Object.assign(feature, parseValue(breakpoint, PX));
419
+ }
420
+ else {
421
+ Object.assign(feature, parseValue(conditionUnitValueToken, PX));
422
+ }
423
+ if (feature.unit === PX) {
424
+ feature.value += correction;
425
+ }
426
+ this.media.features[featureName] = feature;
427
+ queryTexts.push('(' + featureName + ':' + (feature.value + feature.unit) + ')');
428
+ break;
429
+ }
430
+ }
431
+ }
432
+ }
433
+ queryText = '';
434
+ if (this.media.type) {
435
+ queryText = this.media.type;
436
+ }
437
+ if (queryTexts.length) {
438
+ queryText += (queryText ? ' and ' : '') + queryTexts.join(' and ');
439
+ }
440
+ }
441
+ if (queryText) {
442
+ this.at[type] = (type in this.at
443
+ ? this.at[type] + ' and '
444
+ : '')
445
+ + queryText.replace(/\_/g, ' ');
446
+ }
447
+ }
448
+ }
449
+ }
450
+ // 6. order
451
+ if (this.order === undefined) {
452
+ // @ts-ignore
453
+ this.order = 0;
454
+ }
455
+ // 7. value
456
+ const insertNewNative = (themeName, bypassWhenUnmatchColor) => {
457
+ let newValue, newUnit;
458
+ const generateCssText = (propertiesText, themeName, suffixSelectors) => {
459
+ let prefixText = '';
460
+ if (this.direction) {
461
+ prefixText += '[dir=' + this.direction + '] ';
462
+ }
463
+ const prefixTexts = this.prefixSelectors.map(eachPrefixSelector => eachPrefixSelector + prefixText);
464
+ const getCssText = (themeName, name) => {
465
+ const prefixThemeText = (themeName ? '.' + themeName + ' ' : '');
466
+ const esacpedName = '.' + CSS.escape(name);
467
+ return prefixTexts
468
+ .map(eachPrefixText => prefixThemeText + eachPrefixText)
469
+ .reduce((arr, eachPrefixText) => {
470
+ arr.push(suffixSelectors
471
+ .reduce((_arr, eachSuffixSelector) => {
472
+ _arr.push(eachPrefixText + esacpedName + eachSuffixSelector);
473
+ return _arr;
474
+ }, [])
475
+ .join(','));
476
+ return arr;
477
+ }, [])
478
+ .join(',');
479
+ };
480
+ let cssText = getCssText(themeName, className)
481
+ + (relationThemesMap
482
+ ? Object
483
+ .entries(relationThemesMap)
484
+ .filter(([relationTheme]) => this.themeName || !colorful || !themeName || !relationTheme || relationTheme === themeName)
485
+ .map(([relationTheme, classNames]) => classNames.reduce((str, className) => str + ',' + getCssText(this.themeName ?? (colorful ? themeName || relationTheme : relationTheme), className), ''))
486
+ .join('')
487
+ : '')
488
+ + '{'
489
+ + propertiesText
490
+ + '}';
491
+ for (const key of Object.keys(this.at).sort((a, b) => b === 'supports' ? -1 : 1)) {
492
+ cssText = '@' + key + ' ' + this.at[key] + '{' + cssText + '}';
493
+ }
494
+ return cssText;
495
+ };
496
+ const newValueTokens = [];
497
+ if (valueTokens) {
498
+ let uv, anyColorMatched = undefined;
499
+ for (const eachValueToken of valueTokens) {
500
+ if (typeof eachValueToken === 'string') {
501
+ newValueTokens.push(eachValueToken);
502
+ }
503
+ else {
504
+ uv = parseValue(eachValueToken.value, unit, colorful && colorsThemesMap, values, rootSize, this.themeName ? [this.themeName, ''] : [themeName]);
505
+ if (uv.colorMatched !== undefined && anyColorMatched !== true) {
506
+ anyColorMatched = uv.colorMatched;
507
+ }
508
+ newValueTokens.push(uv.value + uv.unit);
509
+ }
510
+ }
511
+ if (bypassWhenUnmatchColor && (anyColorMatched === undefined ? themeName : !anyColorMatched))
512
+ return;
513
+ if (newValueTokens.length === 1) {
514
+ if (uv) {
515
+ newValue = uv.value;
516
+ newUnit = uv.unit;
517
+ }
518
+ else {
519
+ newValue = newValueTokens[0];
520
+ }
521
+ }
522
+ else {
523
+ newValue = newValueTokens.reduce((previousVal, currentVal, i) => previousVal + currentVal + ((currentVal === ',' || valueTokens[i + 1] === ',' || i === valueTokens.length - 1) ? '' : ' '), '');
524
+ }
525
+ if (typeof newValue !== 'object') {
526
+ // 8. parseValue
527
+ if (this.parseValue) {
528
+ newValue = this.parseValue(newValue, this.css.config);
529
+ }
530
+ // 9. transform value
531
+ if (colorful && newValue === 'current') {
532
+ newValue = 'currentColor';
533
+ }
534
+ else if (values && newValue in values) {
535
+ newValue = values[newValue].toString();
536
+ }
537
+ const declaration = { unit: newUnit, value: newValue, important: this.important };
538
+ if (this.getThemeProps) {
539
+ const themeProps = this.getThemeProps(declaration, css);
540
+ for (const themeName in themeProps) {
541
+ for (const suffixSelectors of Object.values(this.vendorSuffixSelectors)) {
542
+ this.natives.push({
543
+ unit: newUnit,
544
+ value: newValue,
545
+ text: generateCssText(Object
546
+ .entries(themeProps[themeName])
547
+ .map(([propertyName, propertyValue]) => getCssPropertyText(propertyName, {
548
+ important: this.important,
549
+ unit: '',
550
+ value: propertyValue
551
+ }))
552
+ .join(';'), themeName, suffixSelectors),
553
+ themeName
554
+ });
555
+ }
556
+ }
557
+ return;
558
+ }
559
+ else if (this.get) {
560
+ newValue = this.get(declaration);
561
+ }
562
+ }
563
+ }
564
+ else {
565
+ newValue = value;
566
+ }
567
+ for (const suffixSelectors of Object.values(this.vendorSuffixSelectors)) {
568
+ this.natives.push({
569
+ unit: newUnit,
570
+ value: newValue,
571
+ text: generateCssText(typeof newValue === 'object'
572
+ ? Object
573
+ .entries(newValue)
574
+ .map(([propertyName, propertyValue]) => getCssPropertyText(propertyName, {
575
+ ...(typeof propertyValue === 'object'
576
+ ? propertyValue
577
+ : { unit: '', value: propertyValue }),
578
+ important: this.important
579
+ }))
580
+ .join(';')
581
+ : getCssPropertyText(propName, { unit: newUnit, value: newValue, important: this.important }), themeName, suffixSelectors),
582
+ themeName
583
+ });
584
+ }
585
+ };
586
+ if (this.getThemeProps) {
587
+ insertNewNative(undefined, false);
588
+ }
589
+ else if (this.themeName) {
590
+ insertNewNative(this.themeName, false);
591
+ }
592
+ else if (colorful) {
593
+ for (const eachThemeName of themeNames) {
594
+ insertNewNative(eachThemeName, true);
595
+ }
596
+ }
597
+ else {
598
+ insertNewNative('', false);
599
+ }
600
+ }
601
+ }
602
+ if (typeof window !== 'undefined') {
603
+ window.MasterCSSRule = MasterCSSRule;
604
+ }
@@ -0,0 +1,7 @@
1
+ import { MasterCSSRule } from '../rule';
2
+ export default class extends MasterCSSRule {
3
+ static id: string;
4
+ static propName: string;
5
+ static colorStarts: string;
6
+ static colorful: boolean;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { MasterCSSRule } from '../rule';
2
+ export default class default_1 extends MasterCSSRule {
3
+ static id = 'AccentColor';
4
+ static propName = 'accent-color';
5
+ static colorStarts = 'accent:';
6
+ static colorful = true;
7
+ }
@@ -0,0 +1,6 @@
1
+ import { MasterCSSRule } from '../rule';
2
+ export default class extends MasterCSSRule {
3
+ static id: string;
4
+ static matches: RegExp;
5
+ static propName: string;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { MasterCSSRule } from '../rule';
2
+ export default class default_1 extends MasterCSSRule {
3
+ static id = 'AlignContent';
4
+ static matches = /^ac:./;
5
+ static propName = 'align-content';
6
+ }
@@ -0,0 +1,6 @@
1
+ import { MasterCSSRule } from '../rule';
2
+ export default class extends MasterCSSRule {
3
+ static id: string;
4
+ static matches: RegExp;
5
+ static propName: string;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { MasterCSSRule } from '../rule';
2
+ export default class default_1 extends MasterCSSRule {
3
+ static id = 'AlignItems';
4
+ static matches = /^ai:./;
5
+ static propName = 'align-items';
6
+ }
@@ -0,0 +1,6 @@
1
+ import { MasterCSSRule } from '../rule';
2
+ export default class extends MasterCSSRule {
3
+ static id: string;
4
+ static matches: RegExp;
5
+ static propName: string;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { MasterCSSRule } from '../rule';
2
+ export default class default_1 extends MasterCSSRule {
3
+ static id = 'AlignSelf';
4
+ static matches = /^as:./;
5
+ static propName = 'align-self';
6
+ }
@@ -0,0 +1,7 @@
1
+ import { MasterCSSRule } from '../rule';
2
+ export default class extends MasterCSSRule {
3
+ static id: string;
4
+ static matches: RegExp;
5
+ static propName: string;
6
+ static unit: string;
7
+ }