@tremolo-ui/react 0.6.0 → 0.8.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.
- package/dist/index.cjs +522 -997
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +601 -329
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +601 -329
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +487 -953
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/src/components/DropZone/index.tsx +101 -0
- package/src/components/FileInput/Trigger.tsx +39 -0
- package/src/components/FileInput/context.tsx +24 -0
- package/src/components/FileInput/index.tsx +139 -0
- package/src/components/Knob/ActiveLine.tsx +5 -3
- package/src/components/Knob/InactiveLine.tsx +6 -4
- package/src/components/Knob/SVGRoot.tsx +3 -3
- package/src/components/Knob/Thumb.tsx +3 -2
- package/src/components/Knob/context.tsx +3 -74
- package/src/components/Knob/index.tsx +27 -21
- package/src/components/NumberInput/DecrementStepper.tsx +2 -13
- package/src/components/NumberInput/IncrementStepper.tsx +2 -14
- package/src/components/NumberInput/InputField.tsx +17 -38
- package/src/components/NumberInput/Stepper.tsx +44 -107
- package/src/components/NumberInput/StepperButton.tsx +16 -12
- package/src/components/NumberInput/context.tsx +8 -8
- package/src/components/NumberInput/index.tsx +41 -81
- package/src/components/Piano/index.tsx +39 -149
- package/src/components/PointsEditor/Background.tsx +2 -8
- package/src/components/PointsEditor/Container.tsx +17 -34
- package/src/components/PointsEditor/Point.tsx +41 -86
- package/src/components/PointsEditor/SelectionBox.tsx +2 -8
- package/src/components/PointsEditor/context.tsx +10 -61
- package/src/components/PointsEditor/index.tsx +31 -315
- package/src/components/Slider/Marks.tsx +8 -13
- package/src/components/Slider/MarksOption.tsx +11 -17
- package/src/components/Slider/Thumb.tsx +9 -15
- package/src/components/Slider/Track.tsx +7 -13
- package/src/components/Slider/index.tsx +33 -39
- package/src/components/XYPad/Area.tsx +26 -53
- package/src/components/XYPad/Thumb.tsx +8 -12
- package/src/components/XYPad/context.tsx +1 -3
- package/src/components/XYPad/index.tsx +35 -50
- package/src/components/_util/VisuallyHiddenRangeInput.tsx +3 -15
- package/src/css-variables.ts +23 -0
- package/src/hooks/_internal/useCheckSteps.ts +9 -147
- package/src/hooks/useDrag.ts +13 -4
- package/src/hooks/useDragValue.ts +17 -2
- package/src/hooks/useDropZone.ts +78 -0
- package/src/hooks/useLongPress.ts +35 -51
- package/src/hooks/useMIDIAccess.ts +0 -8
- package/src/hooks/useMIDIInput.ts +0 -3
- package/src/hooks/useWheel.ts +4 -1
- package/src/index.ts +14 -36
- package/src/components/Piano/keyboard-shortcuts.ts +0 -61
- package/src/components/Slider/type.ts +0 -44
- package/src/components/_util/css-length.ts +0 -13
- package/src/input-event.ts +0 -32
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { AriaAttributes, CSSProperties, ComponentPropsWithoutRef, DependencyList, ReactNode, Ref, RefObject, SVGProps } from "react";
|
|
2
|
-
import { AnimationFrame, AxisOptions, DragState,
|
|
3
|
-
import {
|
|
2
|
+
import { AnimationFrame, AxisOptions, DragState, DropZoneOptions, InputEventOption, KeyboardShortcuts, KeyboardShortcutsScope, KnobAngles, MIDIAccessOptions, MIDIInputHandlers, MarksOptions, ModifierState, ModifierValue, NoteRange, PointPosition, PointsEditorInstance, SelectionBoxRect, WheelOptions, XY, XYInput } from "@tremolo-ui/dom";
|
|
3
|
+
import { Scale, ValueRange } from "@tremolo-ui/functions";
|
|
4
4
|
//#region src/components/AnimationCanvas/index.d.ts
|
|
5
5
|
type InitFunction = (context: CanvasRenderingContext2D, option: {
|
|
6
6
|
/** current canvas width */
|
|
@@ -82,7 +82,120 @@ type Props = AnimationCanvasProps & Omit<ComponentPropsWithoutRef<'canvas'>, key
|
|
|
82
82
|
/**
|
|
83
83
|
* A simple animatable canvas with requestAnimationFrame()
|
|
84
84
|
*/
|
|
85
|
-
declare const AnimationCanvas: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLCanvasElement>>;
|
|
85
|
+
export declare const AnimationCanvas: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLCanvasElement>>;
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/components/DropZone/index.d.ts
|
|
88
|
+
interface DropZoneProps {
|
|
89
|
+
/**
|
|
90
|
+
* Which files to take, written the way the `accept` attribute of a file
|
|
91
|
+
* input is: a comma separated list of extensions (`.wav`), MIME types
|
|
92
|
+
* (`audio/wav`) and type groups (`audio/*`).
|
|
93
|
+
*
|
|
94
|
+
* What does not match goes to `onReject` rather than `onDrop`. While the
|
|
95
|
+
* drag is still in the air the element is marked `[data-invalid]`, as far as
|
|
96
|
+
* the browser lets it be told apart — a rule written as an extension cannot
|
|
97
|
+
* be decided until the drop.
|
|
98
|
+
*/
|
|
99
|
+
accept?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Take more than one file from a single drop. With it off, only the first
|
|
102
|
+
* accepted file is reported, as a file input without `multiple` does.
|
|
103
|
+
*
|
|
104
|
+
* @default false
|
|
105
|
+
*/
|
|
106
|
+
multiple?: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Refuse the drop. The drag is still swallowed rather than let through: an
|
|
109
|
+
* unhandled drop makes the browser leave the page and open the file.
|
|
110
|
+
*
|
|
111
|
+
* @default false
|
|
112
|
+
*/
|
|
113
|
+
disabled?: boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Called with the dropped files that match `accept`.
|
|
116
|
+
*
|
|
117
|
+
* @param event the drop, for anything the files leave out — where on the
|
|
118
|
+
* element it landed, most of all.
|
|
119
|
+
*/
|
|
120
|
+
onDrop?: (files: File[], event: DragEvent) => void;
|
|
121
|
+
/**
|
|
122
|
+
* Called with the dropped files that do not match `accept`, so that the
|
|
123
|
+
* reason can be shown. It comes after `onDrop` for the same drop, so a list
|
|
124
|
+
* of rejected files can be cleared in `onDrop` and filled here.
|
|
125
|
+
*/
|
|
126
|
+
onReject?: (files: File[], event: DragEvent) => void;
|
|
127
|
+
/** What the zone shows. */
|
|
128
|
+
children: ReactNode;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* An area that takes files dropped onto it.
|
|
132
|
+
*/
|
|
133
|
+
export declare const DropZone: {
|
|
134
|
+
Root: import("react").ForwardRefExoticComponent<DropZoneProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof DropZoneProps> & import("react").RefAttributes<HTMLDivElement>>;
|
|
135
|
+
};
|
|
136
|
+
//#endregion
|
|
137
|
+
//#region src/components/FileInput/Trigger.d.ts
|
|
138
|
+
interface FileInputTriggerProps {
|
|
139
|
+
/** What the trigger reads. It is the accessible name of the file input. */
|
|
140
|
+
children: ReactNode;
|
|
141
|
+
}
|
|
142
|
+
//#endregion
|
|
143
|
+
//#region src/components/FileInput/context.d.ts
|
|
144
|
+
type FileInputContextValue = {
|
|
145
|
+
/** The id of the hidden `<input type="file">`, for `Trigger`'s `htmlFor`. */
|
|
146
|
+
inputId: string;
|
|
147
|
+
disabled: boolean;
|
|
148
|
+
};
|
|
149
|
+
export declare function useFileInputContext(): FileInputContextValue;
|
|
150
|
+
export declare function useFileInputContext<T>(selector: (state: FileInputContextValue) => T): T;
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region src/components/FileInput/index.d.ts
|
|
153
|
+
interface FileInputProps {
|
|
154
|
+
/**
|
|
155
|
+
* Which files to take, written the way the HTML attribute is: a comma
|
|
156
|
+
* separated list of extensions (`.wav`), MIME types (`audio/wav`) and type
|
|
157
|
+
* groups (`audio/*`).
|
|
158
|
+
*
|
|
159
|
+
* **The browser treats it as a hint to the picker, not a rule.** A person
|
|
160
|
+
* can switch the picker to "All Files", so what arrives is checked again
|
|
161
|
+
* here, and anything that does not match goes to `onReject` instead.
|
|
162
|
+
*/
|
|
163
|
+
accept?: string;
|
|
164
|
+
/**
|
|
165
|
+
* Let more than one file be picked at a time.
|
|
166
|
+
* @default false
|
|
167
|
+
*/
|
|
168
|
+
multiple?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Refuse to open the picker, and mark every part with `[data-disabled]`.
|
|
171
|
+
* @default false
|
|
172
|
+
*/
|
|
173
|
+
disabled?: boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Called with the files that were picked and match `accept`.
|
|
176
|
+
*
|
|
177
|
+
* It is not called at all when the picker is dismissed, or when every file
|
|
178
|
+
* picked was rejected — an empty array never arrives, so there is no need to
|
|
179
|
+
* tell "nothing was chosen" from "the choice was cleared".
|
|
180
|
+
*/
|
|
181
|
+
onChange?: (files: File[]) => void;
|
|
182
|
+
/**
|
|
183
|
+
* Called with the files that were picked and do not match `accept`, so that
|
|
184
|
+
* the reason can be shown. Given alongside `onChange` when a selection held
|
|
185
|
+
* both, and after it, so a list of rejected files can be cleared in
|
|
186
|
+
* `onChange` and filled here.
|
|
187
|
+
*/
|
|
188
|
+
onReject?: (files: File[]) => void;
|
|
189
|
+
/** Normally a `FileInput.Trigger`, and whatever shows what was picked. */
|
|
190
|
+
children: ReactNode;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Picks files, and hands them over as `File`s.
|
|
194
|
+
*/
|
|
195
|
+
export declare const FileInput: {
|
|
196
|
+
Root: import("react").ForwardRefExoticComponent<FileInputProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof FileInputProps> & import("react").RefAttributes<HTMLDivElement>>;
|
|
197
|
+
Trigger: import("react").ForwardRefExoticComponent<FileInputTriggerProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, "ref">, "children" | "htmlFor"> & import("react").RefAttributes<HTMLLabelElement>>;
|
|
198
|
+
};
|
|
86
199
|
//#endregion
|
|
87
200
|
//#region src/components/Knob/ActiveLine.d.ts
|
|
88
201
|
declare function ActiveLine({ stroke, strokeWidth, className, ...props }: Omit<SVGProps<SVGPathElement>, 'd'>): import("react").JSX.Element;
|
|
@@ -138,6 +251,27 @@ interface KnobThumbProps {
|
|
|
138
251
|
}
|
|
139
252
|
declare function Thumb({ className, thumb, thumbLine, thumbSize, thumbLineWeight, thumbLineLength, classes, ...props }: KnobThumbProps & Omit<SVGProps<SVGSVGElement>, 'd' | keyof KnobThumbProps>): import("react").JSX.Element;
|
|
140
253
|
//#endregion
|
|
254
|
+
//#region src/css-variables.d.ts
|
|
255
|
+
/**
|
|
256
|
+
* CSS custom properties, for a `style` object.
|
|
257
|
+
*
|
|
258
|
+
* React's `CSSProperties` has no key starting with `--`, so
|
|
259
|
+
* `style={{ '--color': 'red' }}` is refused as an unknown property even though
|
|
260
|
+
* the browser takes it. Every part accepts this alongside `CSSProperties`,
|
|
261
|
+
* which is how a variable the component or a theme reads is set inline.
|
|
262
|
+
*
|
|
263
|
+
* `T` names the custom properties the part itself writes or reads, without the
|
|
264
|
+
* leading `--`, so that an editor can suggest them. Any other `--` name is
|
|
265
|
+
* still accepted — a theme reads variables of its own, such as the colours of
|
|
266
|
+
* each kind of key.
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* CSSVariables<'thickness' | 'length'>
|
|
270
|
+
* // { '--thickness'?: string | number, '--length'?: string | number,
|
|
271
|
+
* // [name: `--${string}`]: string | number | undefined }
|
|
272
|
+
*/
|
|
273
|
+
type CSSVariables<T extends string = never> = { [K in T as `--${K}`]?: string | number; } & { [K in `--${string}`]?: string | number; };
|
|
274
|
+
//#endregion
|
|
141
275
|
//#region src/components/Knob/context.d.ts
|
|
142
276
|
type KnobConfig = {
|
|
143
277
|
value: number;
|
|
@@ -149,24 +283,13 @@ type KnobConfig = {
|
|
|
149
283
|
/** angle range [degree] */
|
|
150
284
|
angleRange: number;
|
|
151
285
|
};
|
|
152
|
-
type KnobContextValue = KnobConfig &
|
|
153
|
-
/** normalized value */
|
|
154
|
-
p: number;
|
|
155
|
-
/** ロータリー開始位置 */
|
|
156
|
-
r1: number;
|
|
157
|
-
/** activeLine の開始位置 */
|
|
158
|
-
r2: number;
|
|
159
|
-
/** activeLine の終了位置 */
|
|
160
|
-
r3: number;
|
|
161
|
-
/** ロータリー終了位置 */
|
|
162
|
-
r4: number;
|
|
163
|
-
};
|
|
286
|
+
type KnobContextValue = KnobConfig & KnobAngles;
|
|
164
287
|
/**
|
|
165
288
|
* Everything here is derived during render, so there is no state to keep in
|
|
166
289
|
* sync: `value` comes from the props of `Root` and the rest follows from it.
|
|
167
290
|
*/
|
|
168
|
-
declare function useKnobContext(): KnobContextValue;
|
|
169
|
-
declare function useKnobContext<T>(selector: (state: KnobContextValue) => T): T;
|
|
291
|
+
export declare function useKnobContext(): KnobContextValue;
|
|
292
|
+
export declare function useKnobContext<T>(selector: (state: KnobContextValue) => T): T;
|
|
170
293
|
//#endregion
|
|
171
294
|
//#region src/components/Knob/index.d.ts
|
|
172
295
|
interface KnobProps {
|
|
@@ -318,6 +441,7 @@ interface KnobProps {
|
|
|
318
441
|
* </Knob.Root>
|
|
319
442
|
*/
|
|
320
443
|
children: ReactNode;
|
|
444
|
+
style?: CSSProperties & CSSVariables<'knob-size'>;
|
|
321
445
|
}
|
|
322
446
|
interface KnobMethods {
|
|
323
447
|
focus: () => void;
|
|
@@ -326,7 +450,7 @@ interface KnobMethods {
|
|
|
326
450
|
/**
|
|
327
451
|
* Interactive rotary knob component implemented in SVG.
|
|
328
452
|
*/
|
|
329
|
-
declare const Knob: {
|
|
453
|
+
export declare const Knob: {
|
|
330
454
|
Root: import("react").ForwardRefExoticComponent<KnobProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof KnobProps> & import("react").RefAttributes<KnobMethods>>;
|
|
331
455
|
SVGRoot: typeof SVGRoot;
|
|
332
456
|
InactiveLine: typeof InactiveLine;
|
|
@@ -334,37 +458,22 @@ declare const Knob: {
|
|
|
334
458
|
Thumb: typeof Thumb;
|
|
335
459
|
};
|
|
336
460
|
//#endregion
|
|
337
|
-
//#region src/components/NumberInput/InputField.d.ts
|
|
338
|
-
interface NumberInputInputFieldProps {
|
|
339
|
-
className?: string;
|
|
340
|
-
style?: CSSProperties;
|
|
341
|
-
}
|
|
342
|
-
//#endregion
|
|
343
|
-
//#region src/components/NumberInput/Stepper.d.ts
|
|
344
|
-
interface NumberInputStepperProps {
|
|
345
|
-
className?: string;
|
|
346
|
-
style?: CSSProperties;
|
|
347
|
-
/** `<NumberInput.IncrementStepper />` and `<NumberInput.DecrementStepper />` go here. */
|
|
348
|
-
children?: ReactNode;
|
|
349
|
-
}
|
|
350
|
-
//#endregion
|
|
351
461
|
//#region src/components/NumberInput/StepperButton.d.ts
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
462
|
+
/**
|
|
463
|
+
* `--stepper-icon-size` is read by the default arrow inside, and set on the
|
|
464
|
+
* button so that it inherits there.
|
|
465
|
+
*/
|
|
466
|
+
type StepperButtonProps = Omit<ComponentPropsWithoutRef<'div'>, 'style'> & {
|
|
467
|
+
style?: CSSProperties & CSSVariables<'stepper-icon-size'>;
|
|
468
|
+
};
|
|
358
469
|
//#endregion
|
|
359
470
|
//#region src/components/NumberInput/DecrementStepper.d.ts
|
|
360
|
-
interface NumberInputDecrementStepperProps extends StepperButtonProps {}
|
|
361
471
|
/** Lowers the value by one `step`, repeating while held. */
|
|
362
|
-
declare function DecrementStepper(props:
|
|
472
|
+
declare function DecrementStepper(props: StepperButtonProps): import("react").JSX.Element;
|
|
363
473
|
//#endregion
|
|
364
474
|
//#region src/components/NumberInput/IncrementStepper.d.ts
|
|
365
|
-
interface NumberInputIncrementStepperProps extends StepperButtonProps {}
|
|
366
475
|
/** Raises the value by one `step`, repeating while held. */
|
|
367
|
-
declare function IncrementStepper(props:
|
|
476
|
+
declare function IncrementStepper(props: StepperButtonProps): import("react").JSX.Element;
|
|
368
477
|
//#endregion
|
|
369
478
|
//#region src/components/NumberInput/context.d.ts
|
|
370
479
|
type NumberInputContextValue = {
|
|
@@ -429,8 +538,8 @@ type NumberInputContextValue = {
|
|
|
429
538
|
* The only state behind this is the editing draft; `value` comes from the props
|
|
430
539
|
* of `Root` and everything else is derived during render.
|
|
431
540
|
*/
|
|
432
|
-
declare function useNumberInputContext(): NumberInputContextValue;
|
|
433
|
-
declare function useNumberInputContext<T>(selector: (state: NumberInputContextValue) => T): T;
|
|
541
|
+
export declare function useNumberInputContext(): NumberInputContextValue;
|
|
542
|
+
export declare function useNumberInputContext<T>(selector: (state: NumberInputContextValue) => T): T;
|
|
434
543
|
//#endregion
|
|
435
544
|
//#region src/components/NumberInput/index.d.ts
|
|
436
545
|
interface NumberInputProps {
|
|
@@ -482,6 +591,9 @@ interface NumberInputProps {
|
|
|
482
591
|
* Read a value back out of the text. Has to undo `format`.
|
|
483
592
|
*
|
|
484
593
|
* Text with no number in it reads as `NaN`, which leaves the value alone.
|
|
594
|
+
* The default, `parseNumberText` from `@tremolo-ui/dom`, reads the number
|
|
595
|
+
* with the unit around it left out, and is `NaN` for one it cannot read
|
|
596
|
+
* whole: `1,000`, `1:30`, or a number with a unit in front, such as `L 30`.
|
|
485
597
|
*/
|
|
486
598
|
parse?: (text: string) => number;
|
|
487
599
|
/**
|
|
@@ -554,7 +666,7 @@ interface NumberInputProps {
|
|
|
554
666
|
pointerLock?: boolean;
|
|
555
667
|
/**
|
|
556
668
|
* Select the text when `InputField` takes focus: `'all'` selects all of it,
|
|
557
|
-
* `'number'` only the
|
|
669
|
+
* `'number'` only the number, leaving the unit the format put around it,
|
|
558
670
|
* and `'none'` leaves the caret where the click put it.
|
|
559
671
|
* @default 'none'
|
|
560
672
|
*/
|
|
@@ -608,8 +720,6 @@ interface NumberInputProps {
|
|
|
608
720
|
* The parts carry `data-readonly` while it is set.
|
|
609
721
|
*/
|
|
610
722
|
readonly?: boolean;
|
|
611
|
-
className?: string;
|
|
612
|
-
style?: CSSProperties;
|
|
613
723
|
/**
|
|
614
724
|
* Called with the new value. While the user types, it is called for every
|
|
615
725
|
* entry that reads as a number, unclamped; committing the entry calls it
|
|
@@ -638,47 +748,324 @@ interface NumberInputMethods {
|
|
|
638
748
|
/**
|
|
639
749
|
* Input with some useful functions for entering numerical values.
|
|
640
750
|
*/
|
|
641
|
-
declare const NumberInput: {
|
|
751
|
+
export declare const NumberInput: {
|
|
642
752
|
Root: import("react").ForwardRefExoticComponent<NumberInputProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof NumberInputProps> & import("react").RefAttributes<NumberInputMethods>>;
|
|
643
|
-
InputField: import("react").ForwardRefExoticComponent<
|
|
644
|
-
|
|
753
|
+
InputField: import("react").ForwardRefExoticComponent<{
|
|
754
|
+
form?: string | undefined | undefined;
|
|
755
|
+
slot?: string | undefined | undefined;
|
|
756
|
+
style?: import("react").CSSProperties | undefined;
|
|
757
|
+
title?: string | undefined | undefined;
|
|
758
|
+
pattern?: string | undefined | undefined;
|
|
759
|
+
key?: import("react").Key | null | undefined;
|
|
760
|
+
defaultChecked?: boolean | undefined | undefined;
|
|
761
|
+
suppressContentEditableWarning?: boolean | undefined | undefined;
|
|
762
|
+
suppressHydrationWarning?: boolean | undefined | undefined;
|
|
763
|
+
accessKey?: string | undefined | undefined;
|
|
764
|
+
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
|
|
765
|
+
autoFocus?: boolean | undefined | undefined;
|
|
766
|
+
className?: string | undefined | undefined;
|
|
767
|
+
contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
|
|
768
|
+
contextMenu?: string | undefined | undefined;
|
|
769
|
+
dir?: string | undefined | undefined;
|
|
770
|
+
draggable?: (boolean | "true" | "false") | undefined;
|
|
771
|
+
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
772
|
+
hidden?: boolean | undefined | undefined;
|
|
773
|
+
id?: string | undefined | undefined;
|
|
774
|
+
lang?: string | undefined | undefined;
|
|
775
|
+
nonce?: string | undefined | undefined;
|
|
776
|
+
spellCheck?: (boolean | "true" | "false") | undefined;
|
|
777
|
+
tabIndex?: number | undefined | undefined;
|
|
778
|
+
translate?: "yes" | "no" | undefined | undefined;
|
|
779
|
+
radioGroup?: string | undefined | undefined;
|
|
780
|
+
role?: import("react").AriaRole | undefined;
|
|
781
|
+
about?: string | undefined | undefined;
|
|
782
|
+
content?: string | undefined | undefined;
|
|
783
|
+
datatype?: string | undefined | undefined;
|
|
784
|
+
inlist?: any;
|
|
785
|
+
prefix?: string | undefined | undefined;
|
|
786
|
+
property?: string | undefined | undefined;
|
|
787
|
+
rel?: string | undefined | undefined;
|
|
788
|
+
resource?: string | undefined | undefined;
|
|
789
|
+
rev?: string | undefined | undefined;
|
|
790
|
+
typeof?: string | undefined | undefined;
|
|
791
|
+
vocab?: string | undefined | undefined;
|
|
792
|
+
autoCorrect?: string | undefined | undefined;
|
|
793
|
+
autoSave?: string | undefined | undefined;
|
|
794
|
+
color?: string | undefined | undefined;
|
|
795
|
+
itemProp?: string | undefined | undefined;
|
|
796
|
+
itemScope?: boolean | undefined | undefined;
|
|
797
|
+
itemType?: string | undefined | undefined;
|
|
798
|
+
itemID?: string | undefined | undefined;
|
|
799
|
+
itemRef?: string | undefined | undefined;
|
|
800
|
+
results?: number | undefined | undefined;
|
|
801
|
+
security?: string | undefined | undefined;
|
|
802
|
+
unselectable?: "on" | "off" | undefined | undefined;
|
|
803
|
+
popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
|
|
804
|
+
popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
|
|
805
|
+
popoverTarget?: string | undefined | undefined;
|
|
806
|
+
inert?: boolean | undefined | undefined;
|
|
807
|
+
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
808
|
+
is?: string | undefined | undefined;
|
|
809
|
+
exportparts?: string | undefined | undefined;
|
|
810
|
+
part?: string | undefined | undefined;
|
|
811
|
+
"aria-activedescendant"?: string | undefined | undefined;
|
|
812
|
+
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
813
|
+
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
|
|
814
|
+
"aria-braillelabel"?: string | undefined | undefined;
|
|
815
|
+
"aria-brailleroledescription"?: string | undefined | undefined;
|
|
816
|
+
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
817
|
+
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
818
|
+
"aria-colcount"?: number | undefined | undefined;
|
|
819
|
+
"aria-colindex"?: number | undefined | undefined;
|
|
820
|
+
"aria-colindextext"?: string | undefined | undefined;
|
|
821
|
+
"aria-colspan"?: number | undefined | undefined;
|
|
822
|
+
"aria-controls"?: string | undefined | undefined;
|
|
823
|
+
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
|
|
824
|
+
"aria-describedby"?: string | undefined | undefined;
|
|
825
|
+
"aria-description"?: string | undefined | undefined;
|
|
826
|
+
"aria-details"?: string | undefined | undefined;
|
|
827
|
+
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
828
|
+
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
|
|
829
|
+
"aria-errormessage"?: string | undefined | undefined;
|
|
830
|
+
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
831
|
+
"aria-flowto"?: string | undefined | undefined;
|
|
832
|
+
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
833
|
+
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
|
|
834
|
+
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
835
|
+
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
|
|
836
|
+
"aria-keyshortcuts"?: string | undefined | undefined;
|
|
837
|
+
"aria-label"?: string | undefined | undefined;
|
|
838
|
+
"aria-labelledby"?: string | undefined | undefined;
|
|
839
|
+
"aria-level"?: number | undefined | undefined;
|
|
840
|
+
"aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
|
|
841
|
+
"aria-modal"?: (boolean | "true" | "false") | undefined;
|
|
842
|
+
"aria-multiline"?: (boolean | "true" | "false") | undefined;
|
|
843
|
+
"aria-multiselectable"?: (boolean | "true" | "false") | undefined;
|
|
844
|
+
"aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
|
|
845
|
+
"aria-owns"?: string | undefined | undefined;
|
|
846
|
+
"aria-placeholder"?: string | undefined | undefined;
|
|
847
|
+
"aria-posinset"?: number | undefined | undefined;
|
|
848
|
+
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
849
|
+
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
850
|
+
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
|
|
851
|
+
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
852
|
+
"aria-roledescription"?: string | undefined | undefined;
|
|
853
|
+
"aria-rowcount"?: number | undefined | undefined;
|
|
854
|
+
"aria-rowindex"?: number | undefined | undefined;
|
|
855
|
+
"aria-rowindextext"?: string | undefined | undefined;
|
|
856
|
+
"aria-rowspan"?: number | undefined | undefined;
|
|
857
|
+
"aria-selected"?: (boolean | "true" | "false") | undefined;
|
|
858
|
+
"aria-setsize"?: number | undefined | undefined;
|
|
859
|
+
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
|
|
860
|
+
"aria-valuemax"?: number | undefined | undefined;
|
|
861
|
+
"aria-valuemin"?: number | undefined | undefined;
|
|
862
|
+
"aria-valuenow"?: number | undefined | undefined;
|
|
863
|
+
"aria-valuetext"?: string | undefined | undefined;
|
|
864
|
+
children?: ReactNode;
|
|
865
|
+
dangerouslySetInnerHTML?: {
|
|
866
|
+
__html: string | TrustedHTML;
|
|
867
|
+
} | undefined | undefined;
|
|
868
|
+
onCopy?: import("react").ClipboardEventHandler<HTMLInputElement> | undefined;
|
|
869
|
+
onCopyCapture?: import("react").ClipboardEventHandler<HTMLInputElement> | undefined;
|
|
870
|
+
onCut?: import("react").ClipboardEventHandler<HTMLInputElement> | undefined;
|
|
871
|
+
onCutCapture?: import("react").ClipboardEventHandler<HTMLInputElement> | undefined;
|
|
872
|
+
onPaste?: import("react").ClipboardEventHandler<HTMLInputElement> | undefined;
|
|
873
|
+
onPasteCapture?: import("react").ClipboardEventHandler<HTMLInputElement> | undefined;
|
|
874
|
+
onCompositionEnd?: import("react").CompositionEventHandler<HTMLInputElement> | undefined;
|
|
875
|
+
onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLInputElement> | undefined;
|
|
876
|
+
onCompositionStart?: import("react").CompositionEventHandler<HTMLInputElement> | undefined;
|
|
877
|
+
onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLInputElement> | undefined;
|
|
878
|
+
onCompositionUpdate?: import("react").CompositionEventHandler<HTMLInputElement> | undefined;
|
|
879
|
+
onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLInputElement> | undefined;
|
|
880
|
+
onFocus?: import("react").FocusEventHandler<HTMLInputElement> | undefined;
|
|
881
|
+
onFocusCapture?: import("react").FocusEventHandler<HTMLInputElement> | undefined;
|
|
882
|
+
onBlur?: import("react").FocusEventHandler<HTMLInputElement> | undefined;
|
|
883
|
+
onBlurCapture?: import("react").FocusEventHandler<HTMLInputElement> | undefined;
|
|
884
|
+
onChange?: import("react").ChangeEventHandler<HTMLInputElement, HTMLInputElement> | undefined;
|
|
885
|
+
onChangeCapture?: import("react").ChangeEventHandler<HTMLInputElement, Element> | undefined;
|
|
886
|
+
onBeforeInput?: import("react").InputEventHandler<HTMLInputElement> | undefined;
|
|
887
|
+
onBeforeInputCapture?: import("react").InputEventHandler<HTMLInputElement> | undefined;
|
|
888
|
+
onInput?: import("react").InputEventHandler<HTMLInputElement> | undefined;
|
|
889
|
+
onInputCapture?: import("react").InputEventHandler<HTMLInputElement> | undefined;
|
|
890
|
+
onReset?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
891
|
+
onResetCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
892
|
+
onSubmit?: import("react").SubmitEventHandler<HTMLInputElement> | undefined;
|
|
893
|
+
onSubmitCapture?: import("react").SubmitEventHandler<HTMLInputElement> | undefined;
|
|
894
|
+
onInvalid?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
895
|
+
onInvalidCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
896
|
+
onLoad?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
897
|
+
onLoadCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
898
|
+
onError?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
899
|
+
onErrorCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
900
|
+
onKeyDown?: import("react").KeyboardEventHandler<HTMLInputElement> | undefined;
|
|
901
|
+
onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLInputElement> | undefined;
|
|
902
|
+
onKeyPress?: import("react").KeyboardEventHandler<HTMLInputElement> | undefined;
|
|
903
|
+
onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLInputElement> | undefined;
|
|
904
|
+
onKeyUp?: import("react").KeyboardEventHandler<HTMLInputElement> | undefined;
|
|
905
|
+
onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLInputElement> | undefined;
|
|
906
|
+
onAbort?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
907
|
+
onAbortCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
908
|
+
onCanPlay?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
909
|
+
onCanPlayCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
910
|
+
onCanPlayThrough?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
911
|
+
onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
912
|
+
onDurationChange?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
913
|
+
onDurationChangeCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
914
|
+
onEmptied?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
915
|
+
onEmptiedCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
916
|
+
onEncrypted?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
917
|
+
onEncryptedCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
918
|
+
onEnded?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
919
|
+
onEndedCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
920
|
+
onLoadedData?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
921
|
+
onLoadedDataCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
922
|
+
onLoadedMetadata?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
923
|
+
onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
924
|
+
onLoadStart?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
925
|
+
onLoadStartCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
926
|
+
onPause?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
927
|
+
onPauseCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
928
|
+
onPlay?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
929
|
+
onPlayCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
930
|
+
onPlaying?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
931
|
+
onPlayingCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
932
|
+
onProgress?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
933
|
+
onProgressCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
934
|
+
onRateChange?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
935
|
+
onRateChangeCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
936
|
+
onSeeked?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
937
|
+
onSeekedCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
938
|
+
onSeeking?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
939
|
+
onSeekingCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
940
|
+
onStalled?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
941
|
+
onStalledCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
942
|
+
onSuspend?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
943
|
+
onSuspendCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
944
|
+
onTimeUpdate?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
945
|
+
onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
946
|
+
onVolumeChange?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
947
|
+
onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
948
|
+
onWaiting?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
949
|
+
onWaitingCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
950
|
+
onAuxClick?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
951
|
+
onAuxClickCapture?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
952
|
+
onClick?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
953
|
+
onClickCapture?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
954
|
+
onContextMenu?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
955
|
+
onContextMenuCapture?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
956
|
+
onDoubleClick?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
957
|
+
onDoubleClickCapture?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
958
|
+
onDrag?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
959
|
+
onDragCapture?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
960
|
+
onDragEnd?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
961
|
+
onDragEndCapture?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
962
|
+
onDragEnter?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
963
|
+
onDragEnterCapture?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
964
|
+
onDragExit?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
965
|
+
onDragExitCapture?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
966
|
+
onDragLeave?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
967
|
+
onDragLeaveCapture?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
968
|
+
onDragOver?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
969
|
+
onDragOverCapture?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
970
|
+
onDragStart?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
971
|
+
onDragStartCapture?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
972
|
+
onDrop?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
973
|
+
onDropCapture?: import("react").DragEventHandler<HTMLInputElement> | undefined;
|
|
974
|
+
onMouseDown?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
975
|
+
onMouseDownCapture?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
976
|
+
onMouseEnter?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
977
|
+
onMouseLeave?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
978
|
+
onMouseMove?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
979
|
+
onMouseMoveCapture?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
980
|
+
onMouseOut?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
981
|
+
onMouseOutCapture?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
982
|
+
onMouseOver?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
983
|
+
onMouseOverCapture?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
984
|
+
onMouseUp?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
985
|
+
onMouseUpCapture?: import("react").MouseEventHandler<HTMLInputElement> | undefined;
|
|
986
|
+
onSelect?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
987
|
+
onSelectCapture?: import("react").ReactEventHandler<HTMLInputElement> | undefined;
|
|
988
|
+
onTouchCancel?: import("react").TouchEventHandler<HTMLInputElement> | undefined;
|
|
989
|
+
onTouchCancelCapture?: import("react").TouchEventHandler<HTMLInputElement> | undefined;
|
|
990
|
+
onTouchEnd?: import("react").TouchEventHandler<HTMLInputElement> | undefined;
|
|
991
|
+
onTouchEndCapture?: import("react").TouchEventHandler<HTMLInputElement> | undefined;
|
|
992
|
+
onTouchMove?: import("react").TouchEventHandler<HTMLInputElement> | undefined;
|
|
993
|
+
onTouchMoveCapture?: import("react").TouchEventHandler<HTMLInputElement> | undefined;
|
|
994
|
+
onTouchStart?: import("react").TouchEventHandler<HTMLInputElement> | undefined;
|
|
995
|
+
onTouchStartCapture?: import("react").TouchEventHandler<HTMLInputElement> | undefined;
|
|
996
|
+
onPointerDown?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
997
|
+
onPointerDownCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
998
|
+
onPointerMove?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
999
|
+
onPointerMoveCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1000
|
+
onPointerUp?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1001
|
+
onPointerUpCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1002
|
+
onPointerCancel?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1003
|
+
onPointerCancelCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1004
|
+
onPointerEnter?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1005
|
+
onPointerLeave?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1006
|
+
onPointerOver?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1007
|
+
onPointerOverCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1008
|
+
onPointerOut?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1009
|
+
onPointerOutCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1010
|
+
onGotPointerCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1011
|
+
onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1012
|
+
onLostPointerCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1013
|
+
onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLInputElement> | undefined;
|
|
1014
|
+
onScroll?: import("react").UIEventHandler<HTMLInputElement> | undefined;
|
|
1015
|
+
onScrollCapture?: import("react").UIEventHandler<HTMLInputElement> | undefined;
|
|
1016
|
+
onScrollEnd?: import("react").UIEventHandler<HTMLInputElement> | undefined;
|
|
1017
|
+
onScrollEndCapture?: import("react").UIEventHandler<HTMLInputElement> | undefined;
|
|
1018
|
+
onWheel?: import("react").WheelEventHandler<HTMLInputElement> | undefined;
|
|
1019
|
+
onWheelCapture?: import("react").WheelEventHandler<HTMLInputElement> | undefined;
|
|
1020
|
+
onAnimationStart?: import("react").AnimationEventHandler<HTMLInputElement> | undefined;
|
|
1021
|
+
onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLInputElement> | undefined;
|
|
1022
|
+
onAnimationEnd?: import("react").AnimationEventHandler<HTMLInputElement> | undefined;
|
|
1023
|
+
onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLInputElement> | undefined;
|
|
1024
|
+
onAnimationIteration?: import("react").AnimationEventHandler<HTMLInputElement> | undefined;
|
|
1025
|
+
onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLInputElement> | undefined;
|
|
1026
|
+
onToggle?: import("react").ToggleEventHandler<HTMLInputElement> | undefined;
|
|
1027
|
+
onBeforeToggle?: import("react").ToggleEventHandler<HTMLInputElement> | undefined;
|
|
1028
|
+
onTransitionCancel?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
|
|
1029
|
+
onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
|
|
1030
|
+
onTransitionEnd?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
|
|
1031
|
+
onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
|
|
1032
|
+
onTransitionRun?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
|
|
1033
|
+
onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
|
|
1034
|
+
onTransitionStart?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
|
|
1035
|
+
onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLInputElement> | undefined;
|
|
1036
|
+
accept?: string | undefined | undefined;
|
|
1037
|
+
multiple?: boolean | undefined | undefined;
|
|
1038
|
+
disabled?: boolean | undefined | undefined;
|
|
1039
|
+
height?: number | string | undefined | undefined;
|
|
1040
|
+
width?: number | string | undefined | undefined;
|
|
1041
|
+
min?: number | string | undefined | undefined;
|
|
1042
|
+
max?: number | string | undefined | undefined;
|
|
1043
|
+
step?: number | string | undefined | undefined;
|
|
1044
|
+
alt?: string | undefined | undefined;
|
|
1045
|
+
autoComplete?: import("react").HTMLInputAutoCompleteAttribute | undefined;
|
|
1046
|
+
capture?: boolean | "user" | "environment" | undefined | undefined;
|
|
1047
|
+
checked?: boolean | undefined | undefined;
|
|
1048
|
+
formAction?: string | ((formData: FormData) => void | Promise<void>) | undefined;
|
|
1049
|
+
formEncType?: string | undefined | undefined;
|
|
1050
|
+
formMethod?: string | undefined | undefined;
|
|
1051
|
+
formNoValidate?: boolean | undefined | undefined;
|
|
1052
|
+
formTarget?: string | undefined | undefined;
|
|
1053
|
+
list?: string | undefined | undefined;
|
|
1054
|
+
maxLength?: number | undefined | undefined;
|
|
1055
|
+
minLength?: number | undefined | undefined;
|
|
1056
|
+
name?: string | undefined | undefined;
|
|
1057
|
+
placeholder?: string | undefined | undefined;
|
|
1058
|
+
readOnly?: boolean | undefined | undefined;
|
|
1059
|
+
required?: boolean | undefined | undefined;
|
|
1060
|
+
size?: number | undefined | undefined;
|
|
1061
|
+
src?: string | undefined | undefined;
|
|
1062
|
+
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
1063
|
+
Stepper: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
645
1064
|
IncrementStepper: typeof IncrementStepper;
|
|
646
1065
|
DecrementStepper: typeof DecrementStepper;
|
|
647
1066
|
};
|
|
648
1067
|
//#endregion
|
|
649
|
-
//#region src/components/Piano/keyboard-shortcuts.d.ts
|
|
650
|
-
type KeyboardShortcuts = {
|
|
651
|
-
/**
|
|
652
|
-
* Keys laid out from `noteRange.first`, one entry per semitone.
|
|
653
|
-
*
|
|
654
|
-
* An empty string leaves that note without a shortcut: `KeyboardEvent.key` is
|
|
655
|
-
* never empty, so the entry can never match. Use it to skip the black keys
|
|
656
|
-
* (see {@link SHORTCUTS.HOME_ROW_NATURAL}) and keep the remaining entries
|
|
657
|
-
* lined up with the notes.
|
|
658
|
-
*/
|
|
659
|
-
keys: string[];
|
|
660
|
-
};
|
|
661
|
-
/**
|
|
662
|
-
* Ready-made keyboard layouts. Both assume `noteRange.first` is a C.
|
|
663
|
-
*/
|
|
664
|
-
declare const SHORTCUTS: {
|
|
665
|
-
/** Every semitone from C, over the two rows of a QWERTY keyboard. */
|
|
666
|
-
HOME_ROW: {
|
|
667
|
-
keys: string[];
|
|
668
|
-
};
|
|
669
|
-
/** The white keys only, on the home row. Black keys have no shortcut. */
|
|
670
|
-
HOME_ROW_NATURAL: {
|
|
671
|
-
keys: string[];
|
|
672
|
-
};
|
|
673
|
-
};
|
|
674
|
-
//#endregion
|
|
675
1068
|
//#region src/components/Piano/index.d.ts
|
|
676
|
-
type KeyboardShortcutsScope = 'root' | 'window';
|
|
677
|
-
/**
|
|
678
|
-
* `style` that also takes CSS custom properties, which is how a key's colours
|
|
679
|
-
* are set: see `index.css` for the ones each key type reads.
|
|
680
|
-
*/
|
|
681
|
-
type CSSVariables = Record<`--${string}`, string | number | undefined>;
|
|
682
1069
|
/**
|
|
683
1070
|
* What {@link PianoProps.keyProps} may return for one key.
|
|
684
1071
|
*
|
|
@@ -686,9 +1073,7 @@ type CSSVariables = Record<`--${string}`, string | number | undefined>;
|
|
|
686
1073
|
* JSX syntax, not on an object type, and selecting on one is the usual way to
|
|
687
1074
|
* mark a key out.
|
|
688
1075
|
*/
|
|
689
|
-
type KeyAttributes =
|
|
690
|
-
style?: CSSProperties & CSSVariables;
|
|
691
|
-
} & Record<`data-${string}`, string | number | boolean | undefined>;
|
|
1076
|
+
type KeyAttributes = ComponentPropsWithoutRef<'div'> & Record<`data-${string}`, string | number | boolean | undefined>;
|
|
692
1077
|
/** What a key is, when {@link PianoProps.label} or `keyProps` is asked about it. */
|
|
693
1078
|
interface KeyState {
|
|
694
1079
|
/** Position in the note range, counting from `noteRange.first`. */
|
|
@@ -769,16 +1154,9 @@ interface PianoProps {
|
|
|
769
1154
|
* @default 0.6
|
|
770
1155
|
*/
|
|
771
1156
|
blackKeyHeightRatio?: number;
|
|
772
|
-
/**
|
|
773
|
-
* Height of the keyboard. Sets `--height`; when it is omitted, the height
|
|
774
|
-
* the theme gives stands, and the theme can tell `resizable` apart through
|
|
775
|
-
* `data-resizable`.
|
|
776
|
-
*/
|
|
777
|
-
height?: number | string;
|
|
778
|
-
style?: CSSProperties & CSSVariables;
|
|
779
1157
|
/**
|
|
780
1158
|
* What to draw inside a key. `''`, `null` and `undefined` leave it bare, so
|
|
781
|
-
* a layout with gaps —
|
|
1159
|
+
* a layout with gaps — `SHORTCUTS.HOME_ROW_NATURAL`, say — needs no
|
|
782
1160
|
* special casing.
|
|
783
1161
|
*/
|
|
784
1162
|
label?: (note: number, state: KeyState) => ReactNode;
|
|
@@ -813,40 +1191,20 @@ interface PianoMethods {
|
|
|
813
1191
|
/**
|
|
814
1192
|
* Customizable piano component.
|
|
815
1193
|
*/
|
|
816
|
-
declare const Piano: {
|
|
1194
|
+
export declare const Piano: {
|
|
817
1195
|
Root: import("react").ForwardRefExoticComponent<PianoProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof PianoProps> & import("react").RefAttributes<PianoMethods>>;
|
|
818
1196
|
};
|
|
819
1197
|
//#endregion
|
|
820
|
-
//#region src/components/PointsEditor/Container.d.ts
|
|
821
|
-
interface PointsEditorContainerProps {
|
|
822
|
-
/** `<PointsEditor.Point />` goes here. */
|
|
823
|
-
children?: ReactNode;
|
|
824
|
-
}
|
|
825
|
-
//#endregion
|
|
826
1198
|
//#region src/components/PointsEditor/Background.d.ts
|
|
827
|
-
|
|
828
|
-
/** Whatever the points are placed over: a graph, a canvas, an image. */
|
|
829
|
-
children?: ReactNode;
|
|
830
|
-
}
|
|
831
|
-
declare function Background({ className, children, style, ...props }: PointsEditorBackgroundProps & Omit<ComponentPropsWithoutRef<'div'>, keyof PointsEditorBackgroundProps>): import("react").JSX.Element;
|
|
1199
|
+
declare function Background({ className, children, style, ...props }: ComponentPropsWithoutRef<'div'>): import("react").JSX.Element;
|
|
832
1200
|
//#endregion
|
|
833
1201
|
//#region src/components/PointsEditor/Point.d.ts
|
|
834
|
-
|
|
835
|
-
x: number;
|
|
836
|
-
y: number;
|
|
837
|
-
};
|
|
838
|
-
declare function clampPoint(point: PointBaseType, min?: Partial<PointBaseType>, max?: Partial<PointBaseType>): {
|
|
839
|
-
x: number;
|
|
840
|
-
y: number;
|
|
841
|
-
};
|
|
842
|
-
interface PointsEditorPointProps<T extends PointBaseType> {
|
|
1202
|
+
interface PointsEditorPointProps<T extends PointPosition> {
|
|
843
1203
|
/**
|
|
844
1204
|
* Where the point is, as `{ x, y }` from 0 to 1 on each axis, with `y`
|
|
845
1205
|
* growing downwards.
|
|
846
1206
|
*/
|
|
847
1207
|
value: T;
|
|
848
|
-
/** Drawn inside the point: the theme's own dot stands when it is left out. */
|
|
849
|
-
children?: ReactNode;
|
|
850
1208
|
/**
|
|
851
1209
|
* How the selection refers to this point. One is generated when it is left
|
|
852
1210
|
* out, which lasts as long as the point is mounted — give your own if the
|
|
@@ -854,15 +1212,9 @@ interface PointsEditorPointProps<T extends PointBaseType> {
|
|
|
854
1212
|
*/
|
|
855
1213
|
id?: string;
|
|
856
1214
|
/** The lowest position the point can take, per axis. An axis left out is 0. */
|
|
857
|
-
min?: Partial<
|
|
1215
|
+
min?: Partial<PointPosition>;
|
|
858
1216
|
/** The highest position the point can take, per axis. An axis left out is 1. */
|
|
859
|
-
max?: Partial<
|
|
860
|
-
/** Width and height at once. Sets both `--width` and `--height`. */
|
|
861
|
-
size?: number | string;
|
|
862
|
-
/** Sets `--width`; the size the theme gives it stands when omitted. */
|
|
863
|
-
width?: number | string;
|
|
864
|
-
/** Sets `--height`; the size the theme gives it stands when omitted. */
|
|
865
|
-
height?: number | string;
|
|
1217
|
+
max?: Partial<PointPosition>;
|
|
866
1218
|
/** Sets `--color`, for the theme to colour the point with. */
|
|
867
1219
|
color?: string;
|
|
868
1220
|
/** Overrides the `disabled` of `PointsEditor.Root`. */
|
|
@@ -884,46 +1236,25 @@ interface PointsEditorPointProps<T extends PointBaseType> {
|
|
|
884
1236
|
* Called with the new position when the point is dragged or moved by the
|
|
885
1237
|
* arrow keys or the wheel, including when it moves along with a selection.
|
|
886
1238
|
*/
|
|
887
|
-
onChange?: (value:
|
|
1239
|
+
onChange?: (value: PointPosition) => void;
|
|
888
1240
|
/** Called when a drag on this point starts, with where the point is. */
|
|
889
|
-
onDragStart?: (value:
|
|
1241
|
+
onDragStart?: (value: PointPosition) => void;
|
|
890
1242
|
/** Called when that drag ends, with where the point is. */
|
|
891
|
-
onDragEnd?: (value:
|
|
1243
|
+
onDragEnd?: (value: PointPosition) => void;
|
|
1244
|
+
style?: CSSProperties & CSSVariables<'color' | 'translate'>;
|
|
892
1245
|
}
|
|
893
|
-
declare function Point<T extends
|
|
1246
|
+
declare function Point<T extends PointPosition>({ value, children, id: idProp, min, max, color, disabled: _disabled, readonly: _readonly, wheel: _wheel, keyboard: _keyboard, 'aria-label': ariaLabel, 'aria-valuetext': ariaValuetext, onChange, onDragStart, onDragEnd, className, style, onPointerDown, onKeyDown, onFocus, ...props }: PointsEditorPointProps<T> & Omit<ComponentPropsWithoutRef<'div'>, keyof PointsEditorPointProps<T>>): import("react").JSX.Element;
|
|
894
1247
|
//#endregion
|
|
895
1248
|
//#region src/components/PointsEditor/SelectionBox.d.ts
|
|
896
|
-
interface PointsEditorSelectionBoxProps {
|
|
897
|
-
/** Drawn inside the box, which is only there while a drag is running. */
|
|
898
|
-
children?: ReactNode;
|
|
899
|
-
}
|
|
900
1249
|
/**
|
|
901
1250
|
* The box a drag on empty space draws, and what it covers is selected.
|
|
902
1251
|
*
|
|
903
1252
|
* Nothing is rendered while no drag is running, and leaving it out leaves the
|
|
904
1253
|
* editor without one — the selection still works, it just cannot be seen.
|
|
905
1254
|
*/
|
|
906
|
-
declare function SelectionBox({ children, className, style, ...props }:
|
|
1255
|
+
declare function SelectionBox({ children, className, style, ...props }: ComponentPropsWithoutRef<'div'>): import("react").JSX.Element | null;
|
|
907
1256
|
//#endregion
|
|
908
1257
|
//#region src/components/PointsEditor/context.d.ts
|
|
909
|
-
/**
|
|
910
|
-
* What a `Point` tells the editor about itself, so that a selection can be
|
|
911
|
-
* moved without the editor knowing how the points are stored.
|
|
912
|
-
*
|
|
913
|
-
* Held behind a ref and rewritten on every render: the value changes on every
|
|
914
|
-
* frame of a drag, and a registry keyed on it would be rebuilt just as often.
|
|
915
|
-
*/
|
|
916
|
-
interface PointRegistration {
|
|
917
|
-
value: PointBaseType;
|
|
918
|
-
min?: Partial<PointBaseType>;
|
|
919
|
-
max?: Partial<PointBaseType>;
|
|
920
|
-
readonly: boolean;
|
|
921
|
-
onChange?: (value: PointBaseType) => void;
|
|
922
|
-
/** The point's own element, to match the focus against. */
|
|
923
|
-
element: HTMLElement | null;
|
|
924
|
-
/** The wheel option this point resolved, root inheritance applied. */
|
|
925
|
-
wheel: ModifierValue<InputEventOption> | null;
|
|
926
|
-
}
|
|
927
1258
|
type PointsEditorContextValue = {
|
|
928
1259
|
disabled: boolean;
|
|
929
1260
|
readonly: boolean;
|
|
@@ -945,52 +1276,25 @@ type PointsEditorContextValue = {
|
|
|
945
1276
|
selectable: boolean;
|
|
946
1277
|
/** Ids of the points currently selected. Always empty while `selectable` is off. */
|
|
947
1278
|
selection: readonly string[];
|
|
948
|
-
/** Register a point so that a selection can move it with the rest. */
|
|
949
|
-
registerPoint: (id: string, entry: RefObject<PointRegistration>) => () => void;
|
|
950
1279
|
/**
|
|
951
|
-
*
|
|
952
|
-
*
|
|
1280
|
+
* The selection and the moves, from `createPointsEditor` in
|
|
1281
|
+
* `@tremolo-ui/dom`: every `Point` registers with it, and a press, a drag,
|
|
1282
|
+
* a key or the wheel goes through it so that a selection moves as one.
|
|
953
1283
|
*/
|
|
954
|
-
|
|
955
|
-
/**
|
|
956
|
-
* A pointer went down on a point: works out the new selection and takes the
|
|
957
|
-
* snapshot the move will be measured against.
|
|
958
|
-
*/
|
|
959
|
-
beginPointDrag: (id: string, modifiers: ModifierState) => void;
|
|
960
|
-
/** Move everything the drag picked up, by one amount, clamped as one. */
|
|
961
|
-
movePointDrag: (delta: PointBaseType) => void;
|
|
962
|
-
/**
|
|
963
|
-
* Move the selection by an amount that did not come from a drag — an arrow
|
|
964
|
-
* key or a wheel notch. The current values are the starting point.
|
|
965
|
-
*/
|
|
966
|
-
nudgeSelection: (id: string, delta: PointBaseType) => void;
|
|
967
|
-
/**
|
|
968
|
-
* Move the point that currently holds focus by one notch. The wheel listener
|
|
969
|
-
* belongs to `Container` rather than to every `Point`, so the lookup of who
|
|
970
|
-
* has focus happens here, where the registry is. Returns whether a point
|
|
971
|
-
* took it, so the caller knows whether to consume the event.
|
|
972
|
-
*/
|
|
973
|
-
nudgeFocusedPoint: (axis: 'x' | 'y', direction: number, modifiers: ModifierState) => boolean;
|
|
1284
|
+
editor: PointsEditorInstance;
|
|
974
1285
|
/** The selection box, while one is being dragged. */
|
|
975
1286
|
selectionBox: SelectionBoxRect | null;
|
|
976
|
-
beginSelectionBox: (at: PointBaseType, modifiers: ModifierState) => void;
|
|
977
|
-
moveSelectionBox: (to: PointBaseType) => void;
|
|
978
|
-
endSelectionBox: () => void;
|
|
979
1287
|
};
|
|
980
1288
|
/**
|
|
981
1289
|
* The settings `Root` was given, for the subcomponents to read. A point's
|
|
982
1290
|
* value still belongs to the `Point` that draws it; what the root keeps is
|
|
983
1291
|
* which points are selected, and a registry of who they are.
|
|
984
1292
|
*/
|
|
985
|
-
declare function usePointsEditorContext(): PointsEditorContextValue;
|
|
986
|
-
declare function usePointsEditorContext<T>(selector: (state: PointsEditorContextValue) => T): T;
|
|
1293
|
+
export declare function usePointsEditorContext(): PointsEditorContextValue;
|
|
1294
|
+
export declare function usePointsEditorContext<T>(selector: (state: PointsEditorContextValue) => T): T;
|
|
987
1295
|
//#endregion
|
|
988
1296
|
//#region src/components/PointsEditor/index.d.ts
|
|
989
1297
|
interface PointsEditorProps {
|
|
990
|
-
/** Sets `--width`; the size the theme gives it stands when omitted. */
|
|
991
|
-
width?: number | string;
|
|
992
|
-
/** Sets `--height`; the size the theme gives it stands when omitted. */
|
|
993
|
-
height?: number | string;
|
|
994
1298
|
/**
|
|
995
1299
|
* Make the points unchangeable and remove them from the tab order.
|
|
996
1300
|
* The parts carry `data-disabled` while it is set.
|
|
@@ -1106,10 +1410,10 @@ interface PointsEditorProps {
|
|
|
1106
1410
|
/**
|
|
1107
1411
|
* Multiple Point Controller
|
|
1108
1412
|
*/
|
|
1109
|
-
declare const PointsEditor: {
|
|
1413
|
+
export declare const PointsEditor: {
|
|
1110
1414
|
Root: import("react").ForwardRefExoticComponent<PointsEditorProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof PointsEditorProps> & import("react").RefAttributes<HTMLDivElement>>;
|
|
1111
1415
|
Background: typeof Background;
|
|
1112
|
-
Container: import("react").ForwardRefExoticComponent<
|
|
1416
|
+
Container: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
1113
1417
|
Point: typeof Point;
|
|
1114
1418
|
SelectionBox: typeof SelectionBox;
|
|
1115
1419
|
};
|
|
@@ -1122,18 +1426,7 @@ interface SliderThumbProps {
|
|
|
1122
1426
|
* leave the matching room around the track.
|
|
1123
1427
|
*/
|
|
1124
1428
|
color?: string;
|
|
1125
|
-
|
|
1126
|
-
style?: CSSProperties;
|
|
1127
|
-
/**
|
|
1128
|
-
* Rendered inside the thumb. The thumb is one element either way, so what
|
|
1129
|
-
* is passed here is decoration on top of it rather than a replacement for
|
|
1130
|
-
* it — `className` and `style` are how its own appearance is changed.
|
|
1131
|
-
*/
|
|
1132
|
-
children?: ReactNode;
|
|
1133
|
-
'aria-label'?: AriaAttributes['aria-label'];
|
|
1134
|
-
'aria-labelledby'?: AriaAttributes['aria-labelledby'];
|
|
1135
|
-
'aria-describedby'?: AriaAttributes['aria-describedby'];
|
|
1136
|
-
'aria-valuetext'?: AriaAttributes['aria-valuetext'];
|
|
1429
|
+
style?: CSSProperties & CSSVariables<'color' | 'translate'>;
|
|
1137
1430
|
}
|
|
1138
1431
|
interface SliderThumbMethods {
|
|
1139
1432
|
focus: () => void;
|
|
@@ -1153,25 +1446,9 @@ interface SliderTrackProps {
|
|
|
1153
1446
|
active?: string;
|
|
1154
1447
|
/** Colour of the rest of the track. Sets `--inactive`. */
|
|
1155
1448
|
inactive?: string;
|
|
1156
|
-
|
|
1157
|
-
style?: CSSProperties;
|
|
1158
|
-
/** `<Slider.Thumb />` goes here. */
|
|
1159
|
-
children?: ReactNode;
|
|
1449
|
+
style?: CSSProperties & CSSVariables<'length' | 'thickness' | 'active' | 'inactive' | 'percent'>;
|
|
1160
1450
|
}
|
|
1161
1451
|
//#endregion
|
|
1162
|
-
//#region src/components/Slider/type.d.ts
|
|
1163
|
-
/**
|
|
1164
|
-
* How `Slider.Marks` fills itself in when it is given no children: one option
|
|
1165
|
-
* every `per`, or every `step` of the slider. The object form turns off the
|
|
1166
|
-
* mark or the label for the whole set; a single option is customized by
|
|
1167
|
-
* writing `Slider.MarksOption` out instead.
|
|
1168
|
-
*/
|
|
1169
|
-
type MarksOptions = 'step' | number | {
|
|
1170
|
-
per: 'step' | number;
|
|
1171
|
-
mark?: boolean;
|
|
1172
|
-
label?: boolean;
|
|
1173
|
-
};
|
|
1174
|
-
//#endregion
|
|
1175
1452
|
//#region src/components/Slider/Marks.d.ts
|
|
1176
1453
|
interface SliderMarksProps {
|
|
1177
1454
|
/**
|
|
@@ -1188,11 +1465,7 @@ interface SliderMarksProps {
|
|
|
1188
1465
|
* `'step'` makes one per step, which is a great many for a fine `step`.
|
|
1189
1466
|
*/
|
|
1190
1467
|
options?: MarksOptions;
|
|
1191
|
-
|
|
1192
|
-
* `<Slider.MarksOption />` goes here, one per mark. Ignored while `options`
|
|
1193
|
-
* is set.
|
|
1194
|
-
*/
|
|
1195
|
-
children?: ReactNode;
|
|
1468
|
+
style?: CSSProperties & CSSVariables<'gap'>;
|
|
1196
1469
|
}
|
|
1197
1470
|
declare function Marks({ gap, options, children, className, style, ...props }: SliderMarksProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SliderMarksProps>): import("react").JSX.Element;
|
|
1198
1471
|
//#endregion
|
|
@@ -1216,8 +1489,6 @@ interface SliderMarksOptionProps {
|
|
|
1216
1489
|
length?: number | string;
|
|
1217
1490
|
/** Space between the mark and the label. Sets `--gap`. */
|
|
1218
1491
|
gap?: number | string;
|
|
1219
|
-
/** Width of the label. Sets `--label-width`. */
|
|
1220
|
-
labelWidth?: number | string;
|
|
1221
1492
|
/** Classes for the mark and the label inside the option. */
|
|
1222
1493
|
classes?: {
|
|
1223
1494
|
mark?: string;
|
|
@@ -1228,8 +1499,9 @@ interface SliderMarksOptionProps {
|
|
|
1228
1499
|
mark?: CSSProperties;
|
|
1229
1500
|
label?: CSSProperties;
|
|
1230
1501
|
};
|
|
1502
|
+
style?: CSSProperties & CSSVariables<'thickness' | 'length' | 'gap' | 'translate'>;
|
|
1231
1503
|
}
|
|
1232
|
-
declare function MarksOption({ value, mark, label, thickness, length, gap,
|
|
1504
|
+
declare function MarksOption({ value, mark, label, thickness, length, gap, classes, styles, className, style, ...props }: SliderMarksOptionProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SliderMarksOptionProps>): import("react").JSX.Element;
|
|
1233
1505
|
//#endregion
|
|
1234
1506
|
//#region src/components/Slider/context.d.ts
|
|
1235
1507
|
type SliderContextValue = {
|
|
@@ -1258,8 +1530,8 @@ type SliderContextValue = {
|
|
|
1258
1530
|
* Everything here is derived during render, so there is no state to keep in
|
|
1259
1531
|
* sync: `value` comes from the props of `Root` and the rest follows from it.
|
|
1260
1532
|
*/
|
|
1261
|
-
declare function useSliderContext(): SliderContextValue;
|
|
1262
|
-
declare function useSliderContext<T>(selector: (state: SliderContextValue) => T): T;
|
|
1533
|
+
export declare function useSliderContext(): SliderContextValue;
|
|
1534
|
+
export declare function useSliderContext<T>(selector: (state: SliderContextValue) => T): T;
|
|
1263
1535
|
//#endregion
|
|
1264
1536
|
//#region src/components/Slider/index.d.ts
|
|
1265
1537
|
interface SliderProps {
|
|
@@ -1364,8 +1636,6 @@ interface SliderProps {
|
|
|
1364
1636
|
* The parts carry `data-readonly` while it is set.
|
|
1365
1637
|
*/
|
|
1366
1638
|
readonly?: boolean;
|
|
1367
|
-
className?: string;
|
|
1368
|
-
style?: CSSProperties;
|
|
1369
1639
|
/** Called with the new value when a drag, the wheel or an arrow key moves it. */
|
|
1370
1640
|
onChange?: (value: number) => void;
|
|
1371
1641
|
/** Called when a drag starts, with the value where the track was pressed. */
|
|
@@ -1392,7 +1662,7 @@ interface SliderMethods {
|
|
|
1392
1662
|
/**
|
|
1393
1663
|
* Customizable slider
|
|
1394
1664
|
*/
|
|
1395
|
-
declare const Slider: {
|
|
1665
|
+
export declare const Slider: {
|
|
1396
1666
|
Root: React.ForwardRefExoticComponent<SliderProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SliderProps> & React.RefAttributes<SliderMethods>>;
|
|
1397
1667
|
Thumb: React.ForwardRefExoticComponent<SliderThumbProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SliderThumbProps> & React.RefAttributes<SliderThumbMethods>>;
|
|
1398
1668
|
Track: React.ForwardRefExoticComponent<SliderTrackProps & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SliderTrackProps> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1400,34 +1670,6 @@ declare const Slider: {
|
|
|
1400
1670
|
MarksOption: typeof MarksOption;
|
|
1401
1671
|
};
|
|
1402
1672
|
//#endregion
|
|
1403
|
-
//#region src/components/XYPad/context.d.ts
|
|
1404
|
-
type XYPadContextValue = {
|
|
1405
|
-
value: XY<number>;
|
|
1406
|
-
min: XY<number>;
|
|
1407
|
-
max: XY<number>;
|
|
1408
|
-
step: XY<number>;
|
|
1409
|
-
/** How the value of each axis is distributed across the travel. */
|
|
1410
|
-
scale: XY<Scale>;
|
|
1411
|
-
reverse: XY<boolean>;
|
|
1412
|
-
disabled: boolean;
|
|
1413
|
-
readonly: boolean;
|
|
1414
|
-
onChange?: (value: XY<number>) => void;
|
|
1415
|
-
/**
|
|
1416
|
-
* Position of the thumb, 0-100 per axis, already accounting for `reverse`.
|
|
1417
|
-
*/
|
|
1418
|
-
percent: XY<number>;
|
|
1419
|
-
/** `Area` registers its element here; `Root` normalizes the pointer against it. */
|
|
1420
|
-
areaRef: RefObject<HTMLDivElement | null>;
|
|
1421
|
-
/** `Thumb` registers itself here; `Root` focuses it when a drag starts. */
|
|
1422
|
-
thumbRef: RefObject<XYPadThumbMethods | null>;
|
|
1423
|
-
};
|
|
1424
|
-
/**
|
|
1425
|
-
* Everything here is derived during render, so there is no state to keep in
|
|
1426
|
-
* sync: `value` comes from the props of `Root` and the rest follows from it.
|
|
1427
|
-
*/
|
|
1428
|
-
declare function useXYPadContext(): XYPadContextValue;
|
|
1429
|
-
declare function useXYPadContext<T>(selector: (state: XYPadContextValue) => T): T;
|
|
1430
|
-
//#endregion
|
|
1431
1673
|
//#region src/components/XYPad/Thumb.d.ts
|
|
1432
1674
|
interface XYPadThumbProps {
|
|
1433
1675
|
/**
|
|
@@ -1436,14 +1678,6 @@ interface XYPadThumbProps {
|
|
|
1436
1678
|
* the matching room around the area.
|
|
1437
1679
|
*/
|
|
1438
1680
|
color?: string;
|
|
1439
|
-
className?: string;
|
|
1440
|
-
style?: CSSProperties;
|
|
1441
|
-
/**
|
|
1442
|
-
* Rendered inside the thumb. The thumb is one element either way, so what
|
|
1443
|
-
* is passed here is decoration on top of it rather than a replacement for
|
|
1444
|
-
* it — `className` and `style` are how its own appearance is changed.
|
|
1445
|
-
*/
|
|
1446
|
-
children?: ReactNode;
|
|
1447
1681
|
/**
|
|
1448
1682
|
* The accessible name of each axis, as `[x, y]`. There are two range inputs
|
|
1449
1683
|
* inside the thumb, so each takes a name of its own; a single string names
|
|
@@ -1459,25 +1693,40 @@ interface XYPadThumbProps {
|
|
|
1459
1693
|
* `[x, y]` or one for both.
|
|
1460
1694
|
*/
|
|
1461
1695
|
'aria-valuetext'?: XYInput<AriaAttributes['aria-valuetext']>;
|
|
1696
|
+
style?: CSSProperties & CSSVariables<'color' | 'translate'>;
|
|
1462
1697
|
}
|
|
1463
1698
|
interface XYPadThumbMethods {
|
|
1464
1699
|
focus: () => void;
|
|
1465
1700
|
blur: () => void;
|
|
1466
1701
|
}
|
|
1467
1702
|
//#endregion
|
|
1468
|
-
//#region src/components/XYPad/
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
/**
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1703
|
+
//#region src/components/XYPad/context.d.ts
|
|
1704
|
+
type XYPadContextValue = {
|
|
1705
|
+
value: XY<number>;
|
|
1706
|
+
min: XY<number>;
|
|
1707
|
+
max: XY<number>;
|
|
1708
|
+
step: XY<number>;
|
|
1709
|
+
/** How the value of each axis is distributed across the travel. */
|
|
1710
|
+
scale: XY<Scale>;
|
|
1711
|
+
reverse: XY<boolean>;
|
|
1712
|
+
disabled: boolean;
|
|
1713
|
+
readonly: boolean;
|
|
1714
|
+
onChange?: (value: XY<number>) => void;
|
|
1715
|
+
/**
|
|
1716
|
+
* Position of the thumb, 0-100 per axis, already accounting for `reverse`.
|
|
1717
|
+
*/
|
|
1718
|
+
percent: XY<number>;
|
|
1719
|
+
/** `Area` registers its element here; `Root` normalizes the pointer against it. */
|
|
1720
|
+
areaRef: RefObject<HTMLDivElement | null>;
|
|
1721
|
+
/** `Thumb` registers itself here; `Root` focuses it when a drag starts. */
|
|
1722
|
+
thumbRef: RefObject<XYPadThumbMethods | null>;
|
|
1723
|
+
};
|
|
1724
|
+
/**
|
|
1725
|
+
* Everything here is derived during render, so there is no state to keep in
|
|
1726
|
+
* sync: `value` comes from the props of `Root` and the rest follows from it.
|
|
1727
|
+
*/
|
|
1728
|
+
export declare function useXYPadContext(): XYPadContextValue;
|
|
1729
|
+
export declare function useXYPadContext<T>(selector: (state: XYPadContextValue) => T): T;
|
|
1481
1730
|
//#endregion
|
|
1482
1731
|
//#region src/components/XYPad/index.d.ts
|
|
1483
1732
|
/**
|
|
@@ -1610,20 +1859,24 @@ interface XYPadMethods {
|
|
|
1610
1859
|
/**
|
|
1611
1860
|
* Simple XYPad
|
|
1612
1861
|
*/
|
|
1613
|
-
declare const XYPad: {
|
|
1862
|
+
export declare const XYPad: {
|
|
1614
1863
|
Root: import("react").ForwardRefExoticComponent<XYPadProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof XYPadProps> & import("react").RefAttributes<XYPadMethods>>;
|
|
1615
1864
|
Thumb: import("react").ForwardRefExoticComponent<XYPadThumbProps & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof XYPadThumbProps> & import("react").RefAttributes<XYPadThumbMethods>>;
|
|
1616
|
-
Area: import("react").ForwardRefExoticComponent<
|
|
1865
|
+
Area: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
1617
1866
|
};
|
|
1618
1867
|
//#endregion
|
|
1619
1868
|
//#region src/hooks/useAnimationFrame.d.ts
|
|
1620
|
-
declare function useAnimationFrame(callback?: () => void, deps?: DependencyList): void;
|
|
1869
|
+
export declare function useAnimationFrame(callback?: () => void, deps?: DependencyList): void;
|
|
1621
1870
|
//#endregion
|
|
1622
1871
|
//#region src/hooks/useDrag.d.ts
|
|
1623
|
-
interface
|
|
1872
|
+
interface UseDragOptions {
|
|
1624
1873
|
/**
|
|
1625
|
-
*
|
|
1626
|
-
*
|
|
1874
|
+
* Pixels the pointer has to travel before the drag counts as one.
|
|
1875
|
+
*
|
|
1876
|
+
* A click moves the pointer by a pixel or two, so without a threshold a
|
|
1877
|
+
* double click reports a drag between the two presses.
|
|
1878
|
+
*
|
|
1879
|
+
* @default 1
|
|
1627
1880
|
*/
|
|
1628
1881
|
threshold?: number;
|
|
1629
1882
|
/** CSS cursor to show while dragging. Applied to the element itself. */
|
|
@@ -1637,11 +1890,16 @@ interface UseDragProps {
|
|
|
1637
1890
|
*/
|
|
1638
1891
|
pointerLock?: boolean;
|
|
1639
1892
|
/**
|
|
1893
|
+
* Called on every move once the drag has started, with the pointer position
|
|
1894
|
+
* relative to the element and how far it moved since the last call.
|
|
1895
|
+
*
|
|
1640
1896
|
* @param state the whole drag, for anything the four numbers leave out —
|
|
1641
1897
|
* the pointer event and its modifier keys, most of all.
|
|
1642
1898
|
*/
|
|
1643
1899
|
onDrag?: (x: number, y: number, deltaX: number, deltaY: number, state: DragState) => void;
|
|
1900
|
+
/** Called once the pointer has moved past `threshold`, not on pointerdown. */
|
|
1644
1901
|
onDragStart?: (state: DragState) => void;
|
|
1902
|
+
/** Called when the pointer is released, only if the drag ever started. */
|
|
1645
1903
|
onDragEnd?: (state: DragState) => void;
|
|
1646
1904
|
}
|
|
1647
1905
|
/**
|
|
@@ -1649,12 +1907,12 @@ interface UseDragProps {
|
|
|
1649
1907
|
*
|
|
1650
1908
|
* @returns a ref callback to attach to the element being dragged
|
|
1651
1909
|
*/
|
|
1652
|
-
declare function useDrag<T extends Element>({ threshold, cursor, pointerLock, onDrag, onDragStart, onDragEnd }:
|
|
1910
|
+
export declare function useDrag<T extends Element>({ threshold, cursor, pointerLock, onDrag, onDragStart, onDragEnd }: UseDragOptions): (node: T | null) => void;
|
|
1653
1911
|
//#endregion
|
|
1654
1912
|
//#region src/hooks/useDragValue.d.ts
|
|
1655
1913
|
interface UseDragValueOptions {
|
|
1656
1914
|
/** Scaling of each axis; a single value applies to both. */
|
|
1657
|
-
axis: XYInput
|
|
1915
|
+
axis: XYInput<AxisOptions>;
|
|
1658
1916
|
/**
|
|
1659
1917
|
* Normalize the pointer against the bounding rect of this element, so that
|
|
1660
1918
|
* the value *is* the position pointed at.
|
|
@@ -1668,12 +1926,12 @@ interface UseDragValueOptions {
|
|
|
1668
1926
|
*
|
|
1669
1927
|
* Give either this or `baseElementRef`.
|
|
1670
1928
|
*/
|
|
1671
|
-
getValue?: () => XY
|
|
1929
|
+
getValue?: () => XY<number>;
|
|
1672
1930
|
/**
|
|
1673
1931
|
* Pixels of movement that span the whole range, with `getValue`.
|
|
1674
1932
|
* @default 100
|
|
1675
1933
|
*/
|
|
1676
|
-
pixelRange?: XYInput
|
|
1934
|
+
pixelRange?: XYInput<number>;
|
|
1677
1935
|
/**
|
|
1678
1936
|
* How much the movement counts, read on every move. `0.1` makes the same
|
|
1679
1937
|
* movement cover a tenth of the range, which is what a fine-adjustment
|
|
@@ -1687,9 +1945,19 @@ interface UseDragValueOptions {
|
|
|
1687
1945
|
* @see elementMapping
|
|
1688
1946
|
*/
|
|
1689
1947
|
sensitivity?: (state: DragState) => number;
|
|
1690
|
-
/**
|
|
1948
|
+
/**
|
|
1949
|
+
* Move the value on pointerdown, before the pointer has moved at all. With
|
|
1950
|
+
* `baseElementRef` that makes a press jump the value to where it landed.
|
|
1951
|
+
*
|
|
1952
|
+
* @see DragValueOptions.updateOnPointerDown
|
|
1953
|
+
*/
|
|
1691
1954
|
updateOnPointerDown?: boolean;
|
|
1692
|
-
/**
|
|
1955
|
+
/**
|
|
1956
|
+
* Pixels the pointer has to travel before the drag counts as one. The
|
|
1957
|
+
* default is 0, so the value follows the very first move.
|
|
1958
|
+
*
|
|
1959
|
+
* @default 0
|
|
1960
|
+
*/
|
|
1693
1961
|
threshold?: number;
|
|
1694
1962
|
/** CSS cursor to show while dragging. Applied to the element itself. */
|
|
1695
1963
|
cursor?: string;
|
|
@@ -1710,35 +1978,63 @@ interface UseDragValueOptions {
|
|
|
1710
1978
|
*/
|
|
1711
1979
|
shouldStart?: (event: PointerEvent) => boolean;
|
|
1712
1980
|
/**
|
|
1981
|
+
* Called with the new value whenever the drag moves it. The hook holds no
|
|
1982
|
+
* value of its own, so this is where it is stored.
|
|
1983
|
+
*
|
|
1713
1984
|
* @param state the whole drag, for anything the value leaves out — the
|
|
1714
1985
|
* pointer event and its modifier keys, most of all.
|
|
1715
1986
|
*/
|
|
1716
|
-
onChange?: (value: XY
|
|
1717
|
-
|
|
1718
|
-
|
|
1987
|
+
onChange?: (value: XY<number>, state: DragState) => void;
|
|
1988
|
+
/** Called once the drag starts, with the value it starts from. */
|
|
1989
|
+
onDragStart?: (value: XY<number>, state: DragState) => void;
|
|
1990
|
+
/** Called when the pointer is released, with the value it ends on. */
|
|
1991
|
+
onDragEnd?: (value: XY<number>, state: DragState) => void;
|
|
1719
1992
|
}
|
|
1720
1993
|
/**
|
|
1721
1994
|
* Drive a value with a pointer drag.
|
|
1722
1995
|
*
|
|
1723
1996
|
* @returns a ref callback for the element that starts the drag, and whether a drag is in progress
|
|
1724
1997
|
*/
|
|
1725
|
-
declare function useDragValue<T extends Element>(options: UseDragValueOptions): {
|
|
1998
|
+
export declare function useDragValue<T extends Element>(options: UseDragValueOptions): {
|
|
1726
1999
|
refCallback: (node: T | null) => void;
|
|
1727
2000
|
dragging: boolean;
|
|
1728
2001
|
};
|
|
1729
2002
|
//#endregion
|
|
2003
|
+
//#region src/hooks/useDropZone.d.ts
|
|
2004
|
+
interface UseDropZoneOptions extends Omit<DropZoneOptions, 'onStateChange'> {}
|
|
2005
|
+
/**
|
|
2006
|
+
* Take files dropped onto an element.
|
|
2007
|
+
*
|
|
2008
|
+
* Any element can become a drop target this way — a waveform display, a track
|
|
2009
|
+
* lane, a canvas — without wrapping it in anything.
|
|
2010
|
+
*
|
|
2011
|
+
* @returns a ref callback for the element, and whether a drag is over it
|
|
2012
|
+
*/
|
|
2013
|
+
export declare function useDropZone<T extends Element>({ accept, multiple, disabled, onDrop, onReject }?: UseDropZoneOptions): {
|
|
2014
|
+
refCallback: (node: T | null) => void;
|
|
2015
|
+
over: boolean;
|
|
2016
|
+
invalid: boolean;
|
|
2017
|
+
};
|
|
2018
|
+
//#endregion
|
|
1730
2019
|
//#region src/hooks/useEventListener.d.ts
|
|
1731
2020
|
type Target = EventTarget | null | (() => EventTarget | null);
|
|
1732
2021
|
type Options = boolean | AddEventListenerOptions;
|
|
1733
|
-
declare function useEventListener<K extends keyof DocumentEventMap>(target: Target, event: K, handler: (event: DocumentEventMap[K]) => void, options?: Options): VoidFunction;
|
|
1734
|
-
declare function useEventListener<K extends keyof WindowEventMap>(target: Target, event: K, handler: (event: WindowEventMap[K]) => void, options?: Options): VoidFunction;
|
|
1735
|
-
declare function useEventListener<K extends keyof GlobalEventHandlersEventMap>(target: Target, event: K, handler: (event: GlobalEventHandlersEventMap[K]) => void, options?: Options): VoidFunction;
|
|
2022
|
+
export declare function useEventListener<K extends keyof DocumentEventMap>(target: Target, event: K, handler: (event: DocumentEventMap[K]) => void, options?: Options): VoidFunction;
|
|
2023
|
+
export declare function useEventListener<K extends keyof WindowEventMap>(target: Target, event: K, handler: (event: WindowEventMap[K]) => void, options?: Options): VoidFunction;
|
|
2024
|
+
export declare function useEventListener<K extends keyof GlobalEventHandlersEventMap>(target: Target, event: K, handler: (event: GlobalEventHandlersEventMap[K]) => void, options?: Options): VoidFunction;
|
|
1736
2025
|
//#endregion
|
|
1737
2026
|
//#region src/hooks/useInterval.d.ts
|
|
1738
|
-
declare function useInterval(callback: () => void, delay: number | null): void;
|
|
2027
|
+
export declare function useInterval(callback: () => void, delay: number | null): void;
|
|
1739
2028
|
//#endregion
|
|
1740
2029
|
//#region src/hooks/useLongPress.d.ts
|
|
1741
|
-
|
|
2030
|
+
/**
|
|
2031
|
+
* Repeat `callback` while a pointer is held down: once on the press, then
|
|
2032
|
+
* every `interval` after `initialDelay`. The repeat itself is
|
|
2033
|
+
* `createLongPress` in `@tremolo-ui/dom`.
|
|
2034
|
+
*
|
|
2035
|
+
* Returns the function that starts a press, for an `onPointerDown`.
|
|
2036
|
+
*/
|
|
2037
|
+
export declare function useLongPress(callback: () => void, initialDelay?: number, interval?: number): (event?: Pick<PointerEvent, "button" | "pointerId">) => void | undefined;
|
|
1742
2038
|
//#endregion
|
|
1743
2039
|
//#region src/hooks/useMIDIAccess.d.ts
|
|
1744
2040
|
/**
|
|
@@ -1751,8 +2047,8 @@ declare function useLongPress(callback: () => void, initialDelay?: number, inter
|
|
|
1751
2047
|
* messages. Browsers treat that as a separate, more sensitive permission, so
|
|
1752
2048
|
* ask for it only when it is actually used.
|
|
1753
2049
|
*/
|
|
1754
|
-
declare function useMIDIAccess(requestOnMount?: boolean): {
|
|
1755
|
-
request: (options?: MIDIAccessOptions
|
|
2050
|
+
export declare function useMIDIAccess(requestOnMount?: boolean): {
|
|
2051
|
+
request: (options?: MIDIAccessOptions) => void;
|
|
1756
2052
|
midiAccess: MIDIAccess | null;
|
|
1757
2053
|
error: import("@tremolo-ui/dom").MIDIAccessError | null;
|
|
1758
2054
|
inputs: readonly MIDIInput[];
|
|
@@ -1776,7 +2072,7 @@ declare function useMIDIAccess(requestOnMount?: boolean): {
|
|
|
1776
2072
|
* },
|
|
1777
2073
|
* })
|
|
1778
2074
|
*/
|
|
1779
|
-
declare function useMIDIInput(midiAccess: MIDIAccess | null, handlers: MIDIInputHandlers): void;
|
|
2075
|
+
export declare function useMIDIInput(midiAccess: MIDIAccess | null, handlers: MIDIInputHandlers): void;
|
|
1780
2076
|
//#endregion
|
|
1781
2077
|
//#region src/hooks/useMIDIMessage.d.ts
|
|
1782
2078
|
/**
|
|
@@ -1786,10 +2082,10 @@ declare function useMIDIInput(midiAccess: MIDIAccess | null, handlers: MIDIInput
|
|
|
1786
2082
|
* listeners are attached once per `midiAccess` and stay attached, and devices
|
|
1787
2083
|
* plugged in later are picked up.
|
|
1788
2084
|
*/
|
|
1789
|
-
declare function useMIDIMessage(midiAccess: MIDIAccess | null, onMIDIMessage: (event: MIDIMessageEvent) => void): void;
|
|
2085
|
+
export declare function useMIDIMessage(midiAccess: MIDIAccess | null, onMIDIMessage: (event: MIDIMessageEvent) => void): void;
|
|
1790
2086
|
//#endregion
|
|
1791
2087
|
//#region src/hooks/useWheel.d.ts
|
|
1792
|
-
interface UseWheelOptions extends WheelOptions {
|
|
2088
|
+
interface UseWheelOptions extends Omit<WheelOptions, 'onWheel'> {
|
|
1793
2089
|
/**
|
|
1794
2090
|
* Listen on this element rather than on the one the returned ref callback is
|
|
1795
2091
|
* attached to, and ignore that callback.
|
|
@@ -1811,31 +2107,7 @@ interface UseWheelOptions extends WheelOptions {
|
|
|
1811
2107
|
*
|
|
1812
2108
|
* @returns a ref callback to attach to the element, unused when `target` is given
|
|
1813
2109
|
*/
|
|
1814
|
-
declare function useWheel<T extends Element>(onWheel: (event: WheelEvent) => void, { requireFocus, target }?: UseWheelOptions): (node: T | null) => void;
|
|
1815
|
-
//#endregion
|
|
1816
|
-
//#region src/input-event.d.ts
|
|
1817
|
-
/**
|
|
1818
|
-
* The keyboard amount used by Knob, NumberInput, Slider, and XYPad by default:
|
|
1819
|
-
* 1 per press in the units of the value, and 0.1 with shift held. That is one
|
|
1820
|
-
* `step` only while `step` is 1; a coarser `step` rounds 1 straight back, which
|
|
1821
|
-
* `useCheckSteps` warns about.
|
|
1822
|
-
*
|
|
1823
|
-
* A modifier entry is not snapped to `step`, which is what lets the finer
|
|
1824
|
-
* amount move at all — see `applyDelta` in `@tremolo-ui/functions`.
|
|
1825
|
-
*/
|
|
1826
|
-
declare const DEFAULT_KEYBOARD_OPTIONS: ModifierValue<InputEventOption>;
|
|
1827
|
-
/**
|
|
1828
|
-
* The wheel amount used by Knob, NumberInput, Slider, and XYPad by default.
|
|
1829
|
-
*
|
|
1830
|
-
* Browsers turn shift+wheel into horizontal scrolling, which empties `deltaY`
|
|
1831
|
-
* and fills `deltaX`, so no modifier is bound here.
|
|
1832
|
-
*/
|
|
1833
|
-
declare const DEFAULT_WHEEL_OPTIONS: ModifierValue<InputEventOption>;
|
|
1834
|
-
/**
|
|
1835
|
-
* The drag sensitivity used by value controls by default. Shift makes the
|
|
1836
|
-
* same movement cover a tenth of the range, matching the arrow keys.
|
|
1837
|
-
*/
|
|
1838
|
-
declare const DEFAULT_DRAG_SENSITIVITY: ModifierValue<number>;
|
|
2110
|
+
export declare function useWheel<T extends Element>(onWheel: (event: WheelEvent) => void, { requireFocus, target }?: UseWheelOptions): (node: T | null) => void;
|
|
1839
2111
|
//#endregion
|
|
1840
|
-
export {
|
|
2112
|
+
export type { AnimationCanvasCommonProps, AnimationCanvasFixedProps, AnimationCanvasProps, AnimationCanvasResizableProps, CSSVariables, DrawFunction, DropZoneProps, FileInputContextValue, FileInputProps, FileInputTriggerProps, InitFunction, KeyAttributes, KeyState, KnobContextValue, KnobMethods, KnobProps, KnobSVGRootProps, KnobThumbProps, NumberInputContextValue, NumberInputMethods, NumberInputProps, PianoMethods, PianoProps, PointsEditorContextValue, PointsEditorPointProps, PointsEditorProps, SliderContextValue, SliderMarksOptionProps, SliderMarksProps, SliderMethods, SliderProps, SliderThumbMethods, SliderThumbProps, SliderTrackProps, UseDragOptions, UseDragValueOptions, UseDropZoneOptions, UseWheelOptions, XYPadContextValue, XYPadMethods, XYPadProps, XYPadThumbMethods, XYPadThumbProps };
|
|
1841
2113
|
//# sourceMappingURL=index.d.ts.map
|