@boyernick/standard-ui-react 0.4.2-canary.54 → 0.4.2-canary.56
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/package.json +1 -1
- package/src/carousel.tsx +2 -1
- package/src/modal.tsx +3 -1
- package/src/table.tsx +3 -1
- package/src/video-player.tsx +14 -7
package/package.json
CHANGED
package/src/carousel.tsx
CHANGED
|
@@ -80,7 +80,8 @@ export type CarouselDotsProps = ComponentProps<"div">
|
|
|
80
80
|
|
|
81
81
|
const carouselControlClassName = cn(
|
|
82
82
|
"absolute z-20 !size-6 glass text-fg-primary [&_svg:not([class*='size-'])]:!size-3.5",
|
|
83
|
-
|
|
83
|
+
// The ghost button's page-grey hover fill would show through the lens.
|
|
84
|
+
"hover:bg-transparent hover:brightness-105 hover:text-fg-primary",
|
|
84
85
|
"disabled:pointer-events-none disabled:opacity-0",
|
|
85
86
|
motion.colors,
|
|
86
87
|
)
|
package/src/modal.tsx
CHANGED
|
@@ -51,8 +51,10 @@ import {
|
|
|
51
51
|
const TRACKPAD_LABEL =
|
|
52
52
|
"Swipe, use the arrow keys, or use the controls to navigate"
|
|
53
53
|
|
|
54
|
+
// Glass takes a glass hover: the lens brightens. The ghost button's own
|
|
55
|
+
// hover fill is a page grey and is cleared, or it shows through the body.
|
|
54
56
|
const modalControlClassName =
|
|
55
|
-
"glass glass-dark text-fg-scrim hover:text-fg-scrim outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-offset-1 focus-visible:ring-offset-surface-scrim focus-visible:ring-ring/20"
|
|
57
|
+
"glass glass-dark hover:bg-transparent hover:brightness-150 text-fg-scrim hover:text-fg-scrim outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-offset-1 focus-visible:ring-offset-surface-scrim focus-visible:ring-ring/20"
|
|
56
58
|
|
|
57
59
|
export const modalContentVariants = cva(
|
|
58
60
|
"h-dvh max-h-dvh w-screen max-w-none gap-0 overflow-hidden rounded-none border-0 bg-transparent p-0 shadow-none max-sm:max-w-none",
|
package/src/table.tsx
CHANGED
|
@@ -72,7 +72,9 @@ export const Table = ({
|
|
|
72
72
|
}: TableProps) => (
|
|
73
73
|
<div
|
|
74
74
|
className={cn(
|
|
75
|
-
|
|
75
|
+
// rounded-2xl, the image frame's radius, so a table and an image on the
|
|
76
|
+
// same page share one corner.
|
|
77
|
+
"w-full overflow-auto rounded-2xl border border-border-primary bg-surface",
|
|
76
78
|
containerClassName,
|
|
77
79
|
)}
|
|
78
80
|
>
|
package/src/video-player.tsx
CHANGED
|
@@ -43,10 +43,13 @@ const formatTime = (seconds: number) => {
|
|
|
43
43
|
* could lean on the bar for presence and sat at 28.
|
|
44
44
|
*
|
|
45
45
|
* No hover background: the material *is* the background, and a translucent
|
|
46
|
-
* white wash over it fights the fill and the rim.
|
|
47
|
-
*
|
|
46
|
+
* white wash over it fights the fill and the rim. The lens brightens instead,
|
|
47
|
+
* by the same step as the image modal's glass controls.
|
|
48
|
+
*
|
|
49
|
+
* No drop shadow on any glass here: the material draws its shape with the
|
|
50
|
+
* rim, and `shadow-lg` would add its own hairline ring over it. */
|
|
48
51
|
const overlayControl =
|
|
49
|
-
"glass glass-dark [--glass-alpha:52%] inline-flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-full text-white/85 outline-none transition-[filter,color,transform] duration-[var(--duration-sm)] ease-enter hover:text-white hover:brightness-
|
|
52
|
+
"glass glass-dark [--glass-alpha:52%] inline-flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-full text-white/85 outline-none transition-[filter,color,transform] duration-[var(--duration-sm)] ease-enter hover:text-white hover:brightness-150 active:scale-95 focus-visible:text-white focus-visible:ring-2 focus-visible:ring-white/50 motion-reduce:transition-none motion-reduce:active:scale-100"
|
|
50
53
|
|
|
51
54
|
/** The scrubber and its two timecodes travel together as one object. */
|
|
52
55
|
const overlayTrack =
|
|
@@ -289,7 +292,11 @@ export const VideoPlayer = ({
|
|
|
289
292
|
// `group` drives the chrome: it hides while playing and comes back on
|
|
290
293
|
// hover or when anything inside takes focus.
|
|
291
294
|
className={cn(
|
|
292
|
-
|
|
295
|
+
// One edge: the 5% ring, with --shadow-300 alone for depth. shadow-lg
|
|
296
|
+
// carries its own hairline ring and doubled the frame. Black only in
|
|
297
|
+
// fullscreen, where letterboxing needs it: behind the rounded clip it
|
|
298
|
+
// bled through the video's anti-aliased corners as a dark stroke.
|
|
299
|
+
"group relative isolate overflow-hidden rounded-xl shadow-[var(--shadow-300)] ring-1 ring-border-primary data-[fullscreen]:h-screen data-[fullscreen]:w-screen data-[fullscreen]:rounded-none data-[fullscreen]:bg-black data-[fullscreen]:ring-0 fullscreen:h-screen fullscreen:w-screen fullscreen:rounded-none fullscreen:bg-black fullscreen:ring-0",
|
|
293
300
|
className,
|
|
294
301
|
)}
|
|
295
302
|
aria-busy={loading || buffering || undefined}
|
|
@@ -311,7 +318,7 @@ export const VideoPlayer = ({
|
|
|
311
318
|
{failed ? (
|
|
312
319
|
<div
|
|
313
320
|
role="alert"
|
|
314
|
-
className="mx-6 flex max-w-sm flex-col items-center gap-2 rounded-xl glass glass-dark px-5 py-4 text-center text-white
|
|
321
|
+
className="mx-6 flex max-w-sm flex-col items-center gap-2 rounded-xl glass glass-dark px-5 py-4 text-center text-white"
|
|
315
322
|
>
|
|
316
323
|
<IconExclamationTriangle
|
|
317
324
|
size={22}
|
|
@@ -327,7 +334,7 @@ export const VideoPlayer = ({
|
|
|
327
334
|
) : loading || buffering ? (
|
|
328
335
|
<div
|
|
329
336
|
role="status"
|
|
330
|
-
className="flex size-14 items-center justify-center rounded-full glass glass-dark text-white
|
|
337
|
+
className="flex size-14 items-center justify-center rounded-full glass glass-dark text-white"
|
|
331
338
|
>
|
|
332
339
|
<span className="size-6 animate-spin rounded-full border-2 border-white/30 border-t-white motion-reduce:animate-none" />
|
|
333
340
|
<span className="sr-only">
|
|
@@ -337,7 +344,7 @@ export const VideoPlayer = ({
|
|
|
337
344
|
) : !playing ? (
|
|
338
345
|
<div
|
|
339
346
|
className={cn(
|
|
340
|
-
"flex items-center justify-center rounded-full glass glass-dark text-white
|
|
347
|
+
"flex items-center justify-center rounded-full glass glass-dark text-white",
|
|
341
348
|
ended ? "h-8 gap-1 px-2.5" : "size-11",
|
|
342
349
|
)}
|
|
343
350
|
>
|