@styleframe/core 1.0.3 → 2.0.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @styleframe/core
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#50](https://github.com/styleframe-dev/styleframe/pull/50) [`0593c52`](https://github.com/styleframe-dev/styleframe/commit/0593c52798b8846d3c49762621baeb66354e0356) Thanks [@alexgrozav](https://github.com/alexgrozav)! - feat: add license check integration
8
+
3
9
  ## 1.0.3
4
10
 
5
11
  ### Patch Changes
@@ -106,6 +106,15 @@ export declare type DeclarationsCallbackContext = {
106
106
 
107
107
  export declare const deepClone: CloneFunction<any>;
108
108
 
109
+ /**
110
+ * Generates a random ID string
111
+ *
112
+ * @param length - The length of the random ID to generate (default: 8)
113
+ * @param prefix - Optional prefix to prepend to the random ID
114
+ * @returns A random alphanumeric string with optional prefix
115
+ */
116
+ export declare function generateRandomId(prefix?: string, length?: number): string;
117
+
109
118
  export declare function getModifier(root: Root, name: string): ModifierFactory;
110
119
 
111
120
  export declare function getUtility(root: Root, name: string): UtilityFactory;
@@ -212,6 +221,7 @@ export declare type Selector = {
212
221
  };
213
222
 
214
223
  export declare interface Styleframe {
224
+ id: string;
215
225
  root: Root;
216
226
  variable: ReturnType<typeof createVariableFunction>;
217
227
  selector: ReturnType<typeof createSelectorFunction>;
@@ -1,16 +1,16 @@
1
- function k(e, t) {
2
- return function(n, ...i) {
1
+ function k(e, r) {
2
+ return function(t, ...i) {
3
3
  return {
4
4
  type: "css",
5
- value: n.reduce((o, u, c) => (o.push(u), c < i.length && o.push(i[c]), o), [])
5
+ value: t.reduce((o, u, c) => (o.push(u), c < i.length && o.push(i[c]), o), [])
6
6
  };
7
7
  };
8
8
  }
9
- function R(e) {
9
+ function M(e) {
10
10
  return typeof e == "object" && e !== null;
11
11
  }
12
- function p(e, t) {
13
- return R(e) && "type" in e && e.type === t;
12
+ function p(e, r) {
13
+ return M(e) && "type" in e && e.type === r;
14
14
  }
15
15
  function B(e) {
16
16
  return p(e, "variable");
@@ -18,22 +18,22 @@ function B(e) {
18
18
  function F(e) {
19
19
  return p(e, "reference");
20
20
  }
21
- function X(e) {
21
+ function Z(e) {
22
22
  return p(e, "selector");
23
23
  }
24
- function Z(e) {
24
+ function ee(e) {
25
25
  return p(e, "at-rule");
26
26
  }
27
- function ee(e) {
27
+ function te(e) {
28
28
  return p(e, "utility");
29
29
  }
30
- function te(e) {
30
+ function ne(e) {
31
31
  return p(e, "modifier");
32
32
  }
33
33
  function T(e) {
34
34
  return p(e, "css");
35
35
  }
36
- function ne(e) {
36
+ function re(e) {
37
37
  return p(e, "theme");
38
38
  }
39
39
  function j(e) {
@@ -42,67 +42,67 @@ function j(e) {
42
42
  function _(e) {
43
43
  return typeof e == "string" || typeof e == "number" || typeof e == "boolean" || e === null;
44
44
  }
45
- function V(e) {
46
- return _(e) || F(e) || T(e) || Array.isArray(e) && e.every(V);
45
+ function O(e) {
46
+ return _(e) || F(e) || T(e) || Array.isArray(e) && e.every(O);
47
47
  }
48
48
  function C(e) {
49
- return R(e) && "children" in e && "declarations" in e && "variables" in e;
49
+ return M(e) && "children" in e && "declarations" in e && "variables" in e;
50
50
  }
51
- function v(e, t) {
52
- return function(n, i, s) {
51
+ function R(e, r) {
52
+ return function(t, i, s) {
53
53
  const o = {
54
54
  type: "at-rule",
55
- identifier: n,
55
+ identifier: t,
56
56
  rule: i,
57
57
  declarations: {},
58
58
  variables: [],
59
59
  children: []
60
- }, u = b(o, t);
60
+ }, u = b(o, r);
61
61
  return typeof s == "function" ? o.declarations = s(u) ?? {} : s && (o.declarations = s), g(o.declarations, u), e.children.push(o), o;
62
62
  };
63
63
  }
64
- function S(e, t) {
65
- const r = v(e, t);
64
+ function S(e, r) {
65
+ const n = R(e, r);
66
66
  return function(i, s) {
67
- return r("media", i, s);
67
+ return n("media", i, s);
68
68
  };
69
69
  }
70
- function E(e, t) {
71
- const r = v(e, t);
70
+ function E(e, r) {
71
+ const n = R(e, r);
72
72
  return function(i, s) {
73
- return r("keyframes", i, s);
73
+ return n("keyframes", i, s);
74
74
  };
75
75
  }
76
- function P(e, t) {
77
- return function(n, i) {
78
- return B(n) ? {
76
+ function P(e, r) {
77
+ return function(t, i) {
78
+ return B(t) ? {
79
79
  type: "reference",
80
- name: n.name,
80
+ name: t.name,
81
81
  fallback: i
82
82
  } : {
83
83
  type: "reference",
84
- name: n,
84
+ name: t,
85
85
  fallback: i
86
86
  };
87
87
  };
88
88
  }
89
- function D(e, t) {
90
- return function(n, i) {
89
+ function D(e, r) {
90
+ return function(t, i) {
91
91
  const s = {
92
92
  type: "selector",
93
- query: n,
93
+ query: t,
94
94
  declarations: {},
95
95
  variables: [],
96
96
  children: []
97
- }, o = b(s, t);
97
+ }, o = b(s, r);
98
98
  return typeof i == "function" ? s.declarations = i(o) ?? {} : C(i) ? (s.variables = i.variables, s.declarations = i.declarations, s.children = i.children) : s.declarations = i, g(s.declarations, o), e.children.push(s), s;
99
99
  };
100
100
  }
101
- function H(e, t) {
102
- return function(n, i, s = {
101
+ function H(e, r) {
102
+ return function(t, i, s = {
103
103
  default: !1
104
104
  }) {
105
- const o = typeof n == "string" ? n : n.name, u = e.variables.find(
105
+ const o = typeof t == "string" ? t : t.name, u = e.variables.find(
106
106
  (f) => f.name === o
107
107
  );
108
108
  if (s.default && u)
@@ -117,11 +117,11 @@ function H(e, t) {
117
117
  return e.variables.push(c), c;
118
118
  };
119
119
  }
120
- function b(e, t) {
121
- const r = H(e), n = D(e, t), i = v(e, t), s = E(t, t), o = S(e, t), u = P(), c = k();
120
+ function b(e, r) {
121
+ const n = H(e), t = D(e, r), i = R(e, r), s = E(r, r), o = S(e, r), u = P(), c = k();
122
122
  return {
123
- variable: r,
124
- selector: n,
123
+ variable: n,
124
+ selector: t,
125
125
  keyframes: s,
126
126
  atRule: i,
127
127
  media: o,
@@ -129,28 +129,28 @@ function b(e, t) {
129
129
  css: c
130
130
  };
131
131
  }
132
- function g(e, t) {
133
- for (const r in e)
134
- if (r.startsWith("@")) {
135
- const n = e[r];
136
- if (typeof n == "object" && n !== null && !V(n)) {
137
- const i = r.replace(/^@(\w+).*/, "$1"), s = r.replace(`@${i}`, "").trim();
138
- t.atRule(i, s, n), delete e[r];
132
+ function g(e, r) {
133
+ for (const n in e)
134
+ if (n.startsWith("@")) {
135
+ const t = e[n];
136
+ if (typeof t == "object" && t !== null && !O(t)) {
137
+ const i = n.replace(/^@(\w+).*/, "$1"), s = n.replace(`@${i}`, "").trim();
138
+ r.atRule(i, s, t), delete e[n];
139
139
  }
140
- } else if (/^[.&:]/.test(r)) {
141
- const n = e[r];
142
- typeof n == "object" && (t.selector(r, n), delete e[r]);
140
+ } else if (/^[.&:]/.test(n)) {
141
+ const t = e[n];
142
+ typeof t == "object" && (r.selector(n, t), delete e[n]);
143
143
  }
144
144
  return e;
145
145
  }
146
- function re(e) {
146
+ function ie(e) {
147
147
  return e.charAt(0).toUpperCase() + e.slice(1);
148
148
  }
149
149
  function m(e) {
150
150
  if (e instanceof Buffer)
151
151
  return Buffer.from(e);
152
- const t = e.constructor;
153
- return new t(
152
+ const r = e.constructor;
153
+ return new r(
154
154
  e.buffer.slice(0),
155
155
  e.byteOffset,
156
156
  e.byteLength / e.BYTES_PER_ELEMENT || 1
@@ -159,63 +159,63 @@ function m(e) {
159
159
  function K(e) {
160
160
  if (e = e || {}, e.circular)
161
161
  return U(e);
162
- const t = /* @__PURE__ */ new Map();
163
- if (t.set(Date, (o) => new Date(o)), t.set(
162
+ const r = /* @__PURE__ */ new Map();
163
+ if (r.set(Date, (o) => new Date(o)), r.set(
164
164
  Map,
165
- (o, u) => new Map(n(Array.from(o), u))
166
- ), t.set(
165
+ (o, u) => new Map(t(Array.from(o), u))
166
+ ), r.set(
167
167
  Set,
168
- (o, u) => new Set(n(Array.from(o), u))
168
+ (o, u) => new Set(t(Array.from(o), u))
169
169
  ), e.constructorHandlers)
170
170
  for (const o of e.constructorHandlers)
171
- t.set(o[0], o[1]);
172
- let r;
171
+ r.set(o[0], o[1]);
172
+ let n;
173
173
  return e.proto ? s : i;
174
- function n(o, u) {
174
+ function t(o, u) {
175
175
  const c = Object.keys(o), f = Array.from({ length: c.length });
176
176
  for (let a = 0; a < c.length; a++) {
177
177
  const l = c[a], y = o[l];
178
- typeof y != "object" || y === null ? f[l] = y : y.constructor !== Object && (r = t.get(y.constructor)) ? f[l] = r(y, u) : ArrayBuffer.isView(y) ? f[l] = m(y) : f[l] = u(y);
178
+ typeof y != "object" || y === null ? f[l] = y : y.constructor !== Object && (n = r.get(y.constructor)) ? f[l] = n(y, u) : ArrayBuffer.isView(y) ? f[l] = m(y) : f[l] = u(y);
179
179
  }
180
180
  return f;
181
181
  }
182
182
  function i(o) {
183
183
  if (typeof o != "object" || o === null) return o;
184
- if (Array.isArray(o)) return n(o, i);
185
- if (o.constructor !== Object && (r = t.get(o.constructor)))
186
- return r(o, i);
184
+ if (Array.isArray(o)) return t(o, i);
185
+ if (o.constructor !== Object && (n = r.get(o.constructor)))
186
+ return n(o, i);
187
187
  const u = {};
188
188
  for (const c in o) {
189
189
  if (Object.hasOwnProperty.call(o, c) === !1) continue;
190
190
  const f = o[c];
191
- typeof f != "object" || f === null ? u[c] = f : f.constructor !== Object && (r = t.get(f.constructor)) ? u[c] = r(f, i) : ArrayBuffer.isView(f) ? u[c] = m(f) : u[c] = i(f);
191
+ typeof f != "object" || f === null ? u[c] = f : f.constructor !== Object && (n = r.get(f.constructor)) ? u[c] = n(f, i) : ArrayBuffer.isView(f) ? u[c] = m(f) : u[c] = i(f);
192
192
  }
193
193
  return u;
194
194
  }
195
195
  function s(o) {
196
196
  if (typeof o != "object" || o === null) return o;
197
- if (Array.isArray(o)) return n(o, s);
198
- if (o.constructor !== Object && (r = t.get(o.constructor)))
199
- return r(o, s);
197
+ if (Array.isArray(o)) return t(o, s);
198
+ if (o.constructor !== Object && (n = r.get(o.constructor)))
199
+ return n(o, s);
200
200
  const u = {};
201
201
  for (const c in o) {
202
202
  const f = o[c];
203
- typeof f != "object" || f === null ? u[c] = f : f.constructor !== Object && (r = t.get(f.constructor)) ? u[c] = r(f, s) : ArrayBuffer.isView(f) ? u[c] = m(f) : u[c] = s(f);
203
+ typeof f != "object" || f === null ? u[c] = f : f.constructor !== Object && (n = r.get(f.constructor)) ? u[c] = n(f, s) : ArrayBuffer.isView(f) ? u[c] = m(f) : u[c] = s(f);
204
204
  }
205
205
  return u;
206
206
  }
207
207
  }
208
208
  function U(e) {
209
- const t = [], r = [], n = /* @__PURE__ */ new Map();
210
- if (n.set(Date, (c) => new Date(c)), n.set(
209
+ const r = [], n = [], t = /* @__PURE__ */ new Map();
210
+ if (t.set(Date, (c) => new Date(c)), t.set(
211
211
  Map,
212
212
  (c, f) => new Map(s(Array.from(c), f))
213
- ), n.set(
213
+ ), t.set(
214
214
  Set,
215
215
  (c, f) => new Set(s(Array.from(c), f))
216
216
  ), e.constructorHandlers)
217
217
  for (const c of e.constructorHandlers)
218
- n.set(c[0], c[1]);
218
+ t.set(c[0], c[1]);
219
219
  let i;
220
220
  return e.proto ? u : o;
221
221
  function s(c, f) {
@@ -224,13 +224,13 @@ function U(e) {
224
224
  const h = a[y], d = c[h];
225
225
  if (typeof d != "object" || d === null)
226
226
  l[h] = d;
227
- else if (d.constructor !== Object && (i = n.get(d.constructor)))
227
+ else if (d.constructor !== Object && (i = t.get(d.constructor)))
228
228
  l[h] = i(d, f);
229
229
  else if (ArrayBuffer.isView(d))
230
230
  l[h] = m(d);
231
231
  else {
232
- const O = t.indexOf(d);
233
- O !== -1 ? l[h] = r[O] : l[h] = f(d);
232
+ const v = r.indexOf(d);
233
+ v !== -1 ? l[h] = n[v] : l[h] = f(d);
234
234
  }
235
235
  }
236
236
  return l;
@@ -238,73 +238,82 @@ function U(e) {
238
238
  function o(c) {
239
239
  if (typeof c != "object" || c === null) return c;
240
240
  if (Array.isArray(c)) return s(c, o);
241
- if (c.constructor !== Object && (i = n.get(c.constructor)))
241
+ if (c.constructor !== Object && (i = t.get(c.constructor)))
242
242
  return i(c, o);
243
243
  const f = {};
244
- t.push(c), r.push(f);
244
+ r.push(c), n.push(f);
245
245
  for (const a in c) {
246
246
  if (Object.hasOwnProperty.call(c, a) === !1) continue;
247
247
  const l = c[a];
248
248
  if (typeof l != "object" || l === null)
249
249
  f[a] = l;
250
- else if (l.constructor !== Object && (i = n.get(l.constructor)))
250
+ else if (l.constructor !== Object && (i = t.get(l.constructor)))
251
251
  f[a] = i(l, o);
252
252
  else if (ArrayBuffer.isView(l))
253
253
  f[a] = m(l);
254
254
  else {
255
- const y = t.indexOf(l);
256
- y !== -1 ? f[a] = r[y] : f[a] = o(l);
255
+ const y = r.indexOf(l);
256
+ y !== -1 ? f[a] = n[y] : f[a] = o(l);
257
257
  }
258
258
  }
259
- return t.pop(), r.pop(), f;
259
+ return r.pop(), n.pop(), f;
260
260
  }
261
261
  function u(c) {
262
262
  if (typeof c != "object" || c === null) return c;
263
263
  if (Array.isArray(c)) return s(c, u);
264
- if (c.constructor !== Object && (i = n.get(c.constructor)))
264
+ if (c.constructor !== Object && (i = t.get(c.constructor)))
265
265
  return i(c, u);
266
266
  const f = {};
267
- t.push(c), r.push(f);
267
+ r.push(c), n.push(f);
268
268
  for (const a in c) {
269
269
  const l = c[a];
270
270
  if (typeof l != "object" || l === null)
271
271
  f[a] = l;
272
- else if (l.constructor !== Object && (i = n.get(l.constructor)))
272
+ else if (l.constructor !== Object && (i = t.get(l.constructor)))
273
273
  f[a] = i(l, u);
274
274
  else if (ArrayBuffer.isView(l))
275
275
  f[a] = m(l);
276
276
  else {
277
- const y = t.indexOf(l);
278
- y !== -1 ? f[a] = r[y] : f[a] = u(l);
277
+ const y = r.indexOf(l);
278
+ y !== -1 ? f[a] = n[y] : f[a] = u(l);
279
279
  }
280
280
  }
281
- return t.pop(), r.pop(), f;
281
+ return r.pop(), n.pop(), f;
282
282
  }
283
283
  }
284
284
  const A = K();
285
- function ie(e, t) {
286
- const r = e.variables.find((n) => n.name === t);
287
- if (!r)
288
- throw new Error(`Variable "${t}" not found`);
289
- return r;
290
- }
291
- function oe(e, t) {
292
- const r = e.utilities.find((n) => n.name === t);
293
- if (!r)
294
- throw new Error(`Utility "${t}" not found`);
295
- return r;
296
- }
297
- function ce(e, t) {
298
- const r = e.modifiers.find(
299
- (n) => n.key.includes(t)
285
+ function $(e, r = 8) {
286
+ const n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
287
+ let t = "";
288
+ for (let i = 0; i < r; i++) {
289
+ const s = Math.floor(Math.random() * n.length);
290
+ t += n[s];
291
+ }
292
+ return e ? `${e}${t}` : t;
293
+ }
294
+ function oe(e, r) {
295
+ const n = e.variables.find((t) => t.name === r);
296
+ if (!n)
297
+ throw new Error(`Variable "${r}" not found`);
298
+ return n;
299
+ }
300
+ function ce(e, r) {
301
+ const n = e.utilities.find((t) => t.name === r);
302
+ if (!n)
303
+ throw new Error(`Utility "${r}" not found`);
304
+ return n;
305
+ }
306
+ function se(e, r) {
307
+ const n = e.modifiers.find(
308
+ (t) => t.key.includes(r)
300
309
  );
301
- if (!r)
302
- throw new Error(`Modifier "${t}" not found`);
303
- return r;
310
+ if (!n)
311
+ throw new Error(`Modifier "${r}" not found`);
312
+ return n;
304
313
  }
305
- const x = Symbol.for("__licenseRequired");
306
- function $(e) {
307
- w(e) || Object.defineProperty(e, x, {
314
+ const V = "__licenseRequired";
315
+ function I(e) {
316
+ w(e) || Object.defineProperty(e, V, {
308
317
  value: !0,
309
318
  writable: !1,
310
319
  configurable: !1,
@@ -312,92 +321,92 @@ function $(e) {
312
321
  });
313
322
  }
314
323
  function w(e) {
315
- return Object.prototype.hasOwnProperty.call(e, x);
324
+ return Object.prototype.hasOwnProperty.call(e, V);
316
325
  }
317
- function L(e, t) {
318
- const r = [...e];
319
- for (const n of t) {
320
- const i = r.find(
321
- (s) => s.name === n.name
326
+ function L(e, r) {
327
+ const n = [...e];
328
+ for (const t of r) {
329
+ const i = n.find(
330
+ (s) => s.name === t.name
322
331
  );
323
- i ? i.value = n.value : r.push(n);
332
+ i ? i.value = t.value : n.push(t);
324
333
  }
325
- return r;
334
+ return n;
326
335
  }
327
- function N(e, t) {
328
- const r = [...e];
329
- for (const n of t) {
330
- const i = r.find(
331
- (s) => s.name === n.name
336
+ function N(e, r) {
337
+ const n = [...e];
338
+ for (const t of r) {
339
+ const i = n.find(
340
+ (s) => s.name === t.name
332
341
  );
333
342
  i ? Object.assign(
334
343
  i,
335
- M(i, n)
336
- ) : r.push(n);
344
+ x(i, t)
345
+ ) : n.push(t);
337
346
  }
338
- return r;
347
+ return n;
339
348
  }
340
- function M(e, t) {
349
+ function x(e, r) {
341
350
  return Object.keys(e).reduce(
342
- (r, n) => (n === "variables" ? r.variables = L(e.variables, t.variables) : n === "declarations" ? r.declarations = { ...e.declarations, ...t.declarations } : n === "themes" && j(r) && j(e) && j(t) ? r.themes = N(e.themes, t.themes) : Array.isArray(e[n]) && (r[n] = e[n].concat(
343
- t[n]
344
- )), r),
351
+ (n, t) => (t === "variables" ? n.variables = L(e.variables, r.variables) : t === "declarations" ? n.declarations = { ...e.declarations, ...r.declarations } : t === "themes" && j(n) && j(e) && j(r) ? n.themes = N(e.themes, r.themes) : Array.isArray(e[t]) && (n[t] = e[t].concat(
352
+ r[t]
353
+ )), n),
345
354
  {
346
355
  ...e,
347
- ...t
356
+ ...r
348
357
  }
349
358
  );
350
359
  }
351
- function se(e, ...t) {
352
- return t.reduce((r, n) => {
360
+ function fe(e, ...r) {
361
+ return r.reduce((n, t) => {
353
362
  const i = {
354
- ...r,
355
- root: M(r.root, n.root)
363
+ ...n,
364
+ root: x(n.root, t.root)
356
365
  };
357
- return (w(r) || w(n)) && $(i), i;
366
+ return (w(n) || w(t)) && I(i), i;
358
367
  }, e);
359
368
  }
360
369
  function q(e) {
361
- const t = [];
362
- function r(n, i) {
363
- i.length > 0 && t.push([...i].sort());
364
- for (let s = n; s < e.length; s++) {
370
+ const r = [];
371
+ function n(t, i) {
372
+ i.length > 0 && r.push([...i].sort());
373
+ for (let s = t; s < e.length; s++) {
365
374
  const o = e[s];
366
375
  if (o)
367
376
  if (o.length === 1 && o[0])
368
- r(s + 1, [...i, o[0]]);
377
+ n(s + 1, [...i, o[0]]);
369
378
  else
370
379
  for (const u of o)
371
- r(s + 1, [...i, u]);
380
+ n(s + 1, [...i, u]);
372
381
  }
373
382
  }
374
- return r(0, []), t.sort((n, i) => n.length !== i.length ? n.length - i.length : n.join(",").localeCompare(i.join(",")));
383
+ return n(0, []), r.sort((t, i) => t.length !== i.length ? t.length - i.length : t.join(",").localeCompare(i.join(",")));
375
384
  }
376
- function z(e, t, r) {
377
- const n = {
385
+ function z(e, r, n) {
386
+ const t = {
378
387
  ...e,
379
- modifiers: [...r.keys()]
380
- }, i = b(n, t);
381
- for (const s of r.values())
388
+ modifiers: [...n.keys()]
389
+ }, i = b(t, r);
390
+ for (const s of n.values())
382
391
  s.factory({
383
392
  ...i,
384
- declarations: A(n.declarations),
385
- variables: A(n.variables),
386
- children: A(n.children)
387
- }), g(n.declarations, i);
388
- return n;
389
- }
390
- function I(e, t) {
391
- return function(n, i) {
393
+ declarations: A(t.declarations),
394
+ variables: A(t.variables),
395
+ children: A(t.children)
396
+ }), g(t.declarations, i);
397
+ return t;
398
+ }
399
+ function W(e, r) {
400
+ return function(t, i) {
392
401
  const s = {
393
402
  type: "modifier",
394
- key: Array.isArray(n) ? n : [n],
403
+ key: Array.isArray(t) ? t : [t],
395
404
  factory: i
396
405
  };
397
- return t.modifiers.push(s), s;
406
+ return r.modifiers.push(s), s;
398
407
  };
399
408
  }
400
- function W() {
409
+ function Y() {
401
410
  return {
402
411
  type: "root",
403
412
  declarations: {},
@@ -409,31 +418,31 @@ function W() {
409
418
  themes: []
410
419
  };
411
420
  }
412
- function Y(e, t, r) {
413
- const n = t.map((s) => s.key);
414
- return q(n).map((s) => {
421
+ function G(e, r, n) {
422
+ const t = r.map((s) => s.key);
423
+ return q(t).map((s) => {
415
424
  const o = /* @__PURE__ */ new Map();
416
425
  for (const u of s) {
417
- const c = t.find(
426
+ const c = r.find(
418
427
  (f) => f.key.includes(u)
419
428
  );
420
429
  c && o.set(u, c);
421
430
  }
422
- return z(e, r, o);
431
+ return z(e, n, o);
423
432
  });
424
433
  }
425
- function G(e, t) {
426
- return function(n, i) {
434
+ function J(e, r) {
435
+ return function(t, i) {
427
436
  const s = {
428
437
  type: "utility",
429
- name: n,
438
+ name: t,
430
439
  factory: i
431
440
  };
432
- return t.utilities.push(s), (o, u = []) => {
441
+ return r.utilities.push(s), (o, u = []) => {
433
442
  for (const [c, f] of Object.entries(o)) {
434
443
  const a = {
435
444
  type: "utility",
436
- name: n,
445
+ name: t,
437
446
  value: c,
438
447
  declarations: {},
439
448
  variables: [],
@@ -441,103 +450,105 @@ function G(e, t) {
441
450
  modifiers: []
442
451
  }, l = b(
443
452
  a,
444
- t
453
+ r
445
454
  );
446
455
  a.declarations = i({
447
456
  ...l,
448
457
  value: f
449
458
  }) ?? {}, g(a.declarations, l), e.children.push(a), u.length > 0 && e.children.push(
450
- ...Y(a, u, t)
459
+ ...G(a, u, r)
451
460
  );
452
461
  }
453
462
  };
454
463
  };
455
464
  }
456
- function J(e, t) {
457
- return function(n, i) {
458
- const s = t.themes.find((c) => c.name === n), o = s ?? {
465
+ function Q(e, r) {
466
+ return function(t, i) {
467
+ const s = r.themes.find((c) => c.name === t), o = s ?? {
459
468
  type: "theme",
460
- name: n,
469
+ name: t,
461
470
  declarations: {},
462
471
  variables: [],
463
472
  children: []
464
473
  };
465
- s || t.themes.push(o);
466
- const u = b(o, t);
474
+ s || r.themes.push(o);
475
+ const u = b(o, r);
467
476
  return i && i(u), o;
468
477
  };
469
478
  }
470
- function Q(e, t) {
471
- return function(n, i, s, o) {
479
+ function X(e, r) {
480
+ return function(t, i, s, o) {
472
481
  const u = {
473
482
  type: "recipe",
474
- name: n,
483
+ name: t,
475
484
  defaults: i,
476
485
  variants: s,
477
486
  ...o
478
487
  };
479
- return t.recipes.push(u), u;
488
+ return r.recipes.push(u), u;
480
489
  };
481
490
  }
482
- function fe(e) {
483
- const t = W(), r = { ...e }, n = G(t, t), i = I(t, t), s = Q(t, t), o = J(t, t), { variable: u, selector: c, atRule: f, keyframes: a, media: l, ref: y, css: h } = b(t, t);
491
+ function ue(e) {
492
+ const r = $("sf-"), n = Y(), t = { ...e }, i = J(n, n), s = W(n, n), o = X(n, n), u = Q(n, n), { variable: c, selector: f, atRule: a, keyframes: l, media: y, ref: h, css: d } = b(n, n);
484
493
  return {
485
- root: t,
486
- variable: u,
487
- selector: c,
488
- utility: n,
489
- modifier: i,
490
- recipe: s,
491
- theme: o,
492
- atRule: f,
493
- keyframes: a,
494
- media: l,
495
- ref: y,
496
- css: h,
497
- options: r
494
+ id: r,
495
+ root: n,
496
+ variable: c,
497
+ selector: f,
498
+ utility: i,
499
+ modifier: s,
500
+ recipe: o,
501
+ theme: u,
502
+ atRule: a,
503
+ keyframes: l,
504
+ media: y,
505
+ ref: h,
506
+ css: d,
507
+ options: t
498
508
  };
499
509
  }
500
510
  export {
501
511
  z as applyModifiers,
502
- re as capitalizeFirst,
512
+ ie as capitalizeFirst,
503
513
  q as combineKeys,
504
- v as createAtRuleFunction,
514
+ R as createAtRuleFunction,
505
515
  k as createCssFunction,
506
516
  b as createDeclarationsCallbackContext,
507
517
  E as createKeyframesFunction,
508
518
  S as createMediaFunction,
509
- Y as createModifiedUtilityInstances,
510
- I as createModifierFunction,
511
- Q as createRecipeFunction,
519
+ G as createModifiedUtilityInstances,
520
+ W as createModifierFunction,
521
+ X as createRecipeFunction,
512
522
  P as createRefFunction,
513
- W as createRoot,
523
+ Y as createRoot,
514
524
  D as createSelectorFunction,
515
- J as createThemeFunction,
516
- G as createUtilityFunction,
525
+ Q as createThemeFunction,
526
+ J as createUtilityFunction,
517
527
  H as createVariableFunction,
518
528
  A as deepClone,
519
- ce as getModifier,
520
- oe as getUtility,
521
- ie as getVariable,
522
- Z as isAtRule,
529
+ $ as generateRandomId,
530
+ se as getModifier,
531
+ ce as getUtility,
532
+ oe as getVariable,
533
+ ee as isAtRule,
523
534
  T as isCSS,
524
535
  C as isContainer,
525
- te as isModifier,
526
- R as isObject,
536
+ ne as isModifier,
537
+ M as isObject,
527
538
  _ as isPrimitiveTokenValue,
528
539
  F as isRef,
529
540
  j as isRoot,
530
- X as isSelector,
531
- ne as isTheme,
541
+ Z as isSelector,
542
+ re as isTheme,
532
543
  p as isToken,
533
- V as isTokenValue,
534
- ee as isUtility,
544
+ O as isTokenValue,
545
+ te as isUtility,
535
546
  B as isVariable,
536
- se as merge,
537
- M as mergeContainers,
547
+ fe as merge,
548
+ x as mergeContainers,
538
549
  N as mergeThemesArray,
539
550
  L as mergeVariablesArray,
540
551
  g as parseDeclarationsBlock,
541
552
  K as rfdc,
542
- fe as styleframe
553
+ ue as styleframe
543
554
  };
@@ -1 +1 @@
1
- (function(a,g){typeof exports=="object"&&typeof module<"u"?g(exports):typeof define=="function"&&define.amd?define(["exports"],g):(a=typeof globalThis<"u"?globalThis:a||self,g(a.styleframe={}))})(this,(function(a){"use strict";function g(e,t){return function(n,...i){return{type:"css",value:n.reduce((c,u,o)=>(c.push(u),o<i.length&&c.push(i[o]),c),[])}}}function V(e){return typeof e=="object"&&e!==null}function m(e,t){return V(e)&&"type"in e&&e.type===t}function v(e){return m(e,"variable")}function O(e){return m(e,"reference")}function X(e){return m(e,"selector")}function Z(e){return m(e,"at-rule")}function x(e){return m(e,"utility")}function ee(e){return m(e,"modifier")}function C(e){return m(e,"css")}function te(e){return m(e,"theme")}function w(e){return m(e,"root")}function S(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null}function M(e){return S(e)||O(e)||C(e)||Array.isArray(e)&&e.every(M)}function B(e){return V(e)&&"children"in e&&"declarations"in e&&"variables"in e}function F(e,t){return function(n,i,s){const c={type:"at-rule",identifier:n,rule:i,declarations:{},variables:[],children:[]},u=p(c,t);return typeof s=="function"?c.declarations=s(u)??{}:s&&(c.declarations=s),j(c.declarations,u),e.children.push(c),c}}function _(e,t){const r=F(e,t);return function(i,s){return r("media",i,s)}}function P(e,t){const r=F(e,t);return function(i,s){return r("keyframes",i,s)}}function U(e,t){return function(n,i){return v(n)?{type:"reference",name:n.name,fallback:i}:{type:"reference",name:n,fallback:i}}}function D(e,t){return function(n,i){const s={type:"selector",query:n,declarations:{},variables:[],children:[]},c=p(s,t);return typeof i=="function"?s.declarations=i(c)??{}:B(i)?(s.variables=i.variables,s.declarations=i.declarations,s.children=i.children):s.declarations=i,j(s.declarations,c),e.children.push(s),s}}function E(e,t){return function(n,i,s={default:!1}){const c=typeof n=="string"?n:n.name,u=e.variables.find(f=>f.name===c);if(s.default&&u)return u;if(u)return u.value=i,u;const o={type:"variable",name:c,value:i};return e.variables.push(o),o}}function p(e,t){const r=E(e),n=D(e,t),i=F(e,t),s=P(t,t),c=_(e,t),u=U(),o=g();return{variable:r,selector:n,keyframes:s,atRule:i,media:c,ref:u,css:o}}function j(e,t){for(const r in e)if(r.startsWith("@")){const n=e[r];if(typeof n=="object"&&n!==null&&!M(n)){const i=r.replace(/^@(\w+).*/,"$1"),s=r.replace(`@${i}`,"").trim();t.atRule(i,s,n),delete e[r]}}else if(/^[.&:]/.test(r)){const n=e[r];typeof n=="object"&&(t.selector(r,n),delete e[r])}return e}function ne(e){return e.charAt(0).toUpperCase()+e.slice(1)}function A(e){if(e instanceof Buffer)return Buffer.from(e);const t=e.constructor;return new t(e.buffer.slice(0),e.byteOffset,e.byteLength/e.BYTES_PER_ELEMENT||1)}function K(e){if(e=e||{},e.circular)return re(e);const t=new Map;if(t.set(Date,c=>new Date(c)),t.set(Map,(c,u)=>new Map(n(Array.from(c),u))),t.set(Set,(c,u)=>new Set(n(Array.from(c),u))),e.constructorHandlers)for(const c of e.constructorHandlers)t.set(c[0],c[1]);let r;return e.proto?s:i;function n(c,u){const o=Object.keys(c),f=Array.from({length:o.length});for(let y=0;y<o.length;y++){const l=o[y],d=c[l];typeof d!="object"||d===null?f[l]=d:d.constructor!==Object&&(r=t.get(d.constructor))?f[l]=r(d,u):ArrayBuffer.isView(d)?f[l]=A(d):f[l]=u(d)}return f}function i(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return n(c,i);if(c.constructor!==Object&&(r=t.get(c.constructor)))return r(c,i);const u={};for(const o in c){if(Object.hasOwnProperty.call(c,o)===!1)continue;const f=c[o];typeof f!="object"||f===null?u[o]=f:f.constructor!==Object&&(r=t.get(f.constructor))?u[o]=r(f,i):ArrayBuffer.isView(f)?u[o]=A(f):u[o]=i(f)}return u}function s(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return n(c,s);if(c.constructor!==Object&&(r=t.get(c.constructor)))return r(c,s);const u={};for(const o in c){const f=c[o];typeof f!="object"||f===null?u[o]=f:f.constructor!==Object&&(r=t.get(f.constructor))?u[o]=r(f,s):ArrayBuffer.isView(f)?u[o]=A(f):u[o]=s(f)}return u}}function re(e){const t=[],r=[],n=new Map;if(n.set(Date,o=>new Date(o)),n.set(Map,(o,f)=>new Map(s(Array.from(o),f))),n.set(Set,(o,f)=>new Set(s(Array.from(o),f))),e.constructorHandlers)for(const o of e.constructorHandlers)n.set(o[0],o[1]);let i;return e.proto?u:c;function s(o,f){const y=Object.keys(o),l=Array.from({length:y.length});for(let d=0;d<y.length;d++){const b=y[d],h=o[b];if(typeof h!="object"||h===null)l[b]=h;else if(h.constructor!==Object&&(i=n.get(h.constructor)))l[b]=i(h,f);else if(ArrayBuffer.isView(h))l[b]=A(h);else{const Q=t.indexOf(h);Q!==-1?l[b]=r[Q]:l[b]=f(h)}}return l}function c(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return s(o,c);if(o.constructor!==Object&&(i=n.get(o.constructor)))return i(o,c);const f={};t.push(o),r.push(f);for(const y in o){if(Object.hasOwnProperty.call(o,y)===!1)continue;const l=o[y];if(typeof l!="object"||l===null)f[y]=l;else if(l.constructor!==Object&&(i=n.get(l.constructor)))f[y]=i(l,c);else if(ArrayBuffer.isView(l))f[y]=A(l);else{const d=t.indexOf(l);d!==-1?f[y]=r[d]:f[y]=c(l)}}return t.pop(),r.pop(),f}function u(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return s(o,u);if(o.constructor!==Object&&(i=n.get(o.constructor)))return i(o,u);const f={};t.push(o),r.push(f);for(const y in o){const l=o[y];if(typeof l!="object"||l===null)f[y]=l;else if(l.constructor!==Object&&(i=n.get(l.constructor)))f[y]=i(l,u);else if(ArrayBuffer.isView(l))f[y]=A(l);else{const d=t.indexOf(l);d!==-1?f[y]=r[d]:f[y]=u(l)}}return t.pop(),r.pop(),f}}const R=K();function ie(e,t){const r=e.variables.find(n=>n.name===t);if(!r)throw new Error(`Variable "${t}" not found`);return r}function ce(e,t){const r=e.utilities.find(n=>n.name===t);if(!r)throw new Error(`Utility "${t}" not found`);return r}function oe(e,t){const r=e.modifiers.find(n=>n.key.includes(t));if(!r)throw new Error(`Modifier "${t}" not found`);return r}const H=Symbol.for("__licenseRequired");function se(e){T(e)||Object.defineProperty(e,H,{value:!0,writable:!1,configurable:!1,enumerable:!0})}function T(e){return Object.prototype.hasOwnProperty.call(e,H)}function $(e,t){const r=[...e];for(const n of t){const i=r.find(s=>s.name===n.name);i?i.value=n.value:r.push(n)}return r}function z(e,t){const r=[...e];for(const n of t){const i=r.find(s=>s.name===n.name);i?Object.assign(i,k(i,n)):r.push(n)}return r}function k(e,t){return Object.keys(e).reduce((r,n)=>(n==="variables"?r.variables=$(e.variables,t.variables):n==="declarations"?r.declarations={...e.declarations,...t.declarations}:n==="themes"&&w(r)&&w(e)&&w(t)?r.themes=z(e.themes,t.themes):Array.isArray(e[n])&&(r[n]=e[n].concat(t[n])),r),{...e,...t})}function fe(e,...t){return t.reduce((r,n)=>{const i={...r,root:k(r.root,n.root)};return(T(r)||T(n))&&se(i),i},e)}function I(e){const t=[];function r(n,i){i.length>0&&t.push([...i].sort());for(let s=n;s<e.length;s++){const c=e[s];if(c)if(c.length===1&&c[0])r(s+1,[...i,c[0]]);else for(const u of c)r(s+1,[...i,u])}}return r(0,[]),t.sort((n,i)=>n.length!==i.length?n.length-i.length:n.join(",").localeCompare(i.join(",")))}function L(e,t,r){const n={...e,modifiers:[...r.keys()]},i=p(n,t);for(const s of r.values())s.factory({...i,declarations:R(n.declarations),variables:R(n.variables),children:R(n.children)}),j(n.declarations,i);return n}function N(e,t){return function(n,i){const s={type:"modifier",key:Array.isArray(n)?n:[n],factory:i};return t.modifiers.push(s),s}}function q(){return{type:"root",declarations:{},utilities:[],modifiers:[],recipes:[],variables:[],children:[],themes:[]}}function W(e,t,r){const n=t.map(s=>s.key);return I(n).map(s=>{const c=new Map;for(const u of s){const o=t.find(f=>f.key.includes(u));o&&c.set(u,o)}return L(e,r,c)})}function Y(e,t){return function(n,i){const s={type:"utility",name:n,factory:i};return t.utilities.push(s),(c,u=[])=>{for(const[o,f]of Object.entries(c)){const y={type:"utility",name:n,value:o,declarations:{},variables:[],children:[],modifiers:[]},l=p(y,t);y.declarations=i({...l,value:f})??{},j(y.declarations,l),e.children.push(y),u.length>0&&e.children.push(...W(y,u,t))}}}}function G(e,t){return function(n,i){const s=t.themes.find(o=>o.name===n),c=s??{type:"theme",name:n,declarations:{},variables:[],children:[]};s||t.themes.push(c);const u=p(c,t);return i&&i(u),c}}function J(e,t){return function(n,i,s,c){const u={type:"recipe",name:n,defaults:i,variants:s,...c};return t.recipes.push(u),u}}function ue(e){const t=q(),r={...e},n=Y(t,t),i=N(t,t),s=J(t,t),c=G(t,t),{variable:u,selector:o,atRule:f,keyframes:y,media:l,ref:d,css:b}=p(t,t);return{root:t,variable:u,selector:o,utility:n,modifier:i,recipe:s,theme:c,atRule:f,keyframes:y,media:l,ref:d,css:b,options:r}}a.applyModifiers=L,a.capitalizeFirst=ne,a.combineKeys=I,a.createAtRuleFunction=F,a.createCssFunction=g,a.createDeclarationsCallbackContext=p,a.createKeyframesFunction=P,a.createMediaFunction=_,a.createModifiedUtilityInstances=W,a.createModifierFunction=N,a.createRecipeFunction=J,a.createRefFunction=U,a.createRoot=q,a.createSelectorFunction=D,a.createThemeFunction=G,a.createUtilityFunction=Y,a.createVariableFunction=E,a.deepClone=R,a.getModifier=oe,a.getUtility=ce,a.getVariable=ie,a.isAtRule=Z,a.isCSS=C,a.isContainer=B,a.isModifier=ee,a.isObject=V,a.isPrimitiveTokenValue=S,a.isRef=O,a.isRoot=w,a.isSelector=X,a.isTheme=te,a.isToken=m,a.isTokenValue=M,a.isUtility=x,a.isVariable=v,a.merge=fe,a.mergeContainers=k,a.mergeThemesArray=z,a.mergeVariablesArray=$,a.parseDeclarationsBlock=j,a.rfdc=K,a.styleframe=ue,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(a,p){typeof exports=="object"&&typeof module<"u"?p(exports):typeof define=="function"&&define.amd?define(["exports"],p):(a=typeof globalThis<"u"?globalThis:a||self,p(a.styleframe={}))})(this,(function(a){"use strict";function p(e,r){return function(t,...i){return{type:"css",value:t.reduce((c,u,o)=>(c.push(u),o<i.length&&c.push(i[o]),c),[])}}}function M(e){return typeof e=="object"&&e!==null}function h(e,r){return M(e)&&"type"in e&&e.type===r}function v(e){return h(e,"variable")}function O(e){return h(e,"reference")}function Z(e){return h(e,"selector")}function x(e){return h(e,"at-rule")}function ee(e){return h(e,"utility")}function te(e){return h(e,"modifier")}function C(e){return h(e,"css")}function ne(e){return h(e,"theme")}function w(e){return h(e,"root")}function S(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||e===null}function V(e){return S(e)||O(e)||C(e)||Array.isArray(e)&&e.every(V)}function B(e){return M(e)&&"children"in e&&"declarations"in e&&"variables"in e}function R(e,r){return function(t,i,s){const c={type:"at-rule",identifier:t,rule:i,declarations:{},variables:[],children:[]},u=g(c,r);return typeof s=="function"?c.declarations=s(u)??{}:s&&(c.declarations=s),j(c.declarations,u),e.children.push(c),c}}function _(e,r){const n=R(e,r);return function(i,s){return n("media",i,s)}}function P(e,r){const n=R(e,r);return function(i,s){return n("keyframes",i,s)}}function U(e,r){return function(t,i){return v(t)?{type:"reference",name:t.name,fallback:i}:{type:"reference",name:t,fallback:i}}}function D(e,r){return function(t,i){const s={type:"selector",query:t,declarations:{},variables:[],children:[]},c=g(s,r);return typeof i=="function"?s.declarations=i(c)??{}:B(i)?(s.variables=i.variables,s.declarations=i.declarations,s.children=i.children):s.declarations=i,j(s.declarations,c),e.children.push(s),s}}function E(e,r){return function(t,i,s={default:!1}){const c=typeof t=="string"?t:t.name,u=e.variables.find(f=>f.name===c);if(s.default&&u)return u;if(u)return u.value=i,u;const o={type:"variable",name:c,value:i};return e.variables.push(o),o}}function g(e,r){const n=E(e),t=D(e,r),i=R(e,r),s=P(r,r),c=_(e,r),u=U(),o=p();return{variable:n,selector:t,keyframes:s,atRule:i,media:c,ref:u,css:o}}function j(e,r){for(const n in e)if(n.startsWith("@")){const t=e[n];if(typeof t=="object"&&t!==null&&!V(t)){const i=n.replace(/^@(\w+).*/,"$1"),s=n.replace(`@${i}`,"").trim();r.atRule(i,s,t),delete e[n]}}else if(/^[.&:]/.test(n)){const t=e[n];typeof t=="object"&&(r.selector(n,t),delete e[n])}return e}function re(e){return e.charAt(0).toUpperCase()+e.slice(1)}function A(e){if(e instanceof Buffer)return Buffer.from(e);const r=e.constructor;return new r(e.buffer.slice(0),e.byteOffset,e.byteLength/e.BYTES_PER_ELEMENT||1)}function K(e){if(e=e||{},e.circular)return ie(e);const r=new Map;if(r.set(Date,c=>new Date(c)),r.set(Map,(c,u)=>new Map(t(Array.from(c),u))),r.set(Set,(c,u)=>new Set(t(Array.from(c),u))),e.constructorHandlers)for(const c of e.constructorHandlers)r.set(c[0],c[1]);let n;return e.proto?s:i;function t(c,u){const o=Object.keys(c),f=Array.from({length:o.length});for(let d=0;d<o.length;d++){const l=o[d],y=c[l];typeof y!="object"||y===null?f[l]=y:y.constructor!==Object&&(n=r.get(y.constructor))?f[l]=n(y,u):ArrayBuffer.isView(y)?f[l]=A(y):f[l]=u(y)}return f}function i(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return t(c,i);if(c.constructor!==Object&&(n=r.get(c.constructor)))return n(c,i);const u={};for(const o in c){if(Object.hasOwnProperty.call(c,o)===!1)continue;const f=c[o];typeof f!="object"||f===null?u[o]=f:f.constructor!==Object&&(n=r.get(f.constructor))?u[o]=n(f,i):ArrayBuffer.isView(f)?u[o]=A(f):u[o]=i(f)}return u}function s(c){if(typeof c!="object"||c===null)return c;if(Array.isArray(c))return t(c,s);if(c.constructor!==Object&&(n=r.get(c.constructor)))return n(c,s);const u={};for(const o in c){const f=c[o];typeof f!="object"||f===null?u[o]=f:f.constructor!==Object&&(n=r.get(f.constructor))?u[o]=n(f,s):ArrayBuffer.isView(f)?u[o]=A(f):u[o]=s(f)}return u}}function ie(e){const r=[],n=[],t=new Map;if(t.set(Date,o=>new Date(o)),t.set(Map,(o,f)=>new Map(s(Array.from(o),f))),t.set(Set,(o,f)=>new Set(s(Array.from(o),f))),e.constructorHandlers)for(const o of e.constructorHandlers)t.set(o[0],o[1]);let i;return e.proto?u:c;function s(o,f){const d=Object.keys(o),l=Array.from({length:d.length});for(let y=0;y<d.length;y++){const b=d[y],m=o[b];if(typeof m!="object"||m===null)l[b]=m;else if(m.constructor!==Object&&(i=t.get(m.constructor)))l[b]=i(m,f);else if(ArrayBuffer.isView(m))l[b]=A(m);else{const X=r.indexOf(m);X!==-1?l[b]=n[X]:l[b]=f(m)}}return l}function c(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return s(o,c);if(o.constructor!==Object&&(i=t.get(o.constructor)))return i(o,c);const f={};r.push(o),n.push(f);for(const d in o){if(Object.hasOwnProperty.call(o,d)===!1)continue;const l=o[d];if(typeof l!="object"||l===null)f[d]=l;else if(l.constructor!==Object&&(i=t.get(l.constructor)))f[d]=i(l,c);else if(ArrayBuffer.isView(l))f[d]=A(l);else{const y=r.indexOf(l);y!==-1?f[d]=n[y]:f[d]=c(l)}}return r.pop(),n.pop(),f}function u(o){if(typeof o!="object"||o===null)return o;if(Array.isArray(o))return s(o,u);if(o.constructor!==Object&&(i=t.get(o.constructor)))return i(o,u);const f={};r.push(o),n.push(f);for(const d in o){const l=o[d];if(typeof l!="object"||l===null)f[d]=l;else if(l.constructor!==Object&&(i=t.get(l.constructor)))f[d]=i(l,u);else if(ArrayBuffer.isView(l))f[d]=A(l);else{const y=r.indexOf(l);y!==-1?f[d]=n[y]:f[d]=u(l)}}return r.pop(),n.pop(),f}}const F=K();function H(e,r=8){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let t="";for(let i=0;i<r;i++){const s=Math.floor(Math.random()*n.length);t+=n[s]}return e?`${e}${t}`:t}function ce(e,r){const n=e.variables.find(t=>t.name===r);if(!n)throw new Error(`Variable "${r}" not found`);return n}function oe(e,r){const n=e.utilities.find(t=>t.name===r);if(!n)throw new Error(`Utility "${r}" not found`);return n}function se(e,r){const n=e.modifiers.find(t=>t.key.includes(r));if(!n)throw new Error(`Modifier "${r}" not found`);return n}const $="__licenseRequired";function fe(e){T(e)||Object.defineProperty(e,$,{value:!0,writable:!1,configurable:!1,enumerable:!0})}function T(e){return Object.prototype.hasOwnProperty.call(e,$)}function I(e,r){const n=[...e];for(const t of r){const i=n.find(s=>s.name===t.name);i?i.value=t.value:n.push(t)}return n}function z(e,r){const n=[...e];for(const t of r){const i=n.find(s=>s.name===t.name);i?Object.assign(i,k(i,t)):n.push(t)}return n}function k(e,r){return Object.keys(e).reduce((n,t)=>(t==="variables"?n.variables=I(e.variables,r.variables):t==="declarations"?n.declarations={...e.declarations,...r.declarations}:t==="themes"&&w(n)&&w(e)&&w(r)?n.themes=z(e.themes,r.themes):Array.isArray(e[t])&&(n[t]=e[t].concat(r[t])),n),{...e,...r})}function ue(e,...r){return r.reduce((n,t)=>{const i={...n,root:k(n.root,t.root)};return(T(n)||T(t))&&fe(i),i},e)}function L(e){const r=[];function n(t,i){i.length>0&&r.push([...i].sort());for(let s=t;s<e.length;s++){const c=e[s];if(c)if(c.length===1&&c[0])n(s+1,[...i,c[0]]);else for(const u of c)n(s+1,[...i,u])}}return n(0,[]),r.sort((t,i)=>t.length!==i.length?t.length-i.length:t.join(",").localeCompare(i.join(",")))}function N(e,r,n){const t={...e,modifiers:[...n.keys()]},i=g(t,r);for(const s of n.values())s.factory({...i,declarations:F(t.declarations),variables:F(t.variables),children:F(t.children)}),j(t.declarations,i);return t}function q(e,r){return function(t,i){const s={type:"modifier",key:Array.isArray(t)?t:[t],factory:i};return r.modifiers.push(s),s}}function W(){return{type:"root",declarations:{},utilities:[],modifiers:[],recipes:[],variables:[],children:[],themes:[]}}function Y(e,r,n){const t=r.map(s=>s.key);return L(t).map(s=>{const c=new Map;for(const u of s){const o=r.find(f=>f.key.includes(u));o&&c.set(u,o)}return N(e,n,c)})}function G(e,r){return function(t,i){const s={type:"utility",name:t,factory:i};return r.utilities.push(s),(c,u=[])=>{for(const[o,f]of Object.entries(c)){const d={type:"utility",name:t,value:o,declarations:{},variables:[],children:[],modifiers:[]},l=g(d,r);d.declarations=i({...l,value:f})??{},j(d.declarations,l),e.children.push(d),u.length>0&&e.children.push(...Y(d,u,r))}}}}function J(e,r){return function(t,i){const s=r.themes.find(o=>o.name===t),c=s??{type:"theme",name:t,declarations:{},variables:[],children:[]};s||r.themes.push(c);const u=g(c,r);return i&&i(u),c}}function Q(e,r){return function(t,i,s,c){const u={type:"recipe",name:t,defaults:i,variants:s,...c};return r.recipes.push(u),u}}function ae(e){const r=H("sf-"),n=W(),t={...e},i=G(n,n),s=q(n,n),c=Q(n,n),u=J(n,n),{variable:o,selector:f,atRule:d,keyframes:l,media:y,ref:b,css:m}=g(n,n);return{id:r,root:n,variable:o,selector:f,utility:i,modifier:s,recipe:c,theme:u,atRule:d,keyframes:l,media:y,ref:b,css:m,options:t}}a.applyModifiers=N,a.capitalizeFirst=re,a.combineKeys=L,a.createAtRuleFunction=R,a.createCssFunction=p,a.createDeclarationsCallbackContext=g,a.createKeyframesFunction=P,a.createMediaFunction=_,a.createModifiedUtilityInstances=Y,a.createModifierFunction=q,a.createRecipeFunction=Q,a.createRefFunction=U,a.createRoot=W,a.createSelectorFunction=D,a.createThemeFunction=J,a.createUtilityFunction=G,a.createVariableFunction=E,a.deepClone=F,a.generateRandomId=H,a.getModifier=se,a.getUtility=oe,a.getVariable=ce,a.isAtRule=x,a.isCSS=C,a.isContainer=B,a.isModifier=te,a.isObject=M,a.isPrimitiveTokenValue=S,a.isRef=O,a.isRoot=w,a.isSelector=Z,a.isTheme=ne,a.isToken=h,a.isTokenValue=V,a.isUtility=ee,a.isVariable=v,a.merge=ue,a.mergeContainers=k,a.mergeThemesArray=z,a.mergeVariablesArray=I,a.parseDeclarationsBlock=j,a.rfdc=K,a.styleframe=ae,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@styleframe/core",
3
- "version": "1.0.3",
3
+ "version": "2.0.0",
4
4
  "type": "module",
5
5
  "types": "./dist/styleframe.d.ts",
6
6
  "module": "./dist/styleframe.js",
@@ -19,8 +19,8 @@
19
19
  "README.md"
20
20
  ],
21
21
  "dependencies": {
22
- "csstype": "^3.1.3",
23
- "@styleframe/license": "^1.0.0"
22
+ "@styleframe/license": "^1.1.0",
23
+ "csstype": "^3.1.3"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@vitest/coverage-v8": "^3.2.4",
@@ -28,8 +28,8 @@
28
28
  "vite": "^7.0.6",
29
29
  "vitest": "^3.2.4",
30
30
  "vite-plugin-dts": "^4.5.4",
31
- "@styleframe/config-vite": "^1.0.1",
32
- "@styleframe/config-typescript": "^1.0.1"
31
+ "@styleframe/config-typescript": "^2.0.0",
32
+ "@styleframe/config-vite": "^2.0.0"
33
33
  },
34
34
  "homepage": "https://github.com/styleframe-dev/styleframe#readme",
35
35
  "bugs": {