panelui-native 0.79.1 → 0.80.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.
Files changed (30) hide show
  1. package/lib/module/components/bottom-sheet/index.js +9 -2
  2. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  3. package/lib/module/components/panelside/index.js +527 -19
  4. package/lib/module/components/panelside/index.js.map +1 -1
  5. package/lib/module/components/qr-code/index.js +84 -15
  6. package/lib/module/components/qr-code/index.js.map +1 -1
  7. package/lib/module/components/qr-code/qr-shapes.js +202 -0
  8. package/lib/module/components/qr-code/qr-shapes.js.map +1 -0
  9. package/lib/module/components/timeline/index.js +145 -18
  10. package/lib/module/components/timeline/index.js.map +1 -1
  11. package/lib/module/index.js.map +1 -1
  12. package/lib/typescript/src/components/bottom-sheet/index.d.ts +16 -0
  13. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  14. package/lib/typescript/src/components/panelside/index.d.ts +242 -5
  15. package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
  16. package/lib/typescript/src/components/qr-code/index.d.ts +42 -3
  17. package/lib/typescript/src/components/qr-code/index.d.ts.map +1 -1
  18. package/lib/typescript/src/components/qr-code/qr-shapes.d.ts +64 -0
  19. package/lib/typescript/src/components/qr-code/qr-shapes.d.ts.map +1 -0
  20. package/lib/typescript/src/components/timeline/index.d.ts +33 -0
  21. package/lib/typescript/src/components/timeline/index.d.ts.map +1 -1
  22. package/lib/typescript/src/index.d.ts +1 -1
  23. package/lib/typescript/src/index.d.ts.map +1 -1
  24. package/package.json +1 -1
  25. package/src/components/bottom-sheet/index.tsx +9 -2
  26. package/src/components/panelside/index.tsx +750 -28
  27. package/src/components/qr-code/index.tsx +124 -18
  28. package/src/components/qr-code/qr-shapes.ts +234 -0
  29. package/src/components/timeline/index.tsx +165 -14
  30. package/src/index.ts +3 -0
@@ -79,11 +79,21 @@
79
79
  import { type ReactElement, type ReactNode } from 'react';
80
80
  import { type PressableProps, type ScrollViewProps, type TextInputProps, type ViewProps } from 'react-native';
81
81
  import { type SharedValue } from 'react-native-reanimated';
82
+ import { type BottomSheetBodyProps, type BottomSheetProps } from '../bottom-sheet/index.js';
82
83
  import { type TextProps } from '../../primitives/text.js';
83
84
  export type PanelsideMode = 'push' | 'overlay';
84
85
  export type PanelsideSwipeFrom = 'anywhere' | 'edge';
85
86
  export type PanelsideItemSize = 'default' | 'sm';
86
87
  export type PanelsideCtaSize = 'default' | 'lg';
88
+ /**
89
+ * What a header or a footer paints behind itself.
90
+ *
91
+ * `transparent` paints nothing, and the list runs the full height of the panel
92
+ * underneath it. `fade` dissolves the list into the panel background over the
93
+ * strip above the controls. `solid` is a band with an edge on it, for a footer
94
+ * that is a row of the layout rather than something floating over one.
95
+ */
96
+ export type PanelsideSurface = 'transparent' | 'fade' | 'solid';
87
97
  export interface UsePanelsideResult {
88
98
  open: boolean;
89
99
  setOpen: (open: boolean) => void;
@@ -96,6 +106,9 @@ export interface UsePanelsideResult {
96
106
  progress: SharedValue<number>;
97
107
  /** True while the panel is docked open beside the scene. */
98
108
  docked: boolean;
109
+ /** Whether the search surface is up. `Panelside.SearchTrigger` sets it. */
110
+ searchOpen: boolean;
111
+ setSearchOpen: (open: boolean) => void;
99
112
  }
100
113
  /**
101
114
  * The panel's state, from anywhere inside a `<Panelside>` — including your own
@@ -200,10 +213,24 @@ export interface PanelsideHeaderProps extends ViewProps {
200
213
  title?: string;
201
214
  /** A single element pinned to the trailing end of the title row. */
202
215
  action?: ReactNode;
216
+ /**
217
+ * What the header paints behind itself.
218
+ *
219
+ * `transparent` is the default and paints nothing, so the header is the
220
+ * panel's own surface with a title on it rather than a bar sitting on top of
221
+ * one. In the panel's normal stacking that is the whole story — the header
222
+ * takes a row and the list starts below it.
223
+ *
224
+ * `fade` and `solid` are for a header the caller has lifted out of that
225
+ * stack — `className="absolute start-0 end-0 top-0"` — so the list runs
226
+ * underneath it. They are the two shapes `Panelside.Footer` offers, drawn
227
+ * the other way up.
228
+ */
229
+ surface?: PanelsideSurface;
203
230
  /** Anything below the title row — a search field, a workspace switcher. */
204
231
  children?: ReactNode;
205
232
  }
206
- declare function PanelsideHeader({ className, title, action, children, style, ...props }: PanelsideHeaderProps): import("react").JSX.Element;
233
+ declare function PanelsideHeader({ className, title, action, surface, children, style, ...props }: PanelsideHeaderProps): import("react").JSX.Element;
207
234
  declare namespace PanelsideHeader {
208
235
  var displayName: string;
209
236
  }
@@ -368,9 +395,25 @@ export interface PanelsideFooterProps extends ViewProps {
368
395
  * leaves exactly this footer's height of room at the end.
369
396
  */
370
397
  floating?: boolean;
398
+ /**
399
+ * What the footer paints behind its controls.
400
+ *
401
+ * `transparent` is the default and paints nothing: the list runs under the
402
+ * controls, which is how the panel reads as one surface with two things
403
+ * floating on it rather than as a list with a bar bolted to the bottom.
404
+ *
405
+ * `fade` dissolves the list into the panel background over the strip above
406
+ * the controls. It costs a band of the panel, and buys a compose button that
407
+ * never has a chat title running through its label — worth turning on for a
408
+ * panel whose history is long enough that something is always underneath.
409
+ *
410
+ * `solid` is a band with a hairline over it, for a footer that is a row of
411
+ * the layout. Implied by `floating={false}`, which has no list to float over.
412
+ */
413
+ surface?: PanelsideSurface;
371
414
  children?: ReactNode;
372
415
  }
373
- declare function PanelsideFooter({ className, floating, children, style, ...props }: PanelsideFooterProps): import("react").JSX.Element;
416
+ declare function PanelsideFooter({ className, floating, surface, children, style, ...props }: PanelsideFooterProps): import("react").JSX.Element;
374
417
  declare namespace PanelsideFooter {
375
418
  var displayName: string;
376
419
  }
@@ -383,9 +426,10 @@ export interface PanelsideCtaProps extends Omit<PressableProps, 'children'> {
383
426
  /** `primary` is the filled accent pill; `secondary` is the quiet one. */
384
427
  variant?: 'primary' | 'secondary';
385
428
  /**
386
- * How tall the pill is. `default` is 40pt, which sits level with the account
387
- * button beside it in the footer; `lg` is the 48pt pill, for a panel where
388
- * the call to action is the only thing in the row.
429
+ * How tall the pill is. `default` is 44pt — a step above the account button
430
+ * beside it, so the footer reads as one primary control and one secondary
431
+ * one. `lg` is 52pt, for a panel where the call to action is the only thing
432
+ * in the row.
389
433
  *
390
434
  * Ignored under `native` — the platform sizes its own button, and asks for a
391
435
  * control size rather than a height.
@@ -454,6 +498,192 @@ declare function PanelsideTrigger({ className, label, children, onPress, ...prop
454
498
  declare namespace PanelsideTrigger {
455
499
  var displayName: string;
456
500
  }
501
+ export interface PanelsideSearchTriggerProps extends Omit<PressableProps, 'children'> {
502
+ className?: string;
503
+ /** What a screen reader announces. */
504
+ label?: string;
505
+ /** Replaces the default magnifier. */
506
+ children?: ReactNode;
507
+ /**
508
+ * Render the platform's own button instead of the circle. Requires the
509
+ * optional `@expo/ui` package; without it this prop does nothing.
510
+ */
511
+ native?: boolean;
512
+ /**
513
+ * Draw the native button in the platform's Liquid Glass material. Requires
514
+ * `native`, and iOS 26 or later; ignored anywhere else.
515
+ */
516
+ glass?: boolean;
517
+ }
518
+ /**
519
+ * The button that opens the search surface. Goes in `Panelside.Header`'s
520
+ * `action` slot.
521
+ *
522
+ * It toggles the root's `searchOpen`, which `Panelside.SearchSheet` reads —
523
+ * so the two need nothing wired between them.
524
+ */
525
+ declare function PanelsideSearchTrigger({ className, label, children, native, glass, onPress, ...props }: PanelsideSearchTriggerProps): import("react").JSX.Element;
526
+ declare namespace PanelsideSearchTrigger {
527
+ var displayName: string;
528
+ }
529
+ export interface PanelsideSearchSheetProps {
530
+ className?: string;
531
+ /** Controlled. Omit it and the sheet follows the root's `searchOpen`. */
532
+ open?: boolean;
533
+ onOpenChange?: (open: boolean) => void;
534
+ /** The query. Controlled; pair it with `onValueChange`. */
535
+ value?: string;
536
+ defaultValue?: string;
537
+ onValueChange?: (value: string) => void;
538
+ /** Which tab is selected — the `value` of a `Panelside.SearchTab`. */
539
+ tab?: string;
540
+ /**
541
+ * Which tab starts selected, when the sheet is not controlling `tab`. Set it
542
+ * to the first tab's `value`: the expanding row shows the selected tab open
543
+ * and the rest as their icons, so with nothing selected every tab is closed
544
+ * and the row is a line of unlabelled glyphs.
545
+ */
546
+ defaultTab?: string;
547
+ onTabChange?: (tab: string) => void;
548
+ /**
549
+ * Present the platform's own sheet. Default true, because this one is the
550
+ * whole screen and the system's presentation, detents and dismiss gesture
551
+ * are the ones people already know. Requires the optional `@expo/ui`
552
+ * package; without it the styled sheet renders instead.
553
+ */
554
+ native?: boolean;
555
+ /** Heights the sheet can rest at. Defaults to the tall one. */
556
+ snapPoints?: BottomSheetProps['snapPoints'];
557
+ /** Gap between the field and the top of the keyboard. */
558
+ keyboardGap?: number;
559
+ /**
560
+ * Draw the round dismiss button at the leading edge of the top row. On by
561
+ * default — it is the way out of a surface that covers the screen, and it
562
+ * belongs where a thumb reaching across arrives rather than in the corner
563
+ * furthest from one.
564
+ */
565
+ showClose?: boolean;
566
+ /** What a screen reader announces for that button. */
567
+ closeLabel?: string;
568
+ children?: ReactNode;
569
+ }
570
+ /**
571
+ * The search surface: tabs, results, and a field at the bottom.
572
+ *
573
+ * ```tsx
574
+ * <Panelside.SearchSheet value={query} onValueChange={setQuery} tab={tab} onTabChange={setTab}>
575
+ * <Panelside.SearchTabs>
576
+ * <Panelside.SearchTab value="all" icon={<SparklesIcon size={16} />}>All</Panelside.SearchTab>
577
+ * <Panelside.SearchTab value="chats" icon={<MessageCircleIcon size={16} />}>Chats</Panelside.SearchTab>
578
+ * </Panelside.SearchTabs>
579
+ *
580
+ * <Panelside.SearchResults>
581
+ * {hits.map((hit) => (
582
+ * <Panelside.SearchResult key={hit.id} title={hit.title} description={hit.kind} />
583
+ * ))}
584
+ * </Panelside.SearchResults>
585
+ *
586
+ * <Panelside.SearchField placeholder="Search chats" />
587
+ * </Panelside.SearchSheet>
588
+ * ```
589
+ *
590
+ * Put it under `<Panelside>` and outside `Panelside.Panel` — a sheet is
591
+ * presented over the whole app, and the panel is a layer that slides.
592
+ *
593
+ * It reports what was typed and which tab is selected. What counts as a match,
594
+ * and what a result is, are yours: a search that only read chat titles would
595
+ * be wrong for the first app that indexes message bodies.
596
+ */
597
+ declare function PanelsideSearchSheet({ className, open: openProp, onOpenChange, value, defaultValue, onValueChange, tab, defaultTab, onTabChange, native, snapPoints, keyboardGap, showClose, closeLabel, children, }: PanelsideSearchSheetProps): import("react").JSX.Element;
598
+ declare namespace PanelsideSearchSheet {
599
+ var displayName: string;
600
+ }
601
+ export interface PanelsideSearchTabsProps {
602
+ className?: string;
603
+ children?: ReactNode;
604
+ }
605
+ /**
606
+ * The row across the top of the search sheet, narrowing what is searched.
607
+ *
608
+ * The expanding variant: only the selected tab is open, and the rest are their
609
+ * icons. A row of four full labels takes the whole width to say four words
610
+ * nobody rereads, and this row has to leave the results the screen.
611
+ *
612
+ * Every `Panelside.SearchTab` therefore needs an `icon` — a closed tab has
613
+ * nothing else to be.
614
+ */
615
+ declare function PanelsideSearchTabs({ className, children }: PanelsideSearchTabsProps): import("react").JSX.Element;
616
+ declare namespace PanelsideSearchTabs {
617
+ var displayName: string;
618
+ }
619
+ export interface PanelsideSearchTabProps {
620
+ className?: string;
621
+ /** What selecting this tab reports as the sheet's `tab`. */
622
+ value: string;
623
+ /** Required: a closed tab is its icon and nothing else. */
624
+ icon: ReactNode;
625
+ children?: ReactNode;
626
+ }
627
+ declare function PanelsideSearchTab({ className, value, icon, children }: PanelsideSearchTabProps): import("react").JSX.Element;
628
+ declare namespace PanelsideSearchTab {
629
+ var displayName: string;
630
+ }
631
+ export interface PanelsideSearchResultsProps extends BottomSheetBodyProps {
632
+ className?: string;
633
+ contentContainerClassName?: string;
634
+ children?: ReactNode;
635
+ }
636
+ /**
637
+ * The scrolling middle of the search sheet.
638
+ *
639
+ * `BottomSheet.Body` rather than a `ScrollView`, so the list's scroll and the
640
+ * sheet's dismiss drag agree on which of them a downward pull belongs to.
641
+ */
642
+ declare function PanelsideSearchResults({ className, contentContainerClassName, children, ...props }: PanelsideSearchResultsProps): import("react").JSX.Element;
643
+ declare namespace PanelsideSearchResults {
644
+ var displayName: string;
645
+ }
646
+ export interface PanelsideSearchResultProps extends Omit<PressableProps, 'children'> {
647
+ className?: string;
648
+ /** Leading element — a thumbnail, an icon, an avatar. */
649
+ media?: ReactNode;
650
+ /** The result's name, truncated to one line. */
651
+ title?: string;
652
+ /** What kind of thing it is, or where it was found. */
653
+ description?: string;
654
+ children?: ReactNode;
655
+ }
656
+ /**
657
+ * One hit. A leading thumbnail, a title, and a line saying what it is.
658
+ *
659
+ * Taller than a `Panelside.Item`, and deliberately: a navigation row is a
660
+ * place you already know the name of, and a result is a thing you are deciding
661
+ * about — the second line is what the decision is made on.
662
+ */
663
+ declare function PanelsideSearchResult({ className, media, title, description, children, ...props }: PanelsideSearchResultProps): import("react").JSX.Element;
664
+ declare namespace PanelsideSearchResult {
665
+ var displayName: string;
666
+ }
667
+ export interface PanelsideSearchFieldProps extends TextInputProps {
668
+ className?: string;
669
+ containerClassName?: string;
670
+ }
671
+ /**
672
+ * The field, at the bottom of the sheet, riding the keyboard.
673
+ *
674
+ * At the bottom because that is where the thumb is and where the keyboard
675
+ * comes up: a field at the top of a full-height sheet is at the far end of the
676
+ * screen from both, and every character typed into it is read at the other
677
+ * end of a list that is moving.
678
+ *
679
+ * The way out of the surface is not here — `Panelside.SearchSheet` draws it at
680
+ * the leading edge of the top row, so the dismiss control does not move with
681
+ * the keyboard and is not one mis-tap away from the field.
682
+ */
683
+ declare function PanelsideSearchField({ className, containerClassName, placeholder, value, onChangeText, ...props }: PanelsideSearchFieldProps): import("react").JSX.Element;
684
+ declare namespace PanelsideSearchField {
685
+ var displayName: string;
686
+ }
457
687
  export declare const Panelside: typeof PanelsideRoot & {
458
688
  Panel: typeof PanelsidePanel;
459
689
  Header: typeof PanelsideHeader;
@@ -470,6 +700,13 @@ export declare const Panelside: typeof PanelsideRoot & {
470
700
  Cta: typeof PanelsideCta;
471
701
  Scene: typeof PanelsideScene;
472
702
  Trigger: typeof PanelsideTrigger;
703
+ SearchTrigger: typeof PanelsideSearchTrigger;
704
+ SearchSheet: typeof PanelsideSearchSheet;
705
+ SearchTabs: typeof PanelsideSearchTabs;
706
+ SearchTab: typeof PanelsideSearchTab;
707
+ SearchResults: typeof PanelsideSearchResults;
708
+ SearchResult: typeof PanelsideSearchResult;
709
+ SearchField: typeof PanelsideSearchField;
473
710
  };
474
711
  export {};
475
712
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/panelside/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/panelside/index.tsx"],"names":[],"mappings":"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"}
@@ -16,17 +16,33 @@
16
16
  *
17
17
  * ## What it draws
18
18
  *
19
- * Every dark module is one subpath of a single `<Path>`, not a `<Rect>` of its
19
+ * Three `<Path>`s: the body, the three corner rings, and the three corner
20
+ * centres. Every module is a subpath of one of them, not a `<Rect>` of its
20
21
  * own. A version 10 code is 3,481 modules; half of them dark is seventeen
21
22
  * hundred native views for a picture that never changes, and the difference
22
- * between that and one node is the difference between a code that appears and
23
- * one that appears eventually.
23
+ * between that and three nodes is the difference between a code that appears
24
+ * and one that appears eventually.
25
+ *
26
+ * Three rather than one because they are the three things worth colouring and
27
+ * shaping separately. A code is found by its corner eyes before a single
28
+ * module is read, so they are the part a design touches first — and the part
29
+ * it is most dangerous to touch badly.
24
30
  *
25
31
  * The colours come from the theme, so a code drawn on a card is legible on
26
32
  * every one of them — and light-on-dark is drawn the way scanners expect it,
27
33
  * with the quiet zone painted rather than left transparent. A code with
28
34
  * nothing behind it reads at about half the distance.
29
35
  *
36
+ * ## Shaping it
37
+ *
38
+ * `moduleShape`, `eyeFrameShape` and `eyeBallShape` on `QRCode.Canvas` change
39
+ * the geometry; `color`, `eyeFrameColor`, `eyeBallColor` and `backgroundColor`
40
+ * change the ink. A scanner samples the centre of each cell, so every shape
41
+ * here reads exactly as a square does — what changes is how much of the cell
42
+ * is covered. `dot` fills about two thirds of it and `diamond` half, which is
43
+ * read distance spent on a look. Raise `errorCorrection` to pay for it, and
44
+ * check a printed code rather than one on a screen.
45
+ *
30
46
  * ## The hole in the middle
31
47
  *
32
48
  * `QRCode.Logo` clears a square of modules and puts its children there.
@@ -41,7 +57,9 @@ import { View, type ViewProps } from 'react-native';
41
57
  import { type VariantProps } from 'tailwind-variants';
42
58
  import { type PopoverContentProps } from '../popover/index.js';
43
59
  import { type ErrorCorrectionLevel } from './qr-encode.js';
60
+ import { type QRCodeEyeBallShape, type QRCodeEyeFrameShape, type QRCodeModuleShape } from './qr-shapes.js';
44
61
  export type { ErrorCorrectionLevel };
62
+ export type { QRCodeModuleShape, QRCodeEyeFrameShape, QRCodeEyeBallShape };
45
63
  declare const qrCodeVariants: import("tailwind-variants").TVReturnType<{
46
64
  size: {
47
65
  sm: {};
@@ -124,6 +142,27 @@ export interface QRCodeCanvasProps extends Omit<ViewProps, 'children'> {
124
142
  color?: string;
125
143
  /** The plate the modules sit on. See the note below. */
126
144
  backgroundColor?: string;
145
+ /**
146
+ * How a data module is drawn.
147
+ *
148
+ * `rounded` and `classy` join to their neighbours — a corner is rounded only
149
+ * where both cells touching it are light — so a run reads as one stroke
150
+ * rather than as a string of beads with a light seam through it.
151
+ *
152
+ * `dot` and `diamond` do not tile, and cost read distance for it: `dot`
153
+ * covers about two thirds of its cell and `diamond` exactly half, so the
154
+ * same code is a fainter code at the same size. Raise `errorCorrection` with
155
+ * them, and check a printed one rather than a screen.
156
+ */
157
+ moduleShape?: QRCodeModuleShape;
158
+ /** How the ring around each of the three corner eyes is drawn. */
159
+ eyeFrameShape?: QRCodeEyeFrameShape;
160
+ /** How the square inside each corner eye is drawn. */
161
+ eyeBallShape?: QRCodeEyeBallShape;
162
+ /** The three corner rings. Defaults to `color`. */
163
+ eyeFrameColor?: string;
164
+ /** The three corner centres. Defaults to `eyeFrameColor`, then `color`. */
165
+ eyeBallColor?: string;
127
166
  }
128
167
  export interface QRCodeFrameProps extends ViewProps {
129
168
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/qr-code/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/qr-code/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * The geometry a styled QR code is drawn from.
3
+ *
4
+ * A code is three different things wearing one colour: the body — every module
5
+ * that carries data — and the three corner eyes, each of which is a square
6
+ * ring with a square inside it. Scanners find a code by those three eyes
7
+ * before they read a single module, which is why they are the part worth
8
+ * shaping separately and the part it is most dangerous to shape badly.
9
+ *
10
+ * Everything here works in **module units**: one module is 1×1, and the paths
11
+ * are placed into a viewBox that is the matrix plus its quiet zone. So a shape
12
+ * is written once and scales to whatever the code is drawn at, with no
13
+ * arithmetic per module and no rounding gaps between neighbours at fractional
14
+ * sizes.
15
+ *
16
+ * ## What is safe to change and what is not
17
+ *
18
+ * A scanner locates a module by sampling the centre of its cell, so a shape
19
+ * that stays inside its own cell and keeps that centre dark reads exactly as a
20
+ * square does. All of these do. What actually costs read distance is *area*:
21
+ * `dot` covers about two thirds of its cell and `diamond` exactly half, so a
22
+ * code in either is a fainter code at the same size, and one in `diamond` at a
23
+ * low error-correction level is a code that works on a screen and not on
24
+ * paper.
25
+ *
26
+ * The rounded shapes join to their neighbours rather than rounding every
27
+ * corner. A corner is rounded only where both cells touching it are light —
28
+ * otherwise a run of modules would be a string of beads with a light seam
29
+ * through it, and the seam is what the sampler sees.
30
+ */
31
+ /** How a data module is drawn. */
32
+ export type QRCodeModuleShape = 'square' | 'rounded' | 'dot' | 'classy' | 'diamond';
33
+ /** How the ring around each of the three corner eyes is drawn. */
34
+ export type QRCodeEyeFrameShape = 'square' | 'rounded' | 'circle' | 'leaf' | 'shield';
35
+ /** How the square inside each corner eye is drawn. */
36
+ export type QRCodeEyeBallShape = 'square' | 'rounded' | 'dot' | 'diamond' | 'leaf';
37
+ /** A finder pattern is seven modules on a side, in three of the four corners. */
38
+ export declare const FINDER_SIZE = 7;
39
+ /** True where `(x, y)` falls inside one of the three finder patterns. */
40
+ export declare function inFinder(x: number, y: number, size: number): boolean;
41
+ /** Which corner of the code an eye sits in. */
42
+ export type QRCodeEyeCorner = 'tl' | 'tr' | 'bl';
43
+ /**
44
+ * Where each finder pattern starts, and which corner it is in.
45
+ *
46
+ * The corner is not decoration: an asymmetric eye shape has to be turned to
47
+ * face outwards, or two of the three point into the middle of the code and
48
+ * read as a mistake rather than as a style.
49
+ */
50
+ export declare function finderOrigins(size: number): [number, number, QRCodeEyeCorner][];
51
+ /** One data module, in the requested shape, offset into the quiet zone. */
52
+ export declare function modulePath(shape: QRCodeModuleShape, modules: boolean[][], x: number, y: number, size: number, offset: number): string;
53
+ /**
54
+ * One eye's ring: a 7×7 outline with a 5×5 hole in it.
55
+ *
56
+ * Two subpaths and `fillRule="evenodd"`, rather than a stroked rectangle. A
57
+ * stroke is centred on its path, so its outer edge lands half a module outside
58
+ * the seven the specification allows — and the eye stops being seven modules
59
+ * wide, which is the one measurement a scanner takes before it reads anything.
60
+ */
61
+ export declare function eyeFramePath(shape: QRCodeEyeFrameShape, x: number, y: number, offset: number, corner?: QRCodeEyeCorner): string;
62
+ /** One eye's centre: the 3×3 square two modules inside the ring. */
63
+ export declare function eyeBallPath(shape: QRCodeEyeBallShape, x: number, y: number, offset: number): string;
64
+ //# sourceMappingURL=qr-shapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-shapes.d.ts","sourceRoot":"","sources":["../../../../../src/components/qr-code/qr-shapes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,kCAAkC;AAClC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AACpF,kEAAkE;AAClE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AACtF,sDAAsD;AACtD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAEnF,iFAAiF;AACjF,eAAO,MAAM,WAAW,IAAI,CAAC;AAyD7B,yEAAyE;AACzE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOpE;AAED,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,CAO/E;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CACxB,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,OAAO,EAAE,EAAE,EACpB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CA2BR;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,mBAAmB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,eAAsB,GAC7B,MAAM,CAuCR;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CACzB,KAAK,EAAE,kBAAkB,EACzB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,GACb,MAAM,CAUR"}
@@ -75,6 +75,24 @@ export interface TimelineProps extends ViewProps {
75
75
  * whether this one is worth feeling is the caller's call.
76
76
  */
77
77
  haptics?: boolean;
78
+ /**
79
+ * Horizontal only: which column is at the reading edge, reported as it
80
+ * changes.
81
+ *
82
+ * For anything outside the rail that belongs to the column being read — a
83
+ * masthead naming it, a caption, a picture. Without it that block can only
84
+ * show the same thing for the whole run, which makes a swipe through ten
85
+ * columns a swipe under one unchanging heading.
86
+ *
87
+ * The index is the column's position among the rendered items, not its
88
+ * `step`: `step` is the progress value and may be sparse or repeated, so it
89
+ * cannot address a column.
90
+ *
91
+ * It fires on the crossing, not per frame — the reading edge passing from
92
+ * one column to the next — so it is a state update per column rather than
93
+ * per scroll event.
94
+ */
95
+ onColumnChange?: (index: number) => void;
78
96
  children?: ReactNode;
79
97
  }
80
98
  export interface TimelineListProps<T> extends Omit<FlatListProps<T>, 'data' | 'renderItem' | 'horizontal' | 'getItemLayout' | 'onScroll' | 'snapToOffsets' | 'CellRendererComponent'> {
@@ -129,12 +147,27 @@ export interface TimelineStatProps extends ViewProps {
129
147
  label: string;
130
148
  value: string;
131
149
  }
150
+ export interface TimelineMastheadProps extends ViewProps {
151
+ className?: string;
152
+ /**
153
+ * What sits above the two lines — a logo pair, an avatar stack, a single
154
+ * mark. Anything; the slot only lays it out in a row.
155
+ */
156
+ media?: ReactNode;
157
+ /** The small line: what kind of thing the run below is. */
158
+ label?: string;
159
+ /** The name of it, in the size the eye lands on first. */
160
+ title?: string;
161
+ /** Anything else, below the title. */
162
+ children?: ReactNode;
163
+ }
132
164
  export declare const Timeline: import("react").ForwardRefExoticComponent<TimelineProps & import("react").RefAttributes<View>> & {
133
165
  List: typeof TimelineList;
134
166
  Item: import("react").ForwardRefExoticComponent<TimelineItemProps & import("react").RefAttributes<View>>;
135
167
  Aside: import("react").ForwardRefExoticComponent<ViewProps & {
136
168
  className?: string;
137
169
  } & import("react").RefAttributes<View>>;
170
+ Masthead: import("react").ForwardRefExoticComponent<TimelineMastheadProps & import("react").RefAttributes<View>>;
138
171
  Indicator: import("react").ForwardRefExoticComponent<TimelineIndicatorProps & import("react").RefAttributes<View>>;
139
172
  Content: import("react").ForwardRefExoticComponent<ViewProps & {
140
173
  className?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/timeline/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/timeline/index.tsx"],"names":[],"mappings":"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"}
@@ -87,7 +87,7 @@ export { Planner, type PlannerProps, type PlannerEntry, type PlannerCategory, ty
87
87
  export { Post, type PostProps, type PostHeaderProps, type PostAuthorProps, type PostActionProps, type PostCommunityProps, type PostTitleProps, type PostBodyProps, type PostMediaProps, type PostFooterProps, type PostStatProps, type PostVotesProps, type PostVote, } from './components/post/index.js';
88
88
  export { Progress, type ProgressProps } from './components/progress/index.js';
89
89
  export { ProgressButton, useProgressButton, type ProgressButtonProps, type ProgressButtonLabelProps, type ProgressButtonDoneProps, type ProgressButtonVariant, type ProgressButtonSize, } from './components/progress-button/index.js';
90
- export { QRCode, type QRCodeProps, type QRCodeCanvasProps, type QRCodeFrameProps, type QRCodeHeaderProps, type QRCodeTitleProps, type QRCodeActionProps, type QRCodePanelProps, type QRCodeDescriptionProps, type QRCodeCaptionProps, type QRCodeValueProps, type QRCodeLogoProps, type QRCodeTriggerProps, type QRCodeContentProps, type QRCodeSize, type QRCodePresentation, type ErrorCorrectionLevel, } from './components/qr-code/index.js';
90
+ export { QRCode, type QRCodeProps, type QRCodeCanvasProps, type QRCodeFrameProps, type QRCodeHeaderProps, type QRCodeTitleProps, type QRCodeActionProps, type QRCodePanelProps, type QRCodeDescriptionProps, type QRCodeCaptionProps, type QRCodeValueProps, type QRCodeLogoProps, type QRCodeTriggerProps, type QRCodeContentProps, type QRCodeSize, type QRCodePresentation, type QRCodeModuleShape, type QRCodeEyeFrameShape, type QRCodeEyeBallShape, type ErrorCorrectionLevel, } from './components/qr-code/index.js';
91
91
  export { Questionnaire, type QuestionnaireProps, type QuestionnaireTitleProps, type QuestionnaireProgressProps, type QuestionnaireProgressState, type QuestionnaireProgressVariant, type QuestionnaireItemProps, type QuestionnaireQuestionProps, type QuestionnaireDescriptionProps, type QuestionnaireChoicesProps, type QuestionnaireChoiceProps, type QuestionnaireInputProps, type QuestionnaireErrorProps, type QuestionnaireFooterProps, type QuestionnaireActionProps, type QuestionnaireActionState, type QuestionnaireAnswers, type QuestionnaireItemDefinition, type QuestionnaireItemStatus, type QuestionnaireShortcutMode, } from './components/questionnaire/index.js';
92
92
  export { RadioGroup, type RadioGroupProps, type RadioGroupItemProps, } from './components/radio-group/index.js';
93
93
  export { Rating, type RatingProps, type RatingColor, type RatingSize, } from './components/rating/index.js';