css-calipers 1.0.0 → 1.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +1 -1
- package/README.md +70 -424
- package/dist/cjs/color/formats/display-p3/display-p3.js +25 -0
- package/dist/cjs/color/formats/escalate.js +41 -0
- package/dist/cjs/color/formats/hex/hex.js +28 -0
- package/dist/cjs/color/formats/hexAlpha/hexAlpha.js +25 -0
- package/dist/cjs/color/formats/hsl/hsl.js +23 -0
- package/dist/cjs/color/formats/hwb/hwb.js +24 -0
- package/dist/cjs/color/formats/index.js +36 -0
- package/dist/cjs/color/formats/internals.js +93 -0
- package/dist/cjs/color/formats/lab/lab.js +24 -0
- package/dist/cjs/color/formats/lch/lch.js +23 -0
- package/dist/cjs/color/formats/oklab/oklab.js +24 -0
- package/dist/cjs/color/formats/oklch/oklch.js +28 -0
- package/dist/cjs/color/formats/resolve.js +16 -0
- package/dist/cjs/color/formats/rgb/rgb.js +29 -0
- package/dist/cjs/color/formats/rgba/rgba.js +27 -0
- package/dist/cjs/color/formats/types.js +11 -0
- package/dist/cjs/color/index.js +619 -0
- package/dist/cjs/color/types.js +2 -0
- package/dist/cjs/core.js +11 -8
- package/dist/cjs/corpus.js +53 -0
- package/dist/cjs/css-values/cssValues.js +78 -0
- package/dist/cjs/css-values/index.js +36 -0
- package/dist/cjs/css-values/multi.js +290 -0
- package/dist/cjs/css-values/propertyMap.js +2 -0
- package/dist/cjs/css-values/spec.js +197 -0
- package/dist/cjs/default.js +17 -0
- package/dist/cjs/factory.js +1 -1
- package/dist/cjs/float.js +110 -0
- package/dist/cjs/index.js +29 -9
- package/dist/cjs/integer.js +114 -0
- package/dist/cjs/internal/createCoreApi.js +103 -38
- package/dist/cjs/internal/errors.js +13 -14
- package/dist/cjs/internal/toPlainDecimal.js +31 -0
- package/dist/cjs/measurements.js +41 -0
- package/dist/cjs/ratio.js +57 -22
- package/dist/cjs/scalar.js +9 -0
- package/dist/cjs/units/absolute.js +8 -8
- package/dist/cjs/units/angle.js +5 -5
- package/dist/cjs/units/container.js +7 -7
- package/dist/cjs/units/font-relative.js +13 -13
- package/dist/cjs/units/frequency.js +3 -3
- package/dist/cjs/units/grid.js +2 -2
- package/dist/cjs/units/index.js +9 -9
- package/dist/cjs/units/percent.js +4 -4
- package/dist/cjs/units/resolution.js +4 -4
- package/dist/cjs/units/time.js +3 -3
- package/dist/cjs/units/viewport-dynamic.js +7 -7
- package/dist/cjs/units/viewport-large.js +7 -7
- package/dist/cjs/units/viewport-small.js +7 -7
- package/dist/cjs/units/viewport.js +7 -7
- package/dist/esm/color/formats/display-p3/display-p3.d.ts +10 -0
- package/dist/esm/color/formats/display-p3/display-p3.d.ts.map +1 -0
- package/dist/esm/color/formats/display-p3/display-p3.js +22 -0
- package/dist/esm/color/formats/escalate.d.ts +10 -0
- package/dist/esm/color/formats/escalate.d.ts.map +1 -0
- package/dist/esm/color/formats/escalate.js +37 -0
- package/dist/esm/color/formats/hex/hex.d.ts +9 -0
- package/dist/esm/color/formats/hex/hex.d.ts.map +1 -0
- package/dist/esm/color/formats/hex/hex.js +25 -0
- package/dist/esm/color/formats/hexAlpha/hexAlpha.d.ts +9 -0
- package/dist/esm/color/formats/hexAlpha/hexAlpha.d.ts.map +1 -0
- package/dist/esm/color/formats/hexAlpha/hexAlpha.js +22 -0
- package/dist/esm/color/formats/hsl/hsl.d.ts +8 -0
- package/dist/esm/color/formats/hsl/hsl.d.ts.map +1 -0
- package/dist/esm/color/formats/hsl/hsl.js +20 -0
- package/dist/esm/color/formats/hwb/hwb.d.ts +9 -0
- package/dist/esm/color/formats/hwb/hwb.d.ts.map +1 -0
- package/dist/esm/color/formats/hwb/hwb.js +21 -0
- package/dist/esm/color/formats/index.d.ts +24 -0
- package/dist/esm/color/formats/index.d.ts.map +1 -0
- package/dist/esm/color/formats/index.js +32 -0
- package/dist/esm/color/formats/internals.d.ts +35 -0
- package/dist/esm/color/formats/internals.d.ts.map +1 -0
- package/dist/esm/color/formats/internals.js +78 -0
- package/dist/esm/color/formats/lab/lab.d.ts +9 -0
- package/dist/esm/color/formats/lab/lab.d.ts.map +1 -0
- package/dist/esm/color/formats/lab/lab.js +21 -0
- package/dist/esm/color/formats/lch/lch.d.ts +8 -0
- package/dist/esm/color/formats/lch/lch.d.ts.map +1 -0
- package/dist/esm/color/formats/lch/lch.js +20 -0
- package/dist/esm/color/formats/oklab/oklab.d.ts +9 -0
- package/dist/esm/color/formats/oklab/oklab.d.ts.map +1 -0
- package/dist/esm/color/formats/oklab/oklab.js +21 -0
- package/dist/esm/color/formats/oklch/oklch.d.ts +13 -0
- package/dist/esm/color/formats/oklch/oklch.d.ts.map +1 -0
- package/dist/esm/color/formats/oklch/oklch.js +25 -0
- package/dist/esm/color/formats/resolve.d.ts +15 -0
- package/dist/esm/color/formats/resolve.d.ts.map +1 -0
- package/dist/esm/color/formats/resolve.js +12 -0
- package/dist/esm/color/formats/rgb/rgb.d.ts +11 -0
- package/dist/esm/color/formats/rgb/rgb.d.ts.map +1 -0
- package/dist/esm/color/formats/rgb/rgb.js +26 -0
- package/dist/esm/color/formats/rgba/rgba.d.ts +9 -0
- package/dist/esm/color/formats/rgba/rgba.d.ts.map +1 -0
- package/dist/esm/color/formats/rgba/rgba.js +24 -0
- package/dist/esm/color/formats/types.d.ts +48 -0
- package/dist/esm/color/formats/types.d.ts.map +1 -0
- package/dist/esm/color/formats/types.js +7 -0
- package/dist/esm/color/index.d.ts +81 -0
- package/dist/esm/color/index.d.ts.map +1 -0
- package/dist/esm/color/index.js +609 -0
- package/dist/esm/color/types.d.ts +294 -0
- package/dist/esm/color/types.d.ts.map +1 -0
- package/dist/esm/color/types.js +1 -0
- package/dist/esm/core.d.ts +76 -270
- package/dist/esm/core.d.ts.map +1 -1
- package/dist/esm/core.js +5 -7
- package/dist/esm/corpus.d.ts +26 -0
- package/dist/esm/corpus.d.ts.map +1 -0
- package/dist/esm/corpus.js +37 -0
- package/dist/esm/css-values/cssValues.d.ts +60 -0
- package/dist/esm/css-values/cssValues.d.ts.map +1 -0
- package/dist/esm/css-values/cssValues.js +74 -0
- package/dist/esm/css-values/index.d.ts +6 -0
- package/dist/esm/css-values/index.d.ts.map +1 -0
- package/dist/esm/css-values/index.js +12 -0
- package/dist/esm/css-values/multi.d.ts +188 -0
- package/dist/esm/css-values/multi.d.ts.map +1 -0
- package/dist/esm/css-values/multi.js +281 -0
- package/dist/esm/css-values/propertyMap.d.ts +39 -0
- package/dist/esm/css-values/propertyMap.d.ts.map +1 -0
- package/dist/esm/css-values/propertyMap.js +1 -0
- package/dist/esm/css-values/spec.d.ts +36 -0
- package/dist/esm/css-values/spec.d.ts.map +1 -0
- package/dist/esm/css-values/spec.js +194 -0
- package/dist/esm/default.d.ts +267 -0
- package/dist/esm/default.d.ts.map +1 -0
- package/dist/esm/default.js +14 -0
- package/dist/esm/factory.d.ts +1 -1
- package/dist/esm/factory.d.ts.map +1 -1
- package/dist/esm/factory.js +3 -3
- package/dist/esm/float.d.ts +35 -0
- package/dist/esm/float.d.ts.map +1 -0
- package/dist/esm/float.js +104 -0
- package/dist/esm/index.d.ts +11 -9
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +19 -9
- package/dist/esm/integer.d.ts +36 -0
- package/dist/esm/integer.d.ts.map +1 -0
- package/dist/esm/integer.js +108 -0
- package/dist/esm/internal/buildMeasurementCreationError.tests.d.ts +1 -1
- package/dist/esm/internal/buildMeasurementCreationError.tests.d.ts.map +1 -1
- package/dist/esm/internal/createCoreApi.d.ts +9 -1
- package/dist/esm/internal/createCoreApi.d.ts.map +1 -1
- package/dist/esm/internal/createCoreApi.js +103 -38
- package/dist/esm/internal/createUnitsApi.d.ts +1 -1
- package/dist/esm/internal/createUnitsApi.d.ts.map +1 -1
- package/dist/esm/internal/errors.d.ts +3 -3
- package/dist/esm/internal/errors.d.ts.map +1 -1
- package/dist/esm/internal/errors.js +13 -14
- package/dist/esm/internal/toPlainDecimal.d.ts +2 -0
- package/dist/esm/internal/toPlainDecimal.d.ts.map +1 -0
- package/dist/esm/internal/toPlainDecimal.js +27 -0
- package/dist/esm/measurements.d.ts +16 -0
- package/dist/esm/measurements.d.ts.map +1 -0
- package/dist/esm/measurements.js +25 -0
- package/dist/esm/ratio.d.ts +14 -5
- package/dist/esm/ratio.d.ts.map +1 -1
- package/dist/esm/ratio.js +57 -22
- package/dist/esm/scalar.d.ts +14 -0
- package/dist/esm/scalar.d.ts.map +1 -0
- package/dist/esm/scalar.js +5 -0
- package/dist/esm/units/absolute.d.ts +1 -1
- package/dist/esm/units/absolute.d.ts.map +1 -1
- package/dist/esm/units/absolute.js +1 -1
- package/dist/esm/units/angle.d.ts +1 -1
- package/dist/esm/units/angle.d.ts.map +1 -1
- package/dist/esm/units/angle.js +1 -1
- package/dist/esm/units/container.d.ts +1 -1
- package/dist/esm/units/container.d.ts.map +1 -1
- package/dist/esm/units/container.js +1 -1
- package/dist/esm/units/font-relative.d.ts +1 -1
- package/dist/esm/units/font-relative.d.ts.map +1 -1
- package/dist/esm/units/font-relative.js +1 -1
- package/dist/esm/units/frequency.d.ts +1 -1
- package/dist/esm/units/frequency.d.ts.map +1 -1
- package/dist/esm/units/frequency.js +1 -1
- package/dist/esm/units/grid.d.ts +1 -1
- package/dist/esm/units/grid.d.ts.map +1 -1
- package/dist/esm/units/grid.js +1 -1
- package/dist/esm/units/index.d.ts +9 -9
- package/dist/esm/units/index.d.ts.map +1 -1
- package/dist/esm/units/index.js +9 -9
- package/dist/esm/units/percent.d.ts +1 -1
- package/dist/esm/units/percent.d.ts.map +1 -1
- package/dist/esm/units/percent.js +1 -1
- package/dist/esm/units/resolution.d.ts +1 -1
- package/dist/esm/units/resolution.d.ts.map +1 -1
- package/dist/esm/units/resolution.js +1 -1
- package/dist/esm/units/time.d.ts +1 -1
- package/dist/esm/units/time.d.ts.map +1 -1
- package/dist/esm/units/time.js +1 -1
- package/dist/esm/units/viewport-dynamic.d.ts +1 -1
- package/dist/esm/units/viewport-dynamic.d.ts.map +1 -1
- package/dist/esm/units/viewport-dynamic.js +1 -1
- package/dist/esm/units/viewport-large.d.ts +1 -1
- package/dist/esm/units/viewport-large.d.ts.map +1 -1
- package/dist/esm/units/viewport-large.js +1 -1
- package/dist/esm/units/viewport-small.d.ts +1 -1
- package/dist/esm/units/viewport-small.d.ts.map +1 -1
- package/dist/esm/units/viewport-small.js +1 -1
- package/dist/esm/units/viewport.d.ts +1 -1
- package/dist/esm/units/viewport.d.ts.map +1 -1
- package/dist/esm/units/viewport.js +1 -1
- package/package.json +54 -12
package/dist/cjs/ratio.js
CHANGED
|
@@ -10,24 +10,43 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var _RatioImpl_numerator, _RatioImpl_denominator, _RatioImpl_omitDenominatorWhenOne;
|
|
13
|
+
var _RatioImpl_numerator, _RatioImpl_denominator, _RatioImpl_numeratorScalar, _RatioImpl_denominatorScalar, _RatioImpl_omitDenominatorWhenOne;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.toFloat = exports.ratioToFloat = exports.simplifyRatio = exports.reduceRatio = exports.normalizeRatio = exports.parseRatio = exports.isRatio = void 0;
|
|
16
16
|
exports.r = r;
|
|
17
|
+
const float_1 = require("./float");
|
|
18
|
+
const integer_1 = require("./integer");
|
|
19
|
+
const scalar_1 = require("./scalar");
|
|
20
|
+
const ratioValueToNumber = (value) => (0, scalar_1.toNumber)(value);
|
|
21
|
+
const isRatioValue = (value) => typeof value === 'number' || (0, integer_1.isInteger)(value) || (0, float_1.isFloat)(value);
|
|
22
|
+
/** Recover a typed scalar from a ratio operand: a typed operand comes back INTACT;
|
|
23
|
+
* a raw number reconstructs by value (whole -> i(), fractional -> f()). */
|
|
24
|
+
const toScalar = (value) => {
|
|
25
|
+
if ((0, integer_1.isInteger)(value) || (0, float_1.isFloat)(value))
|
|
26
|
+
return value;
|
|
27
|
+
return Number.isInteger(value) ? (0, integer_1.i)(value) : (0, float_1.f)(value);
|
|
28
|
+
};
|
|
17
29
|
class RatioImpl {
|
|
18
30
|
constructor(numerator, denominator, options = {}) {
|
|
19
31
|
var _a;
|
|
20
32
|
_RatioImpl_numerator.set(this, void 0);
|
|
21
33
|
_RatioImpl_denominator.set(this, void 0);
|
|
34
|
+
_RatioImpl_numeratorScalar.set(this, void 0);
|
|
35
|
+
_RatioImpl_denominatorScalar.set(this, void 0);
|
|
22
36
|
_RatioImpl_omitDenominatorWhenOne.set(this, void 0);
|
|
23
|
-
|
|
37
|
+
const numeratorValue = ratioValueToNumber(numerator);
|
|
38
|
+
const denominatorValue = ratioValueToNumber(denominator);
|
|
39
|
+
if (!Number.isFinite(numeratorValue) ||
|
|
40
|
+
!Number.isFinite(denominatorValue)) {
|
|
24
41
|
throw new Error('Ratio values must be finite numbers.');
|
|
25
42
|
}
|
|
26
|
-
if (
|
|
43
|
+
if (denominatorValue === 0) {
|
|
27
44
|
throw new Error('Ratio denominator cannot be zero.');
|
|
28
45
|
}
|
|
29
|
-
__classPrivateFieldSet(this, _RatioImpl_numerator,
|
|
30
|
-
__classPrivateFieldSet(this, _RatioImpl_denominator,
|
|
46
|
+
__classPrivateFieldSet(this, _RatioImpl_numerator, numeratorValue, "f");
|
|
47
|
+
__classPrivateFieldSet(this, _RatioImpl_denominator, denominatorValue, "f");
|
|
48
|
+
__classPrivateFieldSet(this, _RatioImpl_numeratorScalar, toScalar(numerator), "f");
|
|
49
|
+
__classPrivateFieldSet(this, _RatioImpl_denominatorScalar, toScalar(denominator), "f");
|
|
31
50
|
__classPrivateFieldSet(this, _RatioImpl_omitDenominatorWhenOne, (_a = options.omitDenominatorWhenOne) !== null && _a !== void 0 ? _a : false, "f");
|
|
32
51
|
}
|
|
33
52
|
numerator() {
|
|
@@ -36,11 +55,17 @@ class RatioImpl {
|
|
|
36
55
|
denominator() {
|
|
37
56
|
return __classPrivateFieldGet(this, _RatioImpl_denominator, "f");
|
|
38
57
|
}
|
|
58
|
+
numeratorScalar() {
|
|
59
|
+
return __classPrivateFieldGet(this, _RatioImpl_numeratorScalar, "f");
|
|
60
|
+
}
|
|
61
|
+
denominatorScalar() {
|
|
62
|
+
return __classPrivateFieldGet(this, _RatioImpl_denominatorScalar, "f");
|
|
63
|
+
}
|
|
39
64
|
withNumerator(numerator) {
|
|
40
|
-
return new RatioImpl(numerator, __classPrivateFieldGet(this,
|
|
65
|
+
return new RatioImpl(numerator, __classPrivateFieldGet(this, _RatioImpl_denominatorScalar, "f"));
|
|
41
66
|
}
|
|
42
67
|
withDenominator(denominator) {
|
|
43
|
-
return new RatioImpl(__classPrivateFieldGet(this,
|
|
68
|
+
return new RatioImpl(__classPrivateFieldGet(this, _RatioImpl_numeratorScalar, "f"), denominator);
|
|
44
69
|
}
|
|
45
70
|
valueOf() {
|
|
46
71
|
return __classPrivateFieldGet(this, _RatioImpl_numerator, "f") / __classPrivateFieldGet(this, _RatioImpl_denominator, "f");
|
|
@@ -55,18 +80,17 @@ class RatioImpl {
|
|
|
55
80
|
return this.css();
|
|
56
81
|
}
|
|
57
82
|
}
|
|
58
|
-
_RatioImpl_numerator = new WeakMap(), _RatioImpl_denominator = new WeakMap(), _RatioImpl_omitDenominatorWhenOne = new WeakMap();
|
|
83
|
+
_RatioImpl_numerator = new WeakMap(), _RatioImpl_denominator = new WeakMap(), _RatioImpl_numeratorScalar = new WeakMap(), _RatioImpl_denominatorScalar = new WeakMap(), _RatioImpl_omitDenominatorWhenOne = new WeakMap();
|
|
59
84
|
function r(numeratorOrDenominator, denominatorOrOptions, options) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const ratio = new RatioImpl(numerator, resolvedDenominator);
|
|
85
|
+
let resolvedDenominator = 1;
|
|
86
|
+
let resolvedOptions = options;
|
|
87
|
+
if (isRatioValue(denominatorOrOptions)) {
|
|
88
|
+
resolvedDenominator = denominatorOrOptions;
|
|
89
|
+
}
|
|
90
|
+
else if (denominatorOrOptions !== undefined) {
|
|
91
|
+
resolvedOptions = denominatorOrOptions;
|
|
92
|
+
}
|
|
93
|
+
const ratio = new RatioImpl(numeratorOrDenominator, resolvedDenominator);
|
|
70
94
|
return (resolvedOptions === null || resolvedOptions === void 0 ? void 0 : resolvedOptions.simplify) ? (0, exports.simplifyRatio)(ratio) : ratio;
|
|
71
95
|
}
|
|
72
96
|
const isRatio = (value) => {
|
|
@@ -86,20 +110,30 @@ const parseRatio = (value) => {
|
|
|
86
110
|
? { numerator: value, denominator: 1 }
|
|
87
111
|
: null;
|
|
88
112
|
}
|
|
113
|
+
if ((0, integer_1.isInteger)(value) || (0, float_1.isFloat)(value)) {
|
|
114
|
+
const numeric = value.valueOf();
|
|
115
|
+
return Number.isFinite(numeric)
|
|
116
|
+
? { numerator: numeric, denominator: 1 }
|
|
117
|
+
: null;
|
|
118
|
+
}
|
|
89
119
|
if ((0, exports.isRatio)(value)) {
|
|
90
|
-
return {
|
|
120
|
+
return {
|
|
121
|
+
numerator: value.numerator(),
|
|
122
|
+
denominator: value.denominator(),
|
|
123
|
+
};
|
|
91
124
|
}
|
|
92
125
|
const trimmed = value.trim();
|
|
93
126
|
if (!trimmed)
|
|
94
127
|
return null;
|
|
95
128
|
if (trimmed.includes('/') || trimmed.includes(':')) {
|
|
96
129
|
const delimiter = trimmed.includes('/') ? '/' : ':';
|
|
97
|
-
const [left, right] = trimmed.split(delimiter);
|
|
130
|
+
const [left, right,] = trimmed.split(delimiter);
|
|
98
131
|
if (left === undefined || right === undefined)
|
|
99
132
|
return null;
|
|
100
133
|
const numerator = Number(left.trim());
|
|
101
134
|
const denominator = Number(right.trim());
|
|
102
|
-
if (!Number.isFinite(numerator) ||
|
|
135
|
+
if (!Number.isFinite(numerator) ||
|
|
136
|
+
!Number.isFinite(denominator)) {
|
|
103
137
|
return null;
|
|
104
138
|
}
|
|
105
139
|
if (denominator === 0)
|
|
@@ -121,7 +155,8 @@ const normalizeRatio = (ratio) => {
|
|
|
121
155
|
if (denominator === 0) {
|
|
122
156
|
throw new Error('Ratio denominator cannot be zero.');
|
|
123
157
|
}
|
|
124
|
-
if (!Number.isInteger(numerator) ||
|
|
158
|
+
if (!Number.isInteger(numerator) ||
|
|
159
|
+
!Number.isInteger(denominator)) {
|
|
125
160
|
return new RatioImpl(numerator, denominator);
|
|
126
161
|
}
|
|
127
162
|
if (denominator < 0) {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toNumber = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Coerce a {@link Scalar} to a plain number. Mirrors the per-module `coerce`
|
|
6
|
+
* helpers in `integer.ts` / `float.ts` and `ratioValueToNumber` in `ratio.ts`.
|
|
7
|
+
*/
|
|
8
|
+
const toNumber = (value) => typeof value === 'number' ? value : value.valueOf();
|
|
9
|
+
exports.toNumber = toNumber;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mPt = exports.mPc = exports.mIn = exports.mQ = exports.mMm = exports.mCm = exports.mPx = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mPx = (0,
|
|
6
|
-
exports.mCm = (0,
|
|
7
|
-
exports.mMm = (0,
|
|
8
|
-
exports.mQ = (0,
|
|
9
|
-
exports.mIn = (0,
|
|
10
|
-
exports.mPc = (0,
|
|
11
|
-
exports.mPt = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mPx = (0, default_1.makeUnitHelperFromDefinition)('mPx');
|
|
6
|
+
exports.mCm = (0, default_1.makeUnitHelperFromDefinition)('mCm');
|
|
7
|
+
exports.mMm = (0, default_1.makeUnitHelperFromDefinition)('mMm');
|
|
8
|
+
exports.mQ = (0, default_1.makeUnitHelperFromDefinition)('mQ');
|
|
9
|
+
exports.mIn = (0, default_1.makeUnitHelperFromDefinition)('mIn');
|
|
10
|
+
exports.mPc = (0, default_1.makeUnitHelperFromDefinition)('mPc');
|
|
11
|
+
exports.mPt = (0, default_1.makeUnitHelperFromDefinition)('mPt');
|
package/dist/cjs/units/angle.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mTurn = exports.mGrad = exports.mRad = exports.mDeg = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mDeg = (0,
|
|
6
|
-
exports.mRad = (0,
|
|
7
|
-
exports.mGrad = (0,
|
|
8
|
-
exports.mTurn = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mDeg = (0, default_1.makeUnitHelperFromDefinition)('mDeg');
|
|
6
|
+
exports.mRad = (0, default_1.makeUnitHelperFromDefinition)('mRad');
|
|
7
|
+
exports.mGrad = (0, default_1.makeUnitHelperFromDefinition)('mGrad');
|
|
8
|
+
exports.mTurn = (0, default_1.makeUnitHelperFromDefinition)('mTurn');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mCqmax = exports.mCqmin = exports.mCqb = exports.mCqi = exports.mCqh = exports.mCqw = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mCqw = (0,
|
|
6
|
-
exports.mCqh = (0,
|
|
7
|
-
exports.mCqi = (0,
|
|
8
|
-
exports.mCqb = (0,
|
|
9
|
-
exports.mCqmin = (0,
|
|
10
|
-
exports.mCqmax = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mCqw = (0, default_1.makeUnitHelperFromDefinition)('mCqw');
|
|
6
|
+
exports.mCqh = (0, default_1.makeUnitHelperFromDefinition)('mCqh');
|
|
7
|
+
exports.mCqi = (0, default_1.makeUnitHelperFromDefinition)('mCqi');
|
|
8
|
+
exports.mCqb = (0, default_1.makeUnitHelperFromDefinition)('mCqb');
|
|
9
|
+
exports.mCqmin = (0, default_1.makeUnitHelperFromDefinition)('mCqmin');
|
|
10
|
+
exports.mCqmax = (0, default_1.makeUnitHelperFromDefinition)('mCqmax');
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mRlh = exports.mLh = exports.mRic = exports.mIc = exports.mRcap = exports.mCap = exports.mRch = exports.mCh = exports.mRex = exports.mEx = exports.mRem = exports.mEm = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mEm = (0,
|
|
6
|
-
exports.mRem = (0,
|
|
7
|
-
exports.mEx = (0,
|
|
8
|
-
exports.mRex = (0,
|
|
9
|
-
exports.mCh = (0,
|
|
10
|
-
exports.mRch = (0,
|
|
11
|
-
exports.mCap = (0,
|
|
12
|
-
exports.mRcap = (0,
|
|
13
|
-
exports.mIc = (0,
|
|
14
|
-
exports.mRic = (0,
|
|
15
|
-
exports.mLh = (0,
|
|
16
|
-
exports.mRlh = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mEm = (0, default_1.makeUnitHelperFromDefinition)('mEm');
|
|
6
|
+
exports.mRem = (0, default_1.makeUnitHelperFromDefinition)('mRem');
|
|
7
|
+
exports.mEx = (0, default_1.makeUnitHelperFromDefinition)('mEx');
|
|
8
|
+
exports.mRex = (0, default_1.makeUnitHelperFromDefinition)('mRex');
|
|
9
|
+
exports.mCh = (0, default_1.makeUnitHelperFromDefinition)('mCh');
|
|
10
|
+
exports.mRch = (0, default_1.makeUnitHelperFromDefinition)('mRch');
|
|
11
|
+
exports.mCap = (0, default_1.makeUnitHelperFromDefinition)('mCap');
|
|
12
|
+
exports.mRcap = (0, default_1.makeUnitHelperFromDefinition)('mRcap');
|
|
13
|
+
exports.mIc = (0, default_1.makeUnitHelperFromDefinition)('mIc');
|
|
14
|
+
exports.mRic = (0, default_1.makeUnitHelperFromDefinition)('mRic');
|
|
15
|
+
exports.mLh = (0, default_1.makeUnitHelperFromDefinition)('mLh');
|
|
16
|
+
exports.mRlh = (0, default_1.makeUnitHelperFromDefinition)('mRlh');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mKhz = exports.mHz = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mHz = (0,
|
|
6
|
-
exports.mKhz = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mHz = (0, default_1.makeUnitHelperFromDefinition)('mHz');
|
|
6
|
+
exports.mKhz = (0, default_1.makeUnitHelperFromDefinition)('mKhz');
|
package/dist/cjs/units/grid.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mFr = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mFr = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mFr = (0, default_1.makeUnitHelperFromDefinition)('mFr');
|
package/dist/cjs/units/index.js
CHANGED
|
@@ -14,16 +14,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./percent"), exports);
|
|
18
17
|
__exportStar(require("./absolute"), exports);
|
|
19
|
-
__exportStar(require("./font-relative"), exports);
|
|
20
|
-
__exportStar(require("./viewport"), exports);
|
|
21
|
-
__exportStar(require("./viewport-small"), exports);
|
|
22
|
-
__exportStar(require("./viewport-large"), exports);
|
|
23
|
-
__exportStar(require("./viewport-dynamic"), exports);
|
|
24
|
-
__exportStar(require("./container"), exports);
|
|
25
18
|
__exportStar(require("./angle"), exports);
|
|
26
|
-
__exportStar(require("./
|
|
19
|
+
__exportStar(require("./container"), exports);
|
|
20
|
+
__exportStar(require("./font-relative"), exports);
|
|
27
21
|
__exportStar(require("./frequency"), exports);
|
|
28
|
-
__exportStar(require("./resolution"), exports);
|
|
29
22
|
__exportStar(require("./grid"), exports);
|
|
23
|
+
__exportStar(require("./percent"), exports);
|
|
24
|
+
__exportStar(require("./resolution"), exports);
|
|
25
|
+
__exportStar(require("./time"), exports);
|
|
26
|
+
__exportStar(require("./viewport"), exports);
|
|
27
|
+
__exportStar(require("./viewport-dynamic"), exports);
|
|
28
|
+
__exportStar(require("./viewport-large"), exports);
|
|
29
|
+
__exportStar(require("./viewport-small"), exports);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.assertPercentMeasurement = exports.isPercentMeasurement = exports.mPercent = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mPercent = (0,
|
|
6
|
-
exports.isPercentMeasurement = (0,
|
|
7
|
-
exports.assertPercentMeasurement = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mPercent = (0, default_1.makeUnitHelperFromDefinition)('mPercent');
|
|
6
|
+
exports.isPercentMeasurement = (0, default_1.makeUnitGuard)(exports.mPercent);
|
|
7
|
+
exports.assertPercentMeasurement = (0, default_1.makeUnitAssert)(exports.mPercent);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mDppx = exports.mDpcm = exports.mDpi = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mDpi = (0,
|
|
6
|
-
exports.mDpcm = (0,
|
|
7
|
-
exports.mDppx = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mDpi = (0, default_1.makeUnitHelperFromDefinition)('mDpi');
|
|
6
|
+
exports.mDpcm = (0, default_1.makeUnitHelperFromDefinition)('mDpcm');
|
|
7
|
+
exports.mDppx = (0, default_1.makeUnitHelperFromDefinition)('mDppx');
|
package/dist/cjs/units/time.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mMs = exports.mS = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mS = (0,
|
|
6
|
-
exports.mMs = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mS = (0, default_1.makeUnitHelperFromDefinition)('mS');
|
|
6
|
+
exports.mMs = (0, default_1.makeUnitHelperFromDefinition)('mMs');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mDvmax = exports.mDvmin = exports.mDvb = exports.mDvi = exports.mDvh = exports.mDvw = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mDvw = (0,
|
|
6
|
-
exports.mDvh = (0,
|
|
7
|
-
exports.mDvi = (0,
|
|
8
|
-
exports.mDvb = (0,
|
|
9
|
-
exports.mDvmin = (0,
|
|
10
|
-
exports.mDvmax = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mDvw = (0, default_1.makeUnitHelperFromDefinition)('mDvw');
|
|
6
|
+
exports.mDvh = (0, default_1.makeUnitHelperFromDefinition)('mDvh');
|
|
7
|
+
exports.mDvi = (0, default_1.makeUnitHelperFromDefinition)('mDvi');
|
|
8
|
+
exports.mDvb = (0, default_1.makeUnitHelperFromDefinition)('mDvb');
|
|
9
|
+
exports.mDvmin = (0, default_1.makeUnitHelperFromDefinition)('mDvmin');
|
|
10
|
+
exports.mDvmax = (0, default_1.makeUnitHelperFromDefinition)('mDvmax');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mLvmax = exports.mLvmin = exports.mLvb = exports.mLvi = exports.mLvh = exports.mLvw = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mLvw = (0,
|
|
6
|
-
exports.mLvh = (0,
|
|
7
|
-
exports.mLvi = (0,
|
|
8
|
-
exports.mLvb = (0,
|
|
9
|
-
exports.mLvmin = (0,
|
|
10
|
-
exports.mLvmax = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mLvw = (0, default_1.makeUnitHelperFromDefinition)('mLvw');
|
|
6
|
+
exports.mLvh = (0, default_1.makeUnitHelperFromDefinition)('mLvh');
|
|
7
|
+
exports.mLvi = (0, default_1.makeUnitHelperFromDefinition)('mLvi');
|
|
8
|
+
exports.mLvb = (0, default_1.makeUnitHelperFromDefinition)('mLvb');
|
|
9
|
+
exports.mLvmin = (0, default_1.makeUnitHelperFromDefinition)('mLvmin');
|
|
10
|
+
exports.mLvmax = (0, default_1.makeUnitHelperFromDefinition)('mLvmax');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mSvmax = exports.mSvmin = exports.mSvb = exports.mSvi = exports.mSvh = exports.mSvw = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mSvw = (0,
|
|
6
|
-
exports.mSvh = (0,
|
|
7
|
-
exports.mSvi = (0,
|
|
8
|
-
exports.mSvb = (0,
|
|
9
|
-
exports.mSvmin = (0,
|
|
10
|
-
exports.mSvmax = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mSvw = (0, default_1.makeUnitHelperFromDefinition)('mSvw');
|
|
6
|
+
exports.mSvh = (0, default_1.makeUnitHelperFromDefinition)('mSvh');
|
|
7
|
+
exports.mSvi = (0, default_1.makeUnitHelperFromDefinition)('mSvi');
|
|
8
|
+
exports.mSvb = (0, default_1.makeUnitHelperFromDefinition)('mSvb');
|
|
9
|
+
exports.mSvmin = (0, default_1.makeUnitHelperFromDefinition)('mSvmin');
|
|
10
|
+
exports.mSvmax = (0, default_1.makeUnitHelperFromDefinition)('mSvmax');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mVmax = exports.mVmin = exports.mVb = exports.mVi = exports.mVh = exports.mVw = void 0;
|
|
4
|
-
const
|
|
5
|
-
exports.mVw = (0,
|
|
6
|
-
exports.mVh = (0,
|
|
7
|
-
exports.mVi = (0,
|
|
8
|
-
exports.mVb = (0,
|
|
9
|
-
exports.mVmin = (0,
|
|
10
|
-
exports.mVmax = (0,
|
|
4
|
+
const default_1 = require("../default");
|
|
5
|
+
exports.mVw = (0, default_1.makeUnitHelperFromDefinition)('mVw');
|
|
6
|
+
exports.mVh = (0, default_1.makeUnitHelperFromDefinition)('mVh');
|
|
7
|
+
exports.mVi = (0, default_1.makeUnitHelperFromDefinition)('mVi');
|
|
8
|
+
exports.mVb = (0, default_1.makeUnitHelperFromDefinition)('mVb');
|
|
9
|
+
exports.mVmin = (0, default_1.makeUnitHelperFromDefinition)('mVmin');
|
|
10
|
+
exports.mVmax = (0, default_1.makeUnitHelperFromDefinition)('mVmax');
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* display-p3 — wider-than-sRGB device RGB (the P3 gamut), with alpha. This is the
|
|
3
|
+
* one gamut-DEPENDENT format: a fallback should also gate on
|
|
4
|
+
* `@media (color-gamut: p3)`, since the wider color only shows on a P3 display. Out
|
|
5
|
+
* of P3 is clamped (strictness-governed). Not a floor.
|
|
6
|
+
*
|
|
7
|
+
* See `display-p3.md`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const displayP3: import("../types").ColorSpaceDescriptor<"displayP3">;
|
|
10
|
+
//# sourceMappingURL=display-p3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-p3.d.ts","sourceRoot":"","sources":["../../../../../src/color/formats/display-p3/display-p3.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,sDAcpB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { alphaSlot, fitGamut, inP3, round, toP3 } from '../internals';
|
|
2
|
+
import { defineColorSpace } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* display-p3 — wider-than-sRGB device RGB (the P3 gamut), with alpha. This is the
|
|
5
|
+
* one gamut-DEPENDENT format: a fallback should also gate on
|
|
6
|
+
* `@media (color-gamut: p3)`, since the wider color only shows on a P3 display. Out
|
|
7
|
+
* of P3 is clamped (strictness-governed). Not a floor.
|
|
8
|
+
*
|
|
9
|
+
* See `display-p3.md`.
|
|
10
|
+
*/
|
|
11
|
+
export const displayP3 = defineColorSpace({
|
|
12
|
+
format: 'displayP3',
|
|
13
|
+
hasAlpha: true,
|
|
14
|
+
gamut: 'p3',
|
|
15
|
+
supportsProbe: '(color: color(display-p3 0 0 0))',
|
|
16
|
+
gamutDependent: true,
|
|
17
|
+
srgbFloor: false,
|
|
18
|
+
render: (color, cfg) => {
|
|
19
|
+
const c = toP3(fitGamut(color, inP3, 'p3', cfg.strictness));
|
|
20
|
+
return `color(display-p3 ${round(c.r, 5)} ${round(c.g, 5)} ${round(c.b, 5)}${alphaSlot(color, cfg)})`;
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Color } from 'culori';
|
|
2
|
+
import type { OutputFormat } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve an output config to a single format. A single format passes through
|
|
5
|
+
* unchanged (an explicit choice, no escalation). A priority list escalates to the
|
|
6
|
+
* first format that faithfully holds the color, or the last entry if none do (which
|
|
7
|
+
* then clamps via the render step's strictness).
|
|
8
|
+
*/
|
|
9
|
+
export declare const chooseFormat: (color: Color, output: OutputFormat | ReadonlyArray<OutputFormat>) => OutputFormat;
|
|
10
|
+
//# sourceMappingURL=escalate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escalate.d.ts","sourceRoot":"","sources":["../../../../src/color/formats/escalate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA2B7C;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,KAAK,EACZ,QAAQ,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,KACjD,YAWF,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { colorFormats } from './index';
|
|
2
|
+
import { hasRealAlpha, inP3, inSrgb } from './internals';
|
|
3
|
+
import { asDescriptor } from './resolve';
|
|
4
|
+
const descriptorFor = (format) => asDescriptor(format, colorFormats);
|
|
5
|
+
/**
|
|
6
|
+
* Whether a format can FAITHFULLY hold the color: its gamut contains the color, and
|
|
7
|
+
* it carries alpha if the color is non-opaque. 8-bit sRGB precision is accepted as
|
|
8
|
+
* faithful, so gamut + alpha are the only fit criteria.
|
|
9
|
+
*/
|
|
10
|
+
const fits = (color, format) => {
|
|
11
|
+
const d = descriptorFor(format);
|
|
12
|
+
const gamutOk = d.gamut === 'unbounded'
|
|
13
|
+
? true
|
|
14
|
+
: d.gamut === 'p3'
|
|
15
|
+
? inP3(color)
|
|
16
|
+
: inSrgb(color);
|
|
17
|
+
const alphaOk = d.hasAlpha || !hasRealAlpha(color);
|
|
18
|
+
return gamutOk && alphaOk;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Resolve an output config to a single format. A single format passes through
|
|
22
|
+
* unchanged (an explicit choice, no escalation). A priority list escalates to the
|
|
23
|
+
* first format that faithfully holds the color, or the last entry if none do (which
|
|
24
|
+
* then clamps via the render step's strictness).
|
|
25
|
+
*/
|
|
26
|
+
export const chooseFormat = (color, output) => {
|
|
27
|
+
if (!Array.isArray(output)) {
|
|
28
|
+
return output;
|
|
29
|
+
}
|
|
30
|
+
const list = output;
|
|
31
|
+
for (const format of list) {
|
|
32
|
+
if (fits(color, format)) {
|
|
33
|
+
return format;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return list[list.length - 1];
|
|
37
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hex — sRGB, no alpha, 8-bit (`#rrggbb`). The most compact universal form; a safe
|
|
3
|
+
* floor with no `@supports` probe. A real alpha can't be held and is a violation
|
|
4
|
+
* (use `hexAlpha`); out-of-sRGB is clamped (strictness-governed).
|
|
5
|
+
*
|
|
6
|
+
* See `hex.md`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const hex: import("../types").ColorSpaceDescriptor<"hex">;
|
|
9
|
+
//# sourceMappingURL=hex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../../../../src/color/formats/hex/hex.ts"],"names":[],"mappings":"AAeA;;;;;;GAMG;AACH,eAAO,MAAM,GAAG,gDAiBd,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { formatHex } from 'culori';
|
|
2
|
+
import { alphaOf, fitGamut, hasRealAlpha, inSrgb, toRgb, violate, } from '../internals';
|
|
3
|
+
import { defineColorSpace } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* hex — sRGB, no alpha, 8-bit (`#rrggbb`). The most compact universal form; a safe
|
|
6
|
+
* floor with no `@supports` probe. A real alpha can't be held and is a violation
|
|
7
|
+
* (use `hexAlpha`); out-of-sRGB is clamped (strictness-governed).
|
|
8
|
+
*
|
|
9
|
+
* See `hex.md`.
|
|
10
|
+
*/
|
|
11
|
+
export const hex = defineColorSpace({
|
|
12
|
+
format: 'hex',
|
|
13
|
+
hasAlpha: false,
|
|
14
|
+
gamut: 'srgb',
|
|
15
|
+
supportsProbe: null,
|
|
16
|
+
gamutDependent: false,
|
|
17
|
+
srgbFloor: true,
|
|
18
|
+
render: (color, cfg) => {
|
|
19
|
+
if (hasRealAlpha(color)) {
|
|
20
|
+
violate(`color: alpha ${alphaOf(color)} dropped by 'hex' (no alpha channel); use hexAlpha or solid()`, cfg.strictness);
|
|
21
|
+
}
|
|
22
|
+
const c = toRgb(fitGamut(color, inSrgb, 'rgb', cfg.strictness));
|
|
23
|
+
return formatHex(c);
|
|
24
|
+
},
|
|
25
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hexAlpha — sRGB with alpha, 8-bit (`#rrggbbaa`). The alpha counterpart of `hex`;
|
|
3
|
+
* universal, a safe floor, always carries the alpha byte. Out-of-sRGB is clamped
|
|
4
|
+
* (strictness-governed).
|
|
5
|
+
*
|
|
6
|
+
* See `hexAlpha.md`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const hexAlpha: import("../types").ColorSpaceDescriptor<"hexAlpha">;
|
|
9
|
+
//# sourceMappingURL=hexAlpha.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hexAlpha.d.ts","sourceRoot":"","sources":["../../../../../src/color/formats/hexAlpha/hexAlpha.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,qDAcnB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { formatHex8 } from 'culori';
|
|
2
|
+
import { fitGamut, inSrgb, toRgb } from '../internals';
|
|
3
|
+
import { defineColorSpace } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* hexAlpha — sRGB with alpha, 8-bit (`#rrggbbaa`). The alpha counterpart of `hex`;
|
|
6
|
+
* universal, a safe floor, always carries the alpha byte. Out-of-sRGB is clamped
|
|
7
|
+
* (strictness-governed).
|
|
8
|
+
*
|
|
9
|
+
* See `hexAlpha.md`.
|
|
10
|
+
*/
|
|
11
|
+
export const hexAlpha = defineColorSpace({
|
|
12
|
+
format: 'hexAlpha',
|
|
13
|
+
hasAlpha: true,
|
|
14
|
+
gamut: 'srgb',
|
|
15
|
+
supportsProbe: null,
|
|
16
|
+
gamutDependent: false,
|
|
17
|
+
srgbFloor: true,
|
|
18
|
+
render: (color, cfg) => {
|
|
19
|
+
const c = toRgb(fitGamut(color, inSrgb, 'rgb', cfg.strictness));
|
|
20
|
+
return formatHex8(c);
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hsl — sRGB, alpha, higher precision than 8-bit. Universal, so no `@supports` probe
|
|
3
|
+
* and a safe floor. Out-of-sRGB is clamped (strictness-governed).
|
|
4
|
+
*
|
|
5
|
+
* See `hsl.md`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const hsl: import("../types").ColorSpaceDescriptor<"hsl">;
|
|
8
|
+
//# sourceMappingURL=hsl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hsl.d.ts","sourceRoot":"","sources":["../../../../../src/color/formats/hsl/hsl.ts"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,eAAO,MAAM,GAAG,gDAWd,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { alphaSlot, fitGamut, hueOf, inSrgb, pct, toHsl, } from '../internals';
|
|
2
|
+
import { defineColorSpace } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* hsl — sRGB, alpha, higher precision than 8-bit. Universal, so no `@supports` probe
|
|
5
|
+
* and a safe floor. Out-of-sRGB is clamped (strictness-governed).
|
|
6
|
+
*
|
|
7
|
+
* See `hsl.md`.
|
|
8
|
+
*/
|
|
9
|
+
export const hsl = defineColorSpace({
|
|
10
|
+
format: 'hsl',
|
|
11
|
+
hasAlpha: true,
|
|
12
|
+
gamut: 'srgb',
|
|
13
|
+
supportsProbe: null,
|
|
14
|
+
gamutDependent: false,
|
|
15
|
+
srgbFloor: true,
|
|
16
|
+
render: (color, cfg) => {
|
|
17
|
+
const c = toHsl(fitGamut(color, inSrgb, 'rgb', cfg.strictness));
|
|
18
|
+
return `hsl(${hueOf(c.h)} ${pct(c.s)}% ${pct(c.l)}%${alphaSlot(color, cfg)})`;
|
|
19
|
+
},
|
|
20
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hwb — sRGB, alpha, higher precision. Newer than `hsl`/`rgb` (~96% support), so it
|
|
3
|
+
* carries an `@supports` probe and is not treated as the safe floor. Out-of-sRGB is
|
|
4
|
+
* clamped (strictness-governed).
|
|
5
|
+
*
|
|
6
|
+
* See `hwb.md`.
|
|
7
|
+
*/
|
|
8
|
+
export declare const hwb: import("../types").ColorSpaceDescriptor<"hwb">;
|
|
9
|
+
//# sourceMappingURL=hwb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hwb.d.ts","sourceRoot":"","sources":["../../../../../src/color/formats/hwb/hwb.ts"],"names":[],"mappings":"AAcA;;;;;;GAMG;AACH,eAAO,MAAM,GAAG,gDAWd,CAAC"}
|