css-calipers 0.9.3 → 0.9.5
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/README.md +100 -0
- package/dist/cjs/comparisons/index.js +25 -0
- package/dist/cjs/containerQueries/containerQueries.js +115 -0
- package/dist/cjs/containerQueries/factory.js +123 -0
- package/dist/cjs/containerQueries/helpers.js +95 -0
- package/dist/cjs/containerQueries/index.js +16 -0
- package/dist/cjs/containerQueries/linting/aspectRatio.js +24 -0
- package/dist/cjs/containerQueries/linting/block.js +23 -0
- package/dist/cjs/containerQueries/linting/core.js +25 -0
- package/dist/cjs/containerQueries/linting/custom.js +11 -0
- package/dist/cjs/containerQueries/linting/inline.js +23 -0
- package/dist/cjs/containerQueries/linting/resolution.js +12 -0
- package/dist/cjs/containerQueries/linting/style.js +28 -0
- package/dist/cjs/containerQueries/linting.js +24 -0
- package/dist/cjs/containerQueries/moduleRegistry.js +5 -0
- package/dist/cjs/containerQueries/modules/aspectRatio.js +51 -0
- package/dist/cjs/containerQueries/modules/block.js +53 -0
- package/dist/cjs/containerQueries/modules/custom.js +43 -0
- package/dist/cjs/containerQueries/modules/index.js +21 -0
- package/dist/cjs/containerQueries/modules/inline.js +53 -0
- package/dist/cjs/containerQueries/modules/size.js +2 -0
- package/dist/cjs/containerQueries/modules/style.js +36 -0
- package/dist/cjs/containerQueries/types.js +2 -0
- package/dist/cjs/containerQueries/validation.js +191 -0
- package/dist/cjs/core.js +5 -278
- package/dist/cjs/factory.js +21 -0
- package/dist/cjs/fraction.js +139 -0
- package/dist/cjs/internal/buildMeasurementCreationError.js +16 -0
- package/dist/cjs/internal/buildMeasurementCreationError.tests.js +5 -0
- package/dist/cjs/internal/createComponentQueriesApi.js +56 -0
- package/dist/cjs/internal/createCoreApi.js +336 -0
- package/dist/cjs/internal/createMediaQueriesApi.js +74 -0
- package/dist/cjs/internal/createUnitsApi.js +18 -0
- package/dist/cjs/internal/errors.js +118 -5
- package/dist/cjs/internal/normalizeToArray.js +9 -0
- package/dist/cjs/libraryHelpers/vanilla-extract.js +6 -2
- package/dist/cjs/logicalOperators/index.js +18 -0
- package/dist/cjs/mediaQueries/factory.js +5 -4
- package/dist/cjs/mediaQueries/mediaQueries.js +7 -5
- package/dist/cjs/mediaQueries/modules/dimensions.js +10 -8
- package/dist/cjs/mediaQueries/modules/resolution.js +6 -4
- package/dist/cjs/mediaQueries/validation.js +128 -116
- package/dist/cjs/ratio.js +141 -0
- package/dist/cjs/types.js +2 -0
- package/dist/cjs/validation.js +20 -0
- package/dist/esm/comparisons/index.d.ts +23 -0
- package/dist/esm/comparisons/index.d.ts.map +1 -0
- package/dist/esm/comparisons/index.js +22 -0
- package/dist/esm/containerQueries/containerQueries.d.ts +36 -0
- package/dist/esm/containerQueries/containerQueries.d.ts.map +1 -0
- package/dist/esm/containerQueries/containerQueries.js +109 -0
- package/dist/esm/containerQueries/factory.d.ts +20 -0
- package/dist/esm/containerQueries/factory.d.ts.map +1 -0
- package/dist/esm/containerQueries/factory.js +119 -0
- package/dist/esm/containerQueries/helpers.d.ts +53 -0
- package/dist/esm/containerQueries/helpers.d.ts.map +1 -0
- package/dist/esm/containerQueries/helpers.js +82 -0
- package/dist/esm/containerQueries/index.d.ts +10 -0
- package/dist/esm/containerQueries/index.d.ts.map +1 -0
- package/dist/esm/containerQueries/index.js +4 -0
- package/dist/esm/containerQueries/linting/aspectRatio.d.ts +4 -0
- package/dist/esm/containerQueries/linting/aspectRatio.d.ts.map +1 -0
- package/dist/esm/containerQueries/linting/aspectRatio.js +19 -0
- package/dist/esm/containerQueries/linting/block.d.ts +4 -0
- package/dist/esm/containerQueries/linting/block.d.ts.map +1 -0
- package/dist/esm/containerQueries/linting/block.js +18 -0
- package/dist/esm/containerQueries/linting/core.d.ts +4 -0
- package/dist/esm/containerQueries/linting/core.d.ts.map +1 -0
- package/dist/esm/containerQueries/linting/core.js +20 -0
- package/dist/esm/containerQueries/linting/custom.d.ts +3 -0
- package/dist/esm/containerQueries/linting/custom.d.ts.map +1 -0
- package/dist/esm/containerQueries/linting/custom.js +7 -0
- package/dist/esm/containerQueries/linting/inline.d.ts +4 -0
- package/dist/esm/containerQueries/linting/inline.d.ts.map +1 -0
- package/dist/esm/containerQueries/linting/inline.js +18 -0
- package/dist/esm/containerQueries/linting/resolution.d.ts +1 -0
- package/dist/esm/containerQueries/linting/resolution.d.ts.map +1 -0
- package/dist/esm/containerQueries/linting/resolution.js +12 -0
- package/dist/esm/containerQueries/linting/style.d.ts +3 -0
- package/dist/esm/containerQueries/linting/style.d.ts.map +1 -0
- package/dist/esm/containerQueries/linting/style.js +24 -0
- package/dist/esm/containerQueries/linting.d.ts +4 -0
- package/dist/esm/containerQueries/linting.d.ts.map +1 -0
- package/dist/esm/containerQueries/linting.js +20 -0
- package/dist/esm/containerQueries/moduleRegistry.d.ts +25 -0
- package/dist/esm/containerQueries/moduleRegistry.d.ts.map +1 -0
- package/dist/esm/containerQueries/moduleRegistry.js +1 -0
- package/dist/esm/containerQueries/modules/aspectRatio.d.ts +17 -0
- package/dist/esm/containerQueries/modules/aspectRatio.d.ts.map +1 -0
- package/dist/esm/containerQueries/modules/aspectRatio.js +47 -0
- package/dist/esm/containerQueries/modules/block.d.ts +20 -0
- package/dist/esm/containerQueries/modules/block.d.ts.map +1 -0
- package/dist/esm/containerQueries/modules/block.js +49 -0
- package/dist/esm/containerQueries/modules/custom.d.ts +13 -0
- package/dist/esm/containerQueries/modules/custom.d.ts.map +1 -0
- package/dist/esm/containerQueries/modules/custom.js +39 -0
- package/dist/esm/containerQueries/modules/index.d.ts +6 -0
- package/dist/esm/containerQueries/modules/index.d.ts.map +1 -0
- package/dist/esm/containerQueries/modules/index.js +5 -0
- package/dist/esm/containerQueries/modules/inline.d.ts +20 -0
- package/dist/esm/containerQueries/modules/inline.d.ts.map +1 -0
- package/dist/esm/containerQueries/modules/inline.js +49 -0
- package/dist/esm/containerQueries/modules/size.d.ts +41 -0
- package/dist/esm/containerQueries/modules/size.d.ts.map +1 -0
- package/dist/esm/containerQueries/modules/size.js +1 -0
- package/dist/esm/containerQueries/modules/style.d.ts +11 -0
- package/dist/esm/containerQueries/modules/style.d.ts.map +1 -0
- package/dist/esm/containerQueries/modules/style.js +32 -0
- package/dist/esm/containerQueries/types.d.ts +81 -0
- package/dist/esm/containerQueries/types.d.ts.map +1 -0
- package/dist/esm/containerQueries/types.js +1 -0
- package/dist/esm/containerQueries/validation.d.ts +41 -0
- package/dist/esm/containerQueries/validation.d.ts.map +1 -0
- package/dist/esm/containerQueries/validation.js +187 -0
- package/dist/esm/core.d.ts +27 -26
- package/dist/esm/core.d.ts.map +1 -1
- package/dist/esm/core.js +5 -266
- package/dist/esm/factory.d.ts +13 -0
- package/dist/esm/factory.d.ts.map +1 -0
- package/dist/esm/factory.js +17 -0
- package/dist/esm/fraction.d.ts +23 -0
- package/dist/esm/fraction.d.ts.map +1 -0
- package/dist/esm/fraction.js +129 -0
- package/dist/esm/internal/buildMeasurementCreationError.d.ts +12 -0
- package/dist/esm/internal/buildMeasurementCreationError.d.ts.map +1 -0
- package/dist/esm/internal/buildMeasurementCreationError.js +12 -0
- package/dist/esm/internal/buildMeasurementCreationError.tests.d.ts +3 -0
- package/dist/esm/internal/buildMeasurementCreationError.tests.d.ts.map +1 -0
- package/dist/esm/internal/buildMeasurementCreationError.tests.js +1 -0
- package/dist/esm/internal/createComponentQueriesApi.d.ts +34 -0
- package/dist/esm/internal/createComponentQueriesApi.d.ts.map +1 -0
- package/dist/esm/internal/createComponentQueriesApi.js +52 -0
- package/dist/esm/internal/createCoreApi.d.ts +289 -0
- package/dist/esm/internal/createCoreApi.d.ts.map +1 -0
- package/dist/esm/internal/createCoreApi.js +332 -0
- package/dist/esm/internal/createMediaQueriesApi.d.ts +35 -0
- package/dist/esm/internal/createMediaQueriesApi.d.ts.map +1 -0
- package/dist/esm/internal/createMediaQueriesApi.js +70 -0
- package/dist/esm/internal/createUnitsApi.d.ts +13 -0
- package/dist/esm/internal/createUnitsApi.d.ts.map +1 -0
- package/dist/esm/internal/createUnitsApi.js +14 -0
- package/dist/esm/internal/errors.d.ts +30 -0
- package/dist/esm/internal/errors.d.ts.map +1 -1
- package/dist/esm/internal/errors.js +113 -4
- package/dist/esm/internal/normalizeToArray.d.ts +2 -0
- package/dist/esm/internal/normalizeToArray.d.ts.map +1 -0
- package/dist/esm/internal/normalizeToArray.js +5 -0
- package/dist/esm/libraryHelpers/vanilla-extract.d.ts +2 -1
- package/dist/esm/libraryHelpers/vanilla-extract.d.ts.map +1 -1
- package/dist/esm/libraryHelpers/vanilla-extract.js +4 -1
- package/dist/esm/logicalOperators/index.d.ts +2 -0
- package/dist/esm/logicalOperators/index.d.ts.map +1 -0
- package/dist/esm/logicalOperators/index.js +17 -0
- package/dist/esm/mediaQueries/factory.d.ts +16 -1
- package/dist/esm/mediaQueries/factory.d.ts.map +1 -1
- package/dist/esm/mediaQueries/factory.js +3 -2
- package/dist/esm/mediaQueries/libraryHelpers/vanilla-extract.d.ts +2 -2
- package/dist/esm/mediaQueries/libraryHelpers/vanilla-extract.d.ts.map +1 -1
- package/dist/esm/mediaQueries/mediaQueries.d.ts +2 -0
- package/dist/esm/mediaQueries/mediaQueries.d.ts.map +1 -1
- package/dist/esm/mediaQueries/mediaQueries.js +4 -2
- package/dist/esm/mediaQueries/modules/dimensions.d.ts +2 -0
- package/dist/esm/mediaQueries/modules/dimensions.d.ts.map +1 -1
- package/dist/esm/mediaQueries/modules/dimensions.js +4 -2
- package/dist/esm/mediaQueries/modules/resolution.d.ts +2 -0
- package/dist/esm/mediaQueries/modules/resolution.d.ts.map +1 -1
- package/dist/esm/mediaQueries/modules/resolution.js +4 -2
- package/dist/esm/mediaQueries/validation.d.ts +28 -8
- package/dist/esm/mediaQueries/validation.d.ts.map +1 -1
- package/dist/esm/mediaQueries/validation.js +126 -107
- package/dist/esm/ratio.d.ts +22 -0
- package/dist/esm/ratio.d.ts.map +1 -0
- package/dist/esm/ratio.js +131 -0
- package/dist/esm/types.d.ts +35 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/validation.d.ts +10 -0
- package/dist/esm/validation.d.ts.map +1 -0
- package/dist/esm/validation.js +15 -0
- package/dist/examples/containerQueries.example.js +54 -0
- package/dist/examples/examples/containerQueries.example.js +54 -0
- package/dist/examples/examples/factory-wrapper.example.js +33 -0
- package/dist/examples/examples/lineHeight-normalizer.example.js +81 -0
- package/dist/examples/examples/mediaQueries-multipleInstances.example.js +127 -0
- package/dist/examples/examples/mixedQueries.example.js +55 -0
- package/dist/examples/examples/validation-and-runtime-checks.example.js +85 -0
- package/dist/examples/examples/validation-unit-tests.example.js +35 -0
- package/dist/examples/factory-wrapper.example.js +33 -0
- package/dist/examples/lineHeight-normalizer.example.js +81 -0
- package/dist/examples/mediaQueries-multipleInstances.example.js +127 -0
- package/dist/examples/mixedQueries.example.js +60 -0
- package/dist/examples/src/comparisons/index.js +25 -0
- package/dist/examples/src/containerQueries/containerQueries.js +96 -0
- package/dist/examples/src/containerQueries/factory.js +123 -0
- package/dist/examples/src/containerQueries/helpers.js +94 -0
- package/dist/examples/src/containerQueries/index.js +16 -0
- package/dist/examples/src/containerQueries/linting/aspectRatio.js +20 -0
- package/dist/examples/src/containerQueries/linting/block.js +20 -0
- package/dist/examples/src/containerQueries/linting/core.js +19 -0
- package/dist/examples/src/containerQueries/linting/custom.js +11 -0
- package/dist/examples/src/containerQueries/linting/inline.js +20 -0
- package/dist/examples/src/containerQueries/linting/style.js +28 -0
- package/dist/examples/src/containerQueries/linting.js +24 -0
- package/dist/examples/src/containerQueries/moduleRegistry.js +5 -0
- package/dist/examples/src/containerQueries/modules/aspectRatio.js +33 -0
- package/dist/examples/src/containerQueries/modules/block.js +44 -0
- package/dist/examples/src/containerQueries/modules/custom.js +31 -0
- package/dist/examples/src/containerQueries/modules/index.js +21 -0
- package/dist/examples/src/containerQueries/modules/inline.js +44 -0
- package/dist/examples/src/containerQueries/modules/style.js +36 -0
- package/dist/examples/src/containerQueries/types.js +2 -0
- package/dist/examples/src/containerQueries/validation.js +177 -0
- package/dist/examples/src/core.js +16 -0
- package/dist/examples/src/factory.js +21 -0
- package/dist/examples/src/index.js +30 -0
- package/dist/examples/src/internal/buildMeasurementCreationError.js +16 -0
- package/dist/examples/src/internal/createCoreApi.js +336 -0
- package/dist/examples/src/internal/createMediaQueriesApi.js +74 -0
- package/dist/examples/src/internal/createUnitsApi.js +18 -0
- package/dist/examples/src/internal/errors.js +130 -0
- package/dist/examples/src/libraryHelpers/vanilla-extract.js +11 -0
- package/dist/examples/src/mediaQueries/factory.js +163 -0
- package/dist/examples/src/mediaQueries/helpers.js +88 -0
- package/dist/examples/src/mediaQueries/index.js +23 -0
- package/dist/examples/src/mediaQueries/linting/core.js +19 -0
- package/dist/examples/src/mediaQueries/linting/resolution.js +11 -0
- package/dist/examples/src/mediaQueries/linting.js +24 -0
- package/dist/examples/src/mediaQueries/mediaQueries.js +53 -0
- package/dist/examples/src/mediaQueries/moduleRegistry.js +5 -0
- package/dist/examples/src/mediaQueries/modules/custom.js +26 -0
- package/dist/examples/src/mediaQueries/modules/dimensions.js +61 -0
- package/dist/examples/src/mediaQueries/modules/display.js +20 -0
- package/dist/examples/src/mediaQueries/modules/environment.js +20 -0
- package/dist/examples/src/mediaQueries/modules/index.js +23 -0
- package/dist/examples/src/mediaQueries/modules/interaction.js +26 -0
- package/dist/examples/src/mediaQueries/modules/preferences.js +26 -0
- package/dist/examples/src/mediaQueries/modules/resolution.js +31 -0
- package/dist/examples/src/mediaQueries/types.js +2 -0
- package/dist/examples/src/mediaQueries/validation.js +128 -0
- package/dist/examples/src/ratio.js +141 -0
- package/dist/examples/src/types.js +2 -0
- package/dist/examples/src/unitDefinitions.js +67 -0
- package/dist/examples/src/units/absolute.js +11 -0
- package/dist/examples/src/units/angle.js +8 -0
- package/dist/examples/src/units/container.js +10 -0
- package/dist/examples/src/units/font-relative.js +16 -0
- package/dist/examples/src/units/frequency.js +6 -0
- package/dist/examples/src/units/grid.js +5 -0
- package/dist/examples/src/units/percent.js +7 -0
- package/dist/examples/src/units/resolution.js +7 -0
- package/dist/examples/src/units/time.js +6 -0
- package/dist/examples/src/units/viewport-dynamic.js +10 -0
- package/dist/examples/src/units/viewport-large.js +10 -0
- package/dist/examples/src/units/viewport-small.js +10 -0
- package/dist/examples/src/units/viewport.js +10 -0
- package/dist/examples/src/validation.js +20 -0
- package/dist/examples/validation-and-runtime-checks.example.js +85 -0
- package/dist/examples/validation-unit-tests.example.js +35 -0
- package/package.json +16 -5
package/dist/cjs/core.js
CHANGED
|
@@ -1,281 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
-
};
|
|
8
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
-
};
|
|
13
|
-
var _Measurement_instances, _a, _Measurement_value, _Measurement_unit, _Measurement_clone;
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
16
|
-
|
|
17
|
-
exports.m = m;
|
|
18
|
-
const unitDefinitions_1 = require("./unitDefinitions");
|
|
3
|
+
exports.setErrorConfig = exports.getErrorConfig = exports.assertCondition = exports.assertUnit = exports.hasCssMethod = exports.makeUnitAssert = exports.makeUnitGuard = exports.makeUnitHelperFromDefinition = exports.makeUnitHelper = exports.measurementUnitMetadata = exports.measurementMax = exports.measurementMin = exports.assertMatchingUnits = exports.isMeasurement = exports.m = void 0;
|
|
4
|
+
const createCoreApi_1 = require("./internal/createCoreApi");
|
|
19
5
|
const errors_1 = require("./internal/errors");
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (leftUnit !== rightUnit) {
|
|
24
|
-
(0, errors_1.throwHelperError)({
|
|
25
|
-
operation: 'css-calipers.assertMatchingUnits',
|
|
26
|
-
params: [left, right],
|
|
27
|
-
message: `measurement unit mismatch: ${leftUnit} vs ${rightUnit}`,
|
|
28
|
-
context,
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
const deltaToNumber = (base, delta) => {
|
|
33
|
-
if (typeof delta === 'number')
|
|
34
|
-
return delta;
|
|
35
|
-
assertMatchingUnits(base, delta, 'deltaToNumber');
|
|
36
|
-
return delta.getValue();
|
|
37
|
-
};
|
|
38
|
-
class Measurement {
|
|
39
|
-
constructor(value, unit) {
|
|
40
|
-
_Measurement_instances.add(this);
|
|
41
|
-
_Measurement_value.set(this, void 0);
|
|
42
|
-
_Measurement_unit.set(this, void 0);
|
|
43
|
-
if (!Number.isFinite(value)) {
|
|
44
|
-
(0, errors_1.throwHelperError)({
|
|
45
|
-
operation: 'css-calipers.Measurement.constructor',
|
|
46
|
-
params: [],
|
|
47
|
-
message: `Non-finite measurement value: ${value}`,
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
const normalizedUnit = unit.toLowerCase();
|
|
51
|
-
__classPrivateFieldSet(this, _Measurement_value, value, "f");
|
|
52
|
-
__classPrivateFieldSet(this, _Measurement_unit, normalizedUnit, "f");
|
|
53
|
-
Object.defineProperty(this, '__unitBrand', {
|
|
54
|
-
value: normalizedUnit,
|
|
55
|
-
enumerable: false,
|
|
56
|
-
configurable: false,
|
|
57
|
-
writable: false,
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
css() {
|
|
61
|
-
return `${__classPrivateFieldGet(this, _Measurement_value, "f")}${__classPrivateFieldGet(this, _Measurement_unit, "f")}`;
|
|
62
|
-
}
|
|
63
|
-
toString() {
|
|
64
|
-
return this.css();
|
|
65
|
-
}
|
|
66
|
-
getUnit() {
|
|
67
|
-
return __classPrivateFieldGet(this, _Measurement_unit, "f");
|
|
68
|
-
}
|
|
69
|
-
getValue() {
|
|
70
|
-
return __classPrivateFieldGet(this, _Measurement_value, "f");
|
|
71
|
-
}
|
|
72
|
-
valueOf() {
|
|
73
|
-
return __classPrivateFieldGet(this, _Measurement_value, "f");
|
|
74
|
-
}
|
|
75
|
-
[(_Measurement_value = new WeakMap(), _Measurement_unit = new WeakMap(), _Measurement_instances = new WeakSet(), Symbol.toPrimitive)](hint) {
|
|
76
|
-
if (hint === 'number')
|
|
77
|
-
return __classPrivateFieldGet(this, _Measurement_value, "f");
|
|
78
|
-
return this.css();
|
|
79
|
-
}
|
|
80
|
-
isUnit(expected) {
|
|
81
|
-
return __classPrivateFieldGet(this, _Measurement_unit, "f") === expected.toLowerCase();
|
|
82
|
-
}
|
|
83
|
-
assertUnit(expected, context) {
|
|
84
|
-
if (!this.isUnit(expected)) {
|
|
85
|
-
(0, errors_1.throwMeasurementMethodError)({
|
|
86
|
-
operation: 'css-calipers.Measurement.assertUnit',
|
|
87
|
-
caller: this,
|
|
88
|
-
params: [],
|
|
89
|
-
message: `Expected unit "${expected}", received "${__classPrivateFieldGet(this, _Measurement_unit, "f")}".`,
|
|
90
|
-
context,
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
assert(predicate, message) {
|
|
95
|
-
if (!predicate(this)) {
|
|
96
|
-
(0, errors_1.throwMeasurementMethodError)({
|
|
97
|
-
operation: 'css-calipers.Measurement.assert',
|
|
98
|
-
caller: this,
|
|
99
|
-
params: [],
|
|
100
|
-
message,
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
equals(other, strict = true) {
|
|
105
|
-
const otherUnit = other.getUnit();
|
|
106
|
-
if (__classPrivateFieldGet(this, _Measurement_unit, "f") !== otherUnit) {
|
|
107
|
-
if (strict) {
|
|
108
|
-
assertMatchingUnits(this, other, 'equals(strict)');
|
|
109
|
-
}
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
return __classPrivateFieldGet(this, _Measurement_value, "f") === other.getValue();
|
|
113
|
-
}
|
|
114
|
-
compare(other, strict = true) {
|
|
115
|
-
if (strict) {
|
|
116
|
-
assertMatchingUnits(this, other, 'compare(strict)');
|
|
117
|
-
}
|
|
118
|
-
else if (__classPrivateFieldGet(this, _Measurement_unit, "f") !== other.getUnit()) {
|
|
119
|
-
return __classPrivateFieldGet(this, _Measurement_unit, "f") < other.getUnit() ? -1 : 1;
|
|
120
|
-
}
|
|
121
|
-
const diff = __classPrivateFieldGet(this, _Measurement_value, "f") - other.getValue();
|
|
122
|
-
if (diff === 0)
|
|
123
|
-
return 0;
|
|
124
|
-
return diff < 0 ? -1 : 1;
|
|
125
|
-
}
|
|
126
|
-
add(delta) {
|
|
127
|
-
const next = __classPrivateFieldGet(this, _Measurement_value, "f") + deltaToNumber(this, delta);
|
|
128
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, next);
|
|
129
|
-
}
|
|
130
|
-
subtract(delta) {
|
|
131
|
-
const next = __classPrivateFieldGet(this, _Measurement_value, "f") - deltaToNumber(this, delta);
|
|
132
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, next);
|
|
133
|
-
}
|
|
134
|
-
multiply(factor) {
|
|
135
|
-
if (factor === 1)
|
|
136
|
-
return this;
|
|
137
|
-
if (factor === 0)
|
|
138
|
-
return new _a(0, __classPrivateFieldGet(this, _Measurement_unit, "f"));
|
|
139
|
-
if (factor === -1)
|
|
140
|
-
return new _a(-__classPrivateFieldGet(this, _Measurement_value, "f"), __classPrivateFieldGet(this, _Measurement_unit, "f"));
|
|
141
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, __classPrivateFieldGet(this, _Measurement_value, "f") * factor);
|
|
142
|
-
}
|
|
143
|
-
divide(divisor) {
|
|
144
|
-
if (divisor === 1)
|
|
145
|
-
return this;
|
|
146
|
-
if (divisor === 0) {
|
|
147
|
-
(0, errors_1.throwMeasurementMethodError)({
|
|
148
|
-
operation: 'css-calipers.Measurement.divide',
|
|
149
|
-
caller: this,
|
|
150
|
-
params: [],
|
|
151
|
-
message: `Cannot divide ${this.css()} by zero`,
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
const result = __classPrivateFieldGet(this, _Measurement_value, "f") / divisor;
|
|
155
|
-
if (!Number.isFinite(result)) {
|
|
156
|
-
(0, errors_1.throwMeasurementMethodError)({
|
|
157
|
-
operation: 'css-calipers.Measurement.divide',
|
|
158
|
-
caller: this,
|
|
159
|
-
params: [],
|
|
160
|
-
message: 'Non-finite result',
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, result);
|
|
164
|
-
}
|
|
165
|
-
double() {
|
|
166
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, __classPrivateFieldGet(this, _Measurement_value, "f") * 2);
|
|
167
|
-
}
|
|
168
|
-
half() {
|
|
169
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, __classPrivateFieldGet(this, _Measurement_value, "f") / 2);
|
|
170
|
-
}
|
|
171
|
-
negation(shouldNegate = true) {
|
|
172
|
-
return shouldNegate ? __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, -__classPrivateFieldGet(this, _Measurement_value, "f")) : this;
|
|
173
|
-
}
|
|
174
|
-
absolute() {
|
|
175
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, Math.abs(__classPrivateFieldGet(this, _Measurement_value, "f")));
|
|
176
|
-
}
|
|
177
|
-
round(precision = 0) {
|
|
178
|
-
const next = precision === 0
|
|
179
|
-
? Math.round(__classPrivateFieldGet(this, _Measurement_value, "f"))
|
|
180
|
-
: Number(__classPrivateFieldGet(this, _Measurement_value, "f").toFixed(precision));
|
|
181
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, next);
|
|
182
|
-
}
|
|
183
|
-
floor() {
|
|
184
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, Math.floor(__classPrivateFieldGet(this, _Measurement_value, "f")));
|
|
185
|
-
}
|
|
186
|
-
ceil() {
|
|
187
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, Math.ceil(__classPrivateFieldGet(this, _Measurement_value, "f")));
|
|
188
|
-
}
|
|
189
|
-
clamp(min, max) {
|
|
190
|
-
assertMatchingUnits(this, min, 'clamp(min)');
|
|
191
|
-
assertMatchingUnits(this, max, 'clamp(max)');
|
|
192
|
-
const minValue = min.getValue();
|
|
193
|
-
const maxValue = max.getValue();
|
|
194
|
-
if (!Number.isFinite(minValue) || !Number.isFinite(maxValue)) {
|
|
195
|
-
(0, errors_1.throwMeasurementMethodError)({
|
|
196
|
-
operation: 'css-calipers.Measurement.clamp',
|
|
197
|
-
caller: this,
|
|
198
|
-
params: [min, max],
|
|
199
|
-
message: 'clamp: expected finite bounds',
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
if (minValue > maxValue) {
|
|
203
|
-
(0, errors_1.throwMeasurementMethodError)({
|
|
204
|
-
operation: 'css-calipers.Measurement.clamp',
|
|
205
|
-
caller: this,
|
|
206
|
-
params: [min, max],
|
|
207
|
-
message: `clamp: min (${min.css()}) must be <= max (${max.css()})`,
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
const clamped = Math.min(maxValue, Math.max(minValue, __classPrivateFieldGet(this, _Measurement_value, "f")));
|
|
211
|
-
return __classPrivateFieldGet(this, _Measurement_instances, "m", _Measurement_clone).call(this, clamped);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
_a = Measurement, _Measurement_clone = function _Measurement_clone(value) {
|
|
215
|
-
return new _a(value, __classPrivateFieldGet(this, _Measurement_unit, "f"));
|
|
216
|
-
};
|
|
217
|
-
const createMeasurement = (value, unit) => new Measurement(value, unit);
|
|
218
|
-
const isMeasurement = (x) => x instanceof Measurement;
|
|
219
|
-
exports.isMeasurement = isMeasurement;
|
|
220
|
-
function m(value, unit = 'px') {
|
|
221
|
-
return createMeasurement(value, unit.toLowerCase());
|
|
222
|
-
}
|
|
223
|
-
const makeUnitHelper = (unit) => {
|
|
224
|
-
const normalizedUnit = unit.toLowerCase();
|
|
225
|
-
const factory = (value) => createMeasurement(value, normalizedUnit);
|
|
226
|
-
return Object.assign(factory, {
|
|
227
|
-
unit: normalizedUnit,
|
|
228
|
-
});
|
|
229
|
-
};
|
|
230
|
-
exports.makeUnitHelper = makeUnitHelper;
|
|
231
|
-
const makeUnitHelperFromDefinition = (name) => (0, exports.makeUnitHelper)(unitDefinitions_1.UNIT_DEFINITIONS[name].unit);
|
|
232
|
-
exports.makeUnitHelperFromDefinition = makeUnitHelperFromDefinition;
|
|
233
|
-
exports.measurementUnitMetadata = unitDefinitions_1.UNIT_DEFINITIONS;
|
|
234
|
-
const makeUnitGuard = (helper) => {
|
|
235
|
-
return (value) => (0, exports.isMeasurement)(value) && value.isUnit(helper.unit);
|
|
236
|
-
};
|
|
237
|
-
exports.makeUnitGuard = makeUnitGuard;
|
|
238
|
-
const makeUnitAssert = (helper) => {
|
|
239
|
-
const guard = (0, exports.makeUnitGuard)(helper);
|
|
240
|
-
return (value, context) => {
|
|
241
|
-
if (!guard(value)) {
|
|
242
|
-
(0, errors_1.throwHelperError)({
|
|
243
|
-
operation: 'css-calipers.makeUnitAssert',
|
|
244
|
-
params: (0, exports.isMeasurement)(value) ? [value] : [],
|
|
245
|
-
message: `Expected unit "${helper.unit}".`,
|
|
246
|
-
context,
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
};
|
|
250
|
-
};
|
|
251
|
-
exports.makeUnitAssert = makeUnitAssert;
|
|
252
|
-
const hasCssMethod = (x) => {
|
|
253
|
-
return (typeof x === 'object' &&
|
|
254
|
-
x !== null &&
|
|
255
|
-
'css' in x &&
|
|
256
|
-
typeof x.css === 'function');
|
|
257
|
-
};
|
|
258
|
-
exports.hasCssMethod = hasCssMethod;
|
|
259
|
-
const measurementMin = (a, b) => {
|
|
260
|
-
assertMatchingUnits(a, b, 'measurementMin');
|
|
261
|
-
return a.getValue() <= b.getValue() ? a : b;
|
|
262
|
-
};
|
|
263
|
-
exports.measurementMin = measurementMin;
|
|
264
|
-
const measurementMax = (a, b) => {
|
|
265
|
-
assertMatchingUnits(a, b, 'measurementMax');
|
|
266
|
-
return a.getValue() >= b.getValue() ? a : b;
|
|
267
|
-
};
|
|
268
|
-
exports.measurementMax = measurementMax;
|
|
269
|
-
const assertUnit = (measurement, expectedUnit, context) => measurement.assertUnit(expectedUnit, context);
|
|
270
|
-
exports.assertUnit = assertUnit;
|
|
271
|
-
const assertCondition = (condition, message) => {
|
|
272
|
-
const passed = typeof condition === 'function' ? condition() : condition;
|
|
273
|
-
if (!passed) {
|
|
274
|
-
(0, errors_1.throwHelperError)({
|
|
275
|
-
operation: 'css-calipers.assertCondition',
|
|
276
|
-
params: [],
|
|
277
|
-
message,
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
};
|
|
281
|
-
exports.assertCondition = assertCondition;
|
|
6
|
+
const defaultErrorStore = (0, errors_1.createErrorConfigStore)();
|
|
7
|
+
const coreApi = (0, createCoreApi_1.createCoreApi)(defaultErrorStore);
|
|
8
|
+
exports.m = coreApi.m, exports.isMeasurement = coreApi.isMeasurement, exports.assertMatchingUnits = coreApi.assertMatchingUnits, exports.measurementMin = coreApi.measurementMin, exports.measurementMax = coreApi.measurementMax, exports.measurementUnitMetadata = coreApi.measurementUnitMetadata, exports.makeUnitHelper = coreApi.makeUnitHelper, exports.makeUnitHelperFromDefinition = coreApi.makeUnitHelperFromDefinition, exports.makeUnitGuard = coreApi.makeUnitGuard, exports.makeUnitAssert = coreApi.makeUnitAssert, exports.hasCssMethod = coreApi.hasCssMethod, exports.assertUnit = coreApi.assertUnit, exports.assertCondition = coreApi.assertCondition, exports.getErrorConfig = coreApi.getErrorConfig, exports.setErrorConfig = coreApi.setErrorConfig;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCalipers = void 0;
|
|
4
|
+
const errors_1 = require("./internal/errors");
|
|
5
|
+
const createCoreApi_1 = require("./internal/createCoreApi");
|
|
6
|
+
const createUnitsApi_1 = require("./internal/createUnitsApi");
|
|
7
|
+
const createMediaQueriesApi_1 = require("./internal/createMediaQueriesApi");
|
|
8
|
+
const createCalipers = (config = {}) => {
|
|
9
|
+
var _a;
|
|
10
|
+
const errorStore = (0, errors_1.createErrorConfigStore)((_a = config.errorConfig) !== null && _a !== void 0 ? _a : {});
|
|
11
|
+
const core = (0, createCoreApi_1.createCoreApi)(errorStore);
|
|
12
|
+
const units = (0, createUnitsApi_1.createUnitsApi)(core);
|
|
13
|
+
const mediaQueries = (0, createMediaQueriesApi_1.createMediaQueriesApi)(core);
|
|
14
|
+
return {
|
|
15
|
+
...core,
|
|
16
|
+
...units,
|
|
17
|
+
mediaQueries,
|
|
18
|
+
units,
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.createCalipers = createCalipers;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
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
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _FractionImpl_numerator, _FractionImpl_denominator, _FractionImpl_omitDenominatorWhenOne;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.fractionToFloat = exports.simplifyFraction = exports.reduceFraction = exports.normalizeFraction = exports.parseRatio = exports.isFraction = void 0;
|
|
16
|
+
exports.r = r;
|
|
17
|
+
class FractionImpl {
|
|
18
|
+
constructor(numerator, denominator, options = {}) {
|
|
19
|
+
var _a;
|
|
20
|
+
_FractionImpl_numerator.set(this, void 0);
|
|
21
|
+
_FractionImpl_denominator.set(this, void 0);
|
|
22
|
+
_FractionImpl_omitDenominatorWhenOne.set(this, void 0);
|
|
23
|
+
if (!Number.isFinite(numerator) || !Number.isFinite(denominator)) {
|
|
24
|
+
throw new Error('Fraction values must be finite numbers.');
|
|
25
|
+
}
|
|
26
|
+
if (denominator === 0) {
|
|
27
|
+
throw new Error('Fraction denominator cannot be zero.');
|
|
28
|
+
}
|
|
29
|
+
__classPrivateFieldSet(this, _FractionImpl_numerator, numerator, "f");
|
|
30
|
+
__classPrivateFieldSet(this, _FractionImpl_denominator, denominator, "f");
|
|
31
|
+
__classPrivateFieldSet(this, _FractionImpl_omitDenominatorWhenOne, (_a = options.omitDenominatorWhenOne) !== null && _a !== void 0 ? _a : false, "f");
|
|
32
|
+
}
|
|
33
|
+
numerator() {
|
|
34
|
+
return __classPrivateFieldGet(this, _FractionImpl_numerator, "f");
|
|
35
|
+
}
|
|
36
|
+
denominator() {
|
|
37
|
+
return __classPrivateFieldGet(this, _FractionImpl_denominator, "f");
|
|
38
|
+
}
|
|
39
|
+
withNumerator(numerator) {
|
|
40
|
+
return new FractionImpl(numerator, __classPrivateFieldGet(this, _FractionImpl_denominator, "f"));
|
|
41
|
+
}
|
|
42
|
+
withDenominator(denominator) {
|
|
43
|
+
return new FractionImpl(__classPrivateFieldGet(this, _FractionImpl_numerator, "f"), denominator);
|
|
44
|
+
}
|
|
45
|
+
valueOf() {
|
|
46
|
+
return __classPrivateFieldGet(this, _FractionImpl_numerator, "f") / __classPrivateFieldGet(this, _FractionImpl_denominator, "f");
|
|
47
|
+
}
|
|
48
|
+
css() {
|
|
49
|
+
if (__classPrivateFieldGet(this, _FractionImpl_omitDenominatorWhenOne, "f") && __classPrivateFieldGet(this, _FractionImpl_denominator, "f") === 1) {
|
|
50
|
+
return String(__classPrivateFieldGet(this, _FractionImpl_numerator, "f"));
|
|
51
|
+
}
|
|
52
|
+
return `${__classPrivateFieldGet(this, _FractionImpl_numerator, "f")}/${__classPrivateFieldGet(this, _FractionImpl_denominator, "f")}`;
|
|
53
|
+
}
|
|
54
|
+
toString() {
|
|
55
|
+
return this.css();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
_FractionImpl_numerator = new WeakMap(), _FractionImpl_denominator = new WeakMap(), _FractionImpl_omitDenominatorWhenOne = new WeakMap();
|
|
59
|
+
function r(numeratorOrDenominator, denominator) {
|
|
60
|
+
const numerator = denominator === undefined ? numeratorOrDenominator : numeratorOrDenominator;
|
|
61
|
+
const resolvedDenominator = denominator === undefined ? 1 : denominator;
|
|
62
|
+
return new FractionImpl(numerator, resolvedDenominator);
|
|
63
|
+
}
|
|
64
|
+
const isFraction = (value) => {
|
|
65
|
+
return (typeof value === "object" &&
|
|
66
|
+
value !== null &&
|
|
67
|
+
"css" in value &&
|
|
68
|
+
"numerator" in value &&
|
|
69
|
+
"denominator" in value &&
|
|
70
|
+
typeof value.css === "function" &&
|
|
71
|
+
typeof value.numerator === "function" &&
|
|
72
|
+
typeof value.denominator === "function");
|
|
73
|
+
};
|
|
74
|
+
exports.isFraction = isFraction;
|
|
75
|
+
const parseRatio = (value) => {
|
|
76
|
+
if (typeof value === "number") {
|
|
77
|
+
return Number.isFinite(value) ? { numerator: value, denominator: 1 } : null;
|
|
78
|
+
}
|
|
79
|
+
if ((0, exports.isFraction)(value)) {
|
|
80
|
+
return { numerator: value.numerator(), denominator: value.denominator() };
|
|
81
|
+
}
|
|
82
|
+
const trimmed = value.trim();
|
|
83
|
+
if (!trimmed)
|
|
84
|
+
return null;
|
|
85
|
+
if (trimmed.includes("/")) {
|
|
86
|
+
const [left, right] = trimmed.split("/");
|
|
87
|
+
if (left === undefined || right === undefined)
|
|
88
|
+
return null;
|
|
89
|
+
const numerator = Number(left.trim());
|
|
90
|
+
const denominator = Number(right.trim());
|
|
91
|
+
if (!Number.isFinite(numerator) || !Number.isFinite(denominator))
|
|
92
|
+
return null;
|
|
93
|
+
if (denominator === 0)
|
|
94
|
+
return null;
|
|
95
|
+
return { numerator, denominator };
|
|
96
|
+
}
|
|
97
|
+
const parsed = Number(trimmed);
|
|
98
|
+
return Number.isFinite(parsed) ? { numerator: parsed, denominator: 1 } : null;
|
|
99
|
+
};
|
|
100
|
+
exports.parseRatio = parseRatio;
|
|
101
|
+
const normalizeFraction = (fraction) => {
|
|
102
|
+
let numerator = fraction.numerator();
|
|
103
|
+
let denominator = fraction.denominator();
|
|
104
|
+
if (!Number.isFinite(numerator) || !Number.isFinite(denominator)) {
|
|
105
|
+
throw new Error("Fraction values must be finite numbers.");
|
|
106
|
+
}
|
|
107
|
+
if (denominator === 0) {
|
|
108
|
+
throw new Error("Fraction denominator cannot be zero.");
|
|
109
|
+
}
|
|
110
|
+
if (!Number.isInteger(numerator) || !Number.isInteger(denominator)) {
|
|
111
|
+
return new FractionImpl(numerator, denominator);
|
|
112
|
+
}
|
|
113
|
+
if (denominator < 0) {
|
|
114
|
+
numerator = -numerator;
|
|
115
|
+
denominator = Math.abs(denominator);
|
|
116
|
+
}
|
|
117
|
+
const gcd = (a, b) => {
|
|
118
|
+
let x = Math.abs(a);
|
|
119
|
+
let y = Math.abs(b);
|
|
120
|
+
while (y !== 0) {
|
|
121
|
+
const next = x % y;
|
|
122
|
+
x = y;
|
|
123
|
+
y = next;
|
|
124
|
+
}
|
|
125
|
+
return x === 0 ? 1 : x;
|
|
126
|
+
};
|
|
127
|
+
const divisor = gcd(numerator, denominator);
|
|
128
|
+
return new FractionImpl(numerator / divisor, denominator / divisor);
|
|
129
|
+
};
|
|
130
|
+
exports.normalizeFraction = normalizeFraction;
|
|
131
|
+
const reduceFraction = (fraction) => (0, exports.normalizeFraction)(fraction);
|
|
132
|
+
exports.reduceFraction = reduceFraction;
|
|
133
|
+
const simplifyFraction = (fraction) => {
|
|
134
|
+
const reduced = (0, exports.normalizeFraction)(fraction);
|
|
135
|
+
return new FractionImpl(reduced.numerator(), reduced.denominator(), { omitDenominatorWhenOne: true });
|
|
136
|
+
};
|
|
137
|
+
exports.simplifyFraction = simplifyFraction;
|
|
138
|
+
const fractionToFloat = (fraction) => fraction.numerator() / fraction.denominator();
|
|
139
|
+
exports.fractionToFloat = fractionToFloat;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildMeasurementCreationError = void 0;
|
|
4
|
+
const buildMeasurementCreationError = (value, unit, helper, context) => {
|
|
5
|
+
const code = 'CALIPERS_E_NONFINITE';
|
|
6
|
+
return {
|
|
7
|
+
message: `Non-finite measurement value: ${value}`,
|
|
8
|
+
context,
|
|
9
|
+
details: {
|
|
10
|
+
code,
|
|
11
|
+
helper,
|
|
12
|
+
inputSummary: `value=${value}, unit=${unit}`,
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.buildMeasurementCreationError = buildMeasurementCreationError;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildMeasurementCreationError = void 0;
|
|
4
|
+
var buildMeasurementCreationError_1 = require("./buildMeasurementCreationError");
|
|
5
|
+
Object.defineProperty(exports, "buildMeasurementCreationError", { enumerable: true, get: function () { return buildMeasurementCreationError_1.buildMeasurementCreationError; } });
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createContainerQueriesApi = void 0;
|
|
4
|
+
const helpers_1 = require("../containerQueries/helpers");
|
|
5
|
+
const validation_1 = require("../containerQueries/validation");
|
|
6
|
+
const containerQueries_1 = require("../containerQueries/containerQueries");
|
|
7
|
+
const modules_1 = require("../containerQueries/modules");
|
|
8
|
+
const factory_1 = require("../containerQueries/factory");
|
|
9
|
+
const vanilla_extract_1 = require("../libraryHelpers/vanilla-extract");
|
|
10
|
+
const createContainerQueriesApi = (core) => {
|
|
11
|
+
const validation = (0, validation_1.createContainerQueryValidation)({
|
|
12
|
+
assertCondition: core.assertCondition,
|
|
13
|
+
assertMatchingUnits: core.assertMatchingUnits,
|
|
14
|
+
});
|
|
15
|
+
const emitCoreFeatures = (0, containerQueries_1.createEmitCoreFeatures)(validation);
|
|
16
|
+
const emitBaseFeatures = (props, helpers) => {
|
|
17
|
+
emitCoreFeatures(props, helpers);
|
|
18
|
+
(0, modules_1.emitAspectRatioFeatures)(props, helpers);
|
|
19
|
+
(0, modules_1.emitBlockSizeFeatures)(props, helpers);
|
|
20
|
+
(0, modules_1.emitInlineSizeFeatures)(props, helpers);
|
|
21
|
+
(0, modules_1.emitStyleFeatures)(props, helpers);
|
|
22
|
+
(0, modules_1.emitCustomFeatures)(props, helpers);
|
|
23
|
+
};
|
|
24
|
+
const buildContainerQueryString = (0, helpers_1.createContainerQueryBuilder)({
|
|
25
|
+
emitBase: emitBaseFeatures,
|
|
26
|
+
});
|
|
27
|
+
const makeContainerQueryStyle = (queries) => (stylesByQuery) => {
|
|
28
|
+
const result = {};
|
|
29
|
+
Object.keys(stylesByQuery).forEach((key) => {
|
|
30
|
+
const styles = stylesByQuery[key];
|
|
31
|
+
const props = queries[key];
|
|
32
|
+
if (!styles || !props)
|
|
33
|
+
return;
|
|
34
|
+
result[buildContainerQueryString(props)] = styles;
|
|
35
|
+
});
|
|
36
|
+
const containerQuery = {
|
|
37
|
+
"@container": result,
|
|
38
|
+
};
|
|
39
|
+
return containerQuery;
|
|
40
|
+
};
|
|
41
|
+
const containerQueryFactory = (0, factory_1.createContainerQueryFactory)();
|
|
42
|
+
return {
|
|
43
|
+
buildContainerQueryString,
|
|
44
|
+
makeContainerQueryStyle,
|
|
45
|
+
containerQueryFactory,
|
|
46
|
+
emitCoreFeatures,
|
|
47
|
+
emitAspectRatioFeatures: modules_1.emitAspectRatioFeatures,
|
|
48
|
+
emitBlockSizeFeatures: modules_1.emitBlockSizeFeatures,
|
|
49
|
+
emitInlineSizeFeatures: modules_1.emitInlineSizeFeatures,
|
|
50
|
+
emitStyleFeatures: modules_1.emitStyleFeatures,
|
|
51
|
+
emitCustomFeatures: modules_1.emitCustomFeatures,
|
|
52
|
+
containerQueryOutputVanillaExtract: vanilla_extract_1.containerQueryOutputVanillaExtract,
|
|
53
|
+
createContainerQueryBuilder: helpers_1.createContainerQueryBuilder,
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
exports.createContainerQueriesApi = createContainerQueriesApi;
|