@noya-app/noya-designsystem 0.1.47 → 0.1.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/.turbo/turbo-build.log +10 -10
  2. package/CHANGELOG.md +18 -0
  3. package/dist/index.css +1 -1
  4. package/dist/index.d.mts +389 -241
  5. package/dist/index.d.ts +389 -241
  6. package/dist/index.js +4802 -3990
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.mjs +4715 -3915
  9. package/dist/index.mjs.map +1 -1
  10. package/package.json +7 -7
  11. package/src/__tests__/validateDropIndicator.test.ts +263 -0
  12. package/src/components/ActionMenu.tsx +51 -0
  13. package/src/components/ActivityIndicator.tsx +7 -1
  14. package/src/components/BaseToolbar.tsx +2 -2
  15. package/src/components/Checkbox.tsx +2 -2
  16. package/src/components/Chip.tsx +7 -6
  17. package/src/components/Collection.tsx +30 -2
  18. package/src/components/Combobox.tsx +27 -15
  19. package/src/components/ComboboxMenu.tsx +15 -6
  20. package/src/components/Dialog.tsx +17 -12
  21. package/src/components/DimensionInput.tsx +14 -12
  22. package/src/components/Drawer.tsx +98 -0
  23. package/src/components/EditableText.tsx +3 -1
  24. package/src/components/FillInputField.tsx +2 -2
  25. package/src/components/Grid.tsx +161 -111
  26. package/src/components/GridView.tsx +73 -41
  27. package/src/components/InputField.tsx +148 -208
  28. package/src/components/Label.tsx +4 -68
  29. package/src/components/LabeledField.tsx +7 -1
  30. package/src/components/List.tsx +135 -50
  31. package/src/components/ListView.tsx +63 -43
  32. package/src/components/MediaThumbnail.tsx +117 -0
  33. package/src/components/Message.tsx +8 -8
  34. package/src/components/NoyaLogo.tsx +41 -0
  35. package/src/components/SearchCompletionMenu.tsx +30 -16
  36. package/src/components/SegmentedControl.tsx +1 -1
  37. package/src/components/SelectMenu.tsx +28 -21
  38. package/src/components/Slider.tsx +16 -7
  39. package/src/components/Sortable.tsx +125 -62
  40. package/src/components/internal/Menu.tsx +45 -25
  41. package/src/components/internal/MenuViewport.tsx +7 -1
  42. package/src/components/internal/SelectItem.tsx +53 -28
  43. package/src/components/internal/__tests__/Menu.test.tsx +12 -0
  44. package/src/components/workspace/DrawerWorkspaceLayout.tsx +86 -0
  45. package/src/components/workspace/PanelWorkspaceLayout.tsx +102 -0
  46. package/src/components/{WorkspaceLayout.tsx → workspace/WorkspaceLayout.tsx} +109 -106
  47. package/src/components/workspace/types.ts +31 -0
  48. package/src/contexts/DialogContext.tsx +49 -34
  49. package/src/hooks/usePreservePanelSize.tsx +1 -5
  50. package/src/index.css +8 -1
  51. package/src/index.tsx +6 -1
  52. package/src/theme/index.ts +2 -0
  53. package/src/utils/classNames.ts +51 -3
  54. package/src/utils/inputs.ts +21 -0
  55. package/tailwind.config.ts +8 -0
package/dist/index.d.ts CHANGED
@@ -1,14 +1,15 @@
1
- import * as React from 'react';
2
- import React__default, { ReactHTML, ReactNode, CSSProperties, HTMLAttributes, AriaRole, KeyboardEventHandler, MouseEventHandler, PointerEventHandler, FocusEventHandler, InputHTMLAttributes, LabelHTMLAttributes, ForwardedRef, ComponentProps, SyntheticEvent } from 'react';
1
+ import * as React$1 from 'react';
2
+ import React__default, { ReactNode, ReactHTML, CSSProperties, HTMLAttributes, AriaRole, KeyboardEventHandler, MouseEventHandler, PointerEventHandler, FocusEventHandler, InputHTMLAttributes, ForwardedRef, ComponentProps, SyntheticEvent, LabelHTMLAttributes } from 'react';
3
3
  import { IItemScore } from 'vscode-fuzzy-scorer';
4
4
  import * as Icons from '@noya-app/noya-icons';
5
5
  export { Icons };
6
+ import * as tailwindcss_types_config from 'tailwindcss/types/config';
6
7
  import * as _noya_app_noya_geometry from '@noya-app/noya-geometry';
7
8
  import { Size } from '@noya-app/noya-geometry';
9
+ import { UniqueIdentifier } from '@dnd-kit/core';
8
10
  import { useSortable } from '@dnd-kit/sortable';
9
11
  import { Property } from 'csstype';
10
12
  import * as _noya_app_noya_designsystem from '@noya-app/noya-designsystem';
11
- import { SelectableMenuItem as SelectableMenuItem$1 } from '@noya-app/noya-designsystem';
12
13
  import * as DialogPrimitive from '@radix-ui/react-dialog';
13
14
  import * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu';
14
15
  import { Sketch } from '@noya-app/noya-file-format';
@@ -21,13 +22,126 @@ import { SelectProps } from '@radix-ui/react-select';
21
22
  import { ImperativePanelGroupHandle } from 'react-resizable-panels';
22
23
  import { RgbaColor } from '@noya-app/noya-colorpicker';
23
24
 
25
+ declare function fuzzyScore({ item, query }: {
26
+ item: string;
27
+ query: string;
28
+ }): IItemScore;
29
+ type IScoredItem = IItemScore & {
30
+ index: number;
31
+ };
32
+ declare function fuzzyFilter({ items, query, scoreThreshold, }: {
33
+ items: string[];
34
+ query: string;
35
+ scoreThreshold?: number;
36
+ }): IScoredItem[];
37
+ type IToken = {
38
+ type: "text";
39
+ text: string;
40
+ } | {
41
+ type: "match";
42
+ text: string;
43
+ };
44
+ type MatchRange = {
45
+ start: number;
46
+ end: number;
47
+ };
48
+ declare function fuzzyTokenize({ item, itemScore, }: {
49
+ item: string;
50
+ itemScore: IItemScore;
51
+ }): IToken[];
52
+
53
+ type IconName = keyof typeof Icons;
54
+
55
+ declare function renderIcon(iconName: Exclude<React$1.ReactNode, string> | IconName): React$1.ReactNode;
56
+
57
+ type MenuItemRole = "undo" | "redo" | "cut" | "copy" | "paste" | "pasteAndMatchStyle" | "delete" | "selectAll" | "reload" | "forceReload" | "toggleDevTools" | "resetZoom" | "zoomIn" | "zoomOut" | "toggleSpellChecker" | "togglefullscreen" | "window" | "minimize" | "close" | "help" | "about" | "services" | "hide" | "hideOthers" | "unhide" | "quit" | "showSubstitutions" | "toggleSmartQuotes" | "toggleSmartDashes" | "toggleTextReplacement" | "startSpeaking" | "stopSpeaking" | "zoom" | "front" | "appMenu" | "fileMenu" | "editMenu" | "viewMenu" | "shareMenu" | "recentDocuments" | "toggleTabBar" | "selectNextTab" | "selectPreviousTab" | "mergeAllWindows" | "clearRecentDocuments" | "moveTabToNewWindow" | "windowMenu";
58
+ type SeparatorItem = {
59
+ type: "separator";
60
+ };
61
+ declare const separator: SeparatorItem;
62
+ type FalsyReactNode = false | "" | null | undefined;
63
+ type MenuItemIcon = IconName | React__default.ReactElement | FalsyReactNode;
64
+ type BaseMenuItem = {
65
+ checked?: boolean;
66
+ disabled?: boolean;
67
+ icon?: MenuItemIcon;
68
+ role?: MenuItemRole;
69
+ alwaysInclude?: boolean;
70
+ title: NonNullable<ReactNode>;
71
+ };
72
+ type SectionHeaderMenuItem = {
73
+ type: "sectionHeader";
74
+ id: string;
75
+ title: ReactNode;
76
+ maxVisibleItems?: number;
77
+ variant?: "normal" | "label";
78
+ };
79
+ type SelectableMenuItem<T extends string> = BaseMenuItem & {
80
+ type?: undefined;
81
+ shortcut?: string;
82
+ value: T;
83
+ testSelected?: boolean;
84
+ };
85
+ type SubMenuItem<T extends string> = BaseMenuItem & {
86
+ type: "submenu";
87
+ items: MenuItem<T>[];
88
+ id: string;
89
+ };
90
+ type NonSelectableMenuItem<T extends string> = SeparatorItem | SectionHeaderMenuItem | SubMenuItem<T>;
91
+ type MenuItem<T extends string> = SeparatorItem | SelectableMenuItem<T> | SectionHeaderMenuItem | SubMenuItem<T>;
92
+ type ScoredSelectableMenuItem<T extends string> = SelectableMenuItem<T> & IScoredItem;
93
+ type ScoredMenuItem<T extends string> = ScoredSelectableMenuItem<T> | SectionHeaderMenuItem;
94
+ type ExtractMenuItemType<T> = T extends SelectableMenuItem<infer U> ? U : never;
95
+ declare const isSelectableMenuItem: <T extends string>(item: MenuItem<T>) => item is SelectableMenuItem<T>;
96
+ declare const isNonSelectableMenuItem: <T extends string>(item: MenuItem<T>) => item is NonSelectableMenuItem<T>;
97
+ declare const isMenuItemSectionHeader: (item: MenuItem<string>) => item is SectionHeaderMenuItem;
98
+ declare const isSelectableMenuItemWithScore: (item: MenuItem<string>) => item is ScoredSelectableMenuItem<string>;
99
+ declare const getMenuItemKey: <T extends string>(item: MenuItem<T>, index: number) => string;
100
+ declare const CHECKBOX_WIDTH = 15;
101
+ declare const CHECKBOX_RIGHT_INSET = 8;
102
+ declare const CHECKBOX_INDENT_WIDTH = 6;
103
+ declare const styles: {
104
+ separatorStyle: string;
105
+ selectedItemStyle: string;
106
+ testSelectedItemStyle: string;
107
+ itemStyle: ({ disabled }: {
108
+ disabled?: boolean;
109
+ }) => string;
110
+ itemIndicator: {
111
+ className: string;
112
+ style: {
113
+ marginRight: number;
114
+ };
115
+ };
116
+ contentStyle: string;
117
+ };
118
+ declare function getKeyboardShortcutsForMenuItems<T extends string>(menuItems: MenuItem<T>[], onSelect: (type: T) => void): Record<string, () => void>;
119
+ declare const KeyboardShortcut: React__default.NamedExoticComponent<{
120
+ shortcut: string;
121
+ }>;
122
+ declare const SectionHeader$1: React__default.NamedExoticComponent<Omit<SectionHeaderMenuItem, "type" | "maxVisibleItems"> & {
123
+ isFirst?: boolean;
124
+ indented?: boolean;
125
+ }>;
126
+
127
+ type ActionMenuProps<TMenu extends string> = {
128
+ menuItems: MenuItem<TMenu>[];
129
+ onSelect: (action: TMenu) => void;
130
+ selected: boolean;
131
+ onOpenChange: (open: boolean) => void;
132
+ className?: string;
133
+ style?: React__default.CSSProperties;
134
+ };
135
+ declare const ActionMenu: <TMenu extends string>(props: ActionMenuProps<TMenu>) => React__default.ReactElement | null;
136
+
24
137
  interface Props$e {
25
138
  size?: number;
26
139
  opacity?: number;
27
140
  color?: string;
28
141
  trackColor?: string;
142
+ className?: string;
29
143
  }
30
- declare const ActivityIndicator: React.NamedExoticComponent<Props$e>;
144
+ declare const ActivityIndicator: React$1.NamedExoticComponent<Props$e>;
31
145
 
32
146
  type AnimatePresenceProps = {
33
147
  children: React__default.ReactNode;
@@ -111,6 +225,8 @@ declare const config: {
111
225
  "secondary-bright": string;
112
226
  "input-background": string;
113
227
  "input-background-light": string;
228
+ "list-view-hover-background": string;
229
+ "list-view-thumbnail-background": string;
114
230
  "code-background": string;
115
231
  "code-background-dark": string;
116
232
  "selected-background": string;
@@ -155,6 +271,8 @@ declare const config: {
155
271
  "chip-error-shadow": string;
156
272
  "chip-default-shadow": string;
157
273
  "floating-button": string;
274
+ "block-border": string;
275
+ "block-highlight": string;
158
276
  };
159
277
  fontFamily: {
160
278
  sans: [string, string, string, string, string, string, string, string, string, string];
@@ -220,6 +338,7 @@ declare const config: {
220
338
  "inspector-h-separator": string;
221
339
  "inspector-v-separator": string;
222
340
  "dialog-padding": string;
341
+ "input-height": string;
223
342
  };
224
343
  keyframes: {
225
344
  spin: {
@@ -251,6 +370,10 @@ declare const config: {
251
370
  };
252
371
  };
253
372
  safelist: string[];
373
+ plugins: {
374
+ handler: tailwindcss_types_config.PluginCreator;
375
+ config?: Partial<tailwindcss_types_config.Config> | undefined;
376
+ }[];
254
377
  };
255
378
 
256
379
  type Theme = (typeof config.theme)["extend"];
@@ -277,6 +400,8 @@ declare const cssVars: {
277
400
  secondaryBright: string;
278
401
  inputBackground: string;
279
402
  inputBackgroundLight: string;
403
+ listViewHoverBackground: string;
404
+ listViewThumbnailBackground: string;
280
405
  codeBackground: string;
281
406
  codeBackgroundDark: string;
282
407
  selectedBackground: string;
@@ -321,6 +446,8 @@ declare const cssVars: {
321
446
  chipErrorShadow: string;
322
447
  chipDefaultShadow: string;
323
448
  floatingButton: string;
449
+ blockBorder: string;
450
+ blockHighlight: string;
324
451
  };
325
452
  fontFamily: {
326
453
  sans: [string, string, string, string, string, string, string, string, string, string];
@@ -386,6 +513,7 @@ declare const cssVars: {
386
513
  inspectorHSeparator: string;
387
514
  inspectorVSeparator: string;
388
515
  dialogPadding: string;
516
+ inputHeight: string;
389
517
  };
390
518
  keyframes: {
391
519
  spin: {
@@ -415,6 +543,7 @@ declare const cssVars: {
415
543
  menu: string;
416
544
  };
417
545
  };
546
+ declare const INPUT_HEIGHT = 27;
418
547
 
419
548
  type KebabToCamelCase<S extends string> = S extends `${infer First}-${infer Rest}` ? `${First}${Capitalize<KebabToCamelCase<Rest>>}` : S;
420
549
 
@@ -474,10 +603,10 @@ interface ButtonRootProps {
474
603
  }
475
604
  declare const Button: React__default.ForwardRefExoticComponent<ButtonRootProps & React__default.RefAttributes<HTMLButtonElement>>;
476
605
 
477
- interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> {
606
+ interface CheckboxProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "type"> {
478
607
  colorScheme?: "primary" | "secondary";
479
608
  }
480
- declare const Checkbox$1: React.MemoExoticComponent<React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>>;
609
+ declare const Checkbox$1: React$1.MemoExoticComponent<React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLInputElement>>>;
481
610
 
482
611
  type ChipColorScheme = "primary" | "secondary" | "error";
483
612
  type ChipSize = "small" | "medium" | "large";
@@ -499,6 +628,7 @@ interface ChipProps {
499
628
  onHoverDeleteChange?: (hovering: boolean) => void;
500
629
  style?: React__default.CSSProperties;
501
630
  tabIndex?: number;
631
+ role?: string;
502
632
  }
503
633
  declare const Chip: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<ChipProps & React__default.RefAttributes<HTMLSpanElement>>>;
504
634
 
@@ -511,119 +641,53 @@ declare const Grid: <T, M extends string = string>(props: CollectionProps<T, M>
511
641
  ref?: React__default.ForwardedRef<CollectionRef>;
512
642
  } & React__default.RefAttributes<CollectionRef>) => React__default.ReactElement | null;
513
643
 
514
- declare function fuzzyScore({ item, query }: {
515
- item: string;
516
- query: string;
517
- }): IItemScore;
518
- type IScoredItem = IItemScore & {
519
- index: number;
520
- };
521
- declare function fuzzyFilter({ items, query, scoreThreshold, }: {
522
- items: string[];
523
- query: string;
524
- scoreThreshold?: number;
525
- }): IScoredItem[];
526
- type IToken = {
527
- type: "text";
528
- text: string;
529
- } | {
530
- type: "match";
531
- text: string;
532
- };
533
- type MatchRange = {
534
- start: number;
535
- end: number;
536
- };
537
- declare function fuzzyTokenize({ item, itemScore, }: {
538
- item: string;
539
- itemScore: IItemScore;
540
- }): IToken[];
541
-
542
- type IconName = keyof typeof Icons;
543
-
544
- declare function renderIcon(iconName: Exclude<React.ReactNode, string> | IconName): React.ReactNode;
545
-
546
- type MenuItemRole = "undo" | "redo" | "cut" | "copy" | "paste" | "pasteAndMatchStyle" | "delete" | "selectAll" | "reload" | "forceReload" | "toggleDevTools" | "resetZoom" | "zoomIn" | "zoomOut" | "toggleSpellChecker" | "togglefullscreen" | "window" | "minimize" | "close" | "help" | "about" | "services" | "hide" | "hideOthers" | "unhide" | "quit" | "showSubstitutions" | "toggleSmartQuotes" | "toggleSmartDashes" | "toggleTextReplacement" | "startSpeaking" | "stopSpeaking" | "zoom" | "front" | "appMenu" | "fileMenu" | "editMenu" | "viewMenu" | "shareMenu" | "recentDocuments" | "toggleTabBar" | "selectNextTab" | "selectPreviousTab" | "mergeAllWindows" | "clearRecentDocuments" | "moveTabToNewWindow" | "windowMenu";
547
- type SeparatorItem = {
548
- type: "separator";
549
- };
550
- type BaseMenuItem = {
551
- checked?: boolean;
552
- disabled?: boolean;
553
- icon?: Exclude<ReactNode, string> | IconName;
554
- role?: MenuItemRole;
555
- alwaysInclude?: boolean;
556
- title: NonNullable<ReactNode>;
557
- };
558
- type SectionHeaderMenuItem = {
559
- type: "sectionHeader";
560
- id: string;
561
- title: ReactNode;
562
- maxVisibleItems?: number;
563
- variant?: "normal" | "label";
564
- };
565
- type SelectableMenuItem<T extends string> = BaseMenuItem & {
566
- type?: undefined;
567
- shortcut?: string;
568
- value: T;
644
+ type RelativeDropPosition = "above" | "below" | "inside";
645
+ type DropValidator = (sourceIndex: number, targetIndex: number, position: RelativeDropPosition) => boolean;
646
+ declare const normalizeListTargetIndex: (index: number, position: "above" | "below") => number;
647
+ declare const defaultAcceptsDrop: DropValidator;
648
+ type SortableItemContextProps = {
649
+ keys: UniqueIdentifier[];
650
+ acceptsDrop: DropValidator;
651
+ axis: "x" | "y";
652
+ position: {
653
+ x: number;
654
+ y: number;
655
+ };
656
+ setActivatorEvent: (event: PointerEvent) => void;
657
+ getDropTargetParentIndex?: (index: number) => number | undefined;
569
658
  };
570
- type SubMenuItem<T extends string> = BaseMenuItem & {
571
- type: "submenu";
572
- items: MenuItem<T>[];
573
- id: string;
659
+ type ValidateDropIndicatorParams = {
660
+ acceptsDrop: DropValidator;
661
+ keys: UniqueIdentifier[];
662
+ activeId: UniqueIdentifier;
663
+ overId: UniqueIdentifier;
664
+ offsetStart: number;
665
+ elementStart: number;
666
+ elementSize: number;
574
667
  };
575
- type NonSelectableMenuItem<T extends string> = SeparatorItem | SectionHeaderMenuItem | SubMenuItem<T>;
576
- type MenuItem<T extends string> = SeparatorItem | SelectableMenuItem<T> | SectionHeaderMenuItem | SubMenuItem<T>;
577
- type ScoredSelectableMenuItem<T extends string> = SelectableMenuItem<T> & IScoredItem;
578
- type ScoredMenuItem<T extends string> = ScoredSelectableMenuItem<T> | SectionHeaderMenuItem;
579
- type ExtractMenuItemType<T> = T extends SelectableMenuItem<infer U> ? U : never;
580
- declare const isSelectableMenuItem: <T extends string>(item: MenuItem<T>) => item is SelectableMenuItem<T>;
581
- declare const isNonSelectableMenuItem: <T extends string>(item: MenuItem<T>) => item is NonSelectableMenuItem<T>;
582
- declare const isMenuItemSectionHeader: (item: MenuItem<string>) => item is SectionHeaderMenuItem;
583
- declare const isSelectableMenuItemWithScore: (item: MenuItem<string>) => item is ScoredSelectableMenuItem<string>;
584
- declare const CHECKBOX_WIDTH = 16;
585
- declare const CHECKBOX_RIGHT_INSET = 8;
586
- declare const styles: {
587
- separatorStyle: string;
588
- itemStyle: ({ disabled }: {
589
- disabled?: boolean;
590
- }) => string;
591
- itemIndicatorStyle: string;
592
- contentStyle: string;
593
- };
594
- declare function getKeyboardShortcutsForMenuItems<T extends string>(menuItems: MenuItem<T>[], onSelect: (type: T) => void): Record<string, () => void>;
595
- declare const KeyboardShortcut: React__default.NamedExoticComponent<{
596
- shortcut: string;
597
- }>;
598
- declare const SectionHeader$1: React__default.NamedExoticComponent<Omit<SectionHeaderMenuItem, "type" | "maxVisibleItems"> & {
599
- isFirst?: boolean;
600
- indented?: boolean;
601
- }>;
602
-
603
- type RelativeDropPosition = "above" | "below" | "inside";
604
- type DropValidator = (sourceIndex: number, destinationIndex: number, position: RelativeDropPosition) => boolean;
605
- declare const normalizeListDestinationIndex: (index: number, position: "above" | "below") => number;
668
+ declare function validateDropIndicator({ acceptsDrop, keys, activeId, overId, offsetStart, elementStart, elementSize, }: ValidateDropIndicatorParams): RelativeDropPosition | undefined;
606
669
  type UseSortableReturnType = ReturnType<typeof useSortable>;
607
670
  interface ItemProps$1<T> {
608
- id: string;
671
+ id: UniqueIdentifier;
609
672
  disabled?: boolean;
610
673
  children: (props: {
611
- ref: React.Ref<T>;
674
+ ref: React$1.Ref<T>;
612
675
  relativeDropPosition?: RelativeDropPosition;
613
- [key: string]: any;
676
+ style?: React$1.CSSProperties;
614
677
  } & UseSortableReturnType["attributes"]) => JSX.Element;
615
678
  }
616
679
  interface RootProps {
617
- keys: string[];
618
- children: React.ReactNode;
619
- renderOverlay?: (index: number) => React.ReactNode;
620
- onMoveItem?: (sourceIndex: number, destinationIndex: number, position: RelativeDropPosition) => void;
621
- acceptsDrop?: DropValidator;
622
- axis?: "x" | "y";
680
+ keys: UniqueIdentifier[];
681
+ children: React$1.ReactNode;
682
+ renderOverlay?: (index: number) => React$1.ReactNode;
683
+ onMoveItem?: (sourceIndex: number, targetIndex: number, position: RelativeDropPosition) => void;
684
+ acceptsDrop?: SortableItemContextProps["acceptsDrop"];
685
+ axis?: SortableItemContextProps["axis"];
686
+ getDropTargetParentIndex?: SortableItemContextProps["getDropTargetParentIndex"];
623
687
  }
624
688
  declare namespace Sortable {
625
- const Item: <T extends HTMLElement>(props: ItemProps$1<T>) => React.ReactElement | null;
626
- const Root: (props: RootProps) => React.ReactElement | null;
689
+ const Item: <T extends HTMLElement>(props: ItemProps$1<T>) => React$1.ReactElement | null;
690
+ const Root: (props: RootProps) => React$1.ReactElement | null;
627
691
  }
628
692
 
629
693
  type ListRowMarginType = "none" | "top" | "bottom" | "vertical";
@@ -649,8 +713,9 @@ interface EditableRowProps {
649
713
  autoFocus: boolean;
650
714
  placeholder?: string;
651
715
  className?: string;
716
+ onKeyDown?: (e: React__default.KeyboardEvent) => void;
652
717
  }
653
- declare function ListViewEditableRowTitle({ value, onSubmitEditing, autoFocus, placeholder, className, }: EditableRowProps): React__default.JSX.Element;
718
+ declare function ListViewEditableRowTitle({ value, onSubmitEditing, autoFocus, placeholder, className, onKeyDown, }: EditableRowProps): React__default.JSX.Element;
654
719
  interface ListViewClickInfo {
655
720
  shiftKey: boolean;
656
721
  altKey: boolean;
@@ -681,17 +746,20 @@ interface ListViewRowProps<MenuItemType extends string = string> {
681
746
  onKeyDown?: (event: React__default.KeyboardEvent) => void;
682
747
  style?: CSSProperties;
683
748
  className?: string;
684
- dragIndicatorStyle?: CSSProperties | ((props: {
685
- depth: number;
686
- indentation: number;
687
- position: RelativeDropPosition;
688
- }) => CSSProperties);
749
+ dragIndicatorStyle?: CSSProperties | ((props: DragIndicatorStyleProps) => CSSProperties);
750
+ testRelativeDropPosition?: RelativeDropPosition;
689
751
  }
752
+ type DragIndicatorStyleProps = {
753
+ depth: number;
754
+ indentation: number;
755
+ position: RelativeDropPosition;
756
+ };
690
757
  interface IVirtualizedList {
691
758
  scrollToIndex(index: number): void;
692
759
  }
693
760
  type ListViewItemInfo = {
694
- isDragging: boolean;
761
+ isDragOverlay: boolean;
762
+ activeDragIndex?: number;
695
763
  };
696
764
  type ChildrenProps = {
697
765
  children: ReactNode;
@@ -721,7 +789,7 @@ type ListViewRootProps = {
721
789
  onPress?: () => void;
722
790
  scrollable?: boolean;
723
791
  expandable?: boolean;
724
- onMoveItem?: (sourceIndex: number, destinationIndex: number, position: RelativeDropPosition) => void;
792
+ onMoveItem?: (sourceIndex: number, targetIndex: number, position: RelativeDropPosition) => void;
725
793
  indentation?: number;
726
794
  acceptsDrop?: DropValidator;
727
795
  pressEventName?: PressEventName;
@@ -735,6 +803,8 @@ type ListViewRootProps = {
735
803
  onDragEnter?: React__default.DragEventHandler<HTMLDivElement>;
736
804
  onDragLeave?: React__default.DragEventHandler<HTMLDivElement>;
737
805
  onDrop?: React__default.DragEventHandler<HTMLDivElement>;
806
+ renderEmptyState?: () => ReactNode;
807
+ getDropTargetParentIndex?: SortableItemContextProps["getDropTargetParentIndex"];
738
808
  };
739
809
  declare namespace ListView {
740
810
  const RowTitle: React__default.MemoExoticComponent<({ className, children, ...props }: {
@@ -750,7 +820,7 @@ declare namespace ListView {
750
820
  type RowProps<MenuItemType extends string = string> = ListViewRowProps<MenuItemType>;
751
821
  type VirtualizedList = IVirtualizedList;
752
822
  const DragIndicator: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & {
753
- $relativeDropPosition: RelativeDropPosition;
823
+ $relativeDropPosition?: RelativeDropPosition;
754
824
  $gap: number;
755
825
  $offsetLeft: number;
756
826
  $colorScheme: ListColorScheme;
@@ -761,19 +831,30 @@ declare namespace ListView {
761
831
  menuItemsCount: number;
762
832
  sectionHeaderCount: number;
763
833
  }) => number;
764
- const normalizeDestinationIndex: (index: number, position: "above" | "below") => number;
834
+ const normalizeTargetIndex: (index: number, position: "above" | "below") => number;
765
835
  }
766
836
 
767
837
  type CollectionViewType = "grid" | "list";
838
+ type CollectionThumbnailSize = "auto" | "custom";
768
839
  type CollectionRef = {
769
840
  editName: (id: string) => void;
770
841
  };
842
+ type CollectionThumbnailProps<T> = {
843
+ item: T;
844
+ selected: boolean;
845
+ };
846
+ type CollectionRenderActionProps<T> = {
847
+ item: T;
848
+ selected: boolean;
849
+ onOpenChange: (open: boolean) => void;
850
+ };
771
851
  interface CollectionProps<T, M extends string = string> {
772
852
  className?: string;
773
853
  items: T[];
774
854
  getId: (item: T) => string;
775
855
  getName: (item: T) => string;
776
856
  getExpanded?: (item: T) => boolean | undefined;
857
+ getPlaceholder?: (item: T) => string;
777
858
  /**
778
859
  * Whether directories should be expandable.
779
860
  * @default true
@@ -787,8 +868,8 @@ interface CollectionProps<T, M extends string = string> {
787
868
  menuItems?: MenuItem<M>[];
788
869
  onSelectMenuItem?: (action: M, selectedItems: T[]) => void;
789
870
  onRename?: (item: T, newName: string) => void;
790
- renderThumbnail?: (item: T, selected: boolean) => React__default.ReactNode;
791
- renderAction?: (item: T, selected: boolean) => React__default.ReactNode;
871
+ renderThumbnail?: ({ item, selected, }: CollectionThumbnailProps<T>) => React__default.ReactNode;
872
+ renderAction?: "menu" | ((props: CollectionRenderActionProps<T>) => React__default.ReactNode);
792
873
  renderDetail?: (item: T, selected: boolean) => React__default.ReactNode;
793
874
  /** Callback when selection changes. If not provided, selection will be disabled. */
794
875
  onSelectionChange?: (selectedItemIds: string[], event?: ListView.ClickInfo) => void;
@@ -798,23 +879,34 @@ interface CollectionProps<T, M extends string = string> {
798
879
  detailPosition?: "end" | "below";
799
880
  /** Size of the list items. Defaults to 'medium'. */
800
881
  size?: GridViewSize;
882
+ /** Size of the thumbnail. Defaults to 'auto', which will be based on the size prop. */
883
+ thumbnailSize?: CollectionThumbnailSize;
801
884
  /** For testing: Override the hover state with a specific item ID */
802
885
  testHoveredId?: string;
803
886
  /** For testing: Override the renaming state with a specific item ID */
804
887
  testRenamingId?: string;
888
+ /** For testing: Override the drop indicator state with a specific item ID */
889
+ testShowDropIndicatorId?: string;
805
890
  setExpanded?: (item: T, expanded: boolean) => void;
806
891
  acceptsDrop?: ListViewRootProps["acceptsDrop"];
807
892
  onMoveItem?: ListViewRootProps["onMoveItem"];
893
+ getDropTargetParentIndex?: ListViewRootProps["getDropTargetParentIndex"];
808
894
  getDepth?: (item: T) => number;
809
895
  onFilesDrop?: (event: React__default.DragEvent<Element>) => void;
810
896
  getRenamable?: (item: T) => boolean;
811
897
  /** Currently selected file IDs */
812
898
  selectedIds?: string[];
813
899
  viewType?: CollectionViewType;
900
+ onClickItem?: (itemId: string) => void;
814
901
  onDoubleClickItem?: (itemId: string) => void;
902
+ renderEmptyState?: () => React__default.ReactElement;
903
+ /** @default false */
904
+ sortable?: boolean;
815
905
  }
816
906
  declare const Collection: <T, M extends string = string>(props: CollectionProps<T, M> & React__default.RefAttributes<CollectionRef>) => React__default.ReactElement | null;
817
907
 
908
+ type InputSize = "small" | "medium" | "large";
909
+
818
910
  type Props$d = {
819
911
  id?: string;
820
912
  style?: any;
@@ -848,47 +940,19 @@ type SubmittableProps = Props$d & {
848
940
  };
849
941
  type TextInputProps = ReadOnlyProps | ControlledProps | SubmittableProps;
850
942
 
851
- type LabelPosition = "inset" | "start" | "end" | "above";
852
- interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
853
- /** @default start */
854
- position?: Exclude<LabelPosition, "inset">;
855
- }
856
- type InsetLabelProps = {
857
- /** @default medium */
858
- size?: InputFieldSize;
859
- /** when used with an InputField.Root and label position is inset, it will add padding to the right of the label to account for the button */
860
- buttonSize?: number;
861
- } & LabelHTMLAttributes<HTMLLabelElement>;
862
- declare const insetLabelTextStyles = "font-sans text-label uppercase text-text-disabled leading-[19px] font-bold text-[60%] truncate pointer-events-none text-right";
863
- declare const insetLabelStyles = "flex items-center absolute top-0 bottom-0 z-label";
864
- declare const InsetLabel: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<{
865
- /** @default medium */
866
- size?: InputFieldSize;
867
- /** when used with an InputField.Root and label position is inset, it will add padding to the right of the label to account for the button */
868
- buttonSize?: number;
869
- } & React__default.LabelHTMLAttributes<HTMLLabelElement> & React__default.RefAttributes<HTMLLabelElement>>>;
870
- declare const Label: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<LabelProps & React__default.RefAttributes<HTMLLabelElement>>>;
871
-
872
943
  type InputFieldSize = "small" | "medium" | "large";
873
944
  type InputFieldContextValue = {
874
- labelSize?: number;
875
- buttonSize?: number;
876
- /** @default medium */
877
- size: InputFieldSize;
878
945
  isFocused: boolean;
879
946
  onFocusChange: (isFocused: boolean) => void;
880
- inputRef?: ForwardedRef<HTMLInputElement>;
881
- setInputRef?: (ref: ForwardedRef<HTMLInputElement>) => void;
882
- setLabelWidth?: (width: number) => void;
883
- setButtonWidth?: (width: number) => void;
884
- id?: string;
885
- label?: ReactNode;
886
- labelPosition?: LabelPosition;
887
- };
947
+ inputRef: ForwardedRef<HTMLInputElement>;
948
+ startRef: ForwardedRef<HTMLSpanElement>;
949
+ endRef: ForwardedRef<HTMLSpanElement>;
950
+ endWidth?: number;
951
+ } & Pick<InputFieldRootProps, "endWidth" | "startWidth" | "size" | "id">;
888
952
  declare const useInputFieldContext: () => InputFieldContextValue;
889
- declare const getFieldSpacing: ({ buttonSize, labelSize, variant, }: {
890
- buttonSize?: number;
891
- labelSize?: number;
953
+ declare const getFieldSpacing: ({ endWidth, startWidth, variant, }: {
954
+ endWidth?: number;
955
+ startWidth?: number;
892
956
  variant?: InputFieldVariant;
893
957
  }) => {
894
958
  paddingLeft: string;
@@ -922,10 +986,14 @@ declare function InputFieldNumberInput(props: InputFieldNumberInputProps): React
922
986
  interface InputFieldRootProps {
923
987
  id?: string;
924
988
  children?: ReactNode;
989
+ start?: ReactNode;
990
+ end?: ReactNode;
991
+ label?: ReactNode;
925
992
  width?: number;
926
- labelSize?: number;
993
+ startWidth?: number;
994
+ endWidth?: number;
927
995
  /** @default medium */
928
- size?: InputFieldSize;
996
+ size?: InputSize;
929
997
  renderPopoverContent?: (options: {
930
998
  width: number;
931
999
  }) => ReactNode;
@@ -938,7 +1006,7 @@ interface InputFieldRootProps {
938
1006
  style?: React__default.CSSProperties;
939
1007
  className?: string;
940
1008
  }
941
- declare function InputFieldRoot({ id: idProp, children, width, sideOffset, labelSize, size, renderPopoverContent, onFocusChange, style, className, }: InputFieldRootProps): React__default.JSX.Element;
1009
+ declare function InputFieldRoot({ id, children, width, sideOffset, startWidth: startWidthProp, endWidth: endWidthProp, size, renderPopoverContent, onFocusChange, style, className, start, end, label: labelProp, }: InputFieldRootProps): React__default.JSX.Element;
942
1010
  type InputFieldProps = InputFieldRootProps & InputFieldInputProps;
943
1011
  declare const InputField: React__default.ForwardRefExoticComponent<InputFieldProps & React__default.RefAttributes<HTMLInputElement>> & {
944
1012
  readonly Root: React__default.MemoExoticComponent<typeof InputFieldRoot>;
@@ -951,10 +1019,8 @@ declare const InputField: React__default.ForwardRefExoticComponent<InputFieldPro
951
1019
  readonly NumberInput: React__default.MemoExoticComponent<typeof InputFieldNumberInput>;
952
1020
  readonly DropdownMenu: <T extends string>(props: InputFieldDropdownProps<T>) => React__default.ReactElement | null;
953
1021
  readonly Button: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<React__default.ButtonHTMLAttributes<HTMLButtonElement> & ButtonRootProps & {
954
- buttonClassName?: string;
955
1022
  variant?: "floating" | "normal";
956
1023
  } & React__default.RefAttributes<HTMLButtonElement>>>;
957
- readonly Label: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<React__default.LabelHTMLAttributes<HTMLLabelElement> & React__default.RefAttributes<HTMLLabelElement>>>;
958
1024
  readonly PrimitiveElement: ({ readOnly, disabled, className, style, ...props }: {
959
1025
  readOnly?: boolean;
960
1026
  disabled?: boolean;
@@ -1013,6 +1079,7 @@ interface ComboboxMenuProps<T extends string> {
1013
1079
  onHoverIndex: (index: number) => void;
1014
1080
  listSize: Size;
1015
1081
  style?: React__default.CSSProperties;
1082
+ indented?: boolean;
1016
1083
  }
1017
1084
  declare const ComboboxMenu: <T extends string>(props: ComboboxMenuProps<T> & React__default.RefAttributes<IVirtualizedList>) => React__default.ReactElement | null;
1018
1085
 
@@ -1020,11 +1087,13 @@ interface ISearchCompletionMenu {
1020
1087
  focus: () => void;
1021
1088
  }
1022
1089
  declare const SearchCompletionMenu: React__default.ForwardRefExoticComponent<{
1023
- onSelect: (item: SelectableMenuItem$1<string>) => void;
1024
- onHover?: (item: SelectableMenuItem$1<string>) => void;
1090
+ onSelect: (item: SelectableMenuItem<string>) => void;
1091
+ onHover?: (item: SelectableMenuItem<string>) => void;
1025
1092
  onClose: () => void;
1026
- items: SelectableMenuItem$1<string>[];
1093
+ items: SelectableMenuItem<string>[];
1027
1094
  width?: number;
1095
+ testSelectedIndex?: number;
1096
+ testSearch?: string;
1028
1097
  } & React__default.RefAttributes<ISearchCompletionMenu>>;
1029
1098
 
1030
1099
  declare const CommandPalette: React__default.NamedExoticComponent<{
@@ -1036,6 +1105,8 @@ declare const CommandPalette: React__default.NamedExoticComponent<{
1036
1105
  onClose: () => void;
1037
1106
  items: _noya_app_noya_designsystem.SelectableMenuItem<string>[];
1038
1107
  width?: number;
1108
+ testSelectedIndex?: number;
1109
+ testSearch?: string;
1039
1110
  } & React__default.RefAttributes<ISearchCompletionMenu>, "onSelect" | "items" | "onHover">>;
1040
1111
 
1041
1112
  interface MenuItemProps<T extends string> {
@@ -1096,6 +1167,51 @@ declare const DraggableMenuButton: <T extends string>(props: {
1096
1167
  isVisible?: boolean;
1097
1168
  }) => React__default.ReactElement | null;
1098
1169
 
1170
+ type SidebarRef = {
1171
+ expand: () => void;
1172
+ collapse: () => void;
1173
+ isExpanded: () => boolean;
1174
+ };
1175
+ type PercentageSidebarOptions = {
1176
+ minSize?: number;
1177
+ maxSize?: number;
1178
+ initialSize?: number;
1179
+ resizable?: boolean;
1180
+ };
1181
+ type PanelLayoutState = {
1182
+ leftSidebarCollapsed: boolean;
1183
+ rightSidebarCollapsed: boolean;
1184
+ };
1185
+ type LayoutProps = {
1186
+ leftPanel: React.ReactNode;
1187
+ rightPanel: React.ReactNode;
1188
+ centerPanel: React.ReactNode;
1189
+ leftSidebarOptions: PercentageSidebarOptions;
1190
+ rightSidebarOptions: PercentageSidebarOptions;
1191
+ centerPanelPercentage: number;
1192
+ autoSavePrefix?: string;
1193
+ internalLayoutState: PanelLayoutState | null;
1194
+ leftSidebarRef: React.RefObject<SidebarRef>;
1195
+ rightSidebarRef: React.RefObject<SidebarRef>;
1196
+ handleChangeLayoutState: (state: PanelLayoutState) => void;
1197
+ };
1198
+
1199
+ type DrawerProps = {
1200
+ open?: boolean;
1201
+ onOpenChange?: (open: boolean) => void;
1202
+ trigger: React$1.ReactNode;
1203
+ children: React$1.ReactNode;
1204
+ title?: React$1.ReactNode;
1205
+ className?: string;
1206
+ id?: string;
1207
+ style?: React$1.CSSProperties;
1208
+ positioning?: "fixed" | "absolute";
1209
+ side?: "left" | "right";
1210
+ portalled?: boolean;
1211
+ portalContainer?: HTMLElement | null;
1212
+ };
1213
+ declare const Drawer: React$1.MemoExoticComponent<React$1.ForwardRefExoticComponent<DrawerProps & React$1.RefAttributes<SidebarRef>>>;
1214
+
1099
1215
  type DropdownRootProps<T extends string> = MenuProps<T> & {
1100
1216
  open?: boolean;
1101
1217
  onCloseAutoFocus?: React__default.EventHandler<SyntheticEvent<unknown>>;
@@ -1133,6 +1249,7 @@ type Props$b = {
1133
1249
  textClassName?: string;
1134
1250
  readOnly?: boolean;
1135
1251
  onBlur?: () => void;
1252
+ tabIndex?: number;
1136
1253
  /**
1137
1254
  * If true, will render an unfocused input. This should only be used for visual regression tests.
1138
1255
  */
@@ -1176,7 +1293,7 @@ interface Props$a {
1176
1293
  }
1177
1294
  declare const FillInputField: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<Props$a & React__default.RefAttributes<HTMLButtonElement>>>;
1178
1295
 
1179
- declare const PatternPreviewBackground: React.NamedExoticComponent<{
1296
+ declare const PatternPreviewBackground: React$1.NamedExoticComponent<{
1180
1297
  fillType: Sketch.PatternFillType;
1181
1298
  tileScale: number;
1182
1299
  imageRef: string;
@@ -1184,7 +1301,7 @@ declare const PatternPreviewBackground: React.NamedExoticComponent<{
1184
1301
  interface Props$9 {
1185
1302
  value?: Sketch.Color | Sketch.Gradient | SketchPattern;
1186
1303
  }
1187
- declare const FillPreviewBackground: React.NamedExoticComponent<Props$9>;
1304
+ declare const FillPreviewBackground: React$1.NamedExoticComponent<Props$9>;
1188
1305
 
1189
1306
  interface FloatingWindowProps {
1190
1307
  title?: string;
@@ -1214,7 +1331,7 @@ interface Props$8 {
1214
1331
  onDelete: () => void;
1215
1332
  onSelectStop: (index: number) => void;
1216
1333
  }
1217
- declare const GradientPicker: React.NamedExoticComponent<Props$8>;
1334
+ declare const GradientPicker: React$1.NamedExoticComponent<Props$8>;
1218
1335
 
1219
1336
  interface ItemProps<MenuItemType extends string = string> {
1220
1337
  id: string;
@@ -1233,9 +1350,10 @@ interface ItemProps<MenuItemType extends string = string> {
1233
1350
  onMenuOpenChange?: (open: boolean) => void;
1234
1351
  style?: CSSProperties;
1235
1352
  action?: ReactNode;
1236
- testHoveredId?: string;
1237
1353
  onKeyDown?: (event: React__default.KeyboardEvent) => void;
1238
1354
  hovered?: boolean;
1355
+ testShowInsideDropIndicator?: boolean;
1356
+ role?: string;
1239
1357
  }
1240
1358
  type GridViewContextValue = {
1241
1359
  minColumnWidth: string;
@@ -1249,30 +1367,37 @@ interface GridViewRootProps extends Partial<GridViewContextValue> {
1249
1367
  onClick?: () => void;
1250
1368
  scrollable?: boolean;
1251
1369
  className?: string;
1370
+ onDragOver?: React__default.DragEventHandler<HTMLDivElement>;
1371
+ onDragEnter?: React__default.DragEventHandler<HTMLDivElement>;
1372
+ onDragLeave?: React__default.DragEventHandler<HTMLDivElement>;
1373
+ onDrop?: React__default.DragEventHandler<HTMLDivElement>;
1374
+ role?: string;
1375
+ renderEmptyState?: () => ReactNode;
1376
+ contentClassName?: string;
1252
1377
  }
1253
- declare function GridViewRoot({ minColumnWidth, gap, children, scrollable, onClick, textPosition, bordered, disabled, className, }: GridViewRootProps): React__default.JSX.Element;
1254
- declare function GridViewSection({ children, className, }: {
1378
+ declare function GridViewSection({ children, className, renderEmptyState, }: {
1255
1379
  children?: ReactNode;
1256
1380
  className?: string;
1257
- }): React__default.JSX.Element;
1381
+ renderEmptyState?: () => ReactNode;
1382
+ }): string | number | boolean | Iterable<React__default.ReactNode> | React__default.JSX.Element | null | undefined;
1258
1383
  declare function GridViewSectionHeader({ title }: {
1259
1384
  title: string;
1260
1385
  }): React__default.JSX.Element;
1261
1386
  declare namespace GridView {
1262
- const Root: React__default.MemoExoticComponent<typeof GridViewRoot>;
1387
+ const Root: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<GridViewRootProps & React__default.RefAttributes<HTMLDivElement>>>;
1263
1388
  const Item: <MenuItemType extends string>(props: ItemProps<MenuItemType> & React__default.RefAttributes<HTMLDivElement>) => React__default.ReactElement | null;
1264
1389
  const Section: React__default.MemoExoticComponent<typeof GridViewSection>;
1265
1390
  const SectionHeader: React__default.MemoExoticComponent<typeof GridViewSectionHeader>;
1266
1391
  }
1267
1392
 
1268
- declare const IconButton: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<ButtonRootProps, "size" | "children" | "variant" | "flex"> & {
1393
+ declare const IconButton: React$1.MemoExoticComponent<React$1.ForwardRefExoticComponent<Omit<ButtonRootProps, "size" | "flex" | "children" | "variant"> & {
1269
1394
  iconName: IconName;
1270
1395
  className?: string;
1271
- style?: React.CSSProperties;
1396
+ style?: React$1.CSSProperties;
1272
1397
  selected?: boolean;
1273
1398
  color?: string;
1274
1399
  size?: number;
1275
- } & React.RefAttributes<HTMLButtonElement>>>;
1400
+ } & React$1.RefAttributes<HTMLButtonElement>>>;
1276
1401
 
1277
1402
  declare const InspectorContainer: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<{
1278
1403
  header?: React__default.ReactNode;
@@ -1296,6 +1421,7 @@ type MenuItemComponent = React__default.ForwardRefExoticComponent<React__default
1296
1421
  children?: React__default.ReactNode;
1297
1422
  value: string;
1298
1423
  onSelect?: (event: any) => void;
1424
+ onClick?: (event: React__default.MouseEvent<any>) => void;
1299
1425
  }>>;
1300
1426
  type MenuCheckboxItemComponent = React__default.FC<{
1301
1427
  checked?: boolean | "indeterminate";
@@ -1326,14 +1452,19 @@ type MenuViewportProps<T extends string> = {
1326
1452
  };
1327
1453
  declare const MenuViewport: <T extends string>({ items, Components, onSelect, }: MenuViewportProps<T>) => React__default.JSX.Element;
1328
1454
 
1455
+ type LabelPosition = "inset" | "start" | "end" | "above";
1456
+ interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
1457
+ }
1458
+ declare const Label: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<LabelProps & React__default.RefAttributes<HTMLLabelElement>>>;
1459
+
1329
1460
  interface ContainerProps {
1330
- children: React.ReactNode;
1461
+ children: React$1.ReactNode;
1331
1462
  renderLabel: (provided: {
1332
1463
  id: string;
1333
1464
  index: number;
1334
- }) => React.ReactNode;
1465
+ }) => React$1.ReactNode;
1335
1466
  }
1336
- declare const LabeledElementView: React.NamedExoticComponent<ContainerProps>;
1467
+ declare const LabeledElementView: React$1.NamedExoticComponent<ContainerProps>;
1337
1468
 
1338
1469
  declare const labeledFieldStyles: (labelPosition?: LabelPosition) => string;
1339
1470
  declare const LabeledField: React__default.NamedExoticComponent<{
@@ -1348,9 +1479,24 @@ declare const LabeledField: React__default.NamedExoticComponent<{
1348
1479
  minWidth?: number;
1349
1480
  }>;
1350
1481
 
1351
- declare const List: <T, M extends string = string>(props: CollectionProps<T, M> & {
1352
- ref?: React__default.ForwardedRef<CollectionRef>;
1353
- } & React__default.RefAttributes<CollectionRef>) => React__default.ReactElement | null;
1482
+ declare const List: <T, M extends string = string>(props: CollectionProps<T, M> & React__default.RefAttributes<CollectionRef>) => React__default.ReactElement | null;
1483
+
1484
+ type ColorScheme$1 = "primary" | "icon" | "warning";
1485
+ type MediaThumbnailProps = {
1486
+ contentType?: string;
1487
+ url?: string;
1488
+ selected?: boolean;
1489
+ className?: string;
1490
+ /** Color scheme for the thumbnail. Affects icon color and background.
1491
+ * @default "icon"
1492
+ */
1493
+ colorScheme?: ColorScheme$1;
1494
+ /**
1495
+ * If provided, use this icon instead of the default one for the asset type
1496
+ */
1497
+ iconName?: IconName;
1498
+ };
1499
+ declare const MediaThumbnail: React__default.NamedExoticComponent<MediaThumbnailProps>;
1354
1500
 
1355
1501
  type MessageProps = {
1356
1502
  role: "user" | "assistant" | "system" | "data";
@@ -1361,6 +1507,8 @@ type MessageProps = {
1361
1507
  };
1362
1508
  declare const Message: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<MessageProps & React__default.RefAttributes<HTMLDivElement>>>;
1363
1509
 
1510
+ declare const Logo: React__default.ForwardRefExoticComponent<Omit<React__default.SVGProps<SVGSVGElement>, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
1511
+
1364
1512
  type PopoverVariant = "normal" | "large";
1365
1513
  interface Props$7 extends Pick<ComponentProps<(typeof PopoverPrimitive)["Content"]>, "onOpenAutoFocus" | "onCloseAutoFocus" | "onPointerDownOutside" | "onInteractOutside" | "onFocusOutside" | "side"> {
1366
1514
  children: React__default.ReactNode;
@@ -1381,12 +1529,12 @@ declare function Progress({ value, variant, className, }: {
1381
1529
  value: number;
1382
1530
  variant?: ProgressVariant;
1383
1531
  className?: string;
1384
- }): React.JSX.Element;
1532
+ }): React$1.JSX.Element;
1385
1533
 
1386
1534
  interface Props$6 {
1387
- children?: React.ReactNode | ((scrollElementRef: HTMLDivElement) => React.ReactNode);
1535
+ children?: React$1.ReactNode | ((scrollElementRef: HTMLDivElement) => React$1.ReactNode);
1388
1536
  }
1389
- declare const ScrollArea: React.NamedExoticComponent<Props$6>;
1537
+ declare const ScrollArea: React$1.NamedExoticComponent<Props$6>;
1390
1538
 
1391
1539
  type SegmentedControlColorScheme = "primary" | "secondary";
1392
1540
  interface SegmentedControlProps<T extends string> {
@@ -1449,8 +1597,8 @@ interface Props$3 {
1449
1597
  inline?: boolean;
1450
1598
  }
1451
1599
  declare namespace Spacer {
1452
- const Vertical: React.ForwardRefExoticComponent<Props$3 & React.RefAttributes<HTMLSpanElement>>;
1453
- const Horizontal: React.ForwardRefExoticComponent<Props$3 & React.RefAttributes<HTMLSpanElement>>;
1600
+ const Vertical: React$1.ForwardRefExoticComponent<Props$3 & React$1.RefAttributes<HTMLSpanElement>>;
1601
+ const Horizontal: React$1.ForwardRefExoticComponent<Props$3 & React$1.RefAttributes<HTMLSpanElement>>;
1454
1602
  }
1455
1603
 
1456
1604
  type SwitchColorScheme = "primary" | "secondary";
@@ -1461,12 +1609,12 @@ interface Props$2 {
1461
1609
  /** @default normal */
1462
1610
  colorScheme?: SwitchColorScheme;
1463
1611
  disabled?: boolean;
1464
- onFocus?: React.FocusEventHandler;
1465
- onBlur?: React.FocusEventHandler;
1612
+ onFocus?: React$1.FocusEventHandler;
1613
+ onBlur?: React$1.FocusEventHandler;
1466
1614
  className?: string;
1467
- style?: React.CSSProperties;
1615
+ style?: React$1.CSSProperties;
1468
1616
  }
1469
- declare const Switch: ({ id, value, onChange, colorScheme, disabled, onFocus, onBlur, style, className, }: Props$2) => React.JSX.Element;
1617
+ declare const Switch: ({ id, value, onChange, colorScheme, disabled, onFocus, onBlur, style, className, }: Props$2) => React$1.JSX.Element;
1470
1618
 
1471
1619
  declare const useAutoResize: (value: string | undefined) => React__default.MutableRefObject<HTMLTextAreaElement | null>;
1472
1620
  declare const TextArea: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<{
@@ -1498,10 +1646,10 @@ declare const ToastProvider: ({ children }: {
1498
1646
  }) => React__default.JSX.Element;
1499
1647
 
1500
1648
  interface Props$1 {
1501
- children: React.ReactNode;
1502
- content: React.ReactNode;
1649
+ children: React$1.ReactNode;
1650
+ content: React$1.ReactNode;
1503
1651
  }
1504
- declare const Tooltip: React.NamedExoticComponent<Props$1>;
1652
+ declare const Tooltip: React$1.NamedExoticComponent<Props$1>;
1505
1653
 
1506
1654
  type TreeRowBaseProps = {
1507
1655
  icon?: Exclude<ReactNode, string> | IconName;
@@ -1518,9 +1666,7 @@ declare namespace TreeView {
1518
1666
  children: ReactNode;
1519
1667
  } | {
1520
1668
  data: T[];
1521
- renderItem: (item: T, index: number, info: {
1522
- isDragging: boolean;
1523
- }) => ReactNode;
1669
+ renderItem: (item: T, index: number, info: ListViewItemInfo) => ReactNode;
1524
1670
  keyExtractor: (item: T, index: number) => string;
1525
1671
  sortable?: boolean;
1526
1672
  virtualized?: _noya_app_noya_geometry.Size;
@@ -1529,7 +1675,7 @@ declare namespace TreeView {
1529
1675
  className?: string;
1530
1676
  children: React__default.ReactNode;
1531
1677
  } & React__default.HTMLAttributes<HTMLSpanElement>) => React__default.JSX.Element>;
1532
- const EditableRowTitle: React__default.MemoExoticComponent<({ value, onSubmitEditing, autoFocus, placeholder, className, }: EditableRowProps) => React__default.JSX.Element>;
1678
+ const EditableRowTitle: React__default.MemoExoticComponent<({ value, onSubmitEditing, autoFocus, placeholder, className, onKeyDown, }: EditableRowProps) => React__default.JSX.Element>;
1533
1679
  const Row: <MenuItemType extends string>(props: ListView.RowProps<MenuItemType> & TreeRowBaseProps & React__default.RefAttributes<HTMLLIElement>) => React__default.ReactElement | null;
1534
1680
  type ClickInfo = ListView.ClickInfo;
1535
1681
  type RowProps<MenuItemType extends string> = TreeViewRowProps<MenuItemType>;
@@ -1552,16 +1698,8 @@ type UserPointerProps = {
1552
1698
  };
1553
1699
  declare const UserPointer: React__default.NamedExoticComponent<UserPointerProps>;
1554
1700
 
1555
- declare const EDITOR_PANEL_GROUP_ID = "editor-panel-group";
1556
- declare const LEFT_SIDEBAR_ID = "editor-left-sidebar";
1557
- declare const RIGHT_SIDEBAR_ID = "editor-right-sidebar";
1558
- declare const CONTENT_AREA_ID = "editor-content-area";
1559
- type PanelLayoutState = {
1560
- leftSidebarCollapsed: boolean;
1561
- rightSidebarCollapsed: boolean;
1562
- };
1563
- declare function usePreservePanelSize(panelGroupRef: React__default.RefObject<ImperativePanelGroupHandle | null>, setPanelLayoutState?: (state: PanelLayoutState) => void): void;
1564
-
1701
+ type SideType = "auto" | "panel" | "drawer";
1702
+ type DetectSizeType = "container" | "window";
1565
1703
  interface WorkspaceLayoutProps {
1566
1704
  id?: string;
1567
1705
  className?: string;
@@ -1574,9 +1712,12 @@ interface WorkspaceLayoutProps {
1574
1712
  right?: React__default.ReactNode;
1575
1713
  rightOptions?: SideOptions;
1576
1714
  toolbar?: React__default.ReactNode;
1715
+ sideType?: SideType;
1716
+ sideTypeBreakpoint?: number;
1717
+ detectSize?: DetectSizeType;
1577
1718
  onChangeLayoutState?: (layoutState: PanelLayoutState) => void;
1578
1719
  }
1579
- type IWorkspaceLayout = {
1720
+ type WorkspaceLayoutRef = {
1580
1721
  setLeftExpanded: (expanded: boolean) => void;
1581
1722
  setRightExpanded: (expanded: boolean) => void;
1582
1723
  toggleSides: () => void;
@@ -1595,54 +1736,49 @@ type SideOptions = {
1595
1736
  minSize?: number | string;
1596
1737
  maxSize?: number | string;
1597
1738
  };
1598
- declare const WorkspaceLayout: React__default.ForwardRefExoticComponent<WorkspaceLayoutProps & React__default.RefAttributes<IWorkspaceLayout>>;
1739
+ declare const WorkspaceLayout: React__default.ForwardRefExoticComponent<WorkspaceLayoutProps & React__default.RefAttributes<WorkspaceLayoutRef>>;
1599
1740
 
1600
1741
  type DesignSystemConfigurationContextValue = {
1601
1742
  platform: PlatformName;
1602
1743
  };
1603
- declare const DesignSystemConfigurationProvider: React.NamedExoticComponent<{
1604
- children: React.ReactNode;
1744
+ declare const DesignSystemConfigurationProvider: React$1.NamedExoticComponent<{
1745
+ children: React$1.ReactNode;
1605
1746
  platform?: PlatformName;
1606
1747
  }>;
1607
1748
  declare function useDesignSystemConfiguration(): DesignSystemConfigurationContextValue;
1608
1749
 
1750
+ type RenderableProps = {
1751
+ close: () => void;
1752
+ };
1609
1753
  type DialogContextValue = {
1610
- openDialog(options: {
1611
- title: string;
1612
- description?: ReactNode;
1613
- children: ReactNode;
1754
+ openDialog(options: BaseDialogContents & {
1755
+ children: ReactNode | ((props: RenderableProps) => ReactNode);
1614
1756
  }): Promise<void>;
1615
- openInputDialog(options: string | {
1616
- title: string;
1617
- description?: ReactNode;
1757
+ openInputDialog(options: string | (BaseDialogContents & {
1618
1758
  placeholder?: string;
1619
1759
  initialValue?: string;
1620
- }): Promise<string | undefined>;
1621
- openConfirmationDialog(options: string | {
1622
- title: string;
1623
- description?: ReactNode;
1624
- }): Promise<boolean>;
1760
+ })): Promise<string | undefined>;
1761
+ openConfirmationDialog(options: string | BaseDialogContents): Promise<boolean>;
1625
1762
  containsElement(element: HTMLElement): boolean;
1626
1763
  };
1764
+ type BaseDialogContents = {
1765
+ style?: React__default.CSSProperties;
1766
+ className?: string;
1767
+ title: string;
1768
+ description?: ReactNode;
1769
+ };
1627
1770
  declare const DialogProvider: ({ children, }: {
1628
1771
  children: ReactNode;
1629
1772
  }) => React__default.JSX.Element;
1630
1773
  declare function useDialogContext(): DialogContextValue;
1631
- declare function useOpenInputDialog(): (options: string | {
1632
- title: string;
1633
- description?: ReactNode;
1774
+ declare function useOpenInputDialog(): (options: string | (BaseDialogContents & {
1634
1775
  placeholder?: string;
1635
1776
  initialValue?: string;
1636
- }) => Promise<string | undefined>;
1777
+ })) => Promise<string | undefined>;
1637
1778
  declare function useDialogContainsElement(): (element: HTMLElement) => boolean;
1638
- declare function useOpenConfirmationDialog(): (options: string | {
1639
- title: string;
1640
- description?: ReactNode;
1641
- }) => Promise<boolean>;
1642
- declare function useOpenDialog(): (options: {
1643
- title: string;
1644
- description?: ReactNode;
1645
- children: ReactNode;
1779
+ declare function useOpenConfirmationDialog(): (options: string | BaseDialogContents) => Promise<boolean>;
1780
+ declare function useOpenDialog(): (options: BaseDialogContents & {
1781
+ children: ReactNode | ((props: RenderableProps) => ReactNode);
1646
1782
  }) => Promise<void>;
1647
1783
 
1648
1784
  type FloatingWindowContextValue = {
@@ -1663,7 +1799,7 @@ type GlobalInputBlurContextValue = {
1663
1799
  removeListener: (f: () => void) => void;
1664
1800
  trigger: () => void;
1665
1801
  };
1666
- declare const GlobalInputBlurProvider: React.Provider<GlobalInputBlurContextValue>;
1802
+ declare const GlobalInputBlurProvider: React$1.Provider<GlobalInputBlurContextValue>;
1667
1803
  /**
1668
1804
  * Some components store their editable state internally.
1669
1805
  * We trigger this event before selection changes so that they can commit their
@@ -1678,8 +1814,8 @@ declare function useGlobalInputBlurTrigger(): () => void;
1678
1814
  type ImageDataContextValue = {
1679
1815
  getImageData: (ref: string) => ArrayBuffer | undefined;
1680
1816
  };
1681
- declare const ImageDataProvider: React.NamedExoticComponent<{
1682
- children: React.ReactNode;
1817
+ declare const ImageDataProvider: React$1.NamedExoticComponent<{
1818
+ children: React$1.ReactNode;
1683
1819
  getImageData?: (ref: string) => ArrayBuffer | undefined;
1684
1820
  }>;
1685
1821
  declare function useImageData(ref: string): ArrayBuffer | undefined;
@@ -1706,7 +1842,7 @@ interface HoverProps extends HoverEvents {
1706
1842
  }
1707
1843
  interface HoverResult {
1708
1844
  /** Props to spread on the target element. */
1709
- hoverProps: React.HTMLAttributes<HTMLElement>;
1845
+ hoverProps: React$1.HTMLAttributes<HTMLElement>;
1710
1846
  isHovered: boolean;
1711
1847
  }
1712
1848
  /**
@@ -1749,6 +1885,12 @@ declare function usePlatform(): _noya_app_noya_keymap.PlatformName;
1749
1885
  */
1750
1886
  declare function usePlatformModKey(): 'ctrlKey' | 'metaKey';
1751
1887
 
1888
+ declare const EDITOR_PANEL_GROUP_ID = "editor-panel-group";
1889
+ declare const LEFT_SIDEBAR_ID = "editor-left-sidebar";
1890
+ declare const RIGHT_SIDEBAR_ID = "editor-right-sidebar";
1891
+ declare const CONTENT_AREA_ID = "editor-content-area";
1892
+ declare function usePreservePanelSize(panelGroupRef: React__default.RefObject<ImperativePanelGroupHandle | null>, setPanelLayoutState?: (state: PanelLayoutState) => void): void;
1893
+
1752
1894
  /** @default light */
1753
1895
  type UseThemeReturnType = "dark" | "light";
1754
1896
  /**
@@ -1770,7 +1912,13 @@ declare const mediaQuery: {
1770
1912
  xlarge: string;
1771
1913
  };
1772
1914
 
1773
- declare function cx(...args: Array<string | number | boolean | null | undefined>): string;
1915
+ type ClassNameItem = string | number | BigInt | boolean | null | undefined;
1916
+ type Category = "text" | "flex";
1917
+ type Options = {
1918
+ categories?: Category[];
1919
+ };
1920
+ declare function cx(...args: ClassNameItem[]): string;
1921
+ declare function mergeConflictingClassNames(classNames: ClassNameItem | ClassNameItem[], options?: Options): string;
1774
1922
 
1775
1923
  type Optional<T> = T | false | null | undefined;
1776
1924
  type MenuConfig<T extends string> = Optional<Optional<MenuItem<T>>[]>[];
@@ -1854,7 +2002,7 @@ interface Props {
1854
2002
  disabled?: boolean;
1855
2003
  trigger?: "change" | "submit";
1856
2004
  }
1857
- declare const DimensionInput: React.NamedExoticComponent<Props>;
2005
+ declare const DimensionInput: React$1.NamedExoticComponent<Props>;
1858
2006
 
1859
2007
  declare const Section: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & React__default.RefAttributes<HTMLDivElement>>;
1860
2008
  declare const SectionHeader: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & React__default.RefAttributes<HTMLDivElement>>;
@@ -1920,4 +2068,4 @@ declare function ToolbarMenu<T extends string>({ items, onSelectMenuItem, }: {
1920
2068
  onSelectMenuItem?: (value: T) => void;
1921
2069
  }): React__default.JSX.Element;
1922
2070
 
1923
- export { ActivityIndicator, AnimatePresence, type AnimatePresenceProps, Avatar, type AvatarProps, AvatarStack, type BaseComboboxProps, BaseToolbar, type BaseToolbarProps, Body, BreadcrumbText, Button, type ButtonRootProps, CHECKBOX_RIGHT_INSET, CHECKBOX_WIDTH, CONTENT_AREA_ID, Checkbox$1 as Checkbox, Chip, type ChipProps, Collection, type CollectionProps, type CollectionRef, type CollectionViewType, Combobox, ComboboxMenu, type ComboboxProps, type ComboboxRef, ComboboxState, type ComboboxStateSnapshot, CommandPalette, ContextMenu, type DesignSystemConfigurationContextValue, DesignSystemConfigurationProvider, Dialog, type DialogContextValue, DialogProvider, DimensionInput, type DimensionValue, Divider, DividerVertical, DraggableMenuButton, type DropValidator, DropdownMenu, type DropdownRootProps, EDITOR_PANEL_GROUP_ID, type EditableRowProps, EditableText, type EditableTextRef, type ExtractMenuItemType, Fade, type FadeDirection, type FadeProps, FillInputField, FillPreviewBackground, FloatingWindow, FloatingWindowProvider, FullscreenDialog, type GlobalInputBlurContextValue, GlobalInputBlurProvider, GradientPicker, Grid, GridView, type GridViewSize, Heading1, Heading2, Heading3, Heading4, Heading5, type HoverEvent, type HoverEvents, type HoverProps, type IDialog, type IScoredItem, type ISearchCompletionMenu, type IToken, type IVirtualizedList, type IWorkspaceLayout, IconButton, type IconName, type ImageDataContextValue, ImageDataProvider, IndentContext, InputField, type InputFieldInputProps, type InputFieldProps, type InputFieldSize, InsetLabel, type InsetLabelProps, InspectorContainer, InspectorPrimitives, Italic, KeyboardShortcut, LEFT_SIDEBAR_ID, Label, LabelContext, type LabelPosition, LabelPositionContext, type LabelPositionContextValue, type LabelProps, LabelWidthContext, type LabelWidthContextValue, LabeledElementView, LabeledField, List, type ListRowMarginType, type ListRowPosition, ListView, type ListViewRootProps, type MatchRange, type MenuComponents, type MenuConfig, type MenuItem, type MenuItemProps, type MenuItemRole, type MenuProps, MenuViewport, Message, type MessageProps, type NonSelectableMenuItem, type OptionModeOnlyProps, type OptionModeProps, type Optional, type PanelLayoutState, PatternPreviewBackground, Popover, Progress, RIGHT_SIDEBAR_ID, type RelativeDropPosition, SUPPORTED_CANVAS_UPLOAD_TYPES, SUPPORTED_IMAGE_UPLOAD_TYPES, type ScoredMenuItem, ScrollArea, SearchCompletionMenu, SectionHeader$1 as SectionHeader, type SectionHeaderMenuItem, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, SelectMenu, type SelectableMenuItem, type SeparatorItem, type SetNumberMode, type SideOptions, type SketchPattern, Slider, Small, Sortable, Spacer, type StringModeOnlyProps, type StringModeProps, type SupportedCanvasUploadType, type SupportedImageUploadType, Switch, Text$1 as Text, TextArea, TextAreaRow, type TextProps, type Theme, type ThemeColor, Toast, ToastProvider, Toolbar, ToolbarMenu, type ToolbarProps, Tooltip, TreeView, type UseThemeReturnType, UserPointer, type UserPointerProps, WorkspaceLayout, type WorkspaceLayoutProps, colorForStringValues, colorFromString, createSectionedMenu, cssVars, cx, fuzzyFilter, fuzzyScore, fuzzyTokenize, getFieldSpacing, getGradientBackground, getGridSize, getKeyboardShortcutsForMenuItems, getNewValue, getNextIndex, insetLabelStyles, insetLabelTextStyles, isMenuItemSectionHeader, isNonSelectableMenuItem, isSelectableMenuItem, isSelectableMenuItemWithScore, labeledFieldStyles, mediaQuery, normalizeListDestinationIndex, renderIcon, rgbaToSketchColor, size, sketchColorToHex, sketchColorToRgba, sketchColorToRgbaString, styles, textStyles, updateSelection, useAutoResize, useComboboxState, useCurrentFloatingWindowInternal, useDesignSystemConfiguration, useDialogContainsElement, useDialogContext, useFloatingWindowManager, useGlobalInputBlur, useGlobalInputBlurListener, useGlobalInputBlurTrigger, useHover, useImageData, useIndent, useInputFieldContext, useLabel, useLabelPosition, useLabelWidth, useOpenConfirmationDialog, useOpenDialog, useOpenInputDialog, usePlatform, usePlatformModKey, usePreservePanelSize, useTheme, withSeparatorElements };
2071
+ export { ActionMenu, ActivityIndicator, AnimatePresence, type AnimatePresenceProps, Avatar, type AvatarProps, AvatarStack, type BaseComboboxProps, BaseToolbar, type BaseToolbarProps, Body, BreadcrumbText, Button, type ButtonRootProps, CHECKBOX_INDENT_WIDTH, CHECKBOX_RIGHT_INSET, CHECKBOX_WIDTH, CONTENT_AREA_ID, Checkbox$1 as Checkbox, Chip, type ChipProps, Collection, type CollectionProps, type CollectionRef, type CollectionRenderActionProps, type CollectionThumbnailProps, type CollectionThumbnailSize, type CollectionViewType, Combobox, ComboboxMenu, type ComboboxProps, type ComboboxRef, ComboboxState, type ComboboxStateSnapshot, CommandPalette, ContextMenu, type DesignSystemConfigurationContextValue, DesignSystemConfigurationProvider, type DetectSizeType, Dialog, type DialogContextValue, DialogProvider, DimensionInput, type DimensionValue, Divider, DividerVertical, type DragIndicatorStyleProps, DraggableMenuButton, Drawer, type DrawerProps, type DropValidator, DropdownMenu, type DropdownRootProps, EDITOR_PANEL_GROUP_ID, type EditableRowProps, EditableText, type EditableTextRef, type ExtractMenuItemType, Fade, type FadeDirection, type FadeProps, FillInputField, FillPreviewBackground, FloatingWindow, FloatingWindowProvider, FullscreenDialog, type GlobalInputBlurContextValue, GlobalInputBlurProvider, GradientPicker, Grid, GridView, type GridViewSize, Heading1, Heading2, Heading3, Heading4, Heading5, type HoverEvent, type HoverEvents, type HoverProps, type IDialog, INPUT_HEIGHT, type IScoredItem, type ISearchCompletionMenu, type IToken, type IVirtualizedList, IconButton, type IconName, type ImageDataContextValue, ImageDataProvider, IndentContext, InputField, type InputFieldInputProps, type InputFieldProps, type InputFieldSize, InspectorContainer, InspectorPrimitives, Italic, KeyboardShortcut, LEFT_SIDEBAR_ID, Label, LabelContext, type LabelPosition, LabelPositionContext, type LabelPositionContextValue, type LabelProps, LabelWidthContext, type LabelWidthContextValue, LabeledElementView, LabeledField, type LayoutProps, List, type ListRowMarginType, type ListRowPosition, ListView, type ListViewItemInfo, type ListViewRootProps, Logo, type MatchRange, MediaThumbnail, type MenuComponents, type MenuConfig, type MenuItem, type MenuItemIcon, type MenuItemProps, type MenuItemRole, type MenuProps, MenuViewport, Message, type MessageProps, type NonSelectableMenuItem, type OptionModeOnlyProps, type OptionModeProps, type Optional, type PanelLayoutState, PatternPreviewBackground, type PercentageSidebarOptions, Popover, Progress, RIGHT_SIDEBAR_ID, type RelativeDropPosition, SUPPORTED_CANVAS_UPLOAD_TYPES, SUPPORTED_IMAGE_UPLOAD_TYPES, type ScoredMenuItem, ScrollArea, SearchCompletionMenu, SectionHeader$1 as SectionHeader, type SectionHeaderMenuItem, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, SelectMenu, type SelectableMenuItem, type SeparatorItem, type SetNumberMode, type SideOptions, type SideType, type SidebarRef, type SketchPattern, Slider, Small, Sortable, type SortableItemContextProps, Spacer, type StringModeOnlyProps, type StringModeProps, type SupportedCanvasUploadType, type SupportedImageUploadType, Switch, Text$1 as Text, TextArea, TextAreaRow, type TextProps, type Theme, type ThemeColor, Toast, ToastProvider, Toolbar, ToolbarMenu, type ToolbarProps, Tooltip, TreeView, type UseThemeReturnType, UserPointer, type UserPointerProps, WorkspaceLayout, type WorkspaceLayoutProps, type WorkspaceLayoutRef, colorForStringValues, colorFromString, createSectionedMenu, cssVars, cx, defaultAcceptsDrop, fuzzyFilter, fuzzyScore, fuzzyTokenize, getFieldSpacing, getGradientBackground, getGridSize, getKeyboardShortcutsForMenuItems, getMenuItemKey, getNewValue, getNextIndex, isMenuItemSectionHeader, isNonSelectableMenuItem, isSelectableMenuItem, isSelectableMenuItemWithScore, labeledFieldStyles, mediaQuery, mergeConflictingClassNames, normalizeListTargetIndex, renderIcon, rgbaToSketchColor, separator, size, sketchColorToHex, sketchColorToRgba, sketchColorToRgbaString, styles, textStyles, updateSelection, useAutoResize, useComboboxState, useCurrentFloatingWindowInternal, useDesignSystemConfiguration, useDialogContainsElement, useDialogContext, useFloatingWindowManager, useGlobalInputBlur, useGlobalInputBlurListener, useGlobalInputBlurTrigger, useHover, useImageData, useIndent, useInputFieldContext, useLabel, useLabelPosition, useLabelWidth, useOpenConfirmationDialog, useOpenDialog, useOpenInputDialog, usePlatform, usePlatformModKey, usePreservePanelSize, useTheme, validateDropIndicator, withSeparatorElements };