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.
Files changed (207) hide show
  1. package/LICENSE.txt +1 -1
  2. package/README.md +70 -424
  3. package/dist/cjs/color/formats/display-p3/display-p3.js +25 -0
  4. package/dist/cjs/color/formats/escalate.js +41 -0
  5. package/dist/cjs/color/formats/hex/hex.js +28 -0
  6. package/dist/cjs/color/formats/hexAlpha/hexAlpha.js +25 -0
  7. package/dist/cjs/color/formats/hsl/hsl.js +23 -0
  8. package/dist/cjs/color/formats/hwb/hwb.js +24 -0
  9. package/dist/cjs/color/formats/index.js +36 -0
  10. package/dist/cjs/color/formats/internals.js +93 -0
  11. package/dist/cjs/color/formats/lab/lab.js +24 -0
  12. package/dist/cjs/color/formats/lch/lch.js +23 -0
  13. package/dist/cjs/color/formats/oklab/oklab.js +24 -0
  14. package/dist/cjs/color/formats/oklch/oklch.js +28 -0
  15. package/dist/cjs/color/formats/resolve.js +16 -0
  16. package/dist/cjs/color/formats/rgb/rgb.js +29 -0
  17. package/dist/cjs/color/formats/rgba/rgba.js +27 -0
  18. package/dist/cjs/color/formats/types.js +11 -0
  19. package/dist/cjs/color/index.js +619 -0
  20. package/dist/cjs/color/types.js +2 -0
  21. package/dist/cjs/core.js +11 -8
  22. package/dist/cjs/corpus.js +53 -0
  23. package/dist/cjs/css-values/cssValues.js +78 -0
  24. package/dist/cjs/css-values/index.js +36 -0
  25. package/dist/cjs/css-values/multi.js +290 -0
  26. package/dist/cjs/css-values/propertyMap.js +2 -0
  27. package/dist/cjs/css-values/spec.js +197 -0
  28. package/dist/cjs/default.js +17 -0
  29. package/dist/cjs/factory.js +1 -1
  30. package/dist/cjs/float.js +110 -0
  31. package/dist/cjs/index.js +29 -9
  32. package/dist/cjs/integer.js +114 -0
  33. package/dist/cjs/internal/createCoreApi.js +103 -38
  34. package/dist/cjs/internal/errors.js +13 -14
  35. package/dist/cjs/internal/toPlainDecimal.js +31 -0
  36. package/dist/cjs/measurements.js +41 -0
  37. package/dist/cjs/ratio.js +57 -22
  38. package/dist/cjs/scalar.js +9 -0
  39. package/dist/cjs/units/absolute.js +8 -8
  40. package/dist/cjs/units/angle.js +5 -5
  41. package/dist/cjs/units/container.js +7 -7
  42. package/dist/cjs/units/font-relative.js +13 -13
  43. package/dist/cjs/units/frequency.js +3 -3
  44. package/dist/cjs/units/grid.js +2 -2
  45. package/dist/cjs/units/index.js +9 -9
  46. package/dist/cjs/units/percent.js +4 -4
  47. package/dist/cjs/units/resolution.js +4 -4
  48. package/dist/cjs/units/time.js +3 -3
  49. package/dist/cjs/units/viewport-dynamic.js +7 -7
  50. package/dist/cjs/units/viewport-large.js +7 -7
  51. package/dist/cjs/units/viewport-small.js +7 -7
  52. package/dist/cjs/units/viewport.js +7 -7
  53. package/dist/esm/color/formats/display-p3/display-p3.d.ts +10 -0
  54. package/dist/esm/color/formats/display-p3/display-p3.d.ts.map +1 -0
  55. package/dist/esm/color/formats/display-p3/display-p3.js +22 -0
  56. package/dist/esm/color/formats/escalate.d.ts +10 -0
  57. package/dist/esm/color/formats/escalate.d.ts.map +1 -0
  58. package/dist/esm/color/formats/escalate.js +37 -0
  59. package/dist/esm/color/formats/hex/hex.d.ts +9 -0
  60. package/dist/esm/color/formats/hex/hex.d.ts.map +1 -0
  61. package/dist/esm/color/formats/hex/hex.js +25 -0
  62. package/dist/esm/color/formats/hexAlpha/hexAlpha.d.ts +9 -0
  63. package/dist/esm/color/formats/hexAlpha/hexAlpha.d.ts.map +1 -0
  64. package/dist/esm/color/formats/hexAlpha/hexAlpha.js +22 -0
  65. package/dist/esm/color/formats/hsl/hsl.d.ts +8 -0
  66. package/dist/esm/color/formats/hsl/hsl.d.ts.map +1 -0
  67. package/dist/esm/color/formats/hsl/hsl.js +20 -0
  68. package/dist/esm/color/formats/hwb/hwb.d.ts +9 -0
  69. package/dist/esm/color/formats/hwb/hwb.d.ts.map +1 -0
  70. package/dist/esm/color/formats/hwb/hwb.js +21 -0
  71. package/dist/esm/color/formats/index.d.ts +24 -0
  72. package/dist/esm/color/formats/index.d.ts.map +1 -0
  73. package/dist/esm/color/formats/index.js +32 -0
  74. package/dist/esm/color/formats/internals.d.ts +35 -0
  75. package/dist/esm/color/formats/internals.d.ts.map +1 -0
  76. package/dist/esm/color/formats/internals.js +78 -0
  77. package/dist/esm/color/formats/lab/lab.d.ts +9 -0
  78. package/dist/esm/color/formats/lab/lab.d.ts.map +1 -0
  79. package/dist/esm/color/formats/lab/lab.js +21 -0
  80. package/dist/esm/color/formats/lch/lch.d.ts +8 -0
  81. package/dist/esm/color/formats/lch/lch.d.ts.map +1 -0
  82. package/dist/esm/color/formats/lch/lch.js +20 -0
  83. package/dist/esm/color/formats/oklab/oklab.d.ts +9 -0
  84. package/dist/esm/color/formats/oklab/oklab.d.ts.map +1 -0
  85. package/dist/esm/color/formats/oklab/oklab.js +21 -0
  86. package/dist/esm/color/formats/oklch/oklch.d.ts +13 -0
  87. package/dist/esm/color/formats/oklch/oklch.d.ts.map +1 -0
  88. package/dist/esm/color/formats/oklch/oklch.js +25 -0
  89. package/dist/esm/color/formats/resolve.d.ts +15 -0
  90. package/dist/esm/color/formats/resolve.d.ts.map +1 -0
  91. package/dist/esm/color/formats/resolve.js +12 -0
  92. package/dist/esm/color/formats/rgb/rgb.d.ts +11 -0
  93. package/dist/esm/color/formats/rgb/rgb.d.ts.map +1 -0
  94. package/dist/esm/color/formats/rgb/rgb.js +26 -0
  95. package/dist/esm/color/formats/rgba/rgba.d.ts +9 -0
  96. package/dist/esm/color/formats/rgba/rgba.d.ts.map +1 -0
  97. package/dist/esm/color/formats/rgba/rgba.js +24 -0
  98. package/dist/esm/color/formats/types.d.ts +48 -0
  99. package/dist/esm/color/formats/types.d.ts.map +1 -0
  100. package/dist/esm/color/formats/types.js +7 -0
  101. package/dist/esm/color/index.d.ts +81 -0
  102. package/dist/esm/color/index.d.ts.map +1 -0
  103. package/dist/esm/color/index.js +609 -0
  104. package/dist/esm/color/types.d.ts +294 -0
  105. package/dist/esm/color/types.d.ts.map +1 -0
  106. package/dist/esm/color/types.js +1 -0
  107. package/dist/esm/core.d.ts +76 -270
  108. package/dist/esm/core.d.ts.map +1 -1
  109. package/dist/esm/core.js +5 -7
  110. package/dist/esm/corpus.d.ts +26 -0
  111. package/dist/esm/corpus.d.ts.map +1 -0
  112. package/dist/esm/corpus.js +37 -0
  113. package/dist/esm/css-values/cssValues.d.ts +60 -0
  114. package/dist/esm/css-values/cssValues.d.ts.map +1 -0
  115. package/dist/esm/css-values/cssValues.js +74 -0
  116. package/dist/esm/css-values/index.d.ts +6 -0
  117. package/dist/esm/css-values/index.d.ts.map +1 -0
  118. package/dist/esm/css-values/index.js +12 -0
  119. package/dist/esm/css-values/multi.d.ts +188 -0
  120. package/dist/esm/css-values/multi.d.ts.map +1 -0
  121. package/dist/esm/css-values/multi.js +281 -0
  122. package/dist/esm/css-values/propertyMap.d.ts +39 -0
  123. package/dist/esm/css-values/propertyMap.d.ts.map +1 -0
  124. package/dist/esm/css-values/propertyMap.js +1 -0
  125. package/dist/esm/css-values/spec.d.ts +36 -0
  126. package/dist/esm/css-values/spec.d.ts.map +1 -0
  127. package/dist/esm/css-values/spec.js +194 -0
  128. package/dist/esm/default.d.ts +267 -0
  129. package/dist/esm/default.d.ts.map +1 -0
  130. package/dist/esm/default.js +14 -0
  131. package/dist/esm/factory.d.ts +1 -1
  132. package/dist/esm/factory.d.ts.map +1 -1
  133. package/dist/esm/factory.js +3 -3
  134. package/dist/esm/float.d.ts +35 -0
  135. package/dist/esm/float.d.ts.map +1 -0
  136. package/dist/esm/float.js +104 -0
  137. package/dist/esm/index.d.ts +11 -9
  138. package/dist/esm/index.d.ts.map +1 -1
  139. package/dist/esm/index.js +19 -9
  140. package/dist/esm/integer.d.ts +36 -0
  141. package/dist/esm/integer.d.ts.map +1 -0
  142. package/dist/esm/integer.js +108 -0
  143. package/dist/esm/internal/buildMeasurementCreationError.tests.d.ts +1 -1
  144. package/dist/esm/internal/buildMeasurementCreationError.tests.d.ts.map +1 -1
  145. package/dist/esm/internal/createCoreApi.d.ts +9 -1
  146. package/dist/esm/internal/createCoreApi.d.ts.map +1 -1
  147. package/dist/esm/internal/createCoreApi.js +103 -38
  148. package/dist/esm/internal/createUnitsApi.d.ts +1 -1
  149. package/dist/esm/internal/createUnitsApi.d.ts.map +1 -1
  150. package/dist/esm/internal/errors.d.ts +3 -3
  151. package/dist/esm/internal/errors.d.ts.map +1 -1
  152. package/dist/esm/internal/errors.js +13 -14
  153. package/dist/esm/internal/toPlainDecimal.d.ts +2 -0
  154. package/dist/esm/internal/toPlainDecimal.d.ts.map +1 -0
  155. package/dist/esm/internal/toPlainDecimal.js +27 -0
  156. package/dist/esm/measurements.d.ts +16 -0
  157. package/dist/esm/measurements.d.ts.map +1 -0
  158. package/dist/esm/measurements.js +25 -0
  159. package/dist/esm/ratio.d.ts +14 -5
  160. package/dist/esm/ratio.d.ts.map +1 -1
  161. package/dist/esm/ratio.js +57 -22
  162. package/dist/esm/scalar.d.ts +14 -0
  163. package/dist/esm/scalar.d.ts.map +1 -0
  164. package/dist/esm/scalar.js +5 -0
  165. package/dist/esm/units/absolute.d.ts +1 -1
  166. package/dist/esm/units/absolute.d.ts.map +1 -1
  167. package/dist/esm/units/absolute.js +1 -1
  168. package/dist/esm/units/angle.d.ts +1 -1
  169. package/dist/esm/units/angle.d.ts.map +1 -1
  170. package/dist/esm/units/angle.js +1 -1
  171. package/dist/esm/units/container.d.ts +1 -1
  172. package/dist/esm/units/container.d.ts.map +1 -1
  173. package/dist/esm/units/container.js +1 -1
  174. package/dist/esm/units/font-relative.d.ts +1 -1
  175. package/dist/esm/units/font-relative.d.ts.map +1 -1
  176. package/dist/esm/units/font-relative.js +1 -1
  177. package/dist/esm/units/frequency.d.ts +1 -1
  178. package/dist/esm/units/frequency.d.ts.map +1 -1
  179. package/dist/esm/units/frequency.js +1 -1
  180. package/dist/esm/units/grid.d.ts +1 -1
  181. package/dist/esm/units/grid.d.ts.map +1 -1
  182. package/dist/esm/units/grid.js +1 -1
  183. package/dist/esm/units/index.d.ts +9 -9
  184. package/dist/esm/units/index.d.ts.map +1 -1
  185. package/dist/esm/units/index.js +9 -9
  186. package/dist/esm/units/percent.d.ts +1 -1
  187. package/dist/esm/units/percent.d.ts.map +1 -1
  188. package/dist/esm/units/percent.js +1 -1
  189. package/dist/esm/units/resolution.d.ts +1 -1
  190. package/dist/esm/units/resolution.d.ts.map +1 -1
  191. package/dist/esm/units/resolution.js +1 -1
  192. package/dist/esm/units/time.d.ts +1 -1
  193. package/dist/esm/units/time.d.ts.map +1 -1
  194. package/dist/esm/units/time.js +1 -1
  195. package/dist/esm/units/viewport-dynamic.d.ts +1 -1
  196. package/dist/esm/units/viewport-dynamic.d.ts.map +1 -1
  197. package/dist/esm/units/viewport-dynamic.js +1 -1
  198. package/dist/esm/units/viewport-large.d.ts +1 -1
  199. package/dist/esm/units/viewport-large.d.ts.map +1 -1
  200. package/dist/esm/units/viewport-large.js +1 -1
  201. package/dist/esm/units/viewport-small.d.ts +1 -1
  202. package/dist/esm/units/viewport-small.d.ts.map +1 -1
  203. package/dist/esm/units/viewport-small.js +1 -1
  204. package/dist/esm/units/viewport.d.ts +1 -1
  205. package/dist/esm/units/viewport.d.ts.map +1 -1
  206. package/dist/esm/units/viewport.js +1 -1
  207. 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
- if (!Number.isFinite(numerator) || !Number.isFinite(denominator)) {
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 (denominator === 0) {
43
+ if (denominatorValue === 0) {
27
44
  throw new Error('Ratio denominator cannot be zero.');
28
45
  }
29
- __classPrivateFieldSet(this, _RatioImpl_numerator, numerator, "f");
30
- __classPrivateFieldSet(this, _RatioImpl_denominator, denominator, "f");
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, _RatioImpl_denominator, "f"));
65
+ return new RatioImpl(numerator, __classPrivateFieldGet(this, _RatioImpl_denominatorScalar, "f"));
41
66
  }
42
67
  withDenominator(denominator) {
43
- return new RatioImpl(__classPrivateFieldGet(this, _RatioImpl_numerator, "f"), denominator);
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
- const hasOptionsArg = typeof denominatorOrOptions === 'object' &&
61
- denominatorOrOptions !== null;
62
- const resolvedOptions = hasOptionsArg
63
- ? denominatorOrOptions
64
- : options;
65
- const numerator = numeratorOrDenominator;
66
- const resolvedDenominator = hasOptionsArg
67
- ? 1
68
- : denominatorOrOptions !== null && denominatorOrOptions !== void 0 ? denominatorOrOptions : 1;
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 { numerator: value.numerator(), denominator: value.denominator() };
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) || !Number.isFinite(denominator)) {
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) || !Number.isInteger(denominator)) {
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 core_1 = require("../core");
5
- exports.mPx = (0, core_1.makeUnitHelperFromDefinition)('mPx');
6
- exports.mCm = (0, core_1.makeUnitHelperFromDefinition)('mCm');
7
- exports.mMm = (0, core_1.makeUnitHelperFromDefinition)('mMm');
8
- exports.mQ = (0, core_1.makeUnitHelperFromDefinition)('mQ');
9
- exports.mIn = (0, core_1.makeUnitHelperFromDefinition)('mIn');
10
- exports.mPc = (0, core_1.makeUnitHelperFromDefinition)('mPc');
11
- exports.mPt = (0, core_1.makeUnitHelperFromDefinition)('mPt');
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');
@@ -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 core_1 = require("../core");
5
- exports.mDeg = (0, core_1.makeUnitHelperFromDefinition)('mDeg');
6
- exports.mRad = (0, core_1.makeUnitHelperFromDefinition)('mRad');
7
- exports.mGrad = (0, core_1.makeUnitHelperFromDefinition)('mGrad');
8
- exports.mTurn = (0, core_1.makeUnitHelperFromDefinition)('mTurn');
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 core_1 = require("../core");
5
- exports.mCqw = (0, core_1.makeUnitHelperFromDefinition)('mCqw');
6
- exports.mCqh = (0, core_1.makeUnitHelperFromDefinition)('mCqh');
7
- exports.mCqi = (0, core_1.makeUnitHelperFromDefinition)('mCqi');
8
- exports.mCqb = (0, core_1.makeUnitHelperFromDefinition)('mCqb');
9
- exports.mCqmin = (0, core_1.makeUnitHelperFromDefinition)('mCqmin');
10
- exports.mCqmax = (0, core_1.makeUnitHelperFromDefinition)('mCqmax');
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 core_1 = require("../core");
5
- exports.mEm = (0, core_1.makeUnitHelperFromDefinition)('mEm');
6
- exports.mRem = (0, core_1.makeUnitHelperFromDefinition)('mRem');
7
- exports.mEx = (0, core_1.makeUnitHelperFromDefinition)('mEx');
8
- exports.mRex = (0, core_1.makeUnitHelperFromDefinition)('mRex');
9
- exports.mCh = (0, core_1.makeUnitHelperFromDefinition)('mCh');
10
- exports.mRch = (0, core_1.makeUnitHelperFromDefinition)('mRch');
11
- exports.mCap = (0, core_1.makeUnitHelperFromDefinition)('mCap');
12
- exports.mRcap = (0, core_1.makeUnitHelperFromDefinition)('mRcap');
13
- exports.mIc = (0, core_1.makeUnitHelperFromDefinition)('mIc');
14
- exports.mRic = (0, core_1.makeUnitHelperFromDefinition)('mRic');
15
- exports.mLh = (0, core_1.makeUnitHelperFromDefinition)('mLh');
16
- exports.mRlh = (0, core_1.makeUnitHelperFromDefinition)('mRlh');
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 core_1 = require("../core");
5
- exports.mHz = (0, core_1.makeUnitHelperFromDefinition)('mHz');
6
- exports.mKhz = (0, core_1.makeUnitHelperFromDefinition)('mKhz');
4
+ const default_1 = require("../default");
5
+ exports.mHz = (0, default_1.makeUnitHelperFromDefinition)('mHz');
6
+ exports.mKhz = (0, default_1.makeUnitHelperFromDefinition)('mKhz');
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mFr = void 0;
4
- const core_1 = require("../core");
5
- exports.mFr = (0, core_1.makeUnitHelperFromDefinition)('mFr');
4
+ const default_1 = require("../default");
5
+ exports.mFr = (0, default_1.makeUnitHelperFromDefinition)('mFr');
@@ -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("./time"), exports);
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 core_1 = require("../core");
5
- exports.mPercent = (0, core_1.makeUnitHelperFromDefinition)('mPercent');
6
- exports.isPercentMeasurement = (0, core_1.makeUnitGuard)(exports.mPercent);
7
- exports.assertPercentMeasurement = (0, core_1.makeUnitAssert)(exports.mPercent);
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 core_1 = require("../core");
5
- exports.mDpi = (0, core_1.makeUnitHelperFromDefinition)('mDpi');
6
- exports.mDpcm = (0, core_1.makeUnitHelperFromDefinition)('mDpcm');
7
- exports.mDppx = (0, core_1.makeUnitHelperFromDefinition)('mDppx');
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');
@@ -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 core_1 = require("../core");
5
- exports.mS = (0, core_1.makeUnitHelperFromDefinition)('mS');
6
- exports.mMs = (0, core_1.makeUnitHelperFromDefinition)('mMs');
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 core_1 = require("../core");
5
- exports.mDvw = (0, core_1.makeUnitHelperFromDefinition)('mDvw');
6
- exports.mDvh = (0, core_1.makeUnitHelperFromDefinition)('mDvh');
7
- exports.mDvi = (0, core_1.makeUnitHelperFromDefinition)('mDvi');
8
- exports.mDvb = (0, core_1.makeUnitHelperFromDefinition)('mDvb');
9
- exports.mDvmin = (0, core_1.makeUnitHelperFromDefinition)('mDvmin');
10
- exports.mDvmax = (0, core_1.makeUnitHelperFromDefinition)('mDvmax');
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 core_1 = require("../core");
5
- exports.mLvw = (0, core_1.makeUnitHelperFromDefinition)('mLvw');
6
- exports.mLvh = (0, core_1.makeUnitHelperFromDefinition)('mLvh');
7
- exports.mLvi = (0, core_1.makeUnitHelperFromDefinition)('mLvi');
8
- exports.mLvb = (0, core_1.makeUnitHelperFromDefinition)('mLvb');
9
- exports.mLvmin = (0, core_1.makeUnitHelperFromDefinition)('mLvmin');
10
- exports.mLvmax = (0, core_1.makeUnitHelperFromDefinition)('mLvmax');
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 core_1 = require("../core");
5
- exports.mSvw = (0, core_1.makeUnitHelperFromDefinition)('mSvw');
6
- exports.mSvh = (0, core_1.makeUnitHelperFromDefinition)('mSvh');
7
- exports.mSvi = (0, core_1.makeUnitHelperFromDefinition)('mSvi');
8
- exports.mSvb = (0, core_1.makeUnitHelperFromDefinition)('mSvb');
9
- exports.mSvmin = (0, core_1.makeUnitHelperFromDefinition)('mSvmin');
10
- exports.mSvmax = (0, core_1.makeUnitHelperFromDefinition)('mSvmax');
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 core_1 = require("../core");
5
- exports.mVw = (0, core_1.makeUnitHelperFromDefinition)('mVw');
6
- exports.mVh = (0, core_1.makeUnitHelperFromDefinition)('mVh');
7
- exports.mVi = (0, core_1.makeUnitHelperFromDefinition)('mVi');
8
- exports.mVb = (0, core_1.makeUnitHelperFromDefinition)('mVb');
9
- exports.mVmin = (0, core_1.makeUnitHelperFromDefinition)('mVmin');
10
- exports.mVmax = (0, core_1.makeUnitHelperFromDefinition)('mVmax');
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"}