@cloudgrid-io/ui 0.34.0 → 0.35.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/dist/blocks/invite-popup.d.ts +156 -0
- package/dist/blocks/invite-popup.d.ts.map +1 -0
- package/dist/blocks/invite-popup.js +99 -0
- package/dist/blocks/invite-popup.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
|
|
3
|
+
/**
|
|
4
|
+
* The invite popup and its pill (#349).
|
|
5
|
+
*
|
|
6
|
+
* A signed-in person passes CloudGrid on: a card at the bottom right with one
|
|
7
|
+
* line and the link, Copy inside the field's right edge. Closed, it collapses to
|
|
8
|
+
* a small "Invite people" pill that opens it again. On a phone it is a bottom
|
|
9
|
+
* sheet with a grabber. Figma `5ouhISIL0mwYGHurvCGoEO`, section 11019:8561,
|
|
10
|
+
* approved by the founder 2026-10-20 with the email part removed.
|
|
11
|
+
*
|
|
12
|
+
* The library owns the look and the behaviour that comes with it (focus,
|
|
13
|
+
* Escape, the copy cycle). WHEN it shows, and the link itself, are the Console's
|
|
14
|
+
* and the platform's: nothing here decides that a person is new, remembers that
|
|
15
|
+
* they closed it, or builds a URL.
|
|
16
|
+
*
|
|
17
|
+
* ## A dialog that does not block the page
|
|
18
|
+
*
|
|
19
|
+
* The frames' notes say the rest of the Console stays usable while it is open,
|
|
20
|
+
* so this is Base UI's `Dialog` with `modal={false}`: no scrim, no focus trap,
|
|
21
|
+
* nothing outside marked `aria-hidden`. `disablePointerDismissal` keeps it open
|
|
22
|
+
* when someone clicks the page behind it or tabs out of it; it closes on the x
|
|
23
|
+
* and on Escape, which is what "closing collapses it to the pill" means. Base UI
|
|
24
|
+
* still gives it `role="dialog"`, `aria-labelledby` from the title and
|
|
25
|
+
* `aria-describedby` from the line.
|
|
26
|
+
*
|
|
27
|
+
* ## The pill is the dialog's trigger
|
|
28
|
+
*
|
|
29
|
+
* With `pill` on (the default) the component renders `InvitePill` itself, as
|
|
30
|
+
* the `Dialog.Trigger`, whenever the card is closed. That is what returns focus
|
|
31
|
+
* to the pill after Escape or the x without the caller passing refs around. Two
|
|
32
|
+
* things hold it, and the e2e negative controls showed either one alone is
|
|
33
|
+
* enough: the pill is hidden rather than unmounted while the card is open, and
|
|
34
|
+
* `finalFocus` names it, which also covers a card that opened on its own (first
|
|
35
|
+
* sign-in) rather than from the pill. `InvitePill` is exported on its own as
|
|
36
|
+
* well, for a consumer that puts it somewhere else.
|
|
37
|
+
*
|
|
38
|
+
* Opening moves focus to the dialog itself, not to Copy (founder, 2026-10-21:
|
|
39
|
+
* no ring on Copy when the card appears). Base UI's popup is already
|
|
40
|
+
* `tabindex="-1"` and labelled by the title, so a screen reader announces "Know
|
|
41
|
+
* someone who'd use CloudGrid?, dialog" and the next Tab reaches the x, then
|
|
42
|
+
* Copy, where `:focus-visible` draws the ring for a keyboard user only. The
|
|
43
|
+
* popup's own outline is off: it is a container, and the card's edge already
|
|
44
|
+
* shows where focus is. `initialFocus={false}` leaves focus where it was, which
|
|
45
|
+
* the gallery needs: six open specimens on one page would otherwise each take
|
|
46
|
+
* focus and scroll the page to the last.
|
|
47
|
+
*
|
|
48
|
+
* ## Card or sheet
|
|
49
|
+
*
|
|
50
|
+
* `layout="auto"` is a card from 640px up and a bottom sheet below, by media
|
|
51
|
+
* query, so a caller does nothing. `card` and `sheet` pin one; the gallery uses
|
|
52
|
+
* `sheet` to show the phone in a 390px frame on a wide page.
|
|
53
|
+
*
|
|
54
|
+
* Both are `position: fixed`, 24px in from the corner, matching the frames
|
|
55
|
+
* (1440 wide: the card's right edge at 1416, its bottom at 876 of 900). A
|
|
56
|
+
* `container` keeps the portal inside a `data-cg-surface` scope, as `Drawer`'s
|
|
57
|
+
* does; give that container a `transform` and the fixed popup anchors to it,
|
|
58
|
+
* which is how the gallery frames hold one each.
|
|
59
|
+
*
|
|
60
|
+
* ## Copy, and Copied, at one width
|
|
61
|
+
*
|
|
62
|
+
* Both labels sit in one grid cell and the one not showing is `invisible`, so
|
|
63
|
+
* the button is always as wide as the longer of the two. The frame draws it at
|
|
64
|
+
* 108px fixed; that number is kept as the floor, and the grid stops a longer
|
|
65
|
+
* translated label from overflowing it. `CommandField`'s accessible name rule
|
|
66
|
+
* applies: the name stays "Copy the invite link" while the visible label flips,
|
|
67
|
+
* and the result is announced from a polite live region outside the button.
|
|
68
|
+
* A refused write (an insecure origin, a frame without permission) says
|
|
69
|
+
* "Blocked" rather than appearing to do nothing.
|
|
70
|
+
*
|
|
71
|
+
* The link is one line with an ellipsis, as drawn. `CommandField` wraps instead
|
|
72
|
+
* (#275); here the frame decided otherwise and the full value is still in the
|
|
73
|
+
* field's `title` and, whole, on the clipboard. The field shows it without its
|
|
74
|
+
* `https://`, as the frame does (`my.cloudgrid.io/?door=invite…`): the scheme
|
|
75
|
+
* spends a sixth of a 40-character field on nothing a reader checks. The
|
|
76
|
+
* clipboard always gets `link` exactly as passed.
|
|
77
|
+
*
|
|
78
|
+
* ## Touch targets
|
|
79
|
+
*
|
|
80
|
+
* The x is drawn at 28px and Copy at 40px. Each carries an invisible `::before`
|
|
81
|
+
* that takes its hit area to 44px (8px round the x; 2px above and below Copy,
|
|
82
|
+
* inside the field's 6px padding), so the drawing is unchanged and a thumb still
|
|
83
|
+
* gets 44. The pill is 44 tall already.
|
|
84
|
+
*
|
|
85
|
+
* ## Ground
|
|
86
|
+
*
|
|
87
|
+
* Opaque on all three grounds, the `Drawer` rule (#230): `bg-popover` is
|
|
88
|
+
* transparent inside a panel scope, and a see-through popup paints its words and
|
|
89
|
+
* the page's in the same pixels. The field is `--cg-surface-raised` on white,
|
|
90
|
+
* as drawn, and `--cg-hover` inside a panel or ink scope, because raised is
|
|
91
|
+
* declared at `:root` only and would be a pale slab with white text on it.
|
|
92
|
+
*/
|
|
93
|
+
type InviteLayout = "auto" | "card" | "sheet";
|
|
94
|
+
type InviteCopyState = "idle" | "copied" | "blocked";
|
|
95
|
+
declare const INVITE_DEFAULTS: {
|
|
96
|
+
readonly title: "Know someone who'd use CloudGrid?";
|
|
97
|
+
readonly description: "Send them this link to start their own grid.";
|
|
98
|
+
readonly copyLabel: "Copy";
|
|
99
|
+
readonly copiedLabel: "Copied";
|
|
100
|
+
readonly blockedLabel: "Blocked";
|
|
101
|
+
readonly copyAriaLabel: "Copy the invite link";
|
|
102
|
+
readonly closeLabel: "Close";
|
|
103
|
+
readonly pillLabel: "Invite people";
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* The collapsed invite: a 44px pill with the UserPlus mark and "Invite people".
|
|
107
|
+
*
|
|
108
|
+
* A plain button. Inside `InvitePopup` it is the dialog's trigger; on its own it
|
|
109
|
+
* takes `onClick` like any button. Its `fixed` corner placement is `InvitePopup`'s
|
|
110
|
+
* business (`placed`), not the pill's, so a consumer can put one in a toolbar.
|
|
111
|
+
*/
|
|
112
|
+
declare function InvitePill({ label, placed, className, type, ...props }: Omit<React.ComponentProps<"button">, "children"> & {
|
|
113
|
+
/** The pill's words. */
|
|
114
|
+
label?: string;
|
|
115
|
+
/** Pin it to the bottom-right corner, where the card opens. */
|
|
116
|
+
placed?: boolean;
|
|
117
|
+
}): React.JSX.Element;
|
|
118
|
+
type InvitePopupProps = {
|
|
119
|
+
/** The invite link. Shown in the field and written to the clipboard verbatim. */
|
|
120
|
+
link: string;
|
|
121
|
+
/** Whether the card is open. Controlled: the Console decides when it shows. */
|
|
122
|
+
open: boolean;
|
|
123
|
+
/** Called with `false` on the x or Escape, and with `true` from the pill. */
|
|
124
|
+
onOpenChange: (open: boolean) => void;
|
|
125
|
+
/** Called after the link reached the clipboard. Not called when the browser refused. */
|
|
126
|
+
onCopy?: (link: string) => void;
|
|
127
|
+
/** Render the pill while the card is closed, as its trigger. On by default. */
|
|
128
|
+
pill?: boolean;
|
|
129
|
+
/** `auto`: a card from 640px, a bottom sheet below. `card` and `sheet` pin one. */
|
|
130
|
+
layout?: InviteLayout;
|
|
131
|
+
/**
|
|
132
|
+
* Pin the copy control's label. Leave it out and the component runs its own
|
|
133
|
+
* Copy, Copied, Copy cycle; previews pass `copied` to show the second state.
|
|
134
|
+
*/
|
|
135
|
+
copyState?: InviteCopyState;
|
|
136
|
+
/** Move focus into the card (the dialog itself) when it opens. On by default. */
|
|
137
|
+
initialFocus?: boolean;
|
|
138
|
+
/** Where the card portals to. Keeps it inside a `data-cg-surface` scope. */
|
|
139
|
+
container?: DialogPrimitive.Portal.Props["container"];
|
|
140
|
+
title?: string;
|
|
141
|
+
description?: string;
|
|
142
|
+
copyLabel?: string;
|
|
143
|
+
copiedLabel?: string;
|
|
144
|
+
/** The label when the browser refuses the clipboard write. */
|
|
145
|
+
blockedLabel?: string;
|
|
146
|
+
/** Copy's accessible name, which stays put while the visible label flips. */
|
|
147
|
+
copyAriaLabel?: string;
|
|
148
|
+
/** The x's accessible name. */
|
|
149
|
+
closeLabel?: string;
|
|
150
|
+
pillLabel?: string;
|
|
151
|
+
className?: string;
|
|
152
|
+
};
|
|
153
|
+
declare function InvitePopup({ link, open, onOpenChange, onCopy, pill, layout, copyState, initialFocus, container, title, description, copyLabel, copiedLabel, blockedLabel, copyAriaLabel, closeLabel, pillLabel, className, }: InvitePopupProps): React.JSX.Element;
|
|
154
|
+
export { InvitePill, InvitePopup, INVITE_DEFAULTS };
|
|
155
|
+
export type { InviteCopyState, InviteLayout, InvitePopupProps };
|
|
156
|
+
//# sourceMappingURL=invite-popup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invite-popup.d.ts","sourceRoot":"","sources":["../../src/blocks/invite-popup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAMjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AAEH,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAC7C,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEpD,QAAA,MAAM,eAAe;;;;;;;;;CASX,CAAA;AAoCV;;;;;;GAMG;AACH,iBAAS,UAAU,CAAC,EAClB,KAAiC,EACjC,MAAc,EACd,SAAS,EACT,IAAe,EACf,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,GAAG;IACpD,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,qBAoBA;AAED,KAAK,gBAAgB,GAAG;IACtB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAA;IACZ,+EAA+E;IAC/E,IAAI,EAAE,OAAO,CAAA;IACb,6EAA6E;IAC7E,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,wFAAwF;IACxF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,mFAAmF;IACnF,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,iFAAiF;IACjF,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACrD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,iBAAS,WAAW,CAAC,EACnB,IAAI,EACJ,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,IAAW,EACX,MAAe,EACf,SAAS,EACT,YAAmB,EACnB,SAAS,EACT,KAA6B,EAC7B,WAAyC,EACzC,SAAqC,EACrC,WAAyC,EACzC,YAA2C,EAC3C,aAA6C,EAC7C,UAAuC,EACvC,SAAqC,EACrC,SAAS,GACV,EAAE,gBAAgB,qBA+JlB;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,CAAA;AACnD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
|
|
5
|
+
import { Button } from "../ui/button.js";
|
|
6
|
+
import { CheckIcon, CloseIcon, CopyIcon, InvitePersonIcon } from "./icons.js";
|
|
7
|
+
import { cn } from "../lib/cloudgrid-cn.js";
|
|
8
|
+
const INVITE_DEFAULTS = {
|
|
9
|
+
title: "Know someone who'd use CloudGrid?",
|
|
10
|
+
description: "Send them this link to start their own grid.",
|
|
11
|
+
copyLabel: "Copy",
|
|
12
|
+
copiedLabel: "Copied",
|
|
13
|
+
blockedLabel: "Blocked",
|
|
14
|
+
copyAriaLabel: "Copy the invite link",
|
|
15
|
+
closeLabel: "Close",
|
|
16
|
+
pillLabel: "Invite people",
|
|
17
|
+
};
|
|
18
|
+
/** How long Copied shows before the label returns to Copy. `CommandField`'s. */
|
|
19
|
+
const COPIED_MS = 1600;
|
|
20
|
+
// The focus ring the library's hand-built controls use (AgentPrompt, the
|
|
21
|
+
// gallery's own copy control), so the x and the pill ring like everything else.
|
|
22
|
+
const FOCUS_RING = "outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring";
|
|
23
|
+
// The card. 384 wide, 16px corners, padding 18 / 20 / 20, the badge owner
|
|
24
|
+
// panel's two shadows. `max-w` keeps it on screen in a window narrower than
|
|
25
|
+
// 432px with `layout="card"` pinned.
|
|
26
|
+
const CARD = "right-6 bottom-6 w-96 max-w-[calc(100vw-3rem)] rounded-xl border px-5 pt-4.5 pb-5";
|
|
27
|
+
// The sheet. Full width, 20px top corners (`--cg-radius-container`), no bottom
|
|
28
|
+
// border, padding 8 / 16 / 34; the 34 is the frame's, room for a phone's home
|
|
29
|
+
// indicator, and the safe area wins where it is larger.
|
|
30
|
+
const SHEET = "inset-x-0 bottom-0 w-full max-w-none rounded-t-container rounded-b-none border-x border-t border-b-0 px-4 pt-2 pb-[max(2.125rem,env(safe-area-inset-bottom))]";
|
|
31
|
+
const SHEET_BELOW_SM = "max-sm:inset-x-0 max-sm:bottom-0 max-sm:w-full max-sm:max-w-none max-sm:rounded-t-container max-sm:rounded-b-none max-sm:border-x max-sm:border-t max-sm:border-b-0 max-sm:px-4 max-sm:pt-2 max-sm:pb-[max(2.125rem,env(safe-area-inset-bottom))]";
|
|
32
|
+
const LAYOUT_CLASS = {
|
|
33
|
+
auto: cn(CARD, SHEET_BELOW_SM),
|
|
34
|
+
card: CARD,
|
|
35
|
+
sheet: SHEET,
|
|
36
|
+
};
|
|
37
|
+
const GRABBER_ROW_CLASS = {
|
|
38
|
+
auto: "hidden max-sm:flex",
|
|
39
|
+
card: "hidden",
|
|
40
|
+
sheet: "flex",
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* The collapsed invite: a 44px pill with the UserPlus mark and "Invite people".
|
|
44
|
+
*
|
|
45
|
+
* A plain button. Inside `InvitePopup` it is the dialog's trigger; on its own it
|
|
46
|
+
* takes `onClick` like any button. Its `fixed` corner placement is `InvitePopup`'s
|
|
47
|
+
* business (`placed`), not the pill's, so a consumer can put one in a toolbar.
|
|
48
|
+
*/
|
|
49
|
+
function InvitePill({ label = INVITE_DEFAULTS.pillLabel, placed = false, className, type = "button", ...props }) {
|
|
50
|
+
return (_jsxs("button", { "data-slot": "invite-pill", type: type, className: cn("inline-flex h-11 shrink-0 items-center gap-2 rounded-pill border border-hairline pr-4.5 pl-3.5", "bg-popover text-ink in-data-[cg-surface=panel]:bg-panel in-data-[cg-surface=ink]:bg-code", "font-ui text-body-sm leading-none font-bold whitespace-nowrap shadow-(--cg-shadow-card-hover)", "cursor-pointer transition-[background-color,box-shadow] duration-(--cg-duration) ease-out hover:shadow-(--cg-shadow-hover) hover:bg-raised in-data-[cg-surface=panel]:hover:bg-(--cg-hover) in-data-[cg-surface=ink]:hover:bg-(--cg-hover)", FOCUS_RING, placed && "fixed right-6 bottom-6 z-50", className), ...props, children: [_jsx(InvitePersonIcon, { className: "size-4.5 text-(--cg-text-accent)" }), label] }));
|
|
51
|
+
}
|
|
52
|
+
function InvitePopup({ link, open, onOpenChange, onCopy, pill = true, layout = "auto", copyState, initialFocus = true, container, title = INVITE_DEFAULTS.title, description = INVITE_DEFAULTS.description, copyLabel = INVITE_DEFAULTS.copyLabel, copiedLabel = INVITE_DEFAULTS.copiedLabel, blockedLabel = INVITE_DEFAULTS.blockedLabel, copyAriaLabel = INVITE_DEFAULTS.copyAriaLabel, closeLabel = INVITE_DEFAULTS.closeLabel, pillLabel = INVITE_DEFAULTS.pillLabel, className, }) {
|
|
53
|
+
const [ownState, setOwnState] = React.useState("idle");
|
|
54
|
+
const state = copyState ?? ownState;
|
|
55
|
+
const timer = React.useRef(undefined);
|
|
56
|
+
const popupRef = React.useRef(null);
|
|
57
|
+
const pillRef = React.useRef(null);
|
|
58
|
+
React.useEffect(() => () => clearTimeout(timer.current), []);
|
|
59
|
+
async function copy() {
|
|
60
|
+
let next;
|
|
61
|
+
try {
|
|
62
|
+
await navigator.clipboard.writeText(link);
|
|
63
|
+
next = "copied";
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
next = "blocked";
|
|
67
|
+
}
|
|
68
|
+
setOwnState(next);
|
|
69
|
+
if (next === "copied")
|
|
70
|
+
onCopy?.(link);
|
|
71
|
+
clearTimeout(timer.current);
|
|
72
|
+
timer.current = setTimeout(() => setOwnState("idle"), COPIED_MS);
|
|
73
|
+
}
|
|
74
|
+
const labels = {
|
|
75
|
+
idle: copyLabel,
|
|
76
|
+
copied: copiedLabel,
|
|
77
|
+
blocked: blockedLabel,
|
|
78
|
+
};
|
|
79
|
+
return (_jsxs(DialogPrimitive.Root, { open: open, onOpenChange: (next) => onOpenChange(next), modal: false, disablePointerDismissal: true, children: [pill ? (_jsx(DialogPrimitive.Trigger, { ref: pillRef,
|
|
80
|
+
// Hidden, not unmounted, while the card is open: the pill is where
|
|
81
|
+
// focus returns, so it has to be the same element when it comes back.
|
|
82
|
+
render: _jsx(InvitePill, { label: pillLabel, placed: true, className: open ? "hidden" : undefined }) })) : null, _jsx(DialogPrimitive.Portal, { container: container, children: _jsxs(DialogPrimitive.Popup, { ref: popupRef, "data-slot": "invite-popup", "data-layout": layout, initialFocus: initialFocus ? popupRef : false, finalFocus: pill ? pillRef : undefined, className: cn("fixed z-50 flex flex-col gap-3.5 border-hairline text-ink outline-none", "bg-popover in-data-[cg-surface=panel]:bg-panel in-data-[cg-surface=ink]:bg-code", "shadow-[var(--cg-shadow-panel),var(--cg-shadow-hover)]", "duration-150 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", LAYOUT_CLASS[layout], className), children: [_jsx("div", { "data-slot": "invite-popup-grabber", "aria-hidden": "true", className: cn("justify-center", GRABBER_ROW_CLASS[layout]), children: _jsx("span", { className: "block h-1 w-9 rounded-pill bg-control" }) }), _jsxs("div", { className: "flex items-center gap-2.5", children: [_jsx(DialogPrimitive.Title, { "data-slot": "invite-popup-title", className: "m-0 min-w-0 flex-1 font-ui text-body-18 leading-heading font-bold text-ink", children: title }), _jsx(DialogPrimitive.Close, { "data-slot": "invite-popup-close", "aria-label": closeLabel, className: cn("relative grid size-7 shrink-0 cursor-pointer place-items-center rounded-pill text-body", "transition-colors duration-(--cg-duration) ease-out hover:bg-(--cg-hover) hover:text-ink",
|
|
83
|
+
// The 44px hit area round a 28px drawing.
|
|
84
|
+
"before:absolute before:-inset-2 before:content-['']", FOCUS_RING), children: _jsx(CloseIcon, { className: "size-4" }) })] }), _jsx(DialogPrimitive.Description, { "data-slot": "invite-popup-description", className: "m-0 font-body text-[length:var(--cg-body-14)] leading-body text-body", children: description }), _jsxs("div", { "data-slot": "invite-popup-field", className: cn("flex items-center gap-2 rounded-md border border-hairline py-1.5 pr-1.5 pl-3.5", "bg-raised in-data-[cg-surface=panel]:bg-(--cg-hover) in-data-[cg-surface=ink]:bg-(--cg-hover)"), children: [_jsx("code", { "data-slot": "invite-popup-link", title: link, className: "min-w-0 flex-1 truncate font-mono text-caption text-ink", children: link.replace(/^https?:\/\//, "") }), _jsxs(Button, { type: "button", variant: "cta", onClick: copy, "data-slot": "invite-popup-copy", "data-state": state, "aria-label": copyAriaLabel, className: cn(
|
|
85
|
+
// EmptyCreations' Add, the frame's same button: 40px, 16px corners,
|
|
86
|
+
// Manrope 600 at 15px. 12 / 14 padding round a 20px mark.
|
|
87
|
+
"relative h-10 min-w-27 gap-1.5 rounded-xl pr-3.5 pl-3 font-ui text-body-sm font-bold",
|
|
88
|
+
// The 44px hit area: 2px above and below, inside the field's padding.
|
|
89
|
+
// 3px from the pseudo's origin, because an absolute box is placed
|
|
90
|
+
// against the PADDING box and Button carries a 1px transparent
|
|
91
|
+
// border: 38 + 3 + 3 = 44, where -0.5 measured 42 (e2e).
|
|
92
|
+
"before:absolute before:inset-x-0 before:-inset-y-0.75 before:content-['']"), children: [state === "copied" ? _jsx(CheckIcon, { className: "size-5" }) : _jsx(CopyIcon, { className: "size-5" }), _jsx("span", { className: "grid", children: ["idle", "copied", "blocked"].map((s) => (_jsx("span", { "data-label": s, "aria-hidden": s === state ? undefined : true, className: cn("[grid-area:1/1]", s === state ? "visible" : "invisible"), children: labels[s] }, s))) })] })] }), _jsx("span", { "data-slot": "invite-popup-status", "aria-live": "polite", className: "sr-only", children: state === "copied"
|
|
93
|
+
? copiedLabel
|
|
94
|
+
: state === "blocked"
|
|
95
|
+
? "The browser blocked the copy"
|
|
96
|
+
: "" })] }) })] }));
|
|
97
|
+
}
|
|
98
|
+
export { InvitePill, InvitePopup, INVITE_DEFAULTS };
|
|
99
|
+
//# sourceMappingURL=invite-popup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invite-popup.js","sourceRoot":"","sources":["../../src/blocks/invite-popup.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -53,6 +53,7 @@ export * from "./blocks/full-screen-button.js";
|
|
|
53
53
|
export * from "./blocks/hub-index.js";
|
|
54
54
|
export * from "./blocks/install-content.js";
|
|
55
55
|
export * from "./blocks/icons.js";
|
|
56
|
+
export * from "./blocks/invite-popup.js";
|
|
56
57
|
export * from "./blocks/logo.js";
|
|
57
58
|
export * from "./blocks/meter.js";
|
|
58
59
|
export * from "./blocks/notice.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAG/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,mCAAmC,CAAA;AACjD,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AAGjC,cAAc,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAG/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,mCAAmC,CAAA;AACjD,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,2BAA2B,CAAA;AACzC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AAGjC,cAAc,uBAAuB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -70,6 +70,7 @@ export * from "./blocks/full-screen-button.js";
|
|
|
70
70
|
export * from "./blocks/hub-index.js";
|
|
71
71
|
export * from "./blocks/install-content.js";
|
|
72
72
|
export * from "./blocks/icons.js";
|
|
73
|
+
export * from "./blocks/invite-popup.js";
|
|
73
74
|
export * from "./blocks/logo.js";
|
|
74
75
|
export * from "./blocks/meter.js";
|
|
75
76
|
export * from "./blocks/notice.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED