@usableapp/cardds 0.1.0 → 0.1.2

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.
@@ -1,4 +1,4 @@
1
- import { type ComponentPropsWithoutRef } from 'react';
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
2
2
  import { type IconName } from '../type/Icon';
3
3
  export interface IconBtnProps extends ComponentPropsWithoutRef<'button'> {
4
4
  /** the accessible name — required, the button has no text */
@@ -11,298 +11,13 @@ export interface IconBtnProps extends ComponentPropsWithoutRef<'button'> {
11
11
  invert?: boolean;
12
12
  /** a link styled as a round button */
13
13
  href?: string;
14
+ /** an actions menu the button opens (MenuItems) — the popover anchored under it, growing leftwards (`menuStart` for a left-side button); needs `menuId` */
15
+ menu?: ReactNode;
16
+ /** the menu popover's id (unique on the page) */
17
+ menuId?: string;
18
+ /** the button sits at the left: the panel grows rightwards */
19
+ menuStart?: boolean;
14
20
  }
15
- /** IconBtn — the round icon button: `sm` in heads and bars, full size in rows and composers, `invert` for the one filled move. */
16
- export declare function IconBtn({ label, icon, sm, invert, href, className, type, children, ...rest }: IconBtnProps): import("react").DetailedReactHTMLElement<{
17
- form?: string | undefined | undefined;
18
- slot?: string | undefined | undefined;
19
- style?: import("react").CSSProperties | undefined;
20
- title?: string | undefined | undefined;
21
- suppressHydrationWarning?: boolean | undefined | undefined;
22
- color?: string | undefined | undefined;
23
- id?: string | undefined | undefined;
24
- lang?: string | undefined | undefined;
25
- name?: string | undefined | undefined;
26
- nonce?: string | undefined | undefined;
27
- part?: string | undefined | undefined;
28
- role?: import("react").AriaRole | undefined;
29
- tabIndex?: number | undefined | undefined;
30
- "aria-activedescendant"?: string | undefined | undefined;
31
- "aria-atomic"?: (boolean | "true" | "false") | undefined;
32
- "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
33
- "aria-braillelabel"?: string | undefined | undefined;
34
- "aria-brailleroledescription"?: string | undefined | undefined;
35
- "aria-busy"?: (boolean | "true" | "false") | undefined;
36
- "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
37
- "aria-colcount"?: number | undefined | undefined;
38
- "aria-colindex"?: number | undefined | undefined;
39
- "aria-colindextext"?: string | undefined | undefined;
40
- "aria-colspan"?: number | undefined | undefined;
41
- "aria-controls"?: string | undefined | undefined;
42
- "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
43
- "aria-describedby"?: string | undefined | undefined;
44
- "aria-description"?: string | undefined | undefined;
45
- "aria-details"?: string | undefined | undefined;
46
- "aria-disabled"?: (boolean | "true" | "false") | undefined;
47
- "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
48
- "aria-errormessage"?: string | undefined | undefined;
49
- "aria-expanded"?: (boolean | "true" | "false") | undefined;
50
- "aria-flowto"?: string | undefined | undefined;
51
- "aria-grabbed"?: (boolean | "true" | "false") | undefined;
52
- "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
53
- "aria-hidden"?: (boolean | "true" | "false") | undefined;
54
- "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
55
- "aria-keyshortcuts"?: string | undefined | undefined;
56
- "aria-label": string;
57
- "aria-labelledby"?: string | undefined | undefined;
58
- "aria-level"?: number | undefined | undefined;
59
- "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
60
- "aria-modal"?: (boolean | "true" | "false") | undefined;
61
- "aria-multiline"?: (boolean | "true" | "false") | undefined;
62
- "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
63
- "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
64
- "aria-owns"?: string | undefined | undefined;
65
- "aria-placeholder"?: string | undefined | undefined;
66
- "aria-posinset"?: number | undefined | undefined;
67
- "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
68
- "aria-readonly"?: (boolean | "true" | "false") | undefined;
69
- "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
70
- "aria-required"?: (boolean | "true" | "false") | undefined;
71
- "aria-roledescription"?: string | undefined | undefined;
72
- "aria-rowcount"?: number | undefined | undefined;
73
- "aria-rowindex"?: number | undefined | undefined;
74
- "aria-rowindextext"?: string | undefined | undefined;
75
- "aria-rowspan"?: number | undefined | undefined;
76
- "aria-selected"?: (boolean | "true" | "false") | undefined;
77
- "aria-setsize"?: number | undefined | undefined;
78
- "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
79
- "aria-valuemax"?: number | undefined | undefined;
80
- "aria-valuemin"?: number | undefined | undefined;
81
- "aria-valuenow"?: number | undefined | undefined;
82
- "aria-valuetext"?: string | undefined | undefined;
83
- dangerouslySetInnerHTML?: {
84
- __html: string | TrustedHTML;
85
- } | undefined | undefined;
86
- onCopy?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
87
- onCopyCapture?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
88
- onCut?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
89
- onCutCapture?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
90
- onPaste?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
91
- onPasteCapture?: import("react").ClipboardEventHandler<HTMLButtonElement> | undefined;
92
- onCompositionEnd?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
93
- onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
94
- onCompositionStart?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
95
- onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
96
- onCompositionUpdate?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
97
- onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLButtonElement> | undefined;
98
- onFocus?: import("react").FocusEventHandler<HTMLButtonElement> | undefined;
99
- onFocusCapture?: import("react").FocusEventHandler<HTMLButtonElement> | undefined;
100
- onBlur?: import("react").FocusEventHandler<HTMLButtonElement> | undefined;
101
- onBlurCapture?: import("react").FocusEventHandler<HTMLButtonElement> | undefined;
102
- onChange?: import("react").ChangeEventHandler<HTMLButtonElement, Element> | undefined;
103
- onChangeCapture?: import("react").ChangeEventHandler<HTMLButtonElement, Element> | undefined;
104
- onBeforeInput?: import("react").InputEventHandler<HTMLButtonElement> | undefined;
105
- onBeforeInputCapture?: import("react").InputEventHandler<HTMLButtonElement> | undefined;
106
- onInput?: import("react").InputEventHandler<HTMLButtonElement> | undefined;
107
- onInputCapture?: import("react").InputEventHandler<HTMLButtonElement> | undefined;
108
- onReset?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
109
- onResetCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
110
- onSubmit?: import("react").SubmitEventHandler<HTMLButtonElement> | undefined;
111
- onSubmitCapture?: import("react").SubmitEventHandler<HTMLButtonElement> | undefined;
112
- onInvalid?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
113
- onInvalidCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
114
- onLoad?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
115
- onLoadCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
116
- onError?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
117
- onErrorCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
118
- onKeyDown?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
119
- onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
120
- onKeyPress?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
121
- onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
122
- onKeyUp?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
123
- onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLButtonElement> | undefined;
124
- onAbort?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
125
- onAbortCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
126
- onCanPlay?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
127
- onCanPlayCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
128
- onCanPlayThrough?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
129
- onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
130
- onDurationChange?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
131
- onDurationChangeCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
132
- onEmptied?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
133
- onEmptiedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
134
- onEncrypted?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
135
- onEncryptedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
136
- onEnded?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
137
- onEndedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
138
- onLoadedData?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
139
- onLoadedDataCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
140
- onLoadedMetadata?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
141
- onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
142
- onLoadStart?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
143
- onLoadStartCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
144
- onPause?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
145
- onPauseCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
146
- onPlay?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
147
- onPlayCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
148
- onPlaying?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
149
- onPlayingCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
150
- onProgress?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
151
- onProgressCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
152
- onRateChange?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
153
- onRateChangeCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
154
- onSeeked?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
155
- onSeekedCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
156
- onSeeking?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
157
- onSeekingCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
158
- onStalled?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
159
- onStalledCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
160
- onSuspend?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
161
- onSuspendCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
162
- onTimeUpdate?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
163
- onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
164
- onVolumeChange?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
165
- onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
166
- onWaiting?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
167
- onWaitingCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
168
- onAuxClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
169
- onAuxClickCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
170
- onClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
171
- onClickCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
172
- onContextMenu?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
173
- onContextMenuCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
174
- onDoubleClick?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
175
- onDoubleClickCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
176
- onDrag?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
177
- onDragCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
178
- onDragEnd?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
179
- onDragEndCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
180
- onDragEnter?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
181
- onDragEnterCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
182
- onDragExit?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
183
- onDragExitCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
184
- onDragLeave?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
185
- onDragLeaveCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
186
- onDragOver?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
187
- onDragOverCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
188
- onDragStart?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
189
- onDragStartCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
190
- onDrop?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
191
- onDropCapture?: import("react").DragEventHandler<HTMLButtonElement> | undefined;
192
- onMouseDown?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
193
- onMouseDownCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
194
- onMouseEnter?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
195
- onMouseLeave?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
196
- onMouseMove?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
197
- onMouseMoveCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
198
- onMouseOut?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
199
- onMouseOutCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
200
- onMouseOver?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
201
- onMouseOverCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
202
- onMouseUp?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
203
- onMouseUpCapture?: import("react").MouseEventHandler<HTMLButtonElement> | undefined;
204
- onSelect?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
205
- onSelectCapture?: import("react").ReactEventHandler<HTMLButtonElement> | undefined;
206
- onTouchCancel?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
207
- onTouchCancelCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
208
- onTouchEnd?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
209
- onTouchEndCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
210
- onTouchMove?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
211
- onTouchMoveCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
212
- onTouchStart?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
213
- onTouchStartCapture?: import("react").TouchEventHandler<HTMLButtonElement> | undefined;
214
- onPointerDown?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
215
- onPointerDownCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
216
- onPointerMove?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
217
- onPointerMoveCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
218
- onPointerUp?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
219
- onPointerUpCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
220
- onPointerCancel?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
221
- onPointerCancelCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
222
- onPointerEnter?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
223
- onPointerLeave?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
224
- onPointerOver?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
225
- onPointerOverCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
226
- onPointerOut?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
227
- onPointerOutCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
228
- onGotPointerCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
229
- onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
230
- onLostPointerCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
231
- onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLButtonElement> | undefined;
232
- onScroll?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
233
- onScrollCapture?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
234
- onScrollEnd?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
235
- onScrollEndCapture?: import("react").UIEventHandler<HTMLButtonElement> | undefined;
236
- onWheel?: import("react").WheelEventHandler<HTMLButtonElement> | undefined;
237
- onWheelCapture?: import("react").WheelEventHandler<HTMLButtonElement> | undefined;
238
- onAnimationStart?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
239
- onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
240
- onAnimationEnd?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
241
- onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
242
- onAnimationIteration?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
243
- onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLButtonElement> | undefined;
244
- onToggle?: import("react").ToggleEventHandler<HTMLButtonElement> | undefined;
245
- onBeforeToggle?: import("react").ToggleEventHandler<HTMLButtonElement> | undefined;
246
- onTransitionCancel?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
247
- onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
248
- onTransitionEnd?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
249
- onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
250
- onTransitionRun?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
251
- onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
252
- onTransitionStart?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
253
- onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLButtonElement> | undefined;
254
- key?: import("react").Key | null | undefined;
255
- defaultChecked?: boolean | undefined | undefined;
256
- defaultValue?: string | number | readonly string[] | undefined;
257
- suppressContentEditableWarning?: boolean | undefined | undefined;
258
- accessKey?: string | undefined | undefined;
259
- autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
260
- autoFocus?: boolean | undefined | undefined;
261
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
262
- contextMenu?: string | undefined | undefined;
263
- dir?: string | undefined | undefined;
264
- draggable?: (boolean | "true" | "false") | undefined;
265
- enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
266
- hidden?: boolean | undefined | undefined;
267
- spellCheck?: (boolean | "true" | "false") | undefined;
268
- translate?: "yes" | "no" | undefined | undefined;
269
- radioGroup?: string | undefined | undefined;
270
- about?: string | undefined | undefined;
271
- content?: string | undefined | undefined;
272
- datatype?: string | undefined | undefined;
273
- inlist?: any;
274
- prefix?: string | undefined | undefined;
275
- property?: string | undefined | undefined;
276
- rel?: string | undefined | undefined;
277
- resource?: string | undefined | undefined;
278
- rev?: string | undefined | undefined;
279
- typeof?: string | undefined | undefined;
280
- vocab?: string | undefined | undefined;
281
- autoCorrect?: string | undefined | undefined;
282
- autoSave?: string | undefined | undefined;
283
- itemProp?: string | undefined | undefined;
284
- itemScope?: boolean | undefined | undefined;
285
- itemType?: string | undefined | undefined;
286
- itemID?: string | undefined | undefined;
287
- itemRef?: string | undefined | undefined;
288
- results?: number | undefined | undefined;
289
- security?: string | undefined | undefined;
290
- unselectable?: "on" | "off" | undefined | undefined;
291
- popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
292
- popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
293
- popoverTarget?: string | undefined | undefined;
294
- inert?: boolean | undefined | undefined;
295
- inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
296
- is?: string | undefined | undefined;
297
- exportparts?: string | undefined | undefined;
298
- disabled?: boolean | undefined | undefined;
299
- formAction?: string | ((formData: FormData) => void | Promise<void>) | undefined;
300
- formEncType?: string | undefined | undefined;
301
- formMethod?: string | undefined | undefined;
302
- formNoValidate?: boolean | undefined | undefined;
303
- formTarget?: string | undefined | undefined;
304
- value?: string | number | readonly string[] | undefined;
305
- href: string | undefined;
306
- type: "button" | "reset" | "submit" | undefined;
307
- className: string;
308
- }, HTMLElement>;
21
+ /** IconBtn — the round icon button: `sm` in heads and bars, full size in rows and composers, `invert` for the one filled move.
22
+ * With `menu` it gives the member options the way a Dropdown does — an actions Menu (edit, share, remove…) for the card or sheet it sits in. */
23
+ export declare function IconBtn({ label, icon, sm, invert, href, menu, menuId, menuStart, className, type, children, ...rest }: IconBtnProps): import("react").JSX.Element;
@@ -1,8 +1,13 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { createElement } from 'react';
3
+ import { Menu } from './Dropdown';
3
4
  import { cx } from '../cx';
4
5
  import { Icon } from '../type/Icon';
5
- /** IconBtn — the round icon button: `sm` in heads and bars, full size in rows and composers, `invert` for the one filled move. */
6
- export function IconBtn({ label, icon, sm, invert, href, className, type, children, ...rest }) {
7
- return createElement(href ? 'a' : 'button', { href, type: href ? undefined : type ?? 'button', 'aria-label': label, className: cx('icon-btn', sm && 'icon-btn--sm', invert && 'icon-btn--invert', className), ...rest }, icon ? _jsx(Icon, { name: icon, size: sm ? 'sm' : 'md' }) : children);
6
+ /** IconBtn — the round icon button: `sm` in heads and bars, full size in rows and composers, `invert` for the one filled move.
7
+ * With `menu` it gives the member options the way a Dropdown does — an actions Menu (edit, share, remove…) for the card or sheet it sits in. */
8
+ export function IconBtn({ label, icon, sm, invert, href, menu, menuId, menuStart, className, type, children, ...rest }) {
9
+ const btn = createElement(href ? 'a' : 'button', { href, type: href ? undefined : type ?? 'button', 'aria-label': label, popoverTarget: menu ? menuId : undefined, className: cx('icon-btn', sm && 'icon-btn--sm', invert && 'icon-btn--invert', className), ...rest }, icon ? _jsx(Icon, { name: icon, size: sm ? 'sm' : 'md' }) : children);
10
+ if (!menu)
11
+ return btn;
12
+ return (_jsxs(_Fragment, { children: [btn, _jsx(Menu, { popover: true, actions: true, end: !menuStart, id: menuId, children: menu })] }));
8
13
  }