@xingxingmofashu/ui 0.1.10 → 0.2.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 CHANGED
@@ -86,9 +86,11 @@ container:
86
86
 
87
87
  `thin` is the default and the clearest, `soft` adds diffusion for secondary
88
88
  text, `regular` balances transparency with text separation, and `thick` is the
89
- most readable over busy imagery. Presets only override shared CSS variables.
90
- Without the plugin stylesheet, the main stylesheet still uses the `thin`
91
- material.
89
+ most readable over busy imagery. Presets only override shared CSS variables and
90
+ adjust both the in-page and overlay veils. Text-bearing overlays use
91
+ `.ui-glass-overlay` and `--ui-glass-overlay-surface`; override that token too
92
+ when you change `--ui-surface`. Without the plugin stylesheet, the main
93
+ stylesheet still uses the `thin` material.
92
94
 
93
95
  The optional React plugin manages the attribute and persistence:
94
96
 
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- @import "./keyframes.css";@source "./**/*.mjs";@source "./**/*.{ts,tsx}";@custom-variant ui-light (&:where(.light, .light *, [data-theme="light"], [data-theme="light"] *));@custom-variant ui-dark (&:where(.dark, .dark *, [data-theme="dark"], [data-theme="dark"] *));@layer theme{:host,:root{color-scheme:light;--ui-ink:#1f1f1f;--ui-ink-active:#000;--ui-surface:#fff;--ui-glass-surface:hsla(0,0%,100%,.2);--ui-glass-border:rgba(31,31,31,.16);--ui-glass-focus:rgba(0,0,0,.6);--ui-glass-inner-border:rgba(0,0,0,.9);--ui-glass-rim:hsla(0,0%,100%,.2);--ui-glass-highlight:hsla(0,0%,100%,.8);--ui-glass-glare-stop:15%;--ui-glass-tone:brightness(0.98);--ui-glass-contrast:1.05;--ui-drop-shadow-label:drop-shadow(0 25px 3px hsla(0,0%,40%,.15));--ui-shadow-glass:inset 0 2px 1px -1px hsla(0,0%,100%,.9),inset 0 -2px 1px -1px hsla(0,0%,100%,.9),inset 0 6px 1px -6px hsla(0,0%,100%,.55),inset 0 -6px 1px -6px hsla(0,0%,100%,.55),inset 0 0 0 1px hsla(0,0%,100%,.45),inset 0 0 2px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.2)}.dark,[data-theme=dark]{color-scheme:dark;--ui-ink:#f5f5f5;--ui-ink-active:#fff;--ui-surface:#141414;--ui-glass-surface:hsla(0,0%,8%,.62);--ui-glass-border:hsla(0,0%,100%,.2);--ui-glass-focus:hsla(0,0%,100%,.7);--ui-glass-inner-border:hsla(0,0%,100%,.4);--ui-glass-rim:hsla(0,0%,100%,.25);--ui-glass-highlight:hsla(0,0%,100%,.45);--ui-glass-tone:brightness(0.95);--ui-glass-contrast:1;--ui-drop-shadow-label:drop-shadow(0 25px 3px rgba(0,0,0,.45));--ui-shadow-glass:inset 0 2px 1px -1px hsla(0,0%,100%,.35),inset 0 -2px 1px -1px hsla(0,0%,100%,.35),inset 0 6px 1px -6px hsla(0,0%,100%,.2),inset 0 -6px 1px -6px hsla(0,0%,100%,.2),inset 0 0 0 1px hsla(0,0%,100%,.14),inset 0 0 2px rgba(0,0,0,.9),0 4px 8px rgba(0,0,0,.35)}.light,[data-theme=light]{color-scheme:light;--ui-ink:#1f1f1f;--ui-ink-active:#000;--ui-surface:#fff;--ui-glass-surface:hsla(0,0%,100%,.2);--ui-glass-border:rgba(31,31,31,.16);--ui-glass-focus:rgba(0,0,0,.6);--ui-glass-inner-border:rgba(0,0,0,.9);--ui-glass-rim:hsla(0,0%,100%,.2);--ui-glass-highlight:hsla(0,0%,100%,.8);--ui-glass-glare-stop:15%;--ui-glass-tone:brightness(0.98);--ui-glass-contrast:1.05;--ui-drop-shadow-label:drop-shadow(0 25px 3px hsla(0,0%,40%,.15));--ui-shadow-glass:inset 0 2px 1px -1px hsla(0,0%,100%,.9),inset 0 -2px 1px -1px hsla(0,0%,100%,.9),inset 0 6px 1px -6px hsla(0,0%,100%,.55),inset 0 -6px 1px -6px hsla(0,0%,100%,.55),inset 0 0 0 1px hsla(0,0%,100%,.45),inset 0 0 2px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.2)}:host,:root{--ui-glass-blur:4px;--ui-glass-saturate:150%;--ui-glass-chip-blur:8px;--ui-glass-inner-inset:8px;--ui-glass-inner-offset:1px;--ui-glass-inner-blur:8px;--ui-glass-highlight-blur:7px;--ui-glass-rim-inset:9px;--ui-glass-rim-blur:1px}}@theme inline{--color-ui-ink:var(--ui-ink);--color-ui-ink-active:var(--ui-ink-active);--color-ui-surface:var(--ui-surface);--color-ui-glass-surface:var(--ui-glass-surface);--color-ui-glass-border:var(--ui-glass-border);--color-ui-glass-focus:var(--ui-glass-focus);--color-ui-glass-inner-border:var(--ui-glass-inner-border);--color-ui-glass-rim:var(--ui-glass-rim);--color-ui-glass-highlight:var(--ui-glass-highlight)}@layer components{.ui-glass{backdrop-filter:blur(var(--ui-glass-blur,4px)) saturate(var(--ui-glass-saturate,150%));background-color:var(--ui-glass-surface);border:1px double var(--ui-glass-border);box-shadow:var(--ui-shadow-glass);filter:var(--ui-glass-tone,brightness(.98)) contrast(var(--ui-glass-contrast,1.05));position:relative}.ui-glass-inner:before{border:1px solid var(--ui-glass-inner-border);bottom:calc(var(--ui-glass-inner-inset, 8px) - var(--ui-glass-inner-offset, 1px));filter:blur(var(--ui-glass-inner-blur,8px));left:var(--ui-glass-inner-inset,8px);right:var(--ui-glass-inner-inset,8px);top:calc(var(--ui-glass-inner-inset, 8px) + var(--ui-glass-inner-offset, 1px));z-index:1}.ui-glass-highlight:after,.ui-glass-inner:before{border-radius:inherit;content:"";pointer-events:none;position:absolute}.ui-glass-highlight:after{background:linear-gradient(45deg,var(--ui-glass-highlight) 0,transparent var(--ui-glass-glare-stop),transparent calc(100% - var(--ui-glass-glare-stop)),var(--ui-glass-highlight) 100%);filter:blur(var(--ui-glass-highlight-blur,7px));inset:0;z-index:3}.ui-glass-rim{border:1px solid var(--ui-glass-rim);border-radius:inherit;filter:blur(var(--ui-glass-rim-blur,1px));height:calc(100% - var(--ui-glass-rim-inset, 9px));left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% - var(--ui-glass-rim-inset, 9px));z-index:2}.ui-glass-chip{backdrop-filter:blur(var(--ui-glass-chip-blur,8px)) saturate(var(--ui-glass-saturate,150%));background-color:var(--ui-glass-surface);border:1px solid var(--ui-glass-border);box-shadow:inset 0 1px 0 var(--ui-glass-highlight)}}
1
+ @import "./keyframes.css";@source "./**/*.mjs";@source "./**/*.{ts,tsx}";@custom-variant ui-light (&:where(.light, .light *, [data-theme="light"], [data-theme="light"] *));@custom-variant ui-dark (&:where(.dark, .dark *, [data-theme="dark"], [data-theme="dark"] *));@layer theme{:host,:root{color-scheme:light;--ui-ink:#1f1f1f;--ui-ink-active:#000;--ui-surface:#fff;--ui-glass-surface:hsla(0,0%,100%,.2);--ui-glass-overlay-surface:hsla(0,0%,100%,.64);--ui-glass-border:rgba(31,31,31,.16);--ui-glass-focus:rgba(0,0,0,.6);--ui-glass-inner-border:rgba(0,0,0,.9);--ui-glass-rim:hsla(0,0%,100%,.2);--ui-glass-highlight:hsla(0,0%,100%,.8);--ui-glass-glare-stop:15%;--ui-glass-tone:brightness(0.98);--ui-glass-contrast:1.05;--ui-drop-shadow-label:drop-shadow(0 25px 3px hsla(0,0%,40%,.15));--ui-shadow-glass:inset 0 2px 1px -1px hsla(0,0%,100%,.9),inset 0 -2px 1px -1px hsla(0,0%,100%,.9),inset 0 6px 1px -6px hsla(0,0%,100%,.55),inset 0 -6px 1px -6px hsla(0,0%,100%,.55),inset 0 0 0 1px hsla(0,0%,100%,.45),inset 0 0 2px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.2)}.dark,[data-theme=dark]{color-scheme:dark;--ui-ink:#f5f5f5;--ui-ink-active:#fff;--ui-surface:#141414;--ui-glass-surface:hsla(0,0%,8%,.62);--ui-glass-overlay-surface:hsla(0,0%,8%,.76);--ui-glass-border:hsla(0,0%,100%,.2);--ui-glass-focus:hsla(0,0%,100%,.7);--ui-glass-inner-border:hsla(0,0%,100%,.4);--ui-glass-rim:hsla(0,0%,100%,.25);--ui-glass-highlight:hsla(0,0%,100%,.45);--ui-glass-tone:brightness(0.95);--ui-glass-contrast:1;--ui-drop-shadow-label:drop-shadow(0 25px 3px rgba(0,0,0,.45));--ui-shadow-glass:inset 0 2px 1px -1px hsla(0,0%,100%,.35),inset 0 -2px 1px -1px hsla(0,0%,100%,.35),inset 0 6px 1px -6px hsla(0,0%,100%,.2),inset 0 -6px 1px -6px hsla(0,0%,100%,.2),inset 0 0 0 1px hsla(0,0%,100%,.14),inset 0 0 2px rgba(0,0,0,.9),0 4px 8px rgba(0,0,0,.35)}.light,[data-theme=light]{color-scheme:light;--ui-ink:#1f1f1f;--ui-ink-active:#000;--ui-surface:#fff;--ui-glass-surface:hsla(0,0%,100%,.2);--ui-glass-overlay-surface:hsla(0,0%,100%,.64);--ui-glass-border:rgba(31,31,31,.16);--ui-glass-focus:rgba(0,0,0,.6);--ui-glass-inner-border:rgba(0,0,0,.9);--ui-glass-rim:hsla(0,0%,100%,.2);--ui-glass-highlight:hsla(0,0%,100%,.8);--ui-glass-glare-stop:15%;--ui-glass-tone:brightness(0.98);--ui-glass-contrast:1.05;--ui-drop-shadow-label:drop-shadow(0 25px 3px hsla(0,0%,40%,.15));--ui-shadow-glass:inset 0 2px 1px -1px hsla(0,0%,100%,.9),inset 0 -2px 1px -1px hsla(0,0%,100%,.9),inset 0 6px 1px -6px hsla(0,0%,100%,.55),inset 0 -6px 1px -6px hsla(0,0%,100%,.55),inset 0 0 0 1px hsla(0,0%,100%,.45),inset 0 0 2px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.2)}:host,:root{--ui-glass-blur:4px;--ui-glass-saturate:150%;--ui-glass-chip-blur:8px;--ui-glass-inner-inset:8px;--ui-glass-inner-offset:1px;--ui-glass-inner-blur:8px;--ui-glass-highlight-blur:7px;--ui-glass-rim-inset:9px;--ui-glass-rim-blur:1px}}@theme inline{--color-ui-ink:var(--ui-ink);--color-ui-ink-active:var(--ui-ink-active);--color-ui-surface:var(--ui-surface);--color-ui-glass-surface:var(--ui-glass-surface);--color-ui-glass-overlay-surface:var(--ui-glass-overlay-surface);--color-ui-glass-border:var(--ui-glass-border);--color-ui-glass-focus:var(--ui-glass-focus);--color-ui-glass-inner-border:var(--ui-glass-inner-border);--color-ui-glass-rim:var(--ui-glass-rim);--color-ui-glass-highlight:var(--ui-glass-highlight)}@layer components{.ui-glass{backdrop-filter:blur(var(--ui-glass-blur,4px)) saturate(var(--ui-glass-saturate,150%));background-color:var(--ui-glass-surface);border:1px double var(--ui-glass-border);box-shadow:var(--ui-shadow-glass);filter:var(--ui-glass-tone,brightness(.98)) contrast(var(--ui-glass-contrast,1.05));position:relative}.ui-glass-overlay{background-color:var(--ui-glass-overlay-surface)}.ui-glass-inner:before{border:1px solid var(--ui-glass-inner-border);bottom:calc(var(--ui-glass-inner-inset, 8px) - var(--ui-glass-inner-offset, 1px));filter:blur(var(--ui-glass-inner-blur,8px));left:var(--ui-glass-inner-inset,8px);right:var(--ui-glass-inner-inset,8px);top:calc(var(--ui-glass-inner-inset, 8px) + var(--ui-glass-inner-offset, 1px));z-index:1}.ui-glass-highlight:after,.ui-glass-inner:before{border-radius:inherit;content:"";pointer-events:none;position:absolute}.ui-glass-highlight:after{background:linear-gradient(45deg,var(--ui-glass-highlight) 0,transparent var(--ui-glass-glare-stop),transparent calc(100% - var(--ui-glass-glare-stop)),var(--ui-glass-highlight) 100%);filter:blur(var(--ui-glass-highlight-blur,7px));inset:0;z-index:3}.ui-glass-rim{border:1px solid var(--ui-glass-rim);border-radius:inherit;filter:blur(var(--ui-glass-rim-blur,1px));height:calc(100% - var(--ui-glass-rim-inset, 9px));left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(100% - var(--ui-glass-rim-inset, 9px));z-index:2}.ui-glass-chip{backdrop-filter:blur(var(--ui-glass-chip-blur,8px)) saturate(var(--ui-glass-saturate,150%));background-color:var(--ui-glass-surface);border:1px solid var(--ui-glass-border);box-shadow:inset 0 1px 0 var(--ui-glass-highlight)}}
@@ -1 +1 @@
1
- @layer theme{[data-glass=thin],[data-glass=thin]:is(.light,.dark,[data-theme=light],[data-theme=dark]){--ui-glass-surface:light-dark(hsla(0,0%,100%,.2),hsla(0,0%,8%,.62));--ui-glass-border:light-dark(rgba(31,31,31,.16),hsla(0,0%,100%,.2));--ui-glass-blur:4px;--ui-glass-saturate:150%}[data-glass=soft],[data-glass=soft]:is(.light,.dark,[data-theme=light],[data-theme=dark]){--ui-glass-surface:light-dark(hsla(0,0%,100%,.283),hsla(0,0%,8%,.653));--ui-glass-border:light-dark(rgba(31,31,31,.187),hsla(0,0%,100%,.227));--ui-glass-blur:8px;--ui-glass-saturate:146.7%}[data-glass=regular],[data-glass=regular]:is(.light,.dark,[data-theme=light],[data-theme=dark]){--ui-glass-surface:light-dark(hsla(0,0%,100%,.367),hsla(0,0%,8%,.687));--ui-glass-border:light-dark(rgba(31,31,31,.213),hsla(0,0%,100%,.253));--ui-glass-blur:12px;--ui-glass-saturate:143.3%}[data-glass=thick],[data-glass=thick]:is(.light,.dark,[data-theme=light],[data-theme=dark]){--ui-glass-surface:light-dark(hsla(0,0%,100%,.45),hsla(0,0%,8%,.72));--ui-glass-border:light-dark(rgba(31,31,31,.24),hsla(0,0%,100%,.28));--ui-glass-blur:16px;--ui-glass-saturate:140%}}
1
+ @layer theme{[data-glass=thin],[data-glass=thin]:is(.light,.dark,[data-theme=light],[data-theme=dark]){--ui-glass-surface:light-dark(hsla(0,0%,100%,.2),hsla(0,0%,8%,.62));--ui-glass-overlay-surface:light-dark(hsla(0,0%,100%,.64),hsla(0,0%,8%,.76));--ui-glass-border:light-dark(rgba(31,31,31,.16),hsla(0,0%,100%,.2));--ui-glass-blur:4px;--ui-glass-saturate:150%}[data-glass=soft],[data-glass=soft]:is(.light,.dark,[data-theme=light],[data-theme=dark]){--ui-glass-surface:light-dark(hsla(0,0%,100%,.283),hsla(0,0%,8%,.653));--ui-glass-overlay-surface:light-dark(hsla(0,0%,100%,.69),hsla(0,0%,8%,.79));--ui-glass-border:light-dark(rgba(31,31,31,.187),hsla(0,0%,100%,.227));--ui-glass-blur:8px;--ui-glass-saturate:146.7%}[data-glass=regular],[data-glass=regular]:is(.light,.dark,[data-theme=light],[data-theme=dark]){--ui-glass-surface:light-dark(hsla(0,0%,100%,.367),hsla(0,0%,8%,.687));--ui-glass-overlay-surface:light-dark(hsla(0,0%,100%,.74),hsla(0,0%,8%,.82));--ui-glass-border:light-dark(rgba(31,31,31,.213),hsla(0,0%,100%,.253));--ui-glass-blur:12px;--ui-glass-saturate:143.3%}[data-glass=thick],[data-glass=thick]:is(.light,.dark,[data-theme=light],[data-theme=dark]){--ui-glass-surface:light-dark(hsla(0,0%,100%,.45),hsla(0,0%,8%,.72));--ui-glass-overlay-surface:light-dark(hsla(0,0%,100%,.8),hsla(0,0%,8%,.86));--ui-glass-border:light-dark(rgba(31,31,31,.24),hsla(0,0%,100%,.28));--ui-glass-blur:16px;--ui-glass-saturate:140%}}
@@ -9,7 +9,7 @@ export default tv({
9
9
  ],
10
10
  viewport: "fixed inset-0 z-50 flex overflow-y-auto overscroll-contain p-4",
11
11
  popup: [
12
- "relative isolate m-auto w-full max-w-md bg-ui-surface",
12
+ "relative isolate m-auto w-full max-w-md",
13
13
  "rounded-[1.75rem] text-ui-ink outline-none",
14
14
  "transition-[opacity,scale,translate] duration-200 ease-out",
15
15
  "data-[starting-style]:translate-y-2 data-[starting-style]:scale-95 data-[starting-style]:opacity-0",
@@ -17,7 +17,7 @@ export default tv({
17
17
  "motion-reduce:transition-none"
18
18
  ],
19
19
  glass: [
20
- "ui-glass ui-glass-inner ui-glass-highlight",
20
+ "ui-glass ui-glass-overlay ui-glass-inner ui-glass-highlight",
21
21
  "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
22
22
  ],
23
23
  overlay: "ui-glass-rim",
@@ -26,8 +26,8 @@ export default tv({
26
26
  "min-w-0 text-lg font-semibold tracking-tight text-ui-ink",
27
27
  "[filter:var(--ui-drop-shadow-label)]"
28
28
  ],
29
- description: "mt-2 min-w-0 text-sm leading-relaxed text-ui-ink opacity-60",
30
- body: "mt-4 min-w-0 text-sm leading-relaxed text-ui-ink opacity-75",
29
+ description: "mt-2 min-w-0 text-sm leading-relaxed text-ui-ink opacity-85",
30
+ body: "mt-4 min-w-0 text-sm leading-relaxed text-ui-ink opacity-90",
31
31
  footer: "mt-6 flex flex-wrap items-center justify-end gap-2"
32
32
  }
33
33
  });
@@ -9,7 +9,7 @@ export default tv({
9
9
  ],
10
10
  viewport: "fixed inset-0 z-50 flex overflow-y-auto overscroll-contain p-4",
11
11
  popup: [
12
- "relative isolate m-auto w-full max-w-md bg-ui-surface",
12
+ "relative isolate m-auto w-full max-w-md",
13
13
  "rounded-[1.75rem] text-ui-ink outline-none",
14
14
  "transition-[opacity,scale,translate] duration-200 ease-out",
15
15
  "data-[starting-style]:translate-y-2 data-[starting-style]:scale-95 data-[starting-style]:opacity-0",
@@ -17,7 +17,7 @@ export default tv({
17
17
  "motion-reduce:transition-none"
18
18
  ],
19
19
  glass: [
20
- "ui-glass ui-glass-inner ui-glass-highlight",
20
+ "ui-glass ui-glass-overlay ui-glass-inner ui-glass-highlight",
21
21
  "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
22
22
  ],
23
23
  overlay: "ui-glass-rim",
@@ -26,8 +26,8 @@ export default tv({
26
26
  "min-w-0 text-lg font-semibold tracking-tight text-ui-ink",
27
27
  "[filter:var(--ui-drop-shadow-label)]"
28
28
  ],
29
- description: "mt-2 min-w-0 text-sm leading-relaxed text-ui-ink opacity-60",
30
- body: "mt-4 min-w-0 text-sm leading-relaxed text-ui-ink opacity-75",
29
+ description: "mt-2 min-w-0 text-sm leading-relaxed text-ui-ink opacity-85",
30
+ body: "mt-4 min-w-0 text-sm leading-relaxed text-ui-ink opacity-90",
31
31
  footer: "mt-6 flex flex-wrap items-center justify-end gap-2"
32
32
  }
33
33
  });
@@ -12,14 +12,14 @@ export default tv({
12
12
  ],
13
13
  viewport: "fixed inset-0 z-50 flex overflow-hidden",
14
14
  popup: [
15
- "relative isolate flex min-h-0 flex-col overflow-hidden bg-ui-surface",
15
+ "relative isolate flex min-h-0 flex-col overflow-hidden",
16
16
  "text-ui-ink outline-none touch-auto overscroll-contain will-change-transform",
17
17
  "transition-transform duration-300 ease-[cubic-bezier(0.32,0.72,0,1)]",
18
18
  "data-[swiping]:select-none",
19
19
  "motion-reduce:transition-none"
20
20
  ],
21
21
  glass: [
22
- "ui-glass ui-glass-inner ui-glass-highlight",
22
+ "ui-glass ui-glass-overlay ui-glass-inner ui-glass-highlight",
23
23
  "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
24
24
  ],
25
25
  overlay: "ui-glass-rim",
@@ -31,8 +31,8 @@ export default tv({
31
31
  "min-w-0 text-lg font-semibold tracking-tight text-ui-ink",
32
32
  "[filter:var(--ui-drop-shadow-label)]"
33
33
  ],
34
- description: "mt-2 min-w-0 text-sm leading-relaxed text-ui-ink opacity-60",
35
- body: "mt-4 min-w-0 text-sm leading-relaxed text-ui-ink opacity-75",
34
+ description: "mt-2 min-w-0 text-sm leading-relaxed text-ui-ink opacity-85",
35
+ body: "mt-4 min-w-0 text-sm leading-relaxed text-ui-ink opacity-90",
36
36
  footer: "mt-6 flex flex-wrap items-center justify-end gap-2"
37
37
  },
38
38
  variants: {
@@ -3,7 +3,7 @@ export default tv({
3
3
  slots: {
4
4
  positioner: "z-50 outline-none",
5
5
  popup: [
6
- "relative isolate min-w-48 max-w-80 rounded-2xl bg-ui-surface p-1.5",
6
+ "relative isolate min-w-48 max-w-80 rounded-2xl p-1.5",
7
7
  "text-ui-ink outline-none",
8
8
  "transition-[opacity,scale] duration-150 ease-out",
9
9
  "data-[starting-style]:scale-95 data-[starting-style]:opacity-0",
@@ -15,7 +15,7 @@ export default tv({
15
15
  "motion-reduce:transition-none"
16
16
  ],
17
17
  glass: [
18
- "ui-glass ui-glass-inner ui-glass-highlight",
18
+ "ui-glass ui-glass-overlay ui-glass-inner ui-glass-highlight",
19
19
  "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
20
20
  ],
21
21
  overlay: "ui-glass-rim",
@@ -36,12 +36,12 @@ export default tv({
36
36
  itemLabel: "min-w-0 flex-1 truncate",
37
37
  shortcut: [
38
38
  "ml-auto shrink-0 font-mono text-[0.65rem] uppercase tracking-[0.12em]",
39
- "text-ui-ink/45"
39
+ "text-ui-ink/85"
40
40
  ],
41
41
  group: "flex min-w-0 flex-col gap-0.5",
42
42
  groupLabel: [
43
43
  "px-2.5 pb-1 pt-2 text-[0.65rem] font-medium uppercase tracking-[0.14em]",
44
- "text-ui-ink/45"
44
+ "text-ui-ink/85"
45
45
  ],
46
46
  separator: "mx-1 my-1 h-px bg-ui-glass-border"
47
47
  }
@@ -3,7 +3,7 @@ export default tv({
3
3
  slots: {
4
4
  positioner: "z-50 outline-none",
5
5
  popup: [
6
- "relative isolate w-80 max-w-[calc(100vw-2rem)] bg-ui-surface",
6
+ "relative isolate w-80 max-w-[calc(100vw-2rem)]",
7
7
  "rounded-[1.5rem] text-ui-ink outline-none",
8
8
  "transition-[opacity,scale,translate] duration-150 ease-out",
9
9
  "data-[starting-style]:scale-95 data-[starting-style]:opacity-0",
@@ -17,26 +17,30 @@ export default tv({
17
17
  "motion-reduce:transition-none"
18
18
  ],
19
19
  glass: [
20
- "ui-glass ui-glass-inner ui-glass-highlight",
20
+ "ui-glass ui-glass-overlay ui-glass-inner ui-glass-highlight",
21
21
  "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
22
22
  ],
23
23
  overlay: "ui-glass-rim",
24
24
  arrow: [
25
25
  "pointer-events-none absolute z-[1] size-3 rotate-45",
26
- "border-ui-glass-border bg-ui-surface",
26
+ "border-ui-glass-border bg-ui-glass-overlay-surface",
27
27
  "drop-shadow-[0_1px_2px_rgb(0_0_0/0.12)]",
28
28
  "data-[side=bottom]:-top-[6px] data-[side=bottom]:border-t data-[side=bottom]:border-l",
29
29
  "data-[side=top]:-bottom-[6px] data-[side=top]:border-r data-[side=top]:border-b",
30
30
  "data-[side=left]:-right-[6px] data-[side=left]:border-t data-[side=left]:border-r",
31
- "data-[side=right]:-left-[6px] data-[side=right]:border-b data-[side=right]:border-l"
31
+ "data-[side=right]:-left-[6px] data-[side=right]:border-b data-[side=right]:border-l",
32
+ "data-[side=bottom]:[clip-path:polygon(0_0,100%_0,0_100%)]",
33
+ "data-[side=top]:[clip-path:polygon(100%_0,100%_100%,0_100%)]",
34
+ "data-[side=left]:[clip-path:polygon(0_0,100%_0,100%_100%)]",
35
+ "data-[side=right]:[clip-path:polygon(0_0,0_100%,100%_100%)]"
32
36
  ],
33
37
  content: "relative z-10 flex min-w-0 flex-col p-4",
34
38
  title: [
35
39
  "min-w-0 text-sm font-semibold tracking-tight text-ui-ink",
36
40
  "[filter:var(--ui-drop-shadow-label)]"
37
41
  ],
38
- description: "mt-1 min-w-0 text-xs leading-relaxed text-ui-ink opacity-60",
39
- body: "mt-3 min-w-0 text-sm leading-relaxed text-ui-ink opacity-75",
42
+ description: "mt-1 min-w-0 text-xs leading-relaxed text-ui-ink opacity-85",
43
+ body: "mt-3 min-w-0 text-sm leading-relaxed text-ui-ink opacity-90",
40
44
  footer: "mt-4 flex flex-wrap items-center justify-end gap-2"
41
45
  }
42
46
  });
@@ -39,7 +39,7 @@ export default tv({
39
39
  positioner: "z-50 outline-none",
40
40
  popup: [
41
41
  "relative isolate min-w-[var(--anchor-width)] max-w-[min(24rem,var(--available-width))]",
42
- "rounded-2xl bg-ui-surface p-1.5 text-ui-ink outline-none",
42
+ "rounded-2xl p-1.5 text-ui-ink outline-none",
43
43
  "transition-[opacity,scale] duration-150 ease-out",
44
44
  "data-[starting-style]:scale-95 data-[starting-style]:opacity-0",
45
45
  "data-[ending-style]:scale-95 data-[ending-style]:opacity-0",
@@ -50,7 +50,7 @@ export default tv({
50
50
  "motion-reduce:transition-none"
51
51
  ],
52
52
  popupGlass: [
53
- "ui-glass ui-glass-inner ui-glass-highlight",
53
+ "ui-glass ui-glass-overlay ui-glass-inner ui-glass-highlight",
54
54
  "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
55
55
  ],
56
56
  popupOverlay: "ui-glass-rim",
@@ -8,7 +8,7 @@ export default tv({
8
8
  "[--shrink:calc(1_-_var(--scale))]",
9
9
  "[--height:var(--toast-frontmost-height,var(--toast-height))]",
10
10
  "absolute inset-x-0 isolate h-[var(--height)] w-full rounded-[1.25rem]",
11
- "bg-ui-surface text-ui-ink select-none",
11
+ "text-ui-ink select-none",
12
12
  "z-[calc(1000-var(--toast-index))]",
13
13
  "[transition:transform_500ms_cubic-bezier(0.22,1,0.36,1),opacity_500ms,height_150ms]",
14
14
  "data-[expanded]:h-[var(--toast-height)]",
@@ -20,7 +20,7 @@ export default tv({
20
20
  "motion-reduce:transition-none"
21
21
  ],
22
22
  glass: [
23
- "ui-glass ui-glass-inner ui-glass-highlight",
23
+ "ui-glass ui-glass-overlay ui-glass-inner ui-glass-highlight",
24
24
  "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
25
25
  ],
26
26
  overlay: "ui-glass-rim",
@@ -39,7 +39,7 @@ export default tv({
39
39
  "min-w-0 text-sm font-semibold tracking-tight text-ui-ink",
40
40
  "[filter:var(--ui-drop-shadow-label)]"
41
41
  ],
42
- description: "min-w-0 text-sm leading-relaxed text-ui-ink opacity-60",
42
+ description: "min-w-0 text-sm leading-relaxed text-ui-ink opacity-85",
43
43
  actions: "flex shrink-0 items-center gap-1",
44
44
  action: [
45
45
  "ui-glass-chip inline-flex h-7 shrink-0 items-center rounded-full px-2.5",
@@ -3,7 +3,7 @@ export default tv({
3
3
  slots: {
4
4
  positioner: "z-50 outline-none",
5
5
  popup: [
6
- "relative isolate max-w-64 rounded-xl bg-ui-surface px-2.5 py-1.5",
6
+ "relative isolate max-w-64 rounded-xl px-2.5 py-1.5",
7
7
  "text-xs font-medium leading-tight text-ui-ink outline-none",
8
8
  "transition-[opacity,scale] duration-100 ease-out",
9
9
  "data-[starting-style]:scale-95 data-[starting-style]:opacity-0",
@@ -15,24 +15,32 @@ export default tv({
15
15
  "motion-reduce:transition-none"
16
16
  ],
17
17
  glass: [
18
- "ui-glass ui-glass-inner ui-glass-highlight",
18
+ "ui-glass ui-glass-overlay ui-glass-inner ui-glass-highlight",
19
19
  "pointer-events-none absolute inset-0 z-0 overflow-hidden rounded-[inherit]"
20
20
  ],
21
21
  overlay: "ui-glass-rim",
22
22
  arrow: [
23
23
  "pointer-events-none absolute z-[1] size-2 rotate-45",
24
- "border-ui-glass-border bg-ui-surface",
24
+ "border-ui-glass-border bg-ui-glass-overlay-surface",
25
25
  "drop-shadow-[0_1px_1px_rgb(0_0_0/0.12)]",
26
26
  "data-[side=bottom]:-top-[4px] data-[side=bottom]:border-t data-[side=bottom]:border-l",
27
27
  "data-[side=top]:-bottom-[4px] data-[side=top]:border-r data-[side=top]:border-b",
28
28
  "data-[side=left]:-right-[4px] data-[side=left]:border-t data-[side=left]:border-r",
29
29
  "data-[side=right]:-left-[4px] data-[side=right]:border-b data-[side=right]:border-l",
30
+ "data-[side=bottom]:[clip-path:polygon(0_0,100%_0,0_100%)]",
31
+ "data-[side=top]:[clip-path:polygon(100%_0,100%_100%,0_100%)]",
32
+ "data-[side=left]:[clip-path:polygon(0_0,100%_0,100%_100%)]",
33
+ "data-[side=right]:[clip-path:polygon(0_0,0_100%,100%_100%)]",
30
34
  "data-[side=inline-start]:-end-[4px]",
31
35
  "ltr:data-[side=inline-start]:border-t ltr:data-[side=inline-start]:border-e",
32
36
  "rtl:data-[side=inline-start]:border-b rtl:data-[side=inline-start]:border-e",
33
37
  "data-[side=inline-end]:-start-[4px]",
34
38
  "ltr:data-[side=inline-end]:border-b ltr:data-[side=inline-end]:border-s",
35
- "rtl:data-[side=inline-end]:border-t rtl:data-[side=inline-end]:border-s"
39
+ "rtl:data-[side=inline-end]:border-t rtl:data-[side=inline-end]:border-s",
40
+ "ltr:data-[side=inline-start]:[clip-path:polygon(0_0,100%_0,100%_100%)]",
41
+ "rtl:data-[side=inline-start]:[clip-path:polygon(0_0,0_100%,100%_100%)]",
42
+ "ltr:data-[side=inline-end]:[clip-path:polygon(0_0,0_100%,100%_100%)]",
43
+ "rtl:data-[side=inline-end]:[clip-path:polygon(0_0,100%_0,100%_100%)]"
36
44
  ],
37
45
  content: "relative z-10"
38
46
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xingxingmofashu/ui",
3
- "version": "0.1.10",
3
+ "version": "0.2.0",
4
4
  "description": "React components with a CSS-only Liquid Glass visual style for React 19 and Tailwind CSS 4.",
5
5
  "license": "MIT",
6
6
  "author": "xingxingmofashu",