@zylem/ui 0.9.7 → 0.9.9

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/etc/ui.api.md ADDED
@@ -0,0 +1,1957 @@
1
+ ## API Report File for "@zylem/ui"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import { Accessor } from 'solid-js';
8
+ import { Component } from 'solid-js';
9
+ import { JSX } from 'solid-js';
10
+
11
+ // @public
12
+ export function Accordion(props: AccordionProps): JSX.Element;
13
+
14
+ // @public (undocumented)
15
+ export interface AccordionItemConfig {
16
+ // (undocumented)
17
+ content: () => JSX.Element;
18
+ // (undocumented)
19
+ id: string;
20
+ // (undocumented)
21
+ title: JSX.Element;
22
+ }
23
+
24
+ // @public (undocumented)
25
+ export interface AccordionProps {
26
+ // (undocumented)
27
+ class?: string;
28
+ // (undocumented)
29
+ collapsible?: boolean;
30
+ contentClass?: string;
31
+ // (undocumented)
32
+ defaultValue?: string[];
33
+ headingLevel?: HeadingLevel;
34
+ // (undocumented)
35
+ items: AccordionItemConfig[];
36
+ // (undocumented)
37
+ multiple?: boolean;
38
+ // (undocumented)
39
+ onChange?: (value: string[]) => void;
40
+ stack?: boolean;
41
+ // (undocumented)
42
+ value?: string[];
43
+ }
44
+
45
+ // @public
46
+ export function AddTile(props: AddTileProps): JSX;
47
+
48
+ // @public (undocumented)
49
+ export interface AddTileProps {
50
+ // (undocumented)
51
+ class?: string;
52
+ // (undocumented)
53
+ disabled?: boolean;
54
+ label?: string;
55
+ // (undocumented)
56
+ onClick?: (event: MouseEvent) => void;
57
+ variant?: AddTileVariant;
58
+ }
59
+
60
+ // @public (undocumented)
61
+ export type AddTileVariant = 'square' | 'tall' | 'fill';
62
+
63
+ // @public
64
+ export function arcPath(cx: number, cy: number, radius: number, from: number, to: number): string;
65
+
66
+ // @public (undocumented)
67
+ export const ART_TOOL_ICONS: Record<ArtTool, IconComponent>;
68
+
69
+ // @public (undocumented)
70
+ export const ART_TOOL_LABELS: Record<ArtTool, string>;
71
+
72
+ // @public
73
+ export const ART_TOOLS: readonly ArtTool[];
74
+
75
+ // @public
76
+ export type ArtTool = 'pencil' | 'fill' | 'eraser' | 'rectangle' | 'ellipse' | 'select' | 'eyedropper' | 'move';
77
+
78
+ // @public
79
+ export function Badge(props: BadgeProps): JSX.Element;
80
+
81
+ // @public (undocumented)
82
+ export interface BadgeProps {
83
+ // (undocumented)
84
+ children: JSX.Element;
85
+ // (undocumented)
86
+ class?: string;
87
+ // (undocumented)
88
+ tone?: BadgeTone;
89
+ }
90
+
91
+ // @public (undocumented)
92
+ export type BadgeTone = 'info' | 'warning' | 'error' | 'success' | 'neutral';
93
+
94
+ // @public (undocumented)
95
+ export const BUILD_LABEL_ID = "zylem-build-label";
96
+
97
+ // @public
98
+ export function BuildLabel(props: BuildLabelProps): JSX;
99
+
100
+ // @public (undocumented)
101
+ export interface BuildLabelModel {
102
+ packages?: Record<string, string>;
103
+ prefer?: string;
104
+ version?: string;
105
+ }
106
+
107
+ // @public (undocumented)
108
+ export type BuildLabelProps = BuildLabelModel;
109
+
110
+ // @public
111
+ export function Button(props: ButtonProps): JSX.Element;
112
+
113
+ // @public (undocumented)
114
+ export interface ButtonProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> {
115
+ icon?: JSX.Element | undefined;
116
+ on?: boolean | undefined;
117
+ // (undocumented)
118
+ size?: ButtonSize;
119
+ // (undocumented)
120
+ variant?: ButtonVariant;
121
+ }
122
+
123
+ // @public (undocumented)
124
+ export type ButtonSize = 'sm' | 'md' | 'lg' | 'icon';
125
+
126
+ // @public (undocumented)
127
+ export type ButtonVariant = 'default' | 'primary' | 'active' | 'danger' | 'ghost';
128
+
129
+ // @public
130
+ export function Callout(props: CalloutProps): JSX.Element;
131
+
132
+ // @public (undocumented)
133
+ export interface CalloutProps {
134
+ // (undocumented)
135
+ children: JSX.Element;
136
+ // (undocumented)
137
+ class?: string;
138
+ title?: JSX.Element;
139
+ // (undocumented)
140
+ tone?: CalloutTone;
141
+ }
142
+
143
+ // @public (undocumented)
144
+ export type CalloutTone = 'info' | 'warning' | 'error' | 'success';
145
+
146
+ // @public (undocumented)
147
+ export const CAMERA_ICONS: readonly [{
148
+ readonly name: "perspective";
149
+ readonly label: "Perspective";
150
+ readonly Icon: Component<ZylemIconProps>;
151
+ }, {
152
+ readonly name: "sideview-perspective";
153
+ readonly label: "Side view";
154
+ readonly Icon: Component<ZylemIconProps>;
155
+ }, {
156
+ readonly name: "top-down-perspective";
157
+ readonly label: "Top down";
158
+ readonly Icon: Component<ZylemIconProps>;
159
+ }, {
160
+ readonly name: "isometric-perspective";
161
+ readonly label: "Isometric";
162
+ readonly Icon: Component<ZylemIconProps>;
163
+ }, {
164
+ readonly name: "free-perspective";
165
+ readonly label: "Free / orbit";
166
+ readonly Icon: Component<ZylemIconProps>;
167
+ }, {
168
+ readonly name: "game-camera";
169
+ readonly label: "Game camera";
170
+ readonly Icon: Component<ZylemIconProps>;
171
+ }];
172
+
173
+ // @public (undocumented)
174
+ export const CAMERA_TOGGLE_IDS: readonly ["game", "perspective", "iso-left-top", "top", "iso-right-top", "left", "free", "right", "iso-left-bottom", "bottom", "iso-right-bottom"];
175
+
176
+ // @public
177
+ export const CAMERA_VIEWS: readonly [{
178
+ readonly name: "view-iso-left-top";
179
+ readonly label: "Iso left/top";
180
+ readonly Icon: Component<ZylemIconProps>;
181
+ }, {
182
+ readonly name: "view-top";
183
+ readonly label: "Top";
184
+ readonly Icon: Component<ZylemIconProps>;
185
+ }, {
186
+ readonly name: "view-iso-right-top";
187
+ readonly label: "Iso right/top";
188
+ readonly Icon: Component<ZylemIconProps>;
189
+ }, {
190
+ readonly name: "view-right";
191
+ readonly label: "Right";
192
+ readonly Icon: Component<ZylemIconProps>;
193
+ }, {
194
+ readonly name: "view-iso-right-bottom";
195
+ readonly label: "Iso right/bottom";
196
+ readonly Icon: Component<ZylemIconProps>;
197
+ }, {
198
+ readonly name: "view-bottom";
199
+ readonly label: "Bottom";
200
+ readonly Icon: Component<ZylemIconProps>;
201
+ }, {
202
+ readonly name: "view-iso-left-bottom";
203
+ readonly label: "Iso left/bottom";
204
+ readonly Icon: Component<ZylemIconProps>;
205
+ }, {
206
+ readonly name: "view-left";
207
+ readonly label: "Left";
208
+ readonly Icon: Component<ZylemIconProps>;
209
+ }];
210
+
211
+ // @public (undocumented)
212
+ export type CameraIcon = Component<ZylemIconProps>;
213
+
214
+ // @public (undocumented)
215
+ export type CameraIconName = keyof typeof cameraIconNodes;
216
+
217
+ // @public (undocumented)
218
+ export const cameraIconNodes: {
219
+ readonly perspective: IconNode;
220
+ readonly 'sideview-perspective': IconNode;
221
+ readonly 'top-down-perspective': IconNode;
222
+ readonly 'isometric-perspective': IconNode;
223
+ readonly 'free-perspective': IconNode;
224
+ readonly 'game-camera': IconNode;
225
+ readonly 'view-left': IconNode;
226
+ readonly 'view-iso-left-top': IconNode;
227
+ readonly 'view-top': IconNode;
228
+ readonly 'view-iso-right-top': IconNode;
229
+ readonly 'view-right': IconNode;
230
+ readonly 'view-iso-right-bottom': IconNode;
231
+ readonly 'view-bottom': IconNode;
232
+ readonly 'view-iso-left-bottom': IconNode;
233
+ };
234
+
235
+ // @public
236
+ export function CameraToggle(props: CameraToggleProps): JSX;
237
+
238
+ // @public (undocumented)
239
+ export type CameraToggleId = (typeof CAMERA_TOGGLE_IDS)[number];
240
+
241
+ // @public (undocumented)
242
+ export interface CameraToggleProps {
243
+ on?: boolean | undefined;
244
+ onAction?: (() => void) | undefined;
245
+ // (undocumented)
246
+ onChange: (id: CameraToggleId) => void;
247
+ placement?: MenuButtonProps['placement'];
248
+ value: CameraToggleId;
249
+ }
250
+
251
+ // @public
252
+ export function Card(props: CardProps): JSX.Element;
253
+
254
+ // @public (undocumented)
255
+ export interface CardProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'title'> {
256
+ children?: JSX.Element;
257
+ // (undocumented)
258
+ description?: JSX.Element;
259
+ headingLevel?: HeadingLevel;
260
+ interactive?: boolean;
261
+ media?: JSX.Element;
262
+ // (undocumented)
263
+ selected?: boolean;
264
+ // (undocumented)
265
+ title?: JSX.Element;
266
+ }
267
+
268
+ // @public
269
+ export function cellStart(beats: number, snap: number | undefined, length: number): number;
270
+
271
+ // @public
272
+ export function Checkbox(props: CheckboxProps): JSX;
273
+
274
+ // @public (undocumented)
275
+ export interface CheckboxProps {
276
+ 'aria-label'?: string;
277
+ // (undocumented)
278
+ checked?: boolean;
279
+ // (undocumented)
280
+ class?: string;
281
+ // (undocumented)
282
+ defaultChecked?: boolean;
283
+ // (undocumented)
284
+ disabled?: boolean;
285
+ // (undocumented)
286
+ label?: string;
287
+ // (undocumented)
288
+ name?: string;
289
+ // (undocumented)
290
+ onChange?: (checked: boolean) => void;
291
+ }
292
+
293
+ // @public (undocumented)
294
+ export interface ClipBounds {
295
+ // (undocumented)
296
+ length: number;
297
+ // (undocumented)
298
+ start: number;
299
+ }
300
+
301
+ // @public
302
+ export function ColorPalette(props: ColorPaletteProps): JSX;
303
+
304
+ // @public (undocumented)
305
+ export interface ColorPaletteProps {
306
+ // (undocumented)
307
+ class?: string;
308
+ // (undocumented)
309
+ colors: readonly string[];
310
+ includeTransparent?: boolean;
311
+ onAdd?: () => void;
312
+ // (undocumented)
313
+ onSelect?: (color: string) => void;
314
+ value?: string;
315
+ }
316
+
317
+ // @public (undocumented)
318
+ export function computePeaks(source: PeakSource | Float32Array, bins: number): Float32Array;
319
+
320
+ // @public
321
+ export function ConfirmDialog(props: ConfirmDialogProps): JSX.Element;
322
+
323
+ // @public (undocumented)
324
+ export interface ConfirmDialogProps {
325
+ // (undocumented)
326
+ cancelLabel?: string;
327
+ // (undocumented)
328
+ confirmLabel?: string;
329
+ // (undocumented)
330
+ danger?: boolean;
331
+ // (undocumented)
332
+ message: JSX.Element;
333
+ // (undocumented)
334
+ onConfirm: () => void;
335
+ // (undocumented)
336
+ onOpenChange: (open: boolean) => void;
337
+ // (undocumented)
338
+ open: boolean;
339
+ // (undocumented)
340
+ title?: JSX.Element;
341
+ }
342
+
343
+ // @public
344
+ function Console_2(props: ConsoleProps): JSX.Element;
345
+ export { Console_2 as Console }
346
+
347
+ // @public (undocumented)
348
+ export interface ConsoleProps {
349
+ actions?: JSX.Element;
350
+ // (undocumented)
351
+ class?: string;
352
+ label?: string;
353
+ // (undocumented)
354
+ onClear?: () => void;
355
+ onInput?: (value: string) => void;
356
+ // (undocumented)
357
+ readOnly?: boolean;
358
+ value: string;
359
+ }
360
+
361
+ // @public
362
+ export function createDismissGuard(): DismissGuard;
363
+
364
+ // @public
365
+ export function createZylemIcon(name: string, iconNode: IconNode, options?: ZylemIconOptions): Component<ZylemIconProps>;
366
+
367
+ // @public
368
+ export function Dialog(props: DialogProps): JSX.Element;
369
+
370
+ // @public (undocumented)
371
+ export interface DialogProps {
372
+ 'aria-describedby'?: string;
373
+ 'aria-label'?: string;
374
+ bodyClass?: string;
375
+ // (undocumented)
376
+ children: JSX.Element;
377
+ class?: string;
378
+ footer?: JSX.Element;
379
+ headerExtra?: JSX.Element;
380
+ // (undocumented)
381
+ onOpenChange?: (open: boolean) => void;
382
+ // (undocumented)
383
+ open?: boolean;
384
+ role?: 'dialog' | 'alertdialog';
385
+ // (undocumented)
386
+ size?: DialogSize;
387
+ subtitle?: JSX.Element;
388
+ // (undocumented)
389
+ title?: JSX.Element;
390
+ }
391
+
392
+ // @public
393
+ export type DialogSize = 'md' | 'lg' | 'fullscreen';
394
+
395
+ // @public
396
+ export interface DismissalEvent {
397
+ // (undocumented)
398
+ detail: {
399
+ originalEvent: Event;
400
+ };
401
+ // (undocumented)
402
+ preventDefault: () => void;
403
+ }
404
+
405
+ // @public (undocumented)
406
+ export interface DismissGuard {
407
+ onInteractOutside: (event: DismissalEvent) => void;
408
+ ref: (element: HTMLElement) => void;
409
+ }
410
+
411
+ // @public
412
+ export const Dock: Component<ZylemIconProps>;
413
+
414
+ // @public
415
+ export interface DockOption {
416
+ // (undocumented)
417
+ id: DockPosition;
418
+ // (undocumented)
419
+ label: string;
420
+ }
421
+
422
+ // @public
423
+ export type DockPosition = 'left' | 'right' | 'top' | 'float' | 'bottom';
424
+
425
+ // @public
426
+ export function DropdownMenu(props: DropdownMenuProps): JSX.Element;
427
+
428
+ // @public (undocumented)
429
+ export interface DropdownMenuItemConfig {
430
+ checked?: boolean;
431
+ closeOnSelect?: boolean;
432
+ // (undocumented)
433
+ danger?: boolean;
434
+ // (undocumented)
435
+ disabled?: boolean;
436
+ // (undocumented)
437
+ id: string;
438
+ // (undocumented)
439
+ label: JSX.Element;
440
+ // (undocumented)
441
+ onSelect?: () => void;
442
+ separatorAbove?: boolean;
443
+ // (undocumented)
444
+ shortcut?: string;
445
+ }
446
+
447
+ // @public (undocumented)
448
+ export interface DropdownMenuProps {
449
+ // (undocumented)
450
+ items: DropdownMenuItemConfig[];
451
+ // (undocumented)
452
+ placement?: 'bottom-start' | 'bottom-end' | 'bottom' | 'top-start' | 'top-end' | 'top' | 'right-start' | 'left-start';
453
+ trigger: JSX.Element;
454
+ triggerClass?: string;
455
+ triggerLabel?: string;
456
+ }
457
+
458
+ // @public
459
+ export function EmptyState(props: EmptyStateProps): JSX.Element;
460
+
461
+ // @public (undocumented)
462
+ export interface EmptyStateProps {
463
+ action?: JSX.Element;
464
+ // (undocumented)
465
+ children?: JSX.Element;
466
+ // (undocumented)
467
+ class?: string;
468
+ // (undocumented)
469
+ title?: JSX.Element;
470
+ }
471
+
472
+ // @public
473
+ export function ensureLayerContainer(node: Node | null | undefined): HTMLElement;
474
+
475
+ // @public
476
+ export function filterItems<T extends PickerItem>(items: T[], query: string): T[];
477
+
478
+ // @public
479
+ export function formatBeats(beats: number, beatsPerBar?: number): string;
480
+
481
+ // @public
482
+ export function formatBuildLabel(version: string): string;
483
+
484
+ // @public
485
+ export function formatClock(seconds: number): string;
486
+
487
+ // @public
488
+ export function formatDb(value: number, floor?: number): string;
489
+
490
+ // @public
491
+ export function formatPan(value: number): string;
492
+
493
+ // @public
494
+ export function formatSeconds(seconds: number): string;
495
+
496
+ // @public
497
+ export function formatTransportTime(time: number, unit: TimeUnit, beatsPerBar?: number): string;
498
+
499
+ // @public
500
+ export function FrameActions(props: FrameActionsProps): JSX.Element;
501
+
502
+ // @public (undocumented)
503
+ export interface FrameActionsProps {
504
+ // (undocumented)
505
+ canDelete?: boolean;
506
+ // (undocumented)
507
+ canDuplicate?: boolean;
508
+ // (undocumented)
509
+ canMoveLeft?: boolean;
510
+ // (undocumented)
511
+ canMoveRight?: boolean;
512
+ // (undocumented)
513
+ canNext?: boolean;
514
+ // (undocumented)
515
+ canPrev?: boolean;
516
+ // (undocumented)
517
+ class?: string;
518
+ // (undocumented)
519
+ onDelete?: () => void;
520
+ // (undocumented)
521
+ onDuplicate?: () => void;
522
+ onMoveLeft?: () => void;
523
+ onMoveRight?: () => void;
524
+ // (undocumented)
525
+ onNext?: () => void;
526
+ // (undocumented)
527
+ onPrev?: () => void;
528
+ }
529
+
530
+ // @public
531
+ export function FrameStrip(props: FrameStripProps): JSX.Element;
532
+
533
+ // @public (undocumented)
534
+ export interface FrameStripProps extends JSX.HTMLAttributes<HTMLDivElement> {
535
+ children: JSX.Element;
536
+ label?: string;
537
+ title?: string;
538
+ }
539
+
540
+ // @public
541
+ export function FrameThumb(props: FrameThumbProps): JSX.Element;
542
+
543
+ // @public (undocumented)
544
+ export interface FrameThumbProps {
545
+ children?: JSX.Element;
546
+ // (undocumented)
547
+ class?: string;
548
+ index: number;
549
+ // (undocumented)
550
+ label?: string;
551
+ // (undocumented)
552
+ onClick?: (event: MouseEvent) => void;
553
+ // (undocumented)
554
+ selected?: boolean;
555
+ }
556
+
557
+ // @public (undocumented)
558
+ export const FreePerspective: Component<ZylemIconProps>;
559
+
560
+ // @public
561
+ export const GameCamera: Component<ZylemIconProps>;
562
+
563
+ // @public
564
+ export function groupItems<T extends PickerItem>(items: T[]): PickerGroup<T>[];
565
+
566
+ // @public
567
+ export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
568
+
569
+ // @public (undocumented)
570
+ export type IconComponent = Component<JSX.SvgSVGAttributes<SVGSVGElement>>;
571
+
572
+ // @public
573
+ export type IconNode = [
574
+ elementName: 'rect' | 'path',
575
+ attributes: Record<string, string>
576
+ ][];
577
+
578
+ // @public
579
+ export function intervalTicks(intervals: number, min: number, max: number): number[];
580
+
581
+ // @public (undocumented)
582
+ export function isBlackKey(pitch: number): boolean;
583
+
584
+ // @public
585
+ export const IsometricPerspective: Component<ZylemIconProps>;
586
+
587
+ // @public
588
+ export function ItemPicker<T extends PickerItem>(props: ItemPickerProps<T>): JSX.Element;
589
+
590
+ // @public (undocumented)
591
+ export interface ItemPickerProps<T extends PickerItem = PickerItem> {
592
+ autoFocus?: boolean | undefined;
593
+ // (undocumented)
594
+ class?: string | undefined;
595
+ emptyMessage?: JSX.Element | undefined;
596
+ // (undocumented)
597
+ items: T[];
598
+ // (undocumented)
599
+ onSelect: (item: T) => void;
600
+ searchable?: boolean | undefined;
601
+ // (undocumented)
602
+ searchPlaceholder?: string | undefined;
603
+ selectedId?: string | null | undefined;
604
+ }
605
+
606
+ // @public
607
+ export function Kbd(props: KbdProps): JSX.Element;
608
+
609
+ // @public (undocumented)
610
+ export interface KbdProps {
611
+ // (undocumented)
612
+ children: JSX.Element;
613
+ // (undocumented)
614
+ class?: string;
615
+ }
616
+
617
+ // @public
618
+ export function KeyframeMarker(props: KeyframeMarkerProps): JSX.Element;
619
+
620
+ // @public (undocumented)
621
+ export interface KeyframeMarkerProps {
622
+ // (undocumented)
623
+ class?: string;
624
+ // (undocumented)
625
+ color?: string;
626
+ // (undocumented)
627
+ disabled?: boolean;
628
+ // (undocumented)
629
+ label?: string;
630
+ onChange?: (time: number) => void;
631
+ onCommit?: (time: number) => void;
632
+ // (undocumented)
633
+ onDoubleClick?: () => void;
634
+ onSelect?: (event: MouseEvent | KeyboardEvent) => void;
635
+ // (undocumented)
636
+ selected?: boolean;
637
+ shape?: 'diamond' | 'pin';
638
+ // (undocumented)
639
+ time: number;
640
+ }
641
+
642
+ // @public
643
+ export function Knob(props: KnobProps): JSX;
644
+
645
+ // @public (undocumented)
646
+ export interface KnobProps {
647
+ 'aria-label'?: string;
648
+ bipolar?: boolean;
649
+ // (undocumented)
650
+ class?: string;
651
+ defaultValue?: number;
652
+ // (undocumented)
653
+ disabled?: boolean;
654
+ format?: (value: number) => string;
655
+ label?: string;
656
+ // (undocumented)
657
+ max?: number;
658
+ // (undocumented)
659
+ min?: number;
660
+ // (undocumented)
661
+ onChange?: (value: number) => void;
662
+ onCommit?: (value: number) => void;
663
+ // (undocumented)
664
+ size?: number;
665
+ // (undocumented)
666
+ step?: number;
667
+ // (undocumented)
668
+ value: number;
669
+ }
670
+
671
+ // @public
672
+ export const LAYER_PORTAL_CLASS = "zylem-layer-portals";
673
+
674
+ // @public
675
+ export function LayerProvider(props: LayerProviderProps): JSX.Element;
676
+
677
+ // @public (undocumented)
678
+ export interface LayerProviderProps {
679
+ // (undocumented)
680
+ children: JSX.Element;
681
+ }
682
+
683
+ // @public
684
+ export function LayerScope(props: LayerScopeProps): JSX.Element;
685
+
686
+ // @public (undocumented)
687
+ export interface LayerScopeProps {
688
+ // (undocumented)
689
+ children: JSX.Element;
690
+ // (undocumented)
691
+ class?: string | undefined;
692
+ // (undocumented)
693
+ style?: JSX.CSSProperties | undefined;
694
+ }
695
+
696
+ // @public
697
+ export type LayerTier = 'base' | 'panel' | 'modal' | 'popover' | 'tooltip' | 'menu';
698
+
699
+ // @public
700
+ export function majorTickTimes(options: RulerTickOptions): number[];
701
+
702
+ // @public
703
+ export function markerPercent(t: number, min: number, max: number): number;
704
+
705
+ // @public
706
+ export function Menubar(props: MenubarProps): JSX.Element;
707
+
708
+ // @public (undocumented)
709
+ export interface MenubarMenuConfig {
710
+ // (undocumented)
711
+ disabled?: boolean;
712
+ // (undocumented)
713
+ id: string;
714
+ items: DropdownMenuItemConfig[] | (() => DropdownMenuItemConfig[]);
715
+ // (undocumented)
716
+ label: JSX.Element;
717
+ }
718
+
719
+ // @public (undocumented)
720
+ export interface MenubarProps {
721
+ // (undocumented)
722
+ 'aria-label'?: string;
723
+ // (undocumented)
724
+ class?: string;
725
+ // (undocumented)
726
+ menus: MenubarMenuConfig[];
727
+ triggerClass?: string;
728
+ }
729
+
730
+ // @public
731
+ export function MenuButton(props: MenuButtonProps): JSX.Element;
732
+
733
+ // @public (undocumented)
734
+ export interface MenuButtonProps {
735
+ children: JSX.Element;
736
+ // (undocumented)
737
+ class?: string | undefined;
738
+ // (undocumented)
739
+ disabled?: boolean | undefined;
740
+ label: string;
741
+ menu: (close: () => void) => JSX.Element;
742
+ on?: boolean | undefined;
743
+ onAction?: (() => void) | undefined;
744
+ // (undocumented)
745
+ onOpenChange?: ((open: boolean) => void) | undefined;
746
+ open?: boolean | undefined;
747
+ // (undocumented)
748
+ placement?: 'bottom-start' | 'bottom-end' | 'bottom' | 'top-start' | 'top-end' | 'top' | undefined;
749
+ selected?: boolean | undefined;
750
+ tooltip?: string | null | undefined;
751
+ }
752
+
753
+ // @public
754
+ export function MenuItems(props: {
755
+ items: DropdownMenuItemConfig[];
756
+ }): JSX.Element;
757
+
758
+ // @public
759
+ export function MixerStrip(props: MixerStripProps): JSX;
760
+
761
+ // @public (undocumented)
762
+ export interface MixerStripProps {
763
+ // (undocumented)
764
+ class?: string;
765
+ // (undocumented)
766
+ color?: string;
767
+ // (undocumented)
768
+ disabled?: boolean;
769
+ level?: number;
770
+ master?: boolean;
771
+ // (undocumented)
772
+ maxVolume?: number;
773
+ // (undocumented)
774
+ minVolume?: number;
775
+ muted?: boolean;
776
+ // (undocumented)
777
+ name: string;
778
+ // (undocumented)
779
+ onPanChange?: (pan: number) => void;
780
+ // (undocumented)
781
+ onPanCommit?: (pan: number) => void;
782
+ onSelect?: () => void;
783
+ // (undocumented)
784
+ onToggleMute?: () => void;
785
+ // (undocumented)
786
+ onToggleSolo?: () => void;
787
+ // (undocumented)
788
+ onVolumeChange?: (volume: number) => void;
789
+ // (undocumented)
790
+ onVolumeCommit?: (volume: number) => void;
791
+ pan?: number;
792
+ // (undocumented)
793
+ selected?: boolean;
794
+ // (undocumented)
795
+ solo?: boolean;
796
+ volume: number;
797
+ }
798
+
799
+ // @public
800
+ export function mountBuildLabel(model: BuildLabelModel, parent?: ParentNode): HTMLElement;
801
+
802
+ // @public (undocumented)
803
+ export interface NoteDragOptions {
804
+ deltaBeats: number;
805
+ deltaRows: number;
806
+ length: number;
807
+ // (undocumented)
808
+ maxPitch: number;
809
+ // (undocumented)
810
+ minDuration?: number;
811
+ // (undocumented)
812
+ minPitch: number;
813
+ // (undocumented)
814
+ mode: 'move' | 'resize';
815
+ origin: readonly PianoRollNote[];
816
+ // (undocumented)
817
+ snap?: number;
818
+ }
819
+
820
+ // @public
821
+ export function NumberField(props: NumberFieldProps): JSX;
822
+
823
+ // @public (undocumented)
824
+ export interface NumberFieldProps {
825
+ 'aria-label'?: string;
826
+ // (undocumented)
827
+ class?: string;
828
+ // (undocumented)
829
+ disabled?: boolean;
830
+ // (undocumented)
831
+ error?: string;
832
+ // (undocumented)
833
+ label?: string;
834
+ // (undocumented)
835
+ maxValue?: number;
836
+ // (undocumented)
837
+ minValue?: number;
838
+ // (undocumented)
839
+ name?: string;
840
+ onChange?: (value: number) => void;
841
+ onCommit?: (value: number) => void;
842
+ // (undocumented)
843
+ placeholder?: string;
844
+ // (undocumented)
845
+ step?: number;
846
+ // (undocumented)
847
+ value?: number;
848
+ }
849
+
850
+ // @public
851
+ export function Panel(props: PanelProps): JSX.Element;
852
+
853
+ // @public (undocumented)
854
+ export interface PanelProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'title'> {
855
+ bodyClass?: string;
856
+ borderless?: boolean;
857
+ // (undocumented)
858
+ children?: JSX.Element;
859
+ flush?: boolean;
860
+ headerActions?: JSX.Element;
861
+ headingLevel?: HeadingLevel;
862
+ title?: JSX.Element;
863
+ window?: boolean;
864
+ }
865
+
866
+ // @public
867
+ export function peaksFromAudioBuffer(buffer: {
868
+ numberOfChannels: number;
869
+ getChannelData(channel: number): Float32Array;
870
+ }, bins: number): Float32Array;
871
+
872
+ // @public
873
+ export interface PeakSource {
874
+ channels: readonly Float32Array[];
875
+ }
876
+
877
+ // @public
878
+ export const Perspective: Component<ZylemIconProps>;
879
+
880
+ // @public
881
+ export function PianoRoll(props: PianoRollProps): JSX;
882
+
883
+ // @public (undocumented)
884
+ export interface PianoRollNote {
885
+ duration: number;
886
+ // (undocumented)
887
+ id: string;
888
+ pitch: number;
889
+ start: number;
890
+ velocity?: number;
891
+ }
892
+
893
+ // @public (undocumented)
894
+ export interface PianoRollProps {
895
+ // (undocumented)
896
+ beatsPerBar?: number;
897
+ // (undocumented)
898
+ class?: string;
899
+ // (undocumented)
900
+ disabled?: boolean;
901
+ length: number;
902
+ maxPitch?: number;
903
+ minPitch?: number;
904
+ newNoteDuration?: number;
905
+ // (undocumented)
906
+ notes: readonly PianoRollNote[];
907
+ onAddNote?: (note: {
908
+ pitch: number;
909
+ start: number;
910
+ duration: number;
911
+ }) => void;
912
+ onChangeNotes?: (notes: PianoRollNote[]) => void;
913
+ onCommitNotes?: (notes: PianoRollNote[]) => void;
914
+ onDeleteNotes?: (ids: string[]) => void;
915
+ onPreviewPitch?: (pitch: number) => void;
916
+ // (undocumented)
917
+ onSelect?: (ids: string[]) => void;
918
+ // (undocumented)
919
+ pixelsPerBeat?: number;
920
+ // (undocumented)
921
+ playhead?: number;
922
+ // (undocumented)
923
+ rowHeight?: number;
924
+ // (undocumented)
925
+ selectedIds?: readonly string[];
926
+ showVelocity?: boolean;
927
+ snap?: number;
928
+ }
929
+
930
+ // @public (undocumented)
931
+ export interface PickerGroup<T extends PickerItem = PickerItem> {
932
+ // (undocumented)
933
+ group: string;
934
+ // (undocumented)
935
+ items: T[];
936
+ }
937
+
938
+ // @public
939
+ export interface PickerItem {
940
+ description?: string | undefined;
941
+ // (undocumented)
942
+ disabled?: boolean | undefined;
943
+ group?: string | undefined;
944
+ icon?: string | undefined;
945
+ // (undocumented)
946
+ id: string;
947
+ // (undocumented)
948
+ label: string;
949
+ tags?: string[] | undefined;
950
+ }
951
+
952
+ // @public
953
+ export function pitchName(pitch: number): string;
954
+
955
+ // @public
956
+ export function PixelGrid(props: PixelGridProps): JSX.Element;
957
+
958
+ // @public (undocumented)
959
+ export interface PixelGridProps extends JSX.HTMLAttributes<HTMLDivElement> {
960
+ checkerCell?: number;
961
+ children?: JSX.Element;
962
+ height: number;
963
+ width: number;
964
+ zoom?: number;
965
+ }
966
+
967
+ // @public
968
+ export function PlaybackControls(props: PlaybackControlsProps): JSX.Element;
969
+
970
+ // @public (undocumented)
971
+ export interface PlaybackControlsProps {
972
+ children?: JSX.Element;
973
+ // (undocumented)
974
+ class?: string;
975
+ // (undocumented)
976
+ disabled?: boolean;
977
+ loop?: boolean;
978
+ // (undocumented)
979
+ onFastForward?: () => void;
980
+ // (undocumented)
981
+ onRewind?: () => void;
982
+ // (undocumented)
983
+ onToggleLoop?: () => void;
984
+ // (undocumented)
985
+ onTogglePlay: () => void;
986
+ // (undocumented)
987
+ playing: boolean;
988
+ }
989
+
990
+ // @public
991
+ export function Progress(props: ProgressProps): JSX;
992
+
993
+ // @public (undocumented)
994
+ export interface ProgressProps {
995
+ 'aria-label'?: string;
996
+ // (undocumented)
997
+ class?: string;
998
+ // (undocumented)
999
+ indeterminate?: boolean;
1000
+ // (undocumented)
1001
+ label?: string;
1002
+ // (undocumented)
1003
+ maxValue?: number;
1004
+ // (undocumented)
1005
+ minValue?: number;
1006
+ // (undocumented)
1007
+ showValue?: boolean;
1008
+ // (undocumented)
1009
+ value?: number;
1010
+ }
1011
+
1012
+ // @public
1013
+ export function PropertyList(props: PropertyListProps): JSX.Element;
1014
+
1015
+ // @public (undocumented)
1016
+ export interface PropertyListProps {
1017
+ // (undocumented)
1018
+ children: JSX.Element;
1019
+ // (undocumented)
1020
+ class?: string;
1021
+ labelWidth?: string;
1022
+ }
1023
+
1024
+ // @public
1025
+ export function PropertyRow(props: PropertyRowProps): JSX.Element;
1026
+
1027
+ // @public (undocumented)
1028
+ export interface PropertyRowProps {
1029
+ children?: JSX.Element | undefined;
1030
+ isPath?: boolean | undefined;
1031
+ // (undocumented)
1032
+ label: string;
1033
+ maxPathSegments?: number | undefined;
1034
+ onPathClick?: ((fullValue: string) => void) | undefined;
1035
+ value?: string | number | JSX.Element | undefined;
1036
+ // (undocumented)
1037
+ valueClass?: string | undefined;
1038
+ }
1039
+
1040
+ // @public
1041
+ export function resolveBuildVersion(model: BuildLabelModel): string;
1042
+
1043
+ // @public
1044
+ export function resolveClipDrag(options: ResolveClipDragOptions): ClipBounds;
1045
+
1046
+ // @public (undocumented)
1047
+ export interface ResolveClipDragOptions {
1048
+ delta: number;
1049
+ length: number;
1050
+ // (undocumented)
1051
+ minLength?: number;
1052
+ // (undocumented)
1053
+ mode: 'move' | 'start' | 'end';
1054
+ // (undocumented)
1055
+ origin: ClipBounds;
1056
+ // (undocumented)
1057
+ snap?: number;
1058
+ }
1059
+
1060
+ // @public (undocumented)
1061
+ export interface ResolvedLayer {
1062
+ anchorRef: (element: Element) => void;
1063
+ mount: Accessor<HTMLElement | undefined>;
1064
+ zIndex: Accessor<string>;
1065
+ }
1066
+
1067
+ // @public
1068
+ export function resolveLayerRoot(node: Node | null | undefined): ShadowRoot | HTMLElement;
1069
+
1070
+ // @public
1071
+ export function resolveNoteDrag(options: NoteDragOptions): PianoRollNote[];
1072
+
1073
+ // @public (undocumented)
1074
+ export interface RulerTick {
1075
+ label?: string;
1076
+ // (undocumented)
1077
+ major: boolean;
1078
+ // (undocumented)
1079
+ time: number;
1080
+ }
1081
+
1082
+ // @public (undocumented)
1083
+ export interface RulerTickOptions {
1084
+ length: number;
1085
+ minLabelSpacing?: number;
1086
+ minMinorSpacing?: number;
1087
+ // (undocumented)
1088
+ scale: TimeScale;
1089
+ }
1090
+
1091
+ // @public
1092
+ export function rulerTicks(options: RulerTickOptions): RulerTick[];
1093
+
1094
+ // @public
1095
+ export function ScrollArea(props: ScrollAreaProps): JSX.Element;
1096
+
1097
+ // @public (undocumented)
1098
+ export interface ScrollAreaProps extends JSX.HTMLAttributes<HTMLDivElement> {
1099
+ // (undocumented)
1100
+ children?: JSX.Element;
1101
+ direction?: 'vertical' | 'horizontal' | 'both';
1102
+ }
1103
+
1104
+ // @public
1105
+ export function SearchInput(props: SearchInputProps): JSX.Element;
1106
+
1107
+ // @public (undocumented)
1108
+ export interface SearchInputProps {
1109
+ // (undocumented)
1110
+ 'aria-label'?: string;
1111
+ // (undocumented)
1112
+ class?: string;
1113
+ // (undocumented)
1114
+ onInput?: (value: string) => void;
1115
+ // (undocumented)
1116
+ onKeyDown?: JSX.EventHandlerUnion<HTMLInputElement, KeyboardEvent>;
1117
+ // (undocumented)
1118
+ placeholder?: string;
1119
+ ref?: (element: HTMLInputElement) => void;
1120
+ // (undocumented)
1121
+ value?: string;
1122
+ }
1123
+
1124
+ // @public
1125
+ export function Select(props: SelectProps): JSX;
1126
+
1127
+ // @public (undocumented)
1128
+ export interface SelectOption {
1129
+ // (undocumented)
1130
+ disabled?: boolean;
1131
+ // (undocumented)
1132
+ label: string;
1133
+ // (undocumented)
1134
+ value: string;
1135
+ }
1136
+
1137
+ // @public (undocumented)
1138
+ export interface SelectProps {
1139
+ 'aria-label'?: string;
1140
+ // (undocumented)
1141
+ class?: string;
1142
+ // (undocumented)
1143
+ disabled?: boolean;
1144
+ // (undocumented)
1145
+ label?: string;
1146
+ // (undocumented)
1147
+ name?: string;
1148
+ // (undocumented)
1149
+ onChange?: (value: string | null) => void;
1150
+ // (undocumented)
1151
+ options: SelectOption[];
1152
+ // (undocumented)
1153
+ placeholder?: string;
1154
+ // (undocumented)
1155
+ value?: string;
1156
+ }
1157
+
1158
+ // @public
1159
+ export function Separator(props: SeparatorProps): JSX;
1160
+
1161
+ // @public (undocumented)
1162
+ export interface SeparatorProps {
1163
+ // (undocumented)
1164
+ class?: string;
1165
+ // (undocumented)
1166
+ orientation?: 'horizontal' | 'vertical';
1167
+ }
1168
+
1169
+ // @public
1170
+ export function Sidebar(props: SidebarProps): JSX.Element;
1171
+
1172
+ // @public (undocumented)
1173
+ export namespace Sidebar {
1174
+ var // (undocumented)
1175
+ Section: typeof SidebarSection;
1176
+ var // (undocumented)
1177
+ Item: typeof SidebarItem;
1178
+ }
1179
+
1180
+ // @public (undocumented)
1181
+ export function SidebarItem(props: SidebarItemProps): JSX.Element;
1182
+
1183
+ // @public
1184
+ export const sidebarItemClass = "sidebar-item";
1185
+
1186
+ // @public (undocumented)
1187
+ export interface SidebarItemProps extends JSX.ButtonHTMLAttributes<HTMLButtonElement> {
1188
+ active?: boolean;
1189
+ // (undocumented)
1190
+ children?: JSX.Element;
1191
+ }
1192
+
1193
+ // @public (undocumented)
1194
+ export interface SidebarProps extends JSX.HTMLAttributes<HTMLElement> {
1195
+ as?: 'aside' | 'nav';
1196
+ borderless?: boolean;
1197
+ // (undocumented)
1198
+ children?: JSX.Element;
1199
+ }
1200
+
1201
+ // @public
1202
+ export function SidebarSection(props: SidebarSectionProps): JSX.Element;
1203
+
1204
+ // @public (undocumented)
1205
+ export interface SidebarSectionProps {
1206
+ // (undocumented)
1207
+ children?: JSX.Element;
1208
+ // (undocumented)
1209
+ class?: string;
1210
+ headingLevel?: HeadingLevel;
1211
+ // (undocumented)
1212
+ title?: JSX.Element;
1213
+ }
1214
+
1215
+ // @public
1216
+ export const SideviewPerspective: Component<ZylemIconProps>;
1217
+
1218
+ // @public
1219
+ export function Slider(props: SliderProps): JSX;
1220
+
1221
+ // @public (undocumented)
1222
+ export interface SliderProps {
1223
+ 'aria-label'?: string;
1224
+ // (undocumented)
1225
+ class?: string;
1226
+ // (undocumented)
1227
+ disabled?: boolean;
1228
+ // (undocumented)
1229
+ label?: string;
1230
+ // (undocumented)
1231
+ maxValue?: number;
1232
+ // (undocumented)
1233
+ minValue?: number;
1234
+ // (undocumented)
1235
+ onChange?: (value: number) => void;
1236
+ onCommit?: (value: number) => void;
1237
+ // (undocumented)
1238
+ showValue?: boolean;
1239
+ // (undocumented)
1240
+ step?: number;
1241
+ // (undocumented)
1242
+ value?: number;
1243
+ }
1244
+
1245
+ // @public (undocumented)
1246
+ export interface SnapOptions {
1247
+ // (undocumented)
1248
+ max: number;
1249
+ // (undocumented)
1250
+ min: number;
1251
+ // (undocumented)
1252
+ step: number;
1253
+ }
1254
+
1255
+ // @public
1256
+ export function snapSize(value: number, options: SnapOptions): number;
1257
+
1258
+ // @public
1259
+ export function snapTime(t: number, snap?: number): number;
1260
+
1261
+ // @public
1262
+ export const SPRITE_SIZE_PRESETS: readonly number[];
1263
+
1264
+ // @public
1265
+ export interface SpriteSize {
1266
+ // (undocumented)
1267
+ height: number;
1268
+ // (undocumented)
1269
+ width: number;
1270
+ }
1271
+
1272
+ // @public
1273
+ export function SpriteSizePicker(props: SpriteSizePickerProps): JSX;
1274
+
1275
+ // @public (undocumented)
1276
+ export interface SpriteSizePickerProps {
1277
+ // (undocumented)
1278
+ class?: string;
1279
+ // (undocumented)
1280
+ height: number;
1281
+ max?: number;
1282
+ min?: number;
1283
+ // (undocumented)
1284
+ onChange: (size: SpriteSize) => void;
1285
+ presets?: readonly number[];
1286
+ showFields?: boolean;
1287
+ stageSize?: number;
1288
+ step?: number;
1289
+ // (undocumented)
1290
+ width: number;
1291
+ }
1292
+
1293
+ // @public
1294
+ export function Swatch(props: SwatchProps): JSX;
1295
+
1296
+ // @public (undocumented)
1297
+ export interface SwatchProps {
1298
+ // (undocumented)
1299
+ class?: string;
1300
+ color: string;
1301
+ // (undocumented)
1302
+ disabled?: boolean;
1303
+ label?: string;
1304
+ // (undocumented)
1305
+ onClick?: (event: MouseEvent) => void;
1306
+ // (undocumented)
1307
+ selected?: boolean;
1308
+ }
1309
+
1310
+ // @public
1311
+ export function Switch(props: SwitchProps): JSX;
1312
+
1313
+ // @public (undocumented)
1314
+ export interface SwitchProps {
1315
+ 'aria-label'?: string;
1316
+ // (undocumented)
1317
+ checked?: boolean;
1318
+ // (undocumented)
1319
+ class?: string;
1320
+ // (undocumented)
1321
+ defaultChecked?: boolean;
1322
+ // (undocumented)
1323
+ disabled?: boolean;
1324
+ // (undocumented)
1325
+ label?: string;
1326
+ // (undocumented)
1327
+ name?: string;
1328
+ // (undocumented)
1329
+ onChange?: (checked: boolean) => void;
1330
+ }
1331
+
1332
+ // @public
1333
+ export function Tabs(props: TabsProps): JSX.Element;
1334
+
1335
+ // @public (undocumented)
1336
+ export namespace Tabs {
1337
+ var // (undocumented)
1338
+ List: typeof TabsList;
1339
+ var // (undocumented)
1340
+ Trigger: typeof TabsTrigger;
1341
+ var // (undocumented)
1342
+ Content: typeof TabsContent;
1343
+ }
1344
+
1345
+ // @public (undocumented)
1346
+ export function TabsContent(props: {
1347
+ value: string;
1348
+ children: JSX.Element;
1349
+ class?: string;
1350
+ }): JSX.Element;
1351
+
1352
+ // @public (undocumented)
1353
+ export function TabsList(props: {
1354
+ children: JSX.Element;
1355
+ class?: string;
1356
+ }): JSX.Element;
1357
+
1358
+ // @public (undocumented)
1359
+ export interface TabsProps {
1360
+ // (undocumented)
1361
+ 'aria-label'?: string;
1362
+ // (undocumented)
1363
+ children: JSX.Element;
1364
+ // (undocumented)
1365
+ class?: string;
1366
+ // (undocumented)
1367
+ defaultValue?: string;
1368
+ // (undocumented)
1369
+ onChange?: (value: string) => void;
1370
+ // (undocumented)
1371
+ value?: string;
1372
+ }
1373
+
1374
+ // @public (undocumented)
1375
+ export function TabsTrigger(props: TabsTriggerProps): JSX.Element;
1376
+
1377
+ // @public (undocumented)
1378
+ export interface TabsTriggerProps {
1379
+ // (undocumented)
1380
+ children: JSX.Element;
1381
+ // (undocumented)
1382
+ class?: string;
1383
+ closeLabel?: string;
1384
+ dirty?: boolean;
1385
+ // (undocumented)
1386
+ disabled?: boolean;
1387
+ onClose?: () => void;
1388
+ // (undocumented)
1389
+ value: string;
1390
+ }
1391
+
1392
+ // @public
1393
+ export function TextField(props: TextFieldProps): JSX.Element;
1394
+
1395
+ // @public (undocumented)
1396
+ export interface TextFieldProps {
1397
+ 'aria-label'?: string;
1398
+ // (undocumented)
1399
+ autofocus?: boolean;
1400
+ // (undocumented)
1401
+ class?: string;
1402
+ // (undocumented)
1403
+ disabled?: boolean;
1404
+ // (undocumented)
1405
+ error?: string;
1406
+ // (undocumented)
1407
+ label?: string;
1408
+ // (undocumented)
1409
+ multiline?: boolean;
1410
+ // (undocumented)
1411
+ name?: string;
1412
+ // (undocumented)
1413
+ onBlur?: JSX.EventHandlerUnion<HTMLInputElement | HTMLTextAreaElement, FocusEvent>;
1414
+ onChange?: (value: string) => void;
1415
+ onCommit?: (value: string) => void;
1416
+ // (undocumented)
1417
+ onInput?: JSX.EventHandlerUnion<HTMLInputElement | HTMLTextAreaElement, InputEvent>;
1418
+ // (undocumented)
1419
+ onKeyDown?: JSX.EventHandlerUnion<HTMLInputElement | HTMLTextAreaElement, KeyboardEvent>;
1420
+ // (undocumented)
1421
+ placeholder?: string;
1422
+ // (undocumented)
1423
+ readOnly?: boolean;
1424
+ // (undocumented)
1425
+ required?: boolean;
1426
+ // (undocumented)
1427
+ rows?: number;
1428
+ // (undocumented)
1429
+ type?: string;
1430
+ // (undocumented)
1431
+ value?: string;
1432
+ }
1433
+
1434
+ // @public
1435
+ export function TimelineClip(props: TimelineClipProps): JSX.Element;
1436
+
1437
+ // @public (undocumented)
1438
+ export interface TimelineClipChange extends ClipBounds {
1439
+ startDelta: number;
1440
+ }
1441
+
1442
+ // @public (undocumented)
1443
+ export interface TimelineClipProps {
1444
+ blend?: number;
1445
+ children?: JSX.Element;
1446
+ // (undocumented)
1447
+ class?: string;
1448
+ color?: string;
1449
+ // (undocumented)
1450
+ disabled?: boolean;
1451
+ // (undocumented)
1452
+ label?: string;
1453
+ // (undocumented)
1454
+ length: number;
1455
+ // (undocumented)
1456
+ minLength?: number;
1457
+ // (undocumented)
1458
+ movable?: boolean;
1459
+ onChange?: (change: TimelineClipChange) => void;
1460
+ onCommit?: (change: TimelineClipChange) => void;
1461
+ // (undocumented)
1462
+ onDoubleClick?: () => void;
1463
+ onSelect?: (event: MouseEvent | KeyboardEvent) => void;
1464
+ // (undocumented)
1465
+ resizable?: boolean;
1466
+ // (undocumented)
1467
+ selected?: boolean;
1468
+ // (undocumented)
1469
+ start: number;
1470
+ }
1471
+
1472
+ // @public (undocumented)
1473
+ export interface TimelineContextValue {
1474
+ deltaToTime: (dx: number) => number;
1475
+ // (undocumented)
1476
+ disabled: Accessor<boolean>;
1477
+ // (undocumented)
1478
+ headerWidth: Accessor<number>;
1479
+ length: Accessor<number>;
1480
+ pxToTime: (px: number) => number;
1481
+ // (undocumented)
1482
+ scale: Accessor<TimeScale>;
1483
+ // (undocumented)
1484
+ snap: Accessor<number | undefined>;
1485
+ // (undocumented)
1486
+ snapTime: (time: number) => number;
1487
+ // (undocumented)
1488
+ timeToPx: (time: number) => number;
1489
+ }
1490
+
1491
+ // @public (undocumented)
1492
+ export function TimelineLane(props: TimelineLaneProps): JSX.Element;
1493
+
1494
+ // @public
1495
+ export function TimelineLaneGroup(props: TimelineLaneGroupProps): JSX.Element;
1496
+
1497
+ // @public (undocumented)
1498
+ export interface TimelineLaneGroupProps {
1499
+ // (undocumented)
1500
+ children?: JSX.Element;
1501
+ // (undocumented)
1502
+ class?: string;
1503
+ // (undocumented)
1504
+ collapsed?: boolean;
1505
+ header?: JSX.Element;
1506
+ }
1507
+
1508
+ // @public (undocumented)
1509
+ export interface TimelineLaneProps {
1510
+ // (undocumented)
1511
+ children?: JSX.Element;
1512
+ // (undocumented)
1513
+ class?: string;
1514
+ dimmed?: boolean;
1515
+ header?: JSX.Element;
1516
+ // (undocumented)
1517
+ height?: number;
1518
+ onCreate?: (time: number) => void;
1519
+ onSelectEmpty?: () => void;
1520
+ // (undocumented)
1521
+ selected?: boolean;
1522
+ }
1523
+
1524
+ // @public
1525
+ export function TimelineLanes(props: TimelineLanesProps): JSX.Element;
1526
+
1527
+ // @public (undocumented)
1528
+ export interface TimelineLanesProps {
1529
+ // (undocumented)
1530
+ children?: JSX.Element;
1531
+ // (undocumented)
1532
+ class?: string;
1533
+ corner?: JSX.Element;
1534
+ // (undocumented)
1535
+ disabled?: boolean;
1536
+ headerWidth?: number;
1537
+ length: number;
1538
+ // (undocumented)
1539
+ maxPixelsPerUnit?: number;
1540
+ // (undocumented)
1541
+ minPixelsPerUnit?: number;
1542
+ onSeek?: (time: number) => void;
1543
+ onZoom?: (pixelsPerUnit: number) => void;
1544
+ // (undocumented)
1545
+ playhead?: number;
1546
+ range?: TimelineRange;
1547
+ // (undocumented)
1548
+ ref?: (element: HTMLDivElement) => void;
1549
+ // (undocumented)
1550
+ scale: TimeScale;
1551
+ snap?: number;
1552
+ }
1553
+
1554
+ // @public (undocumented)
1555
+ export interface TimelineRange {
1556
+ // (undocumented)
1557
+ end: number;
1558
+ // (undocumented)
1559
+ start: number;
1560
+ }
1561
+
1562
+ // @public
1563
+ export function TimelineTrack(props: TimelineTrackProps): JSX;
1564
+
1565
+ // @public (undocumented)
1566
+ export interface TimelineTrackProps {
1567
+ 'aria-label'?: string;
1568
+ // (undocumented)
1569
+ class?: string;
1570
+ // (undocumented)
1571
+ disabled?: boolean;
1572
+ intervals?: number;
1573
+ keyframes?: readonly number[];
1574
+ // (undocumented)
1575
+ label?: string;
1576
+ // (undocumented)
1577
+ max: number;
1578
+ // (undocumented)
1579
+ min?: number;
1580
+ // (undocumented)
1581
+ onChange?: (value: number) => void;
1582
+ // (undocumented)
1583
+ onKeyframeClick?: (time: number) => void;
1584
+ showTime?: boolean;
1585
+ // (undocumented)
1586
+ step?: number;
1587
+ ticks?: readonly number[];
1588
+ // (undocumented)
1589
+ value: number;
1590
+ valueText?: (value: number) => string;
1591
+ }
1592
+
1593
+ // @public (undocumented)
1594
+ export interface TimeScale {
1595
+ beatsPerBar?: number;
1596
+ pixelsPerUnit: number;
1597
+ // (undocumented)
1598
+ unit: TimeUnit;
1599
+ }
1600
+
1601
+ // @public
1602
+ export type TimeUnit = 'seconds' | 'beats';
1603
+
1604
+ // @public
1605
+ export function TitleBar(props: TitleBarProps): JSX.Element;
1606
+
1607
+ // @public (undocumented)
1608
+ export interface TitleBarProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, 'title' | 'onClose'>, WindowControlsProps {
1609
+ children?: JSX.Element;
1610
+ compact?: boolean;
1611
+ draggable?: boolean;
1612
+ headingLevel?: HeadingLevel;
1613
+ // (undocumented)
1614
+ title?: JSX.Element;
1615
+ }
1616
+
1617
+ // @public
1618
+ export function Toast(props: ToastProps): JSX.Element;
1619
+
1620
+ // @public (undocumented)
1621
+ export interface ToastProps {
1622
+ // (undocumented)
1623
+ class?: string;
1624
+ message?: JSX.Element | null | false;
1625
+ position?: 'top' | 'bottom';
1626
+ // (undocumented)
1627
+ tone?: ToastTone;
1628
+ }
1629
+
1630
+ // @public (undocumented)
1631
+ export type ToastTone = 'info' | 'success' | 'error';
1632
+
1633
+ // @public
1634
+ export function Toolbar(props: ToolbarProps): JSX.Element;
1635
+
1636
+ // @public
1637
+ export function ToolbarButton(props: ToolbarButtonProps): JSX.Element;
1638
+
1639
+ // @public (undocumented)
1640
+ export interface ToolbarButtonProps {
1641
+ // (undocumented)
1642
+ children: JSX.Element;
1643
+ // (undocumented)
1644
+ class?: string;
1645
+ danger?: boolean;
1646
+ // (undocumented)
1647
+ disabled?: boolean;
1648
+ // (undocumented)
1649
+ label: string;
1650
+ on?: boolean;
1651
+ // (undocumented)
1652
+ onClick?: (event: MouseEvent) => void;
1653
+ pressed?: boolean;
1654
+ selected?: boolean;
1655
+ }
1656
+
1657
+ // @public (undocumented)
1658
+ export interface ToolbarDropdownItem {
1659
+ icon: Component<{
1660
+ class?: string;
1661
+ }>;
1662
+ // (undocumented)
1663
+ id: string;
1664
+ // (undocumented)
1665
+ label: string;
1666
+ }
1667
+
1668
+ // @public
1669
+ export function ToolbarDropdownMenu(props: ToolbarDropdownMenuProps): JSX;
1670
+
1671
+ // @public (undocumented)
1672
+ export interface ToolbarDropdownMenuProps {
1673
+ items: readonly ToolbarDropdownItem[];
1674
+ on?: boolean | undefined;
1675
+ onAction?: (() => void) | undefined;
1676
+ // (undocumented)
1677
+ onChange: (id: string) => void;
1678
+ placement?: MenuButtonProps['placement'];
1679
+ // (undocumented)
1680
+ value: string;
1681
+ }
1682
+
1683
+ // @public (undocumented)
1684
+ export interface ToolbarProps extends JSX.HTMLAttributes<HTMLDivElement> {
1685
+ // (undocumented)
1686
+ children?: JSX.Element;
1687
+ // (undocumented)
1688
+ orientation?: 'horizontal' | 'vertical';
1689
+ }
1690
+
1691
+ // @public
1692
+ export function ToolboxButton(props: ToolboxButtonProps): JSX.Element;
1693
+
1694
+ // @public (undocumented)
1695
+ export interface ToolboxButtonProps {
1696
+ children: JSX.Element;
1697
+ // (undocumented)
1698
+ class?: string;
1699
+ // (undocumented)
1700
+ disabled?: boolean;
1701
+ // (undocumented)
1702
+ label: string;
1703
+ on?: boolean;
1704
+ // (undocumented)
1705
+ onClick?: (event: MouseEvent) => void;
1706
+ selected?: boolean;
1707
+ size?: ToolboxSize;
1708
+ }
1709
+
1710
+ // @public
1711
+ export function ToolboxGrid(props: ToolboxGridProps): JSX.Element;
1712
+
1713
+ // @public (undocumented)
1714
+ export interface ToolboxGridProps extends JSX.HTMLAttributes<HTMLDivElement> {
1715
+ // (undocumented)
1716
+ children: JSX.Element;
1717
+ columns?: number;
1718
+ label?: string;
1719
+ size?: ToolboxSize;
1720
+ }
1721
+
1722
+ // @public
1723
+ export type ToolboxSize = 'md' | 'lg' | 'xl';
1724
+
1725
+ // @public
1726
+ export function ToolButton(props: ToolButtonProps): JSX.Element;
1727
+
1728
+ // @public (undocumented)
1729
+ export interface ToolButtonProps {
1730
+ // (undocumented)
1731
+ class?: string;
1732
+ // (undocumented)
1733
+ disabled?: boolean;
1734
+ label?: string;
1735
+ // (undocumented)
1736
+ onClick?: (event: MouseEvent) => void;
1737
+ // (undocumented)
1738
+ selected?: boolean;
1739
+ shortcut?: string;
1740
+ // (undocumented)
1741
+ tool: ArtTool;
1742
+ }
1743
+
1744
+ // @public
1745
+ export function ToolGroup(props: ToolGroupProps): JSX.Element;
1746
+
1747
+ // @public (undocumented)
1748
+ export interface ToolGroupProps extends JSX.HTMLAttributes<HTMLDivElement> {
1749
+ // (undocumented)
1750
+ children: JSX.Element;
1751
+ label: string;
1752
+ }
1753
+
1754
+ // @public
1755
+ export function Tooltip(props: TooltipProps): JSX.Element;
1756
+
1757
+ // @public (undocumented)
1758
+ export interface TooltipProps {
1759
+ children: JSX.Element;
1760
+ content: JSX.Element;
1761
+ // (undocumented)
1762
+ openDelay?: number;
1763
+ // (undocumented)
1764
+ placement?: 'top' | 'bottom' | 'left' | 'right';
1765
+ }
1766
+
1767
+ // @public
1768
+ export const TopDownPerspective: Component<ZylemIconProps>;
1769
+
1770
+ // @public
1771
+ export function TrackHeader(props: TrackHeaderProps): JSX.Element;
1772
+
1773
+ // @public (undocumented)
1774
+ export interface TrackHeaderProps {
1775
+ actions?: JSX.Element;
1776
+ // (undocumented)
1777
+ class?: string;
1778
+ color?: string;
1779
+ detail?: string;
1780
+ // (undocumented)
1781
+ disabled?: boolean;
1782
+ icon?: JSX.Element;
1783
+ // (undocumented)
1784
+ locked?: boolean;
1785
+ muted?: boolean;
1786
+ // (undocumented)
1787
+ name: string;
1788
+ onRename?: (name: string) => void;
1789
+ onSelect?: () => void;
1790
+ // (undocumented)
1791
+ onToggleLock?: () => void;
1792
+ // (undocumented)
1793
+ onToggleMute?: () => void;
1794
+ // (undocumented)
1795
+ onToggleSolo?: () => void;
1796
+ // (undocumented)
1797
+ selected?: boolean;
1798
+ // (undocumented)
1799
+ solo?: boolean;
1800
+ }
1801
+
1802
+ // @public
1803
+ export const TRANSPARENT = "transparent";
1804
+
1805
+ // @public
1806
+ export function TransportBar(props: TransportBarProps): JSX.Element;
1807
+
1808
+ // @public (undocumented)
1809
+ export interface TransportBarProps {
1810
+ beatsPerBar?: number;
1811
+ bpm?: number;
1812
+ children?: JSX.Element;
1813
+ // (undocumented)
1814
+ class?: string;
1815
+ // (undocumented)
1816
+ disabled?: boolean;
1817
+ length: number;
1818
+ // (undocumented)
1819
+ loop?: boolean;
1820
+ // (undocumented)
1821
+ onBpmChange?: (bpm: number) => void;
1822
+ // (undocumented)
1823
+ onFastForward?: () => void;
1824
+ // (undocumented)
1825
+ onRewind?: () => void;
1826
+ // (undocumented)
1827
+ onSeek?: (time: number) => void;
1828
+ onStop?: () => void;
1829
+ // (undocumented)
1830
+ onTimeSignatureChange?: (signature: TransportTimeSignature) => void;
1831
+ // (undocumented)
1832
+ onToggleLoop?: () => void;
1833
+ // (undocumented)
1834
+ onTogglePlay: () => void;
1835
+ // (undocumented)
1836
+ playing: boolean;
1837
+ time: number;
1838
+ timeSignature?: TransportTimeSignature;
1839
+ // (undocumented)
1840
+ unit?: TimeUnit;
1841
+ }
1842
+
1843
+ // @public (undocumented)
1844
+ export interface TransportTimeSignature {
1845
+ // (undocumented)
1846
+ denominator: number;
1847
+ // (undocumented)
1848
+ numerator: number;
1849
+ }
1850
+
1851
+ // @public
1852
+ export const UNGROUPED_LABEL = "Other";
1853
+
1854
+ // @public
1855
+ export function useLayer(tier: LayerTier, rank?: Accessor<number> | number): ResolvedLayer;
1856
+
1857
+ // @public
1858
+ export function useTimeline(): TimelineContextValue;
1859
+
1860
+ // @public
1861
+ export const ViewBottom: Component<ZylemIconProps>;
1862
+
1863
+ // @public
1864
+ export const ViewIsoLeftBottom: Component<ZylemIconProps>;
1865
+
1866
+ // @public
1867
+ export const ViewIsoLeftTop: Component<ZylemIconProps>;
1868
+
1869
+ // @public
1870
+ export const ViewIsoRightBottom: Component<ZylemIconProps>;
1871
+
1872
+ // @public
1873
+ export const ViewIsoRightTop: Component<ZylemIconProps>;
1874
+
1875
+ // @public
1876
+ export const ViewLeft: Component<ZylemIconProps>;
1877
+
1878
+ // @public
1879
+ export const ViewRight: Component<ZylemIconProps>;
1880
+
1881
+ // @public
1882
+ export const ViewTop: Component<ZylemIconProps>;
1883
+
1884
+ // @public
1885
+ export function Waveform(props: WaveformProps): JSX;
1886
+
1887
+ // @public (undocumented)
1888
+ export interface WaveformProps {
1889
+ buffer?: {
1890
+ duration: number;
1891
+ numberOfChannels: number;
1892
+ getChannelData(channel: number): Float32Array;
1893
+ };
1894
+ // (undocumented)
1895
+ class?: string;
1896
+ color?: string;
1897
+ // (undocumented)
1898
+ disabled?: boolean;
1899
+ duration?: number;
1900
+ // (undocumented)
1901
+ height?: number;
1902
+ // (undocumented)
1903
+ onRegionChange?: (region: WaveformRegion) => void;
1904
+ // (undocumented)
1905
+ onRegionCommit?: (region: WaveformRegion) => void;
1906
+ onSeek?: (seconds: number) => void;
1907
+ peaks?: ArrayLike<number>;
1908
+ playhead?: number;
1909
+ region?: WaveformRegion;
1910
+ }
1911
+
1912
+ // @public (undocumented)
1913
+ export interface WaveformRegion {
1914
+ // (undocumented)
1915
+ end: number;
1916
+ start: number;
1917
+ }
1918
+
1919
+ // @public
1920
+ export function WindowControls(props: WindowControlsProps): JSX;
1921
+
1922
+ // @public (undocumented)
1923
+ export interface WindowControlsProps {
1924
+ closeLabel?: string | undefined;
1925
+ closeTestId?: string | undefined;
1926
+ collapsed?: boolean | undefined;
1927
+ dock?: DockPosition | undefined;
1928
+ dockOptions?: readonly DockOption[] | undefined;
1929
+ // (undocumented)
1930
+ onClose?: (() => void) | undefined;
1931
+ // (undocumented)
1932
+ onCollapse?: (() => void) | undefined;
1933
+ onDock?: ((position: DockPosition) => void) | undefined;
1934
+ }
1935
+
1936
+ // @public (undocumented)
1937
+ export interface ZylemIconOptions {
1938
+ className?: string;
1939
+ filled?: boolean;
1940
+ viewBox?: string;
1941
+ }
1942
+
1943
+ // @public (undocumented)
1944
+ export interface ZylemIconProps extends JSX.SvgSVGAttributes<SVGSVGElement> {
1945
+ // (undocumented)
1946
+ absoluteStrokeWidth?: boolean;
1947
+ // (undocumented)
1948
+ color?: string;
1949
+ // (undocumented)
1950
+ size?: string | number;
1951
+ // (undocumented)
1952
+ strokeWidth?: string | number;
1953
+ }
1954
+
1955
+ // (No @packageDocumentation comment for this package)
1956
+
1957
+ ```