css-calipers 0.5.0 → 0.7.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/README.md +3 -3
- package/dist/cjs/core.js +5 -3
- package/dist/esm/core.d.ts +2 -1
- package/dist/esm/core.d.ts.map +1 -1
- package/dist/esm/core.js +3 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ compile-time unit safety, and output CSS only at the edges.
|
|
|
9
9
|
|
|
10
10
|
At a glance:
|
|
11
11
|
|
|
12
|
-
- Create measurements with `m` from a number and a unit
|
|
12
|
+
- Create measurements with `m` from a number and a unit; if you omit the unit, it defaults to `px` and is typed as the px measurement type.
|
|
13
13
|
- Do unit-safe math with methods like `add` and `multiply`, then call `.css()`
|
|
14
14
|
at the edge to get a CSS string (for example "10px").
|
|
15
15
|
|
|
@@ -36,7 +36,7 @@ npm install css-calipers
|
|
|
36
36
|
import { m } from "css-calipers";
|
|
37
37
|
|
|
38
38
|
// Declare vars
|
|
39
|
-
const paddingBase = m(4); // defaults to
|
|
39
|
+
const paddingBase = m(4); // defaults to px (and is typed as a px measurement) when no unit is specified
|
|
40
40
|
const rotation = m(45, "deg"); // equivalent to a dedicated helper: mDeg(45)
|
|
41
41
|
|
|
42
42
|
// Do safe arithmetic
|
|
@@ -105,7 +105,7 @@ It’s probably overkill if:
|
|
|
105
105
|
import { m, mPercent, mVw, mVh, assertCondition } from "css-calipers";
|
|
106
106
|
|
|
107
107
|
// Token-style measurements (px by default)
|
|
108
|
-
const spacing = m(8); // Defaults to px; equivalent to mPx(8)
|
|
108
|
+
const spacing = m(8); // Defaults to px and is typed as a PxMeasurement; equivalent to mPx(8)
|
|
109
109
|
const cardPadding = spacing.multiply(2); // 16px
|
|
110
110
|
const gutter = spacing.multiply(1.5); // 12px
|
|
111
111
|
|
package/dist/cjs/core.js
CHANGED
|
@@ -12,8 +12,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
12
12
|
};
|
|
13
13
|
var _Measurement_instances, _a, _Measurement_value, _Measurement_unit, _Measurement_clone;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.assertCondition = exports.assertUnit = exports.measurementMax = exports.measurementMin = exports.hasCssMethod = exports.makeUnitAssert = exports.makeUnitGuard = exports.measurementUnitMetadata = exports.makeUnitHelperFromDefinition = exports.makeUnitHelper = exports.
|
|
15
|
+
exports.assertCondition = exports.assertUnit = exports.measurementMax = exports.measurementMin = exports.hasCssMethod = exports.makeUnitAssert = exports.makeUnitGuard = exports.measurementUnitMetadata = exports.makeUnitHelperFromDefinition = exports.makeUnitHelper = exports.isMeasurement = void 0;
|
|
16
16
|
exports.assertMatchingUnits = assertMatchingUnits;
|
|
17
|
+
exports.m = m;
|
|
17
18
|
const unitDefinitions_1 = require("./unitDefinitions");
|
|
18
19
|
const errors_1 = require("./internal/errors");
|
|
19
20
|
function assertMatchingUnits(left, right, context) {
|
|
@@ -216,8 +217,9 @@ _a = Measurement, _Measurement_clone = function _Measurement_clone(value) {
|
|
|
216
217
|
const createMeasurement = (value, unit) => new Measurement(value, unit);
|
|
217
218
|
const isMeasurement = (x) => x instanceof Measurement;
|
|
218
219
|
exports.isMeasurement = isMeasurement;
|
|
219
|
-
|
|
220
|
-
|
|
220
|
+
function m(value, unit = 'px') {
|
|
221
|
+
return createMeasurement(value, unit.toLowerCase());
|
|
222
|
+
}
|
|
221
223
|
const makeUnitHelper = (unit) => {
|
|
222
224
|
const normalizedUnit = unit.toLowerCase();
|
|
223
225
|
const factory = (value) => createMeasurement(value, normalizedUnit);
|
package/dist/esm/core.d.ts
CHANGED
|
@@ -32,7 +32,8 @@ export interface IMeasurement<Unit extends string = string> {
|
|
|
32
32
|
type DeltaInput = number | IMeasurement<string>;
|
|
33
33
|
export declare function assertMatchingUnits<Unit extends string>(left: IMeasurement<Unit>, right: IMeasurement<Unit>, context: string): void;
|
|
34
34
|
export declare const isMeasurement: (x: unknown) => x is IMeasurement<string>;
|
|
35
|
-
export declare
|
|
35
|
+
export declare function m(value: number): BrandedMeasurement<'px'>;
|
|
36
|
+
export declare function m<Unit extends string>(value: number, unit: Unit): IMeasurement<Lowercase<Unit>> & UnitBrand<Lowercase<Unit>>;
|
|
36
37
|
export type BrandedMeasurement<Unit extends string> = IMeasurement<Unit> & UnitBrand<Unit>;
|
|
37
38
|
export type UnitHelper<Unit extends string = string> = ((value: number) => BrandedMeasurement<Unit>) & {
|
|
38
39
|
unit: Unit;
|
package/dist/esm/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/core.js
CHANGED
|
@@ -211,7 +211,9 @@ _a = Measurement, _Measurement_clone = function _Measurement_clone(value) {
|
|
|
211
211
|
};
|
|
212
212
|
const createMeasurement = (value, unit) => new Measurement(value, unit);
|
|
213
213
|
export const isMeasurement = (x) => x instanceof Measurement;
|
|
214
|
-
export
|
|
214
|
+
export function m(value, unit = 'px') {
|
|
215
|
+
return createMeasurement(value, unit.toLowerCase());
|
|
216
|
+
}
|
|
215
217
|
export const makeUnitHelper = (unit) => {
|
|
216
218
|
const normalizedUnit = unit.toLowerCase();
|
|
217
219
|
const factory = (value) => createMeasurement(value, normalizedUnit);
|