@jesscss/fns 1.0.8-alpha.8 → 2.0.0-alpha.2

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 (625) hide show
  1. package/README.md +15 -5
  2. package/lib/__tests__/color-adjustments.test.d.ts +1 -0
  3. package/lib/__tests__/color-adjustments.test.js +137 -0
  4. package/lib/__tests__/color-adjustments.test.js.map +1 -0
  5. package/lib/__tests__/color-components.test.d.ts +1 -0
  6. package/lib/__tests__/color-components.test.js +76 -0
  7. package/lib/__tests__/color-components.test.js.map +1 -0
  8. package/lib/__tests__/color.test.d.ts +1 -0
  9. package/lib/__tests__/color.test.js +41 -0
  10. package/lib/__tests__/color.test.js.map +1 -0
  11. package/lib/__tests__/floor.test.d.ts +1 -0
  12. package/lib/__tests__/floor.test.js +38 -0
  13. package/lib/__tests__/floor.test.js.map +1 -0
  14. package/lib/__tests__/iif.d.ts +1 -0
  15. package/lib/__tests__/iif.js +38 -0
  16. package/lib/__tests__/iif.test.d.ts +1 -0
  17. package/lib/__tests__/iif.test.js +34 -0
  18. package/lib/__tests__/iif.test.js.map +1 -0
  19. package/lib/__tests__/math.d.ts +1 -0
  20. package/lib/__tests__/math.js +45 -0
  21. package/lib/__tests__/math.test.d.ts +1 -0
  22. package/lib/__tests__/math.test.js +46 -0
  23. package/lib/__tests__/math.test.js.map +1 -0
  24. package/lib/conversions.d.ts +46 -0
  25. package/lib/conversions.js +142 -0
  26. package/lib/conversions.js.map +1 -0
  27. package/lib/index.d.ts +1 -5
  28. package/lib/index.js +3 -17
  29. package/lib/index.js.map +1 -0
  30. package/lib/less/__tests__/advanced-blend-modes.test.d.ts +1 -0
  31. package/lib/less/__tests__/advanced-blend-modes.test.js +29 -0
  32. package/lib/less/__tests__/advanced-blend-modes.test.js.map +1 -0
  33. package/lib/less/__tests__/alpha-adjustments.test.d.ts +1 -0
  34. package/lib/less/__tests__/alpha-adjustments.test.js +36 -0
  35. package/lib/less/__tests__/alpha-adjustments.test.js.map +1 -0
  36. package/lib/less/__tests__/argb.test.d.ts +1 -0
  37. package/lib/less/__tests__/argb.test.js +15 -0
  38. package/lib/less/__tests__/argb.test.js.map +1 -0
  39. package/lib/less/__tests__/blend-modes.test.d.ts +1 -0
  40. package/lib/less/__tests__/blend-modes.test.js +27 -0
  41. package/lib/less/__tests__/blend-modes.test.js.map +1 -0
  42. package/lib/less/__tests__/contrast.test.d.ts +1 -0
  43. package/lib/less/__tests__/contrast.test.js +29 -0
  44. package/lib/less/__tests__/contrast.test.js.map +1 -0
  45. package/lib/less/__tests__/convert.test.d.ts +1 -0
  46. package/lib/less/__tests__/convert.test.js +25 -0
  47. package/lib/less/__tests__/convert.test.js.map +1 -0
  48. package/lib/less/__tests__/e.test.d.ts +1 -0
  49. package/lib/less/__tests__/e.test.js +12 -0
  50. package/lib/less/__tests__/e.test.js.map +1 -0
  51. package/lib/less/__tests__/extract.test.d.ts +1 -0
  52. package/lib/less/__tests__/extract.test.js +32 -0
  53. package/lib/less/__tests__/extract.test.js.map +1 -0
  54. package/lib/less/__tests__/format.test.d.ts +1 -0
  55. package/lib/less/__tests__/format.test.js +20 -0
  56. package/lib/less/__tests__/format.test.js.map +1 -0
  57. package/lib/less/__tests__/get-unit.test.d.ts +1 -0
  58. package/lib/less/__tests__/get-unit.test.js +15 -0
  59. package/lib/less/__tests__/get-unit.test.js.map +1 -0
  60. package/lib/less/__tests__/hsl-branches.test.d.ts +1 -0
  61. package/lib/less/__tests__/hsl-branches.test.js +27 -0
  62. package/lib/less/__tests__/hsl-branches.test.js.map +1 -0
  63. package/lib/less/__tests__/hsl-relative-errors.test.d.ts +1 -0
  64. package/lib/less/__tests__/hsl-relative-errors.test.js +97 -0
  65. package/lib/less/__tests__/hsl-relative-errors.test.js.map +1 -0
  66. package/lib/less/__tests__/hsla-fallback.test.d.ts +1 -0
  67. package/lib/less/__tests__/hsla-fallback.test.js +29 -0
  68. package/lib/less/__tests__/hsla-fallback.test.js.map +1 -0
  69. package/lib/less/__tests__/hsv-family.test.d.ts +1 -0
  70. package/lib/less/__tests__/hsv-family.test.js +43 -0
  71. package/lib/less/__tests__/hsv-family.test.js.map +1 -0
  72. package/lib/less/__tests__/isdefined.test.d.ts +1 -0
  73. package/lib/less/__tests__/isdefined.test.js +18 -0
  74. package/lib/less/__tests__/isdefined.test.js.map +1 -0
  75. package/lib/less/__tests__/isruleset.test.d.ts +1 -0
  76. package/lib/less/__tests__/isruleset.test.js +22 -0
  77. package/lib/less/__tests__/isruleset.test.js.map +1 -0
  78. package/lib/less/__tests__/length.test.d.ts +1 -0
  79. package/lib/less/__tests__/length.test.js +16 -0
  80. package/lib/less/__tests__/length.test.js.map +1 -0
  81. package/lib/less/__tests__/luma-luminance-hsv-channels.test.d.ts +1 -0
  82. package/lib/less/__tests__/luma-luminance-hsv-channels.test.js +35 -0
  83. package/lib/less/__tests__/luma-luminance-hsv-channels.test.js.map +1 -0
  84. package/lib/less/__tests__/max.test.d.ts +1 -0
  85. package/lib/less/__tests__/max.test.js +35 -0
  86. package/lib/less/__tests__/max.test.js.map +1 -0
  87. package/lib/less/__tests__/min.test.d.ts +1 -0
  88. package/lib/less/__tests__/min.test.js +37 -0
  89. package/lib/less/__tests__/min.test.js.map +1 -0
  90. package/lib/less/__tests__/mix.test.d.ts +1 -0
  91. package/lib/less/__tests__/mix.test.js +25 -0
  92. package/lib/less/__tests__/mix.test.js.map +1 -0
  93. package/lib/less/__tests__/mod.test.d.ts +1 -0
  94. package/lib/less/__tests__/mod.test.js +11 -0
  95. package/lib/less/__tests__/mod.test.js.map +1 -0
  96. package/lib/less/__tests__/percentage.test.d.ts +1 -0
  97. package/lib/less/__tests__/percentage.test.js +12 -0
  98. package/lib/less/__tests__/percentage.test.js.map +1 -0
  99. package/lib/less/__tests__/pow.test.d.ts +1 -0
  100. package/lib/less/__tests__/pow.test.js +11 -0
  101. package/lib/less/__tests__/pow.test.js.map +1 -0
  102. package/lib/less/__tests__/reexports-smoke.test.d.ts +1 -0
  103. package/lib/less/__tests__/reexports-smoke.test.js +26 -0
  104. package/lib/less/__tests__/reexports-smoke.test.js.map +1 -0
  105. package/lib/less/__tests__/replace.test.d.ts +1 -0
  106. package/lib/less/__tests__/replace.test.js +22 -0
  107. package/lib/less/__tests__/replace.test.js.map +1 -0
  108. package/lib/less/__tests__/rgb-relative-errors.test.d.ts +1 -0
  109. package/lib/less/__tests__/rgb-relative-errors.test.js +98 -0
  110. package/lib/less/__tests__/rgb-relative-errors.test.js.map +1 -0
  111. package/lib/less/__tests__/rgb-rgba-branches.test.d.ts +1 -0
  112. package/lib/less/__tests__/rgb-rgba-branches.test.js +49 -0
  113. package/lib/less/__tests__/rgb-rgba-branches.test.js.map +1 -0
  114. package/lib/less/__tests__/rgba-fallback.test.d.ts +1 -0
  115. package/lib/less/__tests__/rgba-fallback.test.js +29 -0
  116. package/lib/less/__tests__/rgba-fallback.test.js.map +1 -0
  117. package/lib/less/__tests__/shade.test.d.ts +1 -0
  118. package/lib/less/__tests__/shade.test.js +19 -0
  119. package/lib/less/__tests__/shade.test.js.map +1 -0
  120. package/lib/less/__tests__/spin.test.d.ts +1 -0
  121. package/lib/less/__tests__/spin.test.js +26 -0
  122. package/lib/less/__tests__/spin.test.js.map +1 -0
  123. package/lib/less/__tests__/tint.test.d.ts +1 -0
  124. package/lib/less/__tests__/tint.test.js +19 -0
  125. package/lib/less/__tests__/tint.test.js.map +1 -0
  126. package/lib/less/__tests__/types.test.d.ts +1 -0
  127. package/lib/less/__tests__/types.test.js +28 -0
  128. package/lib/less/__tests__/types.test.js.map +1 -0
  129. package/lib/less/__tests__/unit.test.d.ts +1 -0
  130. package/lib/less/__tests__/unit.test.js +17 -0
  131. package/lib/less/__tests__/unit.test.js.map +1 -0
  132. package/lib/less/abs.d.ts +7 -0
  133. package/lib/less/abs.js +8 -0
  134. package/lib/less/abs.js.map +1 -0
  135. package/lib/less/acos.d.ts +440 -0
  136. package/lib/less/acos.js +3 -0
  137. package/lib/less/acos.js.map +1 -0
  138. package/lib/less/alpha.d.ts +7 -0
  139. package/lib/less/alpha.js +8 -0
  140. package/lib/less/alpha.js.map +1 -0
  141. package/lib/less/argb.d.ts +441 -0
  142. package/lib/less/argb.js +17 -0
  143. package/lib/less/argb.js.map +1 -0
  144. package/lib/less/asin.d.ts +440 -0
  145. package/lib/less/asin.js +3 -0
  146. package/lib/less/asin.js.map +1 -0
  147. package/lib/less/atan.d.ts +440 -0
  148. package/lib/less/atan.js +3 -0
  149. package/lib/less/atan.js.map +1 -0
  150. package/lib/less/average.d.ts +601 -0
  151. package/lib/less/average.js +17 -0
  152. package/lib/less/average.js.map +1 -0
  153. package/lib/less/blue.d.ts +7 -0
  154. package/lib/less/blue.js +8 -0
  155. package/lib/less/blue.js.map +1 -0
  156. package/lib/less/ceil.d.ts +7 -0
  157. package/lib/less/ceil.js +8 -0
  158. package/lib/less/ceil.js.map +1 -0
  159. package/lib/less/color.d.ts +441 -0
  160. package/lib/less/color.js +33 -0
  161. package/lib/less/color.js.map +1 -0
  162. package/lib/less/contrast.d.ts +1427 -0
  163. package/lib/less/contrast.js +57 -0
  164. package/lib/less/contrast.js.map +1 -0
  165. package/lib/less/convert.d.ts +600 -0
  166. package/lib/less/convert.js +45 -0
  167. package/lib/less/convert.js.map +1 -0
  168. package/lib/less/cos.d.ts +440 -0
  169. package/lib/less/cos.js +3 -0
  170. package/lib/less/cos.js.map +1 -0
  171. package/lib/less/darken.d.ts +980 -0
  172. package/lib/less/darken.js +29 -0
  173. package/lib/less/darken.js.map +1 -0
  174. package/lib/less/desaturate.d.ts +980 -0
  175. package/lib/less/desaturate.js +29 -0
  176. package/lib/less/desaturate.js.map +1 -0
  177. package/lib/less/difference.d.ts +601 -0
  178. package/lib/less/difference.js +18 -0
  179. package/lib/less/difference.js.map +1 -0
  180. package/lib/less/e.d.ts +444 -0
  181. package/lib/less/e.js +17 -0
  182. package/lib/less/e.js.map +1 -0
  183. package/lib/less/each.d.ts +615 -0
  184. package/lib/less/each.js +64 -0
  185. package/lib/less/each.js.map +1 -0
  186. package/lib/less/exclusion.d.ts +601 -0
  187. package/lib/less/exclusion.js +18 -0
  188. package/lib/less/exclusion.js.map +1 -0
  189. package/lib/less/extract.d.ts +625 -0
  190. package/lib/less/extract.js +43 -0
  191. package/lib/less/extract.js.map +1 -0
  192. package/lib/less/fade.d.ts +600 -0
  193. package/lib/less/fade.js +28 -0
  194. package/lib/less/fade.js.map +1 -0
  195. package/lib/less/fadein.d.ts +980 -0
  196. package/lib/less/fadein.js +37 -0
  197. package/lib/less/fadein.js.map +1 -0
  198. package/lib/less/fadeout.d.ts +980 -0
  199. package/lib/less/fadeout.js +36 -0
  200. package/lib/less/fadeout.js.map +1 -0
  201. package/lib/less/floor.d.ts +7 -0
  202. package/lib/less/floor.js +8 -0
  203. package/lib/less/floor.js.map +1 -0
  204. package/lib/less/format.d.ts +1821 -0
  205. package/lib/less/format.js +44 -0
  206. package/lib/less/format.js.map +1 -0
  207. package/lib/less/get-unit.d.ts +441 -0
  208. package/lib/less/get-unit.js +11 -0
  209. package/lib/less/get-unit.js.map +1 -0
  210. package/lib/less/green.d.ts +7 -0
  211. package/lib/less/green.js +8 -0
  212. package/lib/less/green.js.map +1 -0
  213. package/lib/less/greyscale.d.ts +441 -0
  214. package/lib/less/greyscale.js +18 -0
  215. package/lib/less/greyscale.js.map +1 -0
  216. package/lib/less/hardlight.d.ts +601 -0
  217. package/lib/less/hardlight.js +19 -0
  218. package/lib/less/hardlight.js.map +1 -0
  219. package/lib/less/hsl.d.ts +1063 -0
  220. package/lib/less/hsl.js +257 -0
  221. package/lib/less/hsl.js.map +1 -0
  222. package/lib/less/hsla.d.ts +354 -0
  223. package/lib/less/hsla.js +31 -0
  224. package/lib/less/hsla.js.map +1 -0
  225. package/lib/less/hsv.d.ts +723 -0
  226. package/lib/less/hsv.js +20 -0
  227. package/lib/less/hsv.js.map +1 -0
  228. package/lib/less/hsva.d.ts +991 -0
  229. package/lib/less/hsva.js +53 -0
  230. package/lib/less/hsva.js.map +1 -0
  231. package/lib/less/hsvhue.d.ts +441 -0
  232. package/lib/less/hsvhue.js +11 -0
  233. package/lib/less/hsvhue.js.map +1 -0
  234. package/lib/less/hsvsaturation.d.ts +441 -0
  235. package/lib/less/hsvsaturation.js +12 -0
  236. package/lib/less/hsvsaturation.js.map +1 -0
  237. package/lib/less/hsvvalue.d.ts +441 -0
  238. package/lib/less/hsvvalue.js +11 -0
  239. package/lib/less/hsvvalue.js.map +1 -0
  240. package/lib/less/hue.d.ts +441 -0
  241. package/lib/less/hue.js +11 -0
  242. package/lib/less/hue.js.map +1 -0
  243. package/lib/less/iif.d.ts +1033 -0
  244. package/lib/less/iif.js +30 -0
  245. package/lib/less/iif.js.map +1 -0
  246. package/lib/less/index.d.ts +75 -0
  247. package/lib/less/index.js +76 -0
  248. package/lib/less/index.js.map +1 -0
  249. package/lib/less/isdefined.d.ts +466 -0
  250. package/lib/less/isdefined.js +21 -0
  251. package/lib/less/isdefined.js.map +1 -0
  252. package/lib/less/isruleset.d.ts +466 -0
  253. package/lib/less/isruleset.js +24 -0
  254. package/lib/less/isruleset.js.map +1 -0
  255. package/lib/less/length.d.ts +441 -0
  256. package/lib/less/length.js +21 -0
  257. package/lib/less/length.js.map +1 -0
  258. package/lib/less/lighten.d.ts +980 -0
  259. package/lib/less/lighten.js +29 -0
  260. package/lib/less/lighten.js.map +1 -0
  261. package/lib/less/lightness.d.ts +441 -0
  262. package/lib/less/lightness.js +11 -0
  263. package/lib/less/lightness.js.map +1 -0
  264. package/lib/less/luma.d.ts +441 -0
  265. package/lib/less/luma.js +14 -0
  266. package/lib/less/luma.js.map +1 -0
  267. package/lib/less/luminance.d.ts +441 -0
  268. package/lib/less/luminance.js +16 -0
  269. package/lib/less/luminance.js.map +1 -0
  270. package/lib/less/math-factory.d.ts +774 -0
  271. package/lib/less/math-factory.js +18 -0
  272. package/lib/less/math-factory.js.map +1 -0
  273. package/lib/less/mathv1.d.ts +0 -0
  274. package/lib/less/mathv1.js +209 -0
  275. package/lib/less/mathv1.js.map +1 -0
  276. package/lib/less/max.d.ts +466 -0
  277. package/lib/less/max.js +85 -0
  278. package/lib/less/max.js.map +1 -0
  279. package/lib/less/min.d.ts +466 -0
  280. package/lib/less/min.js +85 -0
  281. package/lib/less/min.js.map +1 -0
  282. package/lib/less/mix.d.ts +980 -0
  283. package/lib/less/mix.js +39 -0
  284. package/lib/less/mix.js.map +1 -0
  285. package/lib/less/mod.d.ts +600 -0
  286. package/lib/less/mod.js +16 -0
  287. package/lib/less/mod.js.map +1 -0
  288. package/lib/less/multiply.d.ts +601 -0
  289. package/lib/less/multiply.js +18 -0
  290. package/lib/less/multiply.js.map +1 -0
  291. package/lib/less/negation.d.ts +601 -0
  292. package/lib/less/negation.js +18 -0
  293. package/lib/less/negation.js.map +1 -0
  294. package/lib/less/overlay.d.ts +601 -0
  295. package/lib/less/overlay.js +23 -0
  296. package/lib/less/overlay.js.map +1 -0
  297. package/lib/less/percentage.d.ts +441 -0
  298. package/lib/less/percentage.js +11 -0
  299. package/lib/less/percentage.js.map +1 -0
  300. package/lib/less/pi.d.ts +332 -0
  301. package/lib/less/pi.js +3 -0
  302. package/lib/less/pi.js.map +1 -0
  303. package/lib/less/pow.d.ts +600 -0
  304. package/lib/less/pow.js +16 -0
  305. package/lib/less/pow.js.map +1 -0
  306. package/lib/less/range.d.ts +1038 -0
  307. package/lib/less/range.js +40 -0
  308. package/lib/less/range.js.map +1 -0
  309. package/lib/less/red.d.ts +7 -0
  310. package/lib/less/red.js +8 -0
  311. package/lib/less/red.js.map +1 -0
  312. package/lib/less/replace.d.ts +1264 -0
  313. package/lib/less/replace.js +32 -0
  314. package/lib/less/replace.js.map +1 -0
  315. package/lib/less/rgb.d.ts +1063 -0
  316. package/lib/less/rgb.js +266 -0
  317. package/lib/less/rgb.js.map +1 -0
  318. package/lib/less/rgba.d.ts +354 -0
  319. package/lib/less/rgba.js +31 -0
  320. package/lib/less/rgba.js.map +1 -0
  321. package/lib/less/round.d.ts +7 -0
  322. package/lib/less/round.js +8 -0
  323. package/lib/less/round.js.map +1 -0
  324. package/lib/less/saturate.d.ts +980 -0
  325. package/lib/less/saturate.js +29 -0
  326. package/lib/less/saturate.js.map +1 -0
  327. package/lib/less/saturation.d.ts +441 -0
  328. package/lib/less/saturation.js +12 -0
  329. package/lib/less/saturation.js.map +1 -0
  330. package/lib/less/screen.d.ts +601 -0
  331. package/lib/less/screen.js +18 -0
  332. package/lib/less/screen.js.map +1 -0
  333. package/lib/less/shade.d.ts +600 -0
  334. package/lib/less/shade.js +26 -0
  335. package/lib/less/shade.js.map +1 -0
  336. package/lib/less/sin.d.ts +440 -0
  337. package/lib/less/sin.js +3 -0
  338. package/lib/less/sin.js.map +1 -0
  339. package/lib/less/softlight.d.ts +601 -0
  340. package/lib/less/softlight.js +25 -0
  341. package/lib/less/softlight.js.map +1 -0
  342. package/lib/less/spin.d.ts +600 -0
  343. package/lib/less/spin.js +22 -0
  344. package/lib/less/spin.js.map +1 -0
  345. package/lib/less/sqrt.d.ts +440 -0
  346. package/lib/less/sqrt.js +3 -0
  347. package/lib/less/sqrt.js.map +1 -0
  348. package/lib/less/tan.d.ts +440 -0
  349. package/lib/less/tan.js +3 -0
  350. package/lib/less/tan.js.map +1 -0
  351. package/lib/less/tint.d.ts +600 -0
  352. package/lib/less/tint.js +26 -0
  353. package/lib/less/tint.js.map +1 -0
  354. package/lib/less/types.d.ts +4112 -0
  355. package/lib/less/types.js +53 -0
  356. package/lib/less/types.js.map +1 -0
  357. package/lib/less/unit.d.ts +753 -0
  358. package/lib/less/unit.js +20 -0
  359. package/lib/less/unit.js.map +1 -0
  360. package/lib/sass/__tests__/hsl-channels.test.d.ts +1 -0
  361. package/lib/sass/__tests__/hsl-channels.test.js +85 -0
  362. package/lib/sass/__tests__/hsl-channels.test.js.map +1 -0
  363. package/lib/sass/__tests__/list-advanced.test.d.ts +1 -0
  364. package/lib/sass/__tests__/list-advanced.test.js +157 -0
  365. package/lib/sass/__tests__/list-advanced.test.js.map +1 -0
  366. package/lib/sass/__tests__/list-functions.test.d.ts +1 -0
  367. package/lib/sass/__tests__/list-functions.test.js +153 -0
  368. package/lib/sass/__tests__/list-functions.test.js.map +1 -0
  369. package/lib/sass/__tests__/map-functions.test.d.ts +1 -0
  370. package/lib/sass/__tests__/map-functions.test.js +208 -0
  371. package/lib/sass/__tests__/map-functions.test.js.map +1 -0
  372. package/lib/sass/__tests__/math-functions.test.d.ts +1 -0
  373. package/lib/sass/__tests__/math-functions.test.js +73 -0
  374. package/lib/sass/__tests__/math-functions.test.js.map +1 -0
  375. package/lib/sass/__tests__/math-remaining.test.d.ts +1 -0
  376. package/lib/sass/__tests__/math-remaining.test.js +113 -0
  377. package/lib/sass/__tests__/math-remaining.test.js.map +1 -0
  378. package/lib/sass/__tests__/opacity.test.d.ts +1 -0
  379. package/lib/sass/__tests__/opacity.test.js +53 -0
  380. package/lib/sass/__tests__/opacity.test.js.map +1 -0
  381. package/lib/sass/__tests__/string-functions.test.d.ts +1 -0
  382. package/lib/sass/__tests__/string-functions.test.js +109 -0
  383. package/lib/sass/__tests__/string-functions.test.js.map +1 -0
  384. package/lib/sass/__tests__/string-remaining.test.d.ts +1 -0
  385. package/lib/sass/__tests__/string-remaining.test.js +131 -0
  386. package/lib/sass/__tests__/string-remaining.test.js.map +1 -0
  387. package/lib/sass/adjust-hue.d.ts +10 -0
  388. package/lib/sass/adjust-hue.js +11 -0
  389. package/lib/sass/adjust-hue.js.map +1 -0
  390. package/lib/sass/color/index.d.ts +22 -0
  391. package/lib/sass/color/index.js +43 -0
  392. package/lib/sass/color/index.js.map +1 -0
  393. package/lib/sass/color/red.d.ts +7 -0
  394. package/lib/sass/color/red.js +8 -0
  395. package/lib/sass/color/red.js.map +1 -0
  396. package/lib/sass/compatible.d.ts +610 -0
  397. package/lib/sass/compatible.js +62 -0
  398. package/lib/sass/compatible.js.map +1 -0
  399. package/lib/sass/complement.d.ts +450 -0
  400. package/lib/sass/complement.js +28 -0
  401. package/lib/sass/complement.js.map +1 -0
  402. package/lib/sass/fade-in.d.ts +10 -0
  403. package/lib/sass/fade-in.js +11 -0
  404. package/lib/sass/fade-in.js.map +1 -0
  405. package/lib/sass/fade-out.d.ts +10 -0
  406. package/lib/sass/fade-out.js +11 -0
  407. package/lib/sass/fade-out.js.map +1 -0
  408. package/lib/sass/grayscale.d.ts +10 -0
  409. package/lib/sass/grayscale.js +11 -0
  410. package/lib/sass/grayscale.js.map +1 -0
  411. package/lib/sass/hue.d.ts +450 -0
  412. package/lib/sass/hue.js +24 -0
  413. package/lib/sass/hue.js.map +1 -0
  414. package/lib/sass/ie-hex-str.d.ts +10 -0
  415. package/lib/sass/ie-hex-str.js +11 -0
  416. package/lib/sass/ie-hex-str.js.map +1 -0
  417. package/lib/sass/index.d.ts +64 -0
  418. package/lib/sass/index.js +90 -0
  419. package/lib/sass/index.js.map +1 -0
  420. package/lib/sass/invert.d.ts +813 -0
  421. package/lib/sass/invert.js +36 -0
  422. package/lib/sass/invert.js.map +1 -0
  423. package/lib/sass/lightness.d.ts +450 -0
  424. package/lib/sass/lightness.js +24 -0
  425. package/lib/sass/lightness.js.map +1 -0
  426. package/lib/sass/list/append.d.ts +989 -0
  427. package/lib/sass/list/append.js +54 -0
  428. package/lib/sass/list/append.js.map +1 -0
  429. package/lib/sass/list/index.d.ts +21 -0
  430. package/lib/sass/list/index.js +24 -0
  431. package/lib/sass/list/index.js.map +1 -0
  432. package/lib/sass/list/is-bracketed.d.ts +450 -0
  433. package/lib/sass/list/is-bracketed.js +30 -0
  434. package/lib/sass/list/is-bracketed.js.map +1 -0
  435. package/lib/sass/list/join.d.ts +1354 -0
  436. package/lib/sass/list/join.js +66 -0
  437. package/lib/sass/list/join.js.map +1 -0
  438. package/lib/sass/list/length.d.ts +450 -0
  439. package/lib/sass/list/length.js +22 -0
  440. package/lib/sass/list/length.js.map +1 -0
  441. package/lib/sass/list/list-index.d.ts +609 -0
  442. package/lib/sass/list/list-index.js +49 -0
  443. package/lib/sass/list/list-index.js.map +1 -0
  444. package/lib/sass/list/nth.d.ts +634 -0
  445. package/lib/sass/list/nth.js +36 -0
  446. package/lib/sass/list/nth.js.map +1 -0
  447. package/lib/sass/list/separator.d.ts +451 -0
  448. package/lib/sass/list/separator.js +36 -0
  449. package/lib/sass/list/separator.js.map +1 -0
  450. package/lib/sass/list/set-nth.d.ts +756 -0
  451. package/lib/sass/list/set-nth.js +42 -0
  452. package/lib/sass/list/set-nth.js.map +1 -0
  453. package/lib/sass/list/zip.d.ts +474 -0
  454. package/lib/sass/list/zip.js +46 -0
  455. package/lib/sass/list/zip.js.map +1 -0
  456. package/lib/sass/map/get.d.ts +757 -0
  457. package/lib/sass/map/get.js +79 -0
  458. package/lib/sass/map/get.js.map +1 -0
  459. package/lib/sass/map/has-key.d.ts +757 -0
  460. package/lib/sass/map/has-key.js +76 -0
  461. package/lib/sass/map/has-key.js.map +1 -0
  462. package/lib/sass/map/index.d.ts +19 -0
  463. package/lib/sass/map/index.js +23 -0
  464. package/lib/sass/map/index.js.map +1 -0
  465. package/lib/sass/map/keys.d.ts +449 -0
  466. package/lib/sass/map/keys.js +39 -0
  467. package/lib/sass/map/keys.js.map +1 -0
  468. package/lib/sass/map/merge.d.ts +608 -0
  469. package/lib/sass/map/merge.js +54 -0
  470. package/lib/sass/map/merge.js.map +1 -0
  471. package/lib/sass/map/remove.d.ts +633 -0
  472. package/lib/sass/map/remove.js +41 -0
  473. package/lib/sass/map/remove.js.map +1 -0
  474. package/lib/sass/map/set.d.ts +731 -0
  475. package/lib/sass/map/set.js +72 -0
  476. package/lib/sass/map/set.js.map +1 -0
  477. package/lib/sass/map/values.d.ts +449 -0
  478. package/lib/sass/map/values.js +30 -0
  479. package/lib/sass/map/values.js.map +1 -0
  480. package/lib/sass/math/abs.d.ts +7 -0
  481. package/lib/sass/math/abs.js +8 -0
  482. package/lib/sass/math/abs.js.map +1 -0
  483. package/lib/sass/math/index.d.ts +18 -0
  484. package/lib/sass/math/index.js +43 -0
  485. package/lib/sass/math/index.js.map +1 -0
  486. package/lib/sass/opacify.d.ts +11 -0
  487. package/lib/sass/opacify.js +12 -0
  488. package/lib/sass/opacify.js.map +1 -0
  489. package/lib/sass/opacity.d.ts +451 -0
  490. package/lib/sass/opacity.js +33 -0
  491. package/lib/sass/opacity.js.map +1 -0
  492. package/lib/sass/percentage.d.ts +449 -0
  493. package/lib/sass/percentage.js +26 -0
  494. package/lib/sass/percentage.js.map +1 -0
  495. package/lib/sass/quote.d.ts +449 -0
  496. package/lib/sass/quote.js +27 -0
  497. package/lib/sass/quote.js.map +1 -0
  498. package/lib/sass/random.d.ts +534 -0
  499. package/lib/sass/random.js +37 -0
  500. package/lib/sass/random.js.map +1 -0
  501. package/lib/sass/saturation.d.ts +450 -0
  502. package/lib/sass/saturation.js +24 -0
  503. package/lib/sass/saturation.js.map +1 -0
  504. package/lib/sass/str-index.d.ts +609 -0
  505. package/lib/sass/str-index.js +34 -0
  506. package/lib/sass/str-index.js.map +1 -0
  507. package/lib/sass/str-insert.d.ts +756 -0
  508. package/lib/sass/str-insert.js +61 -0
  509. package/lib/sass/str-insert.js.map +1 -0
  510. package/lib/sass/str-slice.d.ts +1039 -0
  511. package/lib/sass/str-slice.js +95 -0
  512. package/lib/sass/str-slice.js.map +1 -0
  513. package/lib/sass/string/index.d.ts +18 -0
  514. package/lib/sass/string/index.js +25 -0
  515. package/lib/sass/string/index.js.map +1 -0
  516. package/lib/sass/string/length.d.ts +450 -0
  517. package/lib/sass/string/length.js +32 -0
  518. package/lib/sass/string/length.js.map +1 -0
  519. package/lib/sass/to-lower-case.d.ts +449 -0
  520. package/lib/sass/to-lower-case.js +23 -0
  521. package/lib/sass/to-lower-case.js.map +1 -0
  522. package/lib/sass/to-upper-case.d.ts +449 -0
  523. package/lib/sass/to-upper-case.js +23 -0
  524. package/lib/sass/to-upper-case.js.map +1 -0
  525. package/lib/sass/transparentize.d.ts +11 -0
  526. package/lib/sass/transparentize.js +12 -0
  527. package/lib/sass/transparentize.js.map +1 -0
  528. package/lib/sass/unique-id.d.ts +341 -0
  529. package/lib/sass/unique-id.js +23 -0
  530. package/lib/sass/unique-id.js.map +1 -0
  531. package/lib/sass/unit.d.ts +762 -0
  532. package/lib/sass/unit.js +37 -0
  533. package/lib/sass/unit.js.map +1 -0
  534. package/lib/sass/unitless.d.ts +450 -0
  535. package/lib/sass/unitless.js +23 -0
  536. package/lib/sass/unitless.js.map +1 -0
  537. package/lib/sass/unquote.d.ts +449 -0
  538. package/lib/sass/unquote.js +27 -0
  539. package/lib/sass/unquote.js.map +1 -0
  540. package/lib/shared/color/alpha.d.ts +441 -0
  541. package/lib/shared/color/alpha.js +10 -0
  542. package/lib/shared/color/alpha.js.map +1 -0
  543. package/lib/shared/color/blue.d.ts +441 -0
  544. package/lib/shared/color/blue.js +10 -0
  545. package/lib/shared/color/blue.js.map +1 -0
  546. package/lib/shared/color/green.d.ts +441 -0
  547. package/lib/shared/color/green.js +10 -0
  548. package/lib/shared/color/green.js.map +1 -0
  549. package/lib/shared/color/red.d.ts +441 -0
  550. package/lib/shared/color/red.js +10 -0
  551. package/lib/shared/color/red.js.map +1 -0
  552. package/lib/shared/index.d.ts +16 -0
  553. package/lib/shared/index.js +19 -0
  554. package/lib/shared/index.js.map +1 -0
  555. package/lib/shared/math/__tests__/max.test.d.ts +1 -0
  556. package/lib/shared/math/__tests__/max.test.js +12 -0
  557. package/lib/shared/math/__tests__/max.test.js.map +1 -0
  558. package/lib/shared/math/__tests__/min.test.d.ts +1 -0
  559. package/lib/shared/math/__tests__/min.test.js +12 -0
  560. package/lib/shared/math/__tests__/min.test.js.map +1 -0
  561. package/lib/shared/math/__tests__/round.test.d.ts +1 -0
  562. package/lib/shared/math/__tests__/round.test.js +10 -0
  563. package/lib/shared/math/__tests__/round.test.js.map +1 -0
  564. package/lib/shared/math/abs.d.ts +441 -0
  565. package/lib/shared/math/abs.js +11 -0
  566. package/lib/shared/math/abs.js.map +1 -0
  567. package/lib/shared/math/ceil.d.ts +441 -0
  568. package/lib/shared/math/ceil.js +11 -0
  569. package/lib/shared/math/ceil.js.map +1 -0
  570. package/lib/shared/math/floor.d.ts +441 -0
  571. package/lib/shared/math/floor.js +11 -0
  572. package/lib/shared/math/floor.js.map +1 -0
  573. package/lib/shared/math/max.d.ts +469 -0
  574. package/lib/shared/math/max.js +22 -0
  575. package/lib/shared/math/max.js.map +1 -0
  576. package/lib/shared/math/min.d.ts +469 -0
  577. package/lib/shared/math/min.js +22 -0
  578. package/lib/shared/math/min.js.map +1 -0
  579. package/lib/shared/math/round.d.ts +778 -0
  580. package/lib/shared/math/round.js +17 -0
  581. package/lib/shared/math/round.js.map +1 -0
  582. package/lib/util/colorHelper.d.ts +2 -0
  583. package/lib/util/colorHelper.js +32 -0
  584. package/lib/util/colorHelper.js.map +1 -0
  585. package/lib/util/get-color-func-values.d.ts +5 -0
  586. package/lib/util/get-color-func-values.js +28 -0
  587. package/lib/util/get-color-func-values.js.map +1 -0
  588. package/lib/util/get-hsla.d.ts +10 -0
  589. package/lib/util/get-hsla.js +38 -0
  590. package/lib/util/get-hsla.js.map +1 -0
  591. package/lib/util/get-luma.d.ts +2 -0
  592. package/lib/util/get-luma.js +10 -0
  593. package/lib/util/get-luma.js.map +1 -0
  594. package/lib/util/index.d.ts +5 -0
  595. package/lib/util/index.js +17 -0
  596. package/lib/util/index.js.map +1 -0
  597. package/lib/util/mathHelper.d.ts +4 -0
  598. package/lib/util/mathHelper.js +45 -0
  599. package/lib/util/mathHelper.js.map +1 -0
  600. package/lib/util/number.d.ts +4 -0
  601. package/lib/util/number.js +23 -0
  602. package/lib/util/number.js.map +1 -0
  603. package/lib/util/relative-color.d.ts +54 -0
  604. package/lib/util/relative-color.js +268 -0
  605. package/lib/util/relative-color.js.map +1 -0
  606. package/lib/util/serialize-node.d.ts +2 -0
  607. package/lib/util/serialize-node.js +8 -0
  608. package/lib/util/serialize-node.js.map +1 -0
  609. package/lib/util/to-hsl.d.ts +7 -0
  610. package/lib/util/to-hsl.js +6 -0
  611. package/lib/util/to-hsl.js.map +1 -0
  612. package/lib/util/to-hsv.d.ts +7 -0
  613. package/lib/util/to-hsv.js +73 -0
  614. package/lib/util/to-hsv.js.map +1 -0
  615. package/package.json +39 -16
  616. package/lib/color-blending.d.ts +0 -9
  617. package/lib/color-blending.js +0 -83
  618. package/lib/color.d.ts +0 -42
  619. package/lib/color.js +0 -407
  620. package/lib/each.d.ts +0 -14
  621. package/lib/each.js +0 -35
  622. package/lib/iif.d.ts +0 -4
  623. package/lib/iif.js +0 -10
  624. package/lib/math.d.ts +0 -13
  625. package/lib/math.js +0 -199
@@ -0,0 +1,610 @@
1
+ /**
2
+ * Sass compatible() function (global) / math.compatible() (module)
3
+ *
4
+ * Checks if two numbers have compatible units (can be compared/operated on).
5
+ *
6
+ * @example
7
+ * compatible(10px, 20px) // true
8
+ * compatible(10px, 20rem) // false (incompatible length units)
9
+ * compatible(10px, 20s) // false (different unit types)
10
+ */
11
+ import { Dimension, Bool } from '@jesscss/core';
12
+ declare const compatible: {
13
+ (args_0: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
14
+ [x: string]: never;
15
+ readonly number1: Dimension;
16
+ readonly number2: Dimension;
17
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
18
+ [x: string]: never;
19
+ readonly number1: Dimension;
20
+ readonly number2: Dimension;
21
+ }>, never>), args_1: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
22
+ [x: string]: never;
23
+ readonly number1: Dimension;
24
+ readonly number2: Dimension;
25
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
26
+ [x: string]: never;
27
+ number2: Dimension;
28
+ }>, never>)): Bool;
29
+ (record: {} & Omit<import("type-fest").OmitIndexSignature<{
30
+ [x: string]: never;
31
+ readonly number1: Dimension;
32
+ readonly number2: Dimension;
33
+ }>, never>): Bool;
34
+ name: string;
35
+ params: readonly [{
36
+ readonly name: "number1";
37
+ readonly type: typeof Dimension;
38
+ }, {
39
+ readonly name: "number2";
40
+ readonly type: typeof Dimension;
41
+ }];
42
+ } & {
43
+ (arg1: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
44
+ [x: string]: never;
45
+ readonly number1: Dimension;
46
+ readonly number2: Dimension;
47
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
48
+ [x: string]: never;
49
+ readonly number1: Dimension;
50
+ readonly number2: Dimension;
51
+ }>, never>)): Bool;
52
+ (arg1: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
53
+ [x: string]: never;
54
+ readonly number1: Dimension;
55
+ readonly number2: Dimension;
56
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
57
+ [x: string]: never;
58
+ readonly number1: Dimension;
59
+ readonly number2: Dimension;
60
+ }>, never>), arg2: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
61
+ [x: string]: never;
62
+ readonly number1: Dimension;
63
+ readonly number2: Dimension;
64
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
65
+ [x: string]: never;
66
+ number2: Dimension;
67
+ }>, never>)): Bool;
68
+ } & {
69
+ call(thisArg: any, ...args: Parameters<{
70
+ (...args: [Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
71
+ [x: string]: never;
72
+ readonly number1: Dimension;
73
+ readonly number2: Dimension;
74
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
75
+ [x: string]: never;
76
+ readonly number1: Dimension;
77
+ readonly number2: Dimension;
78
+ }>, never>), Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
79
+ [x: string]: never;
80
+ readonly number1: Dimension;
81
+ readonly number2: Dimension;
82
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
83
+ [x: string]: never;
84
+ number2: Dimension;
85
+ }>, never>)]): Bool;
86
+ (record: {} & Omit<import("type-fest").OmitIndexSignature<{
87
+ [x: string]: never;
88
+ readonly number1: Dimension;
89
+ readonly number2: Dimension;
90
+ }>, never>): Bool;
91
+ name: string;
92
+ params: readonly [{
93
+ readonly name: "number1";
94
+ readonly type: typeof Dimension;
95
+ }, {
96
+ readonly name: "number2";
97
+ readonly type: typeof Dimension;
98
+ }];
99
+ } & (readonly [{
100
+ readonly name: "number1";
101
+ readonly type: typeof Dimension;
102
+ }, {
103
+ readonly name: "number2";
104
+ readonly type: typeof Dimension;
105
+ }] extends readonly [{
106
+ name: string;
107
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
108
+ optional: true;
109
+ }] ? {
110
+ (): Bool;
111
+ (arg1: never): Bool;
112
+ } : readonly [{
113
+ readonly name: "number1";
114
+ readonly type: typeof Dimension;
115
+ }, {
116
+ readonly name: "number2";
117
+ readonly type: typeof Dimension;
118
+ }] extends readonly [{
119
+ name: string;
120
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
121
+ optional?: boolean;
122
+ }] ? (arg1: never) => Bool : readonly [{
123
+ readonly name: "number1";
124
+ readonly type: typeof Dimension;
125
+ }, {
126
+ readonly name: "number2";
127
+ readonly type: typeof Dimension;
128
+ }] extends readonly [{
129
+ name: string;
130
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
131
+ optional: true;
132
+ }, {
133
+ name: string;
134
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
135
+ optional: true;
136
+ }] ? {
137
+ (): Bool;
138
+ (arg1: undefined): Bool;
139
+ (arg1: undefined, arg2: undefined): Bool;
140
+ } : readonly [{
141
+ readonly name: "number1";
142
+ readonly type: typeof Dimension;
143
+ }, {
144
+ readonly name: "number2";
145
+ readonly type: typeof Dimension;
146
+ }] extends readonly [{
147
+ name: string;
148
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
149
+ optional?: boolean;
150
+ }, {
151
+ name: string;
152
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
153
+ optional: true;
154
+ }] ? {
155
+ (arg1: undefined): Bool;
156
+ (arg1: undefined, arg2: undefined): Bool;
157
+ } : readonly [{
158
+ readonly name: "number1";
159
+ readonly type: typeof Dimension;
160
+ }, {
161
+ readonly name: "number2";
162
+ readonly type: typeof Dimension;
163
+ }] extends readonly [{
164
+ name: string;
165
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
166
+ optional?: boolean;
167
+ }, {
168
+ name: string;
169
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
170
+ optional?: boolean;
171
+ }] ? {
172
+ (arg1: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
173
+ [x: string]: never;
174
+ readonly number1: Dimension;
175
+ readonly number2: Dimension;
176
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
177
+ [x: string]: never;
178
+ readonly number1: Dimension;
179
+ readonly number2: Dimension;
180
+ }>, never>)): Bool;
181
+ (arg1: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
182
+ [x: string]: never;
183
+ readonly number1: Dimension;
184
+ readonly number2: Dimension;
185
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
186
+ [x: string]: never;
187
+ readonly number1: Dimension;
188
+ readonly number2: Dimension;
189
+ }>, never>), arg2: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
190
+ [x: string]: never;
191
+ readonly number1: Dimension;
192
+ readonly number2: Dimension;
193
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
194
+ [x: string]: never;
195
+ number2: Dimension;
196
+ }>, never>)): Bool;
197
+ } : readonly [{
198
+ readonly name: "number1";
199
+ readonly type: typeof Dimension;
200
+ }, {
201
+ readonly name: "number2";
202
+ readonly type: typeof Dimension;
203
+ }] extends readonly [{
204
+ name: string;
205
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
206
+ optional?: boolean;
207
+ }, {
208
+ name: string;
209
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
210
+ optional?: boolean;
211
+ }, {
212
+ name: string;
213
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
214
+ optional: true;
215
+ }] ? {
216
+ (arg1: never, arg2: never): Bool;
217
+ (arg1: never, arg2: never, arg3: never): Bool;
218
+ } : readonly [{
219
+ readonly name: "number1";
220
+ readonly type: typeof Dimension;
221
+ }, {
222
+ readonly name: "number2";
223
+ readonly type: typeof Dimension;
224
+ }] extends readonly [{
225
+ name: string;
226
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
227
+ optional?: boolean;
228
+ }, {
229
+ name: string;
230
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
231
+ optional?: boolean;
232
+ }, {
233
+ name: string;
234
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
235
+ optional?: boolean;
236
+ }] ? (arg1: never, arg2: never, arg3: never) => Bool : readonly [{
237
+ readonly name: "number1";
238
+ readonly type: typeof Dimension;
239
+ }, {
240
+ readonly name: "number2";
241
+ readonly type: typeof Dimension;
242
+ }] extends readonly [{
243
+ name: string;
244
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
245
+ optional?: boolean;
246
+ }, {
247
+ name: string;
248
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
249
+ optional?: boolean;
250
+ }, {
251
+ name: string;
252
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
253
+ optional?: boolean;
254
+ }, {
255
+ name: string;
256
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
257
+ optional: true;
258
+ }] ? {
259
+ (arg1: never, arg2: never, arg3: never): Bool;
260
+ (arg1: never, arg2: never, arg3: never, arg4: never): Bool;
261
+ } : readonly [{
262
+ readonly name: "number1";
263
+ readonly type: typeof Dimension;
264
+ }, {
265
+ readonly name: "number2";
266
+ readonly type: typeof Dimension;
267
+ }] extends readonly [{
268
+ name: string;
269
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
270
+ optional?: boolean;
271
+ }, {
272
+ name: string;
273
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
274
+ optional?: boolean;
275
+ }, {
276
+ name: string;
277
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
278
+ optional?: boolean;
279
+ }, {
280
+ name: string;
281
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
282
+ optional?: boolean;
283
+ }] ? (arg1: never, arg2: never, arg3: never, arg4: never) => Bool : readonly [{
284
+ readonly name: "number1";
285
+ readonly type: typeof Dimension;
286
+ }, {
287
+ readonly name: "number2";
288
+ readonly type: typeof Dimension;
289
+ }] extends readonly [{
290
+ name: string;
291
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
292
+ optional?: boolean;
293
+ }, {
294
+ name: string;
295
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
296
+ optional?: boolean;
297
+ }, {
298
+ name: string;
299
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
300
+ optional?: boolean;
301
+ }, {
302
+ name: string;
303
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
304
+ optional?: boolean;
305
+ }, {
306
+ name: string;
307
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
308
+ optional: true;
309
+ }] ? {
310
+ (arg1: never, arg2: never, arg3: never, arg4: never): Bool;
311
+ (arg1: never, arg2: never, arg3: never, arg4: never, arg5: never): Bool;
312
+ } : readonly [{
313
+ readonly name: "number1";
314
+ readonly type: typeof Dimension;
315
+ }, {
316
+ readonly name: "number2";
317
+ readonly type: typeof Dimension;
318
+ }] extends readonly [{
319
+ name: string;
320
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
321
+ optional?: boolean;
322
+ }, {
323
+ name: string;
324
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
325
+ optional?: boolean;
326
+ }, {
327
+ name: string;
328
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
329
+ optional?: boolean;
330
+ }, {
331
+ name: string;
332
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
333
+ optional?: boolean;
334
+ }, {
335
+ name: string;
336
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
337
+ optional?: boolean;
338
+ }] ? (arg1: never, arg2: never, arg3: never, arg4: never, arg5: never) => Bool : 2 extends number ? 2 extends 0 | 1 | 2 | 3 | 4 | 5 ? {} : (...args: any[]) => Bool : {}) & any>): Bool;
339
+ apply(thisArg: any, args: Parameters<{
340
+ (...args: [Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
341
+ [x: string]: never;
342
+ readonly number1: Dimension;
343
+ readonly number2: Dimension;
344
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
345
+ [x: string]: never;
346
+ readonly number1: Dimension;
347
+ readonly number2: Dimension;
348
+ }>, never>), Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
349
+ [x: string]: never;
350
+ readonly number1: Dimension;
351
+ readonly number2: Dimension;
352
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
353
+ [x: string]: never;
354
+ number2: Dimension;
355
+ }>, never>)]): Bool;
356
+ (record: {} & Omit<import("type-fest").OmitIndexSignature<{
357
+ [x: string]: never;
358
+ readonly number1: Dimension;
359
+ readonly number2: Dimension;
360
+ }>, never>): Bool;
361
+ name: string;
362
+ params: readonly [{
363
+ readonly name: "number1";
364
+ readonly type: typeof Dimension;
365
+ }, {
366
+ readonly name: "number2";
367
+ readonly type: typeof Dimension;
368
+ }];
369
+ } & (readonly [{
370
+ readonly name: "number1";
371
+ readonly type: typeof Dimension;
372
+ }, {
373
+ readonly name: "number2";
374
+ readonly type: typeof Dimension;
375
+ }] extends readonly [{
376
+ name: string;
377
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
378
+ optional: true;
379
+ }] ? {
380
+ (): Bool;
381
+ (arg1: never): Bool;
382
+ } : readonly [{
383
+ readonly name: "number1";
384
+ readonly type: typeof Dimension;
385
+ }, {
386
+ readonly name: "number2";
387
+ readonly type: typeof Dimension;
388
+ }] extends readonly [{
389
+ name: string;
390
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
391
+ optional?: boolean;
392
+ }] ? (arg1: never) => Bool : readonly [{
393
+ readonly name: "number1";
394
+ readonly type: typeof Dimension;
395
+ }, {
396
+ readonly name: "number2";
397
+ readonly type: typeof Dimension;
398
+ }] extends readonly [{
399
+ name: string;
400
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
401
+ optional: true;
402
+ }, {
403
+ name: string;
404
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
405
+ optional: true;
406
+ }] ? {
407
+ (): Bool;
408
+ (arg1: undefined): Bool;
409
+ (arg1: undefined, arg2: undefined): Bool;
410
+ } : readonly [{
411
+ readonly name: "number1";
412
+ readonly type: typeof Dimension;
413
+ }, {
414
+ readonly name: "number2";
415
+ readonly type: typeof Dimension;
416
+ }] extends readonly [{
417
+ name: string;
418
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
419
+ optional?: boolean;
420
+ }, {
421
+ name: string;
422
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
423
+ optional: true;
424
+ }] ? {
425
+ (arg1: undefined): Bool;
426
+ (arg1: undefined, arg2: undefined): Bool;
427
+ } : readonly [{
428
+ readonly name: "number1";
429
+ readonly type: typeof Dimension;
430
+ }, {
431
+ readonly name: "number2";
432
+ readonly type: typeof Dimension;
433
+ }] extends readonly [{
434
+ name: string;
435
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
436
+ optional?: boolean;
437
+ }, {
438
+ name: string;
439
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
440
+ optional?: boolean;
441
+ }] ? {
442
+ (arg1: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
443
+ [x: string]: never;
444
+ readonly number1: Dimension;
445
+ readonly number2: Dimension;
446
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
447
+ [x: string]: never;
448
+ readonly number1: Dimension;
449
+ readonly number2: Dimension;
450
+ }>, never>)): Bool;
451
+ (arg1: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
452
+ [x: string]: never;
453
+ readonly number1: Dimension;
454
+ readonly number2: Dimension;
455
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
456
+ [x: string]: never;
457
+ readonly number1: Dimension;
458
+ readonly number2: Dimension;
459
+ }>, never>), arg2: Dimension | (Partial<{} & Omit<import("type-fest").OmitIndexSignature<{
460
+ [x: string]: never;
461
+ readonly number1: Dimension;
462
+ readonly number2: Dimension;
463
+ }>, never>> & {} & Omit<import("type-fest").OmitIndexSignature<{
464
+ [x: string]: never;
465
+ number2: Dimension;
466
+ }>, never>)): Bool;
467
+ } : readonly [{
468
+ readonly name: "number1";
469
+ readonly type: typeof Dimension;
470
+ }, {
471
+ readonly name: "number2";
472
+ readonly type: typeof Dimension;
473
+ }] extends readonly [{
474
+ name: string;
475
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
476
+ optional?: boolean;
477
+ }, {
478
+ name: string;
479
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
480
+ optional?: boolean;
481
+ }, {
482
+ name: string;
483
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
484
+ optional: true;
485
+ }] ? {
486
+ (arg1: never, arg2: never): Bool;
487
+ (arg1: never, arg2: never, arg3: never): Bool;
488
+ } : readonly [{
489
+ readonly name: "number1";
490
+ readonly type: typeof Dimension;
491
+ }, {
492
+ readonly name: "number2";
493
+ readonly type: typeof Dimension;
494
+ }] extends readonly [{
495
+ name: string;
496
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
497
+ optional?: boolean;
498
+ }, {
499
+ name: string;
500
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
501
+ optional?: boolean;
502
+ }, {
503
+ name: string;
504
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
505
+ optional?: boolean;
506
+ }] ? (arg1: never, arg2: never, arg3: never) => Bool : readonly [{
507
+ readonly name: "number1";
508
+ readonly type: typeof Dimension;
509
+ }, {
510
+ readonly name: "number2";
511
+ readonly type: typeof Dimension;
512
+ }] extends readonly [{
513
+ name: string;
514
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
515
+ optional?: boolean;
516
+ }, {
517
+ name: string;
518
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
519
+ optional?: boolean;
520
+ }, {
521
+ name: string;
522
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
523
+ optional?: boolean;
524
+ }, {
525
+ name: string;
526
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
527
+ optional: true;
528
+ }] ? {
529
+ (arg1: never, arg2: never, arg3: never): Bool;
530
+ (arg1: never, arg2: never, arg3: never, arg4: never): Bool;
531
+ } : readonly [{
532
+ readonly name: "number1";
533
+ readonly type: typeof Dimension;
534
+ }, {
535
+ readonly name: "number2";
536
+ readonly type: typeof Dimension;
537
+ }] extends readonly [{
538
+ name: string;
539
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
540
+ optional?: boolean;
541
+ }, {
542
+ name: string;
543
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
544
+ optional?: boolean;
545
+ }, {
546
+ name: string;
547
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
548
+ optional?: boolean;
549
+ }, {
550
+ name: string;
551
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
552
+ optional?: boolean;
553
+ }] ? (arg1: never, arg2: never, arg3: never, arg4: never) => Bool : readonly [{
554
+ readonly name: "number1";
555
+ readonly type: typeof Dimension;
556
+ }, {
557
+ readonly name: "number2";
558
+ readonly type: typeof Dimension;
559
+ }] extends readonly [{
560
+ name: string;
561
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
562
+ optional?: boolean;
563
+ }, {
564
+ name: string;
565
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
566
+ optional?: boolean;
567
+ }, {
568
+ name: string;
569
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
570
+ optional?: boolean;
571
+ }, {
572
+ name: string;
573
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
574
+ optional?: boolean;
575
+ }, {
576
+ name: string;
577
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
578
+ optional: true;
579
+ }] ? {
580
+ (arg1: never, arg2: never, arg3: never, arg4: never): Bool;
581
+ (arg1: never, arg2: never, arg3: never, arg4: never, arg5: never): Bool;
582
+ } : readonly [{
583
+ readonly name: "number1";
584
+ readonly type: typeof Dimension;
585
+ }, {
586
+ readonly name: "number2";
587
+ readonly type: typeof Dimension;
588
+ }] extends readonly [{
589
+ name: string;
590
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
591
+ optional?: boolean;
592
+ }, {
593
+ name: string;
594
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
595
+ optional?: boolean;
596
+ }, {
597
+ name: string;
598
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
599
+ optional?: boolean;
600
+ }, {
601
+ name: string;
602
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
603
+ optional?: boolean;
604
+ }, {
605
+ name: string;
606
+ type: import("@jesscss/core").ArgType | readonly import("@jesscss/core").ArgType[];
607
+ optional?: boolean;
608
+ }] ? (arg1: never, arg2: never, arg3: never, arg4: never, arg5: never) => Bool : 2 extends number ? 2 extends 0 | 1 | 2 | 3 | 4 | 5 ? {} : (...args: any[]) => Bool : {}) & any>): Bool;
609
+ };
610
+ export default compatible;
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Sass compatible() function (global) / math.compatible() (module)
3
+ *
4
+ * Checks if two numbers have compatible units (can be compared/operated on).
5
+ *
6
+ * @example
7
+ * compatible(10px, 20px) // true
8
+ * compatible(10px, 20rem) // false (incompatible length units)
9
+ * compatible(10px, 20s) // false (different unit types)
10
+ */
11
+ import { defineFunction, Dimension, Bool } from '@jesscss/core';
12
+ const compatible = defineFunction('compatible', function (number1, number2) {
13
+ // Get context - either from FunctionThis or directly as Context, or undefined
14
+ let context;
15
+ if (this) {
16
+ if ('context' in this && typeof this.context !== 'undefined') {
17
+ context = this.context;
18
+ }
19
+ else if ('opts' in this) {
20
+ // It's a Context object
21
+ context = this;
22
+ }
23
+ }
24
+ // Check if units are compatible
25
+ const unit1 = number1.value.unit;
26
+ const unit2 = number2.value.unit;
27
+ // Both unitless = compatible
28
+ if (!unit1 && !unit2) {
29
+ return new Bool(true);
30
+ }
31
+ // One unitless, one with unit = incompatible for comparison
32
+ if (!unit1 || !unit2) {
33
+ return new Bool(false);
34
+ }
35
+ // Same unit = compatible
36
+ if (unit1 === unit2) {
37
+ return new Bool(true);
38
+ }
39
+ // Check if units are in the same conversion group
40
+ const unitToGroup = number1.unitToGroup;
41
+ const group1 = unitToGroup.get(unit1);
42
+ const group2 = unitToGroup.get(unit2);
43
+ // Same group = compatible (can be converted)
44
+ if (group1 && group2 && group1 === group2) {
45
+ return new Bool(true);
46
+ }
47
+ // Different groups or unknown units = incompatible
48
+ return new Bool(false);
49
+ }, {
50
+ params: [
51
+ {
52
+ name: 'number1',
53
+ type: Dimension
54
+ },
55
+ {
56
+ name: 'number2',
57
+ type: Dimension
58
+ }
59
+ ]
60
+ });
61
+ export default compatible;
62
+ //# sourceMappingURL=compatible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatible.js","sourceRoot":"","sources":["../../src/sass/compatible.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAmC,MAAM,eAAe,CAAC;AAEjG,MAAM,UAAU,GAAG,cAAc,CAC/B,YAAY,EACZ,UAAmD,OAAkB,EAAE,OAAkB;IACvF,8EAA8E;IAC9E,IAAI,OAA4B,CAAC;IACjC,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,SAAS,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YAC7D,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,CAAC;aAAM,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,wBAAwB;YACxB,OAAO,GAAG,IAAe,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;IAEjC,6BAA6B;IAC7B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,yBAAyB;IACzB,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,kDAAkD;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEtC,6CAA6C;IAC7C,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,mDAAmD;IACnD,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC,EACD;IACE,MAAM,EAAE;QACN;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAChB;QACD;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;SAChB;KACF;CACF,CACF,CAAC;AAEF,eAAe,UAAU,CAAC"}