@thi.ng/color 4.0.9 → 4.1.3

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 (3) hide show
  1. package/CHANGELOG.md +407 -234
  2. package/dev/hsluv.js +224 -0
  3. package/package.json +402 -397
package/CHANGELOG.md CHANGED
@@ -1,310 +1,483 @@
1
1
  # Change Log
2
2
 
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [4.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@4.0.8...@thi.ng/color@4.0.9) (2021-11-10)
7
-
8
- **Note:** Version bump only for package @thi.ng/color
9
-
10
-
11
-
12
-
13
-
14
- ## [4.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@4.0.7...@thi.ng/color@4.0.8) (2021-11-04)
15
-
16
- **Note:** Version bump only for package @thi.ng/color
17
-
18
-
19
-
20
-
21
-
22
- ## [4.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@4.0.6...@thi.ng/color@4.0.7) (2021-11-03)
23
-
24
- **Note:** Version bump only for package @thi.ng/color
25
-
26
-
27
-
28
-
29
-
30
- # [4.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.2.7...@thi.ng/color@4.0.0) (2021-10-12)
31
-
32
-
33
- ### Build System
34
-
35
- * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
36
-
37
-
38
- ### Features
39
-
40
- * **color:** add mandatory toRgb conversions ([6c4c13b](https://github.com/thi-ng/umbrella/commit/6c4c13b375857d886dbfa819ef3e5d530ad9fecb))
41
- * **color:** Int32/ABGR/ARGB updates/fixes ([d20e77c](https://github.com/thi-ng/umbrella/commit/d20e77c48b4ec5b979e687c01cc457fc3c5ace51))
42
-
43
-
44
- ### BREAKING CHANGES
45
-
46
- * discontinue CommonJS & UMD versions
47
-
48
- - only ESM modules will be published from now on
49
- - CJS obsolete due to ESM support in recent versions of node:
50
- - i.e. launch NodeJS via:
51
- - `node --experimental-specifier-resolution=node --experimental-repl-await`
52
- - in the node REPL use `await import(...)` instead of `require()`
53
- - UMD obsolete due to widespread browser support for ESM
54
-
55
- Also:
56
- - normalize/restructure/reorg all package.json files
57
- - cleanup all build scripts, remove obsolete
58
- - switch from mocha to @thi.ng/testament for all tests
59
-
60
-
61
-
62
-
3
+ - **Last updated**: 2021-11-21T17:09:28Z
4
+ - **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
63
5
 
6
+ All notable changes to this project will be documented in this file.
7
+ See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
8
+
9
+ **Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
10
+ and/or version bumps of transitive dependencies.
64
11
 
65
- # [3.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.1.18...@thi.ng/color@3.2.0) (2021-08-04)
12
+ ## [4.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@4.1.0) (2021-11-17)
66
13
 
67
- ### Features
14
+ #### 🚀 Features
68
15
 
69
- - **color:** add/update swatch functions ([391ae4a](https://github.com/thi-ng/umbrella/commit/391ae4aa2e57aa14b9a2acdb1e3365b191612470))
16
+ - Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
17
+ Improving the overall build ergonomics
18
+ - introduced a tools workspaces
19
+ - imported it in all needed packages/examples
20
+ - inclusive project root
70
21
 
71
- # [3.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.0.1...@thi.ng/color@3.1.0) (2021-02-24)
22
+ #### ♻️ Refactoring
72
23
 
73
- ### Features
24
+ - testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
25
+ this commit reverts (partly) changes made in:
26
+ ef346d7a8753590dc9094108a3d861a8dbd5dd2c
27
+ overall purpose is better testament ergonomics:
28
+ instead of having to pass NODE_OPTIONS with every invocation
29
+ having a binary to handle this for us.
74
30
 
75
- - **color:** add .toString() impl ([cc65bf0](https://github.com/thi-ng/umbrella/commit/cc65bf031e75c4b96c3c0089cf51c62b88187afe))
31
+ ### [4.0.9](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@4.0.9) (2021-11-10)
76
32
 
77
- ## [3.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@3.0.0...@thi.ng/color@3.0.1) (2021-02-22)
33
+ #### ♻️ Refactoring
78
34
 
79
- ### Bug Fixes
35
+ - update all countdown loops ([a5f374b](https://github.com/thi-ng/umbrella/commit/a5f374b))
80
36
 
81
- - **color:** update compileThemePart() ([b8ceed6](https://github.com/thi-ng/umbrella/commit/b8ceed69e128c9f88999a92dc57971a1ab3c3e33))
37
+ ### [4.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@4.0.1) (2021-10-13)
82
38
 
83
- # [3.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@2.1.5...@thi.ng/color@3.0.0) (2021-02-20)
39
+ #### ♻️ Refactoring
84
40
 
85
- ### Bug Fixes
41
+ - update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
42
+ - update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
43
+ - add .js suffix for all relative imports
86
44
 
87
- - **color:** div-by-zero in XYY<>XYZ conversions ([8a71c6e](https://github.com/thi-ng/umbrella/commit/8a71c6ec25766967c20e27cfd6a0d44abde85a57))
88
- - **color:** don't clamp Oklab/XYZ<>RGB conversions ([fab3639](https://github.com/thi-ng/umbrella/commit/fab3639ec59d8346752bb8a3831e9fac8d1663f7))
89
- - **color:** fix resolveAsCSS() ([7b1eeff](https://github.com/thi-ng/umbrella/commit/7b1eeff17003229b9d38705dbee8e7da790699a1))
90
- - **color:** fix typo in parseHex, update parse helpers ([a7315c0](https://github.com/thi-ng/umbrella/commit/a7315c0545bc4ef55f05a3b909f113fb9ca98041))
91
- - **color:** kelvinRgb() results are sRGB ([31cd4b5](https://github.com/thi-ng/umbrella/commit/31cd4b5af37d72c0eded08c2e5bf9a520dcdd400))
92
- - **color:** normalize LCH hue channel ([c0b9e9d](https://github.com/thi-ng/umbrella/commit/c0b9e9d90172487c7b0dce7d252d30bba92e425e))
93
- - **color:** rescale labXyz(), use D50 for LCH->RGB ([9e59545](https://github.com/thi-ng/umbrella/commit/9e59545fb0cca91dfe7050a1a7db70239f818e9d))
94
- - **color:** unconstrained analog() for some modes ([439265b](https://github.com/thi-ng/umbrella/commit/439265bbc6a2510a8fa6897e6165d805079c6db9))
95
- - **color:** update Lab/LCH rules in parseCss() ([cb7f15e](https://github.com/thi-ng/umbrella/commit/cb7f15e1a98b78bdc6a61b3cdb5cdc55f2bc828f))
96
- - **color:** update resolveAsCss() ([0e7e955](https://github.com/thi-ng/umbrella/commit/0e7e955e176bd7b3e440dc7190dee26f9843fe8b))
45
+ # [4.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@4.0.0) (2021-10-12)
46
+
47
+ #### 🛑 Breaking changes
48
+
49
+ - major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
50
+ - BREAKING CHANGE: discontinue CommonJS & UMD versions
51
+ - only ESM modules will be published from now on
52
+ - CJS obsolete due to ESM support in recent versions of node:
53
+ - i.e. launch NodeJS via:
54
+ - `node --experimental-specifier-resolution=node --experimental-repl-await`
55
+ - in the node REPL use `await import(...)` instead of `require()`
56
+ - UMD obsolete due to widespread browser support for ESM
57
+ Also:
58
+ - normalize/restructure/reorg all package.json files
59
+ - cleanup all build scripts, remove obsolete
60
+ - switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
61
+
62
+ #### 🚀 Features
63
+
64
+ - Int32/ABGR/ARGB updates/fixes ([d20e77c](https://github.com/thi-ng/umbrella/commit/d20e77c))
65
+ - update TypedColor (add IEqualsDelta, Iterable parents)
66
+ - add shared Int32.eqDelta() impl
67
+ - add ARGB/ABGR normalized channel value accessors
68
+ - fix various bugs in defInt() factory
69
+ - return correct type if no args given
70
+ - update return type in .mapBuffer()
71
+ - add internal __scale8bit() helper fn
72
+ - add mandatory toRgb conversions ([6c4c13b](https://github.com/thi-ng/umbrella/commit/6c4c13b))
73
+ - due to defColor() dynamically registering related conversions for
74
+ a given color mode, deep imports might not make conversion routes
75
+ available
76
+ - new mandatory `toRgb` key in ColorSpec offers a fallback solution
77
+
78
+ #### ♻️ Refactoring
79
+
80
+ - rename/migrate internal fns ([5faa747](https://github.com/thi-ng/umbrella/commit/5faa747))
81
+ - restructure package ([bf9edcb](https://github.com/thi-ng/umbrella/commit/bf9edcb))
82
+ - migrate/lift `/src/ops` source files to `/src` for easier use
83
+ - sideeffect-free defmulti specs ([9909909](https://github.com/thi-ng/umbrella/commit/9909909))
84
+ - update deps & imports in various pkgs ([e1cf29e](https://github.com/thi-ng/umbrella/commit/e1cf29e))
85
+ - largely related to recent updates/restructuring of these packages:
86
+ - api
87
+ - defmulti
88
+ - errors
89
+ - logger
90
+ - update imports (transducers) ([0bc002c](https://github.com/thi-ng/umbrella/commit/0bc002c))
91
+ - update imports ([c642082](https://github.com/thi-ng/umbrella/commit/c642082))
92
+ - update imports ([00188f4](https://github.com/thi-ng/umbrella/commit/00188f4))
93
+ - update imports ([1736278](https://github.com/thi-ng/umbrella/commit/1736278))
94
+ - update all test stubs ([f2d6d53](https://github.com/thi-ng/umbrella/commit/f2d6d53))
95
+ - update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
96
+ - update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
97
+
98
+ ## [3.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@3.2.0) (2021-08-04)
99
+
100
+ #### 🚀 Features
101
+
102
+ - add/update swatch functions ([391ae4a](https://github.com/thi-ng/umbrella/commit/391ae4a))
103
+ - add dotsH/V()
104
+ - update swatchesH/V(), add `gap` arg
105
+
106
+ ### [3.1.12](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@3.1.12) (2021-04-03)
107
+
108
+ #### ♻️ Refactoring
109
+
110
+ - minor updates ([7575146](https://github.com/thi-ng/umbrella/commit/7575146))
111
+
112
+ ## [3.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@3.1.0) (2021-02-24)
113
+
114
+ #### 🚀 Features
115
+
116
+ - add .toString() impl ([cc65bf0](https://github.com/thi-ng/umbrella/commit/cc65bf0))
117
+
118
+ ### [3.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@3.0.1) (2021-02-22)
119
+
120
+ #### 🩹 Bug fixes
121
+
122
+ - update compileThemePart() ([b8ceed6](https://github.com/thi-ng/umbrella/commit/b8ceed6))
123
+ - don't mutate original theme part if given as object
124
+
125
+ # [3.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@3.0.0) (2021-02-20)
126
+
127
+ #### 🛑 Breaking changes
128
+
129
+ - update types, CSS formatting ([f0502a2](https://github.com/thi-ng/umbrella/commit/f0502a2))
130
+ - BREAKING CHANGE: remove obsolete resolveAsCss(), use css() instead
131
+ - update MaybeColor alias
132
+ - update TypedColor
133
+ - merge resolveAsCss() cases into css()
134
+ - fix color factory for int args
135
+ - major restructure, new types/conversions ([6389f7c](https://github.com/thi-ng/umbrella/commit/6389f7c))
136
+ - BREAKING CHANGE: replace color classes w/ dynamically generated impls
137
+ - add ColorSpec, ColorType, ColorFactory types
138
+ - add defColor() color type factory based on declarative ColorSpec
139
+ - all color types now based on defColor()
140
+ - remove obsolete AColor class
141
+ - color factories now also act as converters
142
+ - add color() factory to wrap color in class for given mode
143
+ - remove CSS and Int types (use plain strings/ints now, and use css()
144
+ or resolveAsCss() to convert to CSS strings)
145
+ - parseCss() now returns ParsedColor (circumvents circular deps)
146
+ - replace convert() w/ new simplified version
147
+ - add/update generic isGray(), isBlack(), isWhite(), luminance()
148
+ - major update/rename all types/conversions ([4143c8f](https://github.com/thi-ng/umbrella/commit/4143c8f))
149
+ - BREAKING CHANGE: update/rename all color types/conversions
150
+ - rename YCbCrA => YCC
151
+ - remove `A` suffix from all color types
152
+ (e.g. `HSVA` => `HSV`, `XYZA` => `XYZ` etc.)
153
+ - accordingly, rename all conversions (e.g. `rgbaHsva()` => `rgbHsv()`)
154
+ - rename `.alpha` accessor in all color types
155
+ (previously a mixture of `.a` vs `.alpha`, now always latter)
156
+ - standardize casing in all function names (now always camelCase)
157
+ e.g. `asCSS()` => `asCss()`
158
+ - resolveAsCss() untyped default now sRGB
159
+ - rename distSatHsv() => distHsvSat()
160
+ - rename distLumaHsv() => distHsvLuma()
161
+ - rename distLumaRGB() => distRgbLuma()
162
+ - add distChannel() HOF
163
+ - add basic convert() support for Lab<>LCH<>CSS
164
+ - add/update docstrings
165
+ - rename RANGES => COLOR_RANGES
166
+ - update colorFromRange(), colorsFromRange() and
167
+ colorsFromTheme() to return wrapped HSV colors
168
+ - add multiColorGradient(), update cos version ([dc88f37](https://github.com/thi-ng/umbrella/commit/dc88f37))
169
+ - BREAKING CHANGE: multiCosineGradient() args now given as options object
170
+ - add MultiGradientOpts
171
+ - add support for per-interval easing
172
+ - add support for result color coercion
173
+ - new parseCSS(), add SRGBA, update conversions ([f748d65](https://github.com/thi-ng/umbrella/commit/f748d65))
174
+ - BREAKING CHANGE: parseCSS() now returns wrapped color types,
175
+ not raw RGBA arrays as previously
176
+ - parseCSS() now returns SRGBA, HSLA, LAB or LCH color types and supports more CSS syntax opts
177
+ - all asXXX() functions also return wrapped colors,
178
+ only asCSS() still returns strings
179
+ - add SRGBA type/color mode reserve existing RGBA for
180
+ linear colors (non-gamma corrected)
181
+ - rename existing conversions, now using SRGBA (i.e. srgbaCss(),
182
+ srgbaInt()), add new versions for (now linear) RGBA
183
+ - parseCSS() RGB colors now result in SRGB instances,
184
+ use asRGBA() or srgbRgba() to convert to linear RGB
185
+
186
+ #### 🚀 Features
187
+
188
+ - replace proximity functions ([7a0be62](https://github.com/thi-ng/umbrella/commit/7a0be62))
189
+ - add new proximity() HOF to replace proximityHsv/Rgb()
190
+ - add/update distance functions ([6d15065](https://github.com/thi-ng/umbrella/commit/6d15065))
191
+ - add distCIEDE2000()
192
+ - add distCMC()
193
+ - rename distRgb() => distEucledian3
194
+ - add distEucledian4
195
+ - update ColorMix & gradient types/functions ([829fcf6](https://github.com/thi-ng/umbrella/commit/829fcf6))
196
+ - add/update conversions ([e979044](https://github.com/thi-ng/umbrella/commit/e979044))
197
+ - update ColorFactory, TypedColor ([8c5f8fb](https://github.com/thi-ng/umbrella/commit/8c5f8fb))
198
+ - add `Symbol.toStringTag` impl
199
+ - expose `.class` in color factories
200
+ - add support for longer conversions (2-4 steps) in defConversions()
201
+ - generic isBlack/Gray/White, LCH color ranges ([598afdf](https://github.com/thi-ng/umbrella/commit/598afdf))
202
+ - update ColorRange, ColorRangeOpts and related fns to switch HSV -> LCH
203
+ - add generic analog() (for all color types) ([117a5bc](https://github.com/thi-ng/umbrella/commit/117a5bc))
204
+ - use RGB fallbacks for Lab/LCH CSS ([53ddaeb](https://github.com/thi-ng/umbrella/commit/53ddaeb))
205
+ - keep existing conversions, but disable until browser support is ready
206
+ - add Int32.alpha accessor, minor update int->srgb ([b65f9ee](https://github.com/thi-ng/umbrella/commit/b65f9ee))
207
+ - add TypedColor/ColorFactory.range impls ([7ecfa0c](https://github.com/thi-ng/umbrella/commit/7ecfa0c))
208
+ - convert mix() to defmulti, color mode aware ([faed98b](https://github.com/thi-ng/umbrella/commit/faed98b))
209
+ - add gradient and mix fns ([f31966c](https://github.com/thi-ng/umbrella/commit/f31966c))
210
+ - add cosineGradientBuffer()
211
+ - add multiColorGradientBuffer()
212
+ - add defMix(), mixHsl(), mixLch() fns
213
+ - remove obsolete mixAlpha() (use porter-duff pkg for alpha blending)
214
+ - add setPrecision(), LCH cleanup ([778f84a](https://github.com/thi-ng/umbrella/commit/778f84a))
215
+ - improve int ARGB/ABGR support ([6460e4d](https://github.com/thi-ng/umbrella/commit/6460e4d))
216
+ - add CSS conversions
217
+ - add ARGB<>ABGR swapping
218
+ - add converters for RGB/SRGB
219
+ - add ARGB32/ABGR32 int types/conversions ([1993beb](https://github.com/thi-ng/umbrella/commit/1993beb))
220
+ - rename existing int conversion fns
221
+ - add versions for ARGB/ABGR orders
222
+ - add/update luminance fns
223
+ - minor update defConversions()
224
+ - add sortMapped() for mapped memory cols ([9a548ec](https://github.com/thi-ng/umbrella/commit/9a548ec))
225
+ - add lab D50/65 conv, update HSx<>CSS conv ([014e41d](https://github.com/thi-ng/umbrella/commit/014e41d))
226
+ - add labLabD50_65/D65_50()
227
+ - add lab65 -> CSS conversion (always as D50)
228
+ - since there's no official requirement, allow direct conversions
229
+ from sRGB to various HSx modes (also to be backward compatible)
230
+ - split Lab & XYZ types into D50/D65 ([29e1e74](https://github.com/thi-ng/umbrella/commit/29e1e74))
231
+ - add LabD50/D65, add XYZD50/XYZD65
232
+ - rename factory fns (labD50/D65, xyzD50/D65)
233
+ - update/simplify ColorSpec in all color type defs
234
+ - add tools/limits.ts to sample RGB gamut limits, add to color defs
235
+ - add TypedColor.clamp(), update defColor()
236
+ - fix Oklab<>XYZ conversions (use D65 as default)
237
+ - update/restructure types, add buffer mapping ([cebaafa](https://github.com/thi-ng/umbrella/commit/cebaafa))
238
+ - add ColorFactory.mapBuffer()
239
+ - add ColorFactory/TypedColor.random()
240
+ - update all color class declarations
241
+ - split api.ts into /api subdir
242
+ - update css()
243
+ - add/update luminance & YCC conversion ([89ca131](https://github.com/thi-ng/umbrella/commit/89ca131))
244
+ - add SRGB luminance versions, update RGB version to
245
+ use linear weights
246
+ - update RGB<>YCC conversion fns (configurable luma)
247
+ - update grayscale(), luminanceAlpha() default coeffs
248
+ to use linear RGB weights
249
+ - add/update Lab/XYZ/LCH conversions ([9feb251](https://github.com/thi-ng/umbrella/commit/9feb251))
250
+ - add D50/D65 white points & matrices
251
+ - add Lab<>XYZ<>RGB conversions (for diff white points)
252
+ - update/fix Lab/LCH CSS formatting
253
+ - update mulV33 to NOT clamp result by default
254
+ - add rgbSrgbApprox() and vice versa ([c1efada](https://github.com/thi-ng/umbrella/commit/c1efada))
255
+ - add XYY mode ([7a743f2](https://github.com/thi-ng/umbrella/commit/7a743f2))
256
+ - currently only conversions from/to XYZ
257
+ - add AColor.set() ([7e7a05c](https://github.com/thi-ng/umbrella/commit/7e7a05c))
258
+ - add AColor.toJSON() ([ee96412](https://github.com/thi-ng/umbrella/commit/ee96412))
259
+ - better handling for memory mapped colors
260
+ - add wavelengthXyza() ([d29ce23](https://github.com/thi-ng/umbrella/commit/d29ce23))
261
+ - add SystemColors and defaults ([16bad21](https://github.com/thi-ng/umbrella/commit/16bad21))
262
+ - update CSS_NAMES ([7ea0cf0](https://github.com/thi-ng/umbrella/commit/7ea0cf0))
263
+ - add barebones support for LAB & LCH ([6e3b8c9](https://github.com/thi-ng/umbrella/commit/6e3b8c9))
264
+ - add XYZ/Oklab conversions, update/fix XYZ matrices ([e07a038](https://github.com/thi-ng/umbrella/commit/e07a038))
265
+ - add/refactor oklab conversions (XYZ / RGBA / CSS)
266
+ - RGB_XYZ / XYZ_RGB matrices were row-major, now correctly column major
267
+ - add Oklab color space support ([57a5bad](https://github.com/thi-ng/umbrella/commit/57a5bad))
268
+
269
+ #### 🩹 Bug fixes
270
+
271
+ - kelvinRgb() results are sRGB ([31cd4b5](https://github.com/thi-ng/umbrella/commit/31cd4b5))
272
+ - don't clamp Oklab/XYZ<>RGB conversions ([fab3639](https://github.com/thi-ng/umbrella/commit/fab3639))
273
+ - unconstrained analog() for some modes ([439265b](https://github.com/thi-ng/umbrella/commit/439265b))
274
+ - rescale labXyz(), use D50 for LCH->RGB ([9e59545](https://github.com/thi-ng/umbrella/commit/9e59545))
275
+ - fix typo in parseHex, update parse helpers ([a7315c0](https://github.com/thi-ng/umbrella/commit/a7315c0))
276
+ - div-by-zero in XYY<>XYZ conversions ([8a71c6e](https://github.com/thi-ng/umbrella/commit/8a71c6e))
277
+ - update Lab/LCH rules in parseCss() ([cb7f15e](https://github.com/thi-ng/umbrella/commit/cb7f15e))
278
+ - update resolveAsCss() ([0e7e955](https://github.com/thi-ng/umbrella/commit/0e7e955))
279
+ - constrain arg type, add string test/case
280
+ - normalize LCH hue channel ([c0b9e9d](https://github.com/thi-ng/umbrella/commit/c0b9e9d))
281
+ - fix resolveAsCSS() ([7b1eeff](https://github.com/thi-ng/umbrella/commit/7b1eeff))
282
+ - color mode field is a string now, not number anymore
283
+ - wi/o this fix any non-RGB color would be wrongly interpreted as RGBA
284
+
285
+ #### ⏱ Performance improvements
286
+
287
+ - make defColor() fixed for 4 channels ([4ea77ef](https://github.com/thi-ng/umbrella/commit/4ea77ef))
288
+
289
+ #### ♻️ Refactoring
290
+
291
+ - update color range presets ([9353c93](https://github.com/thi-ng/umbrella/commit/9353c93))
292
+ - adjust/balance settings for LCH (from former HSV configs)
293
+ - update parseHex 3/4 digit handling ([7424906](https://github.com/thi-ng/umbrella/commit/7424906))
294
+ - update types ([729db15](https://github.com/thi-ng/umbrella/commit/729db15))
295
+ - update LAB<>LCH conversions ([eb03c89](https://github.com/thi-ng/umbrella/commit/eb03c89))
296
+ - add ColorRangeOpts.base, update related fns ([e06c7ee](https://github.com/thi-ng/umbrella/commit/e06c7ee))
297
+ - move base arg into ColorRangeOpts
298
+ - update colorFromRange(), colorsFromRange(), colorsFromTheme()
299
+ - update colorFromRange(), asThemePart() ([2e4e14d](https://github.com/thi-ng/umbrella/commit/2e4e14d))
300
+ - add/rename luminance consts, add docs ([9d43274](https://github.com/thi-ng/umbrella/commit/9d43274))
301
+ - replace ensureHue() w/ fract() ([1499904](https://github.com/thi-ng/umbrella/commit/1499904))
302
+ - update int-int fns, docs, readme ([1ef7341](https://github.com/thi-ng/umbrella/commit/1ef7341))
303
+ - re-use swapLane13() for ARGB<>ABGR
304
+ - update deps
305
+ - update CSS ref links
306
+ - update readme
307
+ - rename fns in gradient gen tool ([69e2287](https://github.com/thi-ng/umbrella/commit/69e2287))
308
+ - update sortMapped() ([6b5fed9](https://github.com/thi-ng/umbrella/commit/6b5fed9))
309
+ - update backing buffer types ([b5661db](https://github.com/thi-ng/umbrella/commit/b5661db))
310
+ - use NumericArray (see related change in [0e4edb793](https://github.com/thi-ng/umbrella/commit/0e4edb793))
311
+ - rename dynamic class in defColor() ([4c846d6](https://github.com/thi-ng/umbrella/commit/4c846d6))
312
+ - update css() ([655dd32](https://github.com/thi-ng/umbrella/commit/655dd32))
313
+ - simplify defColor() factory fn ([afc300c](https://github.com/thi-ng/umbrella/commit/afc300c))
314
+ - simplify int24Css() ([ebe3948](https://github.com/thi-ng/umbrella/commit/ebe3948))
315
+ - update ColorSpec handling ([d5d605e](https://github.com/thi-ng/umbrella/commit/d5d605e))
316
+ - make ChannelSpecs optional, update defaults handling in defColor()
317
+ - rename GRADIENTS => COSINE_GRADIENTS ([22fe0de](https://github.com/thi-ng/umbrella/commit/22fe0de))
318
+ - migrate multiColorGradient() to separate file
319
+ - update args for swatch fns ([e5b1b9b](https://github.com/thi-ng/umbrella/commit/e5b1b9b))
320
+ - add/update pkg exports ([f6826dd](https://github.com/thi-ng/umbrella/commit/f6826dd))
321
+ - minor update mode getter impls ([bacc446](https://github.com/thi-ng/umbrella/commit/bacc446))
322
+
323
+ ## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@2.1.0) (2021-01-02)
324
+
325
+ #### 🚀 Features
326
+
327
+ - update ColorRangeOpts, add docstrings ([350fbe5](https://github.com/thi-ng/umbrella/commit/350fbe5))
328
+ - add color swatch hiccup helpers ([5ecc528](https://github.com/thi-ng/umbrella/commit/5ecc528))
329
+ - add sortColors(), comparators ([6761feb](https://github.com/thi-ng/umbrella/commit/6761feb))
330
+ - add declarative range/theme iterators ([971d5dc](https://github.com/thi-ng/umbrella/commit/971d5dc))
331
+ - add ColorRange related types
332
+ - add ColorRange presets
333
+ - add colorFromRange()
334
+ - add colorsFromRange(), colorsFromTheme() iterators
335
+ - add analogHSV(), analogRGB() functions
336
+ - add HSV/RGB gray axis checks ([927202b](https://github.com/thi-ng/umbrella/commit/927202b))
337
+ - add HSV/RGB distance fns ([3bd3969](https://github.com/thi-ng/umbrella/commit/3bd3969))
97
338
 
98
- ### Code Refactoring
339
+ #### 🩹 Bug fixes
99
340
 
100
- - **color:** major update/rename all types/conversions ([4143c8f](https://github.com/thi-ng/umbrella/commit/4143c8fe746a692e61be7696053c883eef7ab326))
341
+ - fix cosineGradient() return type ([651590c](https://github.com/thi-ng/umbrella/commit/651590c))
101
342
 
102
- ### Features
343
+ #### ♻️ Refactoring
103
344
 
104
- - **color:** add AColor.set() ([7e7a05c](https://github.com/thi-ng/umbrella/commit/7e7a05c0a1f9bfe57e304ab2afe3b314b048ea5e))
105
- - **color:** add AColor.toJSON() ([ee96412](https://github.com/thi-ng/umbrella/commit/ee96412656fb6bd019f356a50f83651150ee7293))
106
- - **color:** add ARGB32/ABGR32 int types/conversions ([1993beb](https://github.com/thi-ng/umbrella/commit/1993bebce4ee8c44a6dbcde01bc3635757d5d3f2))
107
- - **color:** add barebones support for LAB & LCH ([6e3b8c9](https://github.com/thi-ng/umbrella/commit/6e3b8c9b84b33b5280247c17ae3f9b862dd44d04))
108
- - **color:** add generic analog() (for all color types) ([117a5bc](https://github.com/thi-ng/umbrella/commit/117a5bcdcdd3c84f7c9eb8d68197963db4515b07))
109
- - **color:** add gradient and mix fns ([f31966c](https://github.com/thi-ng/umbrella/commit/f31966ca8612415fb8faaff02a13b5f8eddb2753))
110
- - **color:** add Int32.alpha accessor, minor update int->srgb ([b65f9ee](https://github.com/thi-ng/umbrella/commit/b65f9ee2896636df5bb5882e07186043d7ddc466))
111
- - **color:** add lab D50/65 conv, update HSx<>CSS conv ([014e41d](https://github.com/thi-ng/umbrella/commit/014e41de9d7b051c58f4ea4a90ff0d3783884b6f))
112
- - **color:** add multiColorGradient(), update cos version ([dc88f37](https://github.com/thi-ng/umbrella/commit/dc88f37abed0c5ab7dbdf2ea42fa60ddb4d5a353))
113
- - **color:** add Oklab color space support ([57a5bad](https://github.com/thi-ng/umbrella/commit/57a5bad8cff99636b28f9d17124c7c445f36eebb))
114
- - **color:** add rgbSrgbApprox() and vice versa ([c1efada](https://github.com/thi-ng/umbrella/commit/c1efada4f2b546c7515a34e12e31ea6a8857ec03))
115
- - **color:** add setPrecision(), LCH cleanup ([778f84a](https://github.com/thi-ng/umbrella/commit/778f84aa5a080ffd8afb12967553f53463a34d2c))
116
- - **color:** add sortMapped() for mapped memory cols ([9a548ec](https://github.com/thi-ng/umbrella/commit/9a548eccf3553d03afaff7817ce47f4bfeb98691))
117
- - **color:** add SystemColors and defaults ([16bad21](https://github.com/thi-ng/umbrella/commit/16bad2194d52b2aa3880ec8e37cc3a3891f0c20e))
118
- - **color:** add TypedColor/ColorFactory.range impls ([7ecfa0c](https://github.com/thi-ng/umbrella/commit/7ecfa0c5840722b8f4bb8965063f545a2d5348af))
119
- - **color:** add wavelengthXyza() ([d29ce23](https://github.com/thi-ng/umbrella/commit/d29ce236e2d0a4a43053b18bc8d4b41f69f4f66b))
120
- - **color:** add XYY mode ([7a743f2](https://github.com/thi-ng/umbrella/commit/7a743f2cc824ba2a46e32d72be8519a34d99b94c))
121
- - **color:** add XYZ/Oklab conversions, update/fix XYZ matrices ([e07a038](https://github.com/thi-ng/umbrella/commit/e07a038f9fc0317008c9a2a2e05bdba88eff0712))
122
- - **color:** add/update conversions ([e979044](https://github.com/thi-ng/umbrella/commit/e9790440dcf37ace01d4ea5f4c42ae76a556dc86))
123
- - **color:** add/update distance functions ([6d15065](https://github.com/thi-ng/umbrella/commit/6d15065c07cb8e434f0d964c98d5fd1878738868))
124
- - **color:** add/update Lab/XYZ/LCH conversions ([9feb251](https://github.com/thi-ng/umbrella/commit/9feb251def42ac12b6f522a8ea390e4e836cacaa))
125
- - **color:** add/update luminance & YCC conversion ([89ca131](https://github.com/thi-ng/umbrella/commit/89ca131a4b3878ca30d3199d8647b67ed426f287))
126
- - **color:** convert mix() to defmulti, color mode aware ([faed98b](https://github.com/thi-ng/umbrella/commit/faed98b3ced6a6e30bfd3d3afc95f493b39dc707))
127
- - **color:** generic isBlack/Gray/White, LCH color ranges ([598afdf](https://github.com/thi-ng/umbrella/commit/598afdf045c7a56261a5edb96d21686bd2d2a2d8))
128
- - **color:** improve int ARGB/ABGR support ([6460e4d](https://github.com/thi-ng/umbrella/commit/6460e4d04db8e548e575a586f24143c1ed674cde))
129
- - **color:** major restructure, new types/conversions ([6389f7c](https://github.com/thi-ng/umbrella/commit/6389f7c4baf2b8ef184cf76b8d71b8d0a44237a6))
130
- - **color:** new parseCSS(), add SRGBA, update conversions ([f748d65](https://github.com/thi-ng/umbrella/commit/f748d65934fe9472cc19b3e6bbfcce2578129fb7))
131
- - **color:** replace proximity functions ([7a0be62](https://github.com/thi-ng/umbrella/commit/7a0be62c08ea2717298f2365292fa4c9eca6f911))
132
- - **color:** split Lab & XYZ types into D50/D65 ([29e1e74](https://github.com/thi-ng/umbrella/commit/29e1e74a259bc8c73a79ccc77c654649f95c7d8c))
133
- - **color:** update ColorFactory, TypedColor ([8c5f8fb](https://github.com/thi-ng/umbrella/commit/8c5f8fb5255beed3a272d987c99fd3539f92b9d6))
134
- - **color:** update ColorMix & gradient types/functions ([829fcf6](https://github.com/thi-ng/umbrella/commit/829fcf6b61079e2ffaafadfd0ac115e341db6743))
135
- - **color:** update CSS_NAMES ([7ea0cf0](https://github.com/thi-ng/umbrella/commit/7ea0cf073cc39c165b24258be3b13cfddfb3dd41))
136
- - **color:** update types, CSS formatting ([f0502a2](https://github.com/thi-ng/umbrella/commit/f0502a2518a4e90edf45e35df180d2d273cdff68))
137
- - **color:** update/restructure types, add buffer mapping ([cebaafa](https://github.com/thi-ng/umbrella/commit/cebaafa3bff43409a39162374ede7b0b07086b05))
138
- - **color:** use RGB fallbacks for Lab/LCH CSS ([53ddaeb](https://github.com/thi-ng/umbrella/commit/53ddaeb5b3ff18c443b8308ad14ddba468dbe9da))
345
+ - replace ColorThemePartString ([efbb6f3](https://github.com/thi-ng/umbrella/commit/efbb6f3))
346
+ - add ColorThemePartTuple
347
+ - update asThemePart() to convert tuple versions
348
+ - to avoid TS typecheck perf issues w/ the template literal string,
349
+ switch to a tuple format for theme parts
350
+ - update swatch tool
351
+ - update color range iterators ([ea1acc8](https://github.com/thi-ng/umbrella/commit/ea1acc8))
352
+ - update colorsFromTheme() & asThemePart() to precompute spec details
353
+ - minor update colorFromRange() (opts)
354
+ - add/migrate types for presets ([a8e815b](https://github.com/thi-ng/umbrella/commit/a8e815b))
139
355
 
140
- ### Performance Improvements
356
+ # [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@2.0.0) (2020-12-22)
141
357
 
142
- - **color:** make defColor() fixed for 4 channels ([4ea77ef](https://github.com/thi-ng/umbrella/commit/4ea77eff4ef89b771268c6244628b71ec869ab8b))
358
+ #### 🛑 Breaking changes
143
359
 
144
- ### BREAKING CHANGES
360
+ - fix [#256](https://github.com/thi-ng/umbrella/issues/256) replace enum w/ type alias ([17e2449](https://github.com/thi-ng/umbrella/commit/17e2449))
361
+ - BREAKING CHANGE: replace ColorMode w/ type alias
145
362
 
146
- - **color:** remove obsolete resolveAsCss(), use css() instead
363
+ ### [1.3.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.3.2) (2020-12-07)
147
364
 
148
- - update MaybeColor alias
149
- - update TypedColor
150
- - merge resolveAsCss() cases into css()
151
- - fix color factory for int args
152
- - **color:** replace color classes w/ dynamically generated impls
365
+ #### ♻️ Refactoring
153
366
 
154
- - add ColorSpec, ColorType, ColorFactory types
155
- - add defColor() color type factory based on declarative ColorSpec
156
- - all color types now based on defColor()
157
- - remove obsolete AColor class
158
- - color factories now also act as converters
159
- - add color() factory to wrap color in class for given mode
160
- - remove CSS and Int types (use plain strings/ints now, and use css()
161
- or resolveAsCss() to convert to CSS strings)
162
- - parseCss() now returns ParsedColor (circumvents circular deps)
163
- - replace convert() w/ new simplified version
164
- - add/update generic isGray(), isBlack(), isWhite(), luminance()
165
- - **color:** update/rename all color types/conversions
367
+ - update type-only imports ([2808adf](https://github.com/thi-ng/umbrella/commit/2808adf))
166
368
 
167
- - rename YCbCrA => YCC
168
- - remove `A` suffix from all color types
169
- (e.g. `HSVA` => `HSV`, `XYZA` => `XYZ` etc.)
170
- - accordingly, rename all conversions (e.g. `rgbaHsva()` => `rgbHsv()`)
171
- - rename `.alpha` accessor in all color types
172
- (previously a mixture of `.a` vs `.alpha`, now always latter)
173
- - standardize casing in all function names (now always camelCase)
174
- e.g. `asCSS()` => `asCss()`
175
- - resolveAsCss() untyped default now sRGB
176
- - rename distSatHsv() => distHsvSat()
177
- - rename distLumaHsv() => distHsvLuma()
178
- - rename distLumaRGB() => distRgbLuma()
179
- - add distChannel() HOF
180
- - add basic convert() support for Lab<>LCH<>CSS
181
- - add/update docstrings
182
- - rename RANGES => COLOR_RANGES
183
- - update colorFromRange(), colorsFromRange() and colorsFromTheme() to return wrapped HSV colors
184
- - **color:** multiCosineGradient() args now given as options object
185
- - add MultiGradientOpts
186
- - add support for per-interval easing
187
- - add support for result color coercion
188
- - **color:** parseCSS() now returns wrapped color types, not raw RGBA arrays as previously
189
- - parseCSS() now returns SRGBA, HSLA, LAB or LCH color types and supports more CSS syntax opts
190
- - all asXXX() functions also return wrapped colors, only asCSS() still returns strings
191
- - add SRGBA type/color mode reserve existing RGBA for linear colors (non-gamma corrected)
192
- - rename existing conversions, now using SRGBA (i.e. srgbaCss(), srgbaInt()), add new versions for (now linear) RGBA
193
- - parseCSS() RGB colors now result in SRGB instances, use asRGBA() or srgbRgba() to convert to linear RGB
369
+ ## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.3.0) (2020-11-24)
194
370
 
195
- # [2.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@2.0.0...@thi.ng/color@2.1.0) (2021-01-02)
371
+ #### 🚀 Features
196
372
 
197
- ### Bug Fixes
373
+ - add GradientPresets type, update GRADIENTS ([985b719](https://github.com/thi-ng/umbrella/commit/985b719))
374
+ - allows for autocomplete of gradient IDs
198
375
 
199
- - **color:** fix cosineGradient() return type ([651590c](https://github.com/thi-ng/umbrella/commit/651590c2f3c4365e06f4bab85d2c9f9b99d3c4c1))
376
+ ### [1.2.16](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.2.16) (2020-09-13)
200
377
 
201
- ### Features
378
+ #### ♻️ Refactoring
202
379
 
203
- - **color:** add color swatch hiccup helpers ([5ecc528](https://github.com/thi-ng/umbrella/commit/5ecc5285fdea2d35535e5469d4d81a2b4d6878e9))
204
- - **color:** add declarative range/theme iterators ([971d5dc](https://github.com/thi-ng/umbrella/commit/971d5dcbf061b0c4c52ffa1aca24d7150dea81e9))
205
- - **color:** add HSV/RGB distance fns ([3bd3969](https://github.com/thi-ng/umbrella/commit/3bd396927c3aab7942853ec9b9f6013a1248389c))
206
- - **color:** add HSV/RGB gray axis checks ([927202b](https://github.com/thi-ng/umbrella/commit/927202b77deaa808b57ee189ff483839975804d0))
207
- - **color:** add sortColors(), comparators ([6761feb](https://github.com/thi-ng/umbrella/commit/6761feb65e24545290547408b8ba62a3ba4baedc))
208
- - **color:** update ColorRangeOpts, add docstrings ([350fbe5](https://github.com/thi-ng/umbrella/commit/350fbe568b8abfc968a104cbada5abdeeb2b4107))
380
+ - update types, imports ([f0fa5b0](https://github.com/thi-ng/umbrella/commit/f0fa5b0))
209
381
 
210
- # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.3.2...@thi.ng/color@2.0.0) (2020-12-22)
382
+ ## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.2.0) (2020-05-29)
211
383
 
212
- ### Code Refactoring
384
+ #### 🚀 Features
213
385
 
214
- - **color:** fix [#256](https://github.com/thi-ng/umbrella/issues/256) replace enum w/ type alias ([17e2449](https://github.com/thi-ng/umbrella/commit/17e244969d2d39e17cdea739308928adc17d5392))
386
+ - add gradient presets ([2f93581](https://github.com/thi-ng/umbrella/commit/2f93581))
215
387
 
216
- ### BREAKING CHANGES
388
+ ### [1.1.12](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.1.12) (2020-04-05)
217
389
 
218
- - **color:** replace ColorMode w/ type alias
390
+ #### ♻️ Refactoring
219
391
 
220
- # [1.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.2.18...@thi.ng/color@1.3.0) (2020-11-24)
392
+ - switch to non-const enums ([1802fbe](https://github.com/thi-ng/umbrella/commit/1802fbe))
221
393
 
222
- ### Features
394
+ ### [1.1.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.1.6) (2020-02-25)
223
395
 
224
- - **color:** add GradientPresets type, update GRADIENTS ([985b719](https://github.com/thi-ng/umbrella/commit/985b719b61475dfebe080dc1f74e2de9bb005018))
396
+ #### ♻️ Refactoring
225
397
 
226
- # [1.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.21...@thi.ng/color@1.2.0) (2020-05-29)
398
+ - update imports, internal restruct ([592409c](https://github.com/thi-ng/umbrella/commit/592409c))
227
399
 
228
- ### Features
400
+ ### [1.1.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.1.2) (2019-11-09)
229
401
 
230
- - **color:** add gradient presets ([2f93581](https://github.com/thi-ng/umbrella/commit/2f93581ca69f79df38ee6aa2697632c572fb55fc))
402
+ #### 🩹 Bug fixes
231
403
 
232
- ## [1.1.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.1.1...@thi.ng/color@1.1.2) (2019-11-09)
404
+ - update/rename imports (vectors pkg) ([7cb8877](https://github.com/thi-ng/umbrella/commit/7cb8877))
405
+ - values() => stridedValues()
233
406
 
234
- ### Bug Fixes
407
+ #### ♻️ Refactoring
235
408
 
236
- - **color:** update/rename imports (vectors pkg) ([7cb8877](https://github.com/thi-ng/umbrella/commit/7cb88771f88fc329a2728d9f86a18faf04ab0c35))
409
+ - update multiCosineGradient() ([0359d4a](https://github.com/thi-ng/umbrella/commit/0359d4a))
410
+ - update tween() args due to API change
411
+ - update wrapSides/tween call sites in various pkgs ([ee8200c](https://github.com/thi-ng/umbrella/commit/ee8200c))
237
412
 
238
- # [1.1.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.0.3...@thi.ng/color@1.1.0) (2019-08-21)
413
+ ## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.1.0) (2019-08-21)
239
414
 
240
- ### Features
415
+ #### 🚀 Features
241
416
 
242
- - **color:** add resolveAsCSS(), update deps ([f96ac92](https://github.com/thi-ng/umbrella/commit/f96ac92))
417
+ - add resolveAsCSS(), update deps ([f96ac92](https://github.com/thi-ng/umbrella/commit/f96ac92))
418
+ - add [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/main/packages/checks) as explicit dep
243
419
 
244
- ## [1.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@1.0.1...@thi.ng/color@1.0.2) (2019-08-16)
420
+ ### [1.0.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.0.2) (2019-08-16)
245
421
 
246
- ### Bug Fixes
422
+ #### 🩹 Bug fixes
247
423
 
248
- - **color:** add proper rounding to rgbaInt() ([d956954](https://github.com/thi-ng/umbrella/commit/d956954))
424
+ - add proper rounding to rgbaInt() ([d956954](https://github.com/thi-ng/umbrella/commit/d956954))
249
425
 
250
- # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@0.2.2...@thi.ng/color@1.0.0) (2019-07-31)
426
+ # [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@1.0.0) (2019-07-31)
251
427
 
252
- ### Bug Fixes
428
+ #### 🛑 Breaking changes
253
429
 
254
- - **color:** update factory fn args for mem-mapped colors ([eae671e](https://github.com/thi-ng/umbrella/commit/eae671e))
430
+ - remove PD related functions, update readme ([5d868db](https://github.com/thi-ng/umbrella/commit/5d868db))
431
+ - BREAKING CHANGE: Porter-Duff ops & pre/post-multiply moved to
432
+ new package [@thi.ng/porter-duff](https://github.com/thi-ng/umbrella/tree/main/packages/porter-duff)
255
433
 
256
- ### Code Refactoring
434
+ #### 🚀 Features
257
435
 
258
- - **color:** remove PD related functions, update readme ([5d868db](https://github.com/thi-ng/umbrella/commit/5d868db))
436
+ - ([#106](https://github.com/thi-ng/umbrella/issues/106)) add PD int ops, clamp existing `porterDuff()` ([4c975b2](https://github.com/thi-ng/umbrella/commit/4c975b2))
437
+ - add premultiplyInt / postmultiplyInt
259
438
 
260
- ### Features
439
+ #### 🩹 Bug fixes
261
440
 
262
- - **color:** ([#106](https://github.com/thi-ng/umbrella/issues/106)) add PD int ops, clamp existing `porterDuff()` ([4c975b2](https://github.com/thi-ng/umbrella/commit/4c975b2))
441
+ - update factory fn args for mem-mapped colors ([eae671e](https://github.com/thi-ng/umbrella/commit/eae671e))
442
+ - add support for opt offset/stride (was already supported by class ctors)
443
+ - update shared `ensureArgs()` helper
263
444
 
264
- ### BREAKING CHANGES
445
+ ## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@0.2.0) (2019-07-07)
265
446
 
266
- - **color:** Porter-Duff ops & pre/post-multiply moved to new package @thi.ng/porter-duff
447
+ #### 🚀 Features
267
448
 
268
- # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@0.1.21...@thi.ng/color@0.2.0) (2019-07-07)
449
+ - TS strictNullChecks, update color conversion fns ([04dc356](https://github.com/thi-ng/umbrella/commit/04dc356))
450
+ - enable TS strict compiler flags (refactor) ([8c13166](https://github.com/thi-ng/umbrella/commit/8c13166))
451
+ - reformat color matrices in transform.ts
269
452
 
270
- ### Features
453
+ ### [0.1.11](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@0.1.11) (2019-03-10)
271
454
 
272
- - **color:** enable TS strict compiler flags (refactor) ([8c13166](https://github.com/thi-ng/umbrella/commit/8c13166))
273
- - **color:** TS strictNullChecks, update color conversion fns ([04dc356](https://github.com/thi-ng/umbrella/commit/04dc356))
455
+ #### ♻️ Refactoring
274
456
 
275
- ## [0.1.10](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@0.1.9...@thi.ng/color@0.1.10) (2019-03-04)
457
+ - update Fn args in various packages ([e453ac3](https://github.com/thi-ng/umbrella/commit/e453ac3))
276
458
 
277
- ### Bug Fixes
459
+ ### [0.1.10](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@0.1.10) (2019-03-04)
278
460
 
279
- - **color:** add/update luminanceRGB/luminanceInt, add to re-exports ([566cf02](https://github.com/thi-ng/umbrella/commit/566cf02))
461
+ #### 🩹 Bug fixes
280
462
 
281
- ## [0.1.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/color@0.1.6...@thi.ng/color@0.1.7) (2019-02-28)
463
+ - add/update luminanceRGB/luminanceInt, add to re-exports ([566cf02](https://github.com/thi-ng/umbrella/commit/566cf02))
282
464
 
283
- ### Bug Fixes
465
+ ### [0.1.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@0.1.7) (2019-02-28)
284
466
 
285
- - **color:** update ColorMode & Hue const enum handling ([bb71b7c](https://github.com/thi-ng/umbrella/commit/bb71b7c))
467
+ #### 🩹 Bug fixes
286
468
 
287
- # 0.1.0 (2019-01-21)
469
+ - update ColorMode & Hue const enum handling ([bb71b7c](https://github.com/thi-ng/umbrella/commit/bb71b7c))
470
+ - remove reverse `__ColorMode` hack
471
+ - should fix bundling issues w/ webpack
288
472
 
289
- ### Bug Fixes
473
+ ### [0.1.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@0.1.3) (2019-02-05)
290
474
 
291
- - **color:** add/update conversions ([a5c53c3](https://github.com/thi-ng/umbrella/commit/a5c53c3))
292
- - **color:** HCYA field names ([1c28c22](https://github.com/thi-ng/umbrella/commit/1c28c22))
475
+ #### ♻️ Refactoring
293
476
 
294
- ### Features
477
+ - update imports (zip) ([2904590](https://github.com/thi-ng/umbrella/commit/2904590))
295
478
 
296
- - **color:** add alpha()/setAlpha(), add docs, re-exports, update readme ([b849bd1](https://github.com/thi-ng/umbrella/commit/b849bd1))
297
- - **color:** add convert() fallback, minor other updates ([aa30344](https://github.com/thi-ng/umbrella/commit/aa30344))
298
- - **color:** add HSI converters, add clampH(), minor refactors ([404ac54](https://github.com/thi-ng/umbrella/commit/404ac54))
299
- - **color:** add Hue enum, closestHue*() fns, namedHueRgba() ([e7bb46b](https://github.com/thi-ng/umbrella/commit/e7bb46b))
300
- - **color:** add luminance defmulti ([445b8c1](https://github.com/thi-ng/umbrella/commit/445b8c1))
301
- - **color:** add more color spaces, refactor, rename, simplify ([e930d73](https://github.com/thi-ng/umbrella/commit/e930d73))
302
- - **color:** add multiCosineGradient() ([dbbb26c](https://github.com/thi-ng/umbrella/commit/dbbb26c))
303
- - **color:** add new package ([0b51ef1](https://github.com/thi-ng/umbrella/commit/0b51ef1))
304
- - **color:** add Porter-Duff ops, pre/post-multiply, update types ([a5d2f98](https://github.com/thi-ng/umbrella/commit/a5d2f98))
305
- - **color:** add RGBA/HSLA wrapper types, update convert ([610699a](https://github.com/thi-ng/umbrella/commit/610699a))
306
- - **color:** add/update class wrappers ([5788646](https://github.com/thi-ng/umbrella/commit/5788646))
479
+ ## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/color@0.1.0) (2019-01-21)
307
480
 
308
- ### Performance Improvements
481
+ #### ♻️ Refactoring
309
482
 
310
- - **color:** refactor porterDiff as HOF, update all PD ops, add docs ([714381d](https://github.com/thi-ng/umbrella/commit/714381d))
483
+ - remove circular dependencies, update parseCss() ([5ca5803](https://github.com/thi-ng/umbrella/commit/5ca5803))