@animus-ui/system 0.1.0-next.v7 → 0.1.1-beta.2
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 +148 -0
- package/dist/Animus.d.ts +36 -30
- package/dist/Animus.d.ts.map +1 -1
- package/dist/AnimusExtended.d.ts +32 -27
- package/dist/AnimusExtended.d.ts.map +1 -1
- package/dist/SystemBuilder.d.ts +37 -32
- package/dist/SystemBuilder.d.ts.map +1 -1
- package/dist/compose.d.ts +24 -0
- package/dist/compose.d.ts.map +1 -0
- package/dist/compose.js +36 -0
- package/dist/composeWithContext.d.ts +30 -0
- package/dist/composeWithContext.d.ts.map +1 -0
- package/dist/composeWithContext.js +79 -0
- package/dist/createComposedFamily-DSE2ZuRE.js +262 -0
- package/dist/groups/index.d.ts +455 -359
- package/dist/groups/index.d.ts.map +1 -1
- package/dist/groups/index.js +139 -55
- package/dist/index.d.ts +14 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +707 -102
- package/dist/keyframes.d.ts +45 -0
- package/dist/keyframes.d.ts.map +1 -0
- package/dist/runtime/createClassResolver.d.ts +10 -0
- package/dist/runtime/createClassResolver.d.ts.map +1 -0
- package/dist/runtime/createComposedFamily.d.ts +16 -0
- package/dist/runtime/createComposedFamily.d.ts.map +1 -0
- package/dist/runtime/index.d.ts +26 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/resolveClasses.d.ts +59 -0
- package/dist/runtime/resolveClasses.d.ts.map +1 -0
- package/dist/runtime/witness.d.ts +16 -0
- package/dist/runtime/witness.d.ts.map +1 -0
- package/dist/runtime-entry.d.ts +10 -0
- package/dist/runtime-entry.d.ts.map +1 -0
- package/dist/runtime-entry.js +2 -0
- package/dist/selectors.d.ts +40 -0
- package/dist/selectors.d.ts.map +1 -0
- package/dist/size-CusLCguT.js +97 -0
- package/dist/theme/createTheme.d.ts +59 -0
- package/dist/theme/createTheme.d.ts.map +1 -0
- package/dist/theme/flattenScale.d.ts +21 -0
- package/dist/theme/flattenScale.d.ts.map +1 -0
- package/dist/theme/index.d.ts +5 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/serializeTokens.d.ts +8 -0
- package/dist/theme/serializeTokens.d.ts.map +1 -0
- package/dist/theme/types.d.ts +42 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/theme/utils.d.ts +28 -0
- package/dist/theme/utils.d.ts.map +1 -0
- package/dist/transforms/border.d.ts +4 -0
- package/dist/transforms/border.d.ts.map +1 -1
- package/dist/transforms/createTransform.d.ts +3 -1
- package/dist/transforms/createTransform.d.ts.map +1 -1
- package/dist/transforms/grid.d.ts +12 -2
- package/dist/transforms/grid.d.ts.map +1 -1
- package/dist/transforms/index.d.ts +0 -1
- package/dist/transforms/index.d.ts.map +1 -1
- package/dist/transforms/size.d.ts +8 -0
- package/dist/transforms/size.d.ts.map +1 -1
- package/dist/types/component.d.ts +148 -24
- package/dist/types/component.d.ts.map +1 -1
- package/dist/types/config.d.ts +54 -7
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/properties.d.ts +5 -7
- package/dist/types/properties.d.ts.map +1 -1
- package/dist/types/props.d.ts +13 -25
- package/dist/types/props.d.ts.map +1 -1
- package/dist/types/shared.d.ts +0 -1
- package/dist/types/shared.d.ts.map +1 -1
- package/dist/types/theme.d.ts +77 -11
- package/dist/types/theme.d.ts.map +1 -1
- package/dist/utils/deepMerge.d.ts +5 -0
- package/dist/utils/deepMerge.d.ts.map +1 -0
- package/package.json +46 -17
- package/dist/PropertyBuilder.d.ts +0 -11
- package/dist/PropertyBuilder.d.ts.map +0 -1
- package/dist/size-Dge_rsuz.js +0 -70
- package/dist/transforms/utils.d.ts +0 -3
- package/dist/transforms/utils.d.ts.map +0 -1
package/dist/types/theme.d.ts
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
sm: T;
|
|
4
|
-
md: T;
|
|
5
|
-
lg: T;
|
|
6
|
-
xl: T;
|
|
7
|
-
}
|
|
1
|
+
import type { LiteralPaths } from '../theme/flattenScale';
|
|
2
|
+
export type { CSSObject } from './shared';
|
|
8
3
|
export interface BaseTheme {
|
|
9
|
-
|
|
4
|
+
}
|
|
5
|
+
export interface AbstractTheme extends BaseTheme {
|
|
6
|
+
breakpoints: Record<string, number>;
|
|
7
|
+
readonly [key: string]: any;
|
|
10
8
|
}
|
|
11
9
|
/**
|
|
12
|
-
* Filter
|
|
13
|
-
*
|
|
10
|
+
* Filter non-scale keys from T so only user-defined scales appear.
|
|
11
|
+
* breakpoints, modes, mode are structural — not token scales.
|
|
14
12
|
*/
|
|
15
|
-
export type TokenScales<T> = Omit<T, '
|
|
13
|
+
export type TokenScales<T> = Omit<T, 'breakpoints' | 'modes' | 'mode'>;
|
|
16
14
|
/**
|
|
17
15
|
* Augmentable Theme interface. Consumers extend this via module augmentation
|
|
18
16
|
* to get type-safe scale lookups in .styles(), .variant(), and .states():
|
|
@@ -26,7 +24,75 @@ export type TokenScales<T> = Omit<T, '_variables' | '_tokens' | 'mode' | '_getCo
|
|
|
26
24
|
* When augmented, CSS object values like `fontSize` become constrained to
|
|
27
25
|
* the theme's scale keys (e.g. `11 | 12 | 13 | 14 | 16 | ...`).
|
|
28
26
|
* When NOT augmented, values fall back to standard CSS property types.
|
|
27
|
+
*
|
|
28
|
+
* BaseTheme uses an open index signature so that module augmentation can
|
|
29
|
+
* provide a concrete breakpoints type (e.g. `{ sm: number; lg: number }`)
|
|
30
|
+
* without conflicting with a fixed Breakpoints interface.
|
|
29
31
|
*/
|
|
30
32
|
export interface Theme extends BaseTheme {
|
|
31
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* CSS <color> value type constraint for addColors().
|
|
36
|
+
* Template literal arms provide autocomplete for common formats.
|
|
37
|
+
* (string & {}) escape hatch allows future CSS color functions without blocking.
|
|
38
|
+
*/
|
|
39
|
+
export type CSSColorValue = `#${string}` | `rgb(${string})` | `rgba(${string})` | `hsl(${string})` | `hsla(${string})` | `oklch(${string})` | `oklab(${string})` | `lch(${string})` | `lab(${string})` | `color-mix(${string})` | `color(${string})` | 'transparent' | 'currentColor' | (string & {});
|
|
40
|
+
/**
|
|
41
|
+
* Extract scale names from a built theme that were emitted with CSS variables.
|
|
42
|
+
* Primary path: reads the __emitted phantom tuple from BuiltTheme.
|
|
43
|
+
* Fallback: 'colors' hardcoded as always-emitted (for augmented Theme interfaces without phantom).
|
|
44
|
+
*/
|
|
45
|
+
export type EmittedScales<T> = T extends {
|
|
46
|
+
__emitted: [infer E extends string];
|
|
47
|
+
} ? E & keyof TokenScales<T> : 'colors' extends keyof TokenScales<T> ? 'colors' : never;
|
|
48
|
+
/**
|
|
49
|
+
* All valid token ref paths for emitted scales in a theme.
|
|
50
|
+
* Uses LiteralPaths to enumerate `scale.key` paths from emitted scale entries.
|
|
51
|
+
*
|
|
52
|
+
* ```ts
|
|
53
|
+
* type Refs = EmittedTokenPaths<typeof tokens>;
|
|
54
|
+
* // → 'colors.primary' | 'colors.bg' | 'sizes.navHeight' | ...
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export type EmittedTokenPaths<T> = keyof LiteralPaths<Pick<TokenScales<T>, EmittedScales<T>>, '.'>;
|
|
58
|
+
/**
|
|
59
|
+
* Token ref pattern type for referencing emitted scales.
|
|
60
|
+
* Constrains the scale name portion of `{scale.key}` to only emitted scales.
|
|
61
|
+
*/
|
|
62
|
+
export type ScaleTokenRef<E extends string> = `${string}{${E}.${string}}${string}`;
|
|
63
|
+
/**
|
|
64
|
+
* Token ref union for color-scale values, computed from the augmented Theme.
|
|
65
|
+
* Accepts `{colors.key}` and `{colors.key/alpha}` patterns.
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* const ref: ColorTokenRef = '{colors.primary/50}'; // ✓
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export type ColorTokenRef = Theme extends {
|
|
72
|
+
colors: infer C;
|
|
73
|
+
} ? C extends Record<string, unknown> ? `{colors.${Extract<keyof C, string>}}` | `{colors.${Extract<keyof C, string>}/${number}}` : never : never;
|
|
74
|
+
/** Pipeline-ready JSON strings returned by `.serialize()` on a built theme. */
|
|
75
|
+
export interface SerializedTheme {
|
|
76
|
+
/** Flattened token map as JSON: { "space.8": "0.5rem", "breakpoints.sm": "768" } */
|
|
77
|
+
scalesJson: string;
|
|
78
|
+
/** Token path → CSS variable name as JSON: { "colors.primary": "--colors-primary" } */
|
|
79
|
+
variableMapJson: string;
|
|
80
|
+
/** Pre-built CSS string with :root and [data-color-mode] blocks */
|
|
81
|
+
variableCss: string;
|
|
82
|
+
/** Contextual vars registry as JSON: { "colors": ["background-current"] } */
|
|
83
|
+
contextualVarsJson: string;
|
|
84
|
+
}
|
|
85
|
+
/** Structured manifest emitted by ThemeBuilder.build() for plugin consumption. */
|
|
86
|
+
export interface ThemeManifest {
|
|
87
|
+
/** Flat token key → raw value (e.g. 'space.8' → '0.5rem', 'colors.ember' → '#FF2800') */
|
|
88
|
+
tokenMap: Record<string, string>;
|
|
89
|
+
/** Flat token key → CSS variable name without var() wrapper (e.g. 'colors.ember' → '--color-ember') */
|
|
90
|
+
variableMap: Record<string, string>;
|
|
91
|
+
/** Mode name → flat key → resolved raw value (e.g. { dark: { 'colors.primary': '#FF2800' } }) */
|
|
92
|
+
modes: Record<string, Record<string, string>>;
|
|
93
|
+
/** Pre-built CSS string with :root and [data-color-mode] blocks */
|
|
94
|
+
variableCss: string;
|
|
95
|
+
/** Contextual vars registry: scale_name → [var_name] for --current-{name} side-effects */
|
|
96
|
+
contextualVars?: Record<string, string[]>;
|
|
97
|
+
}
|
|
32
98
|
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/utils/deepMerge.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAiB7B"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@animus-ui/system",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1-beta.2",
|
|
4
4
|
"description": "Animus design system builder — tokens, prop groups, global styles",
|
|
5
|
-
"
|
|
5
|
+
"keywords": [
|
|
6
|
+
"css",
|
|
7
|
+
"css-in-js",
|
|
8
|
+
"design-system",
|
|
9
|
+
"react",
|
|
10
|
+
"styled",
|
|
11
|
+
"styled-components",
|
|
12
|
+
"theming",
|
|
13
|
+
"tokens",
|
|
14
|
+
"typescript",
|
|
15
|
+
"variants",
|
|
16
|
+
"zero-runtime"
|
|
17
|
+
],
|
|
18
|
+
"homepage": "https://github.com/codecaaron/animus/tree/main/packages/system#readme",
|
|
6
19
|
"license": "MIT",
|
|
20
|
+
"author": "codecaaron <airrobb@gmail.com>",
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "git+https://github.com/codecaaron/animus",
|
|
24
|
+
"directory": "packages/system"
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist"
|
|
28
|
+
],
|
|
7
29
|
"type": "module",
|
|
30
|
+
"sideEffects": false,
|
|
8
31
|
"main": "./dist/index.js",
|
|
9
32
|
"module": "./dist/index.js",
|
|
10
33
|
"types": "./dist/index.d.ts",
|
|
@@ -16,31 +39,37 @@
|
|
|
16
39
|
"./groups": {
|
|
17
40
|
"types": "./dist/groups/index.d.ts",
|
|
18
41
|
"import": "./dist/groups/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./compose": {
|
|
44
|
+
"types": "./dist/compose.d.ts",
|
|
45
|
+
"import": "./dist/compose.js"
|
|
46
|
+
},
|
|
47
|
+
"./compose-with-context": {
|
|
48
|
+
"types": "./dist/composeWithContext.d.ts",
|
|
49
|
+
"import": "./dist/composeWithContext.js"
|
|
50
|
+
},
|
|
51
|
+
"./runtime": {
|
|
52
|
+
"types": "./dist/runtime-entry.d.ts",
|
|
53
|
+
"import": "./dist/runtime-entry.js",
|
|
54
|
+
"default": "./dist/runtime-entry.js"
|
|
19
55
|
}
|
|
20
56
|
},
|
|
21
|
-
"files": [
|
|
22
|
-
"dist"
|
|
23
|
-
],
|
|
24
57
|
"publishConfig": {
|
|
25
58
|
"access": "public"
|
|
26
59
|
},
|
|
27
|
-
"repository": {
|
|
28
|
-
"type": "git",
|
|
29
|
-
"url": "git+https://github.com/codecaaron/animus"
|
|
30
|
-
},
|
|
31
60
|
"scripts": {
|
|
32
|
-
"build": "
|
|
33
|
-
"
|
|
61
|
+
"build": "bun run build:ts",
|
|
62
|
+
"build:ts": "tsdown && tsgo -p tsconfig.build.json",
|
|
63
|
+
"compile": "tsgo --noEmit"
|
|
34
64
|
},
|
|
35
65
|
"dependencies": {
|
|
36
|
-
"@animus-ui/
|
|
37
|
-
"
|
|
38
|
-
},
|
|
39
|
-
"peerDependencies": {
|
|
40
|
-
"react": "^18.0.0 || ^19.0.0"
|
|
66
|
+
"@animus-ui/properties": "0.1.1-beta.2",
|
|
67
|
+
"csstype": "^3.1.3"
|
|
41
68
|
},
|
|
42
69
|
"devDependencies": {
|
|
43
|
-
"csstype": "^3.1.3",
|
|
44
70
|
"react": "^18.2.0"
|
|
71
|
+
},
|
|
72
|
+
"peerDependencies": {
|
|
73
|
+
"react": "^18.0.0 || ^19.0.0"
|
|
45
74
|
}
|
|
46
75
|
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Prop } from './types/config';
|
|
2
|
-
export declare class PropertyBuilder<PropReg extends Record<string, Prop> = {}, GroupReg extends Record<string, (keyof PropReg)[]> = {}> {
|
|
3
|
-
#private;
|
|
4
|
-
constructor(props?: PropReg, groups?: GroupReg);
|
|
5
|
-
addGroup<Name extends string, Conf extends Record<string, Prop>, PropNames extends keyof Conf>(name: Name, config: Conf): PropertyBuilder<PropReg & Conf, GroupReg & Record<Name, PropNames[]>>;
|
|
6
|
-
build(): {
|
|
7
|
-
propRegistry: { [K in keyof PropReg]: PropReg[K]; };
|
|
8
|
-
groupRegistry: { [K in keyof GroupReg]: GroupReg[K]; };
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=PropertyBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyBuilder.d.ts","sourceRoot":"","sources":["../src/PropertyBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,qBAAa,eAAe,CAC1B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EACzC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;;gBAK3C,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ;IAK9C,QAAQ,CACN,IAAI,SAAS,MAAM,EACnB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EACjC,SAAS,SAAS,MAAM,IAAI,EAC5B,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI;IAW1B,KAAK;sBAE4B,GAAG,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAE;uBAClC,GAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAE;;CAG1E"}
|
package/dist/size-Dge_rsuz.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
//#region src/scales/createScale.ts
|
|
2
|
-
const createScale = () => [];
|
|
3
|
-
const numericScale = [];
|
|
4
|
-
const stringScale = [];
|
|
5
|
-
const numericOrStringScale = [];
|
|
6
|
-
//#endregion
|
|
7
|
-
//#region src/transforms/createTransform.ts
|
|
8
|
-
function createTransform(name, fn) {
|
|
9
|
-
const wrapper = (value, property, props) => fn(value, property, props);
|
|
10
|
-
Object.defineProperty(wrapper, "name", { value: name });
|
|
11
|
-
return Object.assign(wrapper, { transformName: name });
|
|
12
|
-
}
|
|
13
|
-
//#endregion
|
|
14
|
-
//#region src/transforms/utils.ts
|
|
15
|
-
const numberToTemplate = (val, template) => typeof val === "number" ? template(val) : val;
|
|
16
|
-
//#endregion
|
|
17
|
-
//#region src/transforms/border.ts
|
|
18
|
-
const borderShorthand = createTransform("borderShorthand", (val) => numberToTemplate(val, (width) => `${width}px solid currentColor`));
|
|
19
|
-
//#endregion
|
|
20
|
-
//#region src/transforms/grid.ts
|
|
21
|
-
const gridItemMap = {
|
|
22
|
-
max: "max-content",
|
|
23
|
-
min: "min-content"
|
|
24
|
-
};
|
|
25
|
-
const unitlessNumber = /* @__PURE__ */ new RegExp(/^[0-9]*$/);
|
|
26
|
-
const isUnitlessNumber = (val) => unitlessNumber.test(val);
|
|
27
|
-
const gridItem = createTransform("gridItem", (item) => {
|
|
28
|
-
const strItem = String(item);
|
|
29
|
-
return `minmax(0, ${isUnitlessNumber(strItem) ? `${strItem}fr` : gridItemMap[strItem] ?? strItem})`;
|
|
30
|
-
});
|
|
31
|
-
const repeatGridItem = (item, count) => {
|
|
32
|
-
const template = gridItem(item);
|
|
33
|
-
return count > 1 ? `repeat(${count}, ${template})` : template;
|
|
34
|
-
};
|
|
35
|
-
const parseGridRatio = (val) => {
|
|
36
|
-
const items = val.split(":");
|
|
37
|
-
let repeated = ["", 0];
|
|
38
|
-
let gridStyle = "";
|
|
39
|
-
for (let i = 0; i < items.length + 1; i += 1) {
|
|
40
|
-
const delimiter = gridStyle.length > 0 ? " " : "";
|
|
41
|
-
const curr = items[i];
|
|
42
|
-
if (repeated?.[0] !== curr) {
|
|
43
|
-
if (repeated[0].length) gridStyle += delimiter + repeatGridItem(...repeated);
|
|
44
|
-
if (curr) repeated = [curr, 1];
|
|
45
|
-
} else repeated[1] += 1;
|
|
46
|
-
}
|
|
47
|
-
return gridStyle;
|
|
48
|
-
};
|
|
49
|
-
const gridItemRatio = createTransform("gridItemRatio", (val) => {
|
|
50
|
-
return typeof val === "number" ? repeatGridItem("1", val) : parseGridRatio(val);
|
|
51
|
-
});
|
|
52
|
-
//#endregion
|
|
53
|
-
//#region src/transforms/size.ts
|
|
54
|
-
const percentageOrAbsolute = (coordinate) => {
|
|
55
|
-
if (coordinate === 0) return coordinate;
|
|
56
|
-
if (coordinate <= 1 && coordinate >= -1) return `${coordinate * 100}%`;
|
|
57
|
-
return `${coordinate}px`;
|
|
58
|
-
};
|
|
59
|
-
const valueWithUnit = /(-?\d*\.?\d+)(%|\w*)/;
|
|
60
|
-
const size = createTransform("size", (value) => {
|
|
61
|
-
if (typeof value === "number") return percentageOrAbsolute(value);
|
|
62
|
-
const strValue = value;
|
|
63
|
-
if (strValue.includes("calc")) return strValue;
|
|
64
|
-
const [match, number, unit] = valueWithUnit.exec(strValue) || [];
|
|
65
|
-
if (match === void 0) return strValue;
|
|
66
|
-
const numericValue = parseFloat(number);
|
|
67
|
-
return !unit ? percentageOrAbsolute(numericValue) : `${numericValue}${unit}`;
|
|
68
|
-
});
|
|
69
|
-
//#endregion
|
|
70
|
-
export { borderShorthand as a, numericOrStringScale as c, gridItemRatio as i, numericScale as l, size as n, createTransform as o, gridItem as r, createScale as s, percentageOrAbsolute as t, stringScale as u };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/transforms/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,GAC3B,KAAK,MAAM,GAAG,MAAM,EACpB,UAAU,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,WACiB,CAAC;AAErD,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,GAAG,MAAM,WAE9C,CAAC"}
|