@maizzle/framework 6.0.0-rc.9 → 6.0.1

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 (624) hide show
  1. package/README.md +3 -3
  2. package/bin/maizzle.mjs +1 -1
  3. package/dist/build.d.ts +38 -0
  4. package/dist/build.d.ts.map +1 -0
  5. package/dist/build.js +234 -0
  6. package/dist/build.js.map +1 -0
  7. package/dist/components/Body.vue +32 -3
  8. package/dist/components/Button.vue +91 -62
  9. package/dist/components/CodeBlock.vue +6 -4
  10. package/dist/components/CodeInline.vue +77 -6
  11. package/dist/components/Column.vue +67 -31
  12. package/dist/components/Container.vue +73 -12
  13. package/dist/components/Font.vue +96 -0
  14. package/dist/components/Head.vue +1 -1
  15. package/dist/components/Heading.vue +1 -1
  16. package/dist/components/Hr.vue +33 -0
  17. package/dist/components/Html.vue +36 -3
  18. package/dist/components/Img.vue +332 -0
  19. package/dist/components/Layout.vue +73 -21
  20. package/dist/components/Link.vue +1 -1
  21. package/dist/components/Markdown.vue +51 -24
  22. package/dist/components/MarkdownLayout.vue +39 -0
  23. package/dist/components/NotPlaintext.vue +14 -0
  24. package/dist/components/Outlook.vue +38 -11
  25. package/dist/components/OutlookBg.vue +241 -0
  26. package/dist/components/Plaintext.vue +14 -0
  27. package/dist/components/Preheader.vue +35 -10
  28. package/dist/components/QrCode.vue +157 -0
  29. package/dist/components/Raw.vue +28 -0
  30. package/dist/components/Row.vue +115 -22
  31. package/dist/components/Section.vue +65 -26
  32. package/dist/components/Spacer.vue +35 -29
  33. package/dist/components/Tailwind.vue +45 -0
  34. package/dist/components/Text.vue +3 -3
  35. package/dist/components/Vml.vue +207 -94
  36. package/dist/components/utils.d.ts +53 -0
  37. package/dist/components/utils.d.ts.map +1 -0
  38. package/dist/components/utils.js +80 -0
  39. package/dist/components/utils.js.map +1 -0
  40. package/dist/components/utils.ts +102 -0
  41. package/dist/composables/defineConfig.d.ts +13 -0
  42. package/dist/composables/defineConfig.d.ts.map +1 -0
  43. package/dist/composables/{defineConfig.mjs → defineConfig.js} +7 -9
  44. package/dist/composables/defineConfig.js.map +1 -0
  45. package/dist/composables/renderContext.d.ts +37 -0
  46. package/dist/composables/renderContext.d.ts.map +1 -0
  47. package/dist/composables/renderContext.js +6 -0
  48. package/dist/composables/renderContext.js.map +1 -0
  49. package/dist/composables/useBaseUrl.d.ts +19 -0
  50. package/dist/composables/useBaseUrl.d.ts.map +1 -0
  51. package/dist/composables/useBaseUrl.js +26 -0
  52. package/dist/composables/useBaseUrl.js.map +1 -0
  53. package/dist/composables/useConfig.d.ts +16 -0
  54. package/dist/composables/useConfig.d.ts.map +1 -0
  55. package/dist/composables/useConfig.js +19 -0
  56. package/dist/composables/useConfig.js.map +1 -0
  57. package/dist/composables/useCurrentTemplate.d.ts +31 -0
  58. package/dist/composables/useCurrentTemplate.d.ts.map +1 -0
  59. package/dist/composables/useCurrentTemplate.js +42 -0
  60. package/dist/composables/useCurrentTemplate.js.map +1 -0
  61. package/dist/composables/{useDoctype.d.mts → useDoctype.d.ts} +1 -1
  62. package/dist/composables/useDoctype.d.ts.map +1 -0
  63. package/dist/composables/{useDoctype.mjs → useDoctype.js} +3 -4
  64. package/dist/composables/useDoctype.js.map +1 -0
  65. package/dist/composables/{useEvent.d.mts → useEvent.d.ts} +3 -3
  66. package/dist/composables/useEvent.d.ts.map +1 -0
  67. package/dist/composables/{useEvent.mjs → useEvent.js} +4 -5
  68. package/dist/composables/useEvent.js.map +1 -0
  69. package/dist/composables/useFont.d.ts +50 -0
  70. package/dist/composables/useFont.d.ts.map +1 -0
  71. package/dist/composables/useFont.js +92 -0
  72. package/dist/composables/useFont.js.map +1 -0
  73. package/dist/composables/useOutlookFallback.d.ts +21 -0
  74. package/dist/composables/useOutlookFallback.d.ts.map +1 -0
  75. package/dist/composables/useOutlookFallback.js +29 -0
  76. package/dist/composables/useOutlookFallback.js.map +1 -0
  77. package/dist/composables/useOutputPath.d.ts +17 -0
  78. package/dist/composables/useOutputPath.d.ts.map +1 -0
  79. package/dist/composables/useOutputPath.js +23 -0
  80. package/dist/composables/useOutputPath.js.map +1 -0
  81. package/dist/composables/{usePlaintext.d.mts → usePlaintext.d.ts} +3 -1
  82. package/dist/composables/usePlaintext.d.ts.map +1 -0
  83. package/dist/composables/{usePlaintext.mjs → usePlaintext.js} +4 -4
  84. package/dist/composables/usePlaintext.js.map +1 -0
  85. package/dist/composables/usePreheader.d.ts +25 -0
  86. package/dist/composables/usePreheader.d.ts.map +1 -0
  87. package/dist/composables/usePreheader.js +28 -0
  88. package/dist/composables/usePreheader.js.map +1 -0
  89. package/dist/composables/useTransformers.d.ts +34 -0
  90. package/dist/composables/useTransformers.d.ts.map +1 -0
  91. package/dist/composables/useTransformers.js +48 -0
  92. package/dist/composables/useTransformers.js.map +1 -0
  93. package/dist/composables/useUrlQuery.d.ts +19 -0
  94. package/dist/composables/useUrlQuery.d.ts.map +1 -0
  95. package/dist/composables/useUrlQuery.js +26 -0
  96. package/dist/composables/useUrlQuery.js.map +1 -0
  97. package/dist/config/{defaults.d.mts → defaults.d.ts} +2 -2
  98. package/dist/config/defaults.d.ts.map +1 -0
  99. package/dist/config/{defaults.mjs → defaults.js} +10 -6
  100. package/dist/config/defaults.js.map +1 -0
  101. package/dist/config/index.d.ts +33 -0
  102. package/dist/config/index.d.ts.map +1 -0
  103. package/dist/config/index.js +136 -0
  104. package/dist/config/index.js.map +1 -0
  105. package/dist/events/{index.d.mts → index.d.ts} +35 -12
  106. package/dist/events/index.d.ts.map +1 -0
  107. package/dist/events/{index.mjs → index.js} +31 -13
  108. package/dist/events/index.js.map +1 -0
  109. package/dist/index.d.ts +41 -0
  110. package/dist/index.js +40 -0
  111. package/dist/{plaintext.d.mts → plaintext.d.ts} +1 -1
  112. package/dist/plaintext.d.ts.map +1 -0
  113. package/dist/{plaintext.mjs → plaintext.js} +4 -5
  114. package/dist/plaintext.js.map +1 -0
  115. package/dist/{plugin.d.mts → plugin.d.ts} +2 -2
  116. package/dist/plugin.d.ts.map +1 -0
  117. package/dist/{plugin.mjs → plugin.js} +8 -9
  118. package/dist/plugin.js.map +1 -0
  119. package/dist/plugins/postcss/{mergeMediaQueries.d.mts → mergeMediaQueries.d.ts} +2 -2
  120. package/dist/plugins/postcss/mergeMediaQueries.d.ts.map +1 -0
  121. package/dist/plugins/postcss/{mergeMediaQueries.mjs → mergeMediaQueries.js} +2 -3
  122. package/dist/plugins/postcss/mergeMediaQueries.js.map +1 -0
  123. package/dist/plugins/postcss/{pruneVars.d.mts → pruneVars.d.ts} +1 -1
  124. package/dist/plugins/postcss/pruneVars.d.ts.map +1 -0
  125. package/dist/plugins/postcss/{pruneVars.mjs → pruneVars.js} +2 -2
  126. package/dist/plugins/postcss/pruneVars.js.map +1 -0
  127. package/dist/plugins/postcss/quoteFontFamilies.d.ts +13 -0
  128. package/dist/plugins/postcss/quoteFontFamilies.d.ts.map +1 -0
  129. package/dist/plugins/postcss/quoteFontFamilies.js +84 -0
  130. package/dist/plugins/postcss/quoteFontFamilies.js.map +1 -0
  131. package/dist/plugins/postcss/{removeDeclarations.d.mts → removeDeclarations.d.ts} +1 -1
  132. package/dist/plugins/postcss/removeDeclarations.d.ts.map +1 -0
  133. package/dist/plugins/postcss/{removeDeclarations.mjs → removeDeclarations.js} +2 -2
  134. package/dist/plugins/postcss/removeDeclarations.js.map +1 -0
  135. package/dist/plugins/postcss/resolveMaizzleImports.d.ts +16 -0
  136. package/dist/plugins/postcss/resolveMaizzleImports.d.ts.map +1 -0
  137. package/dist/plugins/postcss/resolveMaizzleImports.js +39 -0
  138. package/dist/plugins/postcss/resolveMaizzleImports.js.map +1 -0
  139. package/dist/plugins/postcss/resolveProps.d.ts +8 -0
  140. package/dist/plugins/postcss/resolveProps.d.ts.map +1 -0
  141. package/dist/plugins/postcss/resolveProps.js +155 -0
  142. package/dist/plugins/postcss/resolveProps.js.map +1 -0
  143. package/dist/plugins/postcss/{tailwindCleanup.d.mts → tailwindCleanup.d.ts} +2 -2
  144. package/dist/plugins/postcss/tailwindCleanup.d.ts.map +1 -0
  145. package/dist/plugins/postcss/{tailwindCleanup.mjs → tailwindCleanup.js} +5 -3
  146. package/dist/plugins/postcss/tailwindCleanup.js.map +1 -0
  147. package/dist/prepare.d.ts +17 -0
  148. package/dist/prepare.d.ts.map +1 -0
  149. package/dist/prepare.js +44 -0
  150. package/dist/prepare.js.map +1 -0
  151. package/dist/render/active.d.ts +8 -0
  152. package/dist/render/active.d.ts.map +1 -0
  153. package/dist/render/active.js +12 -0
  154. package/dist/render/active.js.map +1 -0
  155. package/dist/render/buildTemplate.d.ts +49 -0
  156. package/dist/render/buildTemplate.d.ts.map +1 -0
  157. package/dist/render/buildTemplate.js +141 -0
  158. package/dist/render/buildTemplate.js.map +1 -0
  159. package/dist/render/{createRenderer.d.mts → createRenderer.d.ts} +14 -6
  160. package/dist/render/createRenderer.d.ts.map +1 -0
  161. package/dist/render/createRenderer.js +468 -0
  162. package/dist/render/createRenderer.js.map +1 -0
  163. package/dist/render/index.d.ts +18 -0
  164. package/dist/render/index.d.ts.map +1 -0
  165. package/dist/render/index.js +59 -0
  166. package/dist/render/index.js.map +1 -0
  167. package/dist/render/injectFonts.d.ts +15 -0
  168. package/dist/render/injectFonts.d.ts.map +1 -0
  169. package/dist/render/injectFonts.js +45 -0
  170. package/dist/render/injectFonts.js.map +1 -0
  171. package/dist/render/parallel/buildWorker.d.ts +31 -0
  172. package/dist/render/parallel/buildWorker.d.ts.map +1 -0
  173. package/dist/render/parallel/buildWorker.js +66 -0
  174. package/dist/render/parallel/buildWorker.js.map +1 -0
  175. package/dist/render/parallel/worker.mjs +28 -0
  176. package/dist/render/plugins/codeBlockExtract.d.ts +14 -0
  177. package/dist/render/plugins/codeBlockExtract.d.ts.map +1 -0
  178. package/dist/render/plugins/codeBlockExtract.js +38 -0
  179. package/dist/render/plugins/codeBlockExtract.js.map +1 -0
  180. package/dist/render/plugins/markdownExtract.d.ts +12 -0
  181. package/dist/render/plugins/markdownExtract.d.ts.map +1 -0
  182. package/dist/render/plugins/markdownExtract.js +49 -0
  183. package/dist/render/plugins/markdownExtract.js.map +1 -0
  184. package/dist/render/plugins/rawExtract.d.ts +14 -0
  185. package/dist/render/plugins/rawExtract.d.ts.map +1 -0
  186. package/dist/render/plugins/rawExtract.js +34 -0
  187. package/dist/render/plugins/rawExtract.js.map +1 -0
  188. package/dist/render/plugins/rowSourceLocation.d.ts +18 -0
  189. package/dist/render/plugins/rowSourceLocation.d.ts.map +1 -0
  190. package/dist/render/plugins/rowSourceLocation.js +45 -0
  191. package/dist/render/plugins/rowSourceLocation.js.map +1 -0
  192. package/dist/{serve.d.mts → serve.d.ts} +5 -3
  193. package/dist/serve.d.ts.map +1 -0
  194. package/dist/{serve.mjs → serve.js} +248 -119
  195. package/dist/serve.js.map +1 -0
  196. package/dist/server/compatibility.d.ts +59 -0
  197. package/dist/server/compatibility.d.ts.map +1 -0
  198. package/dist/server/compatibility.js +959 -0
  199. package/dist/server/compatibility.js.map +1 -0
  200. package/dist/server/{email.d.mts → email.d.ts} +2 -2
  201. package/dist/server/email.d.ts.map +1 -0
  202. package/dist/server/{email.mjs → email.js} +2 -3
  203. package/dist/server/email.js.map +1 -0
  204. package/dist/server/linter.d.ts +20 -0
  205. package/dist/server/linter.d.ts.map +1 -0
  206. package/dist/server/linter.js +345 -0
  207. package/dist/server/linter.js.map +1 -0
  208. package/dist/server/sfc-utils.d.ts +21 -0
  209. package/dist/server/sfc-utils.d.ts.map +1 -0
  210. package/dist/server/sfc-utils.js +198 -0
  211. package/dist/server/sfc-utils.js.map +1 -0
  212. package/dist/server/ui/.vite/deps/@lucide_vue.js +44967 -0
  213. package/dist/server/ui/.vite/deps/@lucide_vue.js.map +1 -0
  214. package/dist/server/ui/.vite/deps/@vueuse_core.js +8155 -0
  215. package/dist/server/ui/.vite/deps/@vueuse_core.js.map +1 -0
  216. package/dist/server/ui/.vite/deps/@vueuse_shared.js +1859 -0
  217. package/dist/server/ui/.vite/deps/@vueuse_shared.js.map +1 -0
  218. package/dist/server/ui/.vite/deps/_metadata.json +78 -0
  219. package/dist/server/ui/.vite/deps/chunk-EAsCxrDo.js +14 -0
  220. package/dist/server/ui/.vite/deps/class-variance-authority.js +57 -0
  221. package/dist/server/ui/.vite/deps/class-variance-authority.js.map +1 -0
  222. package/dist/server/ui/.vite/deps/clsx.js +18 -0
  223. package/dist/server/ui/.vite/deps/clsx.js.map +1 -0
  224. package/dist/server/ui/.vite/deps/culori.js +4312 -0
  225. package/dist/server/ui/.vite/deps/culori.js.map +1 -0
  226. package/dist/server/ui/.vite/deps/package.json +3 -0
  227. package/dist/server/ui/.vite/deps/reka-ui.js +44464 -0
  228. package/dist/server/ui/.vite/deps/reka-ui.js.map +1 -0
  229. package/dist/server/ui/.vite/deps/tailwind-merge.js +3458 -0
  230. package/dist/server/ui/.vite/deps/tailwind-merge.js.map +1 -0
  231. package/dist/server/ui/.vite/deps/vue-router.js +6383 -0
  232. package/dist/server/ui/.vite/deps/vue-router.js.map +1 -0
  233. package/dist/server/ui/.vite/deps/vue.js +2 -0
  234. package/dist/server/ui/.vite/deps/vue.runtime.esm-bundler-N1X0OxKs.js +8800 -0
  235. package/dist/server/ui/.vite/deps/vue.runtime.esm-bundler-N1X0OxKs.js.map +1 -0
  236. package/dist/server/ui/App.vue +106 -66
  237. package/dist/server/ui/components/SidebarClose.vue +12 -0
  238. package/dist/server/ui/components/ui/checkbox/Checkbox.vue +1 -1
  239. package/dist/server/ui/components/ui/command/Command.vue +5 -1
  240. package/dist/server/ui/components/ui/command/CommandInput.vue +2 -2
  241. package/dist/server/ui/components/ui/dialog/DialogContent.vue +1 -1
  242. package/dist/server/ui/components/ui/dialog/DialogScrollContent.vue +1 -1
  243. package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +1 -1
  244. package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +1 -1
  245. package/dist/server/ui/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +1 -1
  246. package/dist/server/ui/components/ui/input/Input.vue +1 -1
  247. package/dist/server/ui/components/ui/sheet/SheetContent.vue +1 -1
  248. package/dist/server/ui/components/ui/sidebar/SidebarTrigger.vue +2 -2
  249. package/dist/server/ui/components/ui/tags-input/TagsInputInput.vue +1 -1
  250. package/dist/server/ui/components/ui/tags-input/TagsInputItemDelete.vue +1 -1
  251. package/dist/server/ui/lib/emulated-dark-mode.ts +146 -0
  252. package/dist/server/ui/main.css +25 -0
  253. package/dist/server/ui/pages/Home.vue +1 -1
  254. package/dist/server/ui/pages/Preview.vue +377 -186
  255. package/dist/server/ui/vite-env.d.ts +1 -0
  256. package/dist/tests/render/_helpers.d.ts +6 -0
  257. package/dist/tests/render/_helpers.d.ts.map +1 -0
  258. package/dist/tests/render/_helpers.js +16 -0
  259. package/dist/tests/render/_helpers.js.map +1 -0
  260. package/dist/transformers/addAttributes.d.ts +42 -0
  261. package/dist/transformers/addAttributes.d.ts.map +1 -0
  262. package/dist/transformers/{addAttributes.mjs → addAttributes.js} +40 -24
  263. package/dist/transformers/addAttributes.js.map +1 -0
  264. package/dist/transformers/attributeToStyle.d.ts +38 -0
  265. package/dist/transformers/attributeToStyle.d.ts.map +1 -0
  266. package/dist/transformers/attributeToStyle.js +94 -0
  267. package/dist/transformers/attributeToStyle.js.map +1 -0
  268. package/dist/transformers/base.d.ts +71 -0
  269. package/dist/transformers/base.d.ts.map +1 -0
  270. package/dist/transformers/{base.mjs → base.js} +65 -40
  271. package/dist/transformers/base.js.map +1 -0
  272. package/dist/transformers/columnWidth.d.ts +31 -0
  273. package/dist/transformers/columnWidth.d.ts.map +1 -0
  274. package/dist/transformers/columnWidth.js +527 -0
  275. package/dist/transformers/columnWidth.js.map +1 -0
  276. package/dist/transformers/entities.d.ts +37 -0
  277. package/dist/transformers/entities.d.ts.map +1 -0
  278. package/dist/transformers/entities.js +74 -0
  279. package/dist/transformers/entities.js.map +1 -0
  280. package/dist/transformers/filters/{defaults.d.mts → defaults.d.ts} +1 -1
  281. package/dist/transformers/filters/defaults.d.ts.map +1 -0
  282. package/dist/transformers/filters/{defaults.mjs → defaults.js} +2 -2
  283. package/dist/transformers/filters/defaults.js.map +1 -0
  284. package/dist/transformers/filters/index.d.ts +43 -0
  285. package/dist/transformers/filters/index.d.ts.map +1 -0
  286. package/dist/transformers/filters/index.js +89 -0
  287. package/dist/transformers/filters/index.js.map +1 -0
  288. package/dist/transformers/format.d.ts +22 -0
  289. package/dist/transformers/format.d.ts.map +1 -0
  290. package/dist/transformers/format.js +30 -0
  291. package/dist/transformers/format.js.map +1 -0
  292. package/dist/transformers/imgWidth.d.ts +20 -0
  293. package/dist/transformers/imgWidth.d.ts.map +1 -0
  294. package/dist/transformers/imgWidth.js +76 -0
  295. package/dist/transformers/imgWidth.js.map +1 -0
  296. package/dist/transformers/{index.d.mts → index.d.ts} +4 -3
  297. package/dist/transformers/index.d.ts.map +1 -0
  298. package/dist/transformers/index.js +163 -0
  299. package/dist/transformers/index.js.map +1 -0
  300. package/dist/transformers/inlineCss.d.ts +85 -0
  301. package/dist/transformers/inlineCss.d.ts.map +1 -0
  302. package/dist/transformers/inlineCss.js +112 -0
  303. package/dist/transformers/inlineCss.js.map +1 -0
  304. package/dist/transformers/inlineLink.d.ts +35 -0
  305. package/dist/transformers/inlineLink.d.ts.map +1 -0
  306. package/dist/transformers/{inlineLink.mjs → inlineLink.js} +35 -11
  307. package/dist/transformers/inlineLink.js.map +1 -0
  308. package/dist/transformers/minify.d.ts +21 -0
  309. package/dist/transformers/minify.d.ts.map +1 -0
  310. package/dist/transformers/minify.js +25 -0
  311. package/dist/transformers/minify.js.map +1 -0
  312. package/dist/transformers/minifyCodeInline.d.ts +29 -0
  313. package/dist/transformers/minifyCodeInline.d.ts.map +1 -0
  314. package/dist/transformers/minifyCodeInline.js +36 -0
  315. package/dist/transformers/minifyCodeInline.js.map +1 -0
  316. package/dist/transformers/msoPlaceholders.d.ts +33 -0
  317. package/dist/transformers/msoPlaceholders.d.ts.map +1 -0
  318. package/dist/transformers/msoPlaceholders.js +114 -0
  319. package/dist/transformers/msoPlaceholders.js.map +1 -0
  320. package/dist/transformers/purgeCss.d.ts +43 -0
  321. package/dist/transformers/purgeCss.d.ts.map +1 -0
  322. package/dist/transformers/purgeCss.js +207 -0
  323. package/dist/transformers/purgeCss.js.map +1 -0
  324. package/dist/transformers/removeAttributes.d.ts +54 -0
  325. package/dist/transformers/removeAttributes.d.ts.map +1 -0
  326. package/dist/transformers/removeAttributes.js +72 -0
  327. package/dist/transformers/removeAttributes.js.map +1 -0
  328. package/dist/transformers/{replaceStrings.d.mts → replaceStrings.d.ts} +2 -2
  329. package/dist/transformers/replaceStrings.d.ts.map +1 -0
  330. package/dist/transformers/{replaceStrings.mjs → replaceStrings.js} +2 -2
  331. package/dist/transformers/replaceStrings.js.map +1 -0
  332. package/dist/transformers/safeSelectors.d.ts +37 -0
  333. package/dist/transformers/safeSelectors.d.ts.map +1 -0
  334. package/dist/transformers/{safeClassNames.mjs → safeSelectors.js} +40 -10
  335. package/dist/transformers/safeSelectors.js.map +1 -0
  336. package/dist/transformers/shorthandCss.d.ts +47 -0
  337. package/dist/transformers/shorthandCss.d.ts.map +1 -0
  338. package/dist/transformers/shorthandCss.js +92 -0
  339. package/dist/transformers/shorthandCss.js.map +1 -0
  340. package/dist/transformers/sixHex.d.ts +25 -0
  341. package/dist/transformers/sixHex.d.ts.map +1 -0
  342. package/dist/transformers/sixHex.js +42 -0
  343. package/dist/transformers/sixHex.js.map +1 -0
  344. package/dist/transformers/tailwindComponent.d.ts +16 -0
  345. package/dist/transformers/tailwindComponent.d.ts.map +1 -0
  346. package/dist/transformers/tailwindComponent.js +101 -0
  347. package/dist/transformers/tailwindComponent.js.map +1 -0
  348. package/dist/transformers/{tailwindcss.d.mts → tailwindcss.d.ts} +2 -2
  349. package/dist/transformers/tailwindcss.d.ts.map +1 -0
  350. package/dist/transformers/{tailwindcss.mjs → tailwindcss.js} +33 -74
  351. package/dist/transformers/tailwindcss.js.map +1 -0
  352. package/dist/transformers/urlQuery.d.ts +36 -0
  353. package/dist/transformers/urlQuery.d.ts.map +1 -0
  354. package/dist/transformers/urlQuery.js +77 -0
  355. package/dist/transformers/urlQuery.js.map +1 -0
  356. package/dist/types/{config.d.mts → config.d.ts} +231 -46
  357. package/dist/types/config.d.ts.map +1 -0
  358. package/dist/types/config.js +1 -0
  359. package/dist/types/index.d.ts +2 -0
  360. package/dist/types/index.js +1 -0
  361. package/dist/utils/ast/index.d.ts +4 -0
  362. package/dist/utils/ast/index.js +4 -0
  363. package/dist/utils/ast/{parser.d.mts → parser.d.ts} +1 -1
  364. package/dist/utils/ast/parser.d.ts.map +1 -0
  365. package/dist/utils/ast/{parser.mjs → parser.js} +2 -3
  366. package/dist/utils/ast/parser.js.map +1 -0
  367. package/dist/utils/ast/{serializer.d.mts → serializer.d.ts} +1 -1
  368. package/dist/utils/ast/serializer.d.ts.map +1 -0
  369. package/dist/utils/ast/serializer.js +46 -0
  370. package/dist/utils/ast/serializer.js.map +1 -0
  371. package/dist/utils/ast/{walker.d.mts → walker.d.ts} +1 -1
  372. package/dist/utils/ast/walker.d.ts.map +1 -0
  373. package/dist/utils/ast/{walker.mjs → walker.js} +2 -2
  374. package/dist/utils/ast/walker.js.map +1 -0
  375. package/dist/utils/cloneConfig.d.ts +13 -0
  376. package/dist/utils/cloneConfig.d.ts.map +1 -0
  377. package/dist/utils/cloneConfig.js +21 -0
  378. package/dist/utils/cloneConfig.js.map +1 -0
  379. package/dist/utils/compileTailwindCss.d.ts +16 -0
  380. package/dist/utils/compileTailwindCss.d.ts.map +1 -0
  381. package/dist/utils/compileTailwindCss.js +55 -0
  382. package/dist/utils/compileTailwindCss.js.map +1 -0
  383. package/dist/utils/componentSources.d.ts +50 -0
  384. package/dist/utils/componentSources.d.ts.map +1 -0
  385. package/dist/utils/componentSources.js +50 -0
  386. package/dist/utils/componentSources.js.map +1 -0
  387. package/dist/utils/cssBox.d.ts +42 -0
  388. package/dist/utils/cssBox.d.ts.map +1 -0
  389. package/dist/utils/cssBox.js +151 -0
  390. package/dist/utils/cssBox.js.map +1 -0
  391. package/dist/utils/decodeStyleEntities.d.ts +15 -0
  392. package/dist/utils/decodeStyleEntities.d.ts.map +1 -0
  393. package/dist/utils/decodeStyleEntities.js +18 -0
  394. package/dist/utils/decodeStyleEntities.js.map +1 -0
  395. package/dist/utils/{detect.d.mts → detect.d.ts} +1 -1
  396. package/dist/utils/detect.d.ts.map +1 -0
  397. package/dist/utils/{detect.mjs → detect.js} +2 -3
  398. package/dist/utils/detect.js.map +1 -0
  399. package/dist/utils/output-markers.d.ts +29 -0
  400. package/dist/utils/output-markers.d.ts.map +1 -0
  401. package/dist/utils/output-markers.js +68 -0
  402. package/dist/utils/output-markers.js.map +1 -0
  403. package/dist/utils/{url.d.mts → url.d.ts} +1 -1
  404. package/dist/utils/url.d.ts.map +1 -0
  405. package/dist/utils/{url.mjs → url.js} +2 -3
  406. package/dist/utils/url.js.map +1 -0
  407. package/dist/utils/watchPaths.d.ts +11 -0
  408. package/dist/utils/watchPaths.d.ts.map +1 -0
  409. package/dist/utils/watchPaths.js +19 -0
  410. package/dist/utils/watchPaths.js.map +1 -0
  411. package/node_modules/@clack/core/CHANGELOG.md +44 -0
  412. package/node_modules/@clack/core/dist/index.d.mts +125 -5
  413. package/node_modules/@clack/core/dist/index.mjs +972 -11
  414. package/node_modules/@clack/core/package.json +6 -2
  415. package/node_modules/@clack/prompts/CHANGELOG.md +70 -0
  416. package/node_modules/@clack/prompts/README.md +129 -3
  417. package/node_modules/@clack/prompts/dist/index.d.mts +567 -33
  418. package/node_modules/@clack/prompts/dist/index.mjs +1378 -133
  419. package/node_modules/@clack/prompts/package.json +7 -4
  420. package/node_modules/fast-string-truncated-width/dist/index.js +36 -96
  421. package/node_modules/fast-string-truncated-width/dist/types.d.ts +0 -3
  422. package/node_modules/fast-string-truncated-width/dist/utils.d.ts +3 -3
  423. package/node_modules/fast-string-truncated-width/dist/utils.js +14 -9
  424. package/node_modules/fast-string-truncated-width/package.json +1 -1
  425. package/node_modules/fast-string-truncated-width/readme.md +2 -3
  426. package/node_modules/fast-string-width/package.json +2 -2
  427. package/node_modules/fast-string-width/readme.md +0 -3
  428. package/node_modules/fast-wrap-ansi/lib/main.js +4 -2
  429. package/node_modules/fast-wrap-ansi/package.json +11 -11
  430. package/node_modules/maizzle/README.md +24 -0
  431. package/node_modules/maizzle/dist/commands/make/component.mjs +1 -1
  432. package/node_modules/maizzle/dist/commands/make/config.mjs +8 -7
  433. package/node_modules/maizzle/dist/commands/make/layout.mjs +3 -3
  434. package/node_modules/maizzle/dist/commands/make/scaffold.mjs +1 -1
  435. package/node_modules/maizzle/dist/commands/make/stubs/Layout.vue +146 -0
  436. package/node_modules/maizzle/dist/commands/make/stubs/component.vue +2 -4
  437. package/node_modules/maizzle/dist/commands/make/stubs/config.ts +1 -5
  438. package/node_modules/maizzle/dist/commands/make/template.mjs +1 -1
  439. package/node_modules/maizzle/dist/commands/new.mjs +46 -135
  440. package/node_modules/maizzle/dist/index.d.mts +1 -0
  441. package/node_modules/maizzle/dist/index.mjs +30 -7
  442. package/node_modules/maizzle/package.json +5 -4
  443. package/node_modules/nypm/dist/cli.mjs +28 -5
  444. package/node_modules/nypm/dist/index.d.mts +0 -8
  445. package/node_modules/nypm/dist/index.mjs +27 -4
  446. package/node_modules/nypm/package.json +12 -12
  447. package/node_modules/tinyexec/README.md +9 -1
  448. package/node_modules/tinyexec/dist/main.d.mts +22 -7
  449. package/node_modules/tinyexec/dist/main.mjs +189 -491
  450. package/node_modules/tinyexec/package.json +14 -16
  451. package/package.json +38 -31
  452. package/dist/_virtual/_rolldown/runtime.mjs +0 -32
  453. package/dist/build.d.mts +0 -19
  454. package/dist/build.d.mts.map +0 -1
  455. package/dist/build.mjs +0 -141
  456. package/dist/build.mjs.map +0 -1
  457. package/dist/components/Divider.vue +0 -133
  458. package/dist/components/Image.vue +0 -70
  459. package/dist/components/Overlap.vue +0 -80
  460. package/dist/components/utils.d.mts +0 -5
  461. package/dist/components/utils.d.mts.map +0 -1
  462. package/dist/components/utils.mjs +0 -9
  463. package/dist/components/utils.mjs.map +0 -1
  464. package/dist/composables/defineConfig.d.mts +0 -14
  465. package/dist/composables/defineConfig.d.mts.map +0 -1
  466. package/dist/composables/defineConfig.mjs.map +0 -1
  467. package/dist/composables/renderContext.d.mts +0 -24
  468. package/dist/composables/renderContext.d.mts.map +0 -1
  469. package/dist/composables/renderContext.mjs +0 -6
  470. package/dist/composables/renderContext.mjs.map +0 -1
  471. package/dist/composables/useConfig.d.mts +0 -9
  472. package/dist/composables/useConfig.d.mts.map +0 -1
  473. package/dist/composables/useConfig.mjs +0 -13
  474. package/dist/composables/useConfig.mjs.map +0 -1
  475. package/dist/composables/useDoctype.d.mts.map +0 -1
  476. package/dist/composables/useDoctype.mjs.map +0 -1
  477. package/dist/composables/useEvent.d.mts.map +0 -1
  478. package/dist/composables/useEvent.mjs.map +0 -1
  479. package/dist/composables/usePlaintext.d.mts.map +0 -1
  480. package/dist/composables/usePlaintext.mjs.map +0 -1
  481. package/dist/composables/usePreviewText.d.mts +0 -24
  482. package/dist/composables/usePreviewText.d.mts.map +0 -1
  483. package/dist/composables/usePreviewText.mjs +0 -29
  484. package/dist/composables/usePreviewText.mjs.map +0 -1
  485. package/dist/config/defaults.d.mts.map +0 -1
  486. package/dist/config/defaults.mjs.map +0 -1
  487. package/dist/config/index.d.mts +0 -15
  488. package/dist/config/index.d.mts.map +0 -1
  489. package/dist/config/index.mjs +0 -71
  490. package/dist/config/index.mjs.map +0 -1
  491. package/dist/events/index.d.mts.map +0 -1
  492. package/dist/events/index.mjs.map +0 -1
  493. package/dist/index.d.mts +0 -31
  494. package/dist/index.mjs +0 -31
  495. package/dist/node_modules/picomatch/index.mjs +0 -13
  496. package/dist/node_modules/picomatch/index.mjs.map +0 -1
  497. package/dist/node_modules/picomatch/lib/constants.mjs +0 -174
  498. package/dist/node_modules/picomatch/lib/constants.mjs.map +0 -1
  499. package/dist/node_modules/picomatch/lib/parse.mjs +0 -1067
  500. package/dist/node_modules/picomatch/lib/parse.mjs.map +0 -1
  501. package/dist/node_modules/picomatch/lib/picomatch.mjs +0 -304
  502. package/dist/node_modules/picomatch/lib/picomatch.mjs.map +0 -1
  503. package/dist/node_modules/picomatch/lib/scan.mjs +0 -296
  504. package/dist/node_modules/picomatch/lib/scan.mjs.map +0 -1
  505. package/dist/node_modules/picomatch/lib/utils.mjs +0 -53
  506. package/dist/node_modules/picomatch/lib/utils.mjs.map +0 -1
  507. package/dist/plaintext.d.mts.map +0 -1
  508. package/dist/plaintext.mjs.map +0 -1
  509. package/dist/plugin.d.mts.map +0 -1
  510. package/dist/plugin.mjs.map +0 -1
  511. package/dist/plugins/postcss/mergeMediaQueries.d.mts.map +0 -1
  512. package/dist/plugins/postcss/mergeMediaQueries.mjs.map +0 -1
  513. package/dist/plugins/postcss/pruneVars.d.mts.map +0 -1
  514. package/dist/plugins/postcss/pruneVars.mjs.map +0 -1
  515. package/dist/plugins/postcss/removeDeclarations.d.mts.map +0 -1
  516. package/dist/plugins/postcss/removeDeclarations.mjs.map +0 -1
  517. package/dist/plugins/postcss/tailwindCleanup.d.mts.map +0 -1
  518. package/dist/plugins/postcss/tailwindCleanup.mjs.map +0 -1
  519. package/dist/render/createRenderer.d.mts.map +0 -1
  520. package/dist/render/createRenderer.mjs +0 -286
  521. package/dist/render/createRenderer.mjs.map +0 -1
  522. package/dist/render/index.d.mts +0 -26
  523. package/dist/render/index.d.mts.map +0 -1
  524. package/dist/render/index.mjs +0 -46
  525. package/dist/render/index.mjs.map +0 -1
  526. package/dist/serve.d.mts.map +0 -1
  527. package/dist/serve.mjs.map +0 -1
  528. package/dist/server/compatibility.d.mts +0 -5
  529. package/dist/server/compatibility.d.mts.map +0 -1
  530. package/dist/server/compatibility.mjs +0 -97
  531. package/dist/server/compatibility.mjs.map +0 -1
  532. package/dist/server/email.d.mts.map +0 -1
  533. package/dist/server/email.mjs.map +0 -1
  534. package/dist/server/linter.d.mts +0 -5
  535. package/dist/server/linter.d.mts.map +0 -1
  536. package/dist/server/linter.mjs +0 -189
  537. package/dist/server/linter.mjs.map +0 -1
  538. package/dist/transformers/addAttributes.d.mts +0 -32
  539. package/dist/transformers/addAttributes.d.mts.map +0 -1
  540. package/dist/transformers/addAttributes.mjs.map +0 -1
  541. package/dist/transformers/attributeToStyle.d.mts +0 -25
  542. package/dist/transformers/attributeToStyle.d.mts.map +0 -1
  543. package/dist/transformers/attributeToStyle.mjs +0 -80
  544. package/dist/transformers/attributeToStyle.mjs.map +0 -1
  545. package/dist/transformers/base.d.mts +0 -8
  546. package/dist/transformers/base.d.mts.map +0 -1
  547. package/dist/transformers/base.mjs.map +0 -1
  548. package/dist/transformers/entities.d.mts +0 -8
  549. package/dist/transformers/entities.d.mts.map +0 -1
  550. package/dist/transformers/entities.mjs +0 -41
  551. package/dist/transformers/entities.mjs.map +0 -1
  552. package/dist/transformers/filters/defaults.d.mts.map +0 -1
  553. package/dist/transformers/filters/defaults.mjs.map +0 -1
  554. package/dist/transformers/filters/index.d.mts +0 -22
  555. package/dist/transformers/filters/index.d.mts.map +0 -1
  556. package/dist/transformers/filters/index.mjs +0 -67
  557. package/dist/transformers/filters/index.mjs.map +0 -1
  558. package/dist/transformers/format.d.mts +0 -15
  559. package/dist/transformers/format.d.mts.map +0 -1
  560. package/dist/transformers/format.mjs +0 -26
  561. package/dist/transformers/format.mjs.map +0 -1
  562. package/dist/transformers/index.d.mts.map +0 -1
  563. package/dist/transformers/index.mjs +0 -81
  564. package/dist/transformers/index.mjs.map +0 -1
  565. package/dist/transformers/inlineCSS.d.mts +0 -17
  566. package/dist/transformers/inlineCSS.d.mts.map +0 -1
  567. package/dist/transformers/inlineCSS.mjs +0 -70
  568. package/dist/transformers/inlineCSS.mjs.map +0 -1
  569. package/dist/transformers/inlineLink.d.mts +0 -14
  570. package/dist/transformers/inlineLink.d.mts.map +0 -1
  571. package/dist/transformers/inlineLink.mjs.map +0 -1
  572. package/dist/transformers/minify.d.mts +0 -17
  573. package/dist/transformers/minify.d.mts.map +0 -1
  574. package/dist/transformers/minify.mjs +0 -24
  575. package/dist/transformers/minify.mjs.map +0 -1
  576. package/dist/transformers/purgeCSS.d.mts +0 -23
  577. package/dist/transformers/purgeCSS.d.mts.map +0 -1
  578. package/dist/transformers/purgeCSS.mjs +0 -132
  579. package/dist/transformers/purgeCSS.mjs.map +0 -1
  580. package/dist/transformers/removeAttributes.d.mts +0 -31
  581. package/dist/transformers/removeAttributes.d.mts.map +0 -1
  582. package/dist/transformers/removeAttributes.mjs +0 -63
  583. package/dist/transformers/removeAttributes.mjs.map +0 -1
  584. package/dist/transformers/replaceStrings.d.mts.map +0 -1
  585. package/dist/transformers/replaceStrings.mjs.map +0 -1
  586. package/dist/transformers/safeClassNames.d.mts +0 -22
  587. package/dist/transformers/safeClassNames.d.mts.map +0 -1
  588. package/dist/transformers/safeClassNames.mjs.map +0 -1
  589. package/dist/transformers/shorthandCSS.d.mts +0 -24
  590. package/dist/transformers/shorthandCSS.d.mts.map +0 -1
  591. package/dist/transformers/shorthandCSS.mjs +0 -48
  592. package/dist/transformers/shorthandCSS.mjs.map +0 -1
  593. package/dist/transformers/sixHex.d.mts +0 -16
  594. package/dist/transformers/sixHex.d.mts.map +0 -1
  595. package/dist/transformers/sixHex.mjs +0 -30
  596. package/dist/transformers/sixHex.mjs.map +0 -1
  597. package/dist/transformers/tailwindcss.d.mts.map +0 -1
  598. package/dist/transformers/tailwindcss.mjs.map +0 -1
  599. package/dist/transformers/urlQuery.d.mts +0 -24
  600. package/dist/transformers/urlQuery.d.mts.map +0 -1
  601. package/dist/transformers/urlQuery.mjs +0 -65
  602. package/dist/transformers/urlQuery.mjs.map +0 -1
  603. package/dist/types/config.d.mts.map +0 -1
  604. package/dist/types/config.mjs +0 -1
  605. package/dist/types/index.d.mts +0 -2
  606. package/dist/types/index.mjs +0 -1
  607. package/dist/utils/ast/index.d.mts +0 -4
  608. package/dist/utils/ast/index.mjs +0 -5
  609. package/dist/utils/ast/parser.d.mts.map +0 -1
  610. package/dist/utils/ast/parser.mjs.map +0 -1
  611. package/dist/utils/ast/serializer.d.mts.map +0 -1
  612. package/dist/utils/ast/serializer.mjs +0 -37
  613. package/dist/utils/ast/serializer.mjs.map +0 -1
  614. package/dist/utils/ast/walker.d.mts.map +0 -1
  615. package/dist/utils/ast/walker.mjs.map +0 -1
  616. package/dist/utils/detect.d.mts.map +0 -1
  617. package/dist/utils/detect.mjs.map +0 -1
  618. package/dist/utils/url.d.mts.map +0 -1
  619. package/dist/utils/url.mjs.map +0 -1
  620. package/node_modules/@clack/core/dist/index.mjs.map +0 -1
  621. package/node_modules/@clack/prompts/dist/index.mjs.map +0 -1
  622. package/node_modules/fast-wrap-ansi/lib/main.js.map +0 -1
  623. package/node_modules/maizzle/dist/commands/make/stubs/layout.vue +0 -39
  624. package/node_modules/tinyexec/dist/LICENSES.txt +0 -83
@@ -0,0 +1,4312 @@
1
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rgb/parseNumber.js
2
+ var parseNumber = (color, len) => {
3
+ if (typeof color !== "number") return;
4
+ if (len === 3) return {
5
+ mode: "rgb",
6
+ r: (color >> 8 & 15 | color >> 4 & 240) / 255,
7
+ g: (color >> 4 & 15 | color & 240) / 255,
8
+ b: (color & 15 | color << 4 & 240) / 255
9
+ };
10
+ if (len === 4) return {
11
+ mode: "rgb",
12
+ r: (color >> 12 & 15 | color >> 8 & 240) / 255,
13
+ g: (color >> 8 & 15 | color >> 4 & 240) / 255,
14
+ b: (color >> 4 & 15 | color & 240) / 255,
15
+ alpha: (color & 15 | color << 4 & 240) / 255
16
+ };
17
+ if (len === 6) return {
18
+ mode: "rgb",
19
+ r: (color >> 16 & 255) / 255,
20
+ g: (color >> 8 & 255) / 255,
21
+ b: (color & 255) / 255
22
+ };
23
+ if (len === 8) return {
24
+ mode: "rgb",
25
+ r: (color >> 24 & 255) / 255,
26
+ g: (color >> 16 & 255) / 255,
27
+ b: (color >> 8 & 255) / 255,
28
+ alpha: (color & 255) / 255
29
+ };
30
+ };
31
+ //#endregion
32
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/colors/named.js
33
+ var named = {
34
+ aliceblue: 15792383,
35
+ antiquewhite: 16444375,
36
+ aqua: 65535,
37
+ aquamarine: 8388564,
38
+ azure: 15794175,
39
+ beige: 16119260,
40
+ bisque: 16770244,
41
+ black: 0,
42
+ blanchedalmond: 16772045,
43
+ blue: 255,
44
+ blueviolet: 9055202,
45
+ brown: 10824234,
46
+ burlywood: 14596231,
47
+ cadetblue: 6266528,
48
+ chartreuse: 8388352,
49
+ chocolate: 13789470,
50
+ coral: 16744272,
51
+ cornflowerblue: 6591981,
52
+ cornsilk: 16775388,
53
+ crimson: 14423100,
54
+ cyan: 65535,
55
+ darkblue: 139,
56
+ darkcyan: 35723,
57
+ darkgoldenrod: 12092939,
58
+ darkgray: 11119017,
59
+ darkgreen: 25600,
60
+ darkgrey: 11119017,
61
+ darkkhaki: 12433259,
62
+ darkmagenta: 9109643,
63
+ darkolivegreen: 5597999,
64
+ darkorange: 16747520,
65
+ darkorchid: 10040012,
66
+ darkred: 9109504,
67
+ darksalmon: 15308410,
68
+ darkseagreen: 9419919,
69
+ darkslateblue: 4734347,
70
+ darkslategray: 3100495,
71
+ darkslategrey: 3100495,
72
+ darkturquoise: 52945,
73
+ darkviolet: 9699539,
74
+ deeppink: 16716947,
75
+ deepskyblue: 49151,
76
+ dimgray: 6908265,
77
+ dimgrey: 6908265,
78
+ dodgerblue: 2003199,
79
+ firebrick: 11674146,
80
+ floralwhite: 16775920,
81
+ forestgreen: 2263842,
82
+ fuchsia: 16711935,
83
+ gainsboro: 14474460,
84
+ ghostwhite: 16316671,
85
+ gold: 16766720,
86
+ goldenrod: 14329120,
87
+ gray: 8421504,
88
+ green: 32768,
89
+ greenyellow: 11403055,
90
+ grey: 8421504,
91
+ honeydew: 15794160,
92
+ hotpink: 16738740,
93
+ indianred: 13458524,
94
+ indigo: 4915330,
95
+ ivory: 16777200,
96
+ khaki: 15787660,
97
+ lavender: 15132410,
98
+ lavenderblush: 16773365,
99
+ lawngreen: 8190976,
100
+ lemonchiffon: 16775885,
101
+ lightblue: 11393254,
102
+ lightcoral: 15761536,
103
+ lightcyan: 14745599,
104
+ lightgoldenrodyellow: 16448210,
105
+ lightgray: 13882323,
106
+ lightgreen: 9498256,
107
+ lightgrey: 13882323,
108
+ lightpink: 16758465,
109
+ lightsalmon: 16752762,
110
+ lightseagreen: 2142890,
111
+ lightskyblue: 8900346,
112
+ lightslategray: 7833753,
113
+ lightslategrey: 7833753,
114
+ lightsteelblue: 11584734,
115
+ lightyellow: 16777184,
116
+ lime: 65280,
117
+ limegreen: 3329330,
118
+ linen: 16445670,
119
+ magenta: 16711935,
120
+ maroon: 8388608,
121
+ mediumaquamarine: 6737322,
122
+ mediumblue: 205,
123
+ mediumorchid: 12211667,
124
+ mediumpurple: 9662683,
125
+ mediumseagreen: 3978097,
126
+ mediumslateblue: 8087790,
127
+ mediumspringgreen: 64154,
128
+ mediumturquoise: 4772300,
129
+ mediumvioletred: 13047173,
130
+ midnightblue: 1644912,
131
+ mintcream: 16121850,
132
+ mistyrose: 16770273,
133
+ moccasin: 16770229,
134
+ navajowhite: 16768685,
135
+ navy: 128,
136
+ oldlace: 16643558,
137
+ olive: 8421376,
138
+ olivedrab: 7048739,
139
+ orange: 16753920,
140
+ orangered: 16729344,
141
+ orchid: 14315734,
142
+ palegoldenrod: 15657130,
143
+ palegreen: 10025880,
144
+ paleturquoise: 11529966,
145
+ palevioletred: 14381203,
146
+ papayawhip: 16773077,
147
+ peachpuff: 16767673,
148
+ peru: 13468991,
149
+ pink: 16761035,
150
+ plum: 14524637,
151
+ powderblue: 11591910,
152
+ purple: 8388736,
153
+ rebeccapurple: 6697881,
154
+ red: 16711680,
155
+ rosybrown: 12357519,
156
+ royalblue: 4286945,
157
+ saddlebrown: 9127187,
158
+ salmon: 16416882,
159
+ sandybrown: 16032864,
160
+ seagreen: 3050327,
161
+ seashell: 16774638,
162
+ sienna: 10506797,
163
+ silver: 12632256,
164
+ skyblue: 8900331,
165
+ slateblue: 6970061,
166
+ slategray: 7372944,
167
+ slategrey: 7372944,
168
+ snow: 16775930,
169
+ springgreen: 65407,
170
+ steelblue: 4620980,
171
+ tan: 13808780,
172
+ teal: 32896,
173
+ thistle: 14204888,
174
+ tomato: 16737095,
175
+ turquoise: 4251856,
176
+ violet: 15631086,
177
+ wheat: 16113331,
178
+ white: 16777215,
179
+ whitesmoke: 16119285,
180
+ yellow: 16776960,
181
+ yellowgreen: 10145074
182
+ };
183
+ //#endregion
184
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rgb/parseNamed.js
185
+ var parseNamed = (color) => {
186
+ return parseNumber(named[color.toLowerCase()], 6);
187
+ };
188
+ //#endregion
189
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rgb/parseHex.js
190
+ var hex = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;
191
+ var parseHex = (color) => {
192
+ let match;
193
+ return (match = color.match(hex)) ? parseNumber(parseInt(match[1], 16), match[1].length) : void 0;
194
+ };
195
+ //#endregion
196
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/util/regex.js
197
+ var num$1 = "([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)";
198
+ `${num$1}`;
199
+ var per = `${num$1}%`;
200
+ `${num$1}`;
201
+ var num_per = `(?:${num$1}%|${num$1})`;
202
+ var num_per_none = `(?:${num$1}%|${num$1}|none)`;
203
+ var hue$1 = `(?:${num$1}(deg|grad|rad|turn)|${num$1})`;
204
+ `${num$1}${num$1}`;
205
+ var c = `\\s*,\\s*`;
206
+ new RegExp("^" + num_per_none + "$");
207
+ //#endregion
208
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rgb/parseRgbLegacy.js
209
+ var rgb_num_old = new RegExp(`^rgba?\\(\\s*${num$1}${c}${num$1}${c}${num$1}\\s*(?:,\\s*${num_per}\\s*)?\\)$`);
210
+ var rgb_per_old = new RegExp(`^rgba?\\(\\s*${per}${c}${per}${c}${per}\\s*(?:,\\s*${num_per}\\s*)?\\)$`);
211
+ var parseRgbLegacy = (color) => {
212
+ let res = { mode: "rgb" };
213
+ let match;
214
+ if (match = color.match(rgb_num_old)) {
215
+ if (match[1] !== void 0) res.r = match[1] / 255;
216
+ if (match[2] !== void 0) res.g = match[2] / 255;
217
+ if (match[3] !== void 0) res.b = match[3] / 255;
218
+ } else if (match = color.match(rgb_per_old)) {
219
+ if (match[1] !== void 0) res.r = match[1] / 100;
220
+ if (match[2] !== void 0) res.g = match[2] / 100;
221
+ if (match[3] !== void 0) res.b = match[3] / 100;
222
+ } else return;
223
+ if (match[4] !== void 0) res.alpha = Math.max(0, Math.min(1, match[4] / 100));
224
+ else if (match[5] !== void 0) res.alpha = Math.max(0, Math.min(1, +match[5]));
225
+ return res;
226
+ };
227
+ //#endregion
228
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/_prepare.js
229
+ var prepare = (color, mode) => color === void 0 ? void 0 : typeof color !== "object" ? parse(color) : color.mode !== void 0 ? color : mode ? {
230
+ ...color,
231
+ mode
232
+ } : void 0;
233
+ //#endregion
234
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/converter.js
235
+ var converter = (target_mode = "rgb") => (color) => (color = prepare(color, target_mode)) !== void 0 ? color.mode === target_mode ? color : converters[color.mode][target_mode] ? converters[color.mode][target_mode](color) : target_mode === "rgb" ? converters[color.mode].rgb(color) : converters.rgb[target_mode](converters[color.mode].rgb(color)) : void 0;
236
+ //#endregion
237
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/modes.js
238
+ var converters = {};
239
+ var modes = {};
240
+ var parsers = [];
241
+ var colorProfiles = {};
242
+ var identity = (v) => v;
243
+ var useMode = (definition) => {
244
+ converters[definition.mode] = {
245
+ ...converters[definition.mode],
246
+ ...definition.toMode
247
+ };
248
+ Object.keys(definition.fromMode || {}).forEach((k) => {
249
+ if (!converters[k]) converters[k] = {};
250
+ converters[k][definition.mode] = definition.fromMode[k];
251
+ });
252
+ if (!definition.ranges) definition.ranges = {};
253
+ if (!definition.difference) definition.difference = {};
254
+ definition.channels.forEach((channel) => {
255
+ if (definition.ranges[channel] === void 0) definition.ranges[channel] = [0, 1];
256
+ if (!definition.interpolate[channel]) throw new Error(`Missing interpolator for: ${channel}`);
257
+ if (typeof definition.interpolate[channel] === "function") definition.interpolate[channel] = { use: definition.interpolate[channel] };
258
+ if (!definition.interpolate[channel].fixup) definition.interpolate[channel].fixup = identity;
259
+ });
260
+ modes[definition.mode] = definition;
261
+ (definition.parse || []).forEach((parser) => {
262
+ useParser(parser, definition.mode);
263
+ });
264
+ return converter(definition.mode);
265
+ };
266
+ var getMode = (mode) => modes[mode];
267
+ var useParser = (parser, mode) => {
268
+ if (typeof parser === "string") {
269
+ if (!mode) throw new Error(`'mode' required when 'parser' is a string`);
270
+ colorProfiles[parser] = mode;
271
+ } else if (typeof parser === "function") {
272
+ if (parsers.indexOf(parser) < 0) parsers.push(parser);
273
+ }
274
+ };
275
+ var removeParser = (parser) => {
276
+ if (typeof parser === "string") delete colorProfiles[parser];
277
+ else if (typeof parser === "function") {
278
+ const idx = parsers.indexOf(parser);
279
+ if (idx > 0) parsers.splice(idx, 1);
280
+ }
281
+ };
282
+ //#endregion
283
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/parse.js
284
+ var IdentStartCodePoint = /[^\x00-\x7F]|[a-zA-Z_]/;
285
+ var IdentCodePoint = /[^\x00-\x7F]|[-\w]/;
286
+ var Tok = {
287
+ Function: "function",
288
+ Ident: "ident",
289
+ Number: "number",
290
+ Percentage: "percentage",
291
+ ParenClose: ")",
292
+ None: "none",
293
+ Hue: "hue",
294
+ Alpha: "alpha"
295
+ };
296
+ var _i = 0;
297
+ function is_num(chars) {
298
+ let ch = chars[_i];
299
+ let ch1 = chars[_i + 1];
300
+ if (ch === "-" || ch === "+") return /\d/.test(ch1) || ch1 === "." && /\d/.test(chars[_i + 2]);
301
+ if (ch === ".") return /\d/.test(ch1);
302
+ return /\d/.test(ch);
303
+ }
304
+ function is_ident(chars) {
305
+ if (_i >= chars.length) return false;
306
+ let ch = chars[_i];
307
+ if (IdentStartCodePoint.test(ch)) return true;
308
+ if (ch === "-") {
309
+ if (chars.length - _i < 2) return false;
310
+ let ch1 = chars[_i + 1];
311
+ if (ch1 === "-" || IdentStartCodePoint.test(ch1)) return true;
312
+ return false;
313
+ }
314
+ return false;
315
+ }
316
+ var huenits = {
317
+ deg: 1,
318
+ rad: 180 / Math.PI,
319
+ grad: 9 / 10,
320
+ turn: 360
321
+ };
322
+ function num(chars) {
323
+ let value = "";
324
+ if (chars[_i] === "-" || chars[_i] === "+") value += chars[_i++];
325
+ value += digits(chars);
326
+ if (chars[_i] === "." && /\d/.test(chars[_i + 1])) value += chars[_i++] + digits(chars);
327
+ if (chars[_i] === "e" || chars[_i] === "E") {
328
+ if ((chars[_i + 1] === "-" || chars[_i + 1] === "+") && /\d/.test(chars[_i + 2])) value += chars[_i++] + chars[_i++] + digits(chars);
329
+ else if (/\d/.test(chars[_i + 1])) value += chars[_i++] + digits(chars);
330
+ }
331
+ if (is_ident(chars)) {
332
+ let id = ident(chars);
333
+ if (id === "deg" || id === "rad" || id === "turn" || id === "grad") return {
334
+ type: Tok.Hue,
335
+ value: value * huenits[id]
336
+ };
337
+ return;
338
+ }
339
+ if (chars[_i] === "%") {
340
+ _i++;
341
+ return {
342
+ type: Tok.Percentage,
343
+ value: +value
344
+ };
345
+ }
346
+ return {
347
+ type: Tok.Number,
348
+ value: +value
349
+ };
350
+ }
351
+ function digits(chars) {
352
+ let v = "";
353
+ while (/\d/.test(chars[_i])) v += chars[_i++];
354
+ return v;
355
+ }
356
+ function ident(chars) {
357
+ let v = "";
358
+ while (_i < chars.length && IdentCodePoint.test(chars[_i])) v += chars[_i++];
359
+ return v;
360
+ }
361
+ function identlike(chars) {
362
+ let v = ident(chars);
363
+ if (chars[_i] === "(") {
364
+ _i++;
365
+ return {
366
+ type: Tok.Function,
367
+ value: v
368
+ };
369
+ }
370
+ if (v === "none") return {
371
+ type: Tok.None,
372
+ value: void 0
373
+ };
374
+ return {
375
+ type: Tok.Ident,
376
+ value: v
377
+ };
378
+ }
379
+ function tokenize(str = "") {
380
+ let chars = str.trim();
381
+ let tokens = [];
382
+ let ch;
383
+ _i = 0;
384
+ while (_i < chars.length) {
385
+ ch = chars[_i++];
386
+ if (ch === "\n" || ch === " " || ch === " ") {
387
+ while (_i < chars.length && (chars[_i] === "\n" || chars[_i] === " " || chars[_i] === " ")) _i++;
388
+ continue;
389
+ }
390
+ if (ch === ",") return;
391
+ if (ch === ")") {
392
+ tokens.push({ type: Tok.ParenClose });
393
+ continue;
394
+ }
395
+ if (ch === "+") {
396
+ _i--;
397
+ if (is_num(chars)) {
398
+ tokens.push(num(chars));
399
+ continue;
400
+ }
401
+ return;
402
+ }
403
+ if (ch === "-") {
404
+ _i--;
405
+ if (is_num(chars)) {
406
+ tokens.push(num(chars));
407
+ continue;
408
+ }
409
+ if (is_ident(chars)) {
410
+ tokens.push({
411
+ type: Tok.Ident,
412
+ value: ident(chars)
413
+ });
414
+ continue;
415
+ }
416
+ return;
417
+ }
418
+ if (ch === ".") {
419
+ _i--;
420
+ if (is_num(chars)) {
421
+ tokens.push(num(chars));
422
+ continue;
423
+ }
424
+ return;
425
+ }
426
+ if (ch === "/") {
427
+ while (_i < chars.length && (chars[_i] === "\n" || chars[_i] === " " || chars[_i] === " ")) _i++;
428
+ let alpha;
429
+ if (is_num(chars)) {
430
+ alpha = num(chars);
431
+ if (alpha.type !== Tok.Hue) {
432
+ tokens.push({
433
+ type: Tok.Alpha,
434
+ value: alpha
435
+ });
436
+ continue;
437
+ }
438
+ }
439
+ if (is_ident(chars)) {
440
+ if (ident(chars) === "none") {
441
+ tokens.push({
442
+ type: Tok.Alpha,
443
+ value: {
444
+ type: Tok.None,
445
+ value: void 0
446
+ }
447
+ });
448
+ continue;
449
+ }
450
+ }
451
+ return;
452
+ }
453
+ if (/\d/.test(ch)) {
454
+ _i--;
455
+ tokens.push(num(chars));
456
+ continue;
457
+ }
458
+ if (IdentStartCodePoint.test(ch)) {
459
+ _i--;
460
+ tokens.push(identlike(chars));
461
+ continue;
462
+ }
463
+ return;
464
+ }
465
+ return tokens;
466
+ }
467
+ function parseColorSyntax(tokens) {
468
+ tokens._i = 0;
469
+ let token = tokens[tokens._i++];
470
+ if (!token || token.type !== Tok.Function || token.value !== "color") return;
471
+ token = tokens[tokens._i++];
472
+ if (token.type !== Tok.Ident) return;
473
+ const mode = colorProfiles[token.value];
474
+ if (!mode) return;
475
+ const res = { mode };
476
+ const coords = consumeCoords(tokens, false);
477
+ if (!coords) return;
478
+ const channels = getMode(mode).channels;
479
+ for (let ii = 0, c, ch; ii < channels.length; ii++) {
480
+ c = coords[ii];
481
+ ch = channels[ii];
482
+ if (c.type !== Tok.None) {
483
+ res[ch] = c.type === Tok.Number ? c.value : c.value / 100;
484
+ if (ch === "alpha") res[ch] = Math.max(0, Math.min(1, res[ch]));
485
+ }
486
+ }
487
+ return res;
488
+ }
489
+ function consumeCoords(tokens, includeHue) {
490
+ const coords = [];
491
+ let token;
492
+ while (tokens._i < tokens.length) {
493
+ token = tokens[tokens._i++];
494
+ if (token.type === Tok.None || token.type === Tok.Number || token.type === Tok.Alpha || token.type === Tok.Percentage || includeHue && token.type === Tok.Hue) {
495
+ coords.push(token);
496
+ continue;
497
+ }
498
+ if (token.type === Tok.ParenClose) {
499
+ if (tokens._i < tokens.length) return;
500
+ continue;
501
+ }
502
+ return;
503
+ }
504
+ if (coords.length < 3 || coords.length > 4) return;
505
+ if (coords.length === 4) {
506
+ if (coords[3].type !== Tok.Alpha) return;
507
+ coords[3] = coords[3].value;
508
+ }
509
+ if (coords.length === 3) coords.push({
510
+ type: Tok.None,
511
+ value: void 0
512
+ });
513
+ return coords.every((c) => c.type !== Tok.Alpha) ? coords : void 0;
514
+ }
515
+ function parseModernSyntax(tokens, includeHue) {
516
+ tokens._i = 0;
517
+ let token = tokens[tokens._i++];
518
+ if (!token || token.type !== Tok.Function) return;
519
+ let coords = consumeCoords(tokens, includeHue);
520
+ if (!coords) return;
521
+ coords.unshift(token.value);
522
+ return coords;
523
+ }
524
+ var parse = (color) => {
525
+ if (typeof color !== "string") return;
526
+ const tokens = tokenize(color);
527
+ const parsed = tokens ? parseModernSyntax(tokens, true) : void 0;
528
+ let result = void 0;
529
+ let i = 0;
530
+ let len = parsers.length;
531
+ while (i < len) if ((result = parsers[i++](color, parsed)) !== void 0) return result;
532
+ return tokens ? parseColorSyntax(tokens) : void 0;
533
+ };
534
+ //#endregion
535
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rgb/parseRgb.js
536
+ function parseRgb(color, parsed) {
537
+ if (!parsed || parsed[0] !== "rgb" && parsed[0] !== "rgba") return;
538
+ const res = { mode: "rgb" };
539
+ const [, r, g, b, alpha] = parsed;
540
+ if (r.type === Tok.Hue || g.type === Tok.Hue || b.type === Tok.Hue) return;
541
+ if (r.type !== Tok.None) res.r = r.type === Tok.Number ? r.value / 255 : r.value / 100;
542
+ if (g.type !== Tok.None) res.g = g.type === Tok.Number ? g.value / 255 : g.value / 100;
543
+ if (b.type !== Tok.None) res.b = b.type === Tok.Number ? b.value / 255 : b.value / 100;
544
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
545
+ return res;
546
+ }
547
+ //#endregion
548
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rgb/parseTransparent.js
549
+ var parseTransparent = (c) => c === "transparent" ? {
550
+ mode: "rgb",
551
+ r: 0,
552
+ g: 0,
553
+ b: 0,
554
+ alpha: 0
555
+ } : void 0;
556
+ //#endregion
557
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/interpolate/lerp.js
558
+ var lerp = (a, b, t) => a + t * (b - a);
559
+ var unlerp = (a, b, v) => (v - a) / (b - a);
560
+ var blerp = (a00, a01, a10, a11, tx, ty) => {
561
+ return lerp(lerp(a00, a01, tx), lerp(a10, a11, tx), ty);
562
+ };
563
+ var trilerp = (a000, a010, a100, a110, a001, a011, a101, a111, tx, ty, tz) => {
564
+ return lerp(blerp(a000, a010, a100, a110, tx, ty), blerp(a001, a011, a101, a111, tx, ty), tz);
565
+ };
566
+ //#endregion
567
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/interpolate/piecewise.js
568
+ var get_classes = (arr) => {
569
+ let classes = [];
570
+ for (let i = 0; i < arr.length - 1; i++) {
571
+ let a = arr[i];
572
+ let b = arr[i + 1];
573
+ if (a === void 0 && b === void 0) classes.push(void 0);
574
+ else if (a !== void 0 && b !== void 0) classes.push([a, b]);
575
+ else classes.push(a !== void 0 ? [a, a] : [b, b]);
576
+ }
577
+ return classes;
578
+ };
579
+ var interpolatorPiecewise = (interpolator) => (arr) => {
580
+ let classes = get_classes(arr);
581
+ return (t) => {
582
+ let cls = t * classes.length;
583
+ let idx = t >= 1 ? classes.length - 1 : Math.max(Math.floor(cls), 0);
584
+ let pair = classes[idx];
585
+ return pair === void 0 ? void 0 : interpolator(pair[0], pair[1], cls - idx);
586
+ };
587
+ };
588
+ //#endregion
589
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/interpolate/linear.js
590
+ var interpolatorLinear = interpolatorPiecewise(lerp);
591
+ //#endregion
592
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/fixup/alpha.js
593
+ var fixupAlpha = (arr) => {
594
+ let some_defined = false;
595
+ let res = arr.map((v) => {
596
+ if (v !== void 0) {
597
+ some_defined = true;
598
+ return v;
599
+ }
600
+ return 1;
601
+ });
602
+ return some_defined ? res : arr;
603
+ };
604
+ //#endregion
605
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rgb/definition.js
606
+ var definition$23 = {
607
+ mode: "rgb",
608
+ channels: [
609
+ "r",
610
+ "g",
611
+ "b",
612
+ "alpha"
613
+ ],
614
+ parse: [
615
+ parseRgb,
616
+ parseHex,
617
+ parseRgbLegacy,
618
+ parseNamed,
619
+ parseTransparent,
620
+ "srgb"
621
+ ],
622
+ serialize: "srgb",
623
+ interpolate: {
624
+ r: interpolatorLinear,
625
+ g: interpolatorLinear,
626
+ b: interpolatorLinear,
627
+ alpha: {
628
+ use: interpolatorLinear,
629
+ fixup: fixupAlpha
630
+ }
631
+ },
632
+ gamut: true,
633
+ white: {
634
+ r: 1,
635
+ g: 1,
636
+ b: 1
637
+ },
638
+ black: {
639
+ r: 0,
640
+ g: 0,
641
+ b: 0
642
+ }
643
+ };
644
+ //#endregion
645
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/a98/convertA98ToXyz65.js
646
+ var linearize$2 = (v = 0) => Math.pow(Math.abs(v), 563 / 256) * Math.sign(v);
647
+ var convertA98ToXyz65 = (a98) => {
648
+ let r = linearize$2(a98.r);
649
+ let g = linearize$2(a98.g);
650
+ let b = linearize$2(a98.b);
651
+ let res = {
652
+ mode: "xyz65",
653
+ x: .5766690429101305 * r + .1855582379065463 * g + .1882286462349947 * b,
654
+ y: .297344975250536 * r + .6273635662554661 * g + .0752914584939979 * b,
655
+ z: .0270313613864123 * r + .0706888525358272 * g + .9913375368376386 * b
656
+ };
657
+ if (a98.alpha !== void 0) res.alpha = a98.alpha;
658
+ return res;
659
+ };
660
+ //#endregion
661
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/a98/convertXyz65ToA98.js
662
+ var gamma$3 = (v) => Math.pow(Math.abs(v), 256 / 563) * Math.sign(v);
663
+ var convertXyz65ToA98 = ({ x, y, z, alpha }) => {
664
+ if (x === void 0) x = 0;
665
+ if (y === void 0) y = 0;
666
+ if (z === void 0) z = 0;
667
+ let res = {
668
+ mode: "a98",
669
+ r: gamma$3(x * 2.0415879038107465 - y * .5650069742788597 - .3447313507783297 * z),
670
+ g: gamma$3(x * -.9692436362808798 + y * 1.8759675015077206 + .0415550574071756 * z),
671
+ b: gamma$3(x * .0134442806320312 - y * .1183623922310184 + 1.0151749943912058 * z)
672
+ };
673
+ if (alpha !== void 0) res.alpha = alpha;
674
+ return res;
675
+ };
676
+ //#endregion
677
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lrgb/convertRgbToLrgb.js
678
+ var fn$3 = (c = 0) => {
679
+ const abs = Math.abs(c);
680
+ if (abs <= .04045) return c / 12.92;
681
+ return (Math.sign(c) || 1) * Math.pow((abs + .055) / 1.055, 2.4);
682
+ };
683
+ var convertRgbToLrgb = ({ r, g, b, alpha }) => {
684
+ let res = {
685
+ mode: "lrgb",
686
+ r: fn$3(r),
687
+ g: fn$3(g),
688
+ b: fn$3(b)
689
+ };
690
+ if (alpha !== void 0) res.alpha = alpha;
691
+ return res;
692
+ };
693
+ //#endregion
694
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz65/convertRgbToXyz65.js
695
+ var convertRgbToXyz65 = (rgb) => {
696
+ let { r, g, b, alpha } = convertRgbToLrgb(rgb);
697
+ let res = {
698
+ mode: "xyz65",
699
+ x: .4123907992659593 * r + .357584339383878 * g + .1804807884018343 * b,
700
+ y: .2126390058715102 * r + .715168678767756 * g + .0721923153607337 * b,
701
+ z: .0193308187155918 * r + .119194779794626 * g + .9505321522496607 * b
702
+ };
703
+ if (alpha !== void 0) res.alpha = alpha;
704
+ return res;
705
+ };
706
+ //#endregion
707
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lrgb/convertLrgbToRgb.js
708
+ var fn$2 = (c = 0) => {
709
+ const abs = Math.abs(c);
710
+ if (abs > .0031308) return (Math.sign(c) || 1) * (1.055 * Math.pow(abs, 1 / 2.4) - .055);
711
+ return c * 12.92;
712
+ };
713
+ var convertLrgbToRgb = ({ r, g, b, alpha }, mode = "rgb") => {
714
+ let res = {
715
+ mode,
716
+ r: fn$2(r),
717
+ g: fn$2(g),
718
+ b: fn$2(b)
719
+ };
720
+ if (alpha !== void 0) res.alpha = alpha;
721
+ return res;
722
+ };
723
+ //#endregion
724
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz65/convertXyz65ToRgb.js
725
+ var convertXyz65ToRgb = ({ x, y, z, alpha }) => {
726
+ if (x === void 0) x = 0;
727
+ if (y === void 0) y = 0;
728
+ if (z === void 0) z = 0;
729
+ let res = convertLrgbToRgb({
730
+ r: x * 3.2409699419045226 - y * 1.537383177570094 - .4986107602930034 * z,
731
+ g: x * -.9692436362808796 + y * 1.8759675015077204 + .0415550574071756 * z,
732
+ b: x * .0556300796969936 - y * .2039769588889765 + 1.0569715142428784 * z
733
+ });
734
+ if (alpha !== void 0) res.alpha = alpha;
735
+ return res;
736
+ };
737
+ //#endregion
738
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/a98/definition.js
739
+ var definition = {
740
+ ...definition$23,
741
+ mode: "a98",
742
+ parse: ["a98-rgb"],
743
+ serialize: "a98-rgb",
744
+ fromMode: {
745
+ rgb: (color) => convertXyz65ToA98(convertRgbToXyz65(color)),
746
+ xyz65: convertXyz65ToA98
747
+ },
748
+ toMode: {
749
+ rgb: (color) => convertXyz65ToRgb(convertA98ToXyz65(color)),
750
+ xyz65: convertA98ToXyz65
751
+ }
752
+ };
753
+ //#endregion
754
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/util/normalizeHue.js
755
+ var normalizeHue = (hue) => (hue = hue % 360) < 0 ? hue + 360 : hue;
756
+ //#endregion
757
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/fixup/hue.js
758
+ var hue = (hues, fn) => {
759
+ return hues.map((hue, idx, arr) => {
760
+ if (hue === void 0) return hue;
761
+ let normalized = normalizeHue(hue);
762
+ if (idx === 0 || hues[idx - 1] === void 0) return normalized;
763
+ return fn(normalized - normalizeHue(arr[idx - 1]));
764
+ }).reduce((acc, curr) => {
765
+ if (!acc.length || curr === void 0 || acc[acc.length - 1] === void 0) {
766
+ acc.push(curr);
767
+ return acc;
768
+ }
769
+ acc.push(curr + acc[acc.length - 1]);
770
+ return acc;
771
+ }, []);
772
+ };
773
+ var fixupHueShorter = (arr) => hue(arr, (d) => Math.abs(d) <= 180 ? d : d - 360 * Math.sign(d));
774
+ var fixupHueLonger = (arr) => hue(arr, (d) => Math.abs(d) >= 180 || d === 0 ? d : d - 360 * Math.sign(d));
775
+ var fixupHueIncreasing = (arr) => hue(arr, (d) => d >= 0 ? d : d + 360);
776
+ var fixupHueDecreasing = (arr) => hue(arr, (d) => d <= 0 ? d : d - 360);
777
+ //#endregion
778
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/cubehelix/constants.js
779
+ var M = [
780
+ -.14861,
781
+ 1.78277,
782
+ -.29227,
783
+ -.90649,
784
+ 1.97294,
785
+ 0
786
+ ];
787
+ var degToRad = Math.PI / 180;
788
+ var radToDeg = 180 / Math.PI;
789
+ //#endregion
790
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/cubehelix/convertRgbToCubehelix.js
791
+ var DE = M[3] * M[4];
792
+ var BE = M[1] * M[4];
793
+ var BCAD = M[1] * M[2] - M[0] * M[3];
794
+ var convertRgbToCubehelix = ({ r, g, b, alpha }) => {
795
+ if (r === void 0) r = 0;
796
+ if (g === void 0) g = 0;
797
+ if (b === void 0) b = 0;
798
+ let l = (BCAD * b + r * DE - g * BE) / (BCAD + DE - BE);
799
+ let x = b - l;
800
+ let y = (M[4] * (g - l) - M[2] * x) / M[3];
801
+ let res = {
802
+ mode: "cubehelix",
803
+ l,
804
+ s: l === 0 || l === 1 ? void 0 : Math.sqrt(x * x + y * y) / (M[4] * l * (1 - l))
805
+ };
806
+ if (res.s) res.h = Math.atan2(y, x) * radToDeg - 120;
807
+ if (alpha !== void 0) res.alpha = alpha;
808
+ return res;
809
+ };
810
+ //#endregion
811
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/cubehelix/convertCubehelixToRgb.js
812
+ var convertCubehelixToRgb = ({ h, s, l, alpha }) => {
813
+ let res = { mode: "rgb" };
814
+ h = (h === void 0 ? 0 : h + 120) * degToRad;
815
+ if (l === void 0) l = 0;
816
+ let amp = s === void 0 ? 0 : s * l * (1 - l);
817
+ let cosh = Math.cos(h);
818
+ let sinh = Math.sin(h);
819
+ res.r = l + amp * (M[0] * cosh + M[1] * sinh);
820
+ res.g = l + amp * (M[2] * cosh + M[3] * sinh);
821
+ res.b = l + amp * (M[4] * cosh + M[5] * sinh);
822
+ if (alpha !== void 0) res.alpha = alpha;
823
+ return res;
824
+ };
825
+ //#endregion
826
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/difference.js
827
+ var differenceHueSaturation = (std, smp) => {
828
+ if (std.h === void 0 || smp.h === void 0 || !std.s || !smp.s) return 0;
829
+ let std_h = normalizeHue(std.h);
830
+ let smp_h = normalizeHue(smp.h);
831
+ let dH = Math.sin((smp_h - std_h + 360) / 2 * Math.PI / 180);
832
+ return 2 * Math.sqrt(std.s * smp.s) * dH;
833
+ };
834
+ var differenceHueNaive = (std, smp) => {
835
+ if (std.h === void 0 || smp.h === void 0) return 0;
836
+ let std_h = normalizeHue(std.h);
837
+ let smp_h = normalizeHue(smp.h);
838
+ if (Math.abs(smp_h - std_h) > 180) return std_h - (smp_h - 360 * Math.sign(smp_h - std_h));
839
+ return smp_h - std_h;
840
+ };
841
+ var differenceHueChroma = (std, smp) => {
842
+ if (std.h === void 0 || smp.h === void 0 || !std.c || !smp.c) return 0;
843
+ let std_h = normalizeHue(std.h);
844
+ let smp_h = normalizeHue(smp.h);
845
+ let dH = Math.sin((smp_h - std_h + 360) / 2 * Math.PI / 180);
846
+ return 2 * Math.sqrt(std.c * smp.c) * dH;
847
+ };
848
+ var differenceEuclidean = (mode = "rgb", weights = [
849
+ 1,
850
+ 1,
851
+ 1,
852
+ 0
853
+ ]) => {
854
+ let def = getMode(mode);
855
+ let channels = def.channels;
856
+ let diffs = def.difference;
857
+ let conv = converter(mode);
858
+ return (std, smp) => {
859
+ let ConvStd = conv(std);
860
+ let ConvSmp = conv(smp);
861
+ return Math.sqrt(channels.reduce((sum, k, idx) => {
862
+ let delta = diffs[k] ? diffs[k](ConvStd, ConvSmp) : ConvStd[k] - ConvSmp[k];
863
+ return sum + (weights[idx] || 0) * Math.pow(isNaN(delta) ? 0 : delta, 2);
864
+ }, 0));
865
+ };
866
+ };
867
+ var differenceCie76 = () => differenceEuclidean("lab65");
868
+ var differenceCie94 = (kL = 1, K1 = .045, K2 = .015) => {
869
+ let lab = converter("lab65");
870
+ return (std, smp) => {
871
+ let LabStd = lab(std);
872
+ let LabSmp = lab(smp);
873
+ let lStd = LabStd.l;
874
+ let aStd = LabStd.a;
875
+ let bStd = LabStd.b;
876
+ let cStd = Math.sqrt(aStd * aStd + bStd * bStd);
877
+ let lSmp = LabSmp.l;
878
+ let aSmp = LabSmp.a;
879
+ let bSmp = LabSmp.b;
880
+ let cSmp = Math.sqrt(aSmp * aSmp + bSmp * bSmp);
881
+ let dL2 = Math.pow(lStd - lSmp, 2);
882
+ let dC2 = Math.pow(cStd - cSmp, 2);
883
+ let dH2 = Math.pow(aStd - aSmp, 2) + Math.pow(bStd - bSmp, 2) - dC2;
884
+ return Math.sqrt(dL2 / Math.pow(kL, 2) + dC2 / Math.pow(1 + K1 * cStd, 2) + dH2 / Math.pow(1 + K2 * cStd, 2));
885
+ };
886
+ };
887
+ var differenceCiede2000 = (Kl = 1, Kc = 1, Kh = 1) => {
888
+ let lab = converter("lab65");
889
+ return (std, smp) => {
890
+ let LabStd = lab(std);
891
+ let LabSmp = lab(smp);
892
+ let lStd = LabStd.l;
893
+ let aStd = LabStd.a;
894
+ let bStd = LabStd.b;
895
+ let cStd = Math.sqrt(aStd * aStd + bStd * bStd);
896
+ let lSmp = LabSmp.l;
897
+ let aSmp = LabSmp.a;
898
+ let bSmp = LabSmp.b;
899
+ let cAvg = (cStd + Math.sqrt(aSmp * aSmp + bSmp * bSmp)) / 2;
900
+ let G = .5 * (1 - Math.sqrt(Math.pow(cAvg, 7) / (Math.pow(cAvg, 7) + Math.pow(25, 7))));
901
+ let apStd = aStd * (1 + G);
902
+ let apSmp = aSmp * (1 + G);
903
+ let cpStd = Math.sqrt(apStd * apStd + bStd * bStd);
904
+ let cpSmp = Math.sqrt(apSmp * apSmp + bSmp * bSmp);
905
+ let hpStd = Math.abs(apStd) + Math.abs(bStd) === 0 ? 0 : Math.atan2(bStd, apStd);
906
+ hpStd += (hpStd < 0) * 2 * Math.PI;
907
+ let hpSmp = Math.abs(apSmp) + Math.abs(bSmp) === 0 ? 0 : Math.atan2(bSmp, apSmp);
908
+ hpSmp += (hpSmp < 0) * 2 * Math.PI;
909
+ let dL = lSmp - lStd;
910
+ let dC = cpSmp - cpStd;
911
+ let dhp = cpStd * cpSmp === 0 ? 0 : hpSmp - hpStd;
912
+ dhp -= (dhp > Math.PI) * 2 * Math.PI;
913
+ dhp += (dhp < -Math.PI) * 2 * Math.PI;
914
+ let dH = 2 * Math.sqrt(cpStd * cpSmp) * Math.sin(dhp / 2);
915
+ let Lp = (lStd + lSmp) / 2;
916
+ let Cp = (cpStd + cpSmp) / 2;
917
+ let hp;
918
+ if (cpStd * cpSmp === 0) hp = hpStd + hpSmp;
919
+ else {
920
+ hp = (hpStd + hpSmp) / 2;
921
+ hp -= (Math.abs(hpStd - hpSmp) > Math.PI) * Math.PI;
922
+ hp += (hp < 0) * 2 * Math.PI;
923
+ }
924
+ let Lpm50 = Math.pow(Lp - 50, 2);
925
+ let T = 1 - .17 * Math.cos(hp - Math.PI / 6) + .24 * Math.cos(2 * hp) + .32 * Math.cos(3 * hp + Math.PI / 30) - .2 * Math.cos(4 * hp - 63 * Math.PI / 180);
926
+ let Sl = 1 + .015 * Lpm50 / Math.sqrt(20 + Lpm50);
927
+ let Sc = 1 + .045 * Cp;
928
+ let Sh = 1 + .015 * Cp * T;
929
+ let deltaTheta = 30 * Math.PI / 180 * Math.exp(-1 * Math.pow((180 / Math.PI * hp - 275) / 25, 2));
930
+ let Rc = 2 * Math.sqrt(Math.pow(Cp, 7) / (Math.pow(Cp, 7) + Math.pow(25, 7)));
931
+ let Rt = -1 * Math.sin(2 * deltaTheta) * Rc;
932
+ return Math.sqrt(Math.pow(dL / (Kl * Sl), 2) + Math.pow(dC / (Kc * Sc), 2) + Math.pow(dH / (Kh * Sh), 2) + Rt * dC / (Kc * Sc) * dH / (Kh * Sh));
933
+ };
934
+ };
935
+ var differenceCmc = (l = 1, c = 1) => {
936
+ let lab = converter("lab65");
937
+ return (std, smp) => {
938
+ let LabStd = lab(std);
939
+ let lStd = LabStd.l;
940
+ let aStd = LabStd.a;
941
+ let bStd = LabStd.b;
942
+ let cStd = Math.sqrt(aStd * aStd + bStd * bStd);
943
+ let hStd = Math.atan2(bStd, aStd);
944
+ hStd = hStd + 2 * Math.PI * (hStd < 0);
945
+ let LabSmp = lab(smp);
946
+ let lSmp = LabSmp.l;
947
+ let aSmp = LabSmp.a;
948
+ let bSmp = LabSmp.b;
949
+ let cSmp = Math.sqrt(aSmp * aSmp + bSmp * bSmp);
950
+ let dL2 = Math.pow(lStd - lSmp, 2);
951
+ let dC2 = Math.pow(cStd - cSmp, 2);
952
+ let dH2 = Math.pow(aStd - aSmp, 2) + Math.pow(bStd - bSmp, 2) - dC2;
953
+ let F = Math.sqrt(Math.pow(cStd, 4) / (Math.pow(cStd, 4) + 1900));
954
+ let T = hStd >= 164 / 180 * Math.PI && hStd <= 345 / 180 * Math.PI ? .56 + Math.abs(.2 * Math.cos(hStd + 168 / 180 * Math.PI)) : .36 + Math.abs(.4 * Math.cos(hStd + 35 / 180 * Math.PI));
955
+ let Sl = lStd < 16 ? .511 : .040975 * lStd / (1 + .01765 * lStd);
956
+ let Sc = .0638 * cStd / (1 + .0131 * cStd) + .638;
957
+ let Sh = Sc * (F * T + 1 - F);
958
+ return Math.sqrt(dL2 / Math.pow(l * Sl, 2) + dC2 / Math.pow(c * Sc, 2) + dH2 / Math.pow(Sh, 2));
959
+ };
960
+ };
961
+ var differenceHyab = () => {
962
+ let lab = converter("lab65");
963
+ return (std, smp) => {
964
+ let LabStd = lab(std);
965
+ let LabSmp = lab(smp);
966
+ let dL = LabStd.l - LabSmp.l;
967
+ let dA = LabStd.a - LabSmp.a;
968
+ let dB = LabStd.b - LabSmp.b;
969
+ return Math.abs(dL) + Math.sqrt(dA * dA + dB * dB);
970
+ };
971
+ };
972
+ var differenceKotsarenkoRamos = () => differenceEuclidean("yiq", [
973
+ .5053,
974
+ .299,
975
+ .1957
976
+ ]);
977
+ var differenceItp = () => differenceEuclidean("itp", [
978
+ 518400,
979
+ 129600,
980
+ 518400
981
+ ]);
982
+ //#endregion
983
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/average.js
984
+ var averageAngle = (val) => {
985
+ let sum = val.reduce((sum, val) => {
986
+ if (val !== void 0) {
987
+ let rad = val * Math.PI / 180;
988
+ sum.sin += Math.sin(rad);
989
+ sum.cos += Math.cos(rad);
990
+ }
991
+ return sum;
992
+ }, {
993
+ sin: 0,
994
+ cos: 0
995
+ });
996
+ let angle = Math.atan2(sum.sin, sum.cos) * 180 / Math.PI;
997
+ return angle < 0 ? 360 + angle : angle;
998
+ };
999
+ var averageNumber = (val) => {
1000
+ let a = val.filter((v) => v !== void 0);
1001
+ return a.length ? a.reduce((sum, v) => sum + v, 0) / a.length : void 0;
1002
+ };
1003
+ var isfn$1 = (o) => typeof o === "function";
1004
+ function average(colors, mode = "rgb", overrides) {
1005
+ let def = getMode(mode);
1006
+ let cc = colors.map(converter(mode));
1007
+ return def.channels.reduce((res, ch) => {
1008
+ let arr = cc.map((c) => c[ch]).filter((val) => val !== void 0);
1009
+ if (arr.length) {
1010
+ let fn;
1011
+ if (isfn$1(overrides)) fn = overrides;
1012
+ else if (overrides && isfn$1(overrides[ch])) fn = overrides[ch];
1013
+ else if (def.average && isfn$1(def.average[ch])) fn = def.average[ch];
1014
+ else fn = averageNumber;
1015
+ res[ch] = fn(arr, ch);
1016
+ }
1017
+ return res;
1018
+ }, { mode });
1019
+ }
1020
+ //#endregion
1021
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/cubehelix/definition.js
1022
+ var definition$1 = {
1023
+ mode: "cubehelix",
1024
+ channels: [
1025
+ "h",
1026
+ "s",
1027
+ "l",
1028
+ "alpha"
1029
+ ],
1030
+ parse: ["--cubehelix"],
1031
+ serialize: "--cubehelix",
1032
+ ranges: {
1033
+ h: [0, 360],
1034
+ s: [0, 4.614],
1035
+ l: [0, 1]
1036
+ },
1037
+ fromMode: { rgb: convertRgbToCubehelix },
1038
+ toMode: { rgb: convertCubehelixToRgb },
1039
+ interpolate: {
1040
+ h: {
1041
+ use: interpolatorLinear,
1042
+ fixup: fixupHueShorter
1043
+ },
1044
+ s: interpolatorLinear,
1045
+ l: interpolatorLinear,
1046
+ alpha: {
1047
+ use: interpolatorLinear,
1048
+ fixup: fixupAlpha
1049
+ }
1050
+ },
1051
+ difference: { h: differenceHueSaturation },
1052
+ average: { h: averageAngle }
1053
+ };
1054
+ //#endregion
1055
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lch/convertLabToLch.js
1056
+ var convertLabToLch = ({ l, a, b, alpha }, mode = "lch") => {
1057
+ if (a === void 0) a = 0;
1058
+ if (b === void 0) b = 0;
1059
+ let c = Math.sqrt(a * a + b * b);
1060
+ let res = {
1061
+ mode,
1062
+ l,
1063
+ c
1064
+ };
1065
+ if (c) res.h = normalizeHue(Math.atan2(b, a) * 180 / Math.PI);
1066
+ if (alpha !== void 0) res.alpha = alpha;
1067
+ return res;
1068
+ };
1069
+ //#endregion
1070
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lch/convertLchToLab.js
1071
+ var convertLchToLab = ({ l, c, h, alpha }, mode = "lab") => {
1072
+ if (h === void 0) h = 0;
1073
+ let res = {
1074
+ mode,
1075
+ l,
1076
+ a: c ? c * Math.cos(h / 180 * Math.PI) : 0,
1077
+ b: c ? c * Math.sin(h / 180 * Math.PI) : 0
1078
+ };
1079
+ if (alpha !== void 0) res.alpha = alpha;
1080
+ return res;
1081
+ };
1082
+ //#endregion
1083
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz65/constants.js
1084
+ var k$2 = Math.pow(29, 3) / Math.pow(3, 3);
1085
+ var e$2 = Math.pow(6, 3) / Math.pow(29, 3);
1086
+ //#endregion
1087
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/constants.js
1088
+ var D50 = {
1089
+ X: .3457 / .3585,
1090
+ Y: 1,
1091
+ Z: .2958 / .3585
1092
+ };
1093
+ var D65 = {
1094
+ X: .3127 / .329,
1095
+ Y: 1,
1096
+ Z: .3583 / .329
1097
+ };
1098
+ Math.pow(29, 3) / Math.pow(3, 3);
1099
+ Math.pow(6, 3) / Math.pow(29, 3);
1100
+ //#endregion
1101
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab65/convertLab65ToXyz65.js
1102
+ var fn$1 = (v) => Math.pow(v, 3) > e$2 ? Math.pow(v, 3) : (116 * v - 16) / k$2;
1103
+ var convertLab65ToXyz65 = ({ l, a, b, alpha }) => {
1104
+ if (l === void 0) l = 0;
1105
+ if (a === void 0) a = 0;
1106
+ if (b === void 0) b = 0;
1107
+ let fy = (l + 16) / 116;
1108
+ let fx = a / 500 + fy;
1109
+ let fz = fy - b / 200;
1110
+ let res = {
1111
+ mode: "xyz65",
1112
+ x: fn$1(fx) * D65.X,
1113
+ y: fn$1(fy) * D65.Y,
1114
+ z: fn$1(fz) * D65.Z
1115
+ };
1116
+ if (alpha !== void 0) res.alpha = alpha;
1117
+ return res;
1118
+ };
1119
+ //#endregion
1120
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab65/convertLab65ToRgb.js
1121
+ var convertLab65ToRgb = (lab) => convertXyz65ToRgb(convertLab65ToXyz65(lab));
1122
+ //#endregion
1123
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab65/convertXyz65ToLab65.js
1124
+ var f$1 = (value) => value > e$2 ? Math.cbrt(value) : (k$2 * value + 16) / 116;
1125
+ var convertXyz65ToLab65 = ({ x, y, z, alpha }) => {
1126
+ if (x === void 0) x = 0;
1127
+ if (y === void 0) y = 0;
1128
+ if (z === void 0) z = 0;
1129
+ let f0 = f$1(x / D65.X);
1130
+ let f1 = f$1(y / D65.Y);
1131
+ let f2 = f$1(z / D65.Z);
1132
+ let res = {
1133
+ mode: "lab65",
1134
+ l: 116 * f1 - 16,
1135
+ a: 500 * (f0 - f1),
1136
+ b: 200 * (f1 - f2)
1137
+ };
1138
+ if (alpha !== void 0) res.alpha = alpha;
1139
+ return res;
1140
+ };
1141
+ //#endregion
1142
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab65/convertRgbToLab65.js
1143
+ var convertRgbToLab65 = (rgb) => {
1144
+ let res = convertXyz65ToLab65(convertRgbToXyz65(rgb));
1145
+ if (rgb.r === rgb.b && rgb.b === rgb.g) res.a = res.b = 0;
1146
+ return res;
1147
+ };
1148
+ //#endregion
1149
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/dlch/constants.js
1150
+ var θ = 26 / 180 * Math.PI;
1151
+ var cosθ = Math.cos(θ);
1152
+ var sinθ = Math.sin(θ);
1153
+ var factor = 100 / Math.log(139 / 100);
1154
+ //#endregion
1155
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/dlch/convertDlchToLab65.js
1156
+ var convertDlchToLab65 = ({ l, c, h, alpha }) => {
1157
+ if (l === void 0) l = 0;
1158
+ if (c === void 0) c = 0;
1159
+ if (h === void 0) h = 0;
1160
+ let res = {
1161
+ mode: "lab65",
1162
+ l: (Math.exp(l * 1 / factor) - 1) / .0039
1163
+ };
1164
+ let G = (Math.exp(.0435 * c * 1 * 1) - 1) / .075;
1165
+ let e = G * Math.cos(h / 180 * Math.PI - θ);
1166
+ let f = G * Math.sin(h / 180 * Math.PI - θ);
1167
+ res.a = e * cosθ - f / .83 * sinθ;
1168
+ res.b = e * sinθ + f / .83 * cosθ;
1169
+ if (alpha !== void 0) res.alpha = alpha;
1170
+ return res;
1171
+ };
1172
+ //#endregion
1173
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/dlch/convertLab65ToDlch.js
1174
+ var convertLab65ToDlch = ({ l, a, b, alpha }) => {
1175
+ if (l === void 0) l = 0;
1176
+ if (a === void 0) a = 0;
1177
+ if (b === void 0) b = 0;
1178
+ let e = a * cosθ + b * sinθ;
1179
+ let f = .83 * (b * cosθ - a * sinθ);
1180
+ let G = Math.sqrt(e * e + f * f);
1181
+ let res = {
1182
+ mode: "dlch",
1183
+ l: factor / 1 * Math.log(1 + .0039 * l),
1184
+ c: Math.log(1 + .075 * G) / (.0435 * 1 * 1)
1185
+ };
1186
+ if (res.c) res.h = normalizeHue((Math.atan2(f, e) + θ) / Math.PI * 180);
1187
+ if (alpha !== void 0) res.alpha = alpha;
1188
+ return res;
1189
+ };
1190
+ //#endregion
1191
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/dlab/definition.js
1192
+ var convertDlabToLab65 = (c) => convertDlchToLab65(convertLabToLch(c, "dlch"));
1193
+ var convertLab65ToDlab = (c) => convertLchToLab(convertLab65ToDlch(c), "dlab");
1194
+ var definition$2 = {
1195
+ mode: "dlab",
1196
+ parse: ["--din99o-lab"],
1197
+ serialize: "--din99o-lab",
1198
+ toMode: {
1199
+ lab65: convertDlabToLab65,
1200
+ rgb: (c) => convertLab65ToRgb(convertDlabToLab65(c))
1201
+ },
1202
+ fromMode: {
1203
+ lab65: convertLab65ToDlab,
1204
+ rgb: (c) => convertLab65ToDlab(convertRgbToLab65(c))
1205
+ },
1206
+ channels: [
1207
+ "l",
1208
+ "a",
1209
+ "b",
1210
+ "alpha"
1211
+ ],
1212
+ ranges: {
1213
+ l: [0, 100],
1214
+ a: [-40.09, 45.501],
1215
+ b: [-40.469, 44.344]
1216
+ },
1217
+ interpolate: {
1218
+ l: interpolatorLinear,
1219
+ a: interpolatorLinear,
1220
+ b: interpolatorLinear,
1221
+ alpha: {
1222
+ use: interpolatorLinear,
1223
+ fixup: fixupAlpha
1224
+ }
1225
+ }
1226
+ };
1227
+ //#endregion
1228
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/dlch/definition.js
1229
+ var definition$3 = {
1230
+ mode: "dlch",
1231
+ parse: ["--din99o-lch"],
1232
+ serialize: "--din99o-lch",
1233
+ toMode: {
1234
+ lab65: convertDlchToLab65,
1235
+ dlab: (c) => convertLchToLab(c, "dlab"),
1236
+ rgb: (c) => convertLab65ToRgb(convertDlchToLab65(c))
1237
+ },
1238
+ fromMode: {
1239
+ lab65: convertLab65ToDlch,
1240
+ dlab: (c) => convertLabToLch(c, "dlch"),
1241
+ rgb: (c) => convertLab65ToDlch(convertRgbToLab65(c))
1242
+ },
1243
+ channels: [
1244
+ "l",
1245
+ "c",
1246
+ "h",
1247
+ "alpha"
1248
+ ],
1249
+ ranges: {
1250
+ l: [0, 100],
1251
+ c: [0, 51.484],
1252
+ h: [0, 360]
1253
+ },
1254
+ interpolate: {
1255
+ l: interpolatorLinear,
1256
+ c: interpolatorLinear,
1257
+ h: {
1258
+ use: interpolatorLinear,
1259
+ fixup: fixupHueShorter
1260
+ },
1261
+ alpha: {
1262
+ use: interpolatorLinear,
1263
+ fixup: fixupAlpha
1264
+ }
1265
+ },
1266
+ difference: { h: differenceHueChroma },
1267
+ average: { h: averageAngle }
1268
+ };
1269
+ //#endregion
1270
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsi/convertHsiToRgb.js
1271
+ function convertHsiToRgb({ h, s, i, alpha }) {
1272
+ h = normalizeHue(h !== void 0 ? h : 0);
1273
+ if (s === void 0) s = 0;
1274
+ if (i === void 0) i = 0;
1275
+ let f = Math.abs(h / 60 % 2 - 1);
1276
+ let res;
1277
+ switch (Math.floor(h / 60)) {
1278
+ case 0:
1279
+ res = {
1280
+ r: i * (1 + s * (3 / (2 - f) - 1)),
1281
+ g: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)),
1282
+ b: i * (1 - s)
1283
+ };
1284
+ break;
1285
+ case 1:
1286
+ res = {
1287
+ r: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)),
1288
+ g: i * (1 + s * (3 / (2 - f) - 1)),
1289
+ b: i * (1 - s)
1290
+ };
1291
+ break;
1292
+ case 2:
1293
+ res = {
1294
+ r: i * (1 - s),
1295
+ g: i * (1 + s * (3 / (2 - f) - 1)),
1296
+ b: i * (1 + s * (3 * (1 - f) / (2 - f) - 1))
1297
+ };
1298
+ break;
1299
+ case 3:
1300
+ res = {
1301
+ r: i * (1 - s),
1302
+ g: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)),
1303
+ b: i * (1 + s * (3 / (2 - f) - 1))
1304
+ };
1305
+ break;
1306
+ case 4:
1307
+ res = {
1308
+ r: i * (1 + s * (3 * (1 - f) / (2 - f) - 1)),
1309
+ g: i * (1 - s),
1310
+ b: i * (1 + s * (3 / (2 - f) - 1))
1311
+ };
1312
+ break;
1313
+ case 5:
1314
+ res = {
1315
+ r: i * (1 + s * (3 / (2 - f) - 1)),
1316
+ g: i * (1 - s),
1317
+ b: i * (1 + s * (3 * (1 - f) / (2 - f) - 1))
1318
+ };
1319
+ break;
1320
+ default: res = {
1321
+ r: i * (1 - s),
1322
+ g: i * (1 - s),
1323
+ b: i * (1 - s)
1324
+ };
1325
+ }
1326
+ res.mode = "rgb";
1327
+ if (alpha !== void 0) res.alpha = alpha;
1328
+ return res;
1329
+ }
1330
+ //#endregion
1331
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsi/convertRgbToHsi.js
1332
+ function convertRgbToHsi({ r, g, b, alpha }) {
1333
+ if (r === void 0) r = 0;
1334
+ if (g === void 0) g = 0;
1335
+ if (b === void 0) b = 0;
1336
+ let M = Math.max(r, g, b), m = Math.min(r, g, b);
1337
+ let res = {
1338
+ mode: "hsi",
1339
+ s: r + g + b === 0 ? 0 : 1 - 3 * m / (r + g + b),
1340
+ i: (r + g + b) / 3
1341
+ };
1342
+ if (M - m !== 0) res.h = (M === r ? (g - b) / (M - m) + (g < b) * 6 : M === g ? (b - r) / (M - m) + 2 : (r - g) / (M - m) + 4) * 60;
1343
+ if (alpha !== void 0) res.alpha = alpha;
1344
+ return res;
1345
+ }
1346
+ //#endregion
1347
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsi/definition.js
1348
+ var definition$4 = {
1349
+ mode: "hsi",
1350
+ toMode: { rgb: convertHsiToRgb },
1351
+ parse: ["--hsi"],
1352
+ serialize: "--hsi",
1353
+ fromMode: { rgb: convertRgbToHsi },
1354
+ channels: [
1355
+ "h",
1356
+ "s",
1357
+ "i",
1358
+ "alpha"
1359
+ ],
1360
+ ranges: { h: [0, 360] },
1361
+ gamut: "rgb",
1362
+ interpolate: {
1363
+ h: {
1364
+ use: interpolatorLinear,
1365
+ fixup: fixupHueShorter
1366
+ },
1367
+ s: interpolatorLinear,
1368
+ i: interpolatorLinear,
1369
+ alpha: {
1370
+ use: interpolatorLinear,
1371
+ fixup: fixupAlpha
1372
+ }
1373
+ },
1374
+ difference: { h: differenceHueSaturation },
1375
+ average: { h: averageAngle }
1376
+ };
1377
+ //#endregion
1378
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsl/convertHslToRgb.js
1379
+ function convertHslToRgb({ h, s, l, alpha }) {
1380
+ h = normalizeHue(h !== void 0 ? h : 0);
1381
+ if (s === void 0) s = 0;
1382
+ if (l === void 0) l = 0;
1383
+ let m1 = l + s * (l < .5 ? l : 1 - l);
1384
+ let m2 = m1 - (m1 - l) * 2 * Math.abs(h / 60 % 2 - 1);
1385
+ let res;
1386
+ switch (Math.floor(h / 60)) {
1387
+ case 0:
1388
+ res = {
1389
+ r: m1,
1390
+ g: m2,
1391
+ b: 2 * l - m1
1392
+ };
1393
+ break;
1394
+ case 1:
1395
+ res = {
1396
+ r: m2,
1397
+ g: m1,
1398
+ b: 2 * l - m1
1399
+ };
1400
+ break;
1401
+ case 2:
1402
+ res = {
1403
+ r: 2 * l - m1,
1404
+ g: m1,
1405
+ b: m2
1406
+ };
1407
+ break;
1408
+ case 3:
1409
+ res = {
1410
+ r: 2 * l - m1,
1411
+ g: m2,
1412
+ b: m1
1413
+ };
1414
+ break;
1415
+ case 4:
1416
+ res = {
1417
+ r: m2,
1418
+ g: 2 * l - m1,
1419
+ b: m1
1420
+ };
1421
+ break;
1422
+ case 5:
1423
+ res = {
1424
+ r: m1,
1425
+ g: 2 * l - m1,
1426
+ b: m2
1427
+ };
1428
+ break;
1429
+ default: res = {
1430
+ r: 2 * l - m1,
1431
+ g: 2 * l - m1,
1432
+ b: 2 * l - m1
1433
+ };
1434
+ }
1435
+ res.mode = "rgb";
1436
+ if (alpha !== void 0) res.alpha = alpha;
1437
+ return res;
1438
+ }
1439
+ //#endregion
1440
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsl/convertRgbToHsl.js
1441
+ function convertRgbToHsl({ r, g, b, alpha }) {
1442
+ if (r === void 0) r = 0;
1443
+ if (g === void 0) g = 0;
1444
+ if (b === void 0) b = 0;
1445
+ let M = Math.max(r, g, b), m = Math.min(r, g, b);
1446
+ let res = {
1447
+ mode: "hsl",
1448
+ s: M === m ? 0 : (M - m) / (1 - Math.abs(M + m - 1)),
1449
+ l: .5 * (M + m)
1450
+ };
1451
+ if (M - m !== 0) res.h = (M === r ? (g - b) / (M - m) + (g < b) * 6 : M === g ? (b - r) / (M - m) + 2 : (r - g) / (M - m) + 4) * 60;
1452
+ if (alpha !== void 0) res.alpha = alpha;
1453
+ return res;
1454
+ }
1455
+ //#endregion
1456
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/util/hue.js
1457
+ var hueToDeg = (val, unit) => {
1458
+ switch (unit) {
1459
+ case "deg": return +val;
1460
+ case "rad": return val / Math.PI * 180;
1461
+ case "grad": return val / 10 * 9;
1462
+ case "turn": return val * 360;
1463
+ }
1464
+ };
1465
+ //#endregion
1466
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsl/parseHslLegacy.js
1467
+ var hsl_old = new RegExp(`^hsla?\\(\\s*${hue$1}${c}${per}${c}${per}\\s*(?:,\\s*${num_per}\\s*)?\\)$`);
1468
+ var parseHslLegacy = (color) => {
1469
+ let match = color.match(hsl_old);
1470
+ if (!match) return;
1471
+ let res = { mode: "hsl" };
1472
+ if (match[3] !== void 0) res.h = +match[3];
1473
+ else if (match[1] !== void 0 && match[2] !== void 0) res.h = hueToDeg(match[1], match[2]);
1474
+ if (match[4] !== void 0) res.s = Math.min(Math.max(0, match[4] / 100), 1);
1475
+ if (match[5] !== void 0) res.l = Math.min(Math.max(0, match[5] / 100), 1);
1476
+ if (match[6] !== void 0) res.alpha = Math.max(0, Math.min(1, match[6] / 100));
1477
+ else if (match[7] !== void 0) res.alpha = Math.max(0, Math.min(1, +match[7]));
1478
+ return res;
1479
+ };
1480
+ //#endregion
1481
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsl/parseHsl.js
1482
+ function parseHsl(color, parsed) {
1483
+ if (!parsed || parsed[0] !== "hsl" && parsed[0] !== "hsla") return;
1484
+ const res = { mode: "hsl" };
1485
+ const [, h, s, l, alpha] = parsed;
1486
+ if (h.type !== Tok.None) {
1487
+ if (h.type === Tok.Percentage) return;
1488
+ res.h = h.value;
1489
+ }
1490
+ if (s.type !== Tok.None) {
1491
+ if (s.type === Tok.Hue) return;
1492
+ res.s = s.value / 100;
1493
+ }
1494
+ if (l.type !== Tok.None) {
1495
+ if (l.type === Tok.Hue) return;
1496
+ res.l = l.value / 100;
1497
+ }
1498
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1499
+ return res;
1500
+ }
1501
+ //#endregion
1502
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsl/definition.js
1503
+ var definition$5 = {
1504
+ mode: "hsl",
1505
+ toMode: { rgb: convertHslToRgb },
1506
+ fromMode: { rgb: convertRgbToHsl },
1507
+ channels: [
1508
+ "h",
1509
+ "s",
1510
+ "l",
1511
+ "alpha"
1512
+ ],
1513
+ ranges: { h: [0, 360] },
1514
+ gamut: "rgb",
1515
+ parse: [parseHsl, parseHslLegacy],
1516
+ serialize: (c) => `hsl(${c.h !== void 0 ? c.h : "none"} ${c.s !== void 0 ? c.s * 100 + "%" : "none"} ${c.l !== void 0 ? c.l * 100 + "%" : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
1517
+ interpolate: {
1518
+ h: {
1519
+ use: interpolatorLinear,
1520
+ fixup: fixupHueShorter
1521
+ },
1522
+ s: interpolatorLinear,
1523
+ l: interpolatorLinear,
1524
+ alpha: {
1525
+ use: interpolatorLinear,
1526
+ fixup: fixupAlpha
1527
+ }
1528
+ },
1529
+ difference: { h: differenceHueSaturation },
1530
+ average: { h: averageAngle }
1531
+ };
1532
+ //#endregion
1533
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsv/convertHsvToRgb.js
1534
+ function convertHsvToRgb({ h, s, v, alpha }) {
1535
+ h = normalizeHue(h !== void 0 ? h : 0);
1536
+ if (s === void 0) s = 0;
1537
+ if (v === void 0) v = 0;
1538
+ let f = Math.abs(h / 60 % 2 - 1);
1539
+ let res;
1540
+ switch (Math.floor(h / 60)) {
1541
+ case 0:
1542
+ res = {
1543
+ r: v,
1544
+ g: v * (1 - s * f),
1545
+ b: v * (1 - s)
1546
+ };
1547
+ break;
1548
+ case 1:
1549
+ res = {
1550
+ r: v * (1 - s * f),
1551
+ g: v,
1552
+ b: v * (1 - s)
1553
+ };
1554
+ break;
1555
+ case 2:
1556
+ res = {
1557
+ r: v * (1 - s),
1558
+ g: v,
1559
+ b: v * (1 - s * f)
1560
+ };
1561
+ break;
1562
+ case 3:
1563
+ res = {
1564
+ r: v * (1 - s),
1565
+ g: v * (1 - s * f),
1566
+ b: v
1567
+ };
1568
+ break;
1569
+ case 4:
1570
+ res = {
1571
+ r: v * (1 - s * f),
1572
+ g: v * (1 - s),
1573
+ b: v
1574
+ };
1575
+ break;
1576
+ case 5:
1577
+ res = {
1578
+ r: v,
1579
+ g: v * (1 - s),
1580
+ b: v * (1 - s * f)
1581
+ };
1582
+ break;
1583
+ default: res = {
1584
+ r: v * (1 - s),
1585
+ g: v * (1 - s),
1586
+ b: v * (1 - s)
1587
+ };
1588
+ }
1589
+ res.mode = "rgb";
1590
+ if (alpha !== void 0) res.alpha = alpha;
1591
+ return res;
1592
+ }
1593
+ //#endregion
1594
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsv/convertRgbToHsv.js
1595
+ function convertRgbToHsv({ r, g, b, alpha }) {
1596
+ if (r === void 0) r = 0;
1597
+ if (g === void 0) g = 0;
1598
+ if (b === void 0) b = 0;
1599
+ let M = Math.max(r, g, b), m = Math.min(r, g, b);
1600
+ let res = {
1601
+ mode: "hsv",
1602
+ s: M === 0 ? 0 : 1 - m / M,
1603
+ v: M
1604
+ };
1605
+ if (M - m !== 0) res.h = (M === r ? (g - b) / (M - m) + (g < b) * 6 : M === g ? (b - r) / (M - m) + 2 : (r - g) / (M - m) + 4) * 60;
1606
+ if (alpha !== void 0) res.alpha = alpha;
1607
+ return res;
1608
+ }
1609
+ //#endregion
1610
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hsv/definition.js
1611
+ var definition$6 = {
1612
+ mode: "hsv",
1613
+ toMode: { rgb: convertHsvToRgb },
1614
+ parse: ["--hsv"],
1615
+ serialize: "--hsv",
1616
+ fromMode: { rgb: convertRgbToHsv },
1617
+ channels: [
1618
+ "h",
1619
+ "s",
1620
+ "v",
1621
+ "alpha"
1622
+ ],
1623
+ ranges: { h: [0, 360] },
1624
+ gamut: "rgb",
1625
+ interpolate: {
1626
+ h: {
1627
+ use: interpolatorLinear,
1628
+ fixup: fixupHueShorter
1629
+ },
1630
+ s: interpolatorLinear,
1631
+ v: interpolatorLinear,
1632
+ alpha: {
1633
+ use: interpolatorLinear,
1634
+ fixup: fixupAlpha
1635
+ }
1636
+ },
1637
+ difference: { h: differenceHueSaturation },
1638
+ average: { h: averageAngle }
1639
+ };
1640
+ //#endregion
1641
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hwb/convertHwbToRgb.js
1642
+ function convertHwbToRgb({ h, w, b, alpha }) {
1643
+ if (w === void 0) w = 0;
1644
+ if (b === void 0) b = 0;
1645
+ if (w + b > 1) {
1646
+ let s = w + b;
1647
+ w /= s;
1648
+ b /= s;
1649
+ }
1650
+ return convertHsvToRgb({
1651
+ h,
1652
+ s: b === 1 ? 1 : 1 - w / (1 - b),
1653
+ v: 1 - b,
1654
+ alpha
1655
+ });
1656
+ }
1657
+ //#endregion
1658
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hwb/convertRgbToHwb.js
1659
+ function convertRgbToHwb(rgba) {
1660
+ let hsv = convertRgbToHsv(rgba);
1661
+ if (hsv === void 0) return void 0;
1662
+ let s = hsv.s !== void 0 ? hsv.s : 0;
1663
+ let v = hsv.v !== void 0 ? hsv.v : 0;
1664
+ let res = {
1665
+ mode: "hwb",
1666
+ w: (1 - s) * v,
1667
+ b: 1 - v
1668
+ };
1669
+ if (hsv.h !== void 0) res.h = hsv.h;
1670
+ if (hsv.alpha !== void 0) res.alpha = hsv.alpha;
1671
+ return res;
1672
+ }
1673
+ //#endregion
1674
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hwb/parseHwb.js
1675
+ function ParseHwb(color, parsed) {
1676
+ if (!parsed || parsed[0] !== "hwb") return;
1677
+ const res = { mode: "hwb" };
1678
+ const [, h, w, b, alpha] = parsed;
1679
+ if (h.type !== Tok.None) {
1680
+ if (h.type === Tok.Percentage) return;
1681
+ res.h = h.value;
1682
+ }
1683
+ if (w.type !== Tok.None) {
1684
+ if (w.type === Tok.Hue) return;
1685
+ res.w = w.value / 100;
1686
+ }
1687
+ if (b.type !== Tok.None) {
1688
+ if (b.type === Tok.Hue) return;
1689
+ res.b = b.value / 100;
1690
+ }
1691
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
1692
+ return res;
1693
+ }
1694
+ //#endregion
1695
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hwb/definition.js
1696
+ var definition$7 = {
1697
+ mode: "hwb",
1698
+ toMode: { rgb: convertHwbToRgb },
1699
+ fromMode: { rgb: convertRgbToHwb },
1700
+ channels: [
1701
+ "h",
1702
+ "w",
1703
+ "b",
1704
+ "alpha"
1705
+ ],
1706
+ ranges: { h: [0, 360] },
1707
+ gamut: "rgb",
1708
+ parse: [ParseHwb],
1709
+ serialize: (c) => `hwb(${c.h !== void 0 ? c.h : "none"} ${c.w !== void 0 ? c.w * 100 + "%" : "none"} ${c.b !== void 0 ? c.b * 100 + "%" : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
1710
+ interpolate: {
1711
+ h: {
1712
+ use: interpolatorLinear,
1713
+ fixup: fixupHueShorter
1714
+ },
1715
+ w: interpolatorLinear,
1716
+ b: interpolatorLinear,
1717
+ alpha: {
1718
+ use: interpolatorLinear,
1719
+ fixup: fixupAlpha
1720
+ }
1721
+ },
1722
+ difference: { h: differenceHueNaive },
1723
+ average: { h: averageAngle }
1724
+ };
1725
+ //#endregion
1726
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/hdr/transfer.js
1727
+ var M1 = .1593017578125;
1728
+ var M2 = 78.84375;
1729
+ var C1 = .8359375;
1730
+ var C2 = 18.8515625;
1731
+ var C3 = 18.6875;
1732
+ function transferPqDecode(v) {
1733
+ if (v < 0) return 0;
1734
+ const c = Math.pow(v, 1 / M2);
1735
+ return 1e4 * Math.pow(Math.max(0, c - C1) / (C2 - C3 * c), 1 / M1);
1736
+ }
1737
+ function transferPqEncode(v) {
1738
+ if (v < 0) return 0;
1739
+ const c = Math.pow(v / 1e4, M1);
1740
+ return Math.pow((C1 + C2 * c) / (1 + C3 * c), M2);
1741
+ }
1742
+ //#endregion
1743
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/itp/convertItpToXyz65.js
1744
+ var toRel = (c) => Math.max(c / 203, 0);
1745
+ var convertItpToXyz65 = ({ i, t, p, alpha }) => {
1746
+ if (i === void 0) i = 0;
1747
+ if (t === void 0) t = 0;
1748
+ if (p === void 0) p = 0;
1749
+ const l = transferPqDecode(i + .008609037037932761 * t + .11102962500302593 * p);
1750
+ const m = transferPqDecode(i - .00860903703793275 * t - .11102962500302599 * p);
1751
+ const s = transferPqDecode(i + .5600313357106791 * t - .32062717498731885 * p);
1752
+ const res = {
1753
+ mode: "xyz65",
1754
+ x: toRel(2.070152218389422 * l - 1.3263473389671556 * m + .2066510476294051 * s),
1755
+ y: toRel(.3647385209748074 * l + .680566024947227 * m - .0453045459220346 * s),
1756
+ z: toRel(-.049747207535812 * l - .0492609666966138 * m + 1.1880659249923042 * s)
1757
+ };
1758
+ if (alpha !== void 0) res.alpha = alpha;
1759
+ return res;
1760
+ };
1761
+ //#endregion
1762
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/itp/convertXyz65ToItp.js
1763
+ var toAbs = (c = 0) => Math.max(c * 203, 0);
1764
+ var convertXyz65ToItp = ({ x, y, z, alpha }) => {
1765
+ const absX = toAbs(x);
1766
+ const absY = toAbs(y);
1767
+ const absZ = toAbs(z);
1768
+ const l = transferPqEncode(.3592832590121217 * absX + .6976051147779502 * absY - .0358915932320289 * absZ);
1769
+ const m = transferPqEncode(-.1920808463704995 * absX + 1.1004767970374323 * absY + .0753748658519118 * absZ);
1770
+ const s = transferPqEncode(.0070797844607477 * absX + .0748396662186366 * absY + .8433265453898765 * absZ);
1771
+ const res = {
1772
+ mode: "itp",
1773
+ i: .5 * l + .5 * m,
1774
+ t: 1.61376953125 * l - 3.323486328125 * m + 1.709716796875 * s,
1775
+ p: 4.378173828125 * l - 4.24560546875 * m - .132568359375 * s
1776
+ };
1777
+ if (alpha !== void 0) res.alpha = alpha;
1778
+ return res;
1779
+ };
1780
+ //#endregion
1781
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/itp/definition.js
1782
+ var definition$8 = {
1783
+ mode: "itp",
1784
+ channels: [
1785
+ "i",
1786
+ "t",
1787
+ "p",
1788
+ "alpha"
1789
+ ],
1790
+ parse: ["--ictcp"],
1791
+ serialize: "--ictcp",
1792
+ toMode: {
1793
+ xyz65: convertItpToXyz65,
1794
+ rgb: (color) => convertXyz65ToRgb(convertItpToXyz65(color))
1795
+ },
1796
+ fromMode: {
1797
+ xyz65: convertXyz65ToItp,
1798
+ rgb: (color) => convertXyz65ToItp(convertRgbToXyz65(color))
1799
+ },
1800
+ ranges: {
1801
+ i: [0, .581],
1802
+ t: [-.369, .272],
1803
+ p: [-.164, .331]
1804
+ },
1805
+ interpolate: {
1806
+ i: interpolatorLinear,
1807
+ t: interpolatorLinear,
1808
+ p: interpolatorLinear,
1809
+ alpha: {
1810
+ use: interpolatorLinear,
1811
+ fixup: fixupAlpha
1812
+ }
1813
+ }
1814
+ };
1815
+ //#endregion
1816
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/jab/convertXyz65ToJab.js
1817
+ var p$1 = 134.03437499999998;
1818
+ var d0$1 = 16295499532821565e-27;
1819
+ var jabPqEncode = (v) => {
1820
+ if (v < 0) return 0;
1821
+ let vn = Math.pow(v / 1e4, M1);
1822
+ return Math.pow((C1 + C2 * vn) / (1 + C3 * vn), p$1);
1823
+ };
1824
+ var abs$1 = (v = 0) => Math.max(v * 203, 0);
1825
+ var convertXyz65ToJab = ({ x, y, z, alpha }) => {
1826
+ x = abs$1(x);
1827
+ y = abs$1(y);
1828
+ z = abs$1(z);
1829
+ let xp = 1.15 * x - .15 * z;
1830
+ let yp = .66 * y + .34 * x;
1831
+ let l = jabPqEncode(.41478972 * xp + .579999 * yp + .014648 * z);
1832
+ let m = jabPqEncode(-.20151 * xp + 1.120649 * yp + .0531008 * z);
1833
+ let s = jabPqEncode(-.0166008 * xp + .2648 * yp + .6684799 * z);
1834
+ let i = (l + m) / 2;
1835
+ let res = {
1836
+ mode: "jab",
1837
+ j: .44 * i / (1 - .56 * i) - d0$1,
1838
+ a: 3.524 * l - 4.066708 * m + .542708 * s,
1839
+ b: .199076 * l + 1.096799 * m - 1.295875 * s
1840
+ };
1841
+ if (alpha !== void 0) res.alpha = alpha;
1842
+ return res;
1843
+ };
1844
+ //#endregion
1845
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/jab/convertJabToXyz65.js
1846
+ var p = 134.03437499999998;
1847
+ var d0 = 16295499532821565e-27;
1848
+ var jabPqDecode = (v) => {
1849
+ if (v < 0) return 0;
1850
+ let vp = Math.pow(v, 1 / p);
1851
+ return 1e4 * Math.pow((C1 - vp) / (C3 * vp - C2), 1 / M1);
1852
+ };
1853
+ var rel = (v) => v / 203;
1854
+ var convertJabToXyz65 = ({ j, a, b, alpha }) => {
1855
+ if (j === void 0) j = 0;
1856
+ if (a === void 0) a = 0;
1857
+ if (b === void 0) b = 0;
1858
+ let i = (j + d0) / (.44 + .56 * (j + d0));
1859
+ let l = jabPqDecode(i + .13860504 * a + .058047316 * b);
1860
+ let m = jabPqDecode(i - .13860504 * a - .058047316 * b);
1861
+ let s = jabPqDecode(i - .096019242 * a - .8118919 * b);
1862
+ let res = {
1863
+ mode: "xyz65",
1864
+ x: rel(1.661373024652174 * l - .914523081304348 * m + .23136208173913045 * s),
1865
+ y: rel(-.3250758611844533 * l + 1.571847026732543 * m - .21825383453227928 * s),
1866
+ z: rel(-.090982811 * l - .31272829 * m + 1.5227666 * s)
1867
+ };
1868
+ if (alpha !== void 0) res.alpha = alpha;
1869
+ return res;
1870
+ };
1871
+ //#endregion
1872
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/jab/convertRgbToJab.js
1873
+ var convertRgbToJab = (rgb) => {
1874
+ let res = convertXyz65ToJab(convertRgbToXyz65(rgb));
1875
+ if (rgb.r === rgb.b && rgb.b === rgb.g) res.a = res.b = 0;
1876
+ return res;
1877
+ };
1878
+ //#endregion
1879
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/jab/convertJabToRgb.js
1880
+ var convertJabToRgb = (color) => convertXyz65ToRgb(convertJabToXyz65(color));
1881
+ //#endregion
1882
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/jab/definition.js
1883
+ var definition$9 = {
1884
+ mode: "jab",
1885
+ channels: [
1886
+ "j",
1887
+ "a",
1888
+ "b",
1889
+ "alpha"
1890
+ ],
1891
+ parse: ["--jzazbz"],
1892
+ serialize: "--jzazbz",
1893
+ fromMode: {
1894
+ rgb: convertRgbToJab,
1895
+ xyz65: convertXyz65ToJab
1896
+ },
1897
+ toMode: {
1898
+ rgb: convertJabToRgb,
1899
+ xyz65: convertJabToXyz65
1900
+ },
1901
+ ranges: {
1902
+ j: [0, .222],
1903
+ a: [-.109, .129],
1904
+ b: [-.185, .134]
1905
+ },
1906
+ interpolate: {
1907
+ j: interpolatorLinear,
1908
+ a: interpolatorLinear,
1909
+ b: interpolatorLinear,
1910
+ alpha: {
1911
+ use: interpolatorLinear,
1912
+ fixup: fixupAlpha
1913
+ }
1914
+ }
1915
+ };
1916
+ //#endregion
1917
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/jch/convertJabToJch.js
1918
+ var convertJabToJch = ({ j, a, b, alpha }) => {
1919
+ if (a === void 0) a = 0;
1920
+ if (b === void 0) b = 0;
1921
+ let c = Math.sqrt(a * a + b * b);
1922
+ let res = {
1923
+ mode: "jch",
1924
+ j,
1925
+ c
1926
+ };
1927
+ if (c) res.h = normalizeHue(Math.atan2(b, a) * 180 / Math.PI);
1928
+ if (alpha !== void 0) res.alpha = alpha;
1929
+ return res;
1930
+ };
1931
+ //#endregion
1932
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/jch/convertJchToJab.js
1933
+ var convertJchToJab = ({ j, c, h, alpha }) => {
1934
+ if (h === void 0) h = 0;
1935
+ let res = {
1936
+ mode: "jab",
1937
+ j,
1938
+ a: c ? c * Math.cos(h / 180 * Math.PI) : 0,
1939
+ b: c ? c * Math.sin(h / 180 * Math.PI) : 0
1940
+ };
1941
+ if (alpha !== void 0) res.alpha = alpha;
1942
+ return res;
1943
+ };
1944
+ //#endregion
1945
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/jch/definition.js
1946
+ var definition$10 = {
1947
+ mode: "jch",
1948
+ parse: ["--jzczhz"],
1949
+ serialize: "--jzczhz",
1950
+ toMode: {
1951
+ jab: convertJchToJab,
1952
+ rgb: (c) => convertJabToRgb(convertJchToJab(c))
1953
+ },
1954
+ fromMode: {
1955
+ rgb: (c) => convertJabToJch(convertRgbToJab(c)),
1956
+ jab: convertJabToJch
1957
+ },
1958
+ channels: [
1959
+ "j",
1960
+ "c",
1961
+ "h",
1962
+ "alpha"
1963
+ ],
1964
+ ranges: {
1965
+ j: [0, .221],
1966
+ c: [0, .19],
1967
+ h: [0, 360]
1968
+ },
1969
+ interpolate: {
1970
+ h: {
1971
+ use: interpolatorLinear,
1972
+ fixup: fixupHueShorter
1973
+ },
1974
+ c: interpolatorLinear,
1975
+ j: interpolatorLinear,
1976
+ alpha: {
1977
+ use: interpolatorLinear,
1978
+ fixup: fixupAlpha
1979
+ }
1980
+ },
1981
+ difference: { h: differenceHueChroma },
1982
+ average: { h: averageAngle }
1983
+ };
1984
+ //#endregion
1985
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz50/constants.js
1986
+ var k = Math.pow(29, 3) / Math.pow(3, 3);
1987
+ var e = Math.pow(6, 3) / Math.pow(29, 3);
1988
+ //#endregion
1989
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab/convertLabToXyz50.js
1990
+ var fn = (v) => Math.pow(v, 3) > e ? Math.pow(v, 3) : (116 * v - 16) / k;
1991
+ var convertLabToXyz50 = ({ l, a, b, alpha }) => {
1992
+ if (l === void 0) l = 0;
1993
+ if (a === void 0) a = 0;
1994
+ if (b === void 0) b = 0;
1995
+ let fy = (l + 16) / 116;
1996
+ let fx = a / 500 + fy;
1997
+ let fz = fy - b / 200;
1998
+ let res = {
1999
+ mode: "xyz50",
2000
+ x: fn(fx) * D50.X,
2001
+ y: fn(fy) * D50.Y,
2002
+ z: fn(fz) * D50.Z
2003
+ };
2004
+ if (alpha !== void 0) res.alpha = alpha;
2005
+ return res;
2006
+ };
2007
+ //#endregion
2008
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz50/convertXyz50ToRgb.js
2009
+ var convertXyz50ToRgb = ({ x, y, z, alpha }) => {
2010
+ if (x === void 0) x = 0;
2011
+ if (y === void 0) y = 0;
2012
+ if (z === void 0) z = 0;
2013
+ let res = convertLrgbToRgb({
2014
+ r: x * 3.1341359569958707 - y * 1.6173863321612538 - .4906619460083532 * z,
2015
+ g: x * -.978795502912089 + y * 1.916254567259524 + .03344273116131949 * z,
2016
+ b: x * .07195537988411677 - y * .2289768264158322 + 1.405386058324125 * z
2017
+ });
2018
+ if (alpha !== void 0) res.alpha = alpha;
2019
+ return res;
2020
+ };
2021
+ //#endregion
2022
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab/convertLabToRgb.js
2023
+ var convertLabToRgb = (lab) => convertXyz50ToRgb(convertLabToXyz50(lab));
2024
+ //#endregion
2025
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz50/convertRgbToXyz50.js
2026
+ var convertRgbToXyz50 = (rgb) => {
2027
+ let { r, g, b, alpha } = convertRgbToLrgb(rgb);
2028
+ let res = {
2029
+ mode: "xyz50",
2030
+ x: .436065742824811 * r + .3851514688337912 * g + .14307845442264197 * b,
2031
+ y: .22249319175623702 * r + .7168870538238823 * g + .06061979053616537 * b,
2032
+ z: .013923904500943465 * r + .09708128566574634 * g + .7140993584005155 * b
2033
+ };
2034
+ if (alpha !== void 0) res.alpha = alpha;
2035
+ return res;
2036
+ };
2037
+ //#endregion
2038
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab/convertXyz50ToLab.js
2039
+ var f = (value) => value > e ? Math.cbrt(value) : (k * value + 16) / 116;
2040
+ var convertXyz50ToLab = ({ x, y, z, alpha }) => {
2041
+ if (x === void 0) x = 0;
2042
+ if (y === void 0) y = 0;
2043
+ if (z === void 0) z = 0;
2044
+ let f0 = f(x / D50.X);
2045
+ let f1 = f(y / D50.Y);
2046
+ let f2 = f(z / D50.Z);
2047
+ let res = {
2048
+ mode: "lab",
2049
+ l: 116 * f1 - 16,
2050
+ a: 500 * (f0 - f1),
2051
+ b: 200 * (f1 - f2)
2052
+ };
2053
+ if (alpha !== void 0) res.alpha = alpha;
2054
+ return res;
2055
+ };
2056
+ //#endregion
2057
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab/convertRgbToLab.js
2058
+ var convertRgbToLab = (rgb) => {
2059
+ let res = convertXyz50ToLab(convertRgbToXyz50(rgb));
2060
+ if (rgb.r === rgb.b && rgb.b === rgb.g) res.a = res.b = 0;
2061
+ return res;
2062
+ };
2063
+ //#endregion
2064
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab/parseLab.js
2065
+ function parseLab(color, parsed) {
2066
+ if (!parsed || parsed[0] !== "lab") return;
2067
+ const res = { mode: "lab" };
2068
+ const [, l, a, b, alpha] = parsed;
2069
+ if (l.type === Tok.Hue || a.type === Tok.Hue || b.type === Tok.Hue) return;
2070
+ if (l.type !== Tok.None) res.l = Math.min(Math.max(0, l.value), 100);
2071
+ if (a.type !== Tok.None) res.a = a.type === Tok.Number ? a.value : a.value * 125 / 100;
2072
+ if (b.type !== Tok.None) res.b = b.type === Tok.Number ? b.value : b.value * 125 / 100;
2073
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
2074
+ return res;
2075
+ }
2076
+ //#endregion
2077
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab/definition.js
2078
+ var definition$11 = {
2079
+ mode: "lab",
2080
+ toMode: {
2081
+ xyz50: convertLabToXyz50,
2082
+ rgb: convertLabToRgb
2083
+ },
2084
+ fromMode: {
2085
+ xyz50: convertXyz50ToLab,
2086
+ rgb: convertRgbToLab
2087
+ },
2088
+ channels: [
2089
+ "l",
2090
+ "a",
2091
+ "b",
2092
+ "alpha"
2093
+ ],
2094
+ ranges: {
2095
+ l: [0, 100],
2096
+ a: [-125, 125],
2097
+ b: [-125, 125]
2098
+ },
2099
+ parse: [parseLab],
2100
+ serialize: (c) => `lab(${c.l !== void 0 ? c.l : "none"} ${c.a !== void 0 ? c.a : "none"} ${c.b !== void 0 ? c.b : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
2101
+ interpolate: {
2102
+ l: interpolatorLinear,
2103
+ a: interpolatorLinear,
2104
+ b: interpolatorLinear,
2105
+ alpha: {
2106
+ use: interpolatorLinear,
2107
+ fixup: fixupAlpha
2108
+ }
2109
+ }
2110
+ };
2111
+ //#endregion
2112
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lab65/definition.js
2113
+ var definition$12 = {
2114
+ ...definition$11,
2115
+ mode: "lab65",
2116
+ parse: ["--lab-d65"],
2117
+ serialize: "--lab-d65",
2118
+ toMode: {
2119
+ xyz65: convertLab65ToXyz65,
2120
+ rgb: convertLab65ToRgb
2121
+ },
2122
+ fromMode: {
2123
+ xyz65: convertXyz65ToLab65,
2124
+ rgb: convertRgbToLab65
2125
+ },
2126
+ ranges: {
2127
+ l: [0, 100],
2128
+ a: [-125, 125],
2129
+ b: [-125, 125]
2130
+ }
2131
+ };
2132
+ //#endregion
2133
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lch/parseLch.js
2134
+ function parseLch(color, parsed) {
2135
+ if (!parsed || parsed[0] !== "lch") return;
2136
+ const res = { mode: "lch" };
2137
+ const [, l, c, h, alpha] = parsed;
2138
+ if (l.type !== Tok.None) {
2139
+ if (l.type === Tok.Hue) return;
2140
+ res.l = Math.min(Math.max(0, l.value), 100);
2141
+ }
2142
+ if (c.type !== Tok.None) res.c = Math.max(0, c.type === Tok.Number ? c.value : c.value * 150 / 100);
2143
+ if (h.type !== Tok.None) {
2144
+ if (h.type === Tok.Percentage) return;
2145
+ res.h = h.value;
2146
+ }
2147
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
2148
+ return res;
2149
+ }
2150
+ //#endregion
2151
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lch/definition.js
2152
+ var definition$13 = {
2153
+ mode: "lch",
2154
+ toMode: {
2155
+ lab: convertLchToLab,
2156
+ rgb: (c) => convertLabToRgb(convertLchToLab(c))
2157
+ },
2158
+ fromMode: {
2159
+ rgb: (c) => convertLabToLch(convertRgbToLab(c)),
2160
+ lab: convertLabToLch
2161
+ },
2162
+ channels: [
2163
+ "l",
2164
+ "c",
2165
+ "h",
2166
+ "alpha"
2167
+ ],
2168
+ ranges: {
2169
+ l: [0, 100],
2170
+ c: [0, 150],
2171
+ h: [0, 360]
2172
+ },
2173
+ parse: [parseLch],
2174
+ serialize: (c) => `lch(${c.l !== void 0 ? c.l : "none"} ${c.c !== void 0 ? c.c : "none"} ${c.h !== void 0 ? c.h : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
2175
+ interpolate: {
2176
+ h: {
2177
+ use: interpolatorLinear,
2178
+ fixup: fixupHueShorter
2179
+ },
2180
+ c: interpolatorLinear,
2181
+ l: interpolatorLinear,
2182
+ alpha: {
2183
+ use: interpolatorLinear,
2184
+ fixup: fixupAlpha
2185
+ }
2186
+ },
2187
+ difference: { h: differenceHueChroma },
2188
+ average: { h: averageAngle }
2189
+ };
2190
+ //#endregion
2191
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lch65/definition.js
2192
+ var definition$14 = {
2193
+ ...definition$13,
2194
+ mode: "lch65",
2195
+ parse: ["--lch-d65"],
2196
+ serialize: "--lch-d65",
2197
+ toMode: {
2198
+ lab65: (c) => convertLchToLab(c, "lab65"),
2199
+ rgb: (c) => convertLab65ToRgb(convertLchToLab(c, "lab65"))
2200
+ },
2201
+ fromMode: {
2202
+ rgb: (c) => convertLabToLch(convertRgbToLab65(c), "lch65"),
2203
+ lab65: (c) => convertLabToLch(c, "lch65")
2204
+ },
2205
+ ranges: {
2206
+ l: [0, 100],
2207
+ c: [0, 150],
2208
+ h: [0, 360]
2209
+ }
2210
+ };
2211
+ //#endregion
2212
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lchuv/convertLuvToLchuv.js
2213
+ var convertLuvToLchuv = ({ l, u, v, alpha }) => {
2214
+ if (u === void 0) u = 0;
2215
+ if (v === void 0) v = 0;
2216
+ let c = Math.sqrt(u * u + v * v);
2217
+ let res = {
2218
+ mode: "lchuv",
2219
+ l,
2220
+ c
2221
+ };
2222
+ if (c) res.h = normalizeHue(Math.atan2(v, u) * 180 / Math.PI);
2223
+ if (alpha !== void 0) res.alpha = alpha;
2224
+ return res;
2225
+ };
2226
+ //#endregion
2227
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lchuv/convertLchuvToLuv.js
2228
+ var convertLchuvToLuv = ({ l, c, h, alpha }) => {
2229
+ if (h === void 0) h = 0;
2230
+ let res = {
2231
+ mode: "luv",
2232
+ l,
2233
+ u: c ? c * Math.cos(h / 180 * Math.PI) : 0,
2234
+ v: c ? c * Math.sin(h / 180 * Math.PI) : 0
2235
+ };
2236
+ if (alpha !== void 0) res.alpha = alpha;
2237
+ return res;
2238
+ };
2239
+ //#endregion
2240
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/luv/convertXyz50ToLuv.js
2241
+ var u_fn$1 = (x, y, z) => 4 * x / (x + 15 * y + 3 * z);
2242
+ var v_fn$1 = (x, y, z) => 9 * y / (x + 15 * y + 3 * z);
2243
+ var un$1 = u_fn$1(D50.X, D50.Y, D50.Z);
2244
+ var vn$1 = v_fn$1(D50.X, D50.Y, D50.Z);
2245
+ var l_fn = (value) => value <= e ? k * value : 116 * Math.cbrt(value) - 16;
2246
+ var convertXyz50ToLuv = ({ x, y, z, alpha }) => {
2247
+ if (x === void 0) x = 0;
2248
+ if (y === void 0) y = 0;
2249
+ if (z === void 0) z = 0;
2250
+ let l = l_fn(y / D50.Y);
2251
+ let u = u_fn$1(x, y, z);
2252
+ let v = v_fn$1(x, y, z);
2253
+ if (!isFinite(u) || !isFinite(v)) l = u = v = 0;
2254
+ else {
2255
+ u = 13 * l * (u - un$1);
2256
+ v = 13 * l * (v - vn$1);
2257
+ }
2258
+ let res = {
2259
+ mode: "luv",
2260
+ l,
2261
+ u,
2262
+ v
2263
+ };
2264
+ if (alpha !== void 0) res.alpha = alpha;
2265
+ return res;
2266
+ };
2267
+ //#endregion
2268
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/luv/convertLuvToXyz50.js
2269
+ var u_fn = (x, y, z) => 4 * x / (x + 15 * y + 3 * z);
2270
+ var v_fn = (x, y, z) => 9 * y / (x + 15 * y + 3 * z);
2271
+ var un = u_fn(D50.X, D50.Y, D50.Z);
2272
+ var vn = v_fn(D50.X, D50.Y, D50.Z);
2273
+ var convertLuvToXyz50 = ({ l, u, v, alpha }) => {
2274
+ if (l === void 0) l = 0;
2275
+ if (l === 0) return {
2276
+ mode: "xyz50",
2277
+ x: 0,
2278
+ y: 0,
2279
+ z: 0
2280
+ };
2281
+ if (u === void 0) u = 0;
2282
+ if (v === void 0) v = 0;
2283
+ let up = u / (13 * l) + un;
2284
+ let vp = v / (13 * l) + vn;
2285
+ let y = D50.Y * (l <= 8 ? l / k : Math.pow((l + 16) / 116, 3));
2286
+ let res = {
2287
+ mode: "xyz50",
2288
+ x: y * (9 * up) / (4 * vp),
2289
+ y,
2290
+ z: y * (12 - 3 * up - 20 * vp) / (4 * vp)
2291
+ };
2292
+ if (alpha !== void 0) res.alpha = alpha;
2293
+ return res;
2294
+ };
2295
+ //#endregion
2296
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lchuv/definition.js
2297
+ var convertRgbToLchuv = (rgb) => convertLuvToLchuv(convertXyz50ToLuv(convertRgbToXyz50(rgb)));
2298
+ var convertLchuvToRgb = (lchuv) => convertXyz50ToRgb(convertLuvToXyz50(convertLchuvToLuv(lchuv)));
2299
+ var definition$15 = {
2300
+ mode: "lchuv",
2301
+ toMode: {
2302
+ luv: convertLchuvToLuv,
2303
+ rgb: convertLchuvToRgb
2304
+ },
2305
+ fromMode: {
2306
+ rgb: convertRgbToLchuv,
2307
+ luv: convertLuvToLchuv
2308
+ },
2309
+ channels: [
2310
+ "l",
2311
+ "c",
2312
+ "h",
2313
+ "alpha"
2314
+ ],
2315
+ parse: ["--lchuv"],
2316
+ serialize: "--lchuv",
2317
+ ranges: {
2318
+ l: [0, 100],
2319
+ c: [0, 176.956],
2320
+ h: [0, 360]
2321
+ },
2322
+ interpolate: {
2323
+ h: {
2324
+ use: interpolatorLinear,
2325
+ fixup: fixupHueShorter
2326
+ },
2327
+ c: interpolatorLinear,
2328
+ l: interpolatorLinear,
2329
+ alpha: {
2330
+ use: interpolatorLinear,
2331
+ fixup: fixupAlpha
2332
+ }
2333
+ },
2334
+ difference: { h: differenceHueChroma },
2335
+ average: { h: averageAngle }
2336
+ };
2337
+ //#endregion
2338
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/lrgb/definition.js
2339
+ var definition$16 = {
2340
+ ...definition$23,
2341
+ mode: "lrgb",
2342
+ toMode: { rgb: convertLrgbToRgb },
2343
+ fromMode: { rgb: convertRgbToLrgb },
2344
+ parse: ["srgb-linear"],
2345
+ serialize: "srgb-linear"
2346
+ };
2347
+ //#endregion
2348
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/luv/definition.js
2349
+ var definition$17 = {
2350
+ mode: "luv",
2351
+ toMode: {
2352
+ xyz50: convertLuvToXyz50,
2353
+ rgb: (luv) => convertXyz50ToRgb(convertLuvToXyz50(luv))
2354
+ },
2355
+ fromMode: {
2356
+ xyz50: convertXyz50ToLuv,
2357
+ rgb: (rgb) => convertXyz50ToLuv(convertRgbToXyz50(rgb))
2358
+ },
2359
+ channels: [
2360
+ "l",
2361
+ "u",
2362
+ "v",
2363
+ "alpha"
2364
+ ],
2365
+ parse: ["--luv"],
2366
+ serialize: "--luv",
2367
+ ranges: {
2368
+ l: [0, 100],
2369
+ u: [-84.936, 175.042],
2370
+ v: [-125.882, 87.243]
2371
+ },
2372
+ interpolate: {
2373
+ l: interpolatorLinear,
2374
+ u: interpolatorLinear,
2375
+ v: interpolatorLinear,
2376
+ alpha: {
2377
+ use: interpolatorLinear,
2378
+ fixup: fixupAlpha
2379
+ }
2380
+ }
2381
+ };
2382
+ //#endregion
2383
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/oklab/convertLrgbToOklab.js
2384
+ var convertLrgbToOklab = ({ r, g, b, alpha }) => {
2385
+ if (r === void 0) r = 0;
2386
+ if (g === void 0) g = 0;
2387
+ if (b === void 0) b = 0;
2388
+ let L = Math.cbrt(.412221469470763 * r + .5363325372617348 * g + .0514459932675022 * b);
2389
+ let M = Math.cbrt(.2119034958178252 * r + .6806995506452344 * g + .1073969535369406 * b);
2390
+ let S = Math.cbrt(.0883024591900564 * r + .2817188391361215 * g + .6299787016738222 * b);
2391
+ let res = {
2392
+ mode: "oklab",
2393
+ l: .210454268309314 * L + .7936177747023054 * M - .0040720430116193 * S,
2394
+ a: 1.9779985324311684 * L - 2.42859224204858 * M + .450593709617411 * S,
2395
+ b: .0259040424655478 * L + .7827717124575296 * M - .8086757549230774 * S
2396
+ };
2397
+ if (alpha !== void 0) res.alpha = alpha;
2398
+ return res;
2399
+ };
2400
+ //#endregion
2401
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/oklab/convertRgbToOklab.js
2402
+ var convertRgbToOklab = (rgb) => {
2403
+ let res = convertLrgbToOklab(convertRgbToLrgb(rgb));
2404
+ if (rgb.r === rgb.b && rgb.b === rgb.g) res.a = res.b = 0;
2405
+ return res;
2406
+ };
2407
+ //#endregion
2408
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/oklab/convertOklabToLrgb.js
2409
+ var convertOklabToLrgb = ({ l, a, b, alpha }) => {
2410
+ if (l === void 0) l = 0;
2411
+ if (a === void 0) a = 0;
2412
+ if (b === void 0) b = 0;
2413
+ let L = Math.pow(l + .3963377773761749 * a + .2158037573099136 * b, 3);
2414
+ let M = Math.pow(l - .1055613458156586 * a - .0638541728258133 * b, 3);
2415
+ let S = Math.pow(l - .0894841775298119 * a - 1.2914855480194092 * b, 3);
2416
+ let res = {
2417
+ mode: "lrgb",
2418
+ r: 4.076741636075957 * L - 3.3077115392580616 * M + .2309699031821044 * S,
2419
+ g: -1.2684379732850317 * L + 2.6097573492876887 * M - .3413193760026573 * S,
2420
+ b: -.0041960761386756 * L - .7034186179359362 * M + 1.7076146940746117 * S
2421
+ };
2422
+ if (alpha !== void 0) res.alpha = alpha;
2423
+ return res;
2424
+ };
2425
+ //#endregion
2426
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/oklab/convertOklabToRgb.js
2427
+ var convertOklabToRgb = (c) => convertLrgbToRgb(convertOklabToLrgb(c));
2428
+ //#endregion
2429
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/okhsl/helpers.js
2430
+ function toe(x) {
2431
+ const k_1 = .206;
2432
+ const k_2 = .03;
2433
+ const k_3 = 1.206 / 1.03;
2434
+ return .5 * (k_3 * x - k_1 + Math.sqrt((k_3 * x - k_1) * (k_3 * x - k_1) + 4 * k_2 * k_3 * x));
2435
+ }
2436
+ function toe_inv(x) {
2437
+ return (x * x + .206 * x) / (1.206 / 1.03 * (x + .03));
2438
+ }
2439
+ function compute_max_saturation(a, b) {
2440
+ let k0, k1, k2, k3, k4, wl, wm, ws;
2441
+ if (-1.88170328 * a - .80936493 * b > 1) {
2442
+ k0 = 1.19086277;
2443
+ k1 = 1.76576728;
2444
+ k2 = .59662641;
2445
+ k3 = .75515197;
2446
+ k4 = .56771245;
2447
+ wl = 4.0767416621;
2448
+ wm = -3.3077115913;
2449
+ ws = .2309699292;
2450
+ } else if (1.81444104 * a - 1.19445276 * b > 1) {
2451
+ k0 = .73956515;
2452
+ k1 = -.45954404;
2453
+ k2 = .08285427;
2454
+ k3 = .1254107;
2455
+ k4 = .14503204;
2456
+ wl = -1.2684380046;
2457
+ wm = 2.6097574011;
2458
+ ws = -.3413193965;
2459
+ } else {
2460
+ k0 = 1.35733652;
2461
+ k1 = -.00915799;
2462
+ k2 = -1.1513021;
2463
+ k3 = -.50559606;
2464
+ k4 = .00692167;
2465
+ wl = -.0041960863;
2466
+ wm = -.7034186147;
2467
+ ws = 1.707614701;
2468
+ }
2469
+ let S = k0 + k1 * a + k2 * b + k3 * a * a + k4 * a * b;
2470
+ let k_l = .3963377774 * a + .2158037573 * b;
2471
+ let k_m = -.1055613458 * a - .0638541728 * b;
2472
+ let k_s = -.0894841775 * a - 1.291485548 * b;
2473
+ {
2474
+ let l_ = 1 + S * k_l;
2475
+ let m_ = 1 + S * k_m;
2476
+ let s_ = 1 + S * k_s;
2477
+ let l = l_ * l_ * l_;
2478
+ let m = m_ * m_ * m_;
2479
+ let s = s_ * s_ * s_;
2480
+ let l_dS = 3 * k_l * l_ * l_;
2481
+ let m_dS = 3 * k_m * m_ * m_;
2482
+ let s_dS = 3 * k_s * s_ * s_;
2483
+ let l_dS2 = 6 * k_l * k_l * l_;
2484
+ let m_dS2 = 6 * k_m * k_m * m_;
2485
+ let s_dS2 = 6 * k_s * k_s * s_;
2486
+ let f = wl * l + wm * m + ws * s;
2487
+ let f1 = wl * l_dS + wm * m_dS + ws * s_dS;
2488
+ let f2 = wl * l_dS2 + wm * m_dS2 + ws * s_dS2;
2489
+ S = S - f * f1 / (f1 * f1 - .5 * f * f2);
2490
+ }
2491
+ return S;
2492
+ }
2493
+ function find_cusp(a, b) {
2494
+ let S_cusp = compute_max_saturation(a, b);
2495
+ let rgb = convertOklabToLrgb({
2496
+ l: 1,
2497
+ a: S_cusp * a,
2498
+ b: S_cusp * b
2499
+ });
2500
+ let L_cusp = Math.cbrt(1 / Math.max(rgb.r, rgb.g, rgb.b));
2501
+ return [L_cusp, L_cusp * S_cusp];
2502
+ }
2503
+ function find_gamut_intersection(a, b, L1, C1, L0, cusp = null) {
2504
+ if (!cusp) cusp = find_cusp(a, b);
2505
+ let t;
2506
+ if ((L1 - L0) * cusp[1] - (cusp[0] - L0) * C1 <= 0) t = cusp[1] * L0 / (C1 * cusp[0] + cusp[1] * (L0 - L1));
2507
+ else {
2508
+ t = cusp[1] * (L0 - 1) / (C1 * (cusp[0] - 1) + cusp[1] * (L0 - L1));
2509
+ {
2510
+ let dL = L1 - L0;
2511
+ let dC = C1;
2512
+ let k_l = .3963377774 * a + .2158037573 * b;
2513
+ let k_m = -.1055613458 * a - .0638541728 * b;
2514
+ let k_s = -.0894841775 * a - 1.291485548 * b;
2515
+ let l_dt = dL + dC * k_l;
2516
+ let m_dt = dL + dC * k_m;
2517
+ let s_dt = dL + dC * k_s;
2518
+ {
2519
+ let L = L0 * (1 - t) + t * L1;
2520
+ let C = t * C1;
2521
+ let l_ = L + C * k_l;
2522
+ let m_ = L + C * k_m;
2523
+ let s_ = L + C * k_s;
2524
+ let l = l_ * l_ * l_;
2525
+ let m = m_ * m_ * m_;
2526
+ let s = s_ * s_ * s_;
2527
+ let ldt = 3 * l_dt * l_ * l_;
2528
+ let mdt = 3 * m_dt * m_ * m_;
2529
+ let sdt = 3 * s_dt * s_ * s_;
2530
+ let ldt2 = 6 * l_dt * l_dt * l_;
2531
+ let mdt2 = 6 * m_dt * m_dt * m_;
2532
+ let sdt2 = 6 * s_dt * s_dt * s_;
2533
+ let r = 4.0767416621 * l - 3.3077115913 * m + .2309699292 * s - 1;
2534
+ let r1 = 4.0767416621 * ldt - 3.3077115913 * mdt + .2309699292 * sdt;
2535
+ let r2 = 4.0767416621 * ldt2 - 3.3077115913 * mdt2 + .2309699292 * sdt2;
2536
+ let u_r = r1 / (r1 * r1 - .5 * r * r2);
2537
+ let t_r = -r * u_r;
2538
+ let g = -1.2684380046 * l + 2.6097574011 * m - .3413193965 * s - 1;
2539
+ let g1 = -1.2684380046 * ldt + 2.6097574011 * mdt - .3413193965 * sdt;
2540
+ let g2 = -1.2684380046 * ldt2 + 2.6097574011 * mdt2 - .3413193965 * sdt2;
2541
+ let u_g = g1 / (g1 * g1 - .5 * g * g2);
2542
+ let t_g = -g * u_g;
2543
+ let b = -.0041960863 * l - .7034186147 * m + 1.707614701 * s - 1;
2544
+ let b1 = -.0041960863 * ldt - .7034186147 * mdt + 1.707614701 * sdt;
2545
+ let b2 = -.0041960863 * ldt2 - .7034186147 * mdt2 + 1.707614701 * sdt2;
2546
+ let u_b = b1 / (b1 * b1 - .5 * b * b2);
2547
+ let t_b = -b * u_b;
2548
+ t_r = u_r >= 0 ? t_r : 1e6;
2549
+ t_g = u_g >= 0 ? t_g : 1e6;
2550
+ t_b = u_b >= 0 ? t_b : 1e6;
2551
+ t += Math.min(t_r, Math.min(t_g, t_b));
2552
+ }
2553
+ }
2554
+ }
2555
+ return t;
2556
+ }
2557
+ function get_ST_max(a_, b_, cusp = null) {
2558
+ if (!cusp) cusp = find_cusp(a_, b_);
2559
+ let L = cusp[0];
2560
+ let C = cusp[1];
2561
+ return [C / L, C / (1 - L)];
2562
+ }
2563
+ function get_Cs(L, a_, b_) {
2564
+ let cusp = find_cusp(a_, b_);
2565
+ let C_max = find_gamut_intersection(a_, b_, L, 1, L, cusp);
2566
+ let ST_max = get_ST_max(a_, b_, cusp);
2567
+ let S_mid = .11516993 + 1 / (7.4477897 + 4.1590124 * b_ + a_ * (-2.19557347 + 1.75198401 * b_ + a_ * (-2.13704948 - 10.02301043 * b_ + a_ * (-4.24894561 + 5.38770819 * b_ + 4.69891013 * a_))));
2568
+ let T_mid = .11239642 + 1 / (1.6132032 - .68124379 * b_ + a_ * (.40370612 + .90148123 * b_ + a_ * (-.27087943 + .6122399 * b_ + a_ * (.00299215 - .45399568 * b_ - .14661872 * a_))));
2569
+ let k = C_max / Math.min(L * ST_max[0], (1 - L) * ST_max[1]);
2570
+ let C_a = L * S_mid;
2571
+ let C_b = (1 - L) * T_mid;
2572
+ let C_mid = .9 * k * Math.sqrt(Math.sqrt(1 / (1 / (C_a * C_a * C_a * C_a) + 1 / (C_b * C_b * C_b * C_b))));
2573
+ C_a = L * .4;
2574
+ C_b = (1 - L) * .8;
2575
+ return [
2576
+ Math.sqrt(1 / (1 / (C_a * C_a) + 1 / (C_b * C_b))),
2577
+ C_mid,
2578
+ C_max
2579
+ ];
2580
+ }
2581
+ //#endregion
2582
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/okhsl/convertOklabToOkhsl.js
2583
+ function convertOklabToOkhsl(lab) {
2584
+ const l = lab.l !== void 0 ? lab.l : 0;
2585
+ const a = lab.a !== void 0 ? lab.a : 0;
2586
+ const b = lab.b !== void 0 ? lab.b : 0;
2587
+ const ret = {
2588
+ mode: "okhsl",
2589
+ l: toe(l)
2590
+ };
2591
+ if (lab.alpha !== void 0) ret.alpha = lab.alpha;
2592
+ let c = Math.sqrt(a * a + b * b);
2593
+ if (!c) {
2594
+ ret.s = 0;
2595
+ return ret;
2596
+ }
2597
+ let [C_0, C_mid, C_max] = get_Cs(l, a / c, b / c);
2598
+ let s;
2599
+ if (c < C_mid) {
2600
+ let k_0 = 0;
2601
+ let k_1 = .8 * C_0;
2602
+ let k_2 = 1 - k_1 / C_mid;
2603
+ s = (c - k_0) / (k_1 + k_2 * (c - k_0)) * .8;
2604
+ } else {
2605
+ let k_0 = C_mid;
2606
+ let k_1 = .2 * C_mid * C_mid * 1.25 * 1.25 / C_0;
2607
+ let k_2 = 1 - k_1 / (C_max - C_mid);
2608
+ s = .8 + .2 * ((c - k_0) / (k_1 + k_2 * (c - k_0)));
2609
+ }
2610
+ if (s) {
2611
+ ret.s = s;
2612
+ ret.h = normalizeHue(Math.atan2(b, a) * 180 / Math.PI);
2613
+ }
2614
+ return ret;
2615
+ }
2616
+ //#endregion
2617
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/okhsl/convertOkhslToOklab.js
2618
+ function convertOkhslToOklab(hsl) {
2619
+ let h = hsl.h !== void 0 ? hsl.h : 0;
2620
+ let s = hsl.s !== void 0 ? hsl.s : 0;
2621
+ let l = hsl.l !== void 0 ? hsl.l : 0;
2622
+ const ret = {
2623
+ mode: "oklab",
2624
+ l: toe_inv(l)
2625
+ };
2626
+ if (hsl.alpha !== void 0) ret.alpha = hsl.alpha;
2627
+ if (!s || l === 1) {
2628
+ ret.a = ret.b = 0;
2629
+ return ret;
2630
+ }
2631
+ let a_ = Math.cos(h / 180 * Math.PI);
2632
+ let b_ = Math.sin(h / 180 * Math.PI);
2633
+ let [C_0, C_mid, C_max] = get_Cs(ret.l, a_, b_);
2634
+ let t, k_0, k_1, k_2;
2635
+ if (s < .8) {
2636
+ t = 1.25 * s;
2637
+ k_0 = 0;
2638
+ k_1 = .8 * C_0;
2639
+ k_2 = 1 - k_1 / C_mid;
2640
+ } else {
2641
+ t = 5 * (s - .8);
2642
+ k_0 = C_mid;
2643
+ k_1 = .2 * C_mid * C_mid * 1.25 * 1.25 / C_0;
2644
+ k_2 = 1 - k_1 / (C_max - C_mid);
2645
+ }
2646
+ let C = k_0 + t * k_1 / (1 - k_2 * t);
2647
+ ret.a = C * a_;
2648
+ ret.b = C * b_;
2649
+ return ret;
2650
+ }
2651
+ //#endregion
2652
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/okhsl/modeOkhsl.js
2653
+ var modeOkhsl = {
2654
+ ...definition$5,
2655
+ mode: "okhsl",
2656
+ channels: [
2657
+ "h",
2658
+ "s",
2659
+ "l",
2660
+ "alpha"
2661
+ ],
2662
+ parse: ["--okhsl"],
2663
+ serialize: "--okhsl",
2664
+ fromMode: {
2665
+ oklab: convertOklabToOkhsl,
2666
+ rgb: (c) => convertOklabToOkhsl(convertRgbToOklab(c))
2667
+ },
2668
+ toMode: {
2669
+ oklab: convertOkhslToOklab,
2670
+ rgb: (c) => convertOklabToRgb(convertOkhslToOklab(c))
2671
+ }
2672
+ };
2673
+ //#endregion
2674
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/okhsv/convertOklabToOkhsv.js
2675
+ function convertOklabToOkhsv(lab) {
2676
+ let l = lab.l !== void 0 ? lab.l : 0;
2677
+ let a = lab.a !== void 0 ? lab.a : 0;
2678
+ let b = lab.b !== void 0 ? lab.b : 0;
2679
+ let c = Math.sqrt(a * a + b * b);
2680
+ let a_ = c ? a / c : 1;
2681
+ let b_ = c ? b / c : 1;
2682
+ let [S_max, T] = get_ST_max(a_, b_);
2683
+ let S_0 = .5;
2684
+ let k = 1 - S_0 / S_max;
2685
+ let t = T / (c + l * T);
2686
+ let L_v = t * l;
2687
+ let C_v = t * c;
2688
+ let L_vt = toe_inv(L_v);
2689
+ let C_vt = C_v * L_vt / L_v;
2690
+ let rgb_scale = convertOklabToLrgb({
2691
+ l: L_vt,
2692
+ a: a_ * C_vt,
2693
+ b: b_ * C_vt
2694
+ });
2695
+ let scale_L = Math.cbrt(1 / Math.max(rgb_scale.r, rgb_scale.g, rgb_scale.b, 0));
2696
+ l = l / scale_L;
2697
+ c = c / scale_L * toe(l) / l;
2698
+ l = toe(l);
2699
+ const ret = {
2700
+ mode: "okhsv",
2701
+ s: c ? (S_0 + T) * C_v / (T * S_0 + T * k * C_v) : 0,
2702
+ v: l ? l / L_v : 0
2703
+ };
2704
+ if (ret.s) ret.h = normalizeHue(Math.atan2(b, a) * 180 / Math.PI);
2705
+ if (lab.alpha !== void 0) ret.alpha = lab.alpha;
2706
+ return ret;
2707
+ }
2708
+ //#endregion
2709
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/okhsv/convertOkhsvToOklab.js
2710
+ function convertOkhsvToOklab(hsv) {
2711
+ const ret = { mode: "oklab" };
2712
+ if (hsv.alpha !== void 0) ret.alpha = hsv.alpha;
2713
+ const h = hsv.h !== void 0 ? hsv.h : 0;
2714
+ const s = hsv.s !== void 0 ? hsv.s : 0;
2715
+ const v = hsv.v !== void 0 ? hsv.v : 0;
2716
+ const a_ = Math.cos(h / 180 * Math.PI);
2717
+ const b_ = Math.sin(h / 180 * Math.PI);
2718
+ const [S_max, T] = get_ST_max(a_, b_);
2719
+ const S_0 = .5;
2720
+ const k = 1 - S_0 / S_max;
2721
+ const L_v = 1 - s * S_0 / (S_0 + T - T * k * s);
2722
+ const C_v = s * T * S_0 / (S_0 + T - T * k * s);
2723
+ const L_vt = toe_inv(L_v);
2724
+ const C_vt = C_v * L_vt / L_v;
2725
+ const rgb_scale = convertOklabToLrgb({
2726
+ l: L_vt,
2727
+ a: a_ * C_vt,
2728
+ b: b_ * C_vt
2729
+ });
2730
+ const scale_L = Math.cbrt(1 / Math.max(rgb_scale.r, rgb_scale.g, rgb_scale.b, 0));
2731
+ const L_new = toe_inv(v * L_v);
2732
+ const C = C_v * L_new / L_v;
2733
+ ret.l = L_new * scale_L;
2734
+ ret.a = C * a_ * scale_L;
2735
+ ret.b = C * b_ * scale_L;
2736
+ return ret;
2737
+ }
2738
+ //#endregion
2739
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/okhsv/modeOkhsv.js
2740
+ var modeOkhsv = {
2741
+ ...definition$6,
2742
+ mode: "okhsv",
2743
+ channels: [
2744
+ "h",
2745
+ "s",
2746
+ "v",
2747
+ "alpha"
2748
+ ],
2749
+ parse: ["--okhsv"],
2750
+ serialize: "--okhsv",
2751
+ fromMode: {
2752
+ oklab: convertOklabToOkhsv,
2753
+ rgb: (c) => convertOklabToOkhsv(convertRgbToOklab(c))
2754
+ },
2755
+ toMode: {
2756
+ oklab: convertOkhsvToOklab,
2757
+ rgb: (c) => convertOklabToRgb(convertOkhsvToOklab(c))
2758
+ }
2759
+ };
2760
+ //#endregion
2761
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/oklab/parseOklab.js
2762
+ function parseOklab(color, parsed) {
2763
+ if (!parsed || parsed[0] !== "oklab") return;
2764
+ const res = { mode: "oklab" };
2765
+ const [, l, a, b, alpha] = parsed;
2766
+ if (l.type === Tok.Hue || a.type === Tok.Hue || b.type === Tok.Hue) return;
2767
+ if (l.type !== Tok.None) res.l = Math.min(Math.max(0, l.type === Tok.Number ? l.value : l.value / 100), 1);
2768
+ if (a.type !== Tok.None) res.a = a.type === Tok.Number ? a.value : a.value * .4 / 100;
2769
+ if (b.type !== Tok.None) res.b = b.type === Tok.Number ? b.value : b.value * .4 / 100;
2770
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
2771
+ return res;
2772
+ }
2773
+ //#endregion
2774
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/oklab/definition.js
2775
+ var definition$18 = {
2776
+ ...definition$11,
2777
+ mode: "oklab",
2778
+ toMode: {
2779
+ lrgb: convertOklabToLrgb,
2780
+ rgb: convertOklabToRgb
2781
+ },
2782
+ fromMode: {
2783
+ lrgb: convertLrgbToOklab,
2784
+ rgb: convertRgbToOklab
2785
+ },
2786
+ ranges: {
2787
+ l: [0, 1],
2788
+ a: [-.4, .4],
2789
+ b: [-.4, .4]
2790
+ },
2791
+ parse: [parseOklab],
2792
+ serialize: (c) => `oklab(${c.l !== void 0 ? c.l : "none"} ${c.a !== void 0 ? c.a : "none"} ${c.b !== void 0 ? c.b : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`
2793
+ };
2794
+ //#endregion
2795
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/oklch/parseOklch.js
2796
+ function parseOklch(color, parsed) {
2797
+ if (!parsed || parsed[0] !== "oklch") return;
2798
+ const res = { mode: "oklch" };
2799
+ const [, l, c, h, alpha] = parsed;
2800
+ if (l.type !== Tok.None) {
2801
+ if (l.type === Tok.Hue) return;
2802
+ res.l = Math.min(Math.max(0, l.type === Tok.Number ? l.value : l.value / 100), 1);
2803
+ }
2804
+ if (c.type !== Tok.None) res.c = Math.max(0, c.type === Tok.Number ? c.value : c.value * .4 / 100);
2805
+ if (h.type !== Tok.None) {
2806
+ if (h.type === Tok.Percentage) return;
2807
+ res.h = h.value;
2808
+ }
2809
+ if (alpha.type !== Tok.None) res.alpha = Math.min(1, Math.max(0, alpha.type === Tok.Number ? alpha.value : alpha.value / 100));
2810
+ return res;
2811
+ }
2812
+ //#endregion
2813
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/oklch/definition.js
2814
+ var definition$19 = {
2815
+ ...definition$13,
2816
+ mode: "oklch",
2817
+ toMode: {
2818
+ oklab: (c) => convertLchToLab(c, "oklab"),
2819
+ rgb: (c) => convertOklabToRgb(convertLchToLab(c, "oklab"))
2820
+ },
2821
+ fromMode: {
2822
+ rgb: (c) => convertLabToLch(convertRgbToOklab(c), "oklch"),
2823
+ oklab: (c) => convertLabToLch(c, "oklch")
2824
+ },
2825
+ parse: [parseOklch],
2826
+ serialize: (c) => `oklch(${c.l !== void 0 ? c.l : "none"} ${c.c !== void 0 ? c.c : "none"} ${c.h !== void 0 ? c.h : "none"}${c.alpha < 1 ? ` / ${c.alpha}` : ""})`,
2827
+ ranges: {
2828
+ l: [0, 1],
2829
+ c: [0, .4],
2830
+ h: [0, 360]
2831
+ }
2832
+ };
2833
+ //#endregion
2834
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/p3/convertP3ToXyz65.js
2835
+ var convertP3ToXyz65 = (rgb) => {
2836
+ let { r, g, b, alpha } = convertRgbToLrgb(rgb);
2837
+ let res = {
2838
+ mode: "xyz65",
2839
+ x: .486570948648216 * r + .265667693169093 * g + .1982172852343625 * b,
2840
+ y: .2289745640697487 * r + .6917385218365062 * g + .079286914093745 * b,
2841
+ z: 0 * r + .0451133818589026 * g + 1.043944368900976 * b
2842
+ };
2843
+ if (alpha !== void 0) res.alpha = alpha;
2844
+ return res;
2845
+ };
2846
+ //#endregion
2847
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/p3/convertXyz65ToP3.js
2848
+ var convertXyz65ToP3 = ({ x, y, z, alpha }) => {
2849
+ if (x === void 0) x = 0;
2850
+ if (y === void 0) y = 0;
2851
+ if (z === void 0) z = 0;
2852
+ let res = convertLrgbToRgb({
2853
+ r: x * 2.4934969119414263 - y * .9313836179191242 - .402710784450717 * z,
2854
+ g: x * -.8294889695615749 + y * 1.7626640603183465 + .0236246858419436 * z,
2855
+ b: x * .0358458302437845 - y * .0761723892680418 + .9568845240076871 * z
2856
+ }, "p3");
2857
+ if (alpha !== void 0) res.alpha = alpha;
2858
+ return res;
2859
+ };
2860
+ //#endregion
2861
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/p3/definition.js
2862
+ var definition$20 = {
2863
+ ...definition$23,
2864
+ mode: "p3",
2865
+ parse: ["display-p3"],
2866
+ serialize: "display-p3",
2867
+ fromMode: {
2868
+ rgb: (color) => convertXyz65ToP3(convertRgbToXyz65(color)),
2869
+ xyz65: convertXyz65ToP3
2870
+ },
2871
+ toMode: {
2872
+ rgb: (color) => convertXyz65ToRgb(convertP3ToXyz65(color)),
2873
+ xyz65: convertP3ToXyz65
2874
+ }
2875
+ };
2876
+ //#endregion
2877
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/prophoto/convertXyz50ToProphoto.js
2878
+ var gamma$2 = (v) => {
2879
+ let abs = Math.abs(v);
2880
+ if (abs >= 1 / 512) return Math.sign(v) * Math.pow(abs, 1 / 1.8);
2881
+ return 16 * v;
2882
+ };
2883
+ var convertXyz50ToProphoto = ({ x, y, z, alpha }) => {
2884
+ if (x === void 0) x = 0;
2885
+ if (y === void 0) y = 0;
2886
+ if (z === void 0) z = 0;
2887
+ let res = {
2888
+ mode: "prophoto",
2889
+ r: gamma$2(x * 1.3457868816471585 - y * .2555720873797946 - .0511018649755453 * z),
2890
+ g: gamma$2(x * -.5446307051249019 + y * 1.5082477428451466 + .0205274474364214 * z),
2891
+ b: gamma$2(x * 0 + y * 0 + 1.2119675456389452 * z)
2892
+ };
2893
+ if (alpha !== void 0) res.alpha = alpha;
2894
+ return res;
2895
+ };
2896
+ //#endregion
2897
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/prophoto/convertProphotoToXyz50.js
2898
+ var linearize$1 = (v = 0) => {
2899
+ let abs = Math.abs(v);
2900
+ if (abs >= 16 / 512) return Math.sign(v) * Math.pow(abs, 1.8);
2901
+ return v / 16;
2902
+ };
2903
+ var convertProphotoToXyz50 = (prophoto) => {
2904
+ let r = linearize$1(prophoto.r);
2905
+ let g = linearize$1(prophoto.g);
2906
+ let b = linearize$1(prophoto.b);
2907
+ let res = {
2908
+ mode: "xyz50",
2909
+ x: .7977666449006423 * r + .1351812974005331 * g + .0313477341283922 * b,
2910
+ y: .2880748288194013 * r + .7118352342418731 * g + 899369387256e-16 * b,
2911
+ z: 0 * r + 0 * g + .8251046025104602 * b
2912
+ };
2913
+ if (prophoto.alpha !== void 0) res.alpha = prophoto.alpha;
2914
+ return res;
2915
+ };
2916
+ //#endregion
2917
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/prophoto/definition.js
2918
+ var definition$21 = {
2919
+ ...definition$23,
2920
+ mode: "prophoto",
2921
+ parse: ["prophoto-rgb"],
2922
+ serialize: "prophoto-rgb",
2923
+ fromMode: {
2924
+ xyz50: convertXyz50ToProphoto,
2925
+ rgb: (color) => convertXyz50ToProphoto(convertRgbToXyz50(color))
2926
+ },
2927
+ toMode: {
2928
+ xyz50: convertProphotoToXyz50,
2929
+ rgb: (color) => convertXyz50ToRgb(convertProphotoToXyz50(color))
2930
+ }
2931
+ };
2932
+ //#endregion
2933
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rec2020/convertXyz65ToRec2020.js
2934
+ var α$1 = 1.09929682680944;
2935
+ var β$1 = .018053968510807;
2936
+ var gamma$1 = (v) => {
2937
+ const abs = Math.abs(v);
2938
+ if (abs > β$1) return (Math.sign(v) || 1) * (α$1 * Math.pow(abs, .45) - (α$1 - 1));
2939
+ return 4.5 * v;
2940
+ };
2941
+ var convertXyz65ToRec2020 = ({ x, y, z, alpha }) => {
2942
+ if (x === void 0) x = 0;
2943
+ if (y === void 0) y = 0;
2944
+ if (z === void 0) z = 0;
2945
+ let res = {
2946
+ mode: "rec2020",
2947
+ r: gamma$1(x * 1.7166511879712683 - y * .3556707837763925 - .2533662813736599 * z),
2948
+ g: gamma$1(x * -.6666843518324893 + y * 1.6164812366349395 + .0157685458139111 * z),
2949
+ b: gamma$1(x * .0176398574453108 - y * .0427706132578085 + .9421031212354739 * z)
2950
+ };
2951
+ if (alpha !== void 0) res.alpha = alpha;
2952
+ return res;
2953
+ };
2954
+ //#endregion
2955
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rec2020/convertRec2020ToXyz65.js
2956
+ var α = 1.09929682680944;
2957
+ var β = .018053968510807;
2958
+ var linearize = (v = 0) => {
2959
+ let abs = Math.abs(v);
2960
+ if (abs < β * 4.5) return v / 4.5;
2961
+ return (Math.sign(v) || 1) * Math.pow((abs + α - 1) / α, 1 / .45);
2962
+ };
2963
+ var convertRec2020ToXyz65 = (rec2020) => {
2964
+ let r = linearize(rec2020.r);
2965
+ let g = linearize(rec2020.g);
2966
+ let b = linearize(rec2020.b);
2967
+ let res = {
2968
+ mode: "xyz65",
2969
+ x: .6369580483012911 * r + .1446169035862083 * g + .1688809751641721 * b,
2970
+ y: .262700212011267 * r + .6779980715188708 * g + .059301716469862 * b,
2971
+ z: 0 * r + .0280726930490874 * g + 1.0609850577107909 * b
2972
+ };
2973
+ if (rec2020.alpha !== void 0) res.alpha = rec2020.alpha;
2974
+ return res;
2975
+ };
2976
+ //#endregion
2977
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/rec2020/definition.js
2978
+ var definition$22 = {
2979
+ ...definition$23,
2980
+ mode: "rec2020",
2981
+ fromMode: {
2982
+ xyz65: convertXyz65ToRec2020,
2983
+ rgb: (color) => convertXyz65ToRec2020(convertRgbToXyz65(color))
2984
+ },
2985
+ toMode: {
2986
+ xyz65: convertRec2020ToXyz65,
2987
+ rgb: (color) => convertXyz65ToRgb(convertRec2020ToXyz65(color))
2988
+ },
2989
+ parse: ["rec2020"],
2990
+ serialize: "rec2020"
2991
+ };
2992
+ //#endregion
2993
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyb/constants.js
2994
+ var bias = .0037930732552754493;
2995
+ var bias_cbrt = Math.cbrt(bias);
2996
+ //#endregion
2997
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyb/convertRgbToXyb.js
2998
+ var transfer$1 = (v) => Math.cbrt(v) - bias_cbrt;
2999
+ var convertRgbToXyb = (color) => {
3000
+ const { r, g, b, alpha } = convertRgbToLrgb(color);
3001
+ const l = transfer$1(.3 * r + .622 * g + .078 * b + bias);
3002
+ const m = transfer$1(.23 * r + .692 * g + .078 * b + bias);
3003
+ const s = transfer$1(.2434226892454782 * r + .2047674442449682 * g + .5518098665095535 * b + bias);
3004
+ const res = {
3005
+ mode: "xyb",
3006
+ x: (l - m) / 2,
3007
+ y: (l + m) / 2,
3008
+ b: s - (l + m) / 2
3009
+ };
3010
+ if (alpha !== void 0) res.alpha = alpha;
3011
+ return res;
3012
+ };
3013
+ //#endregion
3014
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyb/convertXybToRgb.js
3015
+ var transfer = (v) => Math.pow(v + bias_cbrt, 3);
3016
+ var convertXybToRgb = ({ x, y, b, alpha }) => {
3017
+ if (x === void 0) x = 0;
3018
+ if (y === void 0) y = 0;
3019
+ if (b === void 0) b = 0;
3020
+ const l = transfer(x + y) - bias;
3021
+ const m = transfer(y - x) - bias;
3022
+ const s = transfer(b + y) - bias;
3023
+ const res = convertLrgbToRgb({
3024
+ r: 11.031566904639861 * l - 9.866943908131562 * m - .16462299650829934 * s,
3025
+ g: -3.2541473810744237 * l + 4.418770377582723 * m - .16462299650829934 * s,
3026
+ b: -3.6588512867136815 * l + 2.7129230459360922 * m + 1.9459282407775895 * s
3027
+ });
3028
+ if (alpha !== void 0) res.alpha = alpha;
3029
+ return res;
3030
+ };
3031
+ //#endregion
3032
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyb/definition.js
3033
+ var definition$24 = {
3034
+ mode: "xyb",
3035
+ channels: [
3036
+ "x",
3037
+ "y",
3038
+ "b",
3039
+ "alpha"
3040
+ ],
3041
+ parse: ["--xyb"],
3042
+ serialize: "--xyb",
3043
+ toMode: { rgb: convertXybToRgb },
3044
+ fromMode: { rgb: convertRgbToXyb },
3045
+ ranges: {
3046
+ x: [-.0154, .0281],
3047
+ y: [0, .8453],
3048
+ b: [-.2778, .388]
3049
+ },
3050
+ interpolate: {
3051
+ x: interpolatorLinear,
3052
+ y: interpolatorLinear,
3053
+ b: interpolatorLinear,
3054
+ alpha: {
3055
+ use: interpolatorLinear,
3056
+ fixup: fixupAlpha
3057
+ }
3058
+ }
3059
+ };
3060
+ //#endregion
3061
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz50/definition.js
3062
+ var definition$25 = {
3063
+ mode: "xyz50",
3064
+ parse: ["xyz-d50"],
3065
+ serialize: "xyz-d50",
3066
+ toMode: {
3067
+ rgb: convertXyz50ToRgb,
3068
+ lab: convertXyz50ToLab
3069
+ },
3070
+ fromMode: {
3071
+ rgb: convertRgbToXyz50,
3072
+ lab: convertLabToXyz50
3073
+ },
3074
+ channels: [
3075
+ "x",
3076
+ "y",
3077
+ "z",
3078
+ "alpha"
3079
+ ],
3080
+ ranges: {
3081
+ x: [0, .964],
3082
+ y: [0, .999],
3083
+ z: [0, .825]
3084
+ },
3085
+ interpolate: {
3086
+ x: interpolatorLinear,
3087
+ y: interpolatorLinear,
3088
+ z: interpolatorLinear,
3089
+ alpha: {
3090
+ use: interpolatorLinear,
3091
+ fixup: fixupAlpha
3092
+ }
3093
+ }
3094
+ };
3095
+ //#endregion
3096
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz65/convertXyz65ToXyz50.js
3097
+ var convertXyz65ToXyz50 = (xyz65) => {
3098
+ let { x, y, z, alpha } = xyz65;
3099
+ if (x === void 0) x = 0;
3100
+ if (y === void 0) y = 0;
3101
+ if (z === void 0) z = 0;
3102
+ let res = {
3103
+ mode: "xyz50",
3104
+ x: 1.0479298208405488 * x + .0229467933410191 * y - .0501922295431356 * z,
3105
+ y: .0296278156881593 * x + .990434484573249 * y - .0170738250293851 * z,
3106
+ z: -.0092430581525912 * x + .0150551448965779 * y + .7518742899580008 * z
3107
+ };
3108
+ if (alpha !== void 0) res.alpha = alpha;
3109
+ return res;
3110
+ };
3111
+ //#endregion
3112
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz65/convertXyz50ToXyz65.js
3113
+ var convertXyz50ToXyz65 = (xyz50) => {
3114
+ let { x, y, z, alpha } = xyz50;
3115
+ if (x === void 0) x = 0;
3116
+ if (y === void 0) y = 0;
3117
+ if (z === void 0) z = 0;
3118
+ let res = {
3119
+ mode: "xyz65",
3120
+ x: .9554734527042182 * x - .0230985368742614 * y + .0632593086610217 * z,
3121
+ y: -.0283697069632081 * x + 1.0099954580058226 * y + .021041398966943 * z,
3122
+ z: .0123140016883199 * x - .0205076964334779 * y + 1.3303659366080753 * z
3123
+ };
3124
+ if (alpha !== void 0) res.alpha = alpha;
3125
+ return res;
3126
+ };
3127
+ //#endregion
3128
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/xyz65/definition.js
3129
+ var definition$26 = {
3130
+ mode: "xyz65",
3131
+ toMode: {
3132
+ rgb: convertXyz65ToRgb,
3133
+ xyz50: convertXyz65ToXyz50
3134
+ },
3135
+ fromMode: {
3136
+ rgb: convertRgbToXyz65,
3137
+ xyz50: convertXyz50ToXyz65
3138
+ },
3139
+ ranges: {
3140
+ x: [0, .95],
3141
+ y: [0, 1],
3142
+ z: [0, 1.088]
3143
+ },
3144
+ channels: [
3145
+ "x",
3146
+ "y",
3147
+ "z",
3148
+ "alpha"
3149
+ ],
3150
+ parse: ["xyz", "xyz-d65"],
3151
+ serialize: "xyz-d65",
3152
+ interpolate: {
3153
+ x: interpolatorLinear,
3154
+ y: interpolatorLinear,
3155
+ z: interpolatorLinear,
3156
+ alpha: {
3157
+ use: interpolatorLinear,
3158
+ fixup: fixupAlpha
3159
+ }
3160
+ }
3161
+ };
3162
+ //#endregion
3163
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/yiq/convertRgbToYiq.js
3164
+ var convertRgbToYiq = ({ r, g, b, alpha }) => {
3165
+ if (r === void 0) r = 0;
3166
+ if (g === void 0) g = 0;
3167
+ if (b === void 0) b = 0;
3168
+ const res = {
3169
+ mode: "yiq",
3170
+ y: .29889531 * r + .58662247 * g + .11448223 * b,
3171
+ i: .59597799 * r - .2741761 * g - .32180189 * b,
3172
+ q: .21147017 * r - .52261711 * g + .31114694 * b
3173
+ };
3174
+ if (alpha !== void 0) res.alpha = alpha;
3175
+ return res;
3176
+ };
3177
+ //#endregion
3178
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/yiq/convertYiqToRgb.js
3179
+ var convertYiqToRgb = ({ y, i, q, alpha }) => {
3180
+ if (y === void 0) y = 0;
3181
+ if (i === void 0) i = 0;
3182
+ if (q === void 0) q = 0;
3183
+ const res = {
3184
+ mode: "rgb",
3185
+ r: y + .95608445 * i + .6208885 * q,
3186
+ g: y - .27137664 * i - .6486059 * q,
3187
+ b: y - 1.10561724 * i + 1.70250126 * q
3188
+ };
3189
+ if (alpha !== void 0) res.alpha = alpha;
3190
+ return res;
3191
+ };
3192
+ //#endregion
3193
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/yiq/definition.js
3194
+ var definition$27 = {
3195
+ mode: "yiq",
3196
+ toMode: { rgb: convertYiqToRgb },
3197
+ fromMode: { rgb: convertRgbToYiq },
3198
+ channels: [
3199
+ "y",
3200
+ "i",
3201
+ "q",
3202
+ "alpha"
3203
+ ],
3204
+ parse: ["--yiq"],
3205
+ serialize: "--yiq",
3206
+ ranges: {
3207
+ i: [-.595, .595],
3208
+ q: [-.522, .522]
3209
+ },
3210
+ interpolate: {
3211
+ y: interpolatorLinear,
3212
+ i: interpolatorLinear,
3213
+ q: interpolatorLinear,
3214
+ alpha: {
3215
+ use: interpolatorLinear,
3216
+ fixup: fixupAlpha
3217
+ }
3218
+ }
3219
+ };
3220
+ //#endregion
3221
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/round.js
3222
+ var r = (value, precision) => Math.round(value * (precision = Math.pow(10, precision))) / precision;
3223
+ var round = (precision = 4) => (value) => typeof value === "number" ? r(value, precision) : value;
3224
+ //#endregion
3225
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/formatter.js
3226
+ var twoDecimals = round(2);
3227
+ var clamp$1 = (value) => Math.max(0, Math.min(1, value || 0));
3228
+ var fixup = (value) => Math.round(clamp$1(value) * 255);
3229
+ var rgb$3 = converter("rgb");
3230
+ var hsl$1 = converter("hsl");
3231
+ var serializeHex = (color) => {
3232
+ if (color === void 0) return;
3233
+ let r = fixup(color.r);
3234
+ let g = fixup(color.g);
3235
+ let b = fixup(color.b);
3236
+ return "#" + (1 << 24 | r << 16 | g << 8 | b).toString(16).slice(1);
3237
+ };
3238
+ var serializeHex8 = (color) => {
3239
+ if (color === void 0) return;
3240
+ let a = fixup(color.alpha !== void 0 ? color.alpha : 1);
3241
+ return serializeHex(color) + (256 | a).toString(16).slice(1);
3242
+ };
3243
+ var serializeRgb = (color) => {
3244
+ if (color === void 0) return;
3245
+ let r = fixup(color.r);
3246
+ let g = fixup(color.g);
3247
+ let b = fixup(color.b);
3248
+ if (color.alpha === void 0 || color.alpha === 1) return `rgb(${r}, ${g}, ${b})`;
3249
+ else return `rgba(${r}, ${g}, ${b}, ${twoDecimals(clamp$1(color.alpha))})`;
3250
+ };
3251
+ var serializeHsl = (color) => {
3252
+ if (color === void 0) return;
3253
+ const h = twoDecimals(color.h || 0);
3254
+ const s = twoDecimals(clamp$1(color.s) * 100) + "%";
3255
+ const l = twoDecimals(clamp$1(color.l) * 100) + "%";
3256
+ if (color.alpha === void 0 || color.alpha === 1) return `hsl(${h}, ${s}, ${l})`;
3257
+ else return `hsla(${h}, ${s}, ${l}, ${twoDecimals(clamp$1(color.alpha))})`;
3258
+ };
3259
+ var formatCss = (c) => {
3260
+ const color = prepare(c);
3261
+ if (!color) return;
3262
+ const def = getMode(color.mode);
3263
+ if (!def.serialize || typeof def.serialize === "string") {
3264
+ let res = `color(${def.serialize || `--${color.mode}`} `;
3265
+ def.channels.forEach((ch, i) => {
3266
+ if (ch !== "alpha") res += (i ? " " : "") + (color[ch] !== void 0 ? color[ch] : "none");
3267
+ });
3268
+ if (color.alpha !== void 0 && color.alpha < 1) res += ` / ${color.alpha}`;
3269
+ return res + ")";
3270
+ }
3271
+ if (typeof def.serialize === "function") return def.serialize(color);
3272
+ };
3273
+ var formatHex = (c) => serializeHex(rgb$3(c));
3274
+ var formatHex8 = (c) => serializeHex8(rgb$3(c));
3275
+ var formatRgb = (c) => serializeRgb(rgb$3(c));
3276
+ var formatHsl = (c) => serializeHsl(hsl$1(c));
3277
+ //#endregion
3278
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/blend.js
3279
+ var BLENDS = {
3280
+ normal: (b, s) => s,
3281
+ multiply: (b, s) => b * s,
3282
+ screen: (b, s) => b + s - b * s,
3283
+ "hard-light": (b, s) => s < .5 ? b * 2 * s : 2 * s * (1 - b) - 1,
3284
+ overlay: (b, s) => b < .5 ? s * 2 * b : 2 * b * (1 - s) - 1,
3285
+ darken: (b, s) => Math.min(b, s),
3286
+ lighten: (b, s) => Math.max(b, s),
3287
+ "color-dodge": (b, s) => b === 0 ? 0 : s === 1 ? 1 : Math.min(1, b / (1 - s)),
3288
+ "color-burn": (b, s) => b === 1 ? 1 : s === 0 ? 0 : 1 - Math.min(1, (1 - b) / s),
3289
+ "soft-light": (b, s) => s < .5 ? b - (1 - 2 * s) * b * (1 - b) : b + (2 * s - 1) * ((b < .25 ? ((16 * b - 12) * b + 4) * b : Math.sqrt(b)) - b),
3290
+ difference: (b, s) => Math.abs(b - s),
3291
+ exclusion: (b, s) => b + s - 2 * b * s
3292
+ };
3293
+ var blend = (colors, type = "normal", mode = "rgb") => {
3294
+ let fn = typeof type === "function" ? type : BLENDS[type];
3295
+ let conv = converter(mode);
3296
+ let channels = getMode(mode).channels;
3297
+ return colors.map((c) => {
3298
+ let cc = conv(c);
3299
+ if (cc.alpha === void 0) cc.alpha = 1;
3300
+ return cc;
3301
+ }).reduce((b, s) => {
3302
+ if (b === void 0) return s;
3303
+ let alpha = s.alpha + b.alpha * (1 - s.alpha);
3304
+ return channels.reduce((res, ch) => {
3305
+ if (ch !== "alpha") if (alpha === 0) res[ch] = 0;
3306
+ else {
3307
+ res[ch] = s.alpha * (1 - b.alpha) * s[ch] + s.alpha * b.alpha * fn(b[ch], s[ch]) + (1 - s.alpha) * b.alpha * b[ch];
3308
+ res[ch] = Math.max(0, Math.min(1, res[ch] / alpha));
3309
+ }
3310
+ return res;
3311
+ }, {
3312
+ mode,
3313
+ alpha
3314
+ });
3315
+ });
3316
+ };
3317
+ //#endregion
3318
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/random.js
3319
+ var rand = ([min, max]) => min + Math.random() * (max - min);
3320
+ var to_intervals = (constraints) => Object.keys(constraints).reduce((o, k) => {
3321
+ let v = constraints[k];
3322
+ o[k] = Array.isArray(v) ? v : [v, v];
3323
+ return o;
3324
+ }, {});
3325
+ var random = (mode = "rgb", constraints = {}) => {
3326
+ let def = getMode(mode);
3327
+ let limits = to_intervals(constraints);
3328
+ return def.channels.reduce((res, ch) => {
3329
+ if (limits.alpha || ch !== "alpha") res[ch] = rand(limits[ch] || def.ranges[ch]);
3330
+ return res;
3331
+ }, { mode });
3332
+ };
3333
+ //#endregion
3334
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/map.js
3335
+ var mapper = (fn, mode = "rgb", preserve_mode = false) => {
3336
+ let channels = mode ? getMode(mode).channels : null;
3337
+ let conv = mode ? converter(mode) : prepare;
3338
+ return (color) => {
3339
+ let conv_color = conv(color);
3340
+ if (!conv_color) return;
3341
+ let res = (channels || getMode(conv_color.mode).channels).reduce((res, ch) => {
3342
+ let v = fn(conv_color[ch], ch, conv_color, mode);
3343
+ if (v !== void 0 && !isNaN(v)) res[ch] = v;
3344
+ return res;
3345
+ }, { mode: conv_color.mode });
3346
+ if (!preserve_mode) return res;
3347
+ let prep = prepare(color);
3348
+ if (prep && prep.mode !== res.mode) return converter(prep.mode)(res);
3349
+ return res;
3350
+ };
3351
+ };
3352
+ var mapAlphaMultiply = (v, ch, c) => {
3353
+ if (ch !== "alpha") return (v || 0) * (c.alpha !== void 0 ? c.alpha : 1);
3354
+ return v;
3355
+ };
3356
+ var mapAlphaDivide = (v, ch, c) => {
3357
+ if (ch !== "alpha" && c.alpha !== 0) return (v || 0) / (c.alpha !== void 0 ? c.alpha : 1);
3358
+ return v;
3359
+ };
3360
+ var mapTransferLinear = (slope = 1, intercept = 0) => (v, ch) => {
3361
+ if (ch !== "alpha") return v * slope + intercept;
3362
+ return v;
3363
+ };
3364
+ var mapTransferGamma = (amplitude = 1, exponent = 1, offset = 0) => (v, ch) => {
3365
+ if (ch !== "alpha") return amplitude * Math.pow(v, exponent) + offset;
3366
+ return v;
3367
+ };
3368
+ //#endregion
3369
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/util/normalizePositions.js
3370
+ var normalizePositions = (arr) => {
3371
+ if (arr[0] === void 0) arr[0] = 0;
3372
+ if (arr[arr.length - 1] === void 0) arr[arr.length - 1] = 1;
3373
+ let i = 1;
3374
+ let j;
3375
+ let from_idx;
3376
+ let from_pos;
3377
+ let inc;
3378
+ while (i < arr.length) {
3379
+ if (arr[i] === void 0) {
3380
+ from_idx = i;
3381
+ from_pos = arr[i - 1];
3382
+ j = i;
3383
+ while (arr[j] === void 0) j++;
3384
+ inc = (arr[j] - from_pos) / (j - i + 1);
3385
+ while (i < j) {
3386
+ arr[i] = from_pos + (i + 1 - from_idx) * inc;
3387
+ i++;
3388
+ }
3389
+ } else if (arr[i] < arr[i - 1]) arr[i] = arr[i - 1];
3390
+ i++;
3391
+ }
3392
+ return arr;
3393
+ };
3394
+ //#endregion
3395
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/easing/midpoint.js
3396
+ var midpoint = (H = .5) => (t) => H <= 0 ? 1 : H >= 1 ? 0 : Math.pow(t, Math.log(.5) / Math.log(H));
3397
+ //#endregion
3398
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/interpolate/interpolate.js
3399
+ var isfn = (o) => typeof o === "function";
3400
+ var isobj = (o) => o && typeof o === "object";
3401
+ var isnum = (o) => typeof o === "number";
3402
+ var interpolate_fn = (colors, mode = "rgb", overrides, premap) => {
3403
+ let def = getMode(mode);
3404
+ let conv = converter(mode);
3405
+ let conv_colors = [];
3406
+ let positions = [];
3407
+ let fns = {};
3408
+ colors.forEach((val) => {
3409
+ if (Array.isArray(val)) {
3410
+ conv_colors.push(conv(val[0]));
3411
+ positions.push(val[1]);
3412
+ } else if (isnum(val) || isfn(val)) fns[positions.length] = val;
3413
+ else {
3414
+ conv_colors.push(conv(val));
3415
+ positions.push(void 0);
3416
+ }
3417
+ });
3418
+ normalizePositions(positions);
3419
+ let fixed = def.channels.reduce((res, ch) => {
3420
+ let ffn;
3421
+ if (isobj(overrides) && isobj(overrides[ch]) && overrides[ch].fixup) ffn = overrides[ch].fixup;
3422
+ else if (isobj(def.interpolate[ch]) && def.interpolate[ch].fixup) ffn = def.interpolate[ch].fixup;
3423
+ else ffn = (v) => v;
3424
+ res[ch] = ffn(conv_colors.map((color) => color[ch]));
3425
+ return res;
3426
+ }, {});
3427
+ if (premap) {
3428
+ let ccolors = conv_colors.map((color, idx) => {
3429
+ return def.channels.reduce((c, ch) => {
3430
+ c[ch] = fixed[ch][idx];
3431
+ return c;
3432
+ }, { mode });
3433
+ });
3434
+ fixed = def.channels.reduce((res, ch) => {
3435
+ res[ch] = ccolors.map((c) => {
3436
+ let v = premap(c[ch], ch, c, mode);
3437
+ return isNaN(v) ? void 0 : v;
3438
+ });
3439
+ return res;
3440
+ }, {});
3441
+ }
3442
+ let interpolators = def.channels.reduce((res, ch) => {
3443
+ let ifn;
3444
+ if (isfn(overrides)) ifn = overrides;
3445
+ else if (isobj(overrides) && isfn(overrides[ch])) ifn = overrides[ch];
3446
+ else if (isobj(overrides) && isobj(overrides[ch]) && overrides[ch].use) ifn = overrides[ch].use;
3447
+ else if (isfn(def.interpolate[ch])) ifn = def.interpolate[ch];
3448
+ else if (isobj(def.interpolate[ch])) ifn = def.interpolate[ch].use;
3449
+ res[ch] = ifn(fixed[ch]);
3450
+ return res;
3451
+ }, {});
3452
+ let n = conv_colors.length - 1;
3453
+ return (t) => {
3454
+ t = Math.min(Math.max(0, t), 1);
3455
+ if (t <= positions[0]) return conv_colors[0];
3456
+ if (t > positions[n]) return conv_colors[n];
3457
+ let idx = 0;
3458
+ while (positions[idx] < t) idx++;
3459
+ let start = positions[idx - 1];
3460
+ let delta = positions[idx] - start;
3461
+ let P = (t - start) / delta;
3462
+ let fn = fns[idx] || fns[0];
3463
+ if (fn !== void 0) {
3464
+ if (isnum(fn)) fn = midpoint((fn - start) / delta);
3465
+ P = fn(P);
3466
+ }
3467
+ let t0 = (idx - 1 + P) / n;
3468
+ return def.channels.reduce((res, channel) => {
3469
+ let val = interpolators[channel](t0);
3470
+ if (val !== void 0) res[channel] = val;
3471
+ return res;
3472
+ }, { mode });
3473
+ };
3474
+ };
3475
+ var interpolate = (colors, mode = "rgb", overrides) => interpolate_fn(colors, mode, overrides);
3476
+ var interpolateWith = (premap, postmap) => (colors, mode = "rgb", overrides) => {
3477
+ let post = postmap ? mapper(postmap, mode) : void 0;
3478
+ let it = interpolate_fn(colors, mode, overrides, premap);
3479
+ return post ? (t) => post(it(t)) : it;
3480
+ };
3481
+ var interpolateWithPremultipliedAlpha = interpolateWith(mapAlphaMultiply, mapAlphaDivide);
3482
+ //#endregion
3483
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/interpolate/splineBasis.js
3484
+ var mod = (v, l) => (v + l) % l;
3485
+ var bspline = (Vim2, Vim1, Vi, Vip1, t) => {
3486
+ let t2 = t * t;
3487
+ let t3 = t2 * t;
3488
+ return ((1 - 3 * t + 3 * t2 - t3) * Vim2 + (4 - 6 * t2 + 3 * t3) * Vim1 + (1 + 3 * t + 3 * t2 - 3 * t3) * Vi + t3 * Vip1) / 6;
3489
+ };
3490
+ var interpolatorSplineBasis = (arr) => (t) => {
3491
+ let classes = arr.length - 1;
3492
+ let i = t >= 1 ? classes - 1 : Math.max(0, Math.floor(t * classes));
3493
+ return bspline(i > 0 ? arr[i - 1] : 2 * arr[i] - arr[i + 1], arr[i], arr[i + 1], i < classes - 1 ? arr[i + 2] : 2 * arr[i + 1] - arr[i], (t - i / classes) * classes);
3494
+ };
3495
+ var interpolatorSplineBasisClosed = (arr) => (t) => {
3496
+ const classes = arr.length - 1;
3497
+ const i = Math.floor(t * classes);
3498
+ return bspline(arr[mod(i - 1, arr.length)], arr[mod(i, arr.length)], arr[mod(i + 1, arr.length)], arr[mod(i + 2, arr.length)], (t - i / classes) * classes);
3499
+ };
3500
+ //#endregion
3501
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/interpolate/splineNatural.js
3502
+ var solve = (v) => {
3503
+ let i;
3504
+ let n = v.length - 1;
3505
+ let c = new Array(n);
3506
+ let _v = new Array(n);
3507
+ let sol = new Array(n);
3508
+ c[1] = 1 / 4;
3509
+ _v[1] = (6 * v[1] - v[0]) / 4;
3510
+ for (i = 2; i < n; ++i) {
3511
+ c[i] = 1 / (4 - c[i - 1]);
3512
+ _v[i] = (6 * v[i] - (i == n - 1 ? v[n] : 0) - _v[i - 1]) * c[i];
3513
+ }
3514
+ sol[0] = v[0];
3515
+ sol[n] = v[n];
3516
+ if (n - 1 > 0) sol[n - 1] = _v[n - 1];
3517
+ for (i = n - 2; i > 0; --i) sol[i] = _v[i] - c[i] * sol[i + 1];
3518
+ return sol;
3519
+ };
3520
+ var interpolatorSplineNatural = (arr) => interpolatorSplineBasis(solve(arr));
3521
+ var interpolatorSplineNaturalClosed = (arr) => interpolatorSplineBasisClosed(solve(arr));
3522
+ //#endregion
3523
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/interpolate/splineMonotone.js
3524
+ var sgn = Math.sign;
3525
+ var min = Math.min;
3526
+ var abs = Math.abs;
3527
+ var mono = (arr) => {
3528
+ let n = arr.length - 1;
3529
+ let s = [];
3530
+ let p = [];
3531
+ let yp = [];
3532
+ for (let i = 0; i < n; i++) {
3533
+ s.push((arr[i + 1] - arr[i]) * n);
3534
+ p.push(i > 0 ? .5 * (arr[i + 1] - arr[i - 1]) * n : void 0);
3535
+ yp.push(i > 0 ? (sgn(s[i - 1]) + sgn(s[i])) * min(abs(s[i - 1]), abs(s[i]), .5 * abs(p[i])) : void 0);
3536
+ }
3537
+ return [
3538
+ s,
3539
+ p,
3540
+ yp
3541
+ ];
3542
+ };
3543
+ var interpolator = (arr, yp, s) => {
3544
+ let n = arr.length - 1;
3545
+ let n2 = n * n;
3546
+ return (t) => {
3547
+ let i;
3548
+ if (t >= 1) i = n - 1;
3549
+ else i = Math.max(0, Math.floor(t * n));
3550
+ let t1 = t - i / n;
3551
+ let t2 = t1 * t1;
3552
+ let t3 = t2 * t1;
3553
+ return (yp[i] + yp[i + 1] - 2 * s[i]) * n2 * t3 + (3 * s[i] - 2 * yp[i] - yp[i + 1]) * n * t2 + yp[i] * t1 + arr[i];
3554
+ };
3555
+ };
3556
+ var interpolatorSplineMonotone = (arr) => {
3557
+ if (arr.length < 3) return interpolatorLinear(arr);
3558
+ let n = arr.length - 1;
3559
+ let [s, , yp] = mono(arr);
3560
+ yp[0] = s[0];
3561
+ yp[n] = s[n - 1];
3562
+ return interpolator(arr, yp, s);
3563
+ };
3564
+ var interpolatorSplineMonotone2 = (arr) => {
3565
+ if (arr.length < 3) return interpolatorLinear(arr);
3566
+ let n = arr.length - 1;
3567
+ let [s, p, yp] = mono(arr);
3568
+ p[0] = (arr[1] * 2 - arr[0] * 1.5 - arr[2] * .5) * n;
3569
+ p[n] = (arr[n] * 1.5 - arr[n - 1] * 2 + arr[n - 2] * .5) * n;
3570
+ yp[0] = p[0] * s[0] <= 0 ? 0 : abs(p[0]) > 2 * abs(s[0]) ? 2 * s[0] : p[0];
3571
+ yp[n] = p[n] * s[n - 1] <= 0 ? 0 : abs(p[n]) > 2 * abs(s[n - 1]) ? 2 * s[n - 1] : p[n];
3572
+ return interpolator(arr, yp, s);
3573
+ };
3574
+ var interpolatorSplineMonotoneClosed = (arr) => {
3575
+ let n = arr.length - 1;
3576
+ let [s, p, yp] = mono(arr);
3577
+ p[0] = .5 * (arr[1] - arr[n]) * n;
3578
+ p[n] = .5 * (arr[0] - arr[n - 1]) * n;
3579
+ let s_m1 = (arr[0] - arr[n]) * n;
3580
+ let s_n = s_m1;
3581
+ yp[0] = (sgn(s_m1) + sgn(s[0])) * min(abs(s_m1), abs(s[0]), .5 * abs(p[0]));
3582
+ yp[n] = (sgn(s[n - 1]) + sgn(s_n)) * min(abs(s[n - 1]), abs(s_n), .5 * abs(p[n]));
3583
+ return interpolator(arr, yp, s);
3584
+ };
3585
+ //#endregion
3586
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/easing/gamma.js
3587
+ var gamma = (γ = 1) => γ === 1 ? (t) => t : (t) => Math.pow(t, γ);
3588
+ //#endregion
3589
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/samples.js
3590
+ var samples = (n = 2, γ = 1) => {
3591
+ let ease = gamma(γ);
3592
+ if (n < 2) return n < 1 ? [] : [ease(.5)];
3593
+ let res = [];
3594
+ for (let i = 0; i < n; i++) res.push(ease(i / (n - 1)));
3595
+ return res;
3596
+ };
3597
+ //#endregion
3598
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/clamp.js
3599
+ var rgb$2 = converter("rgb");
3600
+ var fixup_rgb = (c) => {
3601
+ const res = {
3602
+ mode: c.mode,
3603
+ r: Math.max(0, Math.min(c.r !== void 0 ? c.r : 0, 1)),
3604
+ g: Math.max(0, Math.min(c.g !== void 0 ? c.g : 0, 1)),
3605
+ b: Math.max(0, Math.min(c.b !== void 0 ? c.b : 0, 1))
3606
+ };
3607
+ if (c.alpha !== void 0) res.alpha = c.alpha;
3608
+ return res;
3609
+ };
3610
+ var to_displayable_srgb = (c) => fixup_rgb(rgb$2(c));
3611
+ var inrange_rgb = (c) => {
3612
+ return c !== void 0 && (c.r === void 0 || c.r >= 0 && c.r <= 1) && (c.g === void 0 || c.g >= 0 && c.g <= 1) && (c.b === void 0 || c.b >= 0 && c.b <= 1);
3613
+ };
3614
+ function displayable(color) {
3615
+ return inrange_rgb(rgb$2(color));
3616
+ }
3617
+ function inGamut(mode = "rgb") {
3618
+ const { gamut } = getMode(mode);
3619
+ if (!gamut) return (color) => true;
3620
+ const conv = converter(typeof gamut === "string" ? gamut : mode);
3621
+ return (color) => inrange_rgb(conv(color));
3622
+ }
3623
+ function clampRgb(color) {
3624
+ color = prepare(color);
3625
+ if (color === void 0 || displayable(color)) return color;
3626
+ return converter(color.mode)(to_displayable_srgb(color));
3627
+ }
3628
+ function clampGamut(mode = "rgb") {
3629
+ const { gamut } = getMode(mode);
3630
+ if (!gamut) return (color) => prepare(color);
3631
+ const destMode = typeof gamut === "string" ? gamut : mode;
3632
+ const destConv = converter(destMode);
3633
+ const inDestGamut = inGamut(destMode);
3634
+ return (color) => {
3635
+ const original = prepare(color);
3636
+ if (!original) return;
3637
+ const converted = destConv(original);
3638
+ if (inDestGamut(converted)) return original;
3639
+ const clamped = fixup_rgb(converted);
3640
+ if (original.mode === clamped.mode) return clamped;
3641
+ return converter(original.mode)(clamped);
3642
+ };
3643
+ }
3644
+ function clampChroma(color, mode = "lch", rgbGamut = "rgb") {
3645
+ color = prepare(color);
3646
+ let inDestinationGamut = rgbGamut === "rgb" ? displayable : inGamut(rgbGamut);
3647
+ let clipToGamut = rgbGamut === "rgb" ? to_displayable_srgb : clampGamut(rgbGamut);
3648
+ if (color === void 0 || inDestinationGamut(color)) return color;
3649
+ let conv = converter(color.mode);
3650
+ color = converter(mode)(color);
3651
+ let clamped = {
3652
+ ...color,
3653
+ c: 0
3654
+ };
3655
+ if (!inDestinationGamut(clamped)) return conv(clipToGamut(clamped));
3656
+ let start = 0;
3657
+ let end = color.c !== void 0 ? color.c : 0;
3658
+ let range = getMode(mode).ranges.c;
3659
+ let resolution = (range[1] - range[0]) / Math.pow(2, 13);
3660
+ let _last_good_c = clamped.c;
3661
+ while (end - start > resolution) {
3662
+ clamped.c = start + (end - start) * .5;
3663
+ if (inDestinationGamut(clamped)) {
3664
+ _last_good_c = clamped.c;
3665
+ start = clamped.c;
3666
+ } else end = clamped.c;
3667
+ }
3668
+ return conv(inDestinationGamut(clamped) ? clamped : {
3669
+ ...clamped,
3670
+ c: _last_good_c
3671
+ });
3672
+ }
3673
+ function toGamut(dest = "rgb", mode = "oklch", delta = differenceEuclidean("oklch"), jnd = .02) {
3674
+ const destConv = converter(dest);
3675
+ const destMode = getMode(dest);
3676
+ if (!destMode.gamut) return (color) => destConv(color);
3677
+ const inDestinationGamut = inGamut(dest);
3678
+ const clipToGamut = clampGamut(dest);
3679
+ const ucs = converter(mode);
3680
+ const { ranges } = getMode(mode);
3681
+ if (!ranges.l || !ranges.c) throw new Error("LCH-like space expected");
3682
+ return (color) => {
3683
+ color = prepare(color);
3684
+ if (color === void 0) return;
3685
+ const candidate = { ...ucs(color) };
3686
+ if (candidate.l === void 0) candidate.l = 0;
3687
+ if (candidate.c === void 0) candidate.c = 0;
3688
+ if (candidate.l >= ranges.l[1]) {
3689
+ const res = {
3690
+ ...destMode.white,
3691
+ mode: dest
3692
+ };
3693
+ if (color.alpha !== void 0) res.alpha = color.alpha;
3694
+ return res;
3695
+ }
3696
+ if (candidate.l <= ranges.l[0]) {
3697
+ const res = {
3698
+ ...destMode.black,
3699
+ mode: dest
3700
+ };
3701
+ if (color.alpha !== void 0) res.alpha = color.alpha;
3702
+ return res;
3703
+ }
3704
+ if (inDestinationGamut(candidate)) return destConv(candidate);
3705
+ let start = 0;
3706
+ let end = candidate.c;
3707
+ let epsilon = (ranges.c[1] - ranges.c[0]) / 4e3;
3708
+ let clipped = clipToGamut(candidate);
3709
+ while (end - start > epsilon) {
3710
+ candidate.c = (start + end) * .5;
3711
+ clipped = clipToGamut(candidate);
3712
+ if (inDestinationGamut(candidate) || delta && jnd > 0 && delta(candidate, clipped) <= jnd) start = candidate.c;
3713
+ else end = candidate.c;
3714
+ }
3715
+ return destConv(inDestinationGamut(candidate) ? candidate : clipped);
3716
+ };
3717
+ }
3718
+ //#endregion
3719
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/nearest.js
3720
+ var nearest = (colors, metric = differenceEuclidean(), accessor = (d) => d) => {
3721
+ let arr = colors.map((c, idx) => ({
3722
+ color: accessor(c),
3723
+ i: idx
3724
+ }));
3725
+ return (color, n = 1, τ = Infinity) => {
3726
+ if (isFinite(n)) n = Math.max(1, Math.min(n, arr.length - 1));
3727
+ arr.forEach((c) => {
3728
+ c.d = metric(color, c.color);
3729
+ });
3730
+ return arr.sort((a, b) => a.d - b.d).slice(0, n).filter((c) => c.d < τ).map((c) => colors[c.i]);
3731
+ };
3732
+ };
3733
+ //#endregion
3734
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/filter.js
3735
+ var minzero = (v) => Math.max(v, 0);
3736
+ var clamp = (v) => Math.max(Math.min(v, 1), 0);
3737
+ var lerp$1 = (a, b, t) => a === void 0 || b === void 0 ? void 0 : a + t * (b - a);
3738
+ var matrixSepia = (amount) => {
3739
+ let a = 1 - clamp(amount);
3740
+ return [
3741
+ .393 + .607 * a,
3742
+ .769 - .769 * a,
3743
+ .189 - .189 * a,
3744
+ 0,
3745
+ .349 - .349 * a,
3746
+ .686 + .314 * a,
3747
+ .168 - .168 * a,
3748
+ 0,
3749
+ .272 - .272 * a,
3750
+ .534 - .534 * a,
3751
+ .131 + .869 * a,
3752
+ 0,
3753
+ 0,
3754
+ 0,
3755
+ 0,
3756
+ 1
3757
+ ];
3758
+ };
3759
+ var matrixSaturate = (sat) => {
3760
+ let s = minzero(sat);
3761
+ return [
3762
+ .213 + .787 * s,
3763
+ .715 - .715 * s,
3764
+ .072 - .072 * s,
3765
+ 0,
3766
+ .213 - .213 * s,
3767
+ .715 + .285 * s,
3768
+ .072 - .072 * s,
3769
+ 0,
3770
+ .213 - .213 * s,
3771
+ .715 - .715 * s,
3772
+ .072 + .928 * s,
3773
+ 0,
3774
+ 0,
3775
+ 0,
3776
+ 0,
3777
+ 1
3778
+ ];
3779
+ };
3780
+ var matrixGrayscale = (amount) => {
3781
+ let a = 1 - clamp(amount);
3782
+ return [
3783
+ .2126 + .7874 * a,
3784
+ .7152 - .7152 * a,
3785
+ .0722 - .0722 * a,
3786
+ 0,
3787
+ .2126 - .2126 * a,
3788
+ .7152 + .2848 * a,
3789
+ .0722 - .0722 * a,
3790
+ 0,
3791
+ .2126 - .2126 * a,
3792
+ .7152 - .7152 * a,
3793
+ .0722 + .9278 * a,
3794
+ 0,
3795
+ 0,
3796
+ 0,
3797
+ 0,
3798
+ 1
3799
+ ];
3800
+ };
3801
+ var matrixHueRotate = (degrees) => {
3802
+ let rad = Math.PI * degrees / 180;
3803
+ let c = Math.cos(rad);
3804
+ let s = Math.sin(rad);
3805
+ return [
3806
+ .213 + c * .787 - s * .213,
3807
+ .715 - c * .715 - s * .715,
3808
+ .072 - c * .072 + s * .928,
3809
+ 0,
3810
+ .213 - c * .213 + s * .143,
3811
+ .715 + c * .285 + s * .14,
3812
+ .072 - c * .072 - s * .283,
3813
+ 0,
3814
+ .213 - c * .213 - s * .787,
3815
+ .715 - c * .715 + s * .715,
3816
+ .072 + c * .928 + s * .072,
3817
+ 0,
3818
+ 0,
3819
+ 0,
3820
+ 0,
3821
+ 1
3822
+ ];
3823
+ };
3824
+ var matrix = (values, mode, preserve_mode = false) => {
3825
+ let conv = converter(mode);
3826
+ let channels = getMode(mode).channels;
3827
+ return (color) => {
3828
+ let c = conv(color);
3829
+ if (!c) return;
3830
+ let res = { mode };
3831
+ let ch;
3832
+ let count = channels.length;
3833
+ for (let i = 0; i < values.length; i++) {
3834
+ ch = channels[Math.floor(i / count)];
3835
+ if (c[ch] === void 0) continue;
3836
+ res[ch] = (res[ch] || 0) + values[i] * (c[channels[i % count]] || 0);
3837
+ }
3838
+ if (!preserve_mode) return res;
3839
+ let prep = prepare(color);
3840
+ return prep && res.mode !== prep.mode ? converter(prep.mode)(res) : res;
3841
+ };
3842
+ };
3843
+ var filterBrightness = (amt = 1, mode = "rgb") => {
3844
+ return mapper(mapTransferLinear(minzero(amt)), mode, true);
3845
+ };
3846
+ var filterContrast = (amt = 1, mode = "rgb") => {
3847
+ let a = minzero(amt);
3848
+ return mapper(mapTransferLinear(a, (1 - a) / 2), mode, true);
3849
+ };
3850
+ var filterSepia = (amt = 1, mode = "rgb") => matrix(matrixSepia(amt), mode, true);
3851
+ var filterSaturate = (amt = 1, mode = "rgb") => matrix(matrixSaturate(amt), mode, true);
3852
+ var filterGrayscale = (amt = 1, mode = "rgb") => matrix(matrixGrayscale(amt), mode, true);
3853
+ var filterInvert = (amt = 1, mode = "rgb") => {
3854
+ let a = clamp(amt);
3855
+ return mapper((v, ch) => ch === "alpha" ? v : lerp$1(a, 1 - a, v), mode, true);
3856
+ };
3857
+ var filterHueRotate = (deg = 0, mode = "rgb") => matrix(matrixHueRotate(deg), mode, true);
3858
+ //#endregion
3859
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/deficiency.js
3860
+ var rgb$1 = converter("rgb");
3861
+ var PROT = [
3862
+ [
3863
+ 1,
3864
+ 0,
3865
+ -0,
3866
+ 0,
3867
+ 1,
3868
+ 0,
3869
+ -0,
3870
+ -0,
3871
+ 1
3872
+ ],
3873
+ [
3874
+ .856167,
3875
+ .182038,
3876
+ -.038205,
3877
+ .029342,
3878
+ .955115,
3879
+ .015544,
3880
+ -.00288,
3881
+ -.001563,
3882
+ 1.004443
3883
+ ],
3884
+ [
3885
+ .734766,
3886
+ .334872,
3887
+ -.069637,
3888
+ .05184,
3889
+ .919198,
3890
+ .028963,
3891
+ -.004928,
3892
+ -.004209,
3893
+ 1.009137
3894
+ ],
3895
+ [
3896
+ .630323,
3897
+ .465641,
3898
+ -.095964,
3899
+ .069181,
3900
+ .890046,
3901
+ .040773,
3902
+ -.006308,
3903
+ -.007724,
3904
+ 1.014032
3905
+ ],
3906
+ [
3907
+ .539009,
3908
+ .579343,
3909
+ -.118352,
3910
+ .082546,
3911
+ .866121,
3912
+ .051332,
3913
+ -.007136,
3914
+ -.011959,
3915
+ 1.019095
3916
+ ],
3917
+ [
3918
+ .458064,
3919
+ .679578,
3920
+ -.137642,
3921
+ .092785,
3922
+ .846313,
3923
+ .060902,
3924
+ -.007494,
3925
+ -.016807,
3926
+ 1.024301
3927
+ ],
3928
+ [
3929
+ .38545,
3930
+ .769005,
3931
+ -.154455,
3932
+ .100526,
3933
+ .829802,
3934
+ .069673,
3935
+ -.007442,
3936
+ -.02219,
3937
+ 1.029632
3938
+ ],
3939
+ [
3940
+ .319627,
3941
+ .849633,
3942
+ -.169261,
3943
+ .106241,
3944
+ .815969,
3945
+ .07779,
3946
+ -.007025,
3947
+ -.028051,
3948
+ 1.035076
3949
+ ],
3950
+ [
3951
+ .259411,
3952
+ .923008,
3953
+ -.18242,
3954
+ .110296,
3955
+ .80434,
3956
+ .085364,
3957
+ -.006276,
3958
+ -.034346,
3959
+ 1.040622
3960
+ ],
3961
+ [
3962
+ .203876,
3963
+ .990338,
3964
+ -.194214,
3965
+ .112975,
3966
+ .794542,
3967
+ .092483,
3968
+ -.005222,
3969
+ -.041043,
3970
+ 1.046265
3971
+ ],
3972
+ [
3973
+ .152286,
3974
+ 1.052583,
3975
+ -.204868,
3976
+ .114503,
3977
+ .786281,
3978
+ .099216,
3979
+ -.003882,
3980
+ -.048116,
3981
+ 1.051998
3982
+ ]
3983
+ ];
3984
+ var DEUTER = [
3985
+ [
3986
+ 1,
3987
+ 0,
3988
+ -0,
3989
+ 0,
3990
+ 1,
3991
+ 0,
3992
+ -0,
3993
+ -0,
3994
+ 1
3995
+ ],
3996
+ [
3997
+ .866435,
3998
+ .177704,
3999
+ -.044139,
4000
+ .049567,
4001
+ .939063,
4002
+ .01137,
4003
+ -.003453,
4004
+ .007233,
4005
+ .99622
4006
+ ],
4007
+ [
4008
+ .760729,
4009
+ .319078,
4010
+ -.079807,
4011
+ .090568,
4012
+ .889315,
4013
+ .020117,
4014
+ -.006027,
4015
+ .013325,
4016
+ .992702
4017
+ ],
4018
+ [
4019
+ .675425,
4020
+ .43385,
4021
+ -.109275,
4022
+ .125303,
4023
+ .847755,
4024
+ .026942,
4025
+ -.00795,
4026
+ .018572,
4027
+ .989378
4028
+ ],
4029
+ [
4030
+ .605511,
4031
+ .52856,
4032
+ -.134071,
4033
+ .155318,
4034
+ .812366,
4035
+ .032316,
4036
+ -.009376,
4037
+ .023176,
4038
+ .9862
4039
+ ],
4040
+ [
4041
+ .547494,
4042
+ .607765,
4043
+ -.155259,
4044
+ .181692,
4045
+ .781742,
4046
+ .036566,
4047
+ -.01041,
4048
+ .027275,
4049
+ .983136
4050
+ ],
4051
+ [
4052
+ .498864,
4053
+ .674741,
4054
+ -.173604,
4055
+ .205199,
4056
+ .754872,
4057
+ .039929,
4058
+ -.011131,
4059
+ .030969,
4060
+ .980162
4061
+ ],
4062
+ [
4063
+ .457771,
4064
+ .731899,
4065
+ -.18967,
4066
+ .226409,
4067
+ .731012,
4068
+ .042579,
4069
+ -.011595,
4070
+ .034333,
4071
+ .977261
4072
+ ],
4073
+ [
4074
+ .422823,
4075
+ .781057,
4076
+ -.203881,
4077
+ .245752,
4078
+ .709602,
4079
+ .044646,
4080
+ -.011843,
4081
+ .037423,
4082
+ .974421
4083
+ ],
4084
+ [
4085
+ .392952,
4086
+ .82361,
4087
+ -.216562,
4088
+ .263559,
4089
+ .69021,
4090
+ .046232,
4091
+ -.01191,
4092
+ .040281,
4093
+ .97163
4094
+ ],
4095
+ [
4096
+ .367322,
4097
+ .860646,
4098
+ -.227968,
4099
+ .280085,
4100
+ .672501,
4101
+ .047413,
4102
+ -.01182,
4103
+ .04294,
4104
+ .968881
4105
+ ]
4106
+ ];
4107
+ var TRIT = [
4108
+ [
4109
+ 1,
4110
+ 0,
4111
+ -0,
4112
+ 0,
4113
+ 1,
4114
+ 0,
4115
+ -0,
4116
+ -0,
4117
+ 1
4118
+ ],
4119
+ [
4120
+ .92667,
4121
+ .092514,
4122
+ -.019184,
4123
+ .021191,
4124
+ .964503,
4125
+ .014306,
4126
+ .008437,
4127
+ .054813,
4128
+ .93675
4129
+ ],
4130
+ [
4131
+ .89572,
4132
+ .13333,
4133
+ -.02905,
4134
+ .029997,
4135
+ .9454,
4136
+ .024603,
4137
+ .013027,
4138
+ .104707,
4139
+ .882266
4140
+ ],
4141
+ [
4142
+ .905871,
4143
+ .127791,
4144
+ -.033662,
4145
+ .026856,
4146
+ .941251,
4147
+ .031893,
4148
+ .01341,
4149
+ .148296,
4150
+ .838294
4151
+ ],
4152
+ [
4153
+ .948035,
4154
+ .08949,
4155
+ -.037526,
4156
+ .014364,
4157
+ .946792,
4158
+ .038844,
4159
+ .010853,
4160
+ .193991,
4161
+ .795156
4162
+ ],
4163
+ [
4164
+ 1.017277,
4165
+ .027029,
4166
+ -.044306,
4167
+ -.006113,
4168
+ .958479,
4169
+ .047634,
4170
+ .006379,
4171
+ .248708,
4172
+ .744913
4173
+ ],
4174
+ [
4175
+ 1.104996,
4176
+ -.046633,
4177
+ -.058363,
4178
+ -.032137,
4179
+ .971635,
4180
+ .060503,
4181
+ .001336,
4182
+ .317922,
4183
+ .680742
4184
+ ],
4185
+ [
4186
+ 1.193214,
4187
+ -.109812,
4188
+ -.083402,
4189
+ -.058496,
4190
+ .97941,
4191
+ .079086,
4192
+ -.002346,
4193
+ .403492,
4194
+ .598854
4195
+ ],
4196
+ [
4197
+ 1.257728,
4198
+ -.139648,
4199
+ -.118081,
4200
+ -.078003,
4201
+ .975409,
4202
+ .102594,
4203
+ -.003316,
4204
+ .501214,
4205
+ .502102
4206
+ ],
4207
+ [
4208
+ 1.278864,
4209
+ -.125333,
4210
+ -.153531,
4211
+ -.084748,
4212
+ .957674,
4213
+ .127074,
4214
+ -989e-6,
4215
+ .601151,
4216
+ .399838
4217
+ ],
4218
+ [
4219
+ 1.255528,
4220
+ -.076749,
4221
+ -.178779,
4222
+ -.078411,
4223
+ .930809,
4224
+ .147602,
4225
+ .004733,
4226
+ .691367,
4227
+ .3039
4228
+ ]
4229
+ ];
4230
+ var deficiency = (lut, t) => {
4231
+ let tt = Math.max(0, Math.min(1, t));
4232
+ let i = Math.round(tt / .1);
4233
+ let w = Math.round(tt % .1);
4234
+ let arr = lut[i];
4235
+ if (w > 0 && i < lut.length - 1) {
4236
+ let arr_2 = lut[i + 1];
4237
+ arr = arr.map((v, idx) => lerp(arr[idx], arr_2[idx], w));
4238
+ }
4239
+ return (color) => {
4240
+ let c = prepare(color);
4241
+ if (c === void 0) return;
4242
+ let { r, g, b } = rgb$1(c);
4243
+ let ret = {
4244
+ mode: "rgb",
4245
+ r: arr[0] * r + arr[1] * g + arr[2] * b,
4246
+ g: arr[3] * r + arr[4] * g + arr[5] * b,
4247
+ b: arr[6] * r + arr[7] * g + arr[8] * b
4248
+ };
4249
+ if (c.alpha !== void 0) ret.alpha = c.alpha;
4250
+ return converter(c.mode)(ret);
4251
+ };
4252
+ };
4253
+ var filterDeficiencyProt = (severity = 1) => deficiency(PROT, severity);
4254
+ var filterDeficiencyDeuter = (severity = 1) => deficiency(DEUTER, severity);
4255
+ var filterDeficiencyTrit = (severity = 1) => deficiency(TRIT, severity);
4256
+ //#endregion
4257
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/easing/smoothstep.js
4258
+ var easingSmoothstep = (t) => t * t * (3 - 2 * t);
4259
+ var easingSmoothstepInverse = (t) => .5 - Math.sin(Math.asin(1 - 2 * t) / 3);
4260
+ //#endregion
4261
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/easing/smootherstep.js
4262
+ var smootherstep = (t) => t * t * t * (t * (t * 6 - 15) + 10);
4263
+ //#endregion
4264
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/easing/inOutSine.js
4265
+ var inOutSine = (t) => (1 - Math.cos(t * Math.PI)) / 2;
4266
+ //#endregion
4267
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/wcag.js
4268
+ function luminance(color) {
4269
+ let c = converter("lrgb")(color);
4270
+ return .2126 * c.r + .7152 * c.g + .0722 * c.b;
4271
+ }
4272
+ function contrast(a, b) {
4273
+ let L1 = luminance(a);
4274
+ let L2 = luminance(b);
4275
+ return (Math.max(L1, L2) + .05) / (Math.min(L1, L2) + .05);
4276
+ }
4277
+ //#endregion
4278
+ //#region ../../home/cosmin/Work/maizzle/framework/node_modules/culori/src/index.js
4279
+ var a98 = useMode(definition);
4280
+ var cubehelix = useMode(definition$1);
4281
+ var dlab = useMode(definition$2);
4282
+ var dlch = useMode(definition$3);
4283
+ var hsi = useMode(definition$4);
4284
+ var hsl = useMode(definition$5);
4285
+ var hsv = useMode(definition$6);
4286
+ var hwb = useMode(definition$7);
4287
+ var itp = useMode(definition$8);
4288
+ var jab = useMode(definition$9);
4289
+ var jch = useMode(definition$10);
4290
+ var lab = useMode(definition$11);
4291
+ var lab65 = useMode(definition$12);
4292
+ var lch = useMode(definition$13);
4293
+ var lch65 = useMode(definition$14);
4294
+ var lchuv = useMode(definition$15);
4295
+ var lrgb = useMode(definition$16);
4296
+ var luv = useMode(definition$17);
4297
+ var okhsl = useMode(modeOkhsl);
4298
+ var okhsv = useMode(modeOkhsv);
4299
+ var oklab = useMode(definition$18);
4300
+ var oklch = useMode(definition$19);
4301
+ var p3 = useMode(definition$20);
4302
+ var prophoto = useMode(definition$21);
4303
+ var rec2020 = useMode(definition$22);
4304
+ var rgb = useMode(definition$23);
4305
+ var xyb = useMode(definition$24);
4306
+ var xyz50 = useMode(definition$25);
4307
+ var xyz65 = useMode(definition$26);
4308
+ var yiq = useMode(definition$27);
4309
+ //#endregion
4310
+ export { a98, average, averageAngle, averageNumber, blend, blerp, clampChroma, clampGamut, clampRgb, named as colorsNamed, convertA98ToXyz65, convertCubehelixToRgb, convertDlchToLab65, convertHsiToRgb, convertHslToRgb, convertHsvToRgb, convertHwbToRgb, convertItpToXyz65, convertJabToJch, convertJabToRgb, convertJabToXyz65, convertJchToJab, convertLab65ToDlch, convertLab65ToRgb, convertLab65ToXyz65, convertLabToLch, convertLabToRgb, convertLabToXyz50, convertLchToLab, convertLchuvToLuv, convertLrgbToOklab, convertLrgbToRgb, convertLuvToLchuv, convertLuvToXyz50, convertOkhslToOklab, convertOkhsvToOklab, convertOklabToLrgb, convertOklabToOkhsl, convertOklabToOkhsv, convertOklabToRgb, convertP3ToXyz65, convertProphotoToXyz50, convertRec2020ToXyz65, convertRgbToCubehelix, convertRgbToHsi, convertRgbToHsl, convertRgbToHsv, convertRgbToHwb, convertRgbToJab, convertRgbToLab, convertRgbToLab65, convertRgbToLrgb, convertRgbToOklab, convertRgbToXyb, convertRgbToXyz50, convertRgbToXyz65, convertRgbToYiq, convertXybToRgb, convertXyz50ToLab, convertXyz50ToLuv, convertXyz50ToProphoto, convertXyz50ToRgb, convertXyz50ToXyz65, convertXyz65ToA98, convertXyz65ToItp, convertXyz65ToJab, convertXyz65ToLab65, convertXyz65ToP3, convertXyz65ToRec2020, convertXyz65ToRgb, convertXyz65ToXyz50, convertYiqToRgb, converter, cubehelix, differenceCie76, differenceCie94, differenceCiede2000, differenceCmc, differenceEuclidean, differenceHueChroma, differenceHueNaive, differenceHueSaturation, differenceHyab, differenceItp, differenceKotsarenkoRamos, displayable, dlab, dlch, gamma as easingGamma, inOutSine as easingInOutSine, midpoint as easingMidpoint, smootherstep as easingSmootherstep, easingSmoothstep, easingSmoothstepInverse, filterBrightness, filterContrast, filterDeficiencyDeuter, filterDeficiencyProt, filterDeficiencyTrit, filterGrayscale, filterHueRotate, filterInvert, filterSaturate, filterSepia, fixupAlpha, fixupHueDecreasing, fixupHueIncreasing, fixupHueLonger, fixupHueShorter, formatCss, formatHex, formatHex8, formatHsl, formatRgb, getMode, hsi, hsl, hsv, hwb, inGamut, interpolate, interpolateWith, interpolateWithPremultipliedAlpha, interpolatorLinear, interpolatorPiecewise, interpolatorSplineBasis, interpolatorSplineBasisClosed, interpolatorSplineMonotone, interpolatorSplineMonotone2, interpolatorSplineMonotoneClosed, interpolatorSplineNatural, interpolatorSplineNaturalClosed, itp, jab, jch, lab, lab65, lch, lch65, lchuv, lerp, lrgb, luv, mapAlphaDivide, mapAlphaMultiply, mapTransferGamma, mapTransferLinear, mapper, definition as modeA98, definition$1 as modeCubehelix, definition$2 as modeDlab, definition$3 as modeDlch, definition$4 as modeHsi, definition$5 as modeHsl, definition$6 as modeHsv, definition$7 as modeHwb, definition$8 as modeItp, definition$9 as modeJab, definition$10 as modeJch, definition$11 as modeLab, definition$12 as modeLab65, definition$13 as modeLch, definition$14 as modeLch65, definition$15 as modeLchuv, definition$16 as modeLrgb, definition$17 as modeLuv, modeOkhsl, modeOkhsv, definition$18 as modeOklab, definition$19 as modeOklch, definition$20 as modeP3, definition$21 as modeProphoto, definition$22 as modeRec2020, definition$23 as modeRgb, definition$24 as modeXyb, definition$25 as modeXyz50, definition$26 as modeXyz65, definition$27 as modeYiq, nearest, okhsl, okhsv, oklab, oklch, p3, parse, parseHex, parseHsl, parseHslLegacy, ParseHwb as parseHwb, parseLab, parseLch, parseNamed, parseOklab, parseOklch, parseRgb, parseRgbLegacy, parseTransparent, prophoto, random, rec2020, removeParser, rgb, round, samples, serializeHex, serializeHex8, serializeHsl, serializeRgb, toGamut, trilerp, unlerp, useMode, useParser, contrast as wcagContrast, luminance as wcagLuminance, xyb, xyz50, xyz65, yiq };
4311
+
4312
+ //# sourceMappingURL=culori.js.map