@noya-app/noya-designsystem 0.1.43 → 0.1.45

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 (44) hide show
  1. package/.turbo/turbo-build.log +12 -9
  2. package/CHANGELOG.md +15 -0
  3. package/dist/index.css +1 -1
  4. package/dist/index.d.mts +323 -80
  5. package/dist/index.d.ts +323 -80
  6. package/dist/index.js +2126 -1373
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.mjs +2012 -1272
  9. package/dist/index.mjs.map +1 -1
  10. package/package.json +3 -3
  11. package/src/components/AnimatePresence.tsx +10 -1
  12. package/src/components/Avatar.tsx +2 -0
  13. package/src/components/Checkbox.tsx +6 -1
  14. package/src/components/Combobox.tsx +28 -14
  15. package/src/components/ComboboxMenu.tsx +30 -15
  16. package/src/components/CommandPalette.tsx +69 -0
  17. package/src/components/ContextMenu.tsx +33 -134
  18. package/src/components/DropdownMenu.tsx +47 -155
  19. package/src/components/Fade.tsx +62 -0
  20. package/src/components/InputField.tsx +109 -133
  21. package/src/components/Label.tsx +81 -7
  22. package/src/components/LabeledField.tsx +112 -0
  23. package/src/components/ListView.tsx +55 -52
  24. package/src/components/Popover.tsx +12 -1
  25. package/src/components/SearchCompletionMenu.tsx +206 -0
  26. package/src/components/SegmentedControl.tsx +5 -2
  27. package/src/components/SelectMenu.tsx +108 -124
  28. package/src/components/SidebarList.tsx +252 -0
  29. package/src/components/Slider.tsx +18 -26
  30. package/src/components/Text.tsx +1 -0
  31. package/src/components/TextArea.tsx +4 -1
  32. package/src/components/Toolbar.tsx +6 -2
  33. package/src/components/TreeView.tsx +3 -0
  34. package/src/components/WorkspaceLayout.tsx +38 -18
  35. package/src/components/internal/Menu.tsx +58 -10
  36. package/src/components/internal/MenuViewport.tsx +151 -0
  37. package/src/components/internal/SelectItem.tsx +111 -0
  38. package/src/hooks/useIndent.ts +12 -0
  39. package/src/hooks/useLabel.ts +51 -0
  40. package/src/hooks/usePreservePanelSize.tsx +50 -19
  41. package/src/index.tsx +12 -5
  42. package/src/utils/combobox.ts +4 -1
  43. package/src/utils/createSectionedMenu.ts +11 -8
  44. package/src/utils/selection.ts +36 -0
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import React__default, { CSSProperties, ReactNode, AriaRole, KeyboardEventHandler, MouseEventHandler, PointerEventHandler, FocusEventHandler, InputHTMLAttributes, HTMLAttributes, ComponentProps, SyntheticEvent, ReactHTML } from 'react';
2
+ import React__default, { CSSProperties, ReactNode, AriaRole, KeyboardEventHandler, MouseEventHandler, PointerEventHandler, FocusEventHandler, InputHTMLAttributes, LabelHTMLAttributes, ForwardedRef, HTMLAttributes, ComponentProps, SyntheticEvent, ReactHTML } from 'react';
3
3
  import { IItemScore } from 'vscode-fuzzy-scorer';
4
4
  import { Property } from 'csstype';
5
5
  import * as Icons from '@noya-app/noya-icons';
@@ -7,24 +7,27 @@ export { Icons };
7
7
  import * as _noya_app_noya_geometry from '@noya-app/noya-geometry';
8
8
  import { Size } from '@noya-app/noya-geometry';
9
9
  import { useSortable } from '@dnd-kit/sortable';
10
+ import * as _noya_app_noya_designsystem from '@noya-app/noya-designsystem';
11
+ import { ComboboxOption as ComboboxOption$1 } from '@noya-app/noya-designsystem';
10
12
  import * as DialogPrimitive from '@radix-ui/react-dialog';
11
13
  import * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu';
12
14
  import { Sketch } from '@noya-app/noya-file-format';
13
15
  import * as _noya_app_noya_keymap from '@noya-app/noya-keymap';
14
16
  import { KeyModifiers, PlatformName } from '@noya-app/noya-keymap';
17
+ import * as RadixContextMenu from '@radix-ui/react-context-menu';
15
18
  import { MultiplayerUser } from '@noya-app/noya-multiplayer-react';
16
19
  import * as PopoverPrimitive from '@radix-ui/react-popover';
17
20
  import { SelectProps } from '@radix-ui/react-select';
18
21
  import { ImperativePanelGroupHandle } from 'react-resizable-panels';
19
22
  import { RgbaColor } from '@noya-app/noya-colorpicker';
20
23
 
21
- interface Props$e {
24
+ interface Props$d {
22
25
  size?: number;
23
26
  opacity?: number;
24
27
  color?: string;
25
28
  trackColor?: string;
26
29
  }
27
- declare const ActivityIndicator: React.NamedExoticComponent<Props$e>;
30
+ declare const ActivityIndicator: React.NamedExoticComponent<Props$d>;
28
31
 
29
32
  type AnimatePresenceProps = {
30
33
  children: React__default.ReactNode;
@@ -49,8 +52,9 @@ type AnimatePresenceProps = {
49
52
  * "crossfade" - crossfade between the previous and next animation
50
53
  */
51
54
  mode?: "wait" | "crossfade";
55
+ className?: string;
52
56
  };
53
- declare const AnimatePresence: ({ children, duration, animationStyles, skipInitialAnimation, mode, }: AnimatePresenceProps) => React__default.JSX.Element;
57
+ declare const AnimatePresence: ({ children, duration, animationStyles, skipInitialAnimation, mode, className, }: AnimatePresenceProps) => React__default.JSX.Element;
54
58
 
55
59
  type AvatarProps = {
56
60
  image?: string;
@@ -164,7 +168,10 @@ type ComboboxOption = {
164
168
  id: string;
165
169
  name: string;
166
170
  icon?: ReactNode;
171
+ shortcut?: string;
172
+ disabled?: boolean;
167
173
  alwaysInclude?: boolean;
174
+ checked?: boolean;
168
175
  };
169
176
  type ComboboxSectionHeader = {
170
177
  type: "sectionHeader";
@@ -207,13 +214,16 @@ declare class ComboboxState {
207
214
  setSelectedIndex(index: number): void;
208
215
  submitArbitraryFilter(filter: string): void;
209
216
  }
217
+ declare function getNextIndex<T>(items: T[], currentIndex: number, direction: "next" | "previous", isDisabled: (item: T) => boolean): number;
210
218
  declare function useComboboxState(state: ComboboxState): ComboboxStateSnapshot;
211
219
 
212
220
  type IconName = keyof typeof Icons;
213
221
 
214
222
  declare function renderIcon(iconName: Exclude<React.ReactNode, string> | IconName): React.ReactNode;
215
223
 
216
- declare const SEPARATOR_ITEM = "separator";
224
+ type SeparatorItem = {
225
+ type: "separator";
226
+ };
217
227
  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";
218
228
  type RegularMenuItem<T extends string> = {
219
229
  value?: T;
@@ -224,15 +234,38 @@ type RegularMenuItem<T extends string> = {
224
234
  icon?: Exclude<ReactNode, string> | IconName;
225
235
  items?: MenuItem<T>[];
226
236
  role?: MenuItemRole;
237
+ type?: undefined;
238
+ alwaysInclude?: boolean;
227
239
  };
228
- type MenuItem<T extends string> = typeof SEPARATOR_ITEM | RegularMenuItem<T>;
240
+ type SectionHeaderMenuItem = {
241
+ type: "sectionHeader";
242
+ id: string;
243
+ title: string;
244
+ maxVisibleItems?: number;
245
+ variant?: "normal" | "label";
246
+ };
247
+ type MenuItem<T extends string> = SeparatorItem | RegularMenuItem<T> | SectionHeaderMenuItem;
229
248
  type ExtractMenuItemType<T> = T extends RegularMenuItem<infer U> ? U : never;
249
+ declare const CHECKBOX_WIDTH = 16;
250
+ declare const CHECKBOX_RIGHT_INSET = 8;
251
+ declare const styles: {
252
+ separatorStyle: string;
253
+ itemStyle: ({ disabled }: {
254
+ disabled?: boolean;
255
+ }) => string;
256
+ itemIndicatorStyle: string;
257
+ contentStyle: string;
258
+ };
230
259
  declare function getKeyboardShortcutsForMenuItems<T extends string>(menuItems: MenuItem<T>[], onSelect: (type: T) => void): Record<string, () => void>;
231
260
  declare const KeyboardShortcut: React__default.NamedExoticComponent<{
232
261
  shortcut: string;
233
262
  }>;
263
+ declare const SectionHeader$1: React__default.NamedExoticComponent<Omit<SectionHeaderMenuItem, "type" | "maxVisibleItems"> & {
264
+ isFirst?: boolean;
265
+ indented?: boolean;
266
+ }>;
234
267
 
235
- type Props$d = {
268
+ type Props$c = {
236
269
  id?: string;
237
270
  style?: any;
238
271
  className?: string;
@@ -250,29 +283,74 @@ type Props$d = {
250
283
  onFocusChange?: (isFocused: boolean) => void;
251
284
  onBlur?: FocusEventHandler;
252
285
  } & Pick<InputHTMLAttributes<HTMLInputElement>, "autoComplete" | "autoCapitalize" | "autoCorrect" | "spellCheck" | "autoFocus">;
253
- type ReadOnlyProps = Props$d & {
286
+ type ReadOnlyProps = Props$c & {
254
287
  readOnly: true;
255
288
  };
256
- type ControlledProps = Props$d & {
289
+ type ControlledProps = Props$c & {
257
290
  onChange: (value: string) => void;
258
291
  onFocus?: FocusEventHandler;
259
292
  onBlur?: FocusEventHandler;
260
293
  };
261
- type SubmittableProps = Props$d & {
294
+ type SubmittableProps = Props$c & {
262
295
  onSubmit: (value: string) => void;
263
296
  allowSubmittingWithSameValue?: boolean;
264
297
  submitAutomaticallyAfterDelay?: number;
265
298
  };
266
299
  type TextInputProps = ReadOnlyProps | ControlledProps | SubmittableProps;
267
300
 
268
- type LabelPosition = "start" | "end";
301
+ type LabelPosition = "inset" | "start" | "end" | "above";
302
+ interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
303
+ /** @default start */
304
+ position?: Exclude<LabelPosition, "inset">;
305
+ }
306
+ type InsetLabelProps = {
307
+ /** @default medium */
308
+ size?: InputFieldSize;
309
+ /** 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 */
310
+ buttonSize?: number;
311
+ } & LabelHTMLAttributes<HTMLLabelElement>;
312
+ declare const insetLabelTextStyles = "font-sans text-label uppercase text-text-disabled leading-[19px] font-bold text-[60%] truncate pointer-events-none text-right";
313
+ declare const insetLabelStyles = "flex items-center absolute top-0 bottom-0 z-label";
314
+ declare const InsetLabel: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<{
315
+ /** @default medium */
316
+ size?: InputFieldSize;
317
+ /** 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 */
318
+ buttonSize?: number;
319
+ } & React__default.LabelHTMLAttributes<HTMLLabelElement> & React__default.RefAttributes<HTMLLabelElement>>>;
320
+ declare const Label: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<LabelProps & React__default.RefAttributes<HTMLLabelElement>>>;
321
+
269
322
  type InputFieldSize = "small" | "medium" | "large";
323
+ type InputFieldContextValue = {
324
+ labelSize?: number;
325
+ buttonSize?: number;
326
+ /** @default medium */
327
+ size: InputFieldSize;
328
+ isFocused: boolean;
329
+ onFocusChange: (isFocused: boolean) => void;
330
+ inputRef?: ForwardedRef<HTMLInputElement>;
331
+ setInputRef?: (ref: ForwardedRef<HTMLInputElement>) => void;
332
+ setLabelWidth?: (width: number) => void;
333
+ setButtonWidth?: (width: number) => void;
334
+ id?: string;
335
+ label?: ReactNode;
336
+ labelPosition?: LabelPosition;
337
+ };
338
+ declare const useInputFieldContext: () => InputFieldContextValue;
339
+ declare const getFieldSpacing: ({ buttonSize, labelSize, variant, }: {
340
+ buttonSize?: number;
341
+ labelSize?: number;
342
+ variant?: InputFieldVariant;
343
+ }) => {
344
+ paddingLeft: string;
345
+ paddingRight: string;
346
+ };
270
347
  interface InputFieldDropdownProps<T extends string> {
271
348
  id?: string;
272
349
  items: MenuItem<T>[];
273
350
  onSelect: (value: T) => void;
274
351
  children?: ReactNode;
275
352
  }
353
+ type InputFieldVariant = "normal" | "bare";
276
354
  type InputFieldInputProps = TextInputProps & {
277
355
  textAlign?: Property.TextAlign;
278
356
  variant?: "bare";
@@ -284,6 +362,7 @@ type InputFieldNumberInputProps = Omit<TextInputProps, "value" | "onChange" | "o
284
362
  onFocus?: FocusEventHandler;
285
363
  onBlur?: FocusEventHandler;
286
364
  readOnly?: boolean;
365
+ className?: string;
287
366
  } & ({
288
367
  onChange: (value: number) => void;
289
368
  } | {
@@ -294,8 +373,6 @@ interface InputFieldRootProps {
294
373
  id?: string;
295
374
  children?: ReactNode;
296
375
  width?: number;
297
- /** @default end */
298
- labelPosition?: LabelPosition;
299
376
  labelSize?: number;
300
377
  /** @default medium */
301
378
  size?: InputFieldSize;
@@ -311,27 +388,28 @@ interface InputFieldRootProps {
311
388
  style?: React__default.CSSProperties;
312
389
  className?: string;
313
390
  }
314
- declare function InputFieldRoot({ id, children, width, labelPosition, sideOffset, labelSize, size, renderPopoverContent, onFocusChange, style, className, }: InputFieldRootProps): React__default.JSX.Element;
315
- declare namespace InputField {
316
- const Root: React__default.MemoExoticComponent<typeof InputFieldRoot>;
317
- const Input: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<InputFieldInputProps & React__default.RefAttributes<HTMLInputElement>>>;
318
- const Typeahead: React__default.MemoExoticComponent<(props: {
391
+ declare function InputFieldRoot({ id: idProp, children, width, sideOffset, labelSize, size, renderPopoverContent, onFocusChange, style, className, }: InputFieldRootProps): React__default.JSX.Element;
392
+ type InputFieldProps = InputFieldRootProps & InputFieldInputProps;
393
+ declare const InputField: React__default.ForwardRefExoticComponent<InputFieldProps & React__default.RefAttributes<HTMLInputElement>> & {
394
+ readonly Root: React__default.MemoExoticComponent<typeof InputFieldRoot>;
395
+ readonly Input: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<InputFieldInputProps & React__default.RefAttributes<HTMLInputElement>>>;
396
+ readonly Typeahead: React__default.MemoExoticComponent<(props: {
319
397
  prefix: string;
320
398
  value: string;
321
399
  isFocused: boolean;
322
400
  }) => React__default.JSX.Element>;
323
- const NumberInput: React__default.MemoExoticComponent<typeof InputFieldNumberInput>;
324
- const DropdownMenu: <T extends string>(props: InputFieldDropdownProps<T>) => React__default.ReactElement | null;
325
- const Button: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<React__default.ButtonHTMLAttributes<HTMLButtonElement> & {
401
+ readonly NumberInput: React__default.MemoExoticComponent<typeof InputFieldNumberInput>;
402
+ readonly DropdownMenu: <T extends string>(props: InputFieldDropdownProps<T>) => React__default.ReactElement | null;
403
+ readonly Button: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<React__default.ButtonHTMLAttributes<HTMLButtonElement> & ButtonRootProps & {
326
404
  buttonClassName?: string;
327
405
  variant?: "floating" | "normal";
328
406
  } & React__default.RefAttributes<HTMLButtonElement>>>;
329
- const Label: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<React__default.LabelHTMLAttributes<HTMLLabelElement> & React__default.RefAttributes<HTMLLabelElement>>>;
330
- const PrimitiveElement: ({ readOnly, disabled, className, style, ...props }: {
407
+ readonly Label: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<React__default.LabelHTMLAttributes<HTMLLabelElement> & React__default.RefAttributes<HTMLLabelElement>>>;
408
+ readonly PrimitiveElement: ({ readOnly, disabled, className, style, ...props }: {
331
409
  readOnly?: boolean;
332
410
  disabled?: boolean;
333
411
  } & React__default.DetailedHTMLProps<React__default.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>) => React__default.JSX.Element;
334
- }
412
+ };
335
413
 
336
414
  type BaseComboboxProps = {
337
415
  id?: string;
@@ -352,7 +430,7 @@ type BaseComboboxProps = {
352
430
  };
353
431
  type StringModeOnlyProps = {
354
432
  mode: "string";
355
- initialValue?: string;
433
+ value?: string;
356
434
  onChange?: (value: string) => void;
357
435
  onSelectItem?: (value: string) => void;
358
436
  onBlur?: (didSubmit: boolean, value: string) => void;
@@ -362,7 +440,7 @@ type StringModeOnlyProps = {
362
440
  type StringModeProps = BaseComboboxProps & StringModeOnlyProps;
363
441
  type OptionModeOnlyProps = {
364
442
  mode?: "option";
365
- initialValue?: ComboboxOption;
443
+ value?: ComboboxOption;
366
444
  onChange?: (value: ComboboxOption) => void;
367
445
  onSelectItem?: (value: ComboboxOption) => void;
368
446
  onBlur?: (didSubmit: boolean, value: ComboboxOption) => void;
@@ -426,8 +504,9 @@ interface EditableRowProps {
426
504
  onSubmitEditing: (value: string) => void;
427
505
  autoFocus: boolean;
428
506
  placeholder?: string;
507
+ className?: string;
429
508
  }
430
- declare function ListViewEditableRowTitle({ value, onSubmitEditing, autoFocus, placeholder, }: EditableRowProps): React__default.JSX.Element;
509
+ declare function ListViewEditableRowTitle({ value, onSubmitEditing, autoFocus, placeholder, className, }: EditableRowProps): React__default.JSX.Element;
431
510
  interface ListViewClickInfo {
432
511
  shiftKey: boolean;
433
512
  altKey: boolean;
@@ -437,6 +516,7 @@ interface ListViewClickInfo {
437
516
  interface ListViewRowProps<MenuItemType extends string = string> {
438
517
  id?: string;
439
518
  tabIndex?: number;
519
+ role?: string;
440
520
  selected?: boolean;
441
521
  /** @default 0 */
442
522
  depth?: number;
@@ -484,12 +564,16 @@ type RenderProps<T> = {
484
564
  sortable?: boolean;
485
565
  virtualized?: Size;
486
566
  };
487
- type ListViewVariant = "normal" | "padded" | "bare";
567
+ type ListViewVariant = "normal" | "bare";
488
568
  type ListViewSectionHeaderVariant = "normal" | "label";
489
569
  type ListViewRootProps = {
490
570
  id?: string;
491
571
  className?: string;
492
572
  style?: CSSProperties;
573
+ role?: string;
574
+ "aria-labelledby"?: string;
575
+ "aria-orientation"?: "vertical" | "horizontal";
576
+ "aria-multiselectable"?: boolean;
493
577
  onPress?: () => void;
494
578
  scrollable?: boolean;
495
579
  expandable?: boolean;
@@ -502,6 +586,11 @@ type ListViewRootProps = {
502
586
  divider?: boolean;
503
587
  gap?: number;
504
588
  colorScheme?: ListColorScheme;
589
+ containerRef?: React__default.RefObject<HTMLDivElement>;
590
+ onDragOver?: React__default.DragEventHandler<HTMLDivElement>;
591
+ onDragEnter?: React__default.DragEventHandler<HTMLDivElement>;
592
+ onDragLeave?: React__default.DragEventHandler<HTMLDivElement>;
593
+ onDrop?: React__default.DragEventHandler<HTMLDivElement>;
505
594
  };
506
595
  declare namespace ListView {
507
596
  const RowTitle: React__default.MemoExoticComponent<({ className, children, ...props }: {
@@ -538,6 +627,28 @@ interface ComboboxMenuProps {
538
627
  }
539
628
  declare const ComboboxMenu: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<ComboboxMenuProps & React__default.RefAttributes<IVirtualizedList>>>;
540
629
 
630
+ interface ISearchCompletionMenu {
631
+ focus: () => void;
632
+ }
633
+ declare const SearchCompletionMenu: React__default.ForwardRefExoticComponent<{
634
+ onSelect: (item: ComboboxOption$1) => void;
635
+ onHover?: (item: ComboboxOption$1) => void;
636
+ onClose: () => void;
637
+ items: ComboboxOption$1[];
638
+ width?: number;
639
+ } & React__default.RefAttributes<ISearchCompletionMenu>>;
640
+
641
+ declare const CommandPalette: React__default.NamedExoticComponent<{
642
+ showCommandPalette: boolean;
643
+ setShowCommandPalette: (value: boolean) => void;
644
+ } & Pick<{
645
+ onSelect: (item: _noya_app_noya_designsystem.ComboboxOption) => void;
646
+ onHover?: (item: _noya_app_noya_designsystem.ComboboxOption) => void;
647
+ onClose: () => void;
648
+ items: _noya_app_noya_designsystem.ComboboxOption[];
649
+ width?: number;
650
+ } & React__default.RefAttributes<ISearchCompletionMenu>, "onSelect" | "items" | "onHover">>;
651
+
541
652
  interface MenuItemProps<T extends string> {
542
653
  value?: T;
543
654
  children: ReactNode;
@@ -553,7 +664,6 @@ interface MenuProps<T extends string> {
553
664
  children: ReactNode;
554
665
  items: MenuItem<T>[];
555
666
  onSelect: (value: T) => void;
556
- isNested?: boolean;
557
667
  shouldBindKeyboardShortcuts?: boolean;
558
668
  onOpenChange?: (open: boolean) => void;
559
669
  }
@@ -563,7 +673,7 @@ declare const StyledContent: React__default.ForwardRefExoticComponent<Omit<Dialo
563
673
  interface IDialog {
564
674
  containsElement: (element: HTMLElement) => boolean;
565
675
  }
566
- interface Props$c {
676
+ interface Props$b {
567
677
  title?: ReactNode;
568
678
  description?: ReactNode;
569
679
  children?: ReactNode;
@@ -575,8 +685,8 @@ interface Props$c {
575
685
  showCloseButton?: boolean;
576
686
  className?: string;
577
687
  }
578
- declare const Dialog: React__default.ForwardRefExoticComponent<Props$c & React__default.RefAttributes<IDialog>>;
579
- declare const FullscreenDialog: React__default.ForwardRefExoticComponent<Props$c & React__default.RefAttributes<IDialog>>;
688
+ declare const Dialog: React__default.ForwardRefExoticComponent<Props$b & React__default.RefAttributes<IDialog>>;
689
+ declare const FullscreenDialog: React__default.ForwardRefExoticComponent<Props$b & React__default.RefAttributes<IDialog>>;
580
690
 
581
691
  type DividerVariant = "normal" | "subtle" | "strong";
582
692
  interface DividerProps {
@@ -597,12 +707,35 @@ declare const DraggableMenuButton: <T extends string>(props: {
597
707
  isVisible?: boolean;
598
708
  }) => React__default.ReactElement | null;
599
709
 
710
+ type DropdownRootProps<T extends string> = MenuProps<T> & {
711
+ open?: boolean;
712
+ onCloseAutoFocus?: React__default.EventHandler<SyntheticEvent<unknown>>;
713
+ emptyState?: React__default.ReactNode;
714
+ contentStyle?: React__default.CSSProperties;
715
+ } & Pick<ComponentProps<typeof RadixDropdownMenu.Content>, "side" | "sideOffset" | "align" | "alignOffset" | "collisionPadding">;
600
716
  declare const DropdownMenu: <T extends string>(props: MenuProps<T> & {
601
717
  open?: boolean;
602
718
  onCloseAutoFocus?: React__default.EventHandler<SyntheticEvent<unknown>>;
603
719
  emptyState?: React__default.ReactNode;
720
+ contentStyle?: React__default.CSSProperties;
604
721
  } & Pick<RadixDropdownMenu.DropdownMenuContentProps & React__default.RefAttributes<HTMLDivElement>, "align" | "side" | "sideOffset" | "alignOffset" | "collisionPadding"> & React__default.RefAttributes<HTMLElement>) => React__default.ReactElement | null;
605
722
 
723
+ type FadeDirection = "left" | "right" | "top" | "bottom";
724
+ type FadeProps = {
725
+ children: ReactNode;
726
+ direction?: FadeDirection;
727
+ width?: number;
728
+ height?: number;
729
+ className?: string;
730
+ zIndex?: number;
731
+ /**
732
+ * @default "front"
733
+ * If "back", the fade will be positioned behind the children
734
+ */
735
+ position?: "front" | "back";
736
+ };
737
+ declare const Fade: ({ children, direction, width, height, className, zIndex, position, }: FadeProps) => React__default.JSX.Element;
738
+
606
739
  declare const SUPPORTED_IMAGE_UPLOAD_TYPES: ("image/png" | "image/jpeg" | "image/webp" | "image/svg+xml" | "application/pdf")[];
607
740
  declare const SUPPORTED_CANVAS_UPLOAD_TYPES: ("" | "image/png" | "image/jpeg" | "image/webp" | "image/svg+xml" | "application/pdf")[];
608
741
  type SupportedImageUploadType = (typeof SUPPORTED_IMAGE_UPLOAD_TYPES)[number];
@@ -614,21 +747,21 @@ type SketchPattern = {
614
747
  patternTileScale: number;
615
748
  };
616
749
 
617
- interface Props$b {
750
+ interface Props$a {
618
751
  id?: string;
619
752
  value?: Sketch.Color | Sketch.Gradient | SketchPattern;
620
753
  }
621
- declare const FillInputField: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<Props$b & React__default.RefAttributes<HTMLButtonElement>>>;
754
+ declare const FillInputField: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<Props$a & React__default.RefAttributes<HTMLButtonElement>>>;
622
755
 
623
756
  declare const PatternPreviewBackground: React.NamedExoticComponent<{
624
757
  fillType: Sketch.PatternFillType;
625
758
  tileScale: number;
626
759
  imageRef: string;
627
760
  }>;
628
- interface Props$a {
761
+ interface Props$9 {
629
762
  value?: Sketch.Color | Sketch.Gradient | SketchPattern;
630
763
  }
631
- declare const FillPreviewBackground: React.NamedExoticComponent<Props$a>;
764
+ declare const FillPreviewBackground: React.NamedExoticComponent<Props$9>;
632
765
 
633
766
  interface FloatingWindowProps {
634
767
  title?: string;
@@ -649,7 +782,7 @@ interface FloatingWindowProps {
649
782
  }
650
783
  declare const FloatingWindow: React__default.FC<FloatingWindowProps>;
651
784
 
652
- interface Props$9 {
785
+ interface Props$8 {
653
786
  value: Sketch.GradientStop[];
654
787
  selectedStop: number;
655
788
  onChangeColor: (color: Sketch.Color) => void;
@@ -658,7 +791,7 @@ interface Props$9 {
658
791
  onDelete: () => void;
659
792
  onSelectStop: (index: number) => void;
660
793
  }
661
- declare const GradientPicker: React.NamedExoticComponent<Props$9>;
794
+ declare const GradientPicker: React.NamedExoticComponent<Props$8>;
662
795
 
663
796
  type GridViewSize = "xxs" | "xs" | "small" | "medium" | "large" | "xl";
664
797
  interface ItemProps<MenuItemType extends string = string> {
@@ -722,9 +855,47 @@ declare const InspectorContainer: React__default.MemoExoticComponent<React__defa
722
855
  style?: React__default.CSSProperties;
723
856
  } & React__default.RefAttributes<HTMLDivElement>>>;
724
857
 
725
- interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
726
- }
727
- declare const Label: React.MemoExoticComponent<React.ForwardRefExoticComponent<LabelProps & React.RefAttributes<HTMLLabelElement>>>;
858
+ type MenuSeparatorComponent = React__default.FC<{
859
+ className?: string;
860
+ }>;
861
+ type MenuItemTextComponent = React__default.FC<{
862
+ children?: React__default.ReactNode;
863
+ }>;
864
+ type MenuItemComponent = React__default.ForwardRefExoticComponent<React__default.RefAttributes<HTMLDivElement> & React__default.PropsWithoutRef<{
865
+ className?: string;
866
+ disabled?: boolean;
867
+ children?: React__default.ReactNode;
868
+ value: string;
869
+ onSelect?: (event: any) => void;
870
+ }>>;
871
+ type MenuCheckboxItemComponent = React__default.FC<{
872
+ checked?: boolean | "indeterminate";
873
+ disabled?: boolean;
874
+ onSelect?: (event: any) => void;
875
+ className?: string;
876
+ children?: React__default.ReactNode;
877
+ }>;
878
+ type MenuItemIndicatorComponent = React__default.FC<{
879
+ className?: string;
880
+ children?: React__default.ReactNode;
881
+ }>;
882
+ type MenuComponents = {
883
+ Separator: MenuSeparatorComponent;
884
+ ItemText: MenuItemTextComponent;
885
+ Item: MenuItemComponent;
886
+ CheckboxItem?: MenuCheckboxItemComponent;
887
+ ItemIndicator?: MenuItemIndicatorComponent;
888
+ Sub?: typeof RadixDropdownMenu.Sub | typeof RadixContextMenu.Sub;
889
+ SubTrigger?: typeof RadixDropdownMenu.SubTrigger | typeof RadixContextMenu.SubTrigger;
890
+ SubContent?: typeof RadixDropdownMenu.SubContent | typeof RadixContextMenu.SubContent;
891
+ Portal?: typeof RadixDropdownMenu.Portal | typeof RadixContextMenu.Portal;
892
+ };
893
+ type MenuViewportProps<T extends string> = {
894
+ items: MenuItem<T>[];
895
+ Components: MenuComponents;
896
+ onSelect?: (value: any) => void;
897
+ };
898
+ declare const MenuViewport: <T extends string>({ items, Components, onSelect, }: MenuViewportProps<T>) => React__default.JSX.Element;
728
899
 
729
900
  interface ContainerProps {
730
901
  children: React.ReactNode;
@@ -735,6 +906,19 @@ interface ContainerProps {
735
906
  }
736
907
  declare const LabeledElementView: React.NamedExoticComponent<ContainerProps>;
737
908
 
909
+ declare const labeledFieldStyles: (labelPosition?: LabelPosition) => string;
910
+ declare const LabeledField: React__default.NamedExoticComponent<{
911
+ children: React__default.ReactNode;
912
+ label: React__default.ReactNode;
913
+ labelPosition?: LabelPosition;
914
+ /** Used for both the `id` of the field and the `htmlFor` of the label, unless `id` and `htmlFor` are explicitly provided */
915
+ fieldId?: string;
916
+ className?: string;
917
+ style?: React__default.CSSProperties;
918
+ /** @default 100 */
919
+ minWidth?: number;
920
+ }>;
921
+
738
922
  type MessageProps = {
739
923
  role: "user" | "assistant" | "system" | "data";
740
924
  children?: React__default.ReactNode;
@@ -745,7 +929,7 @@ type MessageProps = {
745
929
  declare const Message: React__default.MemoExoticComponent<React__default.ForwardRefExoticComponent<MessageProps & React__default.RefAttributes<HTMLDivElement>>>;
746
930
 
747
931
  type PopoverVariant = "normal" | "large";
748
- interface Props$8 extends Pick<ComponentProps<(typeof PopoverPrimitive)["Content"]>, "onOpenAutoFocus" | "onCloseAutoFocus" | "onPointerDownOutside" | "onInteractOutside" | "onFocusOutside" | "side"> {
932
+ interface Props$7 extends Pick<ComponentProps<(typeof PopoverPrimitive)["Content"]>, "onOpenAutoFocus" | "onCloseAutoFocus" | "onPointerDownOutside" | "onInteractOutside" | "onFocusOutside" | "side"> {
749
933
  children: React__default.ReactNode;
750
934
  trigger: React__default.ReactNode;
751
935
  variant?: PopoverVariant;
@@ -755,8 +939,9 @@ interface Props$8 extends Pick<ComponentProps<(typeof PopoverPrimitive)["Content
755
939
  sideOffset?: number;
756
940
  onClickClose?: () => void;
757
941
  showArrow?: boolean;
942
+ className?: string;
758
943
  }
759
- declare function Popover({ children, trigger, variant, closable, open, side, sideOffset, showArrow, onOpenChange, onOpenAutoFocus, onCloseAutoFocus, onPointerDownOutside, onInteractOutside, onFocusOutside, onClickClose, }: Props$8): React__default.JSX.Element;
944
+ declare function Popover({ children, trigger, variant, closable, open, side, sideOffset, showArrow, onOpenChange, onOpenAutoFocus, onCloseAutoFocus, onPointerDownOutside, onInteractOutside, onFocusOutside, onClickClose, className, }: Props$7): React__default.JSX.Element;
760
945
 
761
946
  type ProgressVariant = "normal" | "warning" | "primary" | "secondary";
762
947
  declare function Progress({ value, variant, className, }: {
@@ -765,10 +950,10 @@ declare function Progress({ value, variant, className, }: {
765
950
  className?: string;
766
951
  }): React.JSX.Element;
767
952
 
768
- interface Props$7 {
953
+ interface Props$6 {
769
954
  children?: React.ReactNode | ((scrollElementRef: HTMLDivElement) => React.ReactNode);
770
955
  }
771
- declare const ScrollArea: React.NamedExoticComponent<Props$7>;
956
+ declare const ScrollArea: React.NamedExoticComponent<Props$6>;
772
957
 
773
958
  type SegmentedControlColorScheme = "primary" | "secondary";
774
959
  interface SegmentedControlProps<T extends string> {
@@ -789,13 +974,13 @@ type SegmentedControlItemProps<T extends string> = {
789
974
  style?: React__default.CSSProperties;
790
975
  tooltip?: ReactNode;
791
976
  } & Pick<RegularMenuItem<T>, "value" | "disabled" | "icon" | "role">;
792
- declare const SegmentedControl: React__default.MemoExoticComponent<(<T extends string>({ id, value, onValueChange, colorScheme, allowEmpty, items, separator, className, style, }: SegmentedControlProps<T>) => React__default.JSX.Element)>;
977
+ declare const SegmentedControl: React__default.MemoExoticComponent<(<T extends string>({ id: idProp, value, onValueChange, colorScheme, allowEmpty, items, separator, className, style, }: SegmentedControlProps<T>) => React__default.JSX.Element)>;
793
978
 
794
- type Props$6<T extends string> = {
979
+ type Props$5<T extends string> = {
795
980
  id?: string;
796
981
  style?: React__default.CSSProperties;
797
982
  className?: string;
798
- menuItems: MenuItem<T>[];
983
+ items: MenuItem<T>[];
799
984
  value: T;
800
985
  onSelect?: (value: T) => void;
801
986
  placeholder?: string;
@@ -804,12 +989,44 @@ type Props$6<T extends string> = {
804
989
  label?: React__default.ReactNode;
805
990
  onFocus?: FocusEventHandler;
806
991
  onBlur?: FocusEventHandler;
992
+ contentStyle?: React__default.CSSProperties;
807
993
  } & Pick<SelectProps, "open" | "onOpenChange">;
808
- declare const labelTextStyles = "font-sans text-label uppercase text-text-disabled leading-[19px] font-bold text-[60%]";
809
- declare const SelectMenu: <T extends string = string>(props: Props$6<T>) => React__default.ReactElement | null;
994
+ declare const SelectMenu: <T extends string = string>(props: Props$5<T>) => React__default.ReactElement | null;
995
+
996
+ interface SidebarListProps<T, M extends string = string> {
997
+ className?: string;
998
+ items: T[];
999
+ getId: (item: T) => string;
1000
+ getName: (item: T) => string;
1001
+ getExpanded?: (item: T) => boolean | undefined;
1002
+ expandable?: boolean;
1003
+ menuItems?: MenuItem<M>[];
1004
+ onSelectMenuItem?: (action: M, selectedItems: T[]) => void;
1005
+ onRename?: (itemId: string, newName: string) => void;
1006
+ renderThumbnail?: (item: T) => React__default.ReactNode;
1007
+ renderHoverAction?: (item: T, selected: boolean) => React__default.ReactNode;
1008
+ renderDetail?: (item: T) => React__default.ReactNode;
1009
+ onSelectionChange?: (selectedItems: T[]) => void;
1010
+ scrollable?: boolean;
1011
+ itemRoleDescription?: string;
1012
+ /** Position of the detail content. Defaults to 'end'. */
1013
+ detailPosition?: "end" | "below";
1014
+ /** Size of the list items. Defaults to 'medium'. */
1015
+ size?: "medium" | "large";
1016
+ /** For testing: Override the hover state with a specific item ID */
1017
+ testHoveredId?: string;
1018
+ /** For testing: Override the renaming state with a specific item ID */
1019
+ testRenamingId?: string;
1020
+ setExpanded?: (item: T, expanded: boolean) => void;
1021
+ acceptsDrop?: ListViewRootProps["acceptsDrop"];
1022
+ onMoveItem?: ListViewRootProps["onMoveItem"];
1023
+ getDepth?: (item: T) => number;
1024
+ onFilesDrop?: (event: React__default.DragEvent<Element>) => void;
1025
+ }
1026
+ declare function SidebarList<T, M extends string = string>({ className, items, getId, getName, expandable, getExpanded, getDepth, setExpanded, menuItems, onSelectMenuItem, onRename, renderThumbnail, renderHoverAction, renderDetail, onSelectionChange, itemRoleDescription, detailPosition, size, testHoveredId, testRenamingId, scrollable, acceptsDrop, onMoveItem, onFilesDrop, }: SidebarListProps<T, M>): React__default.JSX.Element;
810
1027
 
811
1028
  type ColorScheme = "primary" | "secondary";
812
- interface Props$5 {
1029
+ interface Props$4 {
813
1030
  id?: string;
814
1031
  style?: React__default.CSSProperties;
815
1032
  className?: string;
@@ -824,19 +1041,19 @@ interface Props$5 {
824
1041
  onBlur?: FocusEventHandler;
825
1042
  readOnly?: boolean;
826
1043
  }
827
- declare const Slider: React__default.NamedExoticComponent<Props$5>;
1044
+ declare const Slider: React__default.NamedExoticComponent<Props$4>;
828
1045
 
829
- interface Props$4 {
1046
+ interface Props$3 {
830
1047
  size?: number | string;
831
1048
  inline?: boolean;
832
1049
  }
833
1050
  declare namespace Spacer {
834
- const Vertical: React.ForwardRefExoticComponent<Props$4 & React.RefAttributes<HTMLSpanElement>>;
835
- const Horizontal: React.ForwardRefExoticComponent<Props$4 & React.RefAttributes<HTMLSpanElement>>;
1051
+ const Vertical: React.ForwardRefExoticComponent<Props$3 & React.RefAttributes<HTMLSpanElement>>;
1052
+ const Horizontal: React.ForwardRefExoticComponent<Props$3 & React.RefAttributes<HTMLSpanElement>>;
836
1053
  }
837
1054
 
838
1055
  type SwitchColorScheme = "primary" | "secondary";
839
- interface Props$3 {
1056
+ interface Props$2 {
840
1057
  id?: string;
841
1058
  value: boolean;
842
1059
  onChange: (value: boolean) => void;
@@ -848,7 +1065,7 @@ interface Props$3 {
848
1065
  className?: string;
849
1066
  style?: React.CSSProperties;
850
1067
  }
851
- declare const Switch: ({ id, value, onChange, colorScheme, disabled, onFocus, onBlur, style, className, }: Props$3) => React.JSX.Element;
1068
+ declare const Switch: ({ id, value, onChange, colorScheme, disabled, onFocus, onBlur, style, className, }: Props$2) => React.JSX.Element;
852
1069
 
853
1070
  declare const config: {
854
1071
  content: string[];
@@ -1195,6 +1412,7 @@ type TextProps = {
1195
1412
  variant: Variant;
1196
1413
  color?: KebabToCamelCase<ThemeColor>;
1197
1414
  children: ReactNode;
1415
+ id?: string;
1198
1416
  onClick?: () => void;
1199
1417
  onDoubleClick?: () => void;
1200
1418
  onKeyDown?: (event: React__default.KeyboardEvent<HTMLSpanElement>) => void;
@@ -1242,15 +1460,16 @@ declare const ToastProvider: ({ children }: {
1242
1460
  children: React__default.ReactNode;
1243
1461
  }) => React__default.JSX.Element;
1244
1462
 
1245
- interface Props$2 {
1463
+ interface Props$1 {
1246
1464
  children: React.ReactNode;
1247
1465
  content: React.ReactNode;
1248
1466
  }
1249
- declare const Tooltip: React.NamedExoticComponent<Props$2>;
1467
+ declare const Tooltip: React.NamedExoticComponent<Props$1>;
1250
1468
 
1251
1469
  type TreeRowBaseProps = {
1252
1470
  icon?: Exclude<ReactNode, string> | IconName;
1253
1471
  expanded?: boolean;
1472
+ chevronClassName?: string;
1254
1473
  onClickChevron?: ({ altKey }: {
1255
1474
  altKey: boolean;
1256
1475
  }) => void;
@@ -1267,28 +1486,12 @@ declare namespace TreeView {
1267
1486
  keyExtractor: (item: T, index: number) => string;
1268
1487
  sortable?: boolean;
1269
1488
  virtualized?: _noya_app_noya_geometry.Size;
1270
- }) & {
1271
- id?: string;
1272
- className?: string;
1273
- style?: React__default.CSSProperties;
1274
- onPress?: () => void;
1275
- scrollable?: boolean;
1276
- expandable?: boolean;
1277
- onMoveItem?: (sourceIndex: number, destinationIndex: number, position: RelativeDropPosition) => void;
1278
- indentation?: number;
1279
- acceptsDrop?: DropValidator;
1280
- pressEventName?: "onClick" | "onPointerDown";
1281
- variant?: "normal" | "bare" | "padded";
1282
- sectionHeaderVariant?: "normal" | "label";
1283
- divider?: boolean;
1284
- gap?: number;
1285
- colorScheme?: "primary" | "secondary";
1286
- }) & React__default.RefAttributes<IVirtualizedList>) => React__default.ReactElement | null;
1489
+ }) & ListViewRootProps) & React__default.RefAttributes<IVirtualizedList>) => React__default.ReactElement | null;
1287
1490
  const RowTitle: React__default.MemoExoticComponent<({ className, children, ...props }: {
1288
1491
  className?: string;
1289
1492
  children: React__default.ReactNode;
1290
1493
  } & React__default.HTMLAttributes<HTMLSpanElement>) => React__default.JSX.Element>;
1291
- const EditableRowTitle: React__default.MemoExoticComponent<({ value, onSubmitEditing, autoFocus, placeholder, }: EditableRowProps) => React__default.JSX.Element>;
1494
+ const EditableRowTitle: React__default.MemoExoticComponent<({ value, onSubmitEditing, autoFocus, placeholder, className, }: EditableRowProps) => React__default.JSX.Element>;
1292
1495
  const Row: <MenuItemType extends string>(props: ListView.RowProps<MenuItemType> & TreeRowBaseProps & React__default.RefAttributes<HTMLLIElement>) => React__default.ReactElement | null;
1293
1496
  type ClickInfo = ListView.ClickInfo;
1294
1497
  type RowProps<MenuItemType extends string> = TreeViewRowProps<MenuItemType>;
@@ -1321,10 +1524,11 @@ type PanelLayoutState = {
1321
1524
  };
1322
1525
  declare function usePreservePanelSize(panelGroupRef: React__default.RefObject<ImperativePanelGroupHandle | null>, setPanelLayoutState?: (state: PanelLayoutState) => void): void;
1323
1526
 
1324
- interface Props$1 {
1527
+ interface WorkspaceLayoutProps {
1325
1528
  id?: string;
1326
1529
  className?: string;
1327
1530
  style?: React__default.CSSProperties;
1531
+ theme?: "light" | "dark";
1328
1532
  autoSavePrefix?: string;
1329
1533
  left?: React__default.ReactNode;
1330
1534
  leftOptions?: SideOptions;
@@ -1351,8 +1555,9 @@ type SideOptions = {
1351
1555
  */
1352
1556
  initialSize?: number | string;
1353
1557
  minSize?: number | string;
1558
+ maxSize?: number | string;
1354
1559
  };
1355
- declare const WorkspaceLayout: React__default.ForwardRefExoticComponent<Props$1 & React__default.RefAttributes<IWorkspaceLayout>>;
1560
+ declare const WorkspaceLayout: React__default.ForwardRefExoticComponent<WorkspaceLayoutProps & React__default.RefAttributes<IWorkspaceLayout>>;
1356
1561
 
1357
1562
  type DesignSystemConfigurationContextValue = {
1358
1563
  platform: PlatformName;
@@ -1461,6 +1666,34 @@ interface HoverResult {
1461
1666
  */
1462
1667
  declare function useHover(props?: HoverProps): HoverResult;
1463
1668
 
1669
+ declare const IndentContext: React__default.Context<{
1670
+ indentLevel: number;
1671
+ }>;
1672
+ declare const useIndent: () => number;
1673
+
1674
+ declare const LabelContext: React__default.Context<{
1675
+ fieldId?: string;
1676
+ label?: React__default.ReactNode;
1677
+ }>;
1678
+ type UseLabelParams = {
1679
+ label?: ReactNode;
1680
+ fieldId?: string;
1681
+ };
1682
+ declare const useLabel: ({ label, fieldId }: UseLabelParams) => {
1683
+ label: React__default.ReactNode;
1684
+ fieldId: string | undefined;
1685
+ };
1686
+ declare const LabelPositionContext: React__default.Context<LabelPositionContextValue>;
1687
+ declare const useLabelPosition: () => LabelPosition;
1688
+ type LabelPositionContextValue = {
1689
+ position: LabelPosition;
1690
+ };
1691
+ type LabelWidthContextValue = {
1692
+ width: number;
1693
+ };
1694
+ declare const LabelWidthContext: React__default.Context<LabelWidthContextValue>;
1695
+ declare const useLabelWidth: () => number;
1696
+
1464
1697
  declare function usePlatform(): _noya_app_noya_keymap.PlatformName;
1465
1698
  /**
1466
1699
  * Either ctrl or meta, depending on the platform
@@ -1503,6 +1736,16 @@ declare const colorForStringValues: Record<string, string>;
1503
1736
  */
1504
1737
  declare function colorFromString(str: string): string;
1505
1738
 
1739
+ /**
1740
+ * Updates the selection state based on user interaction.
1741
+ * Handles single selection, multi-selection with meta/ctrl, and range selection with shift.
1742
+ */
1743
+ declare function updateSelection(allIds: string[], selectedIds: string[], clickedId: string, event?: {
1744
+ shiftKey?: boolean;
1745
+ metaKey?: boolean;
1746
+ ctrlKey?: boolean;
1747
+ }): string[];
1748
+
1506
1749
  declare function sketchColorToRgba(value: Sketch.Color): RgbaColor;
1507
1750
  declare function sketchColorToRgbaString(value: Sketch.Color): string;
1508
1751
  declare function rgbaToSketchColor(value: RgbaColor): Sketch.Color;
@@ -1592,4 +1835,4 @@ declare function ToolbarMenu<T extends string>({ items, onSelectMenuItem, }: {
1592
1835
  onSelectMenuItem?: (value: T) => void;
1593
1836
  }): React__default.JSX.Element;
1594
1837
 
1595
- export { ActivityIndicator, AnimatePresence, type AnimatePresenceProps, Avatar, type AvatarProps, AvatarStack, type BaseComboboxProps, BaseToolbar, type BaseToolbarProps, Body, Button, type ButtonRootProps, CONTENT_AREA_ID, Checkbox$1 as Checkbox, Chip, type ChipProps, Combobox, type ComboboxItem, ComboboxMenu, type ComboboxOption, type ComboboxProps, type ComboboxRef, type ComboboxSectionHeader, ComboboxState, type ComboboxStateSnapshot, ContextMenu, type DesignSystemConfigurationContextValue, DesignSystemConfigurationProvider, Dialog, type DialogContextValue, DialogProvider, DimensionInput, type DimensionValue, Divider, DividerVertical, DraggableMenuButton, type DropValidator, DropdownMenu, EDITOR_PANEL_GROUP_ID, type EditableRowProps, type ExtractMenuItemType, FillInputField, FillPreviewBackground, FloatingWindow, FloatingWindowProvider, FullscreenDialog, type GlobalInputBlurContextValue, GlobalInputBlurProvider, GradientPicker, GridView, type GridViewSize, Heading1, Heading2, Heading3, Heading4, Heading5, type HoverEvent, type HoverEvents, type HoverProps, type IDialog, type IScoredItem, type IToken, type IVirtualizedList, type IWorkspaceLayout, IconButton, type IconName, type ImageDataContextValue, ImageDataProvider, InputField, type InputFieldInputProps, type InputFieldSize, InspectorContainer, InspectorPrimitives, type InternalComboboxItem, Italic, KeyboardShortcut, LEFT_SIDEBAR_ID, Label, LabeledElementView, type ListRowMarginType, type ListRowPosition, ListView, type MatchRange, type MenuConfig, type MenuItem, type MenuItemProps, type MenuProps, Message, type MessageProps, type OptionModeOnlyProps, type OptionModeProps, type Optional, type PanelLayoutState, PatternPreviewBackground, Popover, Progress, RIGHT_SIDEBAR_ID, type RegularMenuItem, type RelativeDropPosition, SEPARATOR_ITEM, SUPPORTED_CANVAS_UPLOAD_TYPES, SUPPORTED_IMAGE_UPLOAD_TYPES, ScrollArea, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, SelectMenu, 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, colorForStringValues, colorFromString, createSectionedMenu, cssVars, cx, fuzzyFilter, fuzzyScore, fuzzyTokenize, getGradientBackground, getKeyboardShortcutsForMenuItems, getNewValue, labelTextStyles, mediaQuery, normalizeListDestinationIndex, renderIcon, rgbaToSketchColor, size, sketchColorToHex, sketchColorToRgba, sketchColorToRgbaString, textStyles, useAutoResize, useComboboxState, useCurrentFloatingWindowInternal, useDesignSystemConfiguration, useDialogContainsElement, useFloatingWindowManager, useGlobalInputBlur, useGlobalInputBlurListener, useGlobalInputBlurTrigger, useHover, useImageData, useOpenConfirmationDialog, useOpenInputDialog, usePlatform, usePlatformModKey, usePreservePanelSize, useTheme, withSeparatorElements };
1838
+ export { ActivityIndicator, AnimatePresence, type AnimatePresenceProps, Avatar, type AvatarProps, AvatarStack, type BaseComboboxProps, BaseToolbar, type BaseToolbarProps, Body, Button, type ButtonRootProps, CHECKBOX_RIGHT_INSET, CHECKBOX_WIDTH, CONTENT_AREA_ID, Checkbox$1 as Checkbox, Chip, type ChipProps, Combobox, type ComboboxItem, ComboboxMenu, type ComboboxOption, type ComboboxProps, type ComboboxRef, type ComboboxSectionHeader, 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, type ExtractMenuItemType, Fade, type FadeDirection, type FadeProps, FillInputField, FillPreviewBackground, FloatingWindow, FloatingWindowProvider, FullscreenDialog, type GlobalInputBlurContextValue, GlobalInputBlurProvider, GradientPicker, 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, type InternalComboboxItem, Italic, KeyboardShortcut, LEFT_SIDEBAR_ID, Label, LabelContext, type LabelPosition, LabelPositionContext, type LabelPositionContextValue, type LabelProps, LabelWidthContext, type LabelWidthContextValue, LabeledElementView, LabeledField, 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 OptionModeOnlyProps, type OptionModeProps, type Optional, type PanelLayoutState, PatternPreviewBackground, Popover, Progress, RIGHT_SIDEBAR_ID, type RegularMenuItem, type RelativeDropPosition, SUPPORTED_CANVAS_UPLOAD_TYPES, SUPPORTED_IMAGE_UPLOAD_TYPES, ScrollArea, SearchCompletionMenu, SectionHeader$1 as SectionHeader, type SectionHeaderMenuItem, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, SelectMenu, type SeparatorItem, type SetNumberMode, type SideOptions, SidebarList, 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, getKeyboardShortcutsForMenuItems, getNewValue, getNextIndex, insetLabelStyles, insetLabelTextStyles, labeledFieldStyles, mediaQuery, normalizeListDestinationIndex, renderIcon, rgbaToSketchColor, size, sketchColorToHex, sketchColorToRgba, sketchColorToRgbaString, styles, textStyles, updateSelection, useAutoResize, useComboboxState, useCurrentFloatingWindowInternal, useDesignSystemConfiguration, useDialogContainsElement, useFloatingWindowManager, useGlobalInputBlur, useGlobalInputBlurListener, useGlobalInputBlurTrigger, useHover, useImageData, useIndent, useInputFieldContext, useLabel, useLabelPosition, useLabelWidth, useOpenConfirmationDialog, useOpenInputDialog, usePlatform, usePlatformModKey, usePreservePanelSize, useTheme, withSeparatorElements };