@calame/core 0.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 (377) hide show
  1. package/dist/__css.d.ts +9 -0
  2. package/dist/__css.d.ts.map +1 -0
  3. package/dist/__css.js +34 -0
  4. package/dist/__css.js.map +1 -0
  5. package/dist/__resetCSS.d.ts +6 -0
  6. package/dist/__resetCSS.d.ts.map +1 -0
  7. package/dist/__resetCSS.js +16 -0
  8. package/dist/__resetCSS.js.map +1 -0
  9. package/dist/__resetStyles.d.ts +7 -0
  10. package/dist/__resetStyles.d.ts.map +1 -0
  11. package/dist/__resetStyles.js +19 -0
  12. package/dist/__resetStyles.js.map +1 -0
  13. package/dist/__staticCSS.d.ts +7 -0
  14. package/dist/__staticCSS.d.ts.map +1 -0
  15. package/dist/__staticCSS.js +11 -0
  16. package/dist/__staticCSS.js.map +1 -0
  17. package/dist/__staticStyles.d.ts +9 -0
  18. package/dist/__staticStyles.d.ts.map +1 -0
  19. package/dist/__staticStyles.js +14 -0
  20. package/dist/__staticStyles.js.map +1 -0
  21. package/dist/__styles.d.ts +9 -0
  22. package/dist/__styles.d.ts.map +1 -0
  23. package/dist/__styles.js +41 -0
  24. package/dist/__styles.js.map +1 -0
  25. package/dist/constants.d.ts +37 -0
  26. package/dist/constants.d.ts.map +1 -0
  27. package/dist/constants.js +65 -0
  28. package/dist/constants.js.map +1 -0
  29. package/dist/devtools/getAtomicDebugSequenceTree.d.ts +4 -0
  30. package/dist/devtools/getAtomicDebugSequenceTree.d.ts.map +1 -0
  31. package/dist/devtools/getAtomicDebugSequenceTree.js +43 -0
  32. package/dist/devtools/getAtomicDebugSequenceTree.js.map +1 -0
  33. package/dist/devtools/getResetDebugSequence.d.ts +4 -0
  34. package/dist/devtools/getResetDebugSequence.d.ts.map +1 -0
  35. package/dist/devtools/getResetDebugSequence.js +24 -0
  36. package/dist/devtools/getResetDebugSequence.js.map +1 -0
  37. package/dist/devtools/getSourceURLfromError.d.ts +2 -0
  38. package/dist/devtools/getSourceURLfromError.d.ts.map +1 -0
  39. package/dist/devtools/getSourceURLfromError.js +24 -0
  40. package/dist/devtools/getSourceURLfromError.js.map +1 -0
  41. package/dist/devtools/index.d.ts +6 -0
  42. package/dist/devtools/index.d.ts.map +1 -0
  43. package/dist/devtools/index.js +5 -0
  44. package/dist/devtools/index.js.map +1 -0
  45. package/dist/devtools/injectDevTools.d.ts +2 -0
  46. package/dist/devtools/injectDevTools.d.ts.map +1 -0
  47. package/dist/devtools/injectDevTools.js +31 -0
  48. package/dist/devtools/injectDevTools.js.map +1 -0
  49. package/dist/devtools/isDevToolsEnabled.d.ts +2 -0
  50. package/dist/devtools/isDevToolsEnabled.d.ts.map +1 -0
  51. package/dist/devtools/isDevToolsEnabled.js +12 -0
  52. package/dist/devtools/isDevToolsEnabled.js.map +1 -0
  53. package/dist/devtools/mergeDebugSequence.d.ts +3 -0
  54. package/dist/devtools/mergeDebugSequence.d.ts.map +1 -0
  55. package/dist/devtools/mergeDebugSequence.js +23 -0
  56. package/dist/devtools/mergeDebugSequence.js.map +1 -0
  57. package/dist/devtools/react-render-tracker/stackTrace.d.ts +7 -0
  58. package/dist/devtools/react-render-tracker/stackTrace.d.ts.map +1 -0
  59. package/dist/devtools/react-render-tracker/stackTrace.js +60 -0
  60. package/dist/devtools/react-render-tracker/stackTrace.js.map +1 -0
  61. package/dist/devtools/store.d.ts +14 -0
  62. package/dist/devtools/store.d.ts.map +1 -0
  63. package/dist/devtools/store.js +32 -0
  64. package/dist/devtools/store.js.map +1 -0
  65. package/dist/devtools/types.d.ts +24 -0
  66. package/dist/devtools/types.d.ts.map +1 -0
  67. package/dist/devtools/types.js +2 -0
  68. package/dist/devtools/types.js.map +1 -0
  69. package/dist/devtools/utils.d.ts +4 -0
  70. package/dist/devtools/utils.d.ts.map +1 -0
  71. package/dist/devtools/utils.js +45 -0
  72. package/dist/devtools/utils.js.map +1 -0
  73. package/dist/index.d.ts +56 -0
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/index.js +53 -0
  76. package/dist/index.js.map +1 -0
  77. package/dist/insertionFactory.d.ts +9 -0
  78. package/dist/insertionFactory.d.ts.map +1 -0
  79. package/dist/insertionFactory.js +16 -0
  80. package/dist/insertionFactory.js.map +1 -0
  81. package/dist/makeResetStyles.d.ts +8 -0
  82. package/dist/makeResetStyles.d.ts.map +1 -0
  83. package/dist/makeResetStyles.js +38 -0
  84. package/dist/makeResetStyles.js.map +1 -0
  85. package/dist/makeStaticStyles.d.ts +8 -0
  86. package/dist/makeStaticStyles.d.ts.map +1 -0
  87. package/dist/makeStaticStyles.js +13 -0
  88. package/dist/makeStaticStyles.js.map +1 -0
  89. package/dist/makeStyles.d.ts +8 -0
  90. package/dist/makeStyles.d.ts.map +1 -0
  91. package/dist/makeStyles.js +57 -0
  92. package/dist/makeStyles.js.map +1 -0
  93. package/dist/mergeClasses.d.ts +20 -0
  94. package/dist/mergeClasses.d.ts.map +1 -0
  95. package/dist/mergeClasses.js +110 -0
  96. package/dist/mergeClasses.js.map +1 -0
  97. package/dist/renderer/createDOMRenderer.d.ts +44 -0
  98. package/dist/renderer/createDOMRenderer.d.ts.map +1 -0
  99. package/dist/renderer/createDOMRenderer.js +54 -0
  100. package/dist/renderer/createDOMRenderer.js.map +1 -0
  101. package/dist/renderer/createIsomorphicStyleSheet.d.ts +4 -0
  102. package/dist/renderer/createIsomorphicStyleSheet.d.ts.map +1 -0
  103. package/dist/renderer/createIsomorphicStyleSheet.js +39 -0
  104. package/dist/renderer/createIsomorphicStyleSheet.js.map +1 -0
  105. package/dist/renderer/getStyleSheetForBucket.d.ts +14 -0
  106. package/dist/renderer/getStyleSheetForBucket.d.ts.map +1 -0
  107. package/dist/renderer/getStyleSheetForBucket.js +129 -0
  108. package/dist/renderer/getStyleSheetForBucket.js.map +1 -0
  109. package/dist/renderer/rehydrateRendererCache.d.ts +9 -0
  110. package/dist/renderer/rehydrateRendererCache.d.ts.map +1 -0
  111. package/dist/renderer/rehydrateRendererCache.js +43 -0
  112. package/dist/renderer/rehydrateRendererCache.js.map +1 -0
  113. package/dist/renderer/safeInsertRule.d.ts +9 -0
  114. package/dist/renderer/safeInsertRule.d.ts.map +1 -0
  115. package/dist/renderer/safeInsertRule.js +30 -0
  116. package/dist/renderer/safeInsertRule.js.map +1 -0
  117. package/dist/resolveStyleRulesForSlots.d.ts +11 -0
  118. package/dist/resolveStyleRulesForSlots.d.ts.map +1 -0
  119. package/dist/resolveStyleRulesForSlots.js +24 -0
  120. package/dist/resolveStyleRulesForSlots.js.map +1 -0
  121. package/dist/runtime/compileAtomicCSSRule.d.ts +22 -0
  122. package/dist/runtime/compileAtomicCSSRule.d.ts.map +1 -0
  123. package/dist/runtime/compileAtomicCSSRule.js +59 -0
  124. package/dist/runtime/compileAtomicCSSRule.js.map +1 -0
  125. package/dist/runtime/compileCSSRules.d.ts +2 -0
  126. package/dist/runtime/compileCSSRules.d.ts.map +1 -0
  127. package/dist/runtime/compileCSSRules.js +21 -0
  128. package/dist/runtime/compileCSSRules.js.map +1 -0
  129. package/dist/runtime/compileKeyframeCSS.d.ts +7 -0
  130. package/dist/runtime/compileKeyframeCSS.d.ts.map +1 -0
  131. package/dist/runtime/compileKeyframeCSS.js +28 -0
  132. package/dist/runtime/compileKeyframeCSS.js.map +1 -0
  133. package/dist/runtime/compileResetCSSRules.d.ts +2 -0
  134. package/dist/runtime/compileResetCSSRules.d.ts.map +1 -0
  135. package/dist/runtime/compileResetCSSRules.js +26 -0
  136. package/dist/runtime/compileResetCSSRules.js.map +1 -0
  137. package/dist/runtime/compileStaticCSS.d.ts +3 -0
  138. package/dist/runtime/compileStaticCSS.d.ts.map +1 -0
  139. package/dist/runtime/compileStaticCSS.js +7 -0
  140. package/dist/runtime/compileStaticCSS.js.map +1 -0
  141. package/dist/runtime/getStyleBucketName.d.ts +23 -0
  142. package/dist/runtime/getStyleBucketName.d.ts.map +1 -0
  143. package/dist/runtime/getStyleBucketName.js +68 -0
  144. package/dist/runtime/getStyleBucketName.js.map +1 -0
  145. package/dist/runtime/reduceToClassNameForSlots.d.ts +15 -0
  146. package/dist/runtime/reduceToClassNameForSlots.d.ts.map +1 -0
  147. package/dist/runtime/reduceToClassNameForSlots.js +54 -0
  148. package/dist/runtime/reduceToClassNameForSlots.js.map +1 -0
  149. package/dist/runtime/resolveResetStyleRules.d.ts +7 -0
  150. package/dist/runtime/resolveResetStyleRules.d.ts.map +1 -0
  151. package/dist/runtime/resolveResetStyleRules.js +116 -0
  152. package/dist/runtime/resolveResetStyleRules.js.map +1 -0
  153. package/dist/runtime/resolveStaticStyleRules.d.ts +4 -0
  154. package/dist/runtime/resolveStaticStyleRules.d.ts.map +1 -0
  155. package/dist/runtime/resolveStaticStyleRules.js +21 -0
  156. package/dist/runtime/resolveStaticStyleRules.js.map +1 -0
  157. package/dist/runtime/resolveStyleRules.d.ts +10 -0
  158. package/dist/runtime/resolveStyleRules.d.ts.map +1 -0
  159. package/dist/runtime/resolveStyleRules.js +247 -0
  160. package/dist/runtime/resolveStyleRules.js.map +1 -0
  161. package/dist/runtime/shorthands.d.ts +6 -0
  162. package/dist/runtime/shorthands.d.ts.map +1 -0
  163. package/dist/runtime/shorthands.js +141 -0
  164. package/dist/runtime/shorthands.js.map +1 -0
  165. package/dist/runtime/stylis/globalPlugin.d.ts +3 -0
  166. package/dist/runtime/stylis/globalPlugin.d.ts.map +1 -0
  167. package/dist/runtime/stylis/globalPlugin.js +39 -0
  168. package/dist/runtime/stylis/globalPlugin.js.map +1 -0
  169. package/dist/runtime/stylis/isAtRuleElement.d.ts +3 -0
  170. package/dist/runtime/stylis/isAtRuleElement.d.ts.map +1 -0
  171. package/dist/runtime/stylis/isAtRuleElement.js +12 -0
  172. package/dist/runtime/stylis/isAtRuleElement.js.map +1 -0
  173. package/dist/runtime/stylis/prefixerPlugin.d.ts +10 -0
  174. package/dist/runtime/stylis/prefixerPlugin.d.ts.map +1 -0
  175. package/dist/runtime/stylis/prefixerPlugin.js +134 -0
  176. package/dist/runtime/stylis/prefixerPlugin.js.map +1 -0
  177. package/dist/runtime/stylis/rulesheetPlugin.d.ts +7 -0
  178. package/dist/runtime/stylis/rulesheetPlugin.d.ts.map +1 -0
  179. package/dist/runtime/stylis/rulesheetPlugin.js +13 -0
  180. package/dist/runtime/stylis/rulesheetPlugin.js.map +1 -0
  181. package/dist/runtime/stylis/sortClassesInAtRulesPlugin.d.ts +3 -0
  182. package/dist/runtime/stylis/sortClassesInAtRulesPlugin.d.ts.map +1 -0
  183. package/dist/runtime/stylis/sortClassesInAtRulesPlugin.js +7 -0
  184. package/dist/runtime/stylis/sortClassesInAtRulesPlugin.js.map +1 -0
  185. package/dist/runtime/utils/cssifyObject.d.ts +3 -0
  186. package/dist/runtime/utils/cssifyObject.d.ts.map +1 -0
  187. package/dist/runtime/utils/cssifyObject.js +19 -0
  188. package/dist/runtime/utils/cssifyObject.js.map +1 -0
  189. package/dist/runtime/utils/generateCombinedMediaQuery.d.ts +2 -0
  190. package/dist/runtime/utils/generateCombinedMediaQuery.d.ts.map +1 -0
  191. package/dist/runtime/utils/generateCombinedMediaQuery.js +7 -0
  192. package/dist/runtime/utils/generateCombinedMediaQuery.js.map +1 -0
  193. package/dist/runtime/utils/hashClassName.d.ts +10 -0
  194. package/dist/runtime/utils/hashClassName.d.ts.map +1 -0
  195. package/dist/runtime/utils/hashClassName.js +13 -0
  196. package/dist/runtime/utils/hashClassName.js.map +1 -0
  197. package/dist/runtime/utils/hashPropertyKey.d.ts +5 -0
  198. package/dist/runtime/utils/hashPropertyKey.d.ts.map +1 -0
  199. package/dist/runtime/utils/hashPropertyKey.js +30 -0
  200. package/dist/runtime/utils/hashPropertyKey.js.map +1 -0
  201. package/dist/runtime/utils/hashSequence.d.ts +3 -0
  202. package/dist/runtime/utils/hashSequence.d.ts.map +1 -0
  203. package/dist/runtime/utils/hashSequence.js +22 -0
  204. package/dist/runtime/utils/hashSequence.js.map +1 -0
  205. package/dist/runtime/utils/hyphenateProperty.d.ts +2 -0
  206. package/dist/runtime/utils/hyphenateProperty.d.ts.map +1 -0
  207. package/dist/runtime/utils/hyphenateProperty.js +17 -0
  208. package/dist/runtime/utils/hyphenateProperty.js.map +1 -0
  209. package/dist/runtime/utils/isContainerQuerySelector.d.ts +2 -0
  210. package/dist/runtime/utils/isContainerQuerySelector.d.ts.map +1 -0
  211. package/dist/runtime/utils/isContainerQuerySelector.js +4 -0
  212. package/dist/runtime/utils/isContainerQuerySelector.js.map +1 -0
  213. package/dist/runtime/utils/isLayerSelector.d.ts +2 -0
  214. package/dist/runtime/utils/isLayerSelector.d.ts.map +1 -0
  215. package/dist/runtime/utils/isLayerSelector.js +4 -0
  216. package/dist/runtime/utils/isLayerSelector.js.map +1 -0
  217. package/dist/runtime/utils/isMediaQuerySelector.d.ts +2 -0
  218. package/dist/runtime/utils/isMediaQuerySelector.d.ts.map +1 -0
  219. package/dist/runtime/utils/isMediaQuerySelector.js +4 -0
  220. package/dist/runtime/utils/isMediaQuerySelector.js.map +1 -0
  221. package/dist/runtime/utils/isNestedSelector.d.ts +2 -0
  222. package/dist/runtime/utils/isNestedSelector.d.ts.map +1 -0
  223. package/dist/runtime/utils/isNestedSelector.js +5 -0
  224. package/dist/runtime/utils/isNestedSelector.js.map +1 -0
  225. package/dist/runtime/utils/isObject.d.ts +2 -0
  226. package/dist/runtime/utils/isObject.d.ts.map +1 -0
  227. package/dist/runtime/utils/isObject.js +5 -0
  228. package/dist/runtime/utils/isObject.js.map +1 -0
  229. package/dist/runtime/utils/isResetValue.d.ts +2 -0
  230. package/dist/runtime/utils/isResetValue.d.ts.map +1 -0
  231. package/dist/runtime/utils/isResetValue.js +5 -0
  232. package/dist/runtime/utils/isResetValue.js.map +1 -0
  233. package/dist/runtime/utils/isSupportQuerySelector.d.ts +2 -0
  234. package/dist/runtime/utils/isSupportQuerySelector.d.ts.map +1 -0
  235. package/dist/runtime/utils/isSupportQuerySelector.js +4 -0
  236. package/dist/runtime/utils/isSupportQuerySelector.js.map +1 -0
  237. package/dist/runtime/utils/normalizeCSSBucketEntry.d.ts +9 -0
  238. package/dist/runtime/utils/normalizeCSSBucketEntry.d.ts.map +1 -0
  239. package/dist/runtime/utils/normalizeCSSBucketEntry.js +16 -0
  240. package/dist/runtime/utils/normalizeCSSBucketEntry.js.map +1 -0
  241. package/dist/runtime/utils/normalizeNestedProperty.d.ts +2 -0
  242. package/dist/runtime/utils/normalizeNestedProperty.d.ts.map +1 -0
  243. package/dist/runtime/utils/normalizeNestedProperty.js +7 -0
  244. package/dist/runtime/utils/normalizeNestedProperty.js.map +1 -0
  245. package/dist/runtime/utils/trimSelector.d.ts +5 -0
  246. package/dist/runtime/utils/trimSelector.d.ts.map +1 -0
  247. package/dist/runtime/utils/trimSelector.js +7 -0
  248. package/dist/runtime/utils/trimSelector.js.map +1 -0
  249. package/dist/runtime/utils/types.d.ts +7 -0
  250. package/dist/runtime/utils/types.d.ts.map +1 -0
  251. package/dist/runtime/utils/types.js +2 -0
  252. package/dist/runtime/utils/types.js.map +1 -0
  253. package/dist/runtime/warnings/logError.d.ts +2 -0
  254. package/dist/runtime/warnings/logError.d.ts.map +1 -0
  255. package/dist/runtime/warnings/logError.js +6 -0
  256. package/dist/runtime/warnings/logError.js.map +1 -0
  257. package/dist/runtime/warnings/warnAboutUnresolvedRule.d.ts +3 -0
  258. package/dist/runtime/warnings/warnAboutUnresolvedRule.d.ts.map +1 -0
  259. package/dist/runtime/warnings/warnAboutUnresolvedRule.js +31 -0
  260. package/dist/runtime/warnings/warnAboutUnresolvedRule.js.map +1 -0
  261. package/dist/runtime/warnings/warnAboutUnsupportedProperties.d.ts +3 -0
  262. package/dist/runtime/warnings/warnAboutUnsupportedProperties.d.ts.map +1 -0
  263. package/dist/runtime/warnings/warnAboutUnsupportedProperties.js +14 -0
  264. package/dist/runtime/warnings/warnAboutUnsupportedProperties.js.map +1 -0
  265. package/dist/shorthands/border.d.ts +11 -0
  266. package/dist/shorthands/border.d.ts.map +1 -0
  267. package/dist/shorthands/border.js +34 -0
  268. package/dist/shorthands/border.js.map +1 -0
  269. package/dist/shorthands/borderBottom.d.ts +17 -0
  270. package/dist/shorthands/borderBottom.d.ts.map +1 -0
  271. package/dist/shorthands/borderBottom.js +31 -0
  272. package/dist/shorthands/borderBottom.js.map +1 -0
  273. package/dist/shorthands/borderColor.d.ts +9 -0
  274. package/dist/shorthands/borderColor.d.ts.map +1 -0
  275. package/dist/shorthands/borderColor.js +16 -0
  276. package/dist/shorthands/borderColor.js.map +1 -0
  277. package/dist/shorthands/borderLeft.d.ts +17 -0
  278. package/dist/shorthands/borderLeft.d.ts.map +1 -0
  279. package/dist/shorthands/borderLeft.js +31 -0
  280. package/dist/shorthands/borderLeft.js.map +1 -0
  281. package/dist/shorthands/borderRadius.d.ts +20 -0
  282. package/dist/shorthands/borderRadius.d.ts.map +1 -0
  283. package/dist/shorthands/borderRadius.js +23 -0
  284. package/dist/shorthands/borderRadius.js.map +1 -0
  285. package/dist/shorthands/borderRight.d.ts +17 -0
  286. package/dist/shorthands/borderRight.d.ts.map +1 -0
  287. package/dist/shorthands/borderRight.js +31 -0
  288. package/dist/shorthands/borderRight.js.map +1 -0
  289. package/dist/shorthands/borderStyle.d.ts +9 -0
  290. package/dist/shorthands/borderStyle.d.ts.map +1 -0
  291. package/dist/shorthands/borderStyle.js +16 -0
  292. package/dist/shorthands/borderStyle.js.map +1 -0
  293. package/dist/shorthands/borderTop.d.ts +17 -0
  294. package/dist/shorthands/borderTop.d.ts.map +1 -0
  295. package/dist/shorthands/borderTop.js +31 -0
  296. package/dist/shorthands/borderTop.js.map +1 -0
  297. package/dist/shorthands/borderWidth.d.ts +9 -0
  298. package/dist/shorthands/borderWidth.d.ts.map +1 -0
  299. package/dist/shorthands/borderWidth.js +16 -0
  300. package/dist/shorthands/borderWidth.js.map +1 -0
  301. package/dist/shorthands/flex.d.ts +18 -0
  302. package/dist/shorthands/flex.d.ts.map +1 -0
  303. package/dist/shorthands/flex.js +95 -0
  304. package/dist/shorthands/flex.js.map +1 -0
  305. package/dist/shorthands/gap.d.ts +17 -0
  306. package/dist/shorthands/gap.d.ts.map +1 -0
  307. package/dist/shorthands/gap.js +18 -0
  308. package/dist/shorthands/gap.js.map +1 -0
  309. package/dist/shorthands/generateStyles.d.ts +5 -0
  310. package/dist/shorthands/generateStyles.d.ts.map +1 -0
  311. package/dist/shorthands/generateStyles.js +14 -0
  312. package/dist/shorthands/generateStyles.js.map +1 -0
  313. package/dist/shorthands/gridArea.d.ts +14 -0
  314. package/dist/shorthands/gridArea.d.ts.map +1 -0
  315. package/dist/shorthands/gridArea.js +60 -0
  316. package/dist/shorthands/gridArea.js.map +1 -0
  317. package/dist/shorthands/index.d.ts +24 -0
  318. package/dist/shorthands/index.d.ts.map +1 -0
  319. package/dist/shorthands/index.js +24 -0
  320. package/dist/shorthands/index.js.map +1 -0
  321. package/dist/shorthands/inset.d.ts +13 -0
  322. package/dist/shorthands/inset.d.ts.map +1 -0
  323. package/dist/shorthands/inset.js +23 -0
  324. package/dist/shorthands/inset.js.map +1 -0
  325. package/dist/shorthands/margin.d.ts +13 -0
  326. package/dist/shorthands/margin.d.ts.map +1 -0
  327. package/dist/shorthands/margin.js +18 -0
  328. package/dist/shorthands/margin.js.map +1 -0
  329. package/dist/shorthands/marginBlock.d.ts +17 -0
  330. package/dist/shorthands/marginBlock.d.ts.map +1 -0
  331. package/dist/shorthands/marginBlock.js +18 -0
  332. package/dist/shorthands/marginBlock.js.map +1 -0
  333. package/dist/shorthands/marginInline.d.ts +17 -0
  334. package/dist/shorthands/marginInline.d.ts.map +1 -0
  335. package/dist/shorthands/marginInline.js +18 -0
  336. package/dist/shorthands/marginInline.js.map +1 -0
  337. package/dist/shorthands/outline.d.ts +11 -0
  338. package/dist/shorthands/outline.d.ts.map +1 -0
  339. package/dist/shorthands/outline.js +20 -0
  340. package/dist/shorthands/outline.js.map +1 -0
  341. package/dist/shorthands/overflow.d.ts +17 -0
  342. package/dist/shorthands/overflow.d.ts.map +1 -0
  343. package/dist/shorthands/overflow.js +18 -0
  344. package/dist/shorthands/overflow.js.map +1 -0
  345. package/dist/shorthands/padding.d.ts +13 -0
  346. package/dist/shorthands/padding.d.ts.map +1 -0
  347. package/dist/shorthands/padding.js +18 -0
  348. package/dist/shorthands/padding.js.map +1 -0
  349. package/dist/shorthands/paddingBlock.d.ts +17 -0
  350. package/dist/shorthands/paddingBlock.d.ts.map +1 -0
  351. package/dist/shorthands/paddingBlock.js +18 -0
  352. package/dist/shorthands/paddingBlock.js.map +1 -0
  353. package/dist/shorthands/paddingInline.d.ts +17 -0
  354. package/dist/shorthands/paddingInline.d.ts.map +1 -0
  355. package/dist/shorthands/paddingInline.js +18 -0
  356. package/dist/shorthands/paddingInline.js.map +1 -0
  357. package/dist/shorthands/textDecoration.d.ts +15 -0
  358. package/dist/shorthands/textDecoration.d.ts.map +1 -0
  359. package/dist/shorthands/textDecoration.js +31 -0
  360. package/dist/shorthands/textDecoration.js.map +1 -0
  361. package/dist/shorthands/transition.d.ts +23 -0
  362. package/dist/shorthands/transition.d.ts.map +1 -0
  363. package/dist/shorthands/transition.js +54 -0
  364. package/dist/shorthands/transition.js.map +1 -0
  365. package/dist/shorthands/types.d.ts +30 -0
  366. package/dist/shorthands/types.d.ts.map +1 -0
  367. package/dist/shorthands/types.js +2 -0
  368. package/dist/shorthands/types.js.map +1 -0
  369. package/dist/shorthands/utils.d.ts +4 -0
  370. package/dist/shorthands/utils.d.ts.map +1 -0
  371. package/dist/shorthands/utils.js +16 -0
  372. package/dist/shorthands/utils.js.map +1 -0
  373. package/dist/types.d.ts +77 -0
  374. package/dist/types.d.ts.map +1 -0
  375. package/dist/types.js +2 -0
  376. package/dist/types.js.map +1 -0
  377. package/package.json +24 -0
@@ -0,0 +1,110 @@
1
+ import { DEBUG_RESET_CLASSES, DEFINITION_LOOKUP_TABLE, LOOKUP_DEFINITIONS_INDEX, LOOKUP_DIR_INDEX, RESET_HASH_PREFIX, SEQUENCE_PREFIX, SEQUENCE_SIZE, } from './constants';
2
+ import { hashSequence } from './runtime/utils/hashSequence';
3
+ import { reduceToClassName } from './runtime/reduceToClassNameForSlots';
4
+ // Contains a mapping of previously resolved sequences of atomic classnames
5
+ export const mergeClassesCachedResults = {};
6
+ export function mergeClasses() {
7
+ // arguments are parsed manually to avoid double loops as TS & Babel transforms rest via an additional loop
8
+ // @see https://babeljs.io/docs/en/babel-plugin-transform-parameters
9
+ /* eslint-disable prefer-rest-params */
10
+ let dir = null;
11
+ let resultClassName = '';
12
+ // Is used as a cache key to avoid object merging
13
+ let sequenceMatch = '';
14
+ const sequencesIds = new Array(arguments.length);
15
+ let containsResetClassName = '';
16
+ for (let i = 0; i < arguments.length; i++) {
17
+ const className = arguments[i];
18
+ if (typeof className === 'string' && className !== '') {
19
+ // All classes generated by `makeStyles()` are prefixed by a sequence hash, this allows to identify class sets
20
+ // without parsing each className in a string
21
+ const sequenceIndex = className.indexOf(SEQUENCE_PREFIX);
22
+ if (sequenceIndex === -1) {
23
+ if (process.env.NODE_ENV !== 'production') {
24
+ className.split(' ').forEach(entry => {
25
+ if (entry.startsWith(RESET_HASH_PREFIX) && DEBUG_RESET_CLASSES[entry]) {
26
+ if (containsResetClassName) {
27
+ // eslint-disable-next-line no-console
28
+ console.error('mergeClasses(): a passed string contains multiple classes produced by makeResetStyles (' +
29
+ `${className} & ${resultClassName}, this will lead to non-deterministic behavior. Learn more:` +
30
+ 'https://calame.js.org/react/api/make-reset-styles#limitations' +
31
+ '\n' +
32
+ `Source string: ${className}`);
33
+ }
34
+ else {
35
+ containsResetClassName = entry;
36
+ }
37
+ }
38
+ });
39
+ }
40
+ resultClassName += className + ' ';
41
+ }
42
+ else {
43
+ const sequenceId = className.substr(sequenceIndex, SEQUENCE_SIZE);
44
+ // Handles a case with mixed classnames, i.e. "ui-button ATOMIC_CLASSES"
45
+ if (sequenceIndex > 0) {
46
+ resultClassName += className.slice(0, sequenceIndex);
47
+ }
48
+ sequenceMatch += sequenceId;
49
+ sequencesIds[i] = sequenceId;
50
+ }
51
+ if (process.env.NODE_ENV !== 'production') {
52
+ if (className.indexOf(SEQUENCE_PREFIX, sequenceIndex + 1) !== -1) {
53
+ // eslint-disable-next-line no-console
54
+ console.error('mergeClasses(): a passed string contains multiple identifiers of atomic classes (classes that start ' +
55
+ `with "${SEQUENCE_PREFIX}"), it's possible that passed classes were concatenated in a wrong way. ` +
56
+ `Source string: ${className}`);
57
+ }
58
+ }
59
+ }
60
+ }
61
+ // .slice() there allows to avoid trailing space for non-atomic classes
62
+ // "ui-button ui-flex " => "ui-button ui-flex"
63
+ if (sequenceMatch === '') {
64
+ return resultClassName.slice(0, -1);
65
+ }
66
+ // It's safe to reuse results to avoid continuous merging as results are stable
67
+ // "__seq1 ... __seq2 ..." => "__seq12 ..."
68
+ const mergeClassesResult = mergeClassesCachedResults[sequenceMatch];
69
+ if (mergeClassesResult !== undefined) {
70
+ return resultClassName + mergeClassesResult;
71
+ }
72
+ const sequenceMappings = [];
73
+ for (let i = 0; i < arguments.length; i++) {
74
+ const sequenceId = sequencesIds[i];
75
+ if (sequenceId) {
76
+ const sequenceMapping = DEFINITION_LOOKUP_TABLE[sequenceId];
77
+ if (sequenceMapping) {
78
+ sequenceMappings.push(sequenceMapping[LOOKUP_DEFINITIONS_INDEX]);
79
+ if (process.env.NODE_ENV !== 'production') {
80
+ if (dir !== null && dir !== sequenceMapping[LOOKUP_DIR_INDEX]) {
81
+ // eslint-disable-next-line no-console
82
+ console.error(`mergeClasses(): a passed string contains an identifier (${sequenceId}) that has different direction ` +
83
+ `(dir="${sequenceMapping[1] ? 'rtl' : 'ltr'}") setting than other classes. This is not supported. ` +
84
+ `Source string: ${arguments[i]}`);
85
+ }
86
+ }
87
+ dir = sequenceMapping[LOOKUP_DIR_INDEX];
88
+ }
89
+ else {
90
+ if (process.env.NODE_ENV !== 'production') {
91
+ // eslint-disable-next-line no-console
92
+ console.error(`mergeClasses(): a passed string contains an identifier (${sequenceId}) that does not match any entry ` +
93
+ `in cache. Source string: ${arguments[i]}`);
94
+ }
95
+ }
96
+ }
97
+ }
98
+ // eslint-disable-next-line prefer-spread
99
+ const resultClassesMap = Object.assign.apply(Object,
100
+ // .assign() mutates the first object, we can't mutate mappings as it will produce invalid results later
101
+ [{}].concat(sequenceMappings));
102
+ const [atomicClasses, classesMapHash] = reduceToClassName(resultClassesMap, dir);
103
+ // Each merge of classes generates a new sequence of atomic classes that needs to be registered
104
+ const newSequenceHash = hashSequence(classesMapHash, dir, sequencesIds);
105
+ const newClassName = newSequenceHash + ' ' + atomicClasses;
106
+ mergeClassesCachedResults[sequenceMatch] = newClassName;
107
+ DEFINITION_LOOKUP_TABLE[newSequenceHash] = [resultClassesMap, dir];
108
+ return resultClassName + newClassName;
109
+ }
110
+ //# sourceMappingURL=mergeClasses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeClasses.js","sourceRoot":"","sources":["../src/mergeClasses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { CalameRenderer } from '../types';
2
+ export interface CreateDOMRendererOptions {
3
+ /**
4
+ * A salt that will be added for hashed classes. Should be the same for all renderers in the same application
5
+ * (bundle).
6
+ *
7
+ * @see https://github.com/microsoft/calame/issues/453
8
+ */
9
+ classNameHashSalt?: string;
10
+ /**
11
+ * If specified, a renderer will insert created style tags after this element.
12
+ */
13
+ insertionPoint?: HTMLElement;
14
+ /**
15
+ * A map of attributes that's passed to the generated style elements. Is useful to set "nonce" attribute.
16
+ *
17
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce
18
+ */
19
+ styleElementAttributes?: Record<string, string>;
20
+ /**
21
+ * A filter run before CSS rule insertion to systematically remove CSS rules at render time.
22
+ * This can be used to forbid specific rules from being written to the style sheet at run time without
23
+ * affecting build time styles.
24
+ *
25
+ * ⚠️ Keep the filter as performant as possible to avoid negative performance impacts to your application.
26
+ * ⚠️ This API is unstable and can be removed from the library at any time.
27
+ */
28
+ unstable_filterCSSRule?: (cssRule: string) => boolean;
29
+ /**
30
+ * @param a - media query
31
+ * @param b - media query
32
+ * @returns positive number if a > b or negative number if a < b
33
+ */
34
+ compareMediaQueries?: (a: string, b: string) => number;
35
+ }
36
+ /** @internal */
37
+ export declare const defaultCompareMediaQueries: (a: string, b: string) => 0 | 1 | -1;
38
+ /**
39
+ * Creates a new instances of a renderer.
40
+ *
41
+ * @public
42
+ */
43
+ export declare function createDOMRenderer(targetDocument?: Document | undefined, options?: CreateDOMRendererOptions): CalameRenderer;
44
+ //# sourceMappingURL=createDOMRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDOMRenderer.d.ts","sourceRoot":"","sources":["../../src/renderer/createDOMRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,UAAU,CAAC;AAMhE,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAEtD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACxD;AAED,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,eAAiC,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,GAAE,QAAQ,GAAG,SAAkE,EAC7F,OAAO,GAAE,wBAA6B,GACrC,cAAc,CA4DhB"}
@@ -0,0 +1,54 @@
1
+ import { injectDevTools, isDevToolsEnabled, debugData } from '../devtools';
2
+ import { normalizeCSSBucketEntry } from '../runtime/utils/normalizeCSSBucketEntry';
3
+ import { getStyleSheetForBucket } from './getStyleSheetForBucket';
4
+ import { safeInsertRule } from './safeInsertRule';
5
+ let lastIndex = 0;
6
+ /** @internal */
7
+ export const defaultCompareMediaQueries = (a, b) => (a < b ? -1 : a > b ? 1 : 0);
8
+ /**
9
+ * Creates a new instances of a renderer.
10
+ *
11
+ * @public
12
+ */
13
+ export function createDOMRenderer(targetDocument = typeof document === 'undefined' ? undefined : document, options = {}) {
14
+ const { classNameHashSalt, unstable_filterCSSRule, insertionPoint, styleElementAttributes, compareMediaQueries = defaultCompareMediaQueries, } = options;
15
+ const renderer = {
16
+ classNameHashSalt,
17
+ insertionCache: {},
18
+ stylesheets: {},
19
+ styleElementAttributes: Object.freeze(styleElementAttributes),
20
+ compareMediaQueries,
21
+ id: `d${lastIndex++}`,
22
+ insertCSSRules(cssRules) {
23
+ // eslint-disable-next-line guard-for-in
24
+ for (const styleBucketName in cssRules) {
25
+ const cssRulesForBucket = cssRules[styleBucketName];
26
+ // This is a hot path in rendering styles: ".length" is cached in "l" var to avoid accesses the property
27
+ for (let i = 0, l = cssRulesForBucket.length; i < l; i++) {
28
+ const [ruleCSS, metadata] = normalizeCSSBucketEntry(cssRulesForBucket[i]);
29
+ const sheet = getStyleSheetForBucket(styleBucketName, targetDocument, insertionPoint || null, renderer, metadata);
30
+ if (renderer.insertionCache[ruleCSS]) {
31
+ continue;
32
+ }
33
+ renderer.insertionCache[ruleCSS] = styleBucketName;
34
+ if (process.env.NODE_ENV !== 'production' && isDevToolsEnabled) {
35
+ debugData.addCSSRule(ruleCSS);
36
+ }
37
+ if (unstable_filterCSSRule) {
38
+ if (unstable_filterCSSRule(ruleCSS)) {
39
+ safeInsertRule(sheet, ruleCSS);
40
+ }
41
+ }
42
+ else {
43
+ safeInsertRule(sheet, ruleCSS);
44
+ }
45
+ }
46
+ }
47
+ },
48
+ };
49
+ if (targetDocument && process.env.NODE_ENV !== 'production' && isDevToolsEnabled) {
50
+ injectDevTools(targetDocument);
51
+ }
52
+ return renderer;
53
+ }
54
+ //# sourceMappingURL=createDOMRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDOMRenderer.js","sourceRoot":"","sources":["../../src/renderer/createDOMRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAEnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,IAAI,SAAS,GAAG,CAAC,CAAC;AAyClB,gBAAgB;AAChB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjG;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,iBAAuC,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAC7F,UAAoC,EAAE;IAEtC,MAAM,EACJ,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,GAAG,0BAA0B,GACjD,GAAG,OAAO,CAAC;IACZ,MAAM,QAAQ,GAAmB;QAC/B,iBAAiB;QACjB,cAAc,EAAE,EAAE;QAClB,WAAW,EAAE,EAAE;QACf,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;QAC7D,mBAAmB;QAEnB,EAAE,EAAE,IAAI,SAAS,EAAE,EAAE;QAErB,cAAc,CAAC,QAAQ;YACrB,wCAAwC;YACxC,KAAK,MAAM,eAAe,IAAI,QAAQ,EAAE,CAAC;gBACvC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAkC,CAAE,CAAC;gBAExE,wGAAwG;gBACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,MAAM,KAAK,GAAG,sBAAsB,CAClC,eAAkC,EAClC,cAAc,EACd,cAAc,IAAI,IAAI,EACtB,QAAQ,EACR,QAAQ,CACT,CAAC;oBAEF,IAAI,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;wBACrC,SAAS;oBACX,CAAC;oBAED,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,eAAkC,CAAC;oBAEtE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,iBAAiB,EAAE,CAAC;wBAC/D,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBAChC,CAAC;oBAED,IAAI,sBAAsB,EAAE,CAAC;wBAC3B,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC;4BACpC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;wBACjC,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;IAEF,IAAI,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,iBAAiB,EAAE,CAAC;QACjF,cAAc,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { IsomorphicStyleSheet, StyleBucketName } from '../types';
2
+ export declare function createIsomorphicStyleSheet(styleElement: HTMLStyleElement | undefined, bucketName: StyleBucketName, priority: number, elementAttributes: Record<string, string>): IsomorphicStyleSheet;
3
+ export declare function createIsomorphicStyleSheetFromElement(element: HTMLStyleElement): IsomorphicStyleSheet;
4
+ //# sourceMappingURL=createIsomorphicStyleSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createIsomorphicStyleSheet.d.ts","sourceRoot":"","sources":["../../src/renderer/createIsomorphicStyleSheet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEtE,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,gBAAgB,GAAG,SAAS,EAC1C,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,oBAAoB,CAkCtB;AAED,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,gBAAgB,wBAY9E"}
@@ -0,0 +1,39 @@
1
+ import { DATA_BUCKET_ATTR, DATA_PRIORITY_ATTR } from '../constants';
2
+ export function createIsomorphicStyleSheet(styleElement, bucketName, priority, elementAttributes) {
3
+ // no CSSStyleSheet in SSR, just append rules here for server render
4
+ const __cssRulesForSSR = [];
5
+ elementAttributes[DATA_BUCKET_ATTR] = bucketName;
6
+ elementAttributes[DATA_PRIORITY_ATTR] = String(priority);
7
+ if (styleElement) {
8
+ for (const attrName in elementAttributes) {
9
+ styleElement.setAttribute(attrName, elementAttributes[attrName]);
10
+ }
11
+ }
12
+ function insertRule(rule) {
13
+ if (styleElement === null || styleElement === void 0 ? void 0 : styleElement.sheet) {
14
+ return styleElement.sheet.insertRule(rule, styleElement.sheet.cssRules.length);
15
+ }
16
+ return __cssRulesForSSR.push(rule);
17
+ }
18
+ return {
19
+ elementAttributes,
20
+ insertRule,
21
+ element: styleElement,
22
+ bucketName,
23
+ cssRules() {
24
+ if (styleElement === null || styleElement === void 0 ? void 0 : styleElement.sheet) {
25
+ return Array.from(styleElement.sheet.cssRules).map(cssRule => cssRule.cssText);
26
+ }
27
+ return __cssRulesForSSR;
28
+ },
29
+ };
30
+ }
31
+ export function createIsomorphicStyleSheetFromElement(element) {
32
+ const elementAttributes = Array.from(element.attributes).reduce((acc, attr) => {
33
+ acc[attr.name] = attr.value;
34
+ return acc;
35
+ }, {});
36
+ const stylesheet = createIsomorphicStyleSheet(element, elementAttributes[DATA_BUCKET_ATTR], Number(elementAttributes[DATA_PRIORITY_ATTR]), elementAttributes);
37
+ return stylesheet;
38
+ }
39
+ //# sourceMappingURL=createIsomorphicStyleSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createIsomorphicStyleSheet.js","sourceRoot":"","sources":["../../src/renderer/createIsomorphicStyleSheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,UAAU,0BAA0B,CACxC,YAA0C,EAC1C,UAA2B,EAC3B,QAAgB,EAChB,iBAAyC;IAEzC,oEAAoE;IACpE,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC;IACjD,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEzD,IAAI,YAAY,EAAE,CAAC;QACjB,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACzC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,SAAS,UAAU,CAAC,IAAY;QAC9B,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,UAAU;QACV,OAAO,EAAE,YAAY;QACrB,UAAU;QACV,QAAQ;YACN,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACjF,CAAC;YAED,OAAO,gBAAgB,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,OAAyB;IAC7E,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC5E,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAA4B,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,0BAA0B,CAC3C,OAAO,EACP,iBAAiB,CAAC,gBAAgB,CAAoB,EACtD,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,EAC7C,iBAAiB,CAClB,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { CalameRenderer, IsomorphicStyleSheet, StyleBucketName } from '../types';
2
+ /**
3
+ * Ordered style buckets using their short pseudo name.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare const styleBucketOrdering: StyleBucketName[];
8
+ export declare function getStyleSheetKey(bucketName: StyleBucketName, media: string, priority: number | string): string;
9
+ export declare function getStyleSheetKeyFromElement(styleEl: HTMLStyleElement): string;
10
+ /**
11
+ * Lazily adds a `<style>` bucket to the `<head>`. This will ensure that the style buckets are ordered.
12
+ */
13
+ export declare function getStyleSheetForBucket(bucketName: StyleBucketName, targetDocument: Document | undefined, insertionPoint: HTMLElement | null, renderer: CalameRenderer, metadata?: Record<string, unknown>): IsomorphicStyleSheet;
14
+ //# sourceMappingURL=getStyleSheetForBucket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStyleSheetForBucket.d.ts","sourceRoot":"","sources":["../../src/renderer/getStyleSheetForBucket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGtF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAAe,EA6BhD,CAAC;AAQF,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE9G;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAK7E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,eAAe,EAC3B,cAAc,EAAE,QAAQ,GAAG,SAAS,EACpC,cAAc,EAAE,WAAW,GAAG,IAAI,EAClC,QAAQ,EAAE,cAAc,EACxB,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,oBAAoB,CA0BtB"}
@@ -0,0 +1,129 @@
1
+ import { DATA_BUCKET_ATTR, DATA_PRIORITY_ATTR } from '../constants';
2
+ import { createIsomorphicStyleSheet } from './createIsomorphicStyleSheet';
3
+ /**
4
+ * Ordered style buckets using their short pseudo name.
5
+ *
6
+ * @internal
7
+ */
8
+ export const styleBucketOrdering = [
9
+ // reset styles
10
+ 'r',
11
+ // catch-all
12
+ 'd',
13
+ // link
14
+ 'l',
15
+ // visited
16
+ 'v',
17
+ // focus-within
18
+ 'w',
19
+ // focus
20
+ 'f',
21
+ // focus-visible
22
+ 'i',
23
+ // hover
24
+ 'h',
25
+ // active
26
+ 'a',
27
+ // at rules for reset styles
28
+ 's',
29
+ // keyframes
30
+ 'k',
31
+ // at-rules
32
+ 't',
33
+ // @media rules
34
+ 'm',
35
+ // @container rules
36
+ 'c',
37
+ ];
38
+ // avoid repeatedly calling `indexOf` to determine order during new insertions
39
+ const styleBucketOrderingMap = styleBucketOrdering.reduce((acc, cur, j) => {
40
+ acc[cur] = j;
41
+ return acc;
42
+ }, {});
43
+ export function getStyleSheetKey(bucketName, media, priority) {
44
+ return (bucketName === 'm' ? bucketName + media : bucketName) + priority;
45
+ }
46
+ export function getStyleSheetKeyFromElement(styleEl) {
47
+ var _a;
48
+ const bucketName = styleEl.getAttribute(DATA_BUCKET_ATTR);
49
+ const priority = (_a = styleEl.getAttribute(DATA_PRIORITY_ATTR)) !== null && _a !== void 0 ? _a : '0';
50
+ return getStyleSheetKey(bucketName, styleEl.media, priority);
51
+ }
52
+ /**
53
+ * Lazily adds a `<style>` bucket to the `<head>`. This will ensure that the style buckets are ordered.
54
+ */
55
+ export function getStyleSheetForBucket(bucketName, targetDocument, insertionPoint, renderer, metadata = {}) {
56
+ var _a, _b;
57
+ const isMediaBucket = bucketName === 'm';
58
+ const media = (_a = metadata['m']) !== null && _a !== void 0 ? _a : '0';
59
+ const priority = (_b = metadata['p']) !== null && _b !== void 0 ? _b : 0;
60
+ const stylesheetKey = getStyleSheetKey(bucketName, media, priority);
61
+ if (!renderer.stylesheets[stylesheetKey]) {
62
+ const tag = targetDocument && targetDocument.createElement('style');
63
+ const stylesheet = createIsomorphicStyleSheet(tag, bucketName, priority, {
64
+ ...renderer.styleElementAttributes,
65
+ ...(isMediaBucket && { media }),
66
+ });
67
+ renderer.stylesheets[stylesheetKey] = stylesheet;
68
+ if ((targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.head) && tag) {
69
+ targetDocument.head.insertBefore(tag, findInsertionPoint(targetDocument, insertionPoint, bucketName, renderer, metadata));
70
+ }
71
+ }
72
+ return renderer.stylesheets[stylesheetKey];
73
+ }
74
+ function isSameInsertionKey(element, bucketName, metadata) {
75
+ var _a, _b;
76
+ const targetKey = bucketName + ((_a = metadata['m']) !== null && _a !== void 0 ? _a : '');
77
+ const elementKey = element.getAttribute(DATA_BUCKET_ATTR) + ((_b = element.media) !== null && _b !== void 0 ? _b : '');
78
+ return targetKey === elementKey;
79
+ }
80
+ /**
81
+ * Finds an element before which the new bucket style element should be inserted following the bucket sort order.
82
+ *
83
+ * @param targetDocument - A document
84
+ * @param insertionPoint - An element that will be used as an initial insertion point
85
+ * @param targetBucket - The bucket that should be inserted to DOM
86
+ * @param renderer - Calame renderer
87
+ * @param metadata - metadata for CSS rule
88
+ * @returns - Smallest style element with greater sort order than the current bucket
89
+ */
90
+ function findInsertionPoint(targetDocument, insertionPoint, targetBucket, renderer, metadata = {}) {
91
+ var _a, _b;
92
+ const targetOrder = styleBucketOrderingMap[targetBucket];
93
+ const media = (_a = metadata['m']) !== null && _a !== void 0 ? _a : '';
94
+ const priority = (_b = metadata['p']) !== null && _b !== void 0 ? _b : 0;
95
+ // Similar to javascript sort comparators where
96
+ // a positive value is increasing sort order
97
+ // a negative value is decreasing sort order
98
+ let comparer = el => targetOrder - styleBucketOrderingMap[el.getAttribute(DATA_BUCKET_ATTR)];
99
+ let styleElements = targetDocument.head.querySelectorAll(`[${DATA_BUCKET_ATTR}]`);
100
+ if (targetBucket === 'm') {
101
+ const mediaElements = targetDocument.head.querySelectorAll(`[${DATA_BUCKET_ATTR}="${targetBucket}"]`);
102
+ // only reduce the scope of the search and change comparer
103
+ // if there are other media buckets already on the page
104
+ if (mediaElements.length) {
105
+ styleElements = mediaElements;
106
+ comparer = (el) => renderer.compareMediaQueries(media, el.media);
107
+ }
108
+ }
109
+ const comparerWithPriority = el => {
110
+ if (isSameInsertionKey(el, targetBucket, metadata)) {
111
+ return priority - Number(el.getAttribute('data-priority'));
112
+ }
113
+ return comparer(el);
114
+ };
115
+ const length = styleElements.length;
116
+ let index = length - 1;
117
+ while (index >= 0) {
118
+ const styleElement = styleElements.item(index);
119
+ if (comparerWithPriority(styleElement) > 0) {
120
+ return styleElement.nextSibling;
121
+ }
122
+ index--;
123
+ }
124
+ if (length > 0) {
125
+ return styleElements.item(0);
126
+ }
127
+ return insertionPoint ? insertionPoint.nextSibling : null;
128
+ }
129
+ //# sourceMappingURL=getStyleSheetForBucket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getStyleSheetForBucket.js","sourceRoot":"","sources":["../../src/renderer/getStyleSheetForBucket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { CalameRenderer } from '../types';
2
+ /**
3
+ * Should be called in a case of Server-Side rendering. Rehydrates cache from for a renderer to avoid double insertion
4
+ * of classes to DOM.
5
+ *
6
+ * @public
7
+ */
8
+ export declare function rehydrateRendererCache(renderer: CalameRenderer, target?: Document | undefined): void;
9
+ //# sourceMappingURL=rehydrateRendererCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehydrateRendererCache.d.ts","sourceRoot":"","sources":["../../src/renderer/rehydrateRendererCache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,UAAU,CAAC;AAiBhE;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,QAAQ,GAAG,SAAkE,QA6BtF"}
@@ -0,0 +1,43 @@
1
+ import { isDevToolsEnabled, debugData } from '../devtools';
2
+ import { createIsomorphicStyleSheetFromElement } from './createIsomorphicStyleSheet';
3
+ import { getStyleSheetKeyFromElement } from './getStyleSheetForBucket';
4
+ // Regexps to extract names of classes and animations
5
+ // https://github.com/styletron/styletron/blob/e0fcae826744eb00ce679ac613a1b10d44256660/packages/styletron-engine-atomic/src/client/client.js#L8
6
+ const KEYFRAMES_HYDRATOR = /@(-webkit-)?keyframes ([^{]+){((?:(?:from|to|(?:\d+\.?\d*%))\{(?:[^}])*})*)}/g;
7
+ const AT_RULES_HYDRATOR = /@(media|supports|layer)[^{]+\{([\s\S]+?})\s*}/g;
8
+ const STYLES_HYDRATOR = /\.([^{:]+)(:[^{]+)?{(?:[^}]*;)?([^}]*?)}/g;
9
+ const regexps = {
10
+ k: KEYFRAMES_HYDRATOR,
11
+ t: AT_RULES_HYDRATOR,
12
+ m: AT_RULES_HYDRATOR,
13
+ };
14
+ /**
15
+ * Should be called in a case of Server-Side rendering. Rehydrates cache from for a renderer to avoid double insertion
16
+ * of classes to DOM.
17
+ *
18
+ * @public
19
+ */
20
+ export function rehydrateRendererCache(renderer, target = typeof document === 'undefined' ? undefined : document) {
21
+ if (target) {
22
+ const styleElements = target.querySelectorAll('[data-make-styles-bucket]');
23
+ styleElements.forEach(styleElement => {
24
+ const bucketName = styleElement.dataset['makeStylesBucket'];
25
+ const stylesheetKey = getStyleSheetKeyFromElement(styleElement);
26
+ // 👇 If some elements are not created yet, we will register them in renderer
27
+ if (!renderer.stylesheets[stylesheetKey]) {
28
+ renderer.stylesheets[stylesheetKey] = createIsomorphicStyleSheetFromElement(styleElement);
29
+ }
30
+ const regex = regexps[bucketName] || STYLES_HYDRATOR;
31
+ let match;
32
+ while ((match = regex.exec(styleElement.textContent))) {
33
+ // "cacheKey" is either a class name or an animation name
34
+ const [cssRule] = match;
35
+ renderer.insertionCache[cssRule] = bucketName;
36
+ if (process.env.NODE_ENV !== 'production' && isDevToolsEnabled) {
37
+ debugData.addCSSRule(cssRule);
38
+ }
39
+ }
40
+ });
41
+ }
42
+ }
43
+ //# sourceMappingURL=rehydrateRendererCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rehydrateRendererCache.js","sourceRoot":"","sources":["../../src/renderer/rehydrateRendererCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,qCAAqC,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAEvE,qDAAqD;AACrD,gJAAgJ;AAChJ,MAAM,kBAAkB,GAAG,+EAA+E,CAAC;AAC3G,MAAM,iBAAiB,GAAG,gDAAgD,CAAC;AAC3E,MAAM,eAAe,GAAG,2CAA2C,CAAC;AAEpE,MAAM,OAAO,GAA6C;IACxD,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,iBAAiB;IACpB,CAAC,EAAE,iBAAiB;CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAwB,EACxB,SAA+B,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;IAErF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAmB,2BAA2B,CAAC,CAAC;QAE7F,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YACnC,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAoB,CAAC;YAC/E,MAAM,aAAa,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;YAEhE,+EAA+E;YAC/E,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,qCAAqC,CAAC,YAAY,CAAC,CAAC;YAC5F,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC;YACrD,IAAI,KAAK,CAAC;YAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,WAAY,CAAC,CAAC,EAAE,CAAC;gBACvD,yDAAyD;gBACzD,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;gBAExB,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;gBAE9C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,iBAAiB,EAAE,CAAC;oBAC/D,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @internal
3
+ *
4
+ * Calls `sheet.insertRule` and catches errors related to browser prefixes.
5
+ */
6
+ export declare function safeInsertRule(sheet: {
7
+ insertRule(rule: string): number | undefined;
8
+ }, ruleCSS: string): void;
9
+ //# sourceMappingURL=safeInsertRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeInsertRule.d.ts","sourceRoot":"","sources":["../../src/renderer/safeInsertRule.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAU7G"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Suffixes to be ignored in case of error
3
+ */
4
+ const ignoreSuffixes = [
5
+ '-moz-placeholder',
6
+ '-moz-focus-inner',
7
+ '-moz-focusring',
8
+ '-ms-input-placeholder',
9
+ '-moz-read-write',
10
+ '-moz-read-only',
11
+ ].join('|');
12
+ const ignoreSuffixesRegex = new RegExp(`:(${ignoreSuffixes})`);
13
+ /**
14
+ * @internal
15
+ *
16
+ * Calls `sheet.insertRule` and catches errors related to browser prefixes.
17
+ */
18
+ export function safeInsertRule(sheet, ruleCSS) {
19
+ try {
20
+ sheet.insertRule(ruleCSS);
21
+ }
22
+ catch (e) {
23
+ // We've disabled these warnings due to false-positive errors with browser prefixes
24
+ if (process.env.NODE_ENV !== 'production' && !ignoreSuffixesRegex.test(ruleCSS)) {
25
+ // eslint-disable-next-line no-console
26
+ console.error(`There was a problem inserting the following rule: "${ruleCSS}"`, e);
27
+ }
28
+ }
29
+ }
30
+ //# sourceMappingURL=safeInsertRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeInsertRule.js","sourceRoot":"","sources":["../../src/renderer/safeInsertRule.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,cAAc,GAAG;IACrB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,uBAAuB;IACvB,iBAAiB;IACjB,gBAAgB;CACjB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACZ,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC,KAAK,cAAc,GAAG,CAAC,CAAC;AAE/D;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAuD,EAAE,OAAe;IACrG,IAAI,CAAC;QACH,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,mFAAmF;QACnF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAChF,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,sDAAsD,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { CSSClassesMapBySlot, CSSRulesByBucket, StylesBySlots } from './types';
2
+ /**
3
+ * Calls resolveStyleRules() for each slot, is also used by build time transform.
4
+ *
5
+ * @param stylesBySlots - An object with makeStyles rules where a key is a slot name
6
+ * @param classNameHashSalt - A salt for classes hash
7
+ *
8
+ * @return - A tuple with an object classnames mapping where a key is a slot name and an array with CSS rules
9
+ */
10
+ export declare function resolveStyleRulesForSlots<Slots extends string | number>(stylesBySlots: StylesBySlots<Slots>, classNameHashSalt?: string): [CSSClassesMapBySlot<Slots>, CSSRulesByBucket];
11
+ //# sourceMappingURL=resolveStyleRulesForSlots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveStyleRulesForSlots.d.ts","sourceRoot":"","sources":["../src/resolveStyleRulesForSlots.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AAErG;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACrE,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,iBAAiB,GAAE,MAAW,GAC7B,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAiBhD"}
@@ -0,0 +1,24 @@
1
+ import { resolveStyleRules } from './runtime/resolveStyleRules';
2
+ /**
3
+ * Calls resolveStyleRules() for each slot, is also used by build time transform.
4
+ *
5
+ * @param stylesBySlots - An object with makeStyles rules where a key is a slot name
6
+ * @param classNameHashSalt - A salt for classes hash
7
+ *
8
+ * @return - A tuple with an object classnames mapping where a key is a slot name and an array with CSS rules
9
+ */
10
+ export function resolveStyleRulesForSlots(stylesBySlots, classNameHashSalt = '') {
11
+ const classesMapBySlot = {};
12
+ const cssRules = {};
13
+ // eslint-disable-next-line guard-for-in
14
+ for (const slotName in stylesBySlots) {
15
+ const slotStyles = stylesBySlots[slotName];
16
+ const [cssClassMap, cssRulesByBucket] = resolveStyleRules(slotStyles, classNameHashSalt);
17
+ classesMapBySlot[slotName] = cssClassMap;
18
+ Object.keys(cssRulesByBucket).forEach(styleBucketName => {
19
+ cssRules[styleBucketName] = (cssRules[styleBucketName] || []).concat(cssRulesByBucket[styleBucketName]);
20
+ });
21
+ }
22
+ return [classesMapBySlot, cssRules];
23
+ }
24
+ //# sourceMappingURL=resolveStyleRulesForSlots.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveStyleRulesForSlots.js","sourceRoot":"","sources":["../src/resolveStyleRulesForSlots.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAAmC,EACnC,oBAA4B,EAAE;IAE9B,MAAM,gBAAgB,GAAG,EAAgC,CAAC;IAC1D,MAAM,QAAQ,GAAqB,EAAE,CAAC;IAEtC,wCAAwC;IACxC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,UAAU,GAAgB,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,GAAG,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAEzF,gBAAgB,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;QAExC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAuB,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YAC7E,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAE,CAAC,CAAC;QAC3G,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { AtRules } from './utils/types';
2
+ export interface CompileAtomicCSSOptions {
3
+ className: string;
4
+ selectors: string[];
5
+ property: string;
6
+ value: number | string | Array<number | string>;
7
+ rtlClassName?: string;
8
+ rtlProperty?: string;
9
+ rtlValue?: number | string | Array<number | string>;
10
+ }
11
+ /**
12
+ * Normalizes pseudo selectors to always contain &, requires to work properly with comma-separated selectors.
13
+ *
14
+ * @example
15
+ * ":hover" => "&:hover"
16
+ * " :hover" => "& :hover"
17
+ * ":hover,:focus" => "&:hover,&:focus"
18
+ * " :hover, :focus" => "& :hover,& :focus"
19
+ */
20
+ export declare function normalizePseudoSelector(pseudoSelector: string): string;
21
+ export declare function compileAtomicCSSRule(options: CompileAtomicCSSOptions, atRules: AtRules): [string?, string?];
22
+ //# sourceMappingURL=compileAtomicCSSRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compileAtomicCSSRule.d.ts","sourceRoot":"","sources":["../../src/runtime/compileAtomicCSSRule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAEhD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACrD;AAID;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAStE;AAcD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,OAAO,GACf,CAAC,MAAM,CAAC,EAAuB,MAAM,CAAC,CAAsB,CAqC9D"}