@opalui/react 0.0.0-stage → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/components/button/button.css +186 -0
  2. package/dist/components/button/button.css.js +1 -0
  3. package/dist/components/button/button.d.ts +26 -0
  4. package/dist/components/button/button.js +39 -0
  5. package/dist/components/button/button.js.map +1 -0
  6. package/dist/components/glass/glass.css +43 -0
  7. package/dist/components/glass/glass.css.js +1 -0
  8. package/dist/components/glass/glass.d.ts +5 -0
  9. package/dist/components/glass/glass.js +19 -0
  10. package/dist/components/glass/glass.js.map +1 -0
  11. package/dist/components/input/input.css +70 -0
  12. package/dist/components/input/input.css.js +1 -0
  13. package/dist/components/input/input.d.ts +17 -0
  14. package/dist/components/input/input.js +36 -0
  15. package/dist/components/input/input.js.map +1 -0
  16. package/dist/components/menu/menu.css +112 -0
  17. package/dist/components/menu/menu.css.js +1 -0
  18. package/dist/components/menu/menu.d.ts +18 -0
  19. package/dist/components/menu/menu.js +125 -0
  20. package/dist/components/menu/menu.js.map +1 -0
  21. package/dist/components/segmented-control/segmented-control.css +136 -0
  22. package/dist/components/segmented-control/segmented-control.css.js +1 -0
  23. package/dist/components/segmented-control/segmented-control.d.ts +21 -0
  24. package/dist/components/segmented-control/segmented-control.js +147 -0
  25. package/dist/components/segmented-control/segmented-control.js.map +1 -0
  26. package/dist/components/select/select.css +164 -0
  27. package/dist/components/select/select.css.js +1 -0
  28. package/dist/components/select/select.d.ts +27 -0
  29. package/dist/components/select/select.js +140 -0
  30. package/dist/components/select/select.js.map +1 -0
  31. package/dist/components/slider/slider.css +114 -0
  32. package/dist/components/slider/slider.css.js +1 -0
  33. package/dist/components/slider/slider.d.ts +17 -0
  34. package/dist/components/slider/slider.js +40 -0
  35. package/dist/components/slider/slider.js.map +1 -0
  36. package/dist/components/switch/switch.css +130 -0
  37. package/dist/components/switch/switch.css.js +1 -0
  38. package/dist/components/switch/switch.d.ts +14 -0
  39. package/dist/components/switch/switch.js +74 -0
  40. package/dist/components/switch/switch.js.map +1 -0
  41. package/dist/components/textarea/textarea.css +56 -0
  42. package/dist/components/textarea/textarea.css.js +1 -0
  43. package/dist/components/textarea/textarea.d.ts +8 -0
  44. package/dist/components/textarea/textarea.js +17 -0
  45. package/dist/components/textarea/textarea.js.map +1 -0
  46. package/dist/index.d.ts +9 -0
  47. package/dist/index.js +10 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/internal/glass/lens.d.ts +44 -0
  50. package/dist/internal/glass/lens.js +116 -0
  51. package/dist/internal/glass/lens.js.map +1 -0
  52. package/dist/internal/glass/map.d.ts +1 -0
  53. package/dist/internal/glass/map.js +48 -0
  54. package/dist/internal/glass/map.js.map +1 -0
  55. package/dist/internal/glass/material.d.ts +55 -0
  56. package/dist/internal/glass/material.js +22 -0
  57. package/dist/internal/glass/material.js.map +1 -0
  58. package/dist/internal/glass/styles.d.ts +2 -0
  59. package/dist/internal/glass/styles.js +4 -0
  60. package/dist/internal/glass/styles.js.map +1 -0
  61. package/dist/internal/glass/support.d.ts +5 -0
  62. package/dist/internal/glass/support.js +8 -0
  63. package/dist/internal/glass/support.js.map +1 -0
  64. package/dist/internal/glass.css +34 -0
  65. package/dist/internal/glass.css.js +1 -0
  66. package/dist/internal/styles.d.ts +2 -0
  67. package/dist/internal/styles.js +9 -0
  68. package/dist/internal/styles.js.map +1 -0
  69. package/dist/styles.css +11 -0
  70. package/dist/styles.css.js +1 -0
  71. package/package.json +90 -4
  72. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lens.js","sourceRoot":"","sources":["../../../src/internal/glass/lens.tsx"],"names":[],"mappings":"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","sourcesContent":["'use client'\n\nimport { useEffect, useId, useRef, useState, type CSSProperties, type RefObject } from 'react'\nimport { glassLensMap } from './map.js'\nimport { resolveMaterial, type GlassSettings } from './material.js'\nimport { supportsOwnedGlassLens } from './support.js'\n\ntype Box = { x: number; y: number; width: number; height: number; radius: number; map: string; mask: string }\ntype Frame = Box & { amount: number; sourceWidth: number; sourceHeight: number; light: boolean }\n\n/** A single filter graph serves live backgrounds and content owned by a control.\n * Content is composited back outside the lens, so neighbors stay untouched. */\nexport function LensFilter({ id, frame: f, material: m, ink = false, contract = false }: { id: string; frame: Frame; material: GlassSettings; ink?: boolean; contract?: boolean }) {\n // Reversing the sampling direction compresses owned content inside the lens.\n const strength = Math.min(f.width, f.height) * m.bend * f.amount * (contract ? -1 : 1)\n const invert = ink && f.light\n return <svg width=\"0\" height=\"0\" style={{ position: 'absolute', pointerEvents: 'none' }} aria-hidden=\"true\" focusable=\"false\"><defs>\n <filter id={id} filterUnits=\"userSpaceOnUse\" primitiveUnits=\"userSpaceOnUse\" x={-f.sourceWidth * .5} y={-f.sourceHeight * .5} width={f.sourceWidth * 2} height={f.sourceHeight * 2} colorInterpolationFilters=\"sRGB\">\n <feColorMatrix in=\"SourceGraphic\" type=\"matrix\" values={invert ? '-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0' : '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'} result=\"ink\" />\n <feGaussianBlur in=\"ink\" stdDeviation={m.frost * f.amount} result=\"soft\" />\n <feImage href={f.map} x={f.x} y={f.y} width={f.width} height={f.height} preserveAspectRatio=\"none\" result=\"map\" />\n <feImage href={f.mask} x={f.x} y={f.y} width={f.width} height={f.height} preserveAspectRatio=\"none\" result=\"shape\" />\n <feDisplacementMap in=\"soft\" in2=\"map\" scale={strength * (1 - m.dispersion)} xChannelSelector=\"R\" yChannelSelector=\"G\" result=\"rays-r\" />\n <feDisplacementMap in=\"soft\" in2=\"map\" scale={strength} xChannelSelector=\"R\" yChannelSelector=\"G\" result=\"rays-g\" />\n <feDisplacementMap in=\"soft\" in2=\"map\" scale={strength * (1 + m.dispersion)} xChannelSelector=\"R\" yChannelSelector=\"G\" result=\"rays-b\" />\n <feColorMatrix in=\"rays-r\" values=\"1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\" result=\"r\" />\n <feColorMatrix in=\"rays-g\" values=\"0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0\" result=\"g\" />\n <feColorMatrix in=\"rays-b\" values=\"0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0\" result=\"b\" />\n <feBlend in=\"r\" in2=\"g\" mode=\"screen\" result=\"rg\" />\n <feBlend in=\"rg\" in2=\"b\" mode=\"screen\" result=\"rgb\" />\n <feColorMatrix in=\"rgb\" values={invert ? '-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0' : '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'} result=\"colored\" />\n <feComposite in=\"colored\" in2=\"shape\" operator=\"in\" result=\"inside\" />\n <feComposite in=\"SourceGraphic\" in2=\"shape\" operator=\"out\" result=\"outside\" />\n <feComposite in=\"inside\" in2=\"outside\" operator=\"arithmetic\" k2=\"1\" k3=\"1\" />\n </filter>\n </defs></svg>\n}\n\n/** Lifecycle, measurements, preferences and progressive enhancement live here.\n * Owned content uses ordinary SVG filters; arbitrary backdrops use Chromium's\n * reference-filter support. No DOM or canvas work happens during SSR. */\nexport function useGlassLens(surface: RefObject<HTMLElement | null>, material: GlassSettings, options: { source?: RefObject<HTMLElement | null>; active?: boolean; ink?: boolean; contract?: boolean; enabled?: boolean } = {}) {\n const { source, active = true, ink = false, contract = false, enabled = true } = options\n const id = `opal-glass-${useId().replace(/[^a-zA-Z0-9_-]/g, '')}`\n const [frame, setFrame] = useState<Frame>()\n const amount = useRef(0)\n const m = resolveMaterial(material)\n useEffect(() => {\n const glass = surface.current\n if (!glass || !enabled) { setFrame(undefined); return }\n if (source && !supportsOwnedGlassLens(navigator.userAgent)) {\n amount.current = 0\n setFrame(undefined)\n return\n }\n if (!source && (!/(?:Chrome|Chromium|Edg)\\//.test(navigator.userAgent) || !CSS.supports('backdrop-filter', 'url(\"#lens\")'))) return\n const transparency = matchMedia('(prefers-reduced-transparency: reduce)')\n const motion = matchMedia('(prefers-reduced-motion: reduce)')\n const contrast = matchMedia('(forced-colors: active)')\n let raf = 0, previous = 0, stopped = false\n const measure = (now: number) => {\n if (stopped) return\n const dt = previous ? Math.min(64, now - previous) : 16\n previous = now\n const target = active && !transparency.matches && !contrast.matches ? 1 : 0\n amount.current = motion.matches || !source ? target : amount.current + (target - amount.current) * (1 - Math.exp(-dt / 65))\n if (Math.abs(amount.current - target) < .002) amount.current = target\n if (!amount.current) setFrame(undefined)\n else {\n const rect = glass.getBoundingClientRect()\n const content = source?.current\n const parent = content?.getBoundingClientRect()\n const width = content ? rect.width : glass.offsetWidth\n const height = content ? rect.height : glass.offsetHeight\n const scale = glass.offsetWidth ? width / glass.offsetWidth : 1\n const radius = Math.min(width / 2, height / 2, (parseFloat(getComputedStyle(glass).borderTopLeftRadius) || 0) * scale)\n try {\n const map = width && height ? glassLensMap(Math.round(width), Math.round(height), Math.round(radius)) : undefined\n if (map) {\n const mask = `data:image/svg+xml,${encodeURIComponent(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${width}\" height=\"${height}\"><rect width=\"100%\" height=\"100%\" rx=\"${radius}\" fill=\"white\"/></svg>`)}`\n const next: Frame = { x: parent ? rect.left - parent.left : 0, y: parent ? rect.top - parent.top : 0, width, height, radius, map, mask, amount: amount.current, sourceWidth: content?.offsetWidth ?? width, sourceHeight: content?.offsetHeight ?? height, light: glass.closest('[data-theme]')?.getAttribute('data-theme') !== 'dark' && getComputedStyle(glass).colorScheme !== 'dark' }\n setFrame(old => old && old.x === next.x && old.y === next.y && old.width === next.width && old.height === next.height && old.amount === next.amount && old.light === next.light && old.sourceWidth === next.sourceWidth && old.sourceHeight === next.sourceHeight ? old : next)\n }\n } catch { setFrame(undefined) }\n }\n if (source && ((active && !transparency.matches && !contrast.matches) || amount.current > 0)) raf = requestAnimationFrame(measure)\n }\n const refresh = () => { cancelAnimationFrame(raf); previous = 0; raf = requestAnimationFrame(measure) }\n const resize = new ResizeObserver(refresh)\n resize.observe(glass)\n if (source?.current) resize.observe(source.current)\n const theme = new MutationObserver(refresh)\n theme.observe(document.documentElement, { attributes: true, subtree: true, attributeFilter: ['data-theme'] })\n transparency.addEventListener('change', refresh)\n motion.addEventListener('change', refresh)\n contrast.addEventListener('change', refresh)\n refresh()\n return () => { stopped = true; cancelAnimationFrame(raf); resize.disconnect(); theme.disconnect(); transparency.removeEventListener('change', refresh); motion.removeEventListener('change', refresh); contrast.removeEventListener('change', refresh) }\n }, [surface, source, active, enabled, m.bend, m.dispersion, m.frost, m.rim])\n const filterId = source && frame ? `${id}-${Math.round(frame.x * 10)}-${Math.round(frame.y * 10)}-${Math.round(frame.width * 10)}-${Math.round(frame.amount * 100)}` : id\n return {\n filter: frame ? <LensFilter id={filterId} frame={frame} material={m} ink={ink} contract={contract} /> : null,\n sourceStyle: frame && source ? { filter: `url(\"#${filterId}\")` } as CSSProperties : undefined,\n surfaceStyle: { '--opal-material-frost': `${m.frost}px`, '--opal-material-rim': m.rim, '--opal-material-edge': m.edge, ...(frame && !source ? { '--opal-material-filter': `url(\"#${id}\")` } : {}) } as CSSProperties,\n lensing: !!frame,\n }\n}\n\n/** Observe native presses without replacing the control's input handlers. */\nexport function useGlassHeld(root: RefObject<HTMLElement | null>) {\n const [held, setHeld] = useState(false)\n useEffect(() => {\n const element = root.current\n if (!element) return\n const down = (event: PointerEvent) => {\n if (event.isPrimary && event.button === 0 && !(event.target as HTMLInputElement).disabled) setHeld(true)\n }\n const up = () => setHeld(false)\n element.addEventListener('pointerdown', down)\n window.addEventListener('pointerup', up)\n window.addEventListener('pointercancel', up)\n window.addEventListener('blur', up)\n return () => { element.removeEventListener('pointerdown', down); window.removeEventListener('pointerup', up); window.removeEventListener('pointercancel', up); window.removeEventListener('blur', up) }\n }, [root])\n return held\n}\n"]}
@@ -0,0 +1 @@
1
+ export declare function glassLensMap(width: number, height: number, radius: number): string | undefined;
@@ -0,0 +1,48 @@
1
+ // A small, reusable displacement texture. Only geometry changes regenerate it.
2
+ const maps = new Map();
3
+ export function glassLensMap(width, height, radius) {
4
+ const key = `${width}:${height}:${radius}`;
5
+ const cached = maps.get(key);
6
+ if (cached)
7
+ return cached;
8
+ const canvas = document.createElement('canvas');
9
+ const resolution = Math.min(1, 256 / Math.max(width, height));
10
+ canvas.width = Math.max(2, Math.round(width * resolution));
11
+ canvas.height = Math.max(2, Math.round(height * resolution));
12
+ const context = canvas.getContext('2d');
13
+ if (!context)
14
+ return;
15
+ const pixels = context.createImageData(canvas.width, canvas.height);
16
+ const band = Math.min(width, height) / 2;
17
+ for (let y = 0; y < canvas.height; y++) {
18
+ for (let x = 0; x < canvas.width; x++) {
19
+ const px = (x + 0.5) / canvas.width * width - width / 2;
20
+ const py = (y + 0.5) / canvas.height * height - height / 2;
21
+ const qx = Math.abs(px) - (width / 2 - radius);
22
+ const qy = Math.abs(py) - (height / 2 - radius);
23
+ const dx = Math.max(qx, 0);
24
+ const dy = Math.max(qy, 0);
25
+ const length = Math.hypot(dx, dy);
26
+ const distance = length + Math.min(Math.max(qx, qy), 0) - radius;
27
+ const nx = length ? dx / length : Number(qx > qy);
28
+ const ny = length ? dy / length : Number(qy >= qx);
29
+ // One continuous convex lens, strongest at the outer edge and fading
30
+ // with zero slope at the center. The previous sine band returned to
31
+ // neutral at BOTH edges, producing an inner pill at high strengths.
32
+ const t = Math.max(0, Math.min(1, 1 + distance / band));
33
+ const bend = t * t;
34
+ const offset = (y * canvas.width + x) * 4;
35
+ pixels.data[offset] = Math.round(128 - 120 * Math.sign(px) * nx * bend);
36
+ pixels.data[offset + 1] = Math.round(128 - 120 * Math.sign(py) * ny * bend);
37
+ pixels.data[offset + 2] = 128;
38
+ pixels.data[offset + 3] = 255;
39
+ }
40
+ }
41
+ context.putImageData(pixels, 0, 0);
42
+ const map = canvas.toDataURL();
43
+ if (maps.size >= 32)
44
+ maps.delete(maps.keys().next().value);
45
+ maps.set(key, map);
46
+ return map;
47
+ }
48
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/internal/glass/map.ts"],"names":[],"mappings":"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","sourcesContent":["// A small, reusable displacement texture. Only geometry changes regenerate it.\nconst maps = new Map<string, string>()\n\nexport function glassLensMap(width: number, height: number, radius: number): string | undefined {\n const key = `${width}:${height}:${radius}`\n const cached = maps.get(key)\n if (cached) return cached\n const canvas = document.createElement('canvas')\n const resolution = Math.min(1, 256 / Math.max(width, height))\n canvas.width = Math.max(2, Math.round(width * resolution))\n canvas.height = Math.max(2, Math.round(height * resolution))\n const context = canvas.getContext('2d')\n if (!context) return\n const pixels = context.createImageData(canvas.width, canvas.height)\n const band = Math.min(width, height) / 2\n for (let y = 0; y < canvas.height; y++) {\n for (let x = 0; x < canvas.width; x++) {\n const px = (x + 0.5) / canvas.width * width - width / 2\n const py = (y + 0.5) / canvas.height * height - height / 2\n const qx = Math.abs(px) - (width / 2 - radius)\n const qy = Math.abs(py) - (height / 2 - radius)\n const dx = Math.max(qx, 0)\n const dy = Math.max(qy, 0)\n const length = Math.hypot(dx, dy)\n const distance = length + Math.min(Math.max(qx, qy), 0) - radius\n const nx = length ? dx / length : Number(qx > qy)\n const ny = length ? dy / length : Number(qy >= qx)\n // One continuous convex lens, strongest at the outer edge and fading\n // with zero slope at the center. The previous sine band returned to\n // neutral at BOTH edges, producing an inner pill at high strengths.\n const t = Math.max(0, Math.min(1, 1 + distance / band))\n const bend = t * t\n const offset = (y * canvas.width + x) * 4\n pixels.data[offset] = Math.round(128 - 120 * Math.sign(px) * nx * bend)\n pixels.data[offset + 1] = Math.round(128 - 120 * Math.sign(py) * ny * bend)\n pixels.data[offset + 2] = 128\n pixels.data[offset + 3] = 255\n }\n }\n context.putImageData(pixels, 0, 0)\n const map = canvas.toDataURL()\n if (maps.size >= 32) maps.delete(maps.keys().next().value!)\n maps.set(key, map)\n return map\n}\n"]}
@@ -0,0 +1,55 @@
1
+ /** OpalUI's material vocabulary. Bend is relative to the lens's shorter side;
2
+ * dispersion is the proportional RGB spread, frost is CSS pixels, rim and edge are 0–1. */
3
+ export type GlassSettings = {
4
+ bend: number;
5
+ dispersion: number;
6
+ frost: number;
7
+ rim: number;
8
+ edge: number;
9
+ };
10
+ export declare const materials: {
11
+ surface: {
12
+ bend: number;
13
+ dispersion: number;
14
+ frost: number;
15
+ rim: number;
16
+ edge: number;
17
+ };
18
+ field: {
19
+ bend: number;
20
+ dispersion: number;
21
+ frost: number;
22
+ rim: number;
23
+ edge: number;
24
+ };
25
+ menu: {
26
+ bend: number;
27
+ dispersion: number;
28
+ frost: number;
29
+ rim: number;
30
+ edge: number;
31
+ };
32
+ thumb: {
33
+ bend: number;
34
+ dispersion: number;
35
+ frost: number;
36
+ rim: number;
37
+ edge: number;
38
+ };
39
+ switch: {
40
+ bend: number;
41
+ dispersion: number;
42
+ frost: number;
43
+ rim: number;
44
+ edge: number;
45
+ };
46
+ selection: {
47
+ bend: number;
48
+ dispersion: number;
49
+ frost: number;
50
+ rim: number;
51
+ edge: number;
52
+ };
53
+ };
54
+ export declare function resolveMaterial(base: GlassSettings, overrides?: Partial<GlassSettings>): GlassSettings;
55
+ export declare const materialDefaults: string;
@@ -0,0 +1,22 @@
1
+ export const materials = {
2
+ surface: { bend: .22, dispersion: .12, frost: 2, rim: .3, edge: .5 },
3
+ field: { bend: 0, dispersion: 0, frost: 12, rim: .22, edge: .5 },
4
+ menu: { bend: 0, dispersion: 0, frost: 24, rim: .3, edge: .5 },
5
+ thumb: { bend: .25, dispersion: .2, frost: .15, rim: .4, edge: .5 },
6
+ switch: { bend: .45, dispersion: .04, frost: .25, rim: .65, edge: .5 },
7
+ selection: { bend: .3, dispersion: .16, frost: 0, rim: .4, edge: .5 },
8
+ };
9
+ export function resolveMaterial(base, overrides = {}) {
10
+ const bounded = (key, max) => {
11
+ const value = overrides[key] ?? base[key];
12
+ return Number.isFinite(value) ? Math.max(0, Math.min(max, value)) : base[key];
13
+ };
14
+ return { bend: bounded('bend', .6), dispersion: bounded('dispersion', 1), frost: bounded('frost', 24), rim: bounded('rim', 1), edge: bounded('edge', 1) };
15
+ }
16
+ // Shared CSS defaults are derived from these same presets, including the
17
+ // surface-only controls that don't need a displacement filter.
18
+ export const materialDefaults = `
19
+ :where(.opal-input,.opal-textarea,.opal-select) { --opal-material-frost:${materials.field.frost}px; --opal-material-rim:${materials.field.rim}; --opal-material-edge:${materials.field.edge}; }
20
+ :where(.opal-menu-panel) { --opal-material-frost:${materials.menu.frost}px; --opal-material-rim:${materials.menu.rim}; --opal-material-edge:${materials.menu.edge}; }
21
+ `;
22
+ //# sourceMappingURL=material.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material.js","sourceRoot":"","sources":["../../../src/internal/glass/material.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACpE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;IAChE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAC9D,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACnE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE;IACtE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;CAC9B,CAAA;AACzC,MAAM,UAAU,eAAe,CAAC,IAAmB,EAAE,YAAoC,EAAE;IACzF,MAAM,OAAO,GAAG,CAAC,GAAwB,EAAE,GAAW,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAA;QACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/E,CAAC,CAAA;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;AAC3J,CAAC;AAED,yEAAyE;AACzE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG;0EAC0C,SAAS,CAAC,KAAK,CAAC,KAAK,2BAA2B,SAAS,CAAC,KAAK,CAAC,GAAG,0BAA0B,SAAS,CAAC,KAAK,CAAC,IAAI;mDACxI,SAAS,CAAC,IAAI,CAAC,KAAK,2BAA2B,SAAS,CAAC,IAAI,CAAC,GAAG,0BAA0B,SAAS,CAAC,IAAI,CAAC,IAAI;CAChK,CAAA","sourcesContent":["/** OpalUI's material vocabulary. Bend is relative to the lens's shorter side;\n * dispersion is the proportional RGB spread, frost is CSS pixels, rim and edge are 0–1. */\nexport type GlassSettings = { bend: number; dispersion: number; frost: number; rim: number; edge: number }\nexport const materials = {\n surface: { bend: .22, dispersion: .12, frost: 2, rim: .3, edge: .5 },\n field: { bend: 0, dispersion: 0, frost: 12, rim: .22, edge: .5 },\n menu: { bend: 0, dispersion: 0, frost: 24, rim: .3, edge: .5 },\n thumb: { bend: .25, dispersion: .2, frost: .15, rim: .4, edge: .5 },\n switch: { bend: .45, dispersion: .04, frost: .25, rim: .65, edge: .5 },\n selection: { bend: .3, dispersion: .16, frost: 0, rim: .4, edge: .5 },\n} satisfies Record<string, GlassSettings>\nexport function resolveMaterial(base: GlassSettings, overrides: Partial<GlassSettings> = {}): GlassSettings {\n const bounded = (key: keyof GlassSettings, max: number) => {\n const value = overrides[key] ?? base[key]\n return Number.isFinite(value) ? Math.max(0, Math.min(max, value)) : base[key]\n }\n return { bend: bounded('bend', .6), dispersion: bounded('dispersion', 1), frost: bounded('frost', 24), rim: bounded('rim', 1), edge: bounded('edge', 1) }\n}\n\n// Shared CSS defaults are derived from these same presets, including the\n// surface-only controls that don't need a displacement filter.\nexport const materialDefaults = `\n:where(.opal-input,.opal-textarea,.opal-select) { --opal-material-frost:${materials.field.frost}px; --opal-material-rim:${materials.field.rim}; --opal-material-edge:${materials.field.edge}; }\n:where(.opal-menu-panel) { --opal-material-frost:${materials.menu.frost}px; --opal-material-rim:${materials.menu.rim}; --opal-material-edge:${materials.menu.edge}; }\n`\n"]}
@@ -0,0 +1,2 @@
1
+ declare const _default: string;
2
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import css from '../glass.css.js';
2
+ import { materialDefaults } from './material.js';
3
+ export default `${css}\n${materialDefaults}`;
4
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/internal/glass/styles.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,qBAAqB,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,eAAe,GAAG,GAAG,KAAK,gBAAgB,EAAE,CAAA","sourcesContent":["import css from '../glass.css?inline'\nimport { materialDefaults } from './material.js'\nexport default `${css}\\n${materialDefaults}`\n"]}
@@ -0,0 +1,5 @@
1
+ /** WebKit can drop HTML content painted through our animated SVG lens graph.
2
+ * CSS.supports only checks syntax, not whether this graph renders correctly.
3
+ * Include iOS browsers, which also use WebKit despite their browser branding.
4
+ */
5
+ export declare function supportsOwnedGlassLens(userAgent: string): boolean;
@@ -0,0 +1,8 @@
1
+ /** WebKit can drop HTML content painted through our animated SVG lens graph.
2
+ * CSS.supports only checks syntax, not whether this graph renders correctly.
3
+ * Include iOS browsers, which also use WebKit despite their browser branding.
4
+ */
5
+ export function supportsOwnedGlassLens(userAgent) {
6
+ return !/AppleWebKit\//.test(userAgent) || /(?:Chrome|Chromium|Edg)\//.test(userAgent);
7
+ }
8
+ //# sourceMappingURL=support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../../src/internal/glass/support.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACxF,CAAC","sourcesContent":["/** WebKit can drop HTML content painted through our animated SVG lens graph.\n * CSS.supports only checks syntax, not whether this graph renders correctly.\n * Include iOS browsers, which also use WebKit despite their browser branding.\n */\nexport function supportsOwnedGlassLens(userAgent: string) {\n return !/AppleWebKit\\//.test(userAgent) || /(?:Chrome|Chromium|Edg)\\//.test(userAgent)\n}\n"]}
@@ -0,0 +1,34 @@
1
+
2
+
3
+ /* Shared material. Public variables can be set once on a theme container. */
4
+ :where(.opal-glass, .opal-button, .opal-input, .opal-menu-panel, .opal-switch, .opal-slider, .opal-segmented, .opal-textarea, .opal-select) {
5
+ --_opal-glass-rim: var(--opal-glass-rim, inset 0 0 0 .5px rgb(255 255 255 / 7%), inset .65px 1px .65px rgb(255 255 255 / var(--opal-material-rim, .28)), inset -.4px -.65px .8px rgb(255 255 255 / calc(var(--opal-material-rim, .28) * .43)));
6
+ --_opal-glass-edge: 0 0 0 .5px rgb(40 35 30 / calc(var(--opal-material-edge, .5) * .16)), -.65px 0 0 rgb(40 35 30 / calc(var(--opal-material-edge, .5) * .48)), .65px 0 0 rgb(40 35 30 / calc(var(--opal-material-edge, .5) * .48));
7
+ --_opal-glass-shadow: var(--opal-glass-shadow, 0 3px 8px rgb(15 34 47 / 12%));
8
+ }
9
+
10
+ /* One light material for resting controls: clear white face, fine contour,
11
+ a bright inner lip and a broad, low-contrast shadow. */
12
+ :where([data-theme="light"]) {
13
+ --opal-control-background: linear-gradient(180deg, rgb(255 255 255 / 40%) 0%, rgb(255 255 255 / 8%) 32%, rgb(255 255 255 / 4%) 65%, rgb(255 255 255 / 28%) 100%), rgb(255 255 255 / 32%);
14
+ --opal-control-active-background: rgb(255 255 255 / 60%);
15
+ --opal-control-rim-opacity: 1;
16
+ --opal-button-background: var(--opal-control-background);
17
+ --opal-button-hover-background: var(--opal-control-active-background);
18
+ --opal-button-color: #171717;
19
+ --opal-input-background: var(--opal-control-background);
20
+ --opal-input-focus-background: var(--opal-control-active-background);
21
+ --opal-input-color: #171717;
22
+ --opal-segmented-background: var(--opal-control-background);
23
+ --opal-glass-shadow: 0 5px 12px -4px rgb(0 0 0 / 4%);
24
+ --opal-glass-highlight:
25
+ inset 0 0 0 1px rgb(255 255 255 / 78%),
26
+ inset 0 1px 0 rgb(255 255 255 / 100%),
27
+ inset 0 -1px 0 rgb(255 255 255 / 90%);
28
+ }
29
+
30
+ /* Resolve the contour on each surface, where its material settings live.
31
+ edge=.5 reproduces the established 8%/24% light contour exactly. */
32
+ :where([data-theme="light"]) :where(.opal-glass, .opal-button, .opal-input, .opal-menu-panel, .opal-switch, .opal-slider, .opal-segmented, .opal-textarea, .opal-select) {
33
+ --_opal-glass-rim: var(--opal-glass-rim, var(--_opal-glass-edge), var(--opal-glass-highlight));
34
+ }
@@ -0,0 +1 @@
1
+ export default "/* Shared material. Public variables can be set once on a theme container. */\n:where(.opal-glass, .opal-button, .opal-input, .opal-menu-panel, .opal-switch, .opal-slider, .opal-segmented, .opal-textarea, .opal-select) {\n --_opal-glass-rim: var(--opal-glass-rim, inset 0 0 0 .5px rgb(255 255 255 / 7%), inset .65px 1px .65px rgb(255 255 255 / var(--opal-material-rim, .28)), inset -.4px -.65px .8px rgb(255 255 255 / calc(var(--opal-material-rim, .28) * .43)));\n --_opal-glass-edge: 0 0 0 .5px rgb(40 35 30 / calc(var(--opal-material-edge, .5) * .16)), -.65px 0 0 rgb(40 35 30 / calc(var(--opal-material-edge, .5) * .48)), .65px 0 0 rgb(40 35 30 / calc(var(--opal-material-edge, .5) * .48));\n --_opal-glass-shadow: var(--opal-glass-shadow, 0 3px 8px rgb(15 34 47 / 12%));\n}\n\n/* One light material for resting controls: clear white face, fine contour,\n a bright inner lip and a broad, low-contrast shadow. */\n:where([data-theme=\"light\"]) {\n --opal-control-background: linear-gradient(180deg, rgb(255 255 255 / 40%) 0%, rgb(255 255 255 / 8%) 32%, rgb(255 255 255 / 4%) 65%, rgb(255 255 255 / 28%) 100%), rgb(255 255 255 / 32%);\n --opal-control-active-background: rgb(255 255 255 / 60%);\n --opal-control-rim-opacity: 1;\n --opal-button-background: var(--opal-control-background);\n --opal-button-hover-background: var(--opal-control-active-background);\n --opal-button-color: #171717;\n --opal-input-background: var(--opal-control-background);\n --opal-input-focus-background: var(--opal-control-active-background);\n --opal-input-color: #171717;\n --opal-segmented-background: var(--opal-control-background);\n --opal-glass-shadow: 0 5px 12px -4px rgb(0 0 0 / 4%);\n --opal-glass-highlight:\n inset 0 0 0 1px rgb(255 255 255 / 78%),\n inset 0 1px 0 rgb(255 255 255 / 100%),\n inset 0 -1px 0 rgb(255 255 255 / 90%);\n}\n\n/* Resolve the contour on each surface, where its material settings live.\n edge=.5 reproduces the established 8%/24% light contour exactly. */\n:where([data-theme=\"light\"]) :where(.opal-glass, .opal-button, .opal-input, .opal-menu-panel, .opal-switch, .opal-slider, .opal-segmented, .opal-textarea, .opal-select) {\n --_opal-glass-rim: var(--opal-glass-rim, var(--_opal-glass-edge), var(--opal-glass-highlight));\n}\n";
@@ -0,0 +1,2 @@
1
+ /** Stable on the server and client; a CSS change creates a new React resource. */
2
+ export declare function stylesheetHref(name: string, css: string): string;
@@ -0,0 +1,9 @@
1
+ /** Stable on the server and client; a CSS change creates a new React resource. */
2
+ export function stylesheetHref(name, css) {
3
+ let hash = 2166136261;
4
+ for (let index = 0; index < css.length; index++) {
5
+ hash = Math.imul(hash ^ css.charCodeAt(index), 16777619);
6
+ }
7
+ return `opalui-${name}-${(hash >>> 0).toString(36)}`;
8
+ }
9
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/internal/styles.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,GAAW;IACtD,IAAI,IAAI,GAAG,UAAU,CAAA;IACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC;IACD,OAAO,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAA;AACtD,CAAC","sourcesContent":["/** Stable on the server and client; a CSS change creates a new React resource. */\nexport function stylesheetHref(name: string, css: string): string {\n let hash = 2166136261\n for (let index = 0; index < css.length; index++) {\n hash = Math.imul(hash ^ css.charCodeAt(index), 16777619)\n }\n return `opalui-${name}-${(hash >>> 0).toString(36)}`\n}\n"]}
@@ -0,0 +1,11 @@
1
+
2
+
3
+ @import './components/button/button.css';
4
+ @import './components/switch/switch.css';
5
+ @import './components/segmented-control/segmented-control.css';
6
+ @import './components/menu/menu.css';
7
+ @import './components/input/input.css';
8
+ @import './components/slider/slider.css';
9
+ @import './components/textarea/textarea.css';
10
+ @import './components/select/select.css';
11
+ @import './components/glass/glass.css';
@@ -0,0 +1 @@
1
+ export default "@import './components/button/button.css';\n@import './components/switch/switch.css';\n@import './components/segmented-control/segmented-control.css';\n@import './components/menu/menu.css';\n@import './components/input/input.css';\n@import './components/slider/slider.css';\n@import './components/textarea/textarea.css';\n@import './components/select/select.css';\n@import './components/glass/glass.css';\n";
package/package.json CHANGED
@@ -1,6 +1,92 @@
1
1
  {
2
2
  "name": "@opalui/react",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.0.2",
4
+ "description": "Simple React components, styled with plain CSS.",
5
+ "type": "module",
6
+ "files": [
7
+ "dist",
8
+ "README.md"
9
+ ],
10
+ "sideEffects": [
11
+ "**/*.css"
12
+ ],
13
+ "main": "./dist/index.js",
14
+ "types": "./dist/index.d.ts",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.js",
19
+ "default": "./dist/index.js"
20
+ },
21
+ "./styles.css": "./dist/styles.css",
22
+ "./button": {
23
+ "types": "./dist/components/button/button.d.ts",
24
+ "import": "./dist/components/button/button.js",
25
+ "default": "./dist/components/button/button.js"
26
+ },
27
+ "./button.css": "./dist/components/button/button.css",
28
+ "./switch": {
29
+ "types": "./dist/components/switch/switch.d.ts",
30
+ "import": "./dist/components/switch/switch.js",
31
+ "default": "./dist/components/switch/switch.js"
32
+ },
33
+ "./switch.css": "./dist/components/switch/switch.css",
34
+ "./segmented-control": {
35
+ "types": "./dist/components/segmented-control/segmented-control.d.ts",
36
+ "import": "./dist/components/segmented-control/segmented-control.js",
37
+ "default": "./dist/components/segmented-control/segmented-control.js"
38
+ },
39
+ "./segmented-control.css": "./dist/components/segmented-control/segmented-control.css",
40
+ "./menu": {
41
+ "types": "./dist/components/menu/menu.d.ts",
42
+ "import": "./dist/components/menu/menu.js",
43
+ "default": "./dist/components/menu/menu.js"
44
+ },
45
+ "./menu.css": "./dist/components/menu/menu.css",
46
+ "./input": {
47
+ "types": "./dist/components/input/input.d.ts",
48
+ "import": "./dist/components/input/input.js",
49
+ "default": "./dist/components/input/input.js"
50
+ },
51
+ "./input.css": "./dist/components/input/input.css",
52
+ "./slider": {
53
+ "types": "./dist/components/slider/slider.d.ts",
54
+ "import": "./dist/components/slider/slider.js",
55
+ "default": "./dist/components/slider/slider.js"
56
+ },
57
+ "./slider.css": "./dist/components/slider/slider.css",
58
+ "./textarea": {
59
+ "types": "./dist/components/textarea/textarea.d.ts",
60
+ "import": "./dist/components/textarea/textarea.js",
61
+ "default": "./dist/components/textarea/textarea.js"
62
+ },
63
+ "./textarea.css": "./dist/components/textarea/textarea.css",
64
+ "./select": {
65
+ "types": "./dist/components/select/select.d.ts",
66
+ "import": "./dist/components/select/select.js",
67
+ "default": "./dist/components/select/select.js"
68
+ },
69
+ "./select.css": "./dist/components/select/select.css",
70
+ "./glass": {
71
+ "types": "./dist/components/glass/glass.d.ts",
72
+ "import": "./dist/components/glass/glass.js",
73
+ "default": "./dist/components/glass/glass.js"
74
+ },
75
+ "./glass.css": "./dist/components/glass/glass.css"
76
+ },
77
+ "scripts": {
78
+ "build": "bun run build.ts",
79
+ "typecheck": "tsc --noEmit -p tsconfig.json",
80
+ "prepack": "bun run build"
81
+ },
82
+ "peerDependencies": {
83
+ "react": "^19.0.0"
84
+ },
85
+ "devDependencies": {
86
+ "@types/react": "^19.0.0",
87
+ "react": "^19.0.0"
88
+ },
89
+ "publishConfig": {
90
+ "access": "public"
91
+ }
92
+ }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.