@epicbagel/saas-kit 1.31.0 → 1.32.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.
@@ -0,0 +1,396 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+
3
+ // src/primitives/poster.tsx
4
+
5
+
6
+
7
+
8
+
9
+
10
+ var _react = require('react');
11
+ var _jsxruntime = require('react/jsx-runtime');
12
+ var PosterShell = _react.forwardRef.call(void 0, function PosterShell2({ colours, font, colorScheme, className, style, ...props }, ref) {
13
+ const variables = {
14
+ ..._optionalChain([colours, 'optionalAccess', _ => _.paper]) ? { "--poster-paper": colours.paper } : {},
15
+ ..._optionalChain([colours, 'optionalAccess', _2 => _2.ink]) ? { "--poster-ink": colours.ink } : {},
16
+ ..._optionalChain([colours, 'optionalAccess', _3 => _3.primary]) ? { "--poster-primary": colours.primary } : {},
17
+ ..._optionalChain([colours, 'optionalAccess', _4 => _4.onPrimary]) ? { "--poster-on-primary": colours.onPrimary } : {},
18
+ ..._optionalChain([colours, 'optionalAccess', _5 => _5.mute]) ? { "--poster-mute": colours.mute } : {},
19
+ ..._optionalChain([colours, 'optionalAccess', _6 => _6.wash]) ? { "--poster-wash": colours.wash } : {},
20
+ ...font ? { "--poster-font": font } : {},
21
+ ...colorScheme ? { colorScheme } : {}
22
+ };
23
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "data-slot": "poster-shell", className, style: { ...variables, ...style }, ...props });
24
+ });
25
+ var PosterMain = _react.forwardRef.call(void 0, function PosterMain2(props, ref) {
26
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "main", { ref, "data-slot": "poster-main", ...props });
27
+ });
28
+ var PosterHeader = _react.forwardRef.call(void 0, function PosterHeader2({ brand, nav, action, className, ...props }, ref) {
29
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "header", { ref, "data-slot": "poster-header", className, ...props, children: [
30
+ brand,
31
+ nav,
32
+ action
33
+ ] });
34
+ });
35
+ function PosterNav({ label, menuLabel = "Menu", children }) {
36
+ const menu = _react.useRef.call(void 0, null);
37
+ const panelId = _react.useId.call(void 0, );
38
+ _react.useEffect.call(void 0, () => {
39
+ const details = menu.current;
40
+ if (!details) return;
41
+ const close = (focusSummary) => {
42
+ if (!details.open) return;
43
+ details.open = false;
44
+ if (focusSummary) _optionalChain([details, 'access', _7 => _7.querySelector, 'call', _8 => _8("summary"), 'optionalAccess', _9 => _9.focus, 'call', _10 => _10()]);
45
+ };
46
+ const onKey = (event) => {
47
+ if (event.key === "Escape") close(details.contains(document.activeElement));
48
+ };
49
+ const onPointer = (event) => {
50
+ if (!details.contains(event.target)) close(false);
51
+ };
52
+ document.addEventListener("keydown", onKey);
53
+ document.addEventListener("pointerdown", onPointer);
54
+ return () => {
55
+ document.removeEventListener("keydown", onKey);
56
+ document.removeEventListener("pointerdown", onPointer);
57
+ };
58
+ }, []);
59
+ const onPick = (event) => {
60
+ if (event.target.closest("a") && menu.current) menu.current.open = false;
61
+ };
62
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { "data-slot": "poster-nav", "aria-label": label, children: [
63
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { "data-slot": "poster-nav-list", children }),
64
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "details", { ref: menu, "data-slot": "poster-nav-menu", children: [
65
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "summary", { "data-slot": "poster-nav-toggle", "aria-controls": panelId, children: menuLabel }),
66
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { id: panelId, "data-slot": "poster-nav-panel", onClick: onPick, children })
67
+ ] })
68
+ ] });
69
+ }
70
+ var PosterNavLink = _react.forwardRef.call(void 0, function PosterNavLink2({ current = false, ...props }, ref) {
71
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { "data-slot": "poster-nav-item", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ref, "data-slot": "poster-nav-link", "aria-current": current ? "page" : void 0, ...props }) });
72
+ });
73
+ var PosterMark = _react.forwardRef.call(void 0, function PosterMark2(props, ref) {
74
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ref, "data-slot": "poster-mark", ...props });
75
+ });
76
+ var PosterHeaderAction = _react.forwardRef.call(void 0, function PosterHeaderAction2(props, ref) {
77
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ref, "data-slot": "poster-header-action", ...props });
78
+ });
79
+ var PosterHero = _react.forwardRef.call(void 0, function PosterHero2({ title, description, eyebrow, variant = "home", actions, ...props }, ref) {
80
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { ref, "data-slot": "poster-hero", "data-variant": variant, ...props, children: [
81
+ eyebrow ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-eyebrow", children: eyebrow }) : null,
82
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h1", { "data-slot": "poster-hero-title", children: title }),
83
+ description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-hero-description", children: description }) : null,
84
+ actions ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-hero-actions", children: actions }) : null
85
+ ] });
86
+ });
87
+ var PosterAction = _react.forwardRef.call(void 0, function PosterAction2({ variant = "solid", ...props }, ref) {
88
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ref, "data-slot": "poster-action", "data-variant": variant, ...props });
89
+ });
90
+ function PosterSwitch({ label, options, value, onValueChange, className }) {
91
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-switch", role: "group", "aria-label": label, className, children: options.map((option) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
92
+ "button",
93
+ {
94
+ type: "button",
95
+ "data-slot": "poster-switch-option",
96
+ "aria-pressed": option.value === value,
97
+ onClick: () => onValueChange(option.value),
98
+ children: [
99
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-switch-title", children: option.title }),
100
+ option.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-switch-hint", children: option.hint }) : null
101
+ ]
102
+ },
103
+ option.value
104
+ )) });
105
+ }
106
+ var PosterBand = _react.forwardRef.call(void 0, function PosterBand2({ tone = "paper", padding = "default", eyebrow, kicker, title, titleSize = "head", titleWrap = "balance", lead, description, after, children, ...props }, ref) {
107
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "section", { ref, "data-slot": "poster-band", "data-tone": tone, "data-padding": padding, ...props, children: [
108
+ eyebrow ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-eyebrow", children: eyebrow }) : null,
109
+ kicker ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-kicker", children: kicker }) : null,
110
+ title ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { "data-slot": "poster-title", "data-size": titleSize, "data-wrap": titleWrap, children: title }) : null,
111
+ lead ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-lead", children: lead }) : null,
112
+ description ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-description", children: description }) : null,
113
+ after ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-after", children: after }) : null,
114
+ children
115
+ ] });
116
+ });
117
+ var PosterSubhead = _react.forwardRef.call(void 0, function PosterSubhead2(props, ref) {
118
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { ref, "data-slot": "poster-subhead", ...props });
119
+ });
120
+ var PosterStatement = _react.forwardRef.call(void 0, function PosterStatement2(props, ref) {
121
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { ref, "data-slot": "poster-statement", ...props });
122
+ });
123
+ var PosterCalculator = _react.forwardRef.call(void 0, function PosterCalculator2(props, ref) {
124
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "data-slot": "poster-calculator", ...props });
125
+ });
126
+ var PosterRanges = _react.forwardRef.call(void 0, function PosterRanges2(props, ref) {
127
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "data-slot": "poster-ranges", ...props });
128
+ });
129
+ function PosterRange({ label, value, min, max, step, onValueChange, valueText, id }) {
130
+ const generated = _react.useId.call(void 0, );
131
+ const inputId = _nullishCoalesce(id, () => ( generated));
132
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-range", children: [
133
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { "data-slot": "poster-range-label", htmlFor: inputId, children: label }),
134
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "output", { "data-slot": "poster-range-value", htmlFor: inputId, children: valueText }),
135
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
136
+ "input",
137
+ {
138
+ "data-slot": "poster-range-input",
139
+ type: "range",
140
+ id: inputId,
141
+ min,
142
+ max,
143
+ step,
144
+ value,
145
+ "aria-valuetext": valueText,
146
+ onChange: (event) => onValueChange(Number(event.target.value))
147
+ }
148
+ )
149
+ ] });
150
+ }
151
+ var PosterFigures = _react.forwardRef.call(void 0, function PosterFigures2({ items, ...props }, ref) {
152
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "data-slot": "poster-figures", "data-columns": items.length === 1 ? 1 : 2, ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-figure", children: [
153
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-figure-label", children: item.label }),
154
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-figure-value", children: item.value })
155
+ ] }, index)) });
156
+ });
157
+ var PosterSmallPrint = _react.forwardRef.call(void 0, function PosterSmallPrint2(props, ref) {
158
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { ref, "data-slot": "poster-small-print", ...props });
159
+ });
160
+ var PosterColumns = _react.forwardRef.call(void 0, function PosterColumns2({ variant = "labelled", items, ...props }, ref) {
161
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, "data-slot": "poster-columns", "data-variant": variant, ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-column", children: [
162
+ variant === "titled" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { "data-slot": "poster-column-heading", children: item.heading }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-column-heading", children: item.heading }),
163
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-column-text", children: item.text }),
164
+ item.link ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { "data-slot": "poster-column-link", href: item.link.href, children: item.link.label }) : null
165
+ ] }, index)) });
166
+ });
167
+ var PosterTicks = _react.forwardRef.call(void 0, function PosterTicks2({ items, spacing = "default", ...props }, ref) {
168
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { ref, "data-slot": "poster-ticks", "data-spacing": spacing, ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { "data-slot": "poster-tick", children: item }, index)) });
169
+ });
170
+ var PosterDisclosure = _react.forwardRef.call(void 0, function PosterDisclosure2({ summary, children, defaultOpen, ...props }, ref) {
171
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "details", { ref, "data-slot": "poster-disclosure", open: defaultOpen, ...props, children: [
172
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "summary", { "data-slot": "poster-disclosure-summary", children: summary }),
173
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-disclosure-body", children })
174
+ ] });
175
+ });
176
+ var PosterFacts = _react.forwardRef.call(void 0, function PosterFacts2({ items, ...props }, ref) {
177
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "dl", { ref, "data-slot": "poster-facts", ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-fact", children: [
178
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "dt", { "data-slot": "poster-fact-term", children: item.term }),
179
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "dd", { "data-slot": "poster-fact-detail", children: item.detail })
180
+ ] }, index)) });
181
+ });
182
+ var PosterNote = _react.forwardRef.call(void 0, function PosterNote2(props, ref) {
183
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { ref, "data-slot": "poster-note", ...props });
184
+ });
185
+ var PosterCallList = _react.forwardRef.call(void 0, function PosterCallList2({ label, items, ...props }, ref) {
186
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { ref, "data-slot": "poster-calls", "aria-label": label, ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { "data-slot": "poster-call", children: [
187
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-call-name", children: item.name }),
188
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-call-action", children: item.action })
189
+ ] }, index)) });
190
+ });
191
+ var PosterFlow = _react.forwardRef.call(void 0, function PosterFlow2({ items, ...props }, ref) {
192
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ol", { ref, "data-slot": "poster-flow", ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { "data-slot": "poster-flow-step", children: item }, index)) });
193
+ });
194
+ var PosterSteps = _react.forwardRef.call(void 0, function PosterSteps2({ items, layout = "three", ...props }, ref) {
195
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ol", { ref, "data-slot": "poster-steps", "data-layout": layout, ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { "data-slot": "poster-step", children: item }, index)) });
196
+ });
197
+ var PosterCost = _react.forwardRef.call(void 0, function PosterCost2({ label, statement, action, ...props }, ref) {
198
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, "data-slot": "poster-cost", ...props, children: [
199
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
200
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-cost-label", children: label }),
201
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-cost-statement", children: statement })
202
+ ] }),
203
+ action ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-cost-action", children: action }) : null
204
+ ] });
205
+ });
206
+ function PosterCopyText({ text, copyLabel = "Copy", copiedLabel = "Copied", selectedLabel = "Selected", placement = "inline" }) {
207
+ const textRef = _react.useRef.call(void 0, null);
208
+ const [label, setLabel] = _react.useState.call(void 0, copyLabel);
209
+ const select = () => {
210
+ const node = textRef.current;
211
+ const selection = typeof window === "undefined" ? null : window.getSelection();
212
+ if (!node || !selection) return;
213
+ const range = document.createRange();
214
+ range.selectNodeContents(node);
215
+ selection.removeAllRanges();
216
+ selection.addRange(range);
217
+ setLabel(selectedLabel);
218
+ };
219
+ const copy = () => {
220
+ const clipboard = typeof navigator === "undefined" ? void 0 : navigator.clipboard;
221
+ if (!_optionalChain([clipboard, 'optionalAccess', _11 => _11.writeText])) return select();
222
+ clipboard.writeText(text).then(() => setLabel(copiedLabel), select);
223
+ };
224
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-copy", "data-placement": placement, children: [
225
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { ref: textRef, "data-slot": "poster-copy-text", children: text }),
226
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "button", { type: "button", "data-slot": "poster-copy-button", onClick: copy, children: label })
227
+ ] });
228
+ }
229
+ var PosterPeople = _react.forwardRef.call(void 0, function PosterPeople2({ items, ...props }, ref) {
230
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { ref, "data-slot": "poster-people", ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "li", { "data-slot": "poster-person", children: [
231
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-person-name", children: item.name }),
232
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-person-bio", children: item.bio })
233
+ ] }, index)) });
234
+ });
235
+ var PosterFootnote = _react.forwardRef.call(void 0, function PosterFootnote2({ start, end, ...props }, ref) {
236
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, "data-slot": "poster-footnote", ...props, children: [
237
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: start }),
238
+ end ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: end }) : null
239
+ ] });
240
+ });
241
+ var PosterMoreLink = _react.forwardRef.call(void 0, function PosterMoreLink2(props, ref) {
242
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ref, "data-slot": "poster-more-link", ...props });
243
+ });
244
+ var PosterNextLink = _react.forwardRef.call(void 0, function PosterNextLink2({ label, children, ...props }, ref) {
245
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { ref, "data-slot": "poster-next-link", ...props, children: [
246
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-next-label", children: label }),
247
+ children
248
+ ] });
249
+ });
250
+ var PosterTextLink = _react.forwardRef.call(void 0, function PosterTextLink2(props, ref) {
251
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { ref, "data-slot": "poster-text-link", ...props });
252
+ });
253
+ function PosterBreak() {
254
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
255
+ " ",
256
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-break" })
257
+ ] });
258
+ }
259
+ function PosterQuote({ children, by, size = "large", as = "blockquote" }) {
260
+ const Quote = as;
261
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
262
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Quote, { "data-slot": "poster-quote", "data-size": size, children }),
263
+ by ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-quote-by", children: by }) : null
264
+ ] });
265
+ }
266
+ var PosterStats = _react.forwardRef.call(void 0, function PosterStats2({ items, ...props }, ref) {
267
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "dl", { ref, "data-slot": "poster-stats", "data-columns": items.length <= 2 ? 2 : 4, ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-stat", children: [
268
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "dt", { "data-slot": "poster-stat-value", children: item.value }),
269
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "dd", { "data-slot": "poster-stat-label", children: item.label })
270
+ ] }, index)) });
271
+ });
272
+ var PosterClaims = _react.forwardRef.call(void 0, function PosterClaims2({ items, ...props }, ref) {
273
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { ref, "data-slot": "poster-claims", ...props, children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { "data-slot": "poster-claim", children: item }, index)) });
274
+ });
275
+ var PosterScreen = _react.forwardRef.call(void 0, function PosterScreen2({ title, context, children, ...props }, ref) {
276
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, "data-slot": "poster-screen", ...props, children: [
277
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-screen-bar", children: [
278
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "b", { children: title }),
279
+ context ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: context }) : null
280
+ ] }),
281
+ children
282
+ ] });
283
+ });
284
+ function PosterScreenTabs({ items }) {
285
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-screen-tabs", children: items.map((item, index) => index === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "b", { children: item }, index) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: item }, index)) });
286
+ }
287
+ function PosterScreenSplit({ ratio = "5:7", children }) {
288
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-screen-split", "data-ratio": ratio, children });
289
+ }
290
+ function PosterScreenPane({ children }) {
291
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-screen-pane", children });
292
+ }
293
+ function PosterScreenMessage({ from, children, variant = "sent" }) {
294
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-screen-message", "data-variant": variant, children: [
295
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "small", { children: from }),
296
+ children
297
+ ] });
298
+ }
299
+ function PosterScreenTrace({ items }) {
300
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { "data-slot": "poster-screen-trace", children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: item }, index)) });
301
+ }
302
+ function PosterScreenLead({ children }) {
303
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-screen-lead", children });
304
+ }
305
+ function PosterGrade({ children, top = false }) {
306
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-grade", "data-top": top || void 0, children });
307
+ }
308
+ function PosterScreenPerson({ initials, name, summary, test, grade, topGrade }) {
309
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-screen-person", children: [
310
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { "data-slot": "poster-initials", "aria-hidden": "true", children: initials }),
311
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
312
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "b", { children: name }),
313
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: summary }),
314
+ test ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "em", { children: test }) : null
315
+ ] }),
316
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PosterGrade, { top: topGrade, children: grade })
317
+ ] });
318
+ }
319
+ function PosterScreenQueue({ items }) {
320
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-screen-queue", children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-screen-queue-item", "data-selected": item.selected || void 0, children: [
321
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "b", { children: item.name }),
322
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: item.role }),
323
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PosterGrade, { top: item.topGrade, children: item.grade })
324
+ ] }, index)) });
325
+ }
326
+ function PosterScreenDetail({ title, line, evidence = [], actions = [] }) {
327
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-screen-detail", children: [
328
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { children: title }),
329
+ line ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { "data-slot": "poster-screen-detail-line", children: line }) : null,
330
+ evidence.length ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { "data-slot": "poster-screen-evidence", children: evidence.map((item, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: item }, index)) }) : null,
331
+ actions.length ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-screen-decide", children: actions.map((action, index) => index === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "b", { children: action }, index) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: action }, index)) }) : null
332
+ ] });
333
+ }
334
+ function PosterScreenRows({ items }) {
335
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "poster-screen-rows", children: items.map((item, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { "data-slot": "poster-screen-row", children: [
336
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "b", { children: item.name }),
337
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: item.line }),
338
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PosterGrade, { top: item.topGrade, children: item.grade }),
339
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "em", { "data-needs-you": item.needsYou || void 0, children: item.action })
340
+ ] }, index)) });
341
+ }
342
+ var PosterMockNote = _react.forwardRef.call(void 0, function PosterMockNote2(props, ref) {
343
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { ref, "data-slot": "poster-mock-note", ...props });
344
+ });
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+
396
+ exports.PosterAction = PosterAction; exports.PosterBand = PosterBand; exports.PosterBreak = PosterBreak; exports.PosterCalculator = PosterCalculator; exports.PosterCallList = PosterCallList; exports.PosterClaims = PosterClaims; exports.PosterColumns = PosterColumns; exports.PosterCopyText = PosterCopyText; exports.PosterCost = PosterCost; exports.PosterDisclosure = PosterDisclosure; exports.PosterFacts = PosterFacts; exports.PosterFigures = PosterFigures; exports.PosterFlow = PosterFlow; exports.PosterFootnote = PosterFootnote; exports.PosterGrade = PosterGrade; exports.PosterHeader = PosterHeader; exports.PosterHeaderAction = PosterHeaderAction; exports.PosterHero = PosterHero; exports.PosterMain = PosterMain; exports.PosterMark = PosterMark; exports.PosterMockNote = PosterMockNote; exports.PosterMoreLink = PosterMoreLink; exports.PosterNav = PosterNav; exports.PosterNavLink = PosterNavLink; exports.PosterNextLink = PosterNextLink; exports.PosterNote = PosterNote; exports.PosterPeople = PosterPeople; exports.PosterQuote = PosterQuote; exports.PosterRange = PosterRange; exports.PosterRanges = PosterRanges; exports.PosterScreen = PosterScreen; exports.PosterScreenDetail = PosterScreenDetail; exports.PosterScreenLead = PosterScreenLead; exports.PosterScreenMessage = PosterScreenMessage; exports.PosterScreenPane = PosterScreenPane; exports.PosterScreenPerson = PosterScreenPerson; exports.PosterScreenQueue = PosterScreenQueue; exports.PosterScreenRows = PosterScreenRows; exports.PosterScreenSplit = PosterScreenSplit; exports.PosterScreenTabs = PosterScreenTabs; exports.PosterScreenTrace = PosterScreenTrace; exports.PosterShell = PosterShell; exports.PosterSmallPrint = PosterSmallPrint; exports.PosterStatement = PosterStatement; exports.PosterStats = PosterStats; exports.PosterSteps = PosterSteps; exports.PosterSubhead = PosterSubhead; exports.PosterSwitch = PosterSwitch; exports.PosterTextLink = PosterTextLink; exports.PosterTicks = PosterTicks;