@usableapp/cardds 0.3.0 → 0.4.1
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/README.md +12 -8
- package/css/actions.css +38 -27
- package/css/base.css +9 -9
- package/css/card.css +24 -23
- package/css/choice.css +50 -50
- package/css/forms.css +18 -18
- package/css/journey.css +16 -16
- package/css/layover.css +57 -60
- package/css/lists.css +52 -43
- package/css/media.css +96 -60
- package/css/numbers.css +41 -25
- package/css/people.css +11 -11
- package/css/sheet.css +28 -24
- package/css/stack.css +3 -3
- package/css/theme.template.css +6 -3
- package/dist/actions/Btn.d.ts +109 -108
- package/dist/actions/BtnRow.d.ts +2 -2
- package/dist/actions/Chip.d.ts +102 -101
- package/dist/actions/Dot.d.ts +2 -2
- package/dist/actions/Dropdown.d.ts +4 -4
- package/dist/actions/Fab.d.ts +2 -2
- package/dist/actions/IconBtn.d.ts +107 -106
- package/dist/actions/Link.d.ts +105 -104
- package/dist/actions/Segment.d.ts +3 -3
- package/dist/cardds.css +443 -369
- package/dist/cards/Card.d.ts +99 -98
- package/dist/cards/CardFoot.d.ts +2 -2
- package/dist/cards/CardHead.d.ts +2 -2
- package/dist/cards/CardParts.d.ts +7 -7
- package/dist/cards/Placeholder.d.ts +2 -2
- package/dist/cards/Stat.d.ts +7 -5
- package/dist/cards/Stat.js +2 -2
- package/dist/choice/Calendar.d.ts +2 -2
- package/dist/choice/Check.d.ts +3 -3
- package/dist/choice/DayStrip.d.ts +3 -3
- package/dist/choice/Mood.d.ts +2 -2
- package/dist/choice/Slider.d.ts +2 -2
- package/dist/forms/AddRow.d.ts +2 -2
- package/dist/forms/Composer.d.ts +2 -2
- package/dist/forms/Field.d.ts +2 -2
- package/dist/forms/FileBtn.d.ts +2 -2
- package/dist/forms/Pin.d.ts +2 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/journey/NoteRow.d.ts +2 -2
- package/dist/journey/Route.d.ts +2 -2
- package/dist/journey/TileBadge.d.ts +2 -2
- package/dist/layover/Banner.d.ts +2 -2
- package/dist/layover/Callout.d.ts +2 -2
- package/dist/layover/Deck.d.ts +3 -3
- package/dist/lists/Bubble.d.ts +3 -3
- package/dist/lists/Kv.d.ts +5 -5
- package/dist/lists/Legend.d.ts +3 -3
- package/dist/lists/Row.d.ts +14 -285
- package/dist/lists/Row.js +10 -3
- package/dist/lists/Timeline.d.ts +3 -3
- package/dist/media/MapArea.d.ts +2 -2
- package/dist/media/Mosaic.d.ts +3 -3
- package/dist/media/Postcard.d.ts +17 -7
- package/dist/media/Postcard.js +8 -5
- package/dist/media/Quote.d.ts +2 -2
- package/dist/media/Tile.d.ts +5 -4
- package/dist/numbers/Badge.d.ts +2 -2
- package/dist/numbers/Band.d.ts +3 -3
- package/dist/numbers/Bars.d.ts +3 -3
- package/dist/numbers/DotGrid.d.ts +2 -2
- package/dist/numbers/Picker.d.ts +3 -3
- package/dist/numbers/Progress.d.ts +9 -0
- package/dist/numbers/Progress.js +7 -0
- package/dist/numbers/Ring.d.ts +2 -2
- package/dist/numbers/Track.d.ts +3 -3
- package/dist/people/Avatar.d.ts +100 -99
- package/dist/people/AvatarPick.d.ts +3 -3
- package/dist/scaffold/ActionBar.d.ts +3 -3
- package/dist/scaffold/AppBar.d.ts +2 -2
- package/dist/scaffold/BaseContent.d.ts +3 -3
- package/dist/scaffold/Centre.d.ts +3 -3
- package/dist/scaffold/EmptyState.d.ts +2 -2
- package/dist/scaffold/FilterRow.d.ts +2 -2
- package/dist/scaffold/FloatBar.d.ts +105 -104
- package/dist/scaffold/PagerAt.d.ts +2 -2
- package/dist/scaffold/Screen.d.ts +100 -99
- package/dist/scaffold/TopBar.d.ts +2 -2
- package/dist/sheets/Drawer.d.ts +7 -7
- package/dist/sheets/Drawer.js +1 -1
- package/dist/sheets/Sheet.d.ts +3 -5
- package/dist/sheets/Sheet.js +2 -2
- package/dist/sheets/SheetBody.d.ts +2 -2
- package/dist/sheets/SheetHead.d.ts +2 -2
- package/dist/sheets/SheetStack.d.ts +5 -5
- package/dist/sheets/SheetStack.js +3 -3
- package/dist/sheets/SheetStage.d.ts +5 -7
- package/dist/sheets/SheetStage.js +3 -3
- package/dist/sheets/StackBack.d.ts +7 -0
- package/dist/sheets/StackBack.js +7 -0
- package/dist/sheets/Step.d.ts +2 -2
- package/dist/type/Icon.d.ts +22 -7
- package/dist/type/Icon.js +27 -4
- package/dist/type/Text.d.ts +7 -1
- package/dist/type/Text.js +2 -2
- package/package.json +3 -2
- package/dist/sheets/CardBack.d.ts +0 -7
- package/dist/sheets/CardBack.js +0 -7
package/dist/lists/Row.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ComponentProps, type ReactNode } from 'react';
|
|
2
2
|
import { type IconName } from '../type/Icon.js';
|
|
3
|
-
export interface RowProps extends Omit<
|
|
3
|
+
export interface RowProps extends Omit<ComponentProps<'div'>, 'title'> {
|
|
4
4
|
/** the leading visual: an Avatar, an AvatarStack, an Icon */
|
|
5
5
|
lead?: ReactNode;
|
|
6
6
|
/** an icon in the outlined 48px lead box (menu rows) */
|
|
@@ -23,295 +23,24 @@ export interface RowProps extends Omit<ComponentPropsWithoutRef<'div'>, 'title'>
|
|
|
23
23
|
/** div (default), a link, a label wrapping a Check/Toggle, li */
|
|
24
24
|
as?: 'div' | 'a' | 'label' | 'li';
|
|
25
25
|
href?: string;
|
|
26
|
+
/** what the row EXPANDS to show under itself (who liked, the rest of a list): the row becomes a `<details>`' summary */
|
|
27
|
+
more?: ReactNode;
|
|
28
|
+
/** CONTROLLED (with `more`): expanded. Pair it with `onOpenChange` */
|
|
29
|
+
open?: boolean;
|
|
30
|
+
/** UNCONTROLLED: start expanded */
|
|
31
|
+
defaultOpen?: boolean;
|
|
32
|
+
/** the row was tapped: the state it asks for */
|
|
33
|
+
onOpenChange?: (open: boolean) => void;
|
|
26
34
|
}
|
|
27
35
|
/**
|
|
28
36
|
* Row — a frameless row inside a card: lead · title + meta · end. 48px+ tall, a tap target.
|
|
29
37
|
* Several go in Rows (hairlines between). A row that IS a card is `Card row`.
|
|
30
38
|
* `done` is the checklist's finished line: ticked, muted, not tappable any more.
|
|
39
|
+
* `more` makes it expand: the row is the summary of a `<details class="row-expand">`, `more` comes out under it; `open` + `onOpenChange`, or `defaultOpen`.
|
|
40
|
+
* An `end` chevron turns when it is open — the app fetches whatever `more` lists; the row only shows it.
|
|
31
41
|
*/
|
|
32
|
-
export declare function Row({ lead, leadIcon, title, meta, body, end, endValue, endCaption, lg, done, as, href, className, children, ...rest }: RowProps): import("react").
|
|
33
|
-
|
|
34
|
-
style?: import("react").CSSProperties | undefined;
|
|
35
|
-
suppressHydrationWarning?: boolean | undefined | undefined;
|
|
36
|
-
color?: string | undefined | undefined;
|
|
37
|
-
id?: string | undefined | undefined;
|
|
38
|
-
lang?: string | undefined | undefined;
|
|
39
|
-
nonce?: string | undefined | undefined;
|
|
40
|
-
part?: string | undefined | undefined;
|
|
41
|
-
role?: import("react").AriaRole | undefined;
|
|
42
|
-
tabIndex?: number | undefined | undefined;
|
|
43
|
-
"aria-activedescendant"?: string | undefined | undefined;
|
|
44
|
-
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
45
|
-
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
|
|
46
|
-
"aria-braillelabel"?: string | undefined | undefined;
|
|
47
|
-
"aria-brailleroledescription"?: string | undefined | undefined;
|
|
48
|
-
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
49
|
-
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
50
|
-
"aria-colcount"?: number | undefined | undefined;
|
|
51
|
-
"aria-colindex"?: number | undefined | undefined;
|
|
52
|
-
"aria-colindextext"?: string | undefined | undefined;
|
|
53
|
-
"aria-colspan"?: number | undefined | undefined;
|
|
54
|
-
"aria-controls"?: string | undefined | undefined;
|
|
55
|
-
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
|
|
56
|
-
"aria-describedby"?: string | undefined | undefined;
|
|
57
|
-
"aria-description"?: string | undefined | undefined;
|
|
58
|
-
"aria-details"?: string | undefined | undefined;
|
|
59
|
-
"aria-disabled": (boolean | "true" | "false") | undefined;
|
|
60
|
-
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
|
|
61
|
-
"aria-errormessage"?: string | undefined | undefined;
|
|
62
|
-
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
63
|
-
"aria-flowto"?: string | undefined | undefined;
|
|
64
|
-
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
65
|
-
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
|
|
66
|
-
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
67
|
-
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
|
|
68
|
-
"aria-keyshortcuts"?: string | undefined | undefined;
|
|
69
|
-
"aria-label"?: string | undefined | undefined;
|
|
70
|
-
"aria-labelledby"?: string | undefined | undefined;
|
|
71
|
-
"aria-level"?: number | undefined | undefined;
|
|
72
|
-
"aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
|
|
73
|
-
"aria-modal"?: (boolean | "true" | "false") | undefined;
|
|
74
|
-
"aria-multiline"?: (boolean | "true" | "false") | undefined;
|
|
75
|
-
"aria-multiselectable"?: (boolean | "true" | "false") | undefined;
|
|
76
|
-
"aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
|
|
77
|
-
"aria-owns"?: string | undefined | undefined;
|
|
78
|
-
"aria-placeholder"?: string | undefined | undefined;
|
|
79
|
-
"aria-posinset"?: number | undefined | undefined;
|
|
80
|
-
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
81
|
-
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
82
|
-
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
|
|
83
|
-
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
84
|
-
"aria-roledescription"?: string | undefined | undefined;
|
|
85
|
-
"aria-rowcount"?: number | undefined | undefined;
|
|
86
|
-
"aria-rowindex"?: number | undefined | undefined;
|
|
87
|
-
"aria-rowindextext"?: string | undefined | undefined;
|
|
88
|
-
"aria-rowspan"?: number | undefined | undefined;
|
|
89
|
-
"aria-selected"?: (boolean | "true" | "false") | undefined;
|
|
90
|
-
"aria-setsize"?: number | undefined | undefined;
|
|
91
|
-
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
|
|
92
|
-
"aria-valuemax"?: number | undefined | undefined;
|
|
93
|
-
"aria-valuemin"?: number | undefined | undefined;
|
|
94
|
-
"aria-valuenow"?: number | undefined | undefined;
|
|
95
|
-
"aria-valuetext"?: string | undefined | undefined;
|
|
96
|
-
dangerouslySetInnerHTML?: {
|
|
97
|
-
__html: string | TrustedHTML;
|
|
98
|
-
} | undefined | undefined;
|
|
99
|
-
onCopy?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
|
|
100
|
-
onCopyCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
|
|
101
|
-
onCut?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
|
|
102
|
-
onCutCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
|
|
103
|
-
onPaste?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
|
|
104
|
-
onPasteCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
|
|
105
|
-
onCompositionEnd?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
|
|
106
|
-
onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
|
|
107
|
-
onCompositionStart?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
|
|
108
|
-
onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
|
|
109
|
-
onCompositionUpdate?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
|
|
110
|
-
onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
|
|
111
|
-
onFocus?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
|
|
112
|
-
onFocusCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
|
|
113
|
-
onBlur?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
|
|
114
|
-
onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
|
|
115
|
-
onChange?: import("react").ChangeEventHandler<HTMLDivElement, Element> | undefined;
|
|
116
|
-
onChangeCapture?: import("react").ChangeEventHandler<HTMLDivElement, Element> | undefined;
|
|
117
|
-
onBeforeInput?: import("react").InputEventHandler<HTMLDivElement> | undefined;
|
|
118
|
-
onBeforeInputCapture?: import("react").InputEventHandler<HTMLDivElement> | undefined;
|
|
119
|
-
onInput?: import("react").InputEventHandler<HTMLDivElement> | undefined;
|
|
120
|
-
onInputCapture?: import("react").InputEventHandler<HTMLDivElement> | undefined;
|
|
121
|
-
onReset?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
122
|
-
onResetCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
123
|
-
onSubmit?: import("react").SubmitEventHandler<HTMLDivElement> | undefined;
|
|
124
|
-
onSubmitCapture?: import("react").SubmitEventHandler<HTMLDivElement> | undefined;
|
|
125
|
-
onInvalid?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
126
|
-
onInvalidCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
127
|
-
onLoad?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
128
|
-
onLoadCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
129
|
-
onError?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
130
|
-
onErrorCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
131
|
-
onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
|
|
132
|
-
onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
|
|
133
|
-
onKeyPress?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
|
|
134
|
-
onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
|
|
135
|
-
onKeyUp?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
|
|
136
|
-
onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
|
|
137
|
-
onAbort?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
138
|
-
onAbortCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
139
|
-
onCanPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
140
|
-
onCanPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
141
|
-
onCanPlayThrough?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
142
|
-
onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
143
|
-
onDurationChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
144
|
-
onDurationChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
145
|
-
onEmptied?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
146
|
-
onEmptiedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
147
|
-
onEncrypted?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
148
|
-
onEncryptedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
149
|
-
onEnded?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
150
|
-
onEndedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
151
|
-
onLoadedData?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
152
|
-
onLoadedDataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
153
|
-
onLoadedMetadata?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
154
|
-
onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
155
|
-
onLoadStart?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
156
|
-
onLoadStartCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
157
|
-
onPause?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
158
|
-
onPauseCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
159
|
-
onPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
160
|
-
onPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
161
|
-
onPlaying?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
162
|
-
onPlayingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
163
|
-
onProgress?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
164
|
-
onProgressCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
165
|
-
onRateChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
166
|
-
onRateChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
167
|
-
onSeeked?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
168
|
-
onSeekedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
169
|
-
onSeeking?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
170
|
-
onSeekingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
171
|
-
onStalled?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
172
|
-
onStalledCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
173
|
-
onSuspend?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
174
|
-
onSuspendCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
175
|
-
onTimeUpdate?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
176
|
-
onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
177
|
-
onVolumeChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
178
|
-
onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
179
|
-
onWaiting?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
180
|
-
onWaitingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
181
|
-
onAuxClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
182
|
-
onAuxClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
183
|
-
onClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
184
|
-
onClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
185
|
-
onContextMenu?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
186
|
-
onContextMenuCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
187
|
-
onDoubleClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
188
|
-
onDoubleClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
189
|
-
onDrag?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
190
|
-
onDragCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
191
|
-
onDragEnd?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
192
|
-
onDragEndCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
193
|
-
onDragEnter?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
194
|
-
onDragEnterCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
195
|
-
onDragExit?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
196
|
-
onDragExitCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
197
|
-
onDragLeave?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
198
|
-
onDragLeaveCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
199
|
-
onDragOver?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
200
|
-
onDragOverCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
201
|
-
onDragStart?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
202
|
-
onDragStartCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
203
|
-
onDrop?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
204
|
-
onDropCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
|
|
205
|
-
onMouseDown?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
206
|
-
onMouseDownCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
207
|
-
onMouseEnter?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
208
|
-
onMouseLeave?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
209
|
-
onMouseMove?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
210
|
-
onMouseMoveCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
211
|
-
onMouseOut?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
212
|
-
onMouseOutCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
213
|
-
onMouseOver?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
214
|
-
onMouseOverCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
215
|
-
onMouseUp?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
216
|
-
onMouseUpCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
|
|
217
|
-
onSelect?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
218
|
-
onSelectCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
219
|
-
onTouchCancel?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
|
|
220
|
-
onTouchCancelCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
|
|
221
|
-
onTouchEnd?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
|
|
222
|
-
onTouchEndCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
|
|
223
|
-
onTouchMove?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
|
|
224
|
-
onTouchMoveCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
|
|
225
|
-
onTouchStart?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
|
|
226
|
-
onTouchStartCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
|
|
227
|
-
onPointerDown?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
228
|
-
onPointerDownCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
229
|
-
onPointerMove?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
230
|
-
onPointerMoveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
231
|
-
onPointerUp?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
232
|
-
onPointerUpCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
233
|
-
onPointerCancel?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
234
|
-
onPointerCancelCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
235
|
-
onPointerEnter?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
236
|
-
onPointerLeave?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
237
|
-
onPointerOver?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
238
|
-
onPointerOverCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
239
|
-
onPointerOut?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
240
|
-
onPointerOutCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
241
|
-
onGotPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
242
|
-
onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
243
|
-
onLostPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
244
|
-
onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
245
|
-
onScroll?: import("react").UIEventHandler<HTMLDivElement> | undefined;
|
|
246
|
-
onScrollCapture?: import("react").UIEventHandler<HTMLDivElement> | undefined;
|
|
247
|
-
onScrollEnd?: import("react").UIEventHandler<HTMLDivElement> | undefined;
|
|
248
|
-
onScrollEndCapture?: import("react").UIEventHandler<HTMLDivElement> | undefined;
|
|
249
|
-
onWheel?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
|
|
250
|
-
onWheelCapture?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
|
|
251
|
-
onAnimationStart?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
|
|
252
|
-
onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
|
|
253
|
-
onAnimationEnd?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
|
|
254
|
-
onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
|
|
255
|
-
onAnimationIteration?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
|
|
256
|
-
onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
|
|
257
|
-
onToggle?: import("react").ToggleEventHandler<HTMLDivElement> | undefined;
|
|
258
|
-
onBeforeToggle?: import("react").ToggleEventHandler<HTMLDivElement> | undefined;
|
|
259
|
-
onTransitionCancel?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
260
|
-
onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
261
|
-
onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
262
|
-
onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
263
|
-
onTransitionRun?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
264
|
-
onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
265
|
-
onTransitionStart?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
266
|
-
onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
267
|
-
key?: import("react").Key | null | undefined;
|
|
268
|
-
defaultChecked?: boolean | undefined | undefined;
|
|
269
|
-
defaultValue?: string | number | readonly string[] | undefined;
|
|
270
|
-
suppressContentEditableWarning?: boolean | undefined | undefined;
|
|
271
|
-
accessKey?: string | undefined | undefined;
|
|
272
|
-
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
|
|
273
|
-
autoFocus?: boolean | undefined | undefined;
|
|
274
|
-
contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
|
|
275
|
-
contextMenu?: string | undefined | undefined;
|
|
276
|
-
dir?: string | undefined | undefined;
|
|
277
|
-
draggable?: (boolean | "true" | "false") | undefined;
|
|
278
|
-
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
279
|
-
hidden?: boolean | undefined | undefined;
|
|
280
|
-
spellCheck?: (boolean | "true" | "false") | undefined;
|
|
281
|
-
translate?: "yes" | "no" | undefined | undefined;
|
|
282
|
-
radioGroup?: string | undefined | undefined;
|
|
283
|
-
about?: string | undefined | undefined;
|
|
284
|
-
content?: string | undefined | undefined;
|
|
285
|
-
datatype?: string | undefined | undefined;
|
|
286
|
-
inlist?: any;
|
|
287
|
-
prefix?: string | undefined | undefined;
|
|
288
|
-
property?: string | undefined | undefined;
|
|
289
|
-
rel?: string | undefined | undefined;
|
|
290
|
-
resource?: string | undefined | undefined;
|
|
291
|
-
rev?: string | undefined | undefined;
|
|
292
|
-
typeof?: string | undefined | undefined;
|
|
293
|
-
vocab?: string | undefined | undefined;
|
|
294
|
-
autoCorrect?: string | undefined | undefined;
|
|
295
|
-
autoSave?: string | undefined | undefined;
|
|
296
|
-
itemProp?: string | undefined | undefined;
|
|
297
|
-
itemScope?: boolean | undefined | undefined;
|
|
298
|
-
itemType?: string | undefined | undefined;
|
|
299
|
-
itemID?: string | undefined | undefined;
|
|
300
|
-
itemRef?: string | undefined | undefined;
|
|
301
|
-
results?: number | undefined | undefined;
|
|
302
|
-
security?: string | undefined | undefined;
|
|
303
|
-
unselectable?: "on" | "off" | undefined | undefined;
|
|
304
|
-
popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
|
|
305
|
-
popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
|
|
306
|
-
popoverTarget?: string | undefined | undefined;
|
|
307
|
-
inert?: boolean | undefined | undefined;
|
|
308
|
-
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
309
|
-
is?: string | undefined | undefined;
|
|
310
|
-
exportparts?: string | undefined | undefined;
|
|
311
|
-
href: string | undefined;
|
|
312
|
-
className: string;
|
|
313
|
-
}, HTMLElement>;
|
|
314
|
-
export interface RowsProps extends ComponentPropsWithoutRef<'div'> {
|
|
42
|
+
export declare function Row({ lead, leadIcon, title, meta, body, end, endValue, endCaption, lg, done, as, href, more, open, defaultOpen, onOpenChange, className, children, ...rest }: RowProps): import("react").JSX.Element;
|
|
43
|
+
export interface RowsProps extends ComponentProps<'div'> {
|
|
315
44
|
}
|
|
316
45
|
/** Rows — a list of Rows separated by hairlines. */
|
|
317
46
|
export declare function Rows({ className, ...rest }: RowsProps): import("react").JSX.Element;
|
package/dist/lists/Row.js
CHANGED
|
@@ -6,10 +6,17 @@ import { Icon } from '../type/Icon.js';
|
|
|
6
6
|
* Row — a frameless row inside a card: lead · title + meta · end. 48px+ tall, a tap target.
|
|
7
7
|
* Several go in Rows (hairlines between). A row that IS a card is `Card row`.
|
|
8
8
|
* `done` is the checklist's finished line: ticked, muted, not tappable any more.
|
|
9
|
+
* `more` makes it expand: the row is the summary of a `<details class="row-expand">`, `more` comes out under it; `open` + `onOpenChange`, or `defaultOpen`.
|
|
10
|
+
* An `end` chevron turns when it is open — the app fetches whatever `more` lists; the row only shows it.
|
|
9
11
|
*/
|
|
10
|
-
export function Row({ lead, leadIcon, title, meta, body, end, endValue, endCaption, lg, done, as, href, className, children, ...rest }) {
|
|
11
|
-
const el = as ?? (href ? 'a' : 'div');
|
|
12
|
-
|
|
12
|
+
export function Row({ lead, leadIcon, title, meta, body, end, endValue, endCaption, lg, done, as, href, more, open, defaultOpen, onOpenChange, className, children, ...rest }) {
|
|
13
|
+
const el = more !== undefined ? 'summary' : as ?? (href ? 'a' : 'div');
|
|
14
|
+
const row = createElement(el, { href, className: cx('row', lg && 'row--lg', done && 'row--done', className), 'aria-disabled': done || undefined, ...(more === undefined ? rest : {}) }, leadIcon ? _jsx("span", { className: "row__lead", children: _jsx(Icon, { name: leadIcon }) }) : lead, (title != null || meta != null || body != null) && (_jsxs("div", { className: "row__body", children: [title != null && _jsx("span", { className: "row__title", children: title }), meta != null && _jsx("span", { className: "row__meta", children: meta }), body] })), children, (endValue != null || endCaption != null) && (_jsxs("span", { className: "row__end", children: [endValue != null && _jsx("span", { className: "t-title", children: endValue }), endCaption != null && _jsx("span", { className: "t-caption t-muted", children: endCaption })] })), end, done && _jsx("span", { className: "row__done", children: _jsx(Icon, { name: "check", size: "sm" }) }));
|
|
15
|
+
if (more === undefined)
|
|
16
|
+
return row;
|
|
17
|
+
return (_jsxs("details", { className: "row-expand", open: open ?? defaultOpen, ...rest, onToggle: (e) => { const is = e.currentTarget.open; if (open !== undefined && is !== open)
|
|
18
|
+
e.currentTarget.open = open; if (is !== (open ?? !is))
|
|
19
|
+
onOpenChange?.(is); }, children: [row, _jsx("div", { className: "row-expand__more", children: more })] }));
|
|
13
20
|
}
|
|
14
21
|
/** Rows — a list of Rows separated by hairlines. */
|
|
15
22
|
export function Rows({ className, ...rest }) {
|
package/dist/lists/Timeline.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface TimelineProps extends
|
|
1
|
+
import type { ComponentProps, ReactNode } from 'react';
|
|
2
|
+
export interface TimelineProps extends ComponentProps<'ol'> {
|
|
3
3
|
}
|
|
4
4
|
/** Timeline — a hairline with accent dots, date marks and entries to the right; children are TimelineItems. */
|
|
5
5
|
export declare function Timeline({ className, ...rest }: TimelineProps): import("react").JSX.Element;
|
|
6
|
-
export interface TimelineItemProps extends
|
|
6
|
+
export interface TimelineItemProps extends ComponentProps<'li'> {
|
|
7
7
|
/** the date chip ("Wed 14") */
|
|
8
8
|
mark: ReactNode;
|
|
9
9
|
}
|
package/dist/media/MapArea.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface MapAreaProps extends
|
|
1
|
+
import type { ComponentProps, ReactNode, Ref } from 'react';
|
|
2
|
+
export interface MapAreaProps extends ComponentProps<'div'> {
|
|
3
3
|
/** the words over the map, under the bar's line */
|
|
4
4
|
hint?: ReactNode;
|
|
5
5
|
/** the tile provider's credit, bottom right (OSM requires it) — a caption, never the engine's own control */
|
package/dist/media/Mosaic.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface MosaicProps extends
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
export interface MosaicProps extends ComponentProps<'div'> {
|
|
3
3
|
label?: string;
|
|
4
4
|
}
|
|
5
5
|
/** Mosaic — one big photo + two small in a card (three Placeholders or imgs). */
|
|
6
6
|
export declare function Mosaic({ label, className, ...rest }: MosaicProps): import("react").JSX.Element;
|
|
7
|
-
export interface WaveProps extends
|
|
7
|
+
export interface WaveProps extends ComponentProps<'span'> {
|
|
8
8
|
label?: string;
|
|
9
9
|
}
|
|
10
10
|
/** Wave — the waveform stand-in for a voice note, filling a Row's body. */
|
package/dist/media/Postcard.d.ts
CHANGED
|
@@ -1,24 +1,34 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export interface PostcardProps extends
|
|
1
|
+
import { type ComponentProps, type ReactNode } from 'react';
|
|
2
|
+
export interface PostcardProps extends ComponentProps<'div'> {
|
|
3
3
|
/** the photo on the front; none = the wireframe box */
|
|
4
4
|
photo?: string | null;
|
|
5
5
|
alt?: string;
|
|
6
|
-
/** whose card it is —
|
|
6
|
+
/** whose card it is — the big line of the band */
|
|
7
7
|
name: ReactNode;
|
|
8
|
+
/** the line under the name (a place, a date, a one-liner) */
|
|
9
|
+
line?: ReactNode;
|
|
8
10
|
/** the words on the back */
|
|
9
11
|
caption?: ReactNode;
|
|
12
|
+
/** a voice note instead of words: the control to hear it, at the middle of the back — the APP plays it (an `IconBtn` with its `onClick`) */
|
|
13
|
+
voice?: ReactNode;
|
|
10
14
|
/** CONTROLLED: the back is showing. The app owns it — pair it with `onFlip`. */
|
|
11
15
|
flipped?: boolean;
|
|
12
16
|
/** UNCONTROLLED: start turned over; the card then keeps its own side */
|
|
13
17
|
defaultFlipped?: boolean;
|
|
14
18
|
/** a face was tapped: the side it asks to show */
|
|
15
19
|
onFlip?: (flipped: boolean) => void;
|
|
20
|
+
/** the heart in the band: the member's own like (the app owns it — the list of who liked comes from the app's data, shown OUTSIDE the card) */
|
|
21
|
+
liked?: boolean;
|
|
22
|
+
/** the heart was tapped: the state it asks for. No `liked` and no `onLike` = no heart */
|
|
23
|
+
onLike?: (liked: boolean) => void;
|
|
24
|
+
likeLabel?: string;
|
|
16
25
|
frontLabel?: string;
|
|
17
26
|
backLabel?: string;
|
|
18
27
|
}
|
|
19
28
|
/**
|
|
20
|
-
* Postcard — a member's introduction
|
|
21
|
-
* the
|
|
22
|
-
*
|
|
29
|
+
* Postcard — a member's introduction, the shape of a cover card: the photo fills it (or the wireframe box), the band at the
|
|
30
|
+
* bottom holds the name, its line and the heart, and turns WITH the face; a tap on the photo turns it over (`--motion-flip`) to the back: the name a fifth down the paper, its line and the caption after it — or, for a voice note, `voice` (the play control) at the middle; the app plays it.
|
|
31
|
+
* Which side shows is a state: `flipped` + `onFlip`, or `defaultFlipped`. The heart is the member's own like: `liked` + `onLike`.
|
|
32
|
+
* Who else liked it, a voice note, a reply go OUTSIDE it — a Row under it (`Row more` expands the list).
|
|
23
33
|
*/
|
|
24
|
-
export declare function Postcard({ photo, alt, name, caption, flipped, defaultFlipped, onFlip, frontLabel, backLabel, className, ...rest }: PostcardProps): import("react").JSX.Element;
|
|
34
|
+
export declare function Postcard({ photo, alt, name, line, caption, voice, flipped, defaultFlipped, onFlip, liked, onLike, likeLabel, frontLabel, backLabel, className, ...rest }: PostcardProps): import("react").JSX.Element;
|
package/dist/media/Postcard.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { cx } from '../cx.js';
|
|
4
|
+
import { IconBtn } from '../actions/IconBtn.js';
|
|
4
5
|
/**
|
|
5
|
-
* Postcard — a member's introduction
|
|
6
|
-
* the
|
|
7
|
-
*
|
|
6
|
+
* Postcard — a member's introduction, the shape of a cover card: the photo fills it (or the wireframe box), the band at the
|
|
7
|
+
* bottom holds the name, its line and the heart, and turns WITH the face; a tap on the photo turns it over (`--motion-flip`) to the back: the name a fifth down the paper, its line and the caption after it — or, for a voice note, `voice` (the play control) at the middle; the app plays it.
|
|
8
|
+
* Which side shows is a state: `flipped` + `onFlip`, or `defaultFlipped`. The heart is the member's own like: `liked` + `onLike`.
|
|
9
|
+
* Who else liked it, a voice note, a reply go OUTSIDE it — a Row under it (`Row more` expands the list).
|
|
8
10
|
*/
|
|
9
|
-
export function Postcard({ photo, alt = '', name, caption, flipped, defaultFlipped = false, onFlip, frontLabel = 'พลิกดูด้านหลัง', backLabel = 'พลิกดูด้านหน้า', className, ...rest }) {
|
|
11
|
+
export function Postcard({ photo, alt = '', name, line, caption, voice, flipped, defaultFlipped = false, onFlip, liked, onLike, likeLabel = 'ถูกใจ', frontLabel = 'พลิกดูด้านหลัง', backLabel = 'พลิกดูด้านหน้า', className, ...rest }) {
|
|
10
12
|
const [inner, setInner] = useState(defaultFlipped);
|
|
11
13
|
const back = flipped ?? inner;
|
|
12
14
|
const turn = () => { if (flipped === undefined)
|
|
13
15
|
setInner(!back); onFlip?.(!back); };
|
|
14
|
-
|
|
16
|
+
const words = (_jsxs("div", { className: "postcard__words", children: [_jsx("span", { className: "t-h1", children: name }), line != null && _jsx("span", { className: "t-body", children: line })] }));
|
|
17
|
+
return (_jsxs("div", { className: cx('postcard', back && 'is-flipped', className), ...rest, children: [_jsxs("div", { className: "postcard__face postcard__front", children: [_jsx("button", { className: "postcard__turn", type: "button", "aria-label": frontLabel, onClick: turn, children: photo ? _jsx("img", { src: photo, alt: alt }) : alt ? _jsx("div", { className: "ph", role: "img", "aria-label": alt }) : _jsx("div", { className: "ph" }) }), _jsxs("div", { className: "postcard__band", children: [words, (liked !== undefined || onLike) && _jsx(IconBtn, { invert: true, icon: "heart", label: likeLabel, "aria-pressed": !!liked, onClick: () => onLike?.(!liked) })] })] }), _jsxs("div", { className: "postcard__face postcard__back", children: [_jsxs("button", { className: "postcard__turn", type: "button", "aria-label": backLabel, onClick: turn, children: [words, caption != null && _jsx("p", { className: "postcard__caption", children: caption })] }), voice != null && _jsx("div", { className: "postcard__voice", children: voice })] })] }));
|
|
15
18
|
}
|
package/dist/media/Quote.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface QuoteProps extends
|
|
1
|
+
import type { ComponentProps, ReactNode } from 'react';
|
|
2
|
+
export interface QuoteProps extends ComponentProps<'blockquote'> {
|
|
3
3
|
/** the words */
|
|
4
4
|
text: ReactNode;
|
|
5
5
|
/** the attribution */
|
package/dist/media/Tile.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type ComponentProps, type ReactNode } from 'react';
|
|
2
2
|
import { type IconName } from '../type/Icon.js';
|
|
3
|
-
export interface TileGridProps extends
|
|
3
|
+
export interface TileGridProps extends ComponentProps<'div'> {
|
|
4
4
|
/** three across on a phone (attachments, upload kinds) */
|
|
5
5
|
cols3?: boolean;
|
|
6
6
|
bleed?: boolean;
|
|
7
7
|
}
|
|
8
8
|
/** TileGrid — big square Tiles in a responsive grid. */
|
|
9
9
|
export declare function TileGrid({ cols3, bleed, className, ...rest }: TileGridProps): import("react").JSX.Element;
|
|
10
|
-
export interface TileProps extends Omit<
|
|
10
|
+
export interface TileProps extends Omit<ComponentProps<'div'>, 'onChange'> {
|
|
11
11
|
/** the icon at the top */
|
|
12
12
|
icon?: IconName;
|
|
13
13
|
/** the label at the bottom */
|
|
@@ -272,6 +272,7 @@ export declare function Tile({ icon, label, value, sub, pick, type, name, checke
|
|
|
272
272
|
onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
273
273
|
onTransitionStart?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
274
274
|
onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
275
|
+
ref?: import("react").Ref<HTMLDivElement> | undefined;
|
|
275
276
|
key?: import("react").Key | null | undefined;
|
|
276
277
|
defaultValue?: string | number | readonly string[] | undefined;
|
|
277
278
|
suppressContentEditableWarning?: boolean | undefined | undefined;
|
|
@@ -317,4 +318,4 @@ export declare function Tile({ icon, label, value, sub, pick, type, name, checke
|
|
|
317
318
|
exportparts?: string | undefined | undefined;
|
|
318
319
|
type: string | undefined;
|
|
319
320
|
className: string;
|
|
320
|
-
},
|
|
321
|
+
}, HTMLDivElement>;
|
package/dist/numbers/Badge.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface BadgeProps extends
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
export interface BadgeProps extends ComponentProps<'span'> {
|
|
3
3
|
/** tinted instead of accent */
|
|
4
4
|
soft?: boolean;
|
|
5
5
|
}
|
package/dist/numbers/Band.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface BandProps extends
|
|
1
|
+
import type { ComponentProps, ReactNode } from 'react';
|
|
2
|
+
export interface BandProps extends ComponentProps<'article'> {
|
|
3
3
|
/** the two-line label (use a `<br />` to break it) */
|
|
4
4
|
label: ReactNode;
|
|
5
5
|
/** the giant number; wrap a unit in `<small>` */
|
|
@@ -10,7 +10,7 @@ export interface BandProps extends ComponentPropsWithoutRef<'article'> {
|
|
|
10
10
|
}
|
|
11
11
|
/** Band — a data card: 2-line label · giant number · footnote. Stack several in a BandStack for one boundary with hairlines. */
|
|
12
12
|
export declare function Band({ label, num, foot, tone, className, ...rest }: BandProps): import("react").JSX.Element;
|
|
13
|
-
export interface BandStackProps extends
|
|
13
|
+
export interface BandStackProps extends ComponentProps<'div'> {
|
|
14
14
|
}
|
|
15
15
|
/** BandStack — several Bands as ONE card boundary, a hairline between each. */
|
|
16
16
|
export declare function BandStack({ className, ...rest }: BandStackProps): import("react").JSX.Element;
|
package/dist/numbers/Bars.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface BarsProps extends
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
export interface BarsProps extends ComponentProps<'div'> {
|
|
3
3
|
/** the value of the tallest bar */
|
|
4
4
|
max: number;
|
|
5
5
|
}
|
|
6
6
|
/** Bars — three or four bars with a count on top, the glance chart; children are Bar. */
|
|
7
7
|
export declare function Bars({ max, className, style, ...rest }: BarsProps): import("react").JSX.Element;
|
|
8
|
-
export interface BarProps extends
|
|
8
|
+
export interface BarProps extends ComponentProps<'div'> {
|
|
9
9
|
value: number;
|
|
10
10
|
/** the highlighted bar (accent, its count in a pill) */
|
|
11
11
|
on?: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface DotGridProps extends
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
export interface DotGridProps extends ComponentProps<'div'> {
|
|
3
3
|
/** how many dots */
|
|
4
4
|
total: number;
|
|
5
5
|
/** how many are done (filled, from the top-left) */
|
package/dist/numbers/Picker.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
export interface PickerProps extends Omit<
|
|
1
|
+
import { type ComponentProps, type ReactNode } from 'react';
|
|
2
|
+
export interface PickerProps extends Omit<ComponentProps<'div'>, 'onChange' | 'defaultValue'> {
|
|
3
3
|
/** CONTROLLED: the chosen PickerItem's `value`. The app owns it — pair it with `onChange`. */
|
|
4
4
|
value?: string;
|
|
5
5
|
/** UNCONTROLLED: the value it starts on; the picker then keeps its own */
|
|
@@ -17,7 +17,7 @@ export interface PickerProps extends Omit<ComponentPropsWithoutRef<'div'>, 'onCh
|
|
|
17
17
|
* settled in the centre. The CSS lights the centred item by scroll position; the app never reads the DOM to know what was picked.
|
|
18
18
|
*/
|
|
19
19
|
export declare function Picker({ value, defaultValue, onChange, unit, label, className, children, ...rest }: PickerProps): import("react").JSX.Element;
|
|
20
|
-
export interface PickerItemProps extends Omit<
|
|
20
|
+
export interface PickerItemProps extends Omit<ComponentProps<'button'>, 'value'> {
|
|
21
21
|
/** what choosing this item reports; default = its own text */
|
|
22
22
|
value?: string;
|
|
23
23
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ComponentProps } from 'react';
|
|
2
|
+
export interface ProgressProps extends ComponentProps<'div'> {
|
|
3
|
+
/** the done share, 0–1 */
|
|
4
|
+
at: number;
|
|
5
|
+
/** accessible name */
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
/** Progress — one straight line: the done share solid, the rest faint. A voice note's timeline, a download; the app keeps the value. */
|
|
9
|
+
export declare function Progress({ at, label, className, style, ...rest }: ProgressProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cx } from '../cx.js';
|
|
3
|
+
/** Progress — one straight line: the done share solid, the rest faint. A voice note's timeline, a download; the app keeps the value. */
|
|
4
|
+
export function Progress({ at, label, className, style, ...rest }) {
|
|
5
|
+
const v = Math.min(1, Math.max(0, at));
|
|
6
|
+
return _jsx("div", { className: cx('progress', className), role: "progressbar", "aria-label": label, "aria-valuemin": 0, "aria-valuemax": 1, "aria-valuenow": v, style: { ...style, '--progress-at': v }, ...rest });
|
|
7
|
+
}
|
package/dist/numbers/Ring.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface RingProps extends
|
|
1
|
+
import type { ComponentProps, ReactNode } from 'react';
|
|
2
|
+
export interface RingProps extends ComponentProps<'div'> {
|
|
3
3
|
/** 0–100 */
|
|
4
4
|
value: number;
|
|
5
5
|
/** sm = an avatar-xl ring · xs = an inline counter in a head (2/3) */
|