@react-x11/components 0.8.0 → 0.10.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 (721) hide show
  1. package/README.md +105 -38
  2. package/dist/charts/node.d.ts +12 -2
  3. package/dist/charts/node.d.ts.map +1 -1
  4. package/dist/charts/node.js +50 -16
  5. package/dist/charts/node.js.map +1 -1
  6. package/dist/charts/render.d.ts +12 -3
  7. package/dist/charts/render.d.ts.map +1 -1
  8. package/dist/charts/render.js +94 -25
  9. package/dist/charts/render.js.map +1 -1
  10. package/dist/code/index.d.ts.map +1 -1
  11. package/dist/code/index.js +3 -1
  12. package/dist/code/index.js.map +1 -1
  13. package/dist/code-editor/completion.d.ts.map +1 -1
  14. package/dist/code-editor/completion.js +3 -2
  15. package/dist/code-editor/completion.js.map +1 -1
  16. package/dist/code-editor/index.d.ts.map +1 -1
  17. package/dist/code-editor/index.js +19 -0
  18. package/dist/code-editor/index.js.map +1 -1
  19. package/dist/code-editor/node.d.ts +177 -7
  20. package/dist/code-editor/node.d.ts.map +1 -1
  21. package/dist/code-editor/node.js +1329 -164
  22. package/dist/code-editor/node.js.map +1 -1
  23. package/dist/code-language/languages/glsl.d.ts.map +1 -1
  24. package/dist/code-language/languages/glsl.js +10 -2
  25. package/dist/code-language/languages/glsl.js.map +1 -1
  26. package/dist/code-language/languages/javascript.d.ts.map +1 -1
  27. package/dist/code-language/languages/javascript.js +18 -3
  28. package/dist/code-language/languages/javascript.js.map +1 -1
  29. package/dist/code-language/languages/json.d.ts.map +1 -1
  30. package/dist/code-language/languages/json.js +10 -2
  31. package/dist/code-language/languages/json.js.map +1 -1
  32. package/dist/code-language/languages/shell.d.ts.map +1 -1
  33. package/dist/code-language/languages/shell.js +10 -2
  34. package/dist/code-language/languages/shell.js.map +1 -1
  35. package/dist/code-language/languages/sql.d.ts.map +1 -1
  36. package/dist/code-language/languages/sql.js +20 -2
  37. package/dist/code-language/languages/sql.js.map +1 -1
  38. package/dist/code-language/stream.d.ts +22 -0
  39. package/dist/code-language/stream.d.ts.map +1 -1
  40. package/dist/code-language/stream.js +259 -9
  41. package/dist/code-language/stream.js.map +1 -1
  42. package/dist/code-language/types.d.ts +5 -4
  43. package/dist/code-language/types.d.ts.map +1 -1
  44. package/dist/codeblock/index.d.ts +13 -2
  45. package/dist/codeblock/index.d.ts.map +1 -1
  46. package/dist/codeblock/index.js +20 -3
  47. package/dist/codeblock/index.js.map +1 -1
  48. package/dist/embed/client.d.ts +48 -3
  49. package/dist/embed/client.d.ts.map +1 -1
  50. package/dist/embed/client.js +79 -5
  51. package/dist/embed/client.js.map +1 -1
  52. package/dist/embed/index.d.ts +1 -1
  53. package/dist/embed/index.d.ts.map +1 -1
  54. package/dist/embed/index.js +1 -1
  55. package/dist/embed/index.js.map +1 -1
  56. package/dist/flow/draw.d.ts +50 -0
  57. package/dist/flow/draw.d.ts.map +1 -1
  58. package/dist/flow/draw.js +132 -33
  59. package/dist/flow/draw.js.map +1 -1
  60. package/dist/flow/gl/color.d.ts +13 -0
  61. package/dist/flow/gl/color.d.ts.map +1 -0
  62. package/dist/flow/gl/color.js +82 -0
  63. package/dist/flow/gl/color.js.map +1 -0
  64. package/dist/flow/gl/index.d.ts +60 -0
  65. package/dist/flow/gl/index.d.ts.map +1 -0
  66. package/dist/flow/gl/index.js +283 -0
  67. package/dist/flow/gl/index.js.map +1 -0
  68. package/dist/flow/gl/pack.d.ts +133 -0
  69. package/dist/flow/gl/pack.d.ts.map +1 -0
  70. package/dist/flow/gl/pack.js +408 -0
  71. package/dist/flow/gl/pack.js.map +1 -0
  72. package/dist/flow/gl/renderer.d.ts +95 -0
  73. package/dist/flow/gl/renderer.d.ts.map +1 -0
  74. package/dist/flow/gl/renderer.js +459 -0
  75. package/dist/flow/gl/renderer.js.map +1 -0
  76. package/dist/flow/gl/shaders.d.ts +79 -0
  77. package/dist/flow/gl/shaders.d.ts.map +1 -0
  78. package/dist/flow/gl/shaders.js +346 -0
  79. package/dist/flow/gl/shaders.js.map +1 -0
  80. package/dist/flow/gl/text.d.ts +318 -0
  81. package/dist/flow/gl/text.d.ts.map +1 -0
  82. package/dist/flow/gl/text.js +1103 -0
  83. package/dist/flow/gl/text.js.map +1 -0
  84. package/dist/flow/index.d.ts +1 -1
  85. package/dist/flow/index.d.ts.map +1 -1
  86. package/dist/flow/index.js +619 -64
  87. package/dist/flow/index.js.map +1 -1
  88. package/dist/flow/node.d.ts +621 -72
  89. package/dist/flow/node.d.ts.map +1 -1
  90. package/dist/flow/node.js +2253 -1018
  91. package/dist/flow/node.js.map +1 -1
  92. package/dist/flow/paint.d.ts +35 -0
  93. package/dist/flow/paint.d.ts.map +1 -0
  94. package/dist/flow/paint.js +393 -0
  95. package/dist/flow/paint.js.map +1 -0
  96. package/dist/flow/paths.d.ts +14 -0
  97. package/dist/flow/paths.d.ts.map +1 -1
  98. package/dist/flow/paths.js +45 -19
  99. package/dist/flow/paths.js.map +1 -1
  100. package/dist/flow/scene.d.ts +584 -0
  101. package/dist/flow/scene.d.ts.map +1 -0
  102. package/dist/flow/scene.js +1453 -0
  103. package/dist/flow/scene.js.map +1 -0
  104. package/dist/flow/types.d.ts +111 -1
  105. package/dist/flow/types.d.ts.map +1 -1
  106. package/dist/html/controls.d.ts +28 -0
  107. package/dist/html/controls.d.ts.map +1 -1
  108. package/dist/html/controls.js +52 -2
  109. package/dist/html/controls.js.map +1 -1
  110. package/dist/html/css/calc.d.ts +14 -0
  111. package/dist/html/css/calc.d.ts.map +1 -0
  112. package/dist/html/css/calc.js +344 -0
  113. package/dist/html/css/calc.js.map +1 -0
  114. package/dist/html/css/cascade.d.ts +240 -6
  115. package/dist/html/css/cascade.d.ts.map +1 -1
  116. package/dist/html/css/cascade.js +1327 -66
  117. package/dist/html/css/cascade.js.map +1 -1
  118. package/dist/html/css/color.d.ts +23 -0
  119. package/dist/html/css/color.d.ts.map +1 -0
  120. package/dist/html/css/color.js +740 -0
  121. package/dist/html/css/color.js.map +1 -0
  122. package/dist/html/css/content.d.ts +92 -0
  123. package/dist/html/css/content.d.ts.map +1 -0
  124. package/dist/html/css/content.js +388 -0
  125. package/dist/html/css/content.js.map +1 -0
  126. package/dist/html/css/counter-styles.d.ts +76 -0
  127. package/dist/html/css/counter-styles.d.ts.map +1 -0
  128. package/dist/html/css/counter-styles.js +893 -0
  129. package/dist/html/css/counter-styles.js.map +1 -0
  130. package/dist/html/css/decode.d.ts +12 -0
  131. package/dist/html/css/decode.d.ts.map +1 -0
  132. package/dist/html/css/decode.js +116 -0
  133. package/dist/html/css/decode.js.map +1 -0
  134. package/dist/html/css/parse.d.ts +110 -10
  135. package/dist/html/css/parse.d.ts.map +1 -1
  136. package/dist/html/css/parse.js +1473 -180
  137. package/dist/html/css/parse.js.map +1 -1
  138. package/dist/html/css/style.d.ts +498 -15
  139. package/dist/html/css/style.d.ts.map +1 -1
  140. package/dist/html/css/style.js +3698 -206
  141. package/dist/html/css/style.js.map +1 -1
  142. package/dist/html/css/ua.d.ts.map +1 -1
  143. package/dist/html/css/ua.js +57 -11
  144. package/dist/html/css/ua.js.map +1 -1
  145. package/dist/html/css/values.d.ts +37 -3
  146. package/dist/html/css/values.d.ts.map +1 -1
  147. package/dist/html/css/values.js +122 -48
  148. package/dist/html/css/values.js.map +1 -1
  149. package/dist/html/css/vars.d.ts +52 -0
  150. package/dist/html/css/vars.d.ts.map +1 -0
  151. package/dist/html/css/vars.js +358 -0
  152. package/dist/html/css/vars.js.map +1 -0
  153. package/dist/html/dom.d.ts +30 -4
  154. package/dist/html/dom.d.ts.map +1 -1
  155. package/dist/html/dom.js +278 -17
  156. package/dist/html/dom.js.map +1 -1
  157. package/dist/html/fonts.d.ts +106 -0
  158. package/dist/html/fonts.d.ts.map +1 -0
  159. package/dist/html/fonts.js +565 -0
  160. package/dist/html/fonts.js.map +1 -0
  161. package/dist/html/gif.d.ts +15 -0
  162. package/dist/html/gif.d.ts.map +1 -0
  163. package/dist/html/gif.js +229 -0
  164. package/dist/html/gif.js.map +1 -0
  165. package/dist/html/index.d.ts +50 -11
  166. package/dist/html/index.d.ts.map +1 -1
  167. package/dist/html/index.js +115 -9
  168. package/dist/html/index.js.map +1 -1
  169. package/dist/html/layout/block.d.ts +226 -3
  170. package/dist/html/layout/block.d.ts.map +1 -1
  171. package/dist/html/layout/block.js +2937 -197
  172. package/dist/html/layout/block.js.map +1 -1
  173. package/dist/html/layout/boxes.d.ts +340 -17
  174. package/dist/html/layout/boxes.d.ts.map +1 -1
  175. package/dist/html/layout/boxes.js +1714 -182
  176. package/dist/html/layout/boxes.js.map +1 -1
  177. package/dist/html/layout/cache.d.ts +58 -0
  178. package/dist/html/layout/cache.d.ts.map +1 -0
  179. package/dist/html/layout/cache.js +224 -0
  180. package/dist/html/layout/cache.js.map +1 -0
  181. package/dist/html/layout/collapse.d.ts +45 -0
  182. package/dist/html/layout/collapse.d.ts.map +1 -0
  183. package/dist/html/layout/collapse.js +246 -0
  184. package/dist/html/layout/collapse.js.map +1 -0
  185. package/dist/html/layout/css-grid.d.ts +7 -0
  186. package/dist/html/layout/css-grid.d.ts.map +1 -0
  187. package/dist/html/layout/css-grid.js +900 -0
  188. package/dist/html/layout/css-grid.js.map +1 -0
  189. package/dist/html/layout/flex.d.ts.map +1 -1
  190. package/dist/html/layout/flex.js +1025 -89
  191. package/dist/html/layout/flex.js.map +1 -1
  192. package/dist/html/layout/floats.d.ts +45 -6
  193. package/dist/html/layout/floats.d.ts.map +1 -1
  194. package/dist/html/layout/floats.js +113 -14
  195. package/dist/html/layout/floats.js.map +1 -1
  196. package/dist/html/layout/grid-lines.d.ts +39 -0
  197. package/dist/html/layout/grid-lines.d.ts.map +1 -0
  198. package/dist/html/layout/grid-lines.js +119 -0
  199. package/dist/html/layout/grid-lines.js.map +1 -0
  200. package/dist/html/layout/grid.d.ts +53 -0
  201. package/dist/html/layout/grid.d.ts.map +1 -0
  202. package/dist/html/layout/grid.js +153 -0
  203. package/dist/html/layout/grid.js.map +1 -0
  204. package/dist/html/layout/inline.d.ts +151 -1
  205. package/dist/html/layout/inline.d.ts.map +1 -1
  206. package/dist/html/layout/inline.js +3375 -174
  207. package/dist/html/layout/inline.js.map +1 -1
  208. package/dist/html/layout/shaping.d.ts +6 -0
  209. package/dist/html/layout/shaping.d.ts.map +1 -0
  210. package/dist/html/layout/shaping.js +100 -0
  211. package/dist/html/layout/shaping.js.map +1 -0
  212. package/dist/html/layout/table.d.ts +3 -0
  213. package/dist/html/layout/table.d.ts.map +1 -1
  214. package/dist/html/layout/table.js +681 -175
  215. package/dist/html/layout/table.js.map +1 -1
  216. package/dist/html/layout/tracks.d.ts +44 -0
  217. package/dist/html/layout/tracks.d.ts.map +1 -0
  218. package/dist/html/layout/tracks.js +349 -0
  219. package/dist/html/layout/tracks.js.map +1 -0
  220. package/dist/html/node.d.ts +172 -5
  221. package/dist/html/node.d.ts.map +1 -1
  222. package/dist/html/node.js +1336 -103
  223. package/dist/html/node.js.map +1 -1
  224. package/dist/html/paint.d.ts +92 -3
  225. package/dist/html/paint.d.ts.map +1 -1
  226. package/dist/html/paint.js +3503 -141
  227. package/dist/html/paint.js.map +1 -1
  228. package/dist/html/resources.d.ts +60 -14
  229. package/dist/html/resources.d.ts.map +1 -1
  230. package/dist/html/resources.js +122 -36
  231. package/dist/html/resources.js.map +1 -1
  232. package/dist/html/surfaces.d.ts +23 -0
  233. package/dist/html/surfaces.d.ts.map +1 -0
  234. package/dist/html/surfaces.js +68 -0
  235. package/dist/html/surfaces.js.map +1 -0
  236. package/dist/html/svg.d.ts +80 -0
  237. package/dist/html/svg.d.ts.map +1 -0
  238. package/dist/html/svg.js +435 -0
  239. package/dist/html/svg.js.map +1 -0
  240. package/dist/html/url.d.ts +23 -0
  241. package/dist/html/url.d.ts.map +1 -0
  242. package/dist/html/url.js +80 -0
  243. package/dist/html/url.js.map +1 -0
  244. package/dist/index.d.ts +2 -2
  245. package/dist/index.d.ts.map +1 -1
  246. package/dist/index.js +1 -1
  247. package/dist/index.js.map +1 -1
  248. package/dist/internal/collate.d.ts +3 -0
  249. package/dist/internal/collate.d.ts.map +1 -0
  250. package/dist/internal/collate.js +11 -0
  251. package/dist/internal/collate.js.map +1 -0
  252. package/dist/{markdown → internal/markdown}/ast.d.ts +23 -0
  253. package/dist/internal/markdown/ast.d.ts.map +1 -0
  254. package/dist/internal/markdown/ast.js +22 -0
  255. package/dist/internal/markdown/ast.js.map +1 -0
  256. package/dist/internal/markdown/parse.d.ts.map +1 -0
  257. package/dist/{markdown → internal/markdown}/parse.js +221 -30
  258. package/dist/internal/markdown/parse.js.map +1 -0
  259. package/dist/internal/markdown/stringify.d.ts +4 -0
  260. package/dist/internal/markdown/stringify.d.ts.map +1 -0
  261. package/dist/internal/markdown/stringify.js +684 -0
  262. package/dist/internal/markdown/stringify.js.map +1 -0
  263. package/dist/internal/markdown/tags.d.ts.map +1 -0
  264. package/dist/internal/markdown/tags.js.map +1 -0
  265. package/dist/internal/prewarm.d.ts +18 -0
  266. package/dist/internal/prewarm.d.ts.map +1 -0
  267. package/dist/internal/prewarm.js +42 -0
  268. package/dist/internal/prewarm.js.map +1 -0
  269. package/dist/internal/scroll.d.ts +3 -2
  270. package/dist/internal/scroll.d.ts.map +1 -1
  271. package/dist/internal/scroll.js +1 -0
  272. package/dist/internal/scroll.js.map +1 -1
  273. package/dist/internal/sdf.d.ts +20 -0
  274. package/dist/internal/sdf.d.ts.map +1 -0
  275. package/dist/internal/sdf.js +216 -0
  276. package/dist/internal/sdf.js.map +1 -0
  277. package/dist/internal/splice.d.ts +12 -0
  278. package/dist/internal/splice.d.ts.map +1 -0
  279. package/dist/internal/splice.js +23 -0
  280. package/dist/internal/splice.js.map +1 -0
  281. package/dist/internal/window.d.ts +12 -0
  282. package/dist/internal/window.d.ts.map +1 -1
  283. package/dist/internal/window.js +23 -6
  284. package/dist/internal/window.js.map +1 -1
  285. package/dist/maps/anchors.d.ts +103 -0
  286. package/dist/maps/anchors.d.ts.map +1 -0
  287. package/dist/maps/anchors.js +790 -0
  288. package/dist/maps/anchors.js.map +1 -0
  289. package/dist/maps/controller.d.ts +340 -0
  290. package/dist/maps/controller.d.ts.map +1 -0
  291. package/dist/maps/controller.js +822 -0
  292. package/dist/maps/controller.js.map +1 -0
  293. package/dist/maps/gl/buckets.d.ts +99 -0
  294. package/dist/maps/gl/buckets.d.ts.map +1 -0
  295. package/dist/maps/gl/buckets.js +365 -0
  296. package/dist/maps/gl/buckets.js.map +1 -0
  297. package/dist/maps/gl/build-worker.d.ts +15 -0
  298. package/dist/maps/gl/build-worker.d.ts.map +1 -0
  299. package/dist/maps/gl/build-worker.js +44 -0
  300. package/dist/maps/gl/build-worker.js.map +1 -0
  301. package/dist/maps/gl/color.d.ts +8 -0
  302. package/dist/maps/gl/color.d.ts.map +1 -0
  303. package/dist/maps/gl/color.js +57 -0
  304. package/dist/maps/gl/color.js.map +1 -0
  305. package/dist/maps/gl/cover.d.ts +70 -0
  306. package/dist/maps/gl/cover.d.ts.map +1 -0
  307. package/dist/maps/gl/cover.js +137 -0
  308. package/dist/maps/gl/cover.js.map +1 -0
  309. package/dist/maps/gl/index.d.ts +3 -0
  310. package/dist/maps/gl/index.d.ts.map +1 -0
  311. package/dist/maps/gl/index.js +20 -0
  312. package/dist/maps/gl/index.js.map +1 -0
  313. package/dist/maps/gl/markers.d.ts +28 -0
  314. package/dist/maps/gl/markers.d.ts.map +1 -0
  315. package/dist/maps/gl/markers.js +60 -0
  316. package/dist/maps/gl/markers.js.map +1 -0
  317. package/dist/maps/gl/overlays.d.ts +68 -0
  318. package/dist/maps/gl/overlays.d.ts.map +1 -0
  319. package/dist/maps/gl/overlays.js +300 -0
  320. package/dist/maps/gl/overlays.js.map +1 -0
  321. package/dist/maps/gl/pane.d.ts +12 -0
  322. package/dist/maps/gl/pane.d.ts.map +1 -0
  323. package/dist/maps/gl/pane.js +37 -0
  324. package/dist/maps/gl/pane.js.map +1 -0
  325. package/dist/maps/gl/placement.d.ts +124 -0
  326. package/dist/maps/gl/placement.d.ts.map +1 -0
  327. package/dist/maps/gl/placement.js +642 -0
  328. package/dist/maps/gl/placement.js.map +1 -0
  329. package/dist/maps/gl/renderer.d.ts +384 -0
  330. package/dist/maps/gl/renderer.d.ts.map +1 -0
  331. package/dist/maps/gl/renderer.js +1184 -0
  332. package/dist/maps/gl/renderer.js.map +1 -0
  333. package/dist/maps/gl/shaders.d.ts +121 -0
  334. package/dist/maps/gl/shaders.d.ts.map +1 -0
  335. package/dist/maps/gl/shaders.js +453 -0
  336. package/dist/maps/gl/shaders.js.map +1 -0
  337. package/dist/maps/gl/store.d.ts +125 -0
  338. package/dist/maps/gl/store.d.ts.map +1 -0
  339. package/dist/maps/gl/store.js +512 -0
  340. package/dist/maps/gl/store.js.map +1 -0
  341. package/dist/maps/gl/text.d.ts +283 -0
  342. package/dist/maps/gl/text.d.ts.map +1 -0
  343. package/dist/maps/gl/text.js +698 -0
  344. package/dist/maps/gl/text.js.map +1 -0
  345. package/dist/maps/gl/view.d.ts +345 -0
  346. package/dist/maps/gl/view.d.ts.map +1 -0
  347. package/dist/maps/gl/view.js +1209 -0
  348. package/dist/maps/gl/view.js.map +1 -0
  349. package/dist/maps/icons.d.ts +32 -0
  350. package/dist/maps/icons.d.ts.map +1 -0
  351. package/dist/maps/icons.js +151 -0
  352. package/dist/maps/icons.js.map +1 -0
  353. package/dist/maps/index.d.ts +3 -1
  354. package/dist/maps/index.d.ts.map +1 -1
  355. package/dist/maps/index.js +218 -52
  356. package/dist/maps/index.js.map +1 -1
  357. package/dist/maps/labels.d.ts +91 -18
  358. package/dist/maps/labels.d.ts.map +1 -1
  359. package/dist/maps/labels.js +376 -140
  360. package/dist/maps/labels.js.map +1 -1
  361. package/dist/maps/node.d.ts +179 -56
  362. package/dist/maps/node.d.ts.map +1 -1
  363. package/dist/maps/node.js +663 -537
  364. package/dist/maps/node.js.map +1 -1
  365. package/dist/maps/overlay.d.ts +72 -9
  366. package/dist/maps/overlay.d.ts.map +1 -1
  367. package/dist/maps/overlay.js +108 -28
  368. package/dist/maps/overlay.js.map +1 -1
  369. package/dist/maps/paint.d.ts +3 -0
  370. package/dist/maps/paint.d.ts.map +1 -1
  371. package/dist/maps/paint.js.map +1 -1
  372. package/dist/maps/proj.d.ts +62 -0
  373. package/dist/maps/proj.d.ts.map +1 -1
  374. package/dist/maps/proj.js +101 -0
  375. package/dist/maps/proj.js.map +1 -1
  376. package/dist/maps/renderer.d.ts +69 -0
  377. package/dist/maps/renderer.d.ts.map +1 -0
  378. package/dist/maps/renderer.js +66 -0
  379. package/dist/maps/renderer.js.map +1 -0
  380. package/dist/maps/sources.d.ts +30 -6
  381. package/dist/maps/sources.d.ts.map +1 -1
  382. package/dist/maps/sources.js +22 -3
  383. package/dist/maps/sources.js.map +1 -1
  384. package/dist/maps/style.d.ts +35 -0
  385. package/dist/maps/style.d.ts.map +1 -1
  386. package/dist/maps/style.js.map +1 -1
  387. package/dist/maps/styles.d.ts +12 -0
  388. package/dist/maps/styles.d.ts.map +1 -1
  389. package/dist/maps/styles.js +120 -6
  390. package/dist/maps/styles.js.map +1 -1
  391. package/dist/maps/theme.d.ts +19 -0
  392. package/dist/maps/theme.d.ts.map +1 -0
  393. package/dist/maps/theme.js +44 -0
  394. package/dist/maps/theme.js.map +1 -0
  395. package/dist/maps/tiles.d.ts +147 -27
  396. package/dist/maps/tiles.d.ts.map +1 -1
  397. package/dist/maps/tiles.js +221 -54
  398. package/dist/maps/tiles.js.map +1 -1
  399. package/dist/maps/types.d.ts +213 -21
  400. package/dist/maps/types.d.ts.map +1 -1
  401. package/dist/markdown/expressions.d.ts +1 -1
  402. package/dist/markdown/expressions.d.ts.map +1 -1
  403. package/dist/markdown/expressions.js.map +1 -1
  404. package/dist/markdown/index.d.ts +7 -6
  405. package/dist/markdown/index.d.ts.map +1 -1
  406. package/dist/markdown/index.js +121 -50
  407. package/dist/markdown/index.js.map +1 -1
  408. package/dist/markdown/spans.d.ts +1 -1
  409. package/dist/markdown/spans.d.ts.map +1 -1
  410. package/dist/markdown/spans.js +6 -0
  411. package/dist/markdown/spans.js.map +1 -1
  412. package/dist/media-player/index.d.ts +11 -3
  413. package/dist/media-player/index.d.ts.map +1 -1
  414. package/dist/media-player/index.js +13 -2
  415. package/dist/media-player/index.js.map +1 -1
  416. package/dist/qml/containers.d.ts.map +1 -1
  417. package/dist/qml/containers.js +6 -1
  418. package/dist/qml/containers.js.map +1 -1
  419. package/dist/qml/interaction.d.ts.map +1 -1
  420. package/dist/qml/interaction.js +38 -5
  421. package/dist/qml/interaction.js.map +1 -1
  422. package/dist/qml/layouts.d.ts.map +1 -1
  423. package/dist/qml/layouts.js +21 -6
  424. package/dist/qml/layouts.js.map +1 -1
  425. package/dist/qml/qtquick.d.ts.map +1 -1
  426. package/dist/qml/qtquick.js +9 -2
  427. package/dist/qml/qtquick.js.map +1 -1
  428. package/dist/qml/react.d.ts.map +1 -1
  429. package/dist/qml/react.js +9 -7
  430. package/dist/qml/react.js.map +1 -1
  431. package/dist/reorder/clock.d.ts +7 -0
  432. package/dist/reorder/clock.d.ts.map +1 -0
  433. package/dist/reorder/clock.js +26 -0
  434. package/dist/reorder/clock.js.map +1 -0
  435. package/dist/reorder/index.d.ts +25 -3
  436. package/dist/reorder/index.d.ts.map +1 -1
  437. package/dist/reorder/index.js +64 -19
  438. package/dist/reorder/index.js.map +1 -1
  439. package/dist/rich-text-editor/clipboard.d.ts +23 -0
  440. package/dist/rich-text-editor/clipboard.d.ts.map +1 -0
  441. package/dist/rich-text-editor/clipboard.js +307 -0
  442. package/dist/rich-text-editor/clipboard.js.map +1 -0
  443. package/dist/rich-text-editor/collab.d.ts +32 -0
  444. package/dist/rich-text-editor/collab.d.ts.map +1 -0
  445. package/dist/rich-text-editor/collab.js +55 -0
  446. package/dist/rich-text-editor/collab.js.map +1 -0
  447. package/dist/rich-text-editor/commands.d.ts +50 -0
  448. package/dist/rich-text-editor/commands.d.ts.map +1 -0
  449. package/dist/rich-text-editor/commands.js +376 -0
  450. package/dist/rich-text-editor/commands.js.map +1 -0
  451. package/dist/rich-text-editor/drag.d.ts +68 -0
  452. package/dist/rich-text-editor/drag.d.ts.map +1 -0
  453. package/dist/rich-text-editor/drag.js +148 -0
  454. package/dist/rich-text-editor/drag.js.map +1 -0
  455. package/dist/rich-text-editor/html.d.ts +145 -0
  456. package/dist/rich-text-editor/html.d.ts.map +1 -0
  457. package/dist/rich-text-editor/html.js +516 -0
  458. package/dist/rich-text-editor/html.js.map +1 -0
  459. package/dist/rich-text-editor/index.d.ts +252 -0
  460. package/dist/rich-text-editor/index.d.ts.map +1 -0
  461. package/dist/rich-text-editor/index.js +856 -0
  462. package/dist/rich-text-editor/index.js.map +1 -0
  463. package/dist/rich-text-editor/inline.d.ts +94 -0
  464. package/dist/rich-text-editor/inline.d.ts.map +1 -0
  465. package/dist/rich-text-editor/inline.js +252 -0
  466. package/dist/rich-text-editor/inline.js.map +1 -0
  467. package/dist/rich-text-editor/keymap.d.ts +71 -0
  468. package/dist/rich-text-editor/keymap.d.ts.map +1 -0
  469. package/dist/rich-text-editor/keymap.js +394 -0
  470. package/dist/rich-text-editor/keymap.js.map +1 -0
  471. package/dist/rich-text-editor/keys.d.ts +40 -0
  472. package/dist/rich-text-editor/keys.d.ts.map +1 -0
  473. package/dist/rich-text-editor/keys.js +202 -0
  474. package/dist/rich-text-editor/keys.js.map +1 -0
  475. package/dist/rich-text-editor/look.d.ts +71 -0
  476. package/dist/rich-text-editor/look.d.ts.map +1 -0
  477. package/dist/rich-text-editor/look.js +342 -0
  478. package/dist/rich-text-editor/look.js.map +1 -0
  479. package/dist/rich-text-editor/markdown.d.ts +18 -0
  480. package/dist/rich-text-editor/markdown.d.ts.map +1 -0
  481. package/dist/rich-text-editor/markdown.js +496 -0
  482. package/dist/rich-text-editor/markdown.js.map +1 -0
  483. package/dist/rich-text-editor/marks.d.ts +9 -0
  484. package/dist/rich-text-editor/marks.d.ts.map +1 -0
  485. package/dist/rich-text-editor/marks.js +83 -0
  486. package/dist/rich-text-editor/marks.js.map +1 -0
  487. package/dist/rich-text-editor/nodes.d.ts +135 -0
  488. package/dist/rich-text-editor/nodes.d.ts.map +1 -0
  489. package/dist/rich-text-editor/nodes.js +397 -0
  490. package/dist/rich-text-editor/nodes.js.map +1 -0
  491. package/dist/rich-text-editor/render.d.ts +68 -0
  492. package/dist/rich-text-editor/render.d.ts.map +1 -0
  493. package/dist/rich-text-editor/render.js +518 -0
  494. package/dist/rich-text-editor/render.js.map +1 -0
  495. package/dist/rich-text-editor/schema.d.ts +16 -0
  496. package/dist/rich-text-editor/schema.d.ts.map +1 -0
  497. package/dist/rich-text-editor/schema.js +386 -0
  498. package/dist/rich-text-editor/schema.js.map +1 -0
  499. package/dist/rich-text-editor/store.d.ts +11 -0
  500. package/dist/rich-text-editor/store.d.ts.map +1 -0
  501. package/dist/rich-text-editor/store.js +43 -0
  502. package/dist/rich-text-editor/store.js.map +1 -0
  503. package/dist/rich-text-editor/suggest.d.ts +127 -0
  504. package/dist/rich-text-editor/suggest.d.ts.map +1 -0
  505. package/dist/rich-text-editor/suggest.js +0 -0
  506. package/dist/rich-text-editor/suggest.js.map +1 -0
  507. package/dist/rich-text-editor/tables.d.ts +41 -0
  508. package/dist/rich-text-editor/tables.d.ts.map +1 -0
  509. package/dist/rich-text-editor/tables.js +204 -0
  510. package/dist/rich-text-editor/tables.js.map +1 -0
  511. package/dist/rich-text-editor/toolbar.d.ts +58 -0
  512. package/dist/rich-text-editor/toolbar.d.ts.map +1 -0
  513. package/dist/rich-text-editor/toolbar.js +548 -0
  514. package/dist/rich-text-editor/toolbar.js.map +1 -0
  515. package/dist/rich-text-editor/view.d.ts +368 -0
  516. package/dist/rich-text-editor/view.d.ts.map +1 -0
  517. package/dist/rich-text-editor/view.js +1968 -0
  518. package/dist/rich-text-editor/view.js.map +1 -0
  519. package/dist/rich-text-editor/virtual.d.ts +54 -0
  520. package/dist/rich-text-editor/virtual.d.ts.map +1 -0
  521. package/dist/rich-text-editor/virtual.js +279 -0
  522. package/dist/rich-text-editor/virtual.js.map +1 -0
  523. package/dist/richtext/node.d.ts +71 -4
  524. package/dist/richtext/node.d.ts.map +1 -1
  525. package/dist/richtext/node.js +233 -28
  526. package/dist/richtext/node.js.map +1 -1
  527. package/dist/richtext/runs.d.ts +13 -8
  528. package/dist/richtext/runs.d.ts.map +1 -1
  529. package/dist/richtext/runs.js +18 -8
  530. package/dist/richtext/runs.js.map +1 -1
  531. package/dist/table/index.d.ts.map +1 -1
  532. package/dist/table/index.js +23 -0
  533. package/dist/table/index.js.map +1 -1
  534. package/dist/table/rows.d.ts +3 -2
  535. package/dist/table/rows.d.ts.map +1 -1
  536. package/dist/table/rows.js +20 -6
  537. package/dist/table/rows.js.map +1 -1
  538. package/dist/terminal/backends.d.ts +4 -1
  539. package/dist/terminal/backends.d.ts.map +1 -1
  540. package/dist/terminal/backends.js.map +1 -1
  541. package/dist/terminal/index.d.ts +18 -7
  542. package/dist/terminal/index.d.ts.map +1 -1
  543. package/dist/terminal/index.js +32 -11
  544. package/dist/terminal/index.js.map +1 -1
  545. package/dist/terminal/vt/pty.d.ts +13 -2
  546. package/dist/terminal/vt/pty.d.ts.map +1 -1
  547. package/dist/terminal/vt/pty.js +18 -3
  548. package/dist/terminal/vt/pty.js.map +1 -1
  549. package/dist/terminal-output/index.d.ts.map +1 -1
  550. package/dist/terminal-output/index.js +6 -1
  551. package/dist/terminal-output/index.js.map +1 -1
  552. package/dist/three/canvas.d.ts.map +1 -1
  553. package/dist/three/canvas.js +85 -7
  554. package/dist/three/canvas.js.map +1 -1
  555. package/dist/three/events.d.ts +22 -4
  556. package/dist/three/events.d.ts.map +1 -1
  557. package/dist/three/events.js +34 -4
  558. package/dist/three/events.js.map +1 -1
  559. package/dist/tree/index.d.ts.map +1 -1
  560. package/dist/tree/index.js +17 -0
  561. package/dist/tree/index.js.map +1 -1
  562. package/package.json +59 -31
  563. package/src/charts/node.ts +68 -28
  564. package/src/charts/render.ts +120 -30
  565. package/src/code/index.ts +3 -1
  566. package/src/code-editor/completion.ts +3 -2
  567. package/src/code-editor/index.ts +19 -0
  568. package/src/code-editor/node.ts +1574 -184
  569. package/src/code-language/languages/glsl.ts +12 -2
  570. package/src/code-language/languages/javascript.ts +21 -4
  571. package/src/code-language/languages/json.ts +12 -2
  572. package/src/code-language/languages/shell.ts +12 -2
  573. package/src/code-language/languages/sql.ts +22 -2
  574. package/src/code-language/stream.ts +257 -17
  575. package/src/code-language/types.ts +5 -4
  576. package/src/codeblock/index.ts +20 -3
  577. package/src/embed/client.ts +102 -8
  578. package/src/embed/index.ts +2 -0
  579. package/src/flow/draw.ts +167 -41
  580. package/src/flow/gl/color.ts +85 -0
  581. package/src/flow/gl/index.ts +342 -0
  582. package/src/flow/gl/pack.ts +585 -0
  583. package/src/flow/gl/renderer.ts +679 -0
  584. package/src/flow/gl/shaders.ts +371 -0
  585. package/src/flow/gl/text.ts +1295 -0
  586. package/src/flow/index.ts +794 -67
  587. package/src/flow/node.ts +2496 -1256
  588. package/src/flow/paint.ts +511 -0
  589. package/src/flow/paths.ts +80 -15
  590. package/src/flow/scene.ts +2199 -0
  591. package/src/flow/types.ts +113 -1
  592. package/src/html/controls.ts +73 -2
  593. package/src/html/css/calc.ts +385 -0
  594. package/src/html/css/cascade.ts +1403 -62
  595. package/src/html/css/color.ts +755 -0
  596. package/src/html/css/content.ts +417 -0
  597. package/src/html/css/counter-styles.ts +973 -0
  598. package/src/html/css/decode.ts +130 -0
  599. package/src/html/css/parse.ts +1514 -160
  600. package/src/html/css/style.ts +4102 -222
  601. package/src/html/css/ua.ts +58 -12
  602. package/src/html/css/values.ts +150 -50
  603. package/src/html/css/vars.ts +348 -0
  604. package/src/html/dom.ts +284 -17
  605. package/src/html/fonts.ts +641 -0
  606. package/src/html/gif.ts +233 -0
  607. package/src/html/index.ts +180 -20
  608. package/src/html/layout/block.ts +3456 -230
  609. package/src/html/layout/boxes.ts +2100 -190
  610. package/src/html/layout/cache.ts +289 -0
  611. package/src/html/layout/collapse.ts +317 -0
  612. package/src/html/layout/css-grid.ts +1063 -0
  613. package/src/html/layout/flex.ts +1115 -106
  614. package/src/html/layout/floats.ts +128 -14
  615. package/src/html/layout/grid-lines.ts +141 -0
  616. package/src/html/layout/grid.ts +181 -0
  617. package/src/html/layout/inline.ts +3943 -192
  618. package/src/html/layout/shaping.ts +140 -0
  619. package/src/html/layout/table.ts +696 -186
  620. package/src/html/layout/tracks.ts +437 -0
  621. package/src/html/node.ts +1486 -121
  622. package/src/html/paint.ts +4293 -169
  623. package/src/html/resources.ts +161 -50
  624. package/src/html/surfaces.ts +81 -0
  625. package/src/html/svg.ts +493 -0
  626. package/src/html/url.ts +86 -0
  627. package/src/index.ts +4 -0
  628. package/src/internal/collate.ts +12 -0
  629. package/src/{markdown → internal/markdown}/ast.ts +35 -7
  630. package/src/{markdown → internal/markdown}/parse.ts +288 -35
  631. package/src/internal/markdown/stringify.ts +772 -0
  632. package/src/internal/prewarm.ts +45 -0
  633. package/src/internal/scroll.ts +5 -3
  634. package/src/internal/sdf.ts +227 -0
  635. package/src/internal/splice.ts +25 -0
  636. package/src/internal/window.ts +36 -5
  637. package/src/maps/anchors.ts +913 -0
  638. package/src/maps/controller.ts +1084 -0
  639. package/src/maps/gl/buckets.ts +461 -0
  640. package/src/maps/gl/build-worker.ts +66 -0
  641. package/src/maps/gl/color.ts +62 -0
  642. package/src/maps/gl/cover.ts +205 -0
  643. package/src/maps/gl/index.ts +23 -0
  644. package/src/maps/gl/markers.ts +83 -0
  645. package/src/maps/gl/overlays.ts +379 -0
  646. package/src/maps/gl/pane.ts +42 -0
  647. package/src/maps/gl/placement.ts +968 -0
  648. package/src/maps/gl/renderer.ts +1660 -0
  649. package/src/maps/gl/shaders.ts +489 -0
  650. package/src/maps/gl/store.ts +615 -0
  651. package/src/maps/gl/text.ts +868 -0
  652. package/src/maps/gl/view.ts +1489 -0
  653. package/src/maps/icons.ts +183 -0
  654. package/src/maps/index.ts +274 -81
  655. package/src/maps/labels.ts +457 -144
  656. package/src/maps/node.ts +832 -665
  657. package/src/maps/overlay.ts +148 -43
  658. package/src/maps/paint.ts +3 -0
  659. package/src/maps/proj.ts +118 -0
  660. package/src/maps/renderer.ts +155 -0
  661. package/src/maps/sources.ts +43 -6
  662. package/src/maps/style.ts +32 -0
  663. package/src/maps/styles.ts +215 -4
  664. package/src/maps/theme.ts +51 -0
  665. package/src/maps/tiles.ts +253 -62
  666. package/src/maps/types.ts +213 -21
  667. package/src/markdown/expressions.ts +5 -1
  668. package/src/markdown/index.ts +163 -78
  669. package/src/markdown/spans.ts +6 -1
  670. package/src/media-player/index.ts +18 -4
  671. package/src/qml/containers.tsx +6 -1
  672. package/src/qml/interaction.tsx +42 -5
  673. package/src/qml/layouts.tsx +21 -6
  674. package/src/qml/qtquick.tsx +9 -2
  675. package/src/qml/react.tsx +7 -5
  676. package/src/reorder/clock.ts +27 -0
  677. package/src/reorder/index.ts +100 -27
  678. package/src/rich-text-editor/clipboard.ts +439 -0
  679. package/src/rich-text-editor/collab.ts +91 -0
  680. package/src/rich-text-editor/commands.ts +448 -0
  681. package/src/rich-text-editor/dom-globals.d.ts +23 -0
  682. package/src/rich-text-editor/drag.ts +211 -0
  683. package/src/rich-text-editor/html.ts +619 -0
  684. package/src/rich-text-editor/index.ts +1364 -0
  685. package/src/rich-text-editor/inline.ts +345 -0
  686. package/src/rich-text-editor/keymap.ts +510 -0
  687. package/src/rich-text-editor/keys.ts +228 -0
  688. package/src/rich-text-editor/look.ts +427 -0
  689. package/src/rich-text-editor/markdown.ts +653 -0
  690. package/src/rich-text-editor/marks.ts +101 -0
  691. package/src/rich-text-editor/nodes.ts +497 -0
  692. package/src/rich-text-editor/render.ts +837 -0
  693. package/src/rich-text-editor/schema.ts +431 -0
  694. package/src/rich-text-editor/store.ts +39 -0
  695. package/src/rich-text-editor/suggest.ts +597 -0
  696. package/src/rich-text-editor/tables.ts +272 -0
  697. package/src/rich-text-editor/toolbar.ts +724 -0
  698. package/src/rich-text-editor/view.ts +2287 -0
  699. package/src/rich-text-editor/virtual.ts +372 -0
  700. package/src/richtext/node.ts +294 -44
  701. package/src/richtext/runs.ts +23 -12
  702. package/src/table/index.ts +29 -0
  703. package/src/table/rows.ts +18 -8
  704. package/src/terminal/backends.ts +4 -1
  705. package/src/terminal/index.ts +47 -15
  706. package/src/terminal/vt/pty.ts +16 -2
  707. package/src/terminal-output/index.ts +6 -1
  708. package/src/three/canvas.ts +102 -8
  709. package/src/three/events.ts +49 -9
  710. package/src/tree/index.ts +19 -0
  711. package/dist/markdown/ast.d.ts.map +0 -1
  712. package/dist/markdown/ast.js +0 -17
  713. package/dist/markdown/ast.js.map +0 -1
  714. package/dist/markdown/parse.d.ts.map +0 -1
  715. package/dist/markdown/parse.js.map +0 -1
  716. package/dist/markdown/tags.d.ts.map +0 -1
  717. package/dist/markdown/tags.js.map +0 -1
  718. /package/dist/{markdown → internal/markdown}/parse.d.ts +0 -0
  719. /package/dist/{markdown → internal/markdown}/tags.d.ts +0 -0
  720. /package/dist/{markdown → internal/markdown}/tags.js +0 -0
  721. /package/src/{markdown → internal/markdown}/tags.ts +0 -0
@@ -0,0 +1,740 @@
1
+ import * as ntk from 'react-x11/ntk';
2
+ // CSS Color 4's functional colours: read here, and written back in the one
3
+ // form every drawing context reads — `#rrggbb`, or `rgba(r, g, b, a)` with
4
+ // channels from 0 to 255.
5
+ //
6
+ // They used to be handed to the context as written, since ntk's context
7
+ // parses a CSS colour for `fillStyle` itself. It reads less than CSS has: the
8
+ // comma forms of `rgb()` and `hsl()` and nothing else — no space-separated
9
+ // `rgb(59 130 246 / 1)`, which Tailwind 3's utilities are written in, no
10
+ // `oklch()`, which Tailwind 4's palette is, no `lab()`, `hwb()` or `color()`
11
+ // — and it read `rgb()`'s percentages as numbers from 0 to 255, so
12
+ // `rgb(0%, 50%, 0%)` was nearly black. Reading the value here also leaves a
13
+ // document one reading of a colour on both backends.
14
+ //
15
+ // A colour outside sRGB is clipped into it channel by channel, which is what
16
+ // an sRGB drawing context can show.
17
+ /** The value of a colour function, or null where it is not one. */
18
+ export function functionalColor(value) {
19
+ let hit = CACHE.get(value);
20
+ if (hit === undefined) {
21
+ hit = readFunction(value);
22
+ // a document repeats its colours, a utility stylesheet most of all
23
+ if (CACHE.size >= 1024)
24
+ CACHE.clear();
25
+ CACHE.set(value, hit);
26
+ }
27
+ return hit;
28
+ }
29
+ const CACHE = new Map();
30
+ const NUMBER = /^([+-]?(?:\d*\.\d+|\d+)(?:e[+-]?\d+)?)(%|deg|grad|rad|turn)?$/i;
31
+ function component(token) {
32
+ if (token.toLowerCase() === 'none')
33
+ return { value: 0, unit: 'none' };
34
+ const m = NUMBER.exec(token);
35
+ if (!m)
36
+ return null;
37
+ return {
38
+ value: parseFloat(m[1]),
39
+ unit: (m[2] ?? '').toLowerCase(),
40
+ };
41
+ }
42
+ function readFunction(value) {
43
+ const colour = readRgbaFunction(value);
44
+ return colour ? serialize(colour.rgb, colour.a) : null;
45
+ }
46
+ /**
47
+ * The two shades a 3D border style paints in (`groove`, `ridge`, `inset`,
48
+ * `outset`), as Chromium shades them: the shadowed sides the colour
49
+ * darkened — its brightest channel down by a third — and the lit sides the
50
+ * colour itself; but where darkening leaves black, the colour is the
51
+ * shadow and the lit sides are lightened instead, so a black groove is
52
+ * black against #545454 rather than black against black. Null for a
53
+ * colour this cannot read, `currentColor` resolved first.
54
+ */
55
+ export function borderShades(color) {
56
+ const read = readRgba(color);
57
+ if (!read)
58
+ return null;
59
+ const { rgb, a } = read;
60
+ const v = Math.max(rgb[0], rgb[1], rgb[2]);
61
+ const dark = v > 0.33 ? (v - 0.33) / v : 0;
62
+ const css = (c) => `rgba(${c.map((n) => Math.round(Math.min(1, Math.max(0, n)) * 255)).join(', ')}, ${a})`;
63
+ if (dark > 0)
64
+ return { lit: css(rgb), shadowed: css(scaled(rgb, dark)) };
65
+ const light = v === 0
66
+ ? [0.33, 0.33, 0.33]
67
+ : scaled(rgb, Math.min(1, v + 0.33) / v);
68
+ return { lit: css(light), shadowed: css(rgb) };
69
+ }
70
+ /**
71
+ * The colour a fraction `t` of the way from `a` to `b`, premultiplied, as a
72
+ * gradient interpolates between two stops (CSS Images 4, 3.4.3): so a
73
+ * transparent stop lends its alpha and not its colour. Null for a colour
74
+ * this cannot read.
75
+ */
76
+ export function blend(a, b, t) {
77
+ const x = readRgba(a);
78
+ const y = readRgba(b);
79
+ if (!x || !y)
80
+ return null;
81
+ const alpha = x.a + (y.a - x.a) * t;
82
+ if (!(alpha > 0))
83
+ return 'transparent';
84
+ const rgb = [0, 1, 2].map((i) => (x.rgb[i] * x.a + (y.rgb[i] * y.a - x.rgb[i] * x.a) * t) / alpha);
85
+ return serialize(rgb, alpha);
86
+ }
87
+ function scaled(c, k) {
88
+ return [c[0] * k, c[1] * k, c[2] * k];
89
+ }
90
+ /** Any colour but `currentColor`, as numbers: what `color-mix()` mixes. */
91
+ function readRgba(value) {
92
+ const v = value.trim();
93
+ const lower = v.toLowerCase();
94
+ if (lower === 'transparent')
95
+ return { rgb: [0, 0, 0], a: 0 };
96
+ if (v.startsWith('#'))
97
+ return readHex(v);
98
+ if (v.includes('('))
99
+ return readRgbaFunction(v);
100
+ const named = cssColorStraight?.(lower);
101
+ if (!Array.isArray(named) || named.length < 3)
102
+ return null;
103
+ return {
104
+ rgb: [named[0], named[1], named[2]],
105
+ a: named.length > 3 ? named[3] : 1,
106
+ };
107
+ }
108
+ function readHex(v) {
109
+ const hex = v.slice(1);
110
+ if (!/^(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(hex))
111
+ return null;
112
+ const long = hex.length <= 4 ? [...hex].map((c) => c + c).join('') : hex;
113
+ const byte = (i) => parseInt(long.slice(i * 2, i * 2 + 2), 16) / 255;
114
+ return {
115
+ rgb: [byte(0), byte(1), byte(2)],
116
+ a: long.length === 8 ? byte(3) : 1,
117
+ };
118
+ }
119
+ /** ntk's reading of a named colour. It is on ntk's entry point but not in
120
+ * react-x11/ntk's declarations, so it is probed. */
121
+ const cssColorStraight = ntk.cssColorStraight;
122
+ function readRgbaFunction(value) {
123
+ const open = value.indexOf('(');
124
+ if (open < 0)
125
+ return null;
126
+ const name = value.slice(0, open).toLowerCase();
127
+ let body = value.slice(open + 1);
128
+ // the end of a style sheet closes whatever is still open (CSS 2.1 4.2):
129
+ // `rgb(0, 128, 0` as a sheet's last words is green
130
+ if (body.endsWith(')'))
131
+ body = body.slice(0, -1);
132
+ if (name === 'color-mix')
133
+ return mix(body);
134
+ // `calc()`, `var()`, a relative colour's channel keywords: not read here,
135
+ // and a declaration this cannot read is dropped
136
+ if (body.includes('(') || body.includes(')'))
137
+ return null;
138
+ let channels;
139
+ let alpha = null;
140
+ let space = '';
141
+ if (body.includes(',')) {
142
+ // the legacy comma form, which only these four have
143
+ if (!LEGACY.has(name))
144
+ return null;
145
+ const parts = body.split(',');
146
+ if (parts.length !== 3 && parts.length !== 4)
147
+ return null;
148
+ const read = [];
149
+ for (const part of parts) {
150
+ const token = part.trim();
151
+ if (!token || /\s/.test(token))
152
+ return null;
153
+ const c = component(token);
154
+ if (!c || c.unit === 'none')
155
+ return null;
156
+ read.push(c);
157
+ }
158
+ channels = read.slice(0, 3);
159
+ alpha = read[3] ?? null;
160
+ if (name === 'rgb' || name === 'rgba') {
161
+ // all numbers or all percentages
162
+ const unit = channels[0].unit;
163
+ if (unit !== '' && unit !== '%')
164
+ return null;
165
+ if (channels[1].unit !== unit || channels[2].unit !== unit)
166
+ return null;
167
+ }
168
+ else if (channels[1].unit !== '%' || channels[2].unit !== '%') {
169
+ return null;
170
+ }
171
+ }
172
+ else {
173
+ const slash = body.split('/');
174
+ if (slash.length > 2)
175
+ return null;
176
+ const tokens = slash[0].trim().split(/\s+/);
177
+ if (name === 'color')
178
+ space = (tokens.shift() ?? '').toLowerCase();
179
+ if (tokens.length !== 3)
180
+ return null;
181
+ const read = [];
182
+ for (const token of tokens) {
183
+ const c = component(token);
184
+ if (!c)
185
+ return null;
186
+ read.push(c);
187
+ }
188
+ channels = read;
189
+ if (slash.length === 2) {
190
+ const token = slash[1].trim();
191
+ if (!token || /\s/.test(token))
192
+ return null;
193
+ alpha = component(token);
194
+ if (!alpha)
195
+ return null;
196
+ }
197
+ }
198
+ let a = 1;
199
+ if (alpha) {
200
+ if (alpha.unit !== '' && alpha.unit !== '%' && alpha.unit !== 'none') {
201
+ return null;
202
+ }
203
+ a = clamp01(alpha.unit === '%' ? alpha.value / 100 : alpha.value);
204
+ }
205
+ const rgb = toSrgb(name, space, channels);
206
+ return rgb ? { rgb, a } : null;
207
+ }
208
+ const LEGACY = new Set(['rgb', 'rgba', 'hsl', 'hsla']);
209
+ /** A channel as a number, or null where its unit is not one it takes:
210
+ * `pct` is what 100% means for it. */
211
+ function amount(c, pct) {
212
+ if (c.unit === '')
213
+ return c.value;
214
+ if (c.unit === 'none')
215
+ return 0;
216
+ if (c.unit === '%')
217
+ return (c.value / 100) * pct;
218
+ return null;
219
+ }
220
+ function hue(c) {
221
+ switch (c.unit) {
222
+ case '':
223
+ case 'deg':
224
+ return c.value;
225
+ case 'grad':
226
+ return c.value * 0.9;
227
+ case 'rad':
228
+ return (c.value * 180) / Math.PI;
229
+ case 'turn':
230
+ return c.value * 360;
231
+ case 'none':
232
+ return 0;
233
+ default:
234
+ return null;
235
+ }
236
+ }
237
+ /** The colour in gamma-encoded sRGB, each channel from 0 to 1 (before
238
+ * clipping), or null where a channel is not one its function takes. */
239
+ function toSrgb(name, space, c) {
240
+ switch (name) {
241
+ case 'rgb':
242
+ case 'rgba': {
243
+ const r = amount(c[0], 255);
244
+ const g = amount(c[1], 255);
245
+ const b = amount(c[2], 255);
246
+ if (r === null || g === null || b === null)
247
+ return null;
248
+ return [r / 255, g / 255, b / 255];
249
+ }
250
+ case 'hsl':
251
+ case 'hsla': {
252
+ const h = hue(c[0]);
253
+ const s = amount(c[1], 100);
254
+ const l = amount(c[2], 100);
255
+ if (h === null || s === null || l === null)
256
+ return null;
257
+ return hslToRgb(h, clamp01(s / 100), clamp01(l / 100));
258
+ }
259
+ case 'hwb': {
260
+ const h = hue(c[0]);
261
+ const w = amount(c[1], 100);
262
+ const b = amount(c[2], 100);
263
+ if (h === null || w === null || b === null)
264
+ return null;
265
+ return hwbToRgb(h, clamp01(w / 100), clamp01(b / 100));
266
+ }
267
+ case 'lab':
268
+ case 'lch': {
269
+ const l = amount(c[0], 100);
270
+ if (l === null)
271
+ return null;
272
+ let a;
273
+ let b;
274
+ if (name === 'lab') {
275
+ a = amount(c[1], 125);
276
+ b = amount(c[2], 125);
277
+ }
278
+ else {
279
+ const chroma = amount(c[1], 150);
280
+ const h = hue(c[2]);
281
+ if (chroma === null || h === null)
282
+ return null;
283
+ [a, b] = polar(Math.max(0, chroma), h);
284
+ }
285
+ if (a === null || b === null)
286
+ return null;
287
+ // the gamut mapping CSS draws with takes a lightness at either end to
288
+ // white or black, whatever its chroma (CSS Color 4 13.2)
289
+ if (l >= 100)
290
+ return [1, 1, 1];
291
+ if (l <= 0)
292
+ return [0, 0, 0];
293
+ const xyz = labToXyzD50(l, a, b);
294
+ return gamma(multiply(XYZ_TO_LINEAR_SRGB, multiply(D50_TO_D65, xyz)));
295
+ }
296
+ case 'oklab':
297
+ case 'oklch': {
298
+ const l = amount(c[0], 1);
299
+ if (l === null)
300
+ return null;
301
+ let a;
302
+ let b;
303
+ if (name === 'oklab') {
304
+ a = amount(c[1], 0.4);
305
+ b = amount(c[2], 0.4);
306
+ }
307
+ else {
308
+ const chroma = amount(c[1], 0.4);
309
+ const h = hue(c[2]);
310
+ if (chroma === null || h === null)
311
+ return null;
312
+ [a, b] = polar(Math.max(0, chroma), h);
313
+ }
314
+ if (a === null || b === null)
315
+ return null;
316
+ if (l >= 1)
317
+ return [1, 1, 1];
318
+ if (l <= 0)
319
+ return [0, 0, 0];
320
+ return gamma(oklabToLinearSrgb(l, a, b));
321
+ }
322
+ case 'color': {
323
+ const v = [];
324
+ for (const channel of c) {
325
+ const x = amount(channel, 1);
326
+ if (x === null)
327
+ return null;
328
+ v.push(x);
329
+ }
330
+ return predefined(space, v);
331
+ }
332
+ default:
333
+ return null;
334
+ }
335
+ }
336
+ /** One of `color()`'s predefined spaces, in gamma-encoded sRGB. */
337
+ function predefined(space, v) {
338
+ switch (space) {
339
+ case 'srgb':
340
+ return v;
341
+ case 'srgb-linear':
342
+ return gamma(v);
343
+ case 'display-p3':
344
+ return fromXyzD65(multiply(P3_TO_XYZ, v.map(srgbLinear)));
345
+ case 'display-p3-linear':
346
+ return fromXyzD65(multiply(P3_TO_XYZ, v));
347
+ case 'a98-rgb':
348
+ return fromXyzD65(multiply(A98_TO_XYZ, v.map((x) => Math.sign(x) * Math.abs(x) ** (563 / 256))));
349
+ case 'prophoto-rgb':
350
+ return fromXyzD65(multiply(D50_TO_D65, multiply(PROPHOTO_TO_XYZ_D50, v.map(prophotoLinear))));
351
+ case 'rec2020':
352
+ return fromXyzD65(multiply(REC2020_TO_XYZ, v.map(rec2020Linear)));
353
+ case 'xyz':
354
+ case 'xyz-d65':
355
+ return fromXyzD65(v);
356
+ case 'xyz-d50':
357
+ return fromXyzD65(multiply(D50_TO_D65, v));
358
+ default:
359
+ return null;
360
+ }
361
+ }
362
+ // --- color-mix() (CSS Color 5 3) ---------------------------------------------
363
+ /** `color-mix(in <space> [<hue> hue]?, <colour> <p>?, <colour> <p>?)`: the
364
+ * two colours in `space`, premultiplied, weighted by their percentages. */
365
+ function mix(body) {
366
+ const parts = topLevelParts(body, ',');
367
+ if (parts.length !== 3)
368
+ return null;
369
+ const head = parts[0].trim().toLowerCase().split(/\s+/);
370
+ if (head[0] !== 'in' || head.length < 2)
371
+ return null;
372
+ const space = head[1];
373
+ let method = 'shorter';
374
+ if (head.length === 4 && head[3] === 'hue' && space in HUE) {
375
+ if (!HUE_METHODS.has(head[2]))
376
+ return null;
377
+ method = head[2];
378
+ }
379
+ else if (head.length !== 2) {
380
+ return null;
381
+ }
382
+ const first = weighted(parts[1]);
383
+ const second = weighted(parts[2]);
384
+ if (!first || !second)
385
+ return null;
386
+ let p1 = first.pct;
387
+ let p2 = second.pct;
388
+ if (p1 === null && p2 === null)
389
+ p1 = p2 = 50;
390
+ else if (p1 === null)
391
+ p1 = 100 - p2;
392
+ else if (p2 === null)
393
+ p2 = 100 - p1;
394
+ const sum = p1 + p2;
395
+ if (!(sum > 0))
396
+ return null;
397
+ const t = p2 / sum;
398
+ const x = toSpace(space, first.colour.rgb);
399
+ const y = toSpace(space, second.colour.rgb);
400
+ if (!x || !y)
401
+ return null;
402
+ const a1 = first.colour.a;
403
+ const a2 = second.colour.a;
404
+ const alpha = a1 * (1 - t) + a2 * t;
405
+ const hueAt = HUE[space] ?? -1;
406
+ const out = [0, 0, 0];
407
+ for (let i = 0; i < 3; i += 1) {
408
+ if (i === hueAt) {
409
+ out[i] = mixHue(x[i], y[i], t, method);
410
+ }
411
+ else {
412
+ // premultiplied, so a transparent side lends its alpha and not its
413
+ // colour: Tailwind's `bg-blue-500/50` is blue, half as opaque
414
+ const v = x[i] * a1 * (1 - t) + y[i] * a2 * t;
415
+ out[i] = alpha === 0 ? 0 : v / alpha;
416
+ }
417
+ }
418
+ const rgb = fromSpace(space, out);
419
+ // percentages that come to less than 100% take their share of the alpha
420
+ return rgb ? { rgb, a: alpha * Math.min(1, sum / 100) } : null;
421
+ }
422
+ /** Which component of a polar space is its hue. */
423
+ const HUE = { hsl: 0, hwb: 0, lch: 2, oklch: 2 };
424
+ const HUE_METHODS = new Set(['shorter', 'longer', 'increasing', 'decreasing']);
425
+ /** A colour and the percentage beside it, either way round. */
426
+ function weighted(text) {
427
+ const tokens = topLevelParts(text.trim(), ' ').filter(Boolean);
428
+ let pct = null;
429
+ let colour = null;
430
+ for (const token of tokens) {
431
+ const m = /^((?:\d*\.\d+|\d+)(?:e[+-]?\d+)?)%$/i.exec(token);
432
+ if (m) {
433
+ if (pct !== null)
434
+ return null;
435
+ pct = Number(m[1]);
436
+ if (pct > 100)
437
+ return null;
438
+ }
439
+ else {
440
+ if (colour !== null)
441
+ return null;
442
+ colour = token;
443
+ }
444
+ }
445
+ const read = colour === null ? null : readRgba(colour);
446
+ return read ? { colour: read, pct } : null;
447
+ }
448
+ /** `text` split on `sep` outside brackets. */
449
+ function topLevelParts(text, sep) {
450
+ const out = [];
451
+ let depth = 0;
452
+ let start = 0;
453
+ for (let i = 0; i < text.length; i += 1) {
454
+ const c = text[i];
455
+ if (c === '(')
456
+ depth += 1;
457
+ else if (c === ')')
458
+ depth -= 1;
459
+ else if (depth === 0 && (c === sep || (sep === ' ' && /\s/.test(c)))) {
460
+ out.push(text.slice(start, i));
461
+ start = i + 1;
462
+ }
463
+ }
464
+ out.push(text.slice(start));
465
+ return out;
466
+ }
467
+ function mixHue(h1, h2, t, method) {
468
+ // an achromatic side has no hue, and takes the other's
469
+ if (Number.isNaN(h1))
470
+ return Number.isNaN(h2) ? 0 : h2;
471
+ if (Number.isNaN(h2))
472
+ return h1;
473
+ let a = ((h1 % 360) + 360) % 360;
474
+ let b = ((h2 % 360) + 360) % 360;
475
+ const d = b - a;
476
+ if (method === 'longer') {
477
+ if (d > 0 && d < 180)
478
+ a += 360;
479
+ else if (d > -180 && d <= 0)
480
+ b += 360;
481
+ }
482
+ else if (method === 'increasing') {
483
+ if (d < 0)
484
+ b += 360;
485
+ }
486
+ else if (method === 'decreasing') {
487
+ if (d > 0)
488
+ a += 360;
489
+ }
490
+ else if (d > 180) {
491
+ a += 360;
492
+ }
493
+ else if (d < -180) {
494
+ b += 360;
495
+ }
496
+ return (((a + (b - a) * t) % 360) + 360) % 360;
497
+ }
498
+ /** Gamma-encoded sRGB into a space a mix can be taken in. */
499
+ function toSpace(space, rgb) {
500
+ switch (space) {
501
+ case 'srgb':
502
+ return rgb;
503
+ case 'srgb-linear':
504
+ return linearize(rgb);
505
+ case 'xyz':
506
+ case 'xyz-d65':
507
+ return multiply(LINEAR_SRGB_TO_XYZ, linearize(rgb));
508
+ case 'xyz-d50':
509
+ return multiply(D65_TO_D50, multiply(LINEAR_SRGB_TO_XYZ, linearize(rgb)));
510
+ case 'lab':
511
+ case 'lch': {
512
+ const lab = xyzD50ToLab(multiply(D65_TO_D50, multiply(LINEAR_SRGB_TO_XYZ, linearize(rgb))));
513
+ return space === 'lab' ? lab : toPolar(lab, 0.0015);
514
+ }
515
+ case 'oklab':
516
+ case 'oklch': {
517
+ const oklab = linearSrgbToOklab(linearize(rgb));
518
+ return space === 'oklab' ? oklab : toPolar(oklab, 0.000004);
519
+ }
520
+ case 'hsl':
521
+ return srgbToHsl(rgb);
522
+ case 'hwb': {
523
+ const [h] = srgbToHsl(rgb);
524
+ return [h, Math.min(...rgb) * 100, (1 - Math.max(...rgb)) * 100];
525
+ }
526
+ default:
527
+ return null;
528
+ }
529
+ }
530
+ /** A space's components back to gamma-encoded sRGB. */
531
+ function fromSpace(space, c) {
532
+ switch (space) {
533
+ case 'srgb':
534
+ return c;
535
+ case 'srgb-linear':
536
+ return gamma(c);
537
+ case 'xyz':
538
+ case 'xyz-d65':
539
+ return fromXyzD65(c);
540
+ case 'xyz-d50':
541
+ return fromXyzD65(multiply(D50_TO_D65, c));
542
+ case 'lab':
543
+ case 'lch': {
544
+ const [l, a, b] = space === 'lab' ? c : [c[0], ...polar(Math.max(0, c[1]), c[2])];
545
+ return fromXyzD65(multiply(D50_TO_D65, labToXyzD50(l, a, b)));
546
+ }
547
+ case 'oklab':
548
+ case 'oklch': {
549
+ const [l, a, b] = space === 'oklab' ? c : [c[0], ...polar(Math.max(0, c[1]), c[2])];
550
+ return gamma(oklabToLinearSrgb(l, a, b));
551
+ }
552
+ case 'hsl':
553
+ return hslToRgb(c[0], clamp01(c[1] / 100), clamp01(c[2] / 100));
554
+ case 'hwb':
555
+ return hwbToRgb(c[0], clamp01(c[1] / 100), clamp01(c[2] / 100));
556
+ default:
557
+ return null;
558
+ }
559
+ }
560
+ function linearize(rgb) {
561
+ return rgb.map(srgbLinear);
562
+ }
563
+ function linearSrgbToOklab([r, g, b]) {
564
+ const l = Math.cbrt(0.4122214708 * r + 0.5363325363 * g + 0.0514459929 * b);
565
+ const m = Math.cbrt(0.2119034982 * r + 0.6806995451 * g + 0.1073969566 * b);
566
+ const s = Math.cbrt(0.0883024619 * r + 0.2817188376 * g + 0.6299787005 * b);
567
+ return [
568
+ 0.2104542553 * l + 0.793617785 * m - 0.0040720468 * s,
569
+ 1.9779984951 * l - 2.428592205 * m + 0.4505937099 * s,
570
+ 0.0259040371 * l + 0.7827717662 * m - 0.808675766 * s,
571
+ ];
572
+ }
573
+ function xyzD50ToLab(xyz) {
574
+ const f = xyz.map((v, i) => {
575
+ const x = v / D50_WHITE[i];
576
+ return x > EPSILON ? Math.cbrt(x) : (KAPPA * x + 16) / 116;
577
+ });
578
+ return [116 * f[1] - 16, 500 * (f[0] - f[1]), 200 * (f[1] - f[2])];
579
+ }
580
+ /** Lightness, chroma and hue — no hue where there is next to no chroma,
581
+ * which is what a grey's hue is. */
582
+ function toPolar([l, a, b], grey) {
583
+ const chroma = Math.sqrt(a * a + b * b);
584
+ if (chroma < grey)
585
+ return [l, chroma, NaN];
586
+ const h = (Math.atan2(b, a) * 180) / Math.PI;
587
+ return [l, chroma, h < 0 ? h + 360 : h];
588
+ }
589
+ function srgbToHsl([r, g, b]) {
590
+ const max = Math.max(r, g, b);
591
+ const min = Math.min(r, g, b);
592
+ const l = (min + max) / 2;
593
+ const d = max - min;
594
+ if (d === 0)
595
+ return [NaN, 0, l * 100];
596
+ const s = l === 0 || l === 1 ? 0 : (max - l) / Math.min(l, 1 - l);
597
+ let h;
598
+ if (max === r)
599
+ h = (g - b) / d + (g < b ? 6 : 0);
600
+ else if (max === g)
601
+ h = (b - r) / d + 2;
602
+ else
603
+ h = (r - g) / d + 4;
604
+ return [h * 60, s * 100, l * 100];
605
+ }
606
+ function serialize(rgb, a) {
607
+ const [r, g, b] = rgb.map((x) => Math.round(clamp01(x) * 255));
608
+ if (a === 1)
609
+ return `#${hex2(r)}${hex2(g)}${hex2(b)}`;
610
+ return `rgba(${r}, ${g}, ${b}, ${Math.round(a * 1000) / 1000})`;
611
+ }
612
+ function hex2(n) {
613
+ return n.toString(16).padStart(2, '0');
614
+ }
615
+ function clamp01(x) {
616
+ return x < 0 ? 0 : x > 1 ? 1 : x;
617
+ }
618
+ function polar(chroma, h) {
619
+ const rad = (h * Math.PI) / 180;
620
+ return [chroma * Math.cos(rad), chroma * Math.sin(rad)];
621
+ }
622
+ // --- the conversions: CSS Color 4's sample code (§18) -----------------------
623
+ function hslToRgb(h, s, l) {
624
+ const hue = ((h % 360) + 360) % 360;
625
+ const f = (n) => {
626
+ const k = (n + hue / 30) % 12;
627
+ const a = s * Math.min(l, 1 - l);
628
+ return l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));
629
+ };
630
+ return [f(0), f(8), f(4)];
631
+ }
632
+ function hwbToRgb(h, w, b) {
633
+ if (w + b >= 1) {
634
+ const gray = w / (w + b);
635
+ return [gray, gray, gray];
636
+ }
637
+ const rgb = hslToRgb(h, 1, 0.5);
638
+ return rgb.map((x) => x * (1 - w - b) + w);
639
+ }
640
+ const KAPPA = 24389 / 27;
641
+ const EPSILON = 216 / 24389;
642
+ const D50_WHITE = [0.3457 / 0.3585, 1, (1 - 0.3457 - 0.3585) / 0.3585];
643
+ function labToXyzD50(l, a, b) {
644
+ const f1 = (l + 16) / 116;
645
+ const f0 = a / 500 + f1;
646
+ const f2 = f1 - b / 200;
647
+ const x = f0 ** 3 > EPSILON ? f0 ** 3 : (116 * f0 - 16) / KAPPA;
648
+ const y = l > KAPPA * EPSILON ? f1 ** 3 : l / KAPPA;
649
+ const z = f2 ** 3 > EPSILON ? f2 ** 3 : (116 * f2 - 16) / KAPPA;
650
+ return [x * D50_WHITE[0], y * D50_WHITE[1], z * D50_WHITE[2]];
651
+ }
652
+ function oklabToLinearSrgb(l, a, b) {
653
+ const l1 = (l + 0.3963377774 * a + 0.2158037573 * b) ** 3;
654
+ const m1 = (l - 0.1055613458 * a - 0.0638541728 * b) ** 3;
655
+ const s1 = (l - 0.0894841775 * a - 1.291485548 * b) ** 3;
656
+ return [
657
+ 4.0767416621 * l1 - 3.3077115913 * m1 + 0.2309699292 * s1,
658
+ -1.2684380046 * l1 + 2.6097574011 * m1 - 0.3413193965 * s1,
659
+ -0.0041960863 * l1 - 0.7034186147 * m1 + 1.707614701 * s1,
660
+ ];
661
+ }
662
+ function fromXyzD65(xyz) {
663
+ return gamma(multiply(XYZ_TO_LINEAR_SRGB, xyz));
664
+ }
665
+ function srgbLinear(x) {
666
+ const abs = Math.abs(x);
667
+ return abs <= 0.04045
668
+ ? x / 12.92
669
+ : Math.sign(x) * ((abs + 0.055) / 1.055) ** 2.4;
670
+ }
671
+ function gamma(rgb) {
672
+ return rgb.map((x) => {
673
+ const abs = Math.abs(x);
674
+ return abs > 0.0031308
675
+ ? Math.sign(x) * (1.055 * abs ** (1 / 2.4) - 0.055)
676
+ : 12.92 * x;
677
+ });
678
+ }
679
+ function prophotoLinear(x) {
680
+ const abs = Math.abs(x);
681
+ return abs <= 16 / 512 ? x / 16 : Math.sign(x) * abs ** 1.8;
682
+ }
683
+ function rec2020Linear(x) {
684
+ const alpha = 1.09929682680944;
685
+ const beta = 0.018053968510807;
686
+ const abs = Math.abs(x);
687
+ return abs < beta * 4.5
688
+ ? x / 4.5
689
+ : Math.sign(x) * ((abs + alpha - 1) / alpha) ** (1 / 0.45);
690
+ }
691
+ function multiply(m, v) {
692
+ return [
693
+ m[0][0] * v[0] + m[0][1] * v[1] + m[0][2] * v[2],
694
+ m[1][0] * v[0] + m[1][1] * v[1] + m[1][2] * v[2],
695
+ m[2][0] * v[0] + m[2][1] * v[1] + m[2][2] * v[2],
696
+ ];
697
+ }
698
+ // Each takes its space's white to its white point's XYZ, which the tests
699
+ // check by sending white through every space.
700
+ const LINEAR_SRGB_TO_XYZ = [
701
+ [506752 / 1228815, 87881 / 245763, 12673 / 70218],
702
+ [87098 / 409605, 175762 / 245763, 12673 / 175545],
703
+ [7918 / 409605, 87881 / 737289, 1001167 / 1053270],
704
+ ];
705
+ const D65_TO_D50 = [
706
+ [1.0479297925449969, 0.022946870601609652, -0.05019226628920524],
707
+ [0.02962780877005599, 0.9904344267538799, -0.017073799063418826],
708
+ [-0.009243040646204504, 0.015055191490298152, 0.7518742814281371],
709
+ ];
710
+ const XYZ_TO_LINEAR_SRGB = [
711
+ [12831 / 3959, -329 / 214, -1974 / 3959],
712
+ [-851781 / 878810, 1648619 / 878810, 36519 / 878810],
713
+ [705 / 12673, -2585 / 12673, 705 / 667],
714
+ ];
715
+ const D50_TO_D65 = [
716
+ [0.955473421488075, -0.02309845494876471, 0.06325924320057072],
717
+ [-0.0283697093338637, 1.0099953980813041, 0.021041441191917323],
718
+ [0.012314014864481998, -0.020507649298898964, 1.330365926242124],
719
+ ];
720
+ const P3_TO_XYZ = [
721
+ [608311 / 1250200, 189793 / 714400, 198249 / 1000160],
722
+ [35783 / 156275, 247089 / 357200, 198249 / 2500400],
723
+ [0, 32229 / 714400, 5220557 / 5000800],
724
+ ];
725
+ const A98_TO_XYZ = [
726
+ [573536 / 994567, 263643 / 1420810, 187206 / 994567],
727
+ [591459 / 1989134, 6239551 / 9945670, 374412 / 4972835],
728
+ [53769 / 1989134, 351524 / 4972835, 4929758 / 4972835],
729
+ ];
730
+ const PROPHOTO_TO_XYZ_D50 = [
731
+ [0.7977666449006423, 0.13518129740053308, 0.0313477341283922],
732
+ [0.2880748288194013, 0.711835234241873, 0.00008993693872564],
733
+ [0, 0, 0.8251046025104602],
734
+ ];
735
+ const REC2020_TO_XYZ = [
736
+ [63426534 / 99577255, 20160776 / 139408157, 47086771 / 278816314],
737
+ [26158966 / 99577255, 472592308 / 697040785, 8267143 / 139408157],
738
+ [0, 19567812 / 697040785, 295819943 / 278816314],
739
+ ];
740
+ //# sourceMappingURL=color.js.map