@glasshome/ui 1.2.0 → 1.3.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.
@@ -203,39 +203,39 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
203
203
  sub: "text-3xl",
204
204
  gap: "gap-2"
205
205
  }
206
- }, fe = "inline-flex items-end", pe = "flex flex-col gap-0.5", me = "shrink-0", he = "whitespace-nowrap font-bold leading-none tracking-tight", ge = "font-bold text-primary uppercase leading-none tracking-[0.18em]", _e = "glass [--glass-base:var(--popover)] [--glass-rim:0.3] [--glass-lift:0.55]", ve = "bg-background/70 backdrop-blur-sm", ye = "rounded-[var(--radius)]", be = "rounded-[max(0px,calc(var(--radius)-0.75rem))]", xe = "p-3", Se = `${`${be} border border-border/60 bg-card/60`} p-3`, Ce = (e, t) => {
206
+ }, fe = "inline-flex items-end", pe = "flex flex-col gap-0.5", me = "shrink-0", he = "whitespace-nowrap font-bold leading-none tracking-tight", ge = "font-bold text-primary uppercase leading-none tracking-[0.18em]", _e = "glass [--glass-rim:1] [--glass-lift:0.6] [--glass-light:0.05] [--glass-edge:color-mix(in_srgb,var(--border)_90%,transparent)]", ve = "backdrop-blur-[var(--glass-blur,20px)] backdrop-saturate-[1.6]", ye = `${_e} [--glass-base:color-mix(in_srgb,var(--popover)_75%,transparent)]`, be = `${ye} ${ve}`, xe = `${_e} [--glass-base:var(--popover)]`, Se = "bg-background/70 backdrop-blur-md", Ce = "rounded-[var(--radius)]", we = "rounded-[max(0px,calc(var(--radius)-0.75rem))]", Te = "p-3", Ee = `${`${we} border border-border/60 bg-card/60`} p-3`, De = (e, t) => {
207
207
  let n = Array(e.length + t.length);
208
208
  for (let t = 0; t < e.length; t++) n[t] = e[t];
209
209
  for (let r = 0; r < t.length; r++) n[e.length + r] = t[r];
210
210
  return n;
211
- }, we = (e, t) => ({
211
+ }, Oe = (e, t) => ({
212
212
  classGroupId: e,
213
213
  validator: t
214
- }), Te = (e = /* @__PURE__ */ new Map(), t = null, n) => ({
214
+ }), ke = (e = /* @__PURE__ */ new Map(), t = null, n) => ({
215
215
  nextPart: e,
216
216
  validators: t,
217
217
  classGroupId: n
218
- }), V = "-", Ee = [], De = "arbitrary..", Oe = (e) => {
219
- let t = je(e), { conflictingClassGroups: n, conflictingClassGroupModifiers: r } = e;
218
+ }), V = "-", Ae = [], je = "arbitrary..", Me = (e) => {
219
+ let t = Fe(e), { conflictingClassGroups: n, conflictingClassGroupModifiers: r } = e;
220
220
  return {
221
221
  getClassGroupId: (e) => {
222
- if (e.startsWith("[") && e.endsWith("]")) return Ae(e);
222
+ if (e.startsWith("[") && e.endsWith("]")) return Pe(e);
223
223
  let n = e.split(V);
224
- return ke(n, +(n[0] === "" && n.length > 1), t);
224
+ return Ne(n, +(n[0] === "" && n.length > 1), t);
225
225
  },
226
226
  getConflictingClassGroupIds: (e, t) => {
227
227
  if (t) {
228
228
  let t = r[e], i = n[e];
229
- return t ? i ? Ce(i, t) : t : i || Ee;
229
+ return t ? i ? De(i, t) : t : i || Ae;
230
230
  }
231
- return n[e] || Ee;
231
+ return n[e] || Ae;
232
232
  }
233
233
  };
234
- }, ke = (e, t, n) => {
234
+ }, Ne = (e, t, n) => {
235
235
  if (e.length - t === 0) return n.classGroupId;
236
236
  let r = e[t], i = n.nextPart.get(r);
237
237
  if (i) {
238
- let n = ke(e, t + 1, i);
238
+ let n = Ne(e, t + 1, i);
239
239
  if (n) return n;
240
240
  }
241
241
  let a = n.validators;
@@ -245,58 +245,58 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
245
245
  let t = a[e];
246
246
  if (t.validator(o)) return t.classGroupId;
247
247
  }
248
- }, Ae = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
248
+ }, Pe = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
249
249
  let t = e.slice(1, -1), n = t.indexOf(":"), r = t.slice(0, n);
250
- return r ? De + r : void 0;
251
- })(), je = (e) => {
250
+ return r ? je + r : void 0;
251
+ })(), Fe = (e) => {
252
252
  let { theme: t, classGroups: n } = e;
253
- return Me(n, t);
254
- }, Me = (e, t) => {
255
- let n = Te();
253
+ return Ie(n, t);
254
+ }, Ie = (e, t) => {
255
+ let n = ke();
256
256
  for (let r in e) {
257
257
  let i = e[r];
258
- Ne(i, n, r, t);
258
+ Le(i, n, r, t);
259
259
  }
260
260
  return n;
261
- }, Ne = (e, t, n, r) => {
261
+ }, Le = (e, t, n, r) => {
262
262
  let i = e.length;
263
263
  for (let a = 0; a < i; a++) {
264
264
  let i = e[a];
265
- Pe(i, t, n, r);
265
+ Re(i, t, n, r);
266
266
  }
267
- }, Pe = (e, t, n, r) => {
267
+ }, Re = (e, t, n, r) => {
268
268
  if (typeof e == "string") {
269
- Fe(e, t, n);
269
+ ze(e, t, n);
270
270
  return;
271
271
  }
272
272
  if (typeof e == "function") {
273
- Ie(e, t, n, r);
273
+ Be(e, t, n, r);
274
274
  return;
275
275
  }
276
- Le(e, t, n, r);
277
- }, Fe = (e, t, n) => {
278
- let r = e === "" ? t : Re(t, e);
276
+ Ve(e, t, n, r);
277
+ }, ze = (e, t, n) => {
278
+ let r = e === "" ? t : He(t, e);
279
279
  r.classGroupId = n;
280
- }, Ie = (e, t, n, r) => {
281
- if (ze(e)) {
282
- Ne(e(r), t, n, r);
280
+ }, Be = (e, t, n, r) => {
281
+ if (Ue(e)) {
282
+ Le(e(r), t, n, r);
283
283
  return;
284
284
  }
285
- t.validators === null && (t.validators = []), t.validators.push(we(n, e));
286
- }, Le = (e, t, n, r) => {
285
+ t.validators === null && (t.validators = []), t.validators.push(Oe(n, e));
286
+ }, Ve = (e, t, n, r) => {
287
287
  let i = Object.entries(e), a = i.length;
288
288
  for (let e = 0; e < a; e++) {
289
289
  let [a, o] = i[e];
290
- Ne(o, Re(t, a), n, r);
290
+ Le(o, He(t, a), n, r);
291
291
  }
292
- }, Re = (e, t) => {
292
+ }, He = (e, t) => {
293
293
  let n = e, r = t.split(V), i = r.length;
294
294
  for (let e = 0; e < i; e++) {
295
295
  let t = r[e], i = n.nextPart.get(t);
296
- i || (i = Te(), n.nextPart.set(t, i)), n = i;
296
+ i || (i = ke(), n.nextPart.set(t, i)), n = i;
297
297
  }
298
298
  return n;
299
- }, ze = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, Be = (e) => {
299
+ }, Ue = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, We = (e) => {
300
300
  if (e < 1) return {
301
301
  get: () => void 0,
302
302
  set: () => {}
@@ -314,19 +314,19 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
314
314
  e in n ? n[e] = t : i(e, t);
315
315
  }
316
316
  };
317
- }, Ve = "!", He = ":", Ue = [], We = (e, t, n, r, i) => ({
317
+ }, Ge = "!", Ke = ":", qe = [], Je = (e, t, n, r, i) => ({
318
318
  modifiers: e,
319
319
  hasImportantModifier: t,
320
320
  baseClassName: n,
321
321
  maybePostfixModifierPosition: r,
322
322
  isExternal: i
323
- }), Ge = (e) => {
323
+ }), Ye = (e) => {
324
324
  let { prefix: t, experimentalParseClassName: n } = e, r = (e) => {
325
325
  let t = [], n = 0, r = 0, i = 0, a, o = e.length;
326
326
  for (let s = 0; s < o; s++) {
327
327
  let o = e[s];
328
328
  if (n === 0 && r === 0) {
329
- if (o === He) {
329
+ if (o === Ke) {
330
330
  t.push(e.slice(i, s)), i = s + 1;
331
331
  continue;
332
332
  }
@@ -338,13 +338,13 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
338
338
  o === "[" ? n++ : o === "]" ? n-- : o === "(" ? r++ : o === ")" && r--;
339
339
  }
340
340
  let s = t.length === 0 ? e : e.slice(i), c = s, l = !1;
341
- s.endsWith(Ve) ? (c = s.slice(0, -1), l = !0) : s.startsWith(Ve) && (c = s.slice(1), l = !0);
341
+ s.endsWith(Ge) ? (c = s.slice(0, -1), l = !0) : s.startsWith(Ge) && (c = s.slice(1), l = !0);
342
342
  let u = a && a > i ? a - i : void 0;
343
- return We(t, l, c, u);
343
+ return Je(t, l, c, u);
344
344
  };
345
345
  if (t) {
346
- let e = t + He, n = r;
347
- r = (t) => t.startsWith(e) ? n(t.slice(e.length)) : We(Ue, !1, t, void 0, !0);
346
+ let e = t + Ke, n = r;
347
+ r = (t) => t.startsWith(e) ? n(t.slice(e.length)) : Je(qe, !1, t, void 0, !0);
348
348
  }
349
349
  if (n) {
350
350
  let e = r;
@@ -354,7 +354,7 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
354
354
  });
355
355
  }
356
356
  return r;
357
- }, Ke = (e) => {
357
+ }, Xe = (e) => {
358
358
  let t = /* @__PURE__ */ new Map();
359
359
  return e.orderSensitiveModifiers.forEach((e, n) => {
360
360
  t.set(e, 1e6 + n);
@@ -366,18 +366,18 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
366
366
  }
367
367
  return r.length > 0 && (r.sort(), n.push(...r)), n;
368
368
  };
369
- }, qe = (e) => ({
370
- cache: Be(e.cacheSize),
371
- parseClassName: Ge(e),
372
- sortModifiers: Ke(e),
373
- postfixLookupClassGroupIds: Je(e),
374
- ...Oe(e)
375
- }), Je = (e) => {
369
+ }, Ze = (e) => ({
370
+ cache: We(e.cacheSize),
371
+ parseClassName: Ye(e),
372
+ sortModifiers: Xe(e),
373
+ postfixLookupClassGroupIds: Qe(e),
374
+ ...Me(e)
375
+ }), Qe = (e) => {
376
376
  let t = Object.create(null), n = e.postfixLookupClassGroups;
377
377
  if (n) for (let e = 0; e < n.length; e++) t[n[e]] = !0;
378
378
  return t;
379
- }, Ye = /\s+/, Xe = (e, t) => {
380
- let { parseClassName: n, getClassGroupId: r, getConflictingClassGroupIds: i, sortModifiers: a, postfixLookupClassGroupIds: o } = t, s = [], c = e.trim().split(Ye), l = "";
379
+ }, $e = /\s+/, et = (e, t) => {
380
+ let { parseClassName: n, getClassGroupId: r, getConflictingClassGroupIds: i, sortModifiers: a, postfixLookupClassGroupIds: o } = t, s = [], c = e.trim().split($e), l = "";
381
381
  for (let e = c.length - 1; e >= 0; --e) {
382
382
  let t = c[e], { isExternal: u, modifiers: d, hasImportantModifier: f, baseClassName: p, maybePostfixModifierPosition: m } = n(t);
383
383
  if (u) {
@@ -401,7 +401,7 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
401
401
  }
402
402
  h = !1;
403
403
  }
404
- let _ = d.length === 0 ? "" : d.length === 1 ? d[0] : a(d).join(":"), ee = f ? _ + Ve : _, v = ee + g;
404
+ let _ = d.length === 0 ? "" : d.length === 1 ? d[0] : a(d).join(":"), ee = f ? _ + Ge : _, v = ee + g;
405
405
  if (s.indexOf(v) > -1) continue;
406
406
  s.push(v);
407
407
  let y = i(g, h);
@@ -412,33 +412,33 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
412
412
  l = t + (l.length > 0 ? " " + l : l);
413
413
  }
414
414
  return l;
415
- }, Ze = (...e) => {
415
+ }, tt = (...e) => {
416
416
  let t = 0, n, r, i = "";
417
- for (; t < e.length;) (n = e[t++]) && (r = Qe(n)) && (i && (i += " "), i += r);
417
+ for (; t < e.length;) (n = e[t++]) && (r = nt(n)) && (i && (i += " "), i += r);
418
418
  return i;
419
- }, Qe = (e) => {
419
+ }, nt = (e) => {
420
420
  if (typeof e == "string") return e;
421
421
  let t, n = "";
422
- for (let r = 0; r < e.length; r++) e[r] && (t = Qe(e[r])) && (n && (n += " "), n += t);
422
+ for (let r = 0; r < e.length; r++) e[r] && (t = nt(e[r])) && (n && (n += " "), n += t);
423
423
  return n;
424
- }, $e = (e, ...t) => {
425
- let n, r, i, a, o = (o) => (n = qe(t.reduce((e, t) => t(e), e())), r = n.cache.get, i = n.cache.set, a = s, s(o)), s = (e) => {
424
+ }, rt = (e, ...t) => {
425
+ let n, r, i, a, o = (o) => (n = Ze(t.reduce((e, t) => t(e), e())), r = n.cache.get, i = n.cache.set, a = s, s(o)), s = (e) => {
426
426
  let t = r(e);
427
427
  if (t) return t;
428
- let a = Xe(e, n);
428
+ let a = et(e, n);
429
429
  return i(e, a), a;
430
430
  };
431
- return a = o, (...e) => a(Ze(...e));
432
- }, et = [], H = (e) => {
433
- let t = (t) => t[e] || et;
431
+ return a = o, (...e) => a(tt(...e));
432
+ }, it = [], H = (e) => {
433
+ let t = (t) => t[e] || it;
434
434
  return t.isThemeGetter = !0, t;
435
- }, tt = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, nt = /^\((?:(\w[\w-]*):)?(.+)\)$/i, rt = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/, it = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, at = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, ot = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, st = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, ct = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, U = (e) => rt.test(e), W = (e) => !!e && !Number.isNaN(Number(e)), G = (e) => !!e && Number.isInteger(Number(e)), lt = (e) => e.endsWith("%") && W(e.slice(0, -1)), K = (e) => it.test(e), ut = () => !0, dt = (e) => at.test(e) && !ot.test(e), ft = () => !1, pt = (e) => st.test(e), mt = (e) => ct.test(e), ht = (e) => !q(e) && !X(e), gt = (e) => e.startsWith("@container") && (e[10] === "/" && e[11] !== void 0 || e[11] === "s" && e[16] !== void 0 && e.startsWith("-size/", 10) || e[11] === "n" && e[18] !== void 0 && e.startsWith("-normal/", 10)), _t = (e) => Q(e, jt, ft), q = (e) => tt.test(e), J = (e) => Q(e, Mt, dt), vt = (e) => Q(e, Nt, W), yt = (e) => Q(e, Ft, ut), bt = (e) => Q(e, Pt, ft), xt = (e) => Q(e, kt, ft), St = (e) => Q(e, At, mt), Y = (e) => Q(e, It, pt), X = (e) => nt.test(e), Z = (e) => $(e, Mt), Ct = (e) => $(e, Pt), wt = (e) => $(e, kt), Tt = (e) => $(e, jt), Et = (e) => $(e, At), Dt = (e) => $(e, It, !0), Ot = (e) => $(e, Ft, !0), Q = (e, t, n) => {
436
- let r = tt.exec(e);
435
+ }, at = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, ot = /^\((?:(\w[\w-]*):)?(.+)\)$/i, st = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/, ct = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, lt = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, ut = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, dt = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, ft = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, U = (e) => st.test(e), W = (e) => !!e && !Number.isNaN(Number(e)), G = (e) => !!e && Number.isInteger(Number(e)), pt = (e) => e.endsWith("%") && W(e.slice(0, -1)), K = (e) => ct.test(e), mt = () => !0, ht = (e) => lt.test(e) && !ut.test(e), gt = () => !1, _t = (e) => dt.test(e), vt = (e) => ft.test(e), yt = (e) => !q(e) && !X(e), bt = (e) => e.startsWith("@container") && (e[10] === "/" && e[11] !== void 0 || e[11] === "s" && e[16] !== void 0 && e.startsWith("-size/", 10) || e[11] === "n" && e[18] !== void 0 && e.startsWith("-normal/", 10)), xt = (e) => Q(e, Ft, gt), q = (e) => at.test(e), J = (e) => Q(e, It, ht), St = (e) => Q(e, Lt, W), Ct = (e) => Q(e, zt, mt), wt = (e) => Q(e, Rt, gt), Tt = (e) => Q(e, Nt, gt), Et = (e) => Q(e, Pt, vt), Y = (e) => Q(e, Bt, _t), X = (e) => ot.test(e), Z = (e) => $(e, It), Dt = (e) => $(e, Rt), Ot = (e) => $(e, Nt), kt = (e) => $(e, Ft), At = (e) => $(e, Pt), jt = (e) => $(e, Bt, !0), Mt = (e) => $(e, zt, !0), Q = (e, t, n) => {
436
+ let r = at.exec(e);
437
437
  return r ? r[1] ? t(r[1]) : n(r[2]) : !1;
438
438
  }, $ = (e, t, n = !1) => {
439
- let r = nt.exec(e);
439
+ let r = ot.exec(e);
440
440
  return r ? r[1] ? t(r[1]) : n : !1;
441
- }, kt = (e) => e === "position" || e === "percentage", At = (e) => e === "image" || e === "url", jt = (e) => e === "length" || e === "size" || e === "bg-size", Mt = (e) => e === "length", Nt = (e) => e === "number", Pt = (e) => e === "family-name", Ft = (e) => e === "number" || e === "weight", It = (e) => e === "shadow", Lt = /*#__PURE__*/ $e(() => {
441
+ }, Nt = (e) => e === "position" || e === "percentage", Pt = (e) => e === "image" || e === "url", Ft = (e) => e === "length" || e === "size" || e === "bg-size", It = (e) => e === "length", Lt = (e) => e === "number", Rt = (e) => e === "family-name", zt = (e) => e === "number" || e === "weight", Bt = (e) => e === "shadow", Vt = /*#__PURE__*/ rt(() => {
442
442
  let e = H("color"), t = H("font"), n = H("text"), r = H("font-weight"), i = H("tracking"), a = H("leading"), o = H("breakpoint"), s = H("container"), c = H("spacing"), l = H("radius"), u = H("shadow"), d = H("inset-shadow"), f = H("text-shadow"), p = H("drop-shadow"), m = H("blur"), h = H("perspective"), g = H("aspect"), _ = H("ease"), ee = H("animate"), v = () => [
443
443
  "auto",
444
444
  "avoid",
@@ -575,8 +575,8 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
575
575
  q
576
576
  ], ae = () => [
577
577
  ...y(),
578
- wt,
579
- xt,
578
+ Ot,
579
+ Tt,
580
580
  { position: [X, q] }
581
581
  ], oe = () => ["no-repeat", { repeat: [
582
582
  "",
@@ -588,11 +588,11 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
588
588
  "auto",
589
589
  "cover",
590
590
  "contain",
591
- Tt,
592
- _t,
591
+ kt,
592
+ xt,
593
593
  { size: [X, q] }
594
594
  ], M = () => [
595
- lt,
595
+ pt,
596
596
  Z,
597
597
  J
598
598
  ], N = () => [
@@ -631,9 +631,9 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
631
631
  "luminosity"
632
632
  ], I = () => [
633
633
  W,
634
- lt,
635
- wt,
636
- xt
634
+ pt,
635
+ Ot,
636
+ Tt
637
637
  ], le = () => [
638
638
  "",
639
639
  "none",
@@ -671,7 +671,7 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
671
671
  aspect: ["video"],
672
672
  blur: [K],
673
673
  breakpoint: [K],
674
- color: [ut],
674
+ color: [mt],
675
675
  container: [K],
676
676
  "drop-shadow": [K],
677
677
  ease: [
@@ -679,7 +679,7 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
679
679
  "out",
680
680
  "in-out"
681
681
  ],
682
- font: [ht],
682
+ font: [yt],
683
683
  "font-weight": [
684
684
  "thin",
685
685
  "extralight",
@@ -739,7 +739,7 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
739
739
  X,
740
740
  q
741
741
  ] }],
742
- "container-named": [gt],
742
+ "container-named": [bt],
743
743
  columns: [{ columns: [
744
744
  W,
745
745
  q,
@@ -1002,8 +1002,8 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
1002
1002
  "font-style": ["italic", "not-italic"],
1003
1003
  "font-weight": [{ font: [
1004
1004
  r,
1005
- Ot,
1006
- yt
1005
+ Mt,
1006
+ Ct
1007
1007
  ] }],
1008
1008
  "font-stretch": [{ "font-stretch": [
1009
1009
  "ultra-condensed",
@@ -1015,12 +1015,12 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
1015
1015
  "expanded",
1016
1016
  "extra-expanded",
1017
1017
  "ultra-expanded",
1018
- lt,
1018
+ pt,
1019
1019
  q
1020
1020
  ] }],
1021
1021
  "font-family": [{ font: [
1022
- Ct,
1023
- bt,
1022
+ Dt,
1023
+ wt,
1024
1024
  t
1025
1025
  ] }],
1026
1026
  "font-features": [{ "font-features": [q] }],
@@ -1039,7 +1039,7 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
1039
1039
  W,
1040
1040
  "none",
1041
1041
  X,
1042
- vt
1042
+ St
1043
1043
  ] }],
1044
1044
  leading: [{ leading: [a, ...S()] }],
1045
1045
  "list-image": [{ "list-image": [
@@ -1198,8 +1198,8 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
1198
1198
  q
1199
1199
  ]
1200
1200
  },
1201
- Et,
1202
- St
1201
+ At,
1202
+ Et
1203
1203
  ] }],
1204
1204
  "bg-color": [{ bg: j() }],
1205
1205
  "gradient-from-pos": [{ from: M() }],
@@ -1281,14 +1281,14 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
1281
1281
  "",
1282
1282
  "none",
1283
1283
  u,
1284
- Dt,
1284
+ jt,
1285
1285
  Y
1286
1286
  ] }],
1287
1287
  "shadow-color": [{ shadow: j() }],
1288
1288
  "inset-shadow": [{ "inset-shadow": [
1289
1289
  "none",
1290
1290
  d,
1291
- Dt,
1291
+ jt,
1292
1292
  Y
1293
1293
  ] }],
1294
1294
  "inset-shadow-color": [{ "inset-shadow": j() }],
@@ -1302,7 +1302,7 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
1302
1302
  "text-shadow": [{ "text-shadow": [
1303
1303
  "none",
1304
1304
  f,
1305
- Dt,
1305
+ jt,
1306
1306
  Y
1307
1307
  ] }],
1308
1308
  "text-shadow-color": [{ "text-shadow": j() }],
@@ -1419,7 +1419,7 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
1419
1419
  "",
1420
1420
  "none",
1421
1421
  p,
1422
- Dt,
1422
+ jt,
1423
1423
  Y
1424
1424
  ] }],
1425
1425
  "drop-shadow-color": [{ "drop-shadow": j() }],
@@ -1725,7 +1725,7 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
1725
1725
  W,
1726
1726
  Z,
1727
1727
  J,
1728
- vt
1728
+ St
1729
1729
  ] }],
1730
1730
  stroke: [{ stroke: ["none", ...j()] }],
1731
1731
  "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }]
@@ -1916,8 +1916,8 @@ var I = "glass glass-sink [--glass-base:var(--field)] [--glass-edge:var(--field-
1916
1916
  });
1917
1917
  //#endregion
1918
1918
  //#region src/lib/utils.ts
1919
- function Rt(...e) {
1920
- return Lt(p(e));
1919
+ function Ht(...e) {
1920
+ return Vt(p(e));
1921
1921
  }
1922
1922
  //#endregion
1923
- export { e as $, A, w as B, M as C, oe as D, se as E, ie as F, _ as G, te as H, ne as I, d as J, a as K, S as L, j as M, E as N, k as O, T as P, u as Q, re as R, F as S, N as T, b as U, y as V, v as W, o as X, s as Y, t as Z, ge as _, Se as a, I as b, B as c, me as d, n as et, ue as f, pe as g, de as h, xe as i, O as j, C as k, R as l, fe as m, be as n, c as nt, _e as o, he as p, l as q, ye as r, i as rt, ve as s, Rt as t, r as tt, z as u, le as v, ae as w, ce as x, L as y, D as z };
1923
+ export { o as $, oe as A, S as B, I as C, ae as D, M as E, j as F, te as G, D as H, E as I, _ as J, b as K, T as L, C as M, A as N, N as O, O as P, s as Q, ie as R, L as S, F as T, w as U, re as V, y as W, l as X, a as Y, d as Z, fe as _, Ee as a, c as at, ge as b, ye as c, B as d, t as et, R as f, he as g, ue as h, Te as i, r as it, k as j, se as k, xe as l, me as m, we as n, e as nt, ve as o, i as ot, z as p, v as q, Ce as r, n as rt, be as s, Ht as t, u as tt, Se as u, de as v, ce as w, le as x, pe as y, ne as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glasshome/ui",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "SolidJS component library for GlassHome, built on Kobalte",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/glasshome/ui#readme",
@@ -1,4 +1,4 @@
1
- // Gate B3 (sdk-2.md): a package class string may not depend on the consumer's
1
+ // Gate B3 (sdk-contract-hardening.md): a package class string may not depend on the consumer's
2
2
  // Tailwind scanning package source. Arbitrary variants like `[&>svg]:` are the
3
3
  // tell: unlike plain utilities, no consumer's own code coincidentally
4
4
  // generates them, so they silently vanish for any consumer whose build never
@@ -1,7 +1,23 @@
1
- /* Floating-panel glass: opaque popover fill so menus stay legible over anything. */
2
- export const OVERLAY_SURFACE =
3
- "glass [--glass-base:var(--popover)] [--glass-rim:0.3] [--glass-lift:0.55]";
1
+ /* Rim/sheen raised above card level (0.3/0.05) so the bevel and highlight read
2
+ * on large panels instead of smearing into a flat matte gray. */
3
+ const OVERLAY_KNOBS =
4
+ "glass [--glass-rim:1] [--glass-lift:0.6] [--glass-light:0.05] [--glass-edge:color-mix(in_srgb,var(--border)_90%,transparent)]";
5
+
6
+ /* Split from the surface the way CARD_BLUR is, so a host can gate it off and
7
+ * paint a precomputed frost instead. */
8
+ export const OVERLAY_BLUR = "backdrop-blur-[var(--glass-blur,20px)] backdrop-saturate-[1.6]";
9
+
10
+ export const OVERLAY_SURFACE_BASE = `${OVERLAY_KNOBS} [--glass-base:color-mix(in_srgb,var(--popover)_75%,transparent)]`;
11
+
12
+ /* Floating-panel glass: translucent popover fill over a blur, so a menu reads
13
+ * as glass and not as a flat plate. */
14
+ export const OVERLAY_SURFACE = `${OVERLAY_SURFACE_BASE} ${OVERLAY_BLUR}`;
15
+
16
+ /* Opaque fill, no blur: the drag-animated surfaces (BottomSheet), where
17
+ * backdrop-blur is too slow on mobile and a translucent fill with no blur
18
+ * behind it would just be see-through. */
19
+ export const OVERLAY_SURFACE_OPAQUE = `${OVERLAY_KNOBS} [--glass-base:var(--popover)]`;
4
20
 
5
21
  /* Modal scrim behind dialogs/sheets. BottomSheet keeps its own unblurred scrim
6
22
  * (backdrop-blur is too slow on mobile). */
7
- export const SCRIM_CLASS = "bg-background/70 backdrop-blur-sm";
23
+ export const SCRIM_CLASS = "bg-background/70 backdrop-blur-md";
@@ -26,6 +26,15 @@
26
26
  inherits: false;
27
27
  initial-value: 0.05;
28
28
  }
29
+ /* Size of the top-left sheen ellipse, `<x> <y>`. Percentages scale with the
30
+ * element, which is right for cards but leaves an edge-anchored panel (a side
31
+ * sheet is narrow and viewport-tall) with a small blob over a flat matte field.
32
+ * Such surfaces pin absolute lengths so the highlight reads the same as on a
33
+ * dialog. Untyped: two values, so no single @property syntax fits. */
34
+ @property --glass-sheen {
35
+ syntax: "*";
36
+ inherits: false;
37
+ }
29
38
  @property --glass-shade {
30
39
  syntax: "<number>";
31
40
  inherits: false;
@@ -122,7 +131,11 @@
122
131
  * would put the frost above the fill. Layer order top→bottom: light, shade,
123
132
  * tone wash, base fill, frost. */
124
133
  background:
125
- radial-gradient(120% 120% at 22% 8%, oklch(1 0 0 / var(--glass-light)), transparent 58%),
134
+ radial-gradient(
135
+ var(--glass-sheen, 120% 120%) at 22% 8%,
136
+ oklch(1 0 0 / var(--glass-light)),
137
+ transparent 58%
138
+ ),
126
139
  radial-gradient(120% 120% at 82% 100%, oklch(0 0 0 / var(--glass-shade)), transparent 58%),
127
140
  linear-gradient(
128
141
  var(--glass-wash-angle),