From c6ad9f4b8c74e55943d4ff7eb6225d23c287c4d1 Mon Sep 17 00:00:00 2001 From: Dean Tarisai Date: Fri, 22 Mar 2024 09:40:11 +0200 Subject: [PATCH 1/2] Refactored the docs CSS to fix some quirks --- demo.js | 76 ++++++++++++++++++++++++++++ demo/demo.js | 75 +++++++++++++++++++++++++++ demo/sample.png | Bin 0 -> 60804 bytes docs/assets/js/main.js | 2 + docs/assets/xml/layouts/base.njk | 4 +- docs/assets/xml/partials/navbar.njk | 7 +-- docs/assets/xml/views/demo.njk | 25 ++++----- docs/assets/xml/views/post.njk | 17 ++++--- 8 files changed, 179 insertions(+), 27 deletions(-) create mode 100644 demo.js create mode 100644 demo/demo.js create mode 100644 demo/sample.png diff --git a/demo.js b/demo.js new file mode 100644 index 00000000..72811bf8 --- /dev/null +++ b/demo.js @@ -0,0 +1,76 @@ +import * as huetiful from '../src/index.js'; +import { log } from 'console'; + +// (1. Parsing color tokens to different types +var [colArrWithAlpha, colorObj, namedColor, colorNum, colorHex, sample] = [ + ['rgb', 100, 30, 80, 0.2], + { l: 20, c: 40, h: 80, mode: 'lch' }, + pink, + 6000, + '#fc3ba1', + [ + '#00ffdc', + '#00ff78', + '#00c000', + '#007e00', + '#164100', + '#ffff00', + '#310000', + '#3e0000', + '#4e0000', + '#600000', + '#720000' + ] +]; + +log(huetiful.color2hex(colorObj)); +log(huetiful.num2color(colorNum)); +log(huetiful.toCIE('lab')(namedColor)); +log(huetiful.color2hex(colArrWithAlpha)); +log(huetiful.color2tuple(colorHex, 'oklch')); + +// (2. Fetching swatches from bundled color maps +let swatches = huetiful.tailwindColors('all', '400'); +log(swatches); +// (3. Getting and setting properties + +// Setting luminance +let setLum = huetiful.setLuminance(colArrWithAlpha, 0.5); + +// Check the color's initial luminance +log(huetiful.getLuminance(colArrWithAlpha)); + +log(huetiful.getLuminance(setLum)); + +// (4. Sorting and filtering collections of color + +// sort colors by hue angle in descending order +console.log(huetiful.sortByHue(sample, 'desc')); + +// Filter out colors that have chroma channel below 0.1 +console.log(filterByChroma(sample, 0.1)); + +// (5. Getting the stats of color attributes in a collection + +let [meanHue, meanDistance] = [ + huetiful.getMeanHue(sample, 'lch'), + huetiful.getMeanDistance(sample, 'blue') +]; + +// log the mean hue angle from the collection +log(meanHue); + +// log the mean distance between colors in the collection +log(meanDistance); + +// (6. Method chaining + +// Chaining collection methods +let chain1 = huetiful + .load(sample) + .filterByHue(30, 80) + .sortByHue('desc') + .output(); + +// Chaining color methods we first convert it to a pastel color and then return the color visision deficiency simulation of the color for someone who has trouble seeing red. +let chain2 = huetiful.color(colorHex).pastel().deficiency('red', 0.4); diff --git a/demo/demo.js b/demo/demo.js new file mode 100644 index 00000000..d5622e8f --- /dev/null +++ b/demo/demo.js @@ -0,0 +1,75 @@ +import * as huetiful from '../src/index.js'; +import { log } from 'console'; + +// (1. Parsing color tokens to different types +var [colArrWithAlpha, colorObj, namedColor, colorNum, colorHex, sample] = [ + ['rgb', 100, 30, 80, 0.2], + { l: 20, c: 40, h: 80, mode: 'lch' }, + 'pink', + 6000, + '#fc3ba1', + [ + '#00ffdc', + '#00ff78', + '#00c000', + '#007e00', + '#164100', + '#ffff00', + '#310000', + '#3e0000', + '#4e0000', + '#600000', + '#720000' + ] +]; + +log(huetiful.color2hex(colorObj)); +log(huetiful.num2color(colorNum)); +log(huetiful.color2hex(colArrWithAlpha)); +log(huetiful.color2tuple(colorHex, 'oklch')); + +// (2. Fetching swatches from bundled color maps +let swatches = huetiful.tailwindColors('all', '400'); +log(swatches); +// (3. Getting and setting properties + +// Setting luminance +let setLum = huetiful.setLuminance(colArrWithAlpha, 0.5); + +// Check the color's initial luminance +log(huetiful.getLuminance(colArrWithAlpha)); + +log(huetiful.getLuminance(setLum)); + +// (4. Sorting and filtering collections of color + +// sort colors by hue angle in descending order +console.log(huetiful.sortByHue(sample, 'desc')); + +// Filter out colors that have chroma channel below 0.1 +console.log(huetiful.filterByChroma(sample, 0.1)); + +// (5. Getting the stats of color attributes in a collection + +let [meanHue, meanDistance] = [ + huetiful.getMeanHue(sample, 'lch'), + huetiful.getMeanDistance(sample, 'blue') +]; + +// log the mean hue angle from the collection +log(meanHue); + +// log the mean distance between colors in the collection +log(meanDistance); + +// (6. Method chaining + +// Chaining collection methods +let chain1 = huetiful + .load(sample) + .filterByHue(30, 80) + .sortByHue('desc') + .output(); + +// Chaining color methods we first convert it to a pastel color and then return the color visision deficiency simulation of the color for someone who has trouble seeing red. +let chain2 = huetiful.color(colorHex).pastel().deficiency('red', 0.4); diff --git a/demo/sample.png b/demo/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1b168ea78f276a4d238f37aae39e32db18138c GIT binary patch literal 60804 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 literal 0 HcmV?d00001 diff --git a/docs/assets/js/main.js b/docs/assets/js/main.js index 9928506b..6619cac1 100644 --- a/docs/assets/js/main.js +++ b/docs/assets/js/main.js @@ -23,6 +23,8 @@ function setProgress() { progressBar.style.width = width; } +setProgress(); + window.addEventListener('scroll', setProgress); /* Dark/light mode toggle */ diff --git a/docs/assets/xml/layouts/base.njk b/docs/assets/xml/layouts/base.njk index a8bf601a..f025e477 100644 --- a/docs/assets/xml/layouts/base.njk +++ b/docs/assets/xml/layouts/base.njk @@ -2,7 +2,7 @@ {% include "partials/head.njk" %} - + {% include "partials/navbar.njk" %} {% block content %} {% endblock content %} @@ -60,7 +60,7 @@
-
+

+
-

+
\ No newline at end of file diff --git a/docs/assets/xml/views/demo.njk b/docs/assets/xml/views/demo.njk index f275d424..ba00930d 100644 --- a/docs/assets/xml/views/demo.njk +++ b/docs/assets/xml/views/demo.njk @@ -3,35 +3,30 @@ {% block content %} {% for mod,prop in demoData %} -
+
-

{{mod}}

+

{{mod}}

{{prop.description}}

{% for func,props in prop.specs %}

{{func}}

-

{{props.description}}

-
-
Parameters:
-

-            {{props.params}}
-        
-
-
-
+

{{props.description}}

+

Output:

+
{% if isColorCollection(props.expect) %} {% for color in props.expect %} -
+
-

{{color}}

{% endfor %} {% else %} -
-

{{props.expect}}

+
+
+

{{color}}

+
{% endif %} diff --git a/docs/assets/xml/views/post.njk b/docs/assets/xml/views/post.njk index 35c2e5fe..0dd2622d 100644 --- a/docs/assets/xml/views/post.njk +++ b/docs/assets/xml/views/post.njk @@ -5,15 +5,17 @@ {% block content %}
-
+
- + + @@ -23,7 +25,8 @@ -
last updated +
last updated +

{{data.lastUpdated}}

@@ -36,12 +39,12 @@ From 16431f1cd7e212b62aa758ae413320e2e19ddff2 Mon Sep 17 00:00:00 2001 From: Dean Tarisai Date: Fri, 22 Mar 2024 17:23:46 +0200 Subject: [PATCH 2/2] Release v2.1.0 --- docs/assets/gulpfile.js | 10 +- docs/assets/js/docs.cjs | 1 - docs/assets/pages/api.md | 20 +-- docs/assets/tailwind.config.js | 1 - docs/assets/xml/layouts/base.njk | 2 +- docs/assets/xml/partials/pagination.njk | 15 +- docs/assets/xml/views/demo.njk | 19 ++- docs/assets/xml/views/post.njk | 63 ++++--- docs/www/api/accessibility/index.html | 88 +++++----- docs/www/api/colors/index.html | 88 +++++----- docs/www/api/converters/index.html | 90 +++++----- docs/www/api/filterBy/index.html | 90 +++++----- docs/www/api/generators/index.html | 90 +++++----- docs/www/api/index.html | 31 ++-- docs/www/api/sortBy/index.html | 90 +++++----- docs/www/api/stats/index.html | 90 +++++----- docs/www/api/types/index.html | 90 +++++----- docs/www/api/utils/index.html | 90 +++++----- docs/www/api/wrappers/index.html | 90 +++++----- docs/www/assets/css/huetiful.css | 87 +++++++--- docs/www/assets/js/main.js | 2 + docs/www/demo.html | 217 ++++++++---------------- docs/www/index.html | 11 +- 23 files changed, 695 insertions(+), 680 deletions(-) diff --git a/docs/assets/gulpfile.js b/docs/assets/gulpfile.js index f291ad14..07d19d45 100644 --- a/docs/assets/gulpfile.js +++ b/docs/assets/gulpfile.js @@ -63,17 +63,17 @@ export async function xml() { path: ['./xml/'], manageEnv: ApiDocsEnv(srcFile, { previous: { - href: idx > 0 ? `/api/${moduleNames[--idx]}` : '/index.html', - title: idx > 0 ? moduleNames[--idx] : `Return to home page` + href: idx > 0 ? `/api/${moduleNames[idx - 1]}` : '/index.html', + title: idx > 0 ? moduleNames[idx - 1] : `Return to home page` }, next: { href: idx < moduleNames.length - ? `/api/${moduleNames[++idx]}` + ? `/api/${moduleNames[idx + 1]}` : `/api`, title: - idx < moduleNames.length - ? moduleNames[++idx] + idx <= moduleNames.length + ? moduleNames[idx + 1] : `Return to home page` } }), diff --git a/docs/assets/js/docs.cjs b/docs/assets/js/docs.cjs index 4f10db11..407e8f93 100644 --- a/docs/assets/js/docs.cjs +++ b/docs/assets/js/docs.cjs @@ -123,7 +123,6 @@ function generateDocs(source, cb = null) { // Loop through the markdown files for modules function buildDataObject(sourceModule, markupTransform = null) { var time = new Intl.DateTimeFormat('en-US', { - weekday: 'long', month: 'short', day: 'numeric', diff --git a/docs/assets/pages/api.md b/docs/assets/pages/api.md index 914d5d4d..a0313ba6 100644 --- a/docs/assets/pages/api.md +++ b/docs/assets/pages/api.md @@ -4,13 +4,13 @@ The library is split into individual modules each with functions that have the s ### Modules -- [accessibility](api/accessibility) -- [colors](api/colors) -- [converters](api/converters) -- [filterBy](api/filterBy) -- [generators](api/generators) -- [sortBy](api/sortBy) -- [stats](api/stats) -- [types](api/types) -- [utils](api/utils) -- [wrappers](api/wrappers) +- [accessibility](accessibility) +- [colors](colors) +- [converters](converters) +- [filterBy](filterBy) +- [generators](generators) +- [sortBy](sortBy) +- [stats](stats) +- [types](types) +- [utils](utils) +- [wrappers](wrappers) diff --git a/docs/assets/tailwind.config.js b/docs/assets/tailwind.config.js index cef6284e..b0564eda 100644 --- a/docs/assets/tailwind.config.js +++ b/docs/assets/tailwind.config.js @@ -46,7 +46,6 @@ export default { backdropSepia: ({ theme }) => theme('sepia'), backgroundColor: ({ theme }) => theme('colors'), backgroundImage: { - 'hero-home': 'url(assets/img/night-sky-over-mountains.jpg)', none: 'none', 'gradient-to-t': 'linear-gradient(to top, var(--tw-gradient-stops))', 'gradient-to-tr': diff --git a/docs/assets/xml/layouts/base.njk b/docs/assets/xml/layouts/base.njk index f025e477..f744dc5f 100644 --- a/docs/assets/xml/layouts/base.njk +++ b/docs/assets/xml/layouts/base.njk @@ -2,7 +2,7 @@ {% include "partials/head.njk" %} - + {% include "partials/navbar.njk" %} {% block content %} {% endblock content %} diff --git a/docs/assets/xml/partials/pagination.njk b/docs/assets/xml/partials/pagination.njk index b851a6a8..aef2d4a3 100644 --- a/docs/assets/xml/partials/pagination.njk +++ b/docs/assets/xml/partials/pagination.njk @@ -1,12 +1,13 @@
- - - -
{{page.previous.title}}
+
+ + +
{{page.previous.title}} +
+

{{mod}}

@@ -11,22 +11,23 @@ {% for func,props in prop.specs %}

{{func}}

-

{{props.description}}

-

Output:

-
+
{% include "./partials/pagination.njk" %} diff --git a/docs/www/api/accessibility/index.html b/docs/www/api/accessibility/index.html index 8bad2ecb..ba743067 100644 --- a/docs/www/api/accessibility/index.html +++ b/docs/www/api/accessibility/index.html @@ -14,10 +14,10 @@ - -
+ +
-
+
-
- -

Module ๐Ÿ“ฆ: accessibility

+ +

Module ๐Ÿ“ฆ: accessibility

Table of contents ๐Ÿ“‘

Functions ๐Ÿงฐ

- - - -
Return to home page
+
+ + +
Return to home page +
stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"> -
converters
+
colors
@@ -258,7 +262,7 @@
-
+

- -

+ +
-
+
-
- -

Module ๐Ÿ“ฆ: colors

+ +

Module ๐Ÿ“ฆ: colors

Table of contents ๐Ÿ“‘

Functions ๐Ÿงฐ

    @@ -387,21 +390,22 @@

    Returns ๐Ÿ”™

    Defined in ๐Ÿ“

    colors.d.ts:150

    - +
- - - -
Return to home page
+
+ + +
accessibility +
- @@ -467,7 +471,7 @@
-
+

- -

+ +
-
+
-
- -

Module ๐Ÿ“ฆ: converters

+ +

Module ๐Ÿ“ฆ: converters

Table of contents ๐Ÿ“‘

Functions ๐Ÿงฐ

- - - -
accessibility
+
+ + +
colors +
- -
converters
+
filterBy
@@ -612,7 +616,7 @@
-
+

- -

+ +
-
+
-
- -

Module ๐Ÿ“ฆ: filterBy

+ +

Module ๐Ÿ“ฆ: filterBy

Table of contents ๐Ÿ“‘

Functions ๐Ÿงฐ

    @@ -497,26 +500,27 @@

    Returns ๐Ÿ”™

    Defined in ๐Ÿ“

    filterBy.d.ts:84

    - +
- - - -
colors
+
+ + +
converters +
- -
filterBy
+
generators
@@ -577,7 +581,7 @@
-
+

- -

+ +
-
+
-
- -

Module ๐Ÿ“ฆ: generators

+ +

Module ๐Ÿ“ฆ: generators

Table of contents ๐Ÿ“‘

Functions ๐Ÿงฐ

- - - -
converters
+
+ + +
filterBy +
- -
generators
+
sortBy
@@ -588,7 +592,7 @@
-
+

- -

+ +
-
+

The library is split into individual modules each with functions that have the same base functionality i.e sorting collections or querying color properties. Each module has a test (or .spec.js) file where the unit tests are found and a declaration (or .d.ts) file where the API documentation is generated from.

@@ -69,16 +70,16 @@

Module ๐Ÿ“ฆs

@@ -139,7 +140,7 @@

Module ๐Ÿ“ฆs

-
+

- -

+ +
-
+
-
- -

Module ๐Ÿ“ฆ: sortBy

+ +

Module ๐Ÿ“ฆ: sortBy

Table of contents ๐Ÿ“‘

Functions ๐Ÿงฐ

    @@ -515,26 +518,27 @@

    Returns ๐Ÿ”™

    Defined in ๐Ÿ“

    sortBy.d.ts:114

    - +
- - - -
filterBy
+
+ + +
generators +
- -
sortBy
+
stats
@@ -595,7 +599,7 @@
-
+

- -

+ +
-
+
-
- -

Module ๐Ÿ“ฆ: stats

+ +

Module ๐Ÿ“ฆ: stats

Table of contents ๐Ÿ“‘

Functions ๐Ÿงฐ

    @@ -1202,26 +1205,27 @@

    Returns ๐Ÿ”™

    Defined in ๐Ÿ“

    stats.d.ts:250

    - +
- - - -
generators
+
+ + +
sortBy +
- -
stats
+
types
@@ -1282,7 +1286,7 @@
-
+

- -

+ +
-
+
-
- -

Module ๐Ÿ“ฆ: types

+ +

Module ๐Ÿ“ฆ: types

Table of contents ๐Ÿ“‘

Type Aliases

    @@ -498,26 +501,27 @@

    callback

    Defined in ๐Ÿ“

    types.d.ts:233

    - +
- - - -
sortBy
+
+ + +
stats +
- -
types
+
utils
@@ -578,7 +582,7 @@
-
+

- -

+ +
-
+
-
- -

Module ๐Ÿ“ฆ: utils

+ +

Module ๐Ÿ“ฆ: utils

Table of contents ๐Ÿ“‘

Functions ๐Ÿงฐ

    @@ -743,26 +746,27 @@

    Returns ๐Ÿ”™

    Defined in ๐Ÿ“

    utils.d.ts:178

    - +
- - - -
stats
+
+ + +
types +
- -
utils
+
wrappers
@@ -823,7 +827,7 @@
-
+

- -

+ +
-
+
-
- -

Module ๐Ÿ“ฆ: wrappers

+ +

Module ๐Ÿ“ฆ: wrappers

This module has the lazy wrappers that can bind collections of colors or individual color tokens and perform manipulations on the bound data.

Functions ๐Ÿงฐ

- - - -
types
+
+ + +
utils +
- -
wrappers
+
@@ -2657,7 +2661,7 @@
-
+

- -

+ +
-
+
-
+
-

sortBy

+

sortBy

Functions for sorting collections of color using their properties.

sortBySaturation

Sorts colors by saturation value in `asc` order

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,asc,lch
-        
-
-
+ +
+
@@ -213,13 +210,9 @@
Parameters:

sortByLightness

Sorts colors by lightness value in `asc` order

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,asc,lch
-        
-
-
+ +
+
@@ -353,13 +346,9 @@
Parameters:

sortByLuminance

Sorts colors by luminance value in `asc` order

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,asc
-        
-
-
+ +
+
@@ -493,13 +482,9 @@
Parameters:

sortByDistance

Sorts colors by the distance from 'brown' in `asc` order

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,brown,asc
-        
-
-
+ +
+
@@ -633,13 +618,9 @@
Parameters:

sortByContrast

Sorts colors by contrast value in `asc` order against black

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,black,asc
-        
-
-
+ +
+
@@ -773,13 +754,9 @@
Parameters:

sortByHue

Sorts colors by hue angle in `asc` order

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,asc,lch
-        
-
-
+ +
+
@@ -914,22 +891,18 @@
Parameters:
-
+
-

colors

+

colors

Functions for returning swatches. Also contains the `load` and `color` chains.

tailwindColors

Returns the swatches of color families at 300

-
-
Parameters:
-

-            all,300
-        
-
-
+ +
+
@@ -1064,22 +1037,18 @@
Parameters:
-
+
-

filterBy

+

filterBy

Functions for filtering collections of color using `start` and `end` ranges

filterByContrast

Filters color by relative contrast

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,green,3.05,12
-        
-
-
+ +
+
@@ -1111,13 +1080,9 @@
Parameters:

filterByHue

Filters color by hue

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,60,220,lch
-        
-
-
+ +
+
@@ -1167,13 +1132,9 @@
Parameters:

filterByLuminance

Filters color by luminance

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,>0.5,<0.9
-        
-
-
+ +
+
@@ -1217,13 +1178,9 @@
Parameters:

filterByLightness

Filters color by lightness

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,45,69,lch
-        
-
-
+ +
+
@@ -1309,13 +1266,9 @@
Parameters:

filterByDistance

Filters color by distance

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,yellow,>70.05
-        
-
-
+ +
+
@@ -1347,13 +1300,9 @@
Parameters:

filterByChroma

Filters color by saturation

-
-
Parameters:
-

-            #94a3b8,#9ca3af,#a1a1aa,#a3a3a3,#a8a29e,#f87171,#fb923c,#fbbf24,#facc15,#a3e635,#4ade80,#34d399,#2dd4bf,#38bdf8,#60a5fa,#a78bfa,#c084fc,#e879f9,#f472b6,#fb7185,70
-        
-
-
+ +
+
@@ -1398,22 +1347,18 @@
Parameters:
-
+
-

generators

+

generators

Functions for generating custom color scales and palettes.

discoverPalettes

Takes an array of colors and finds the best matches for a set of predefined palettes.

-
-
Parameters:
-

-            #ffff00,#00ffdc,#00ff78,#00c000,#007e00,#164100,#720000,#600000,#4e0000,#3e0000,#310000,tetradic
-        
-
-
+ +
+