@walkeros/explorer 4.7.2 → 4.8.0-next-1791496487198

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,382 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ComponentType, AnchorHTMLAttributes, ReactNode, ButtonHTMLAttributes, HTMLAttributes, SVGAttributes, DetailsHTMLAttributes } from 'react';
3
+
4
+ /** Tagging and test attributes passed through to an element (`data-alst*`, `data-elb*`). */
5
+ type DataAttributes = Record<`data-${string}`, string>;
6
+ /** A client-side router link (a Docusaurus or Next `Link`) rendered instead of `<a>`. */
7
+ type LinkComponent = ComponentType<AnchorHTMLAttributes<HTMLAnchorElement>>;
8
+ /** A call to action inside a component: its label, its target and its own tagging. */
9
+ interface CallToAction {
10
+ label: ReactNode;
11
+ href: string;
12
+ attributes?: DataAttributes;
13
+ }
14
+
15
+ interface ButtonOwnProps {
16
+ children: ReactNode;
17
+ variant?: 'primary' | 'secondary';
18
+ arrow?: boolean;
19
+ block?: boolean;
20
+ className?: string;
21
+ }
22
+ type AnchorProps = AnchorHTMLAttributes<HTMLAnchorElement>;
23
+ /** With `href`: a link, rendered by `linkComponent` when given, else `<a>`. */
24
+ interface ButtonLinkProps extends ButtonOwnProps, Omit<AnchorProps, keyof ButtonOwnProps | 'href'> {
25
+ href: string;
26
+ /**
27
+ * A client-side router link (a Docusaurus or Next `Link` taking `href`),
28
+ * rendered instead of `<a>` with the same `href`, `className`, children and
29
+ * every other attribute.
30
+ */
31
+ linkComponent?: LinkComponent;
32
+ }
33
+ /** Without `href`: a `<button>`, `type="button"` unless `type` says otherwise. */
34
+ interface ButtonElementProps extends ButtonOwnProps, Omit<ButtonHTMLAttributes<HTMLButtonElement>, keyof ButtonOwnProps> {
35
+ href?: undefined;
36
+ linkComponent?: undefined;
37
+ }
38
+ /**
39
+ * Every attribute Button does not own (`data-elb*` tagging, `aria-*`,
40
+ * `onClick`, ...) reaches the rendered element.
41
+ */
42
+ type ButtonProps = ButtonLinkProps | ButtonElementProps;
43
+ /**
44
+ * The walkerOS call-to-action: a `primary` fill with `on-primary` text, or a
45
+ * flat `surface` secondary. Renders a link with `href`, a button otherwise.
46
+ * Use at most one primary per group.
47
+ */
48
+ declare function Button(props: ButtonProps): react_jsx_runtime.JSX.Element;
49
+
50
+ interface InlineCodeProps extends HTMLAttributes<HTMLElement> {
51
+ children: ReactNode;
52
+ }
53
+ /** Mono code token inside prose: attribute names, function calls, event names. */
54
+ declare function InlineCode({ children, className, ...rest }: InlineCodeProps): react_jsx_runtime.JSX.Element;
55
+
56
+ interface EventLegendProps extends HTMLAttributes<HTMLDivElement> {
57
+ parts?: Array<'entity' | 'action' | 'property' | 'context' | 'globals'>;
58
+ }
59
+ /**
60
+ * The fixed colour key for the five parts of a walkerOS event. Event colours
61
+ * only show on dark grounds, so the legend is a dark island in both themes.
62
+ * `parts` shows a subset, still in event order.
63
+ */
64
+ declare function EventLegend({ parts, className, ...rest }: EventLegendProps): react_jsx_runtime.JSX.Element;
65
+
66
+ type IconName = 'check' | 'copy' | 'lock' | 'reload' | 'bookmark' | 'warning';
67
+ interface IconProps extends Omit<SVGAttributes<SVGSVGElement>, 'name'> {
68
+ name: IconName;
69
+ size?: number;
70
+ }
71
+ /** The design system's line glyphs, drawn in currentColor; a check is always primary. */
72
+ declare function Icon({ name, size, className, ...rest }: IconProps): react_jsx_runtime.JSX.Element;
73
+
74
+ interface EyebrowProps extends HTMLAttributes<HTMLParagraphElement> {
75
+ children: ReactNode;
76
+ variant?: 'eyebrow' | 'label';
77
+ tone?: 'link' | 'muted';
78
+ }
79
+ /** An uppercase line above a heading (`eyebrow`) or a card's tier label (`label`). */
80
+ declare function Eyebrow({ children, variant, tone, className, ...rest }: EyebrowProps): react_jsx_runtime.JSX.Element;
81
+
82
+ interface StatProps extends HTMLAttributes<HTMLDivElement> {
83
+ value: ReactNode;
84
+ children: ReactNode;
85
+ }
86
+ /** One figure and its label, as a tile inside a case card. */
87
+ declare function Stat({ value, children, className, ...rest }: StatProps): react_jsx_runtime.JSX.Element;
88
+
89
+ interface TextProps extends HTMLAttributes<HTMLParagraphElement> {
90
+ children: ReactNode;
91
+ size?: 'body' | 'lg';
92
+ tone?: 'muted' | 'fg';
93
+ }
94
+ /** A paragraph of supporting copy, `fg-2` unless `tone="fg"`. */
95
+ declare function Text({ children, size, tone, className, ...rest }: TextProps): react_jsx_runtime.JSX.Element;
96
+
97
+ interface TextLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
98
+ href: string;
99
+ children: ReactNode;
100
+ tone?: 'link' | 'muted';
101
+ arrow?: boolean;
102
+ /** A router link rendered instead of `<a>`, with the same props. */
103
+ linkComponent?: LinkComponent;
104
+ }
105
+ /** An inline link in `link` (or `fg-2`) colour, underlined on hover. */
106
+ declare function TextLink({ href, children, tone, arrow, linkComponent: Link, className, ...rest }: TextLinkProps): react_jsx_runtime.JSX.Element;
107
+
108
+ interface CardProps extends HTMLAttributes<HTMLDivElement> {
109
+ children: ReactNode;
110
+ /** `sm` card-pad-sm (26px), `md` card-pad (28px), `lg` 32px. */
111
+ padding?: 'sm' | 'md' | 'lg';
112
+ radius?: 'lg' | 'xl';
113
+ /** Tints the border toward primary on hover. */
114
+ hover?: boolean;
115
+ /** The one recommended item: primary border and the plan-highlight ring. */
116
+ highlight?: boolean;
117
+ /** A glow halo in the top right corner. */
118
+ glow?: boolean;
119
+ }
120
+ /** The flat card frame: surface, 1px border, a column of children. */
121
+ declare function Card({ children, padding, radius, hover, highlight, glow, className, ...rest }: CardProps): react_jsx_runtime.JSX.Element;
122
+
123
+ interface InstallCommandProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'type' | 'children'> {
124
+ /** The command shown and copied. */
125
+ command?: string;
126
+ }
127
+ /**
128
+ * A copy-to-clipboard chip for a CLI command. It confirms with a check only when
129
+ * the copy succeeded, and says "Copy failed" otherwise. The button's accessible
130
+ * name is the visible command, so speech input can target it; the action is its
131
+ * description. The live region sits beside the button: a button's content is
132
+ * presentational for assistive technology.
133
+ */
134
+ declare function InstallCommand({ command, className, 'aria-describedby': describedBy, ...rest }: InstallCommandProps): react_jsx_runtime.JSX.Element;
135
+
136
+ interface PhotoPlaceholderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
137
+ /** The word in the middle. */
138
+ label?: string;
139
+ /** `theme` follows dark and light; `viz` is the demos' look, dark in both. */
140
+ tone?: 'theme' | 'viz';
141
+ }
142
+ /** A striped stand-in for a photo, sized by the caller. */
143
+ declare function PhotoPlaceholder({ label, tone, className, ...rest }: PhotoPlaceholderProps): react_jsx_runtime.JSX.Element;
144
+
145
+ interface CheckListProps extends HTMLAttributes<HTMLUListElement> {
146
+ items: ReactNode[];
147
+ /** `inline` wraps in a row (16px checks); `stack` is a column (14px checks). */
148
+ layout?: 'inline' | 'stack';
149
+ align?: 'start' | 'center';
150
+ }
151
+ /** Short claims, each led by a primary check. */
152
+ declare function CheckList({ items, layout, align, className, ...rest }: CheckListProps): react_jsx_runtime.JSX.Element;
153
+
154
+ interface SectionHeadingProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
155
+ title: ReactNode;
156
+ eyebrow?: ReactNode;
157
+ lead?: ReactNode;
158
+ /** 1 is the page's hero heading: an h1, always centred. */
159
+ level?: 1 | 2;
160
+ /** The h2 size: `lg` for sections, `md` beside a demo. */
161
+ size?: 'lg' | 'md';
162
+ /** Hero only: a phrase after the title in primary. */
163
+ highlight?: ReactNode;
164
+ align?: 'start' | 'center';
165
+ }
166
+ /** Eyebrow, heading and lead: the opening of a section, or the hero. */
167
+ declare function SectionHeading({ title, eyebrow, lead, level, size, highlight, align, className, ...rest }: SectionHeadingProps): react_jsx_runtime.JSX.Element;
168
+
169
+ interface ProblemCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
170
+ number: string;
171
+ title: ReactNode;
172
+ children: ReactNode;
173
+ }
174
+ /** A numbered card naming one problem. */
175
+ declare function ProblemCard({ number, title, children, className, ...rest }: ProblemCardProps): react_jsx_runtime.JSX.Element;
176
+
177
+ interface FeatureItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
178
+ title: ReactNode;
179
+ children: ReactNode;
180
+ href?: string;
181
+ linkLabel?: string;
182
+ /** A router link rendered instead of `<a>`. */
183
+ linkComponent?: LinkComponent;
184
+ /** Tagging for the link alone (the root takes the item's own). */
185
+ linkAttributes?: DataAttributes;
186
+ }
187
+ /** A checked feature with a title, one sentence and a docs link. */
188
+ declare function FeatureItem({ title, children, href, linkLabel, linkComponent, linkAttributes, className, ...rest }: FeatureItemProps): react_jsx_runtime.JSX.Element;
189
+
190
+ interface FaqItemProps extends Omit<DetailsHTMLAttributes<HTMLDetailsElement>, 'children'> {
191
+ question: ReactNode;
192
+ /** The answer; an array renders one block per entry, strings as paragraphs. */
193
+ children: ReactNode;
194
+ }
195
+ /** One FAQ question as a native disclosure; `open` sets the initial state. */
196
+ declare function FaqItem({ question, children, className, ...rest }: FaqItemProps): react_jsx_runtime.JSX.Element;
197
+
198
+ interface PlanCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
199
+ label: string;
200
+ title: ReactNode;
201
+ children: ReactNode;
202
+ features?: ReactNode[];
203
+ cta?: CallToAction;
204
+ /** The one recommended plan: primary CTA, ring, link-coloured label. */
205
+ highlight?: boolean;
206
+ linkComponent?: LinkComponent;
207
+ }
208
+ /** A service tier: label, name, description, checked features and a CTA. */
209
+ declare function PlanCard({ label, title, children, features, cta, highlight, linkComponent, className, ...rest }: PlanCardProps): react_jsx_runtime.JSX.Element;
210
+
211
+ interface CaseStat {
212
+ value: ReactNode;
213
+ label: ReactNode;
214
+ }
215
+ interface CaseCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
216
+ label: string;
217
+ title: ReactNode;
218
+ children: ReactNode;
219
+ stats: CaseStat[];
220
+ }
221
+ /** A customer story: label, headline, text and a row of stat tiles. */
222
+ declare function CaseCard({ label, title, children, stats, className, ...rest }: CaseCardProps): react_jsx_runtime.JSX.Element;
223
+
224
+ interface HighlightCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
225
+ label: string;
226
+ title: ReactNode;
227
+ children: ReactNode;
228
+ /** A secondary button below the text; omit for a card without one. */
229
+ cta?: CallToAction;
230
+ linkComponent?: LinkComponent;
231
+ }
232
+ /** A large card with a corner glow and an optional secondary CTA: a direction to explore. */
233
+ declare function HighlightCard({ label, title, children, cta, linkComponent, className, ...rest }: HighlightCardProps): react_jsx_runtime.JSX.Element;
234
+
235
+ interface BrowserBookmark {
236
+ label: string;
237
+ url: string;
238
+ }
239
+ interface BrowserFrameProps extends HTMLAttributes<HTMLDivElement> {
240
+ /** Shown read-only in the address field. */
241
+ url: string;
242
+ /** A row of links under the address bar; the one whose `url` equals `url` is current. */
243
+ bookmarks?: ReadonlyArray<BrowserBookmark>;
244
+ /** Called with a bookmark's url on its click; without it the bookmarks are disabled. */
245
+ onNavigate?: (url: string) => void;
246
+ /** Adds a reload button. */
247
+ onReload?: () => void;
248
+ /** The caller's controls at the end of the address bar, after reload; a link or button there looks like reload. */
249
+ actions?: ReactNode;
250
+ /** The page: fills the viewport. An `iframe` takes its full size, borderless. */
251
+ children: ReactNode;
252
+ }
253
+ /**
254
+ * A browser window around a page, on the site theme. The caller sizes it: give
255
+ * the root a height (and a width where it does not fill its parent) through
256
+ * `className` or `style`; the viewport takes what the bars leave.
257
+ */
258
+ declare function BrowserFrame({ url, bookmarks, onNavigate, onReload, actions, children, className, ...rest }: BrowserFrameProps): react_jsx_runtime.JSX.Element;
259
+
260
+ interface QuickstartStep {
261
+ title: string;
262
+ text: string;
263
+ }
264
+ interface QuickstartStepsProps extends HTMLAttributes<HTMLDivElement> {
265
+ steps: ReadonlyArray<QuickstartStep>;
266
+ /** After the steps, aligned to their start: the link to the full guide. */
267
+ children?: ReactNode;
268
+ }
269
+ /**
270
+ * Numbered steps in a row joined by hand-drawn arrows, a column on narrow
271
+ * screens; the children follow below.
272
+ */
273
+ declare function QuickstartSteps({ steps, children, className, ...rest }: QuickstartStepsProps): react_jsx_runtime.JSX.Element;
274
+
275
+ interface SectionProps extends HTMLAttributes<HTMLElement> {
276
+ children: ReactNode;
277
+ /** `alt` grounds the band in bg-2. */
278
+ tone?: 'default' | 'alt';
279
+ }
280
+ /** A page band: section-y padding, a top rule, a container whose children stand heading-gap apart. */
281
+ declare function Section({ children, tone, className, ...rest }: SectionProps): react_jsx_runtime.JSX.Element;
282
+
283
+ interface CardGridProps extends HTMLAttributes<HTMLDivElement> {
284
+ children: ReactNode;
285
+ /** The minimum column width in px; columns auto-fit. */
286
+ min: 280 | 300 | 420 | 440;
287
+ /** `cards` gap space-5; `features` 44px rows and 48px columns. */
288
+ gap?: 'cards' | 'features';
289
+ }
290
+ /** An auto-fit grid of cards or feature items. */
291
+ declare function CardGrid({ children, min, gap, className, ...rest }: CardGridProps): react_jsx_runtime.JSX.Element;
292
+
293
+ interface SplitProps extends HTMLAttributes<HTMLDivElement> {
294
+ start: ReactNode;
295
+ end: ReactNode;
296
+ /** `even`: two equal columns from 420px; `aside`: a narrow heading column beside a wide one. */
297
+ variant?: 'even' | 'aside';
298
+ }
299
+ /** Two columns that stack when narrow. */
300
+ declare function Split({ start, end, variant, className, ...rest }: SplitProps): react_jsx_runtime.JSX.Element;
301
+
302
+ interface ClusterProps extends HTMLAttributes<HTMLDivElement> {
303
+ children: ReactNode;
304
+ /** `actions` 12px apart; `links` 8px rows and 24px columns. */
305
+ gap?: 'actions' | 'links';
306
+ align?: 'start' | 'center';
307
+ /**
308
+ * Set apart from the content above by an extra heading gap, for a call to
309
+ * action below a section's content.
310
+ */
311
+ separated?: boolean;
312
+ }
313
+ /** A wrapping row of buttons or links. */
314
+ declare function Cluster({ children, gap, align, separated, className, ...rest }: ClusterProps): react_jsx_runtime.JSX.Element;
315
+
316
+ interface HeroProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
317
+ eyebrow: ReactNode;
318
+ title: ReactNode;
319
+ /** A phrase after the title in primary. */
320
+ highlight?: ReactNode;
321
+ lead: ReactNode;
322
+ /** The call-to-action row. */
323
+ actions: ReactNode;
324
+ /** A short proof line below the actions. */
325
+ proof?: ReactNode;
326
+ /** The demo below, left-aligned. */
327
+ children?: ReactNode;
328
+ }
329
+ /** The page's opening band: centred heading, actions, proof and a demo, on a glow. */
330
+ declare function Hero({ eyebrow, title, highlight, lead, actions, proof, children, className, ...rest }: HeroProps): react_jsx_runtime.JSX.Element;
331
+
332
+ interface DestinationMappingVizProps extends HTMLAttributes<HTMLDivElement> {
333
+ /** The event chosen first, on the server too. */
334
+ initialEvent?: 0 | 1 | 2;
335
+ /** Text below the cards; `''` hides it. */
336
+ caption?: string;
337
+ }
338
+ /**
339
+ * Mapping demo: pick one `elb()` event and see the mapping rule and the call it
340
+ * produces in GA4, Meta Pixel, TikTok Pixel and Amplitude. The calls are what
341
+ * the real destinations send for these rules; a fidelity test holds them to it.
342
+ */
343
+ declare function DestinationMappingViz({ initialEvent, caption, ...rest }: DestinationMappingVizProps): react_jsx_runtime.JSX.Element;
344
+
345
+ interface HeroTaggingVizProps extends HTMLAttributes<HTMLDivElement> {
346
+ playing?: boolean;
347
+ speed?: number;
348
+ /** The loop time (ms) of the first frame, on the server too. */
349
+ startAt?: number;
350
+ }
351
+ /**
352
+ * Hero demo: walkerOS attributes are typed into an article teaser, the card
353
+ * lights up as each part is tagged, a cursor clicks it, and the events land in
354
+ * a live table. Animates only while visible; still with reduced motion.
355
+ */
356
+ declare function HeroTaggingViz({ playing, speed, startAt, ...rest }: HeroTaggingVizProps): react_jsx_runtime.JSX.Element;
357
+
358
+ /**
359
+ * The article teaser demo's script: one ArticleTeaser tagged once, walked from
360
+ * atom to page templates. The code pane, the cards, the page HTML and the
361
+ * expected events all come from the constants below, so a fidelity test that
362
+ * runs the page HTML through walkerOS checks what the cards show.
363
+ */
364
+
365
+ type TeaserStep = 1 | 2 | 3 | 4 | 5;
366
+
367
+ interface ArticleTeaserTrackingProps extends HTMLAttributes<HTMLDivElement> {
368
+ autoplay?: boolean;
369
+ speed?: number;
370
+ /** Start with this step shown in full (the server frame is step 0 otherwise). */
371
+ initialStep?: TeaserStep;
372
+ }
373
+ /**
374
+ * Tagging demo: one ArticleTeaser tagged once, walked through atom, molecule,
375
+ * organisms and pages, showing how every instance inherits entity, action,
376
+ * properties, context and globals. Autoplays while the code is in view; shows
377
+ * the finished walk-through with reduced motion. A clicked step plays from its
378
+ * start and stays there.
379
+ */
380
+ declare function ArticleTeaserTracking({ autoplay, speed, initialStep, ...rest }: ArticleTeaserTrackingProps): react_jsx_runtime.JSX.Element;
381
+
382
+ export { ArticleTeaserTracking, type ArticleTeaserTrackingProps, type BrowserBookmark, BrowserFrame, type BrowserFrameProps, Button, type ButtonProps, type CallToAction, Card, CardGrid, type CardGridProps, type CardProps, CaseCard, type CaseCardProps, type CaseStat, CheckList, type CheckListProps, Cluster, type ClusterProps, type DataAttributes, DestinationMappingViz, type DestinationMappingVizProps, EventLegend, type EventLegendProps, Eyebrow, type EyebrowProps, FaqItem, type FaqItemProps, FeatureItem, type FeatureItemProps, Hero, type HeroProps, HeroTaggingViz, type HeroTaggingVizProps, HighlightCard, type HighlightCardProps, Icon, type IconProps, InlineCode, type InlineCodeProps, InstallCommand, type InstallCommandProps, type LinkComponent, PhotoPlaceholder, type PhotoPlaceholderProps, PlanCard, type PlanCardProps, ProblemCard, type ProblemCardProps, type QuickstartStep, QuickstartSteps, type QuickstartStepsProps, Section, SectionHeading, type SectionHeadingProps, type SectionProps, Split, type SplitProps, Stat, type StatProps, Text, TextLink, type TextLinkProps, type TextProps };