@choice-ui/react 1.9.9 → 2.0.1

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.
@@ -8,9 +8,10 @@ interface MentionItemProps {
8
8
  }
9
9
  interface MdRenderProps {
10
10
  allowedPrefixes?: string[];
11
+ children?: string;
11
12
  className?: string;
12
13
  components?: Partial<Components>;
13
- content: string;
14
+ content?: string;
14
15
  customColor?: {
15
16
  codeBackground?: string;
16
17
  defaultBackground?: string;
@@ -280,13 +280,7 @@ var createMarkdownComponents = (tv, MentionComponent, mentionItems) => {
280
280
  {
281
281
  className: tv.codeBlock(),
282
282
  lineThreshold: void 0,
283
- children: /* @__PURE__ */ jsx(
284
- CodeBlock2.Code,
285
- {
286
- code: children,
287
- language
288
- }
289
- )
283
+ children: /* @__PURE__ */ jsx(CodeBlock2.Code, { language, children })
290
284
  }
291
285
  );
292
286
  },
@@ -409,7 +403,7 @@ var INITIAL_COMPONENTS = {
409
403
  expandable: false,
410
404
  children: [
411
405
  /* @__PURE__ */ jsx(CodeBlock2.Header, { showLineCount: false }),
412
- /* @__PURE__ */ jsx(CodeBlock2.Content, { code: children })
406
+ /* @__PURE__ */ jsx(CodeBlock2.Content, { children })
413
407
  ]
414
408
  }
415
409
  );
@@ -421,6 +415,7 @@ var MdRender = memo(
421
415
  id,
422
416
  components: customComponents,
423
417
  content,
418
+ children,
424
419
  className,
425
420
  mentionRenderComponent,
426
421
  mentionItems,
@@ -429,9 +424,10 @@ var MdRender = memo(
429
424
  size = "default",
430
425
  variant = "default"
431
426
  } = props;
427
+ const markdownContent = content ?? children ?? "";
432
428
  const generatedId = useId();
433
429
  const blockId = id ?? generatedId;
434
- const blocks = useMdBlocks(content);
430
+ const blocks = useMdBlocks(markdownContent);
435
431
  const tv = useMemo(() => mdRenderTv({ size, variant }), [size, variant]);
436
432
  const tvComponents = useMemo(
437
433
  () => createMarkdownComponents(tv, mentionRenderComponent, mentionItems),
@@ -1,8 +1,11 @@
1
1
  import { Components, Options } from 'react-markdown';
2
+ import { BlockPolicyType } from 'harden-react-markdown';
2
3
  type HardenReactMarkdownProps = Options & {
3
4
  allowedImagePrefixes?: string[];
4
5
  allowedLinkPrefixes?: string[];
5
6
  defaultOrigin?: string;
7
+ linkBlockPolicy?: BlockPolicyType;
8
+ imageBlockPolicy?: BlockPolicyType;
6
9
  };
7
10
  interface MarkdownBlockProps extends Omit<HardenReactMarkdownProps, "children"> {
8
11
  components?: Partial<Components>;
@@ -15,7 +15,7 @@ var ModalTv = tcv({
15
15
  });
16
16
  var ModalHeaderTv = tcv({
17
17
  slots: {
18
- root: "modal__header border-default-boundary w-full flex-none items-center border-b",
18
+ root: ["modal__header", "grid border-default-boundary w-full flex-none items-center border-b"],
19
19
  title: "text-body-medium flex min-w-0 items-center gap-2 p-2 font-strong [grid-area:title] select-none",
20
20
  close: "p-2 [grid-area:close]"
21
21
  },
@@ -30,7 +30,7 @@ var ModalHeaderTv = tcv({
30
30
  },
31
31
  close: {
32
32
  true: {
33
- root: "modal__header--action"
33
+ root: "grid-cols-[auto_1fr_2.5rem]"
34
34
  },
35
35
  false: {}
36
36
  }
@@ -1,7 +1,4 @@
1
1
  import { ToasterProps } from 'sonner';
2
- import * as react from 'react';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
-
5
2
  interface NotificationsProps extends Omit<ToasterProps, "id"> {
6
3
  actions?: (id: string | number) => {
7
4
  action?: {
@@ -20,7 +17,6 @@ interface NotificationsProps extends Omit<ToasterProps, "id"> {
20
17
  text?: string;
21
18
  toasterId?: string;
22
19
  }
23
- declare const Toast: react.MemoExoticComponent<(props: NotificationsProps) => react_jsx_runtime.JSX.Element>;
24
20
  declare function notifications(toast: Omit<NotificationsProps, "id">): string | number;
25
21
 
26
- export { type NotificationsProps, Toast, notifications };
22
+ export { type NotificationsProps, notifications };
@@ -1,8 +1,8 @@
1
1
  import { TooltipProps } from '../../tooltip/src';
2
- import { default as react__default, ReactNode, HTMLProps } from 'react';
2
+ import { default as React__default, ReactNode, HTMLProps } from 'react';
3
3
  import { IconButtonProps } from '../../icon-button/src';
4
4
  import { PressMoveProps } from '../../../../../shared/src';
5
- import * as react from 'react';
5
+ import * as React$1 from 'react';
6
6
 
7
7
  type ElementType = "action" | "handler" | "menu";
8
8
  interface NumericInputElementProps {
@@ -11,18 +11,18 @@ interface NumericInputElementProps {
11
11
  position?: "prefix" | "suffix";
12
12
  type?: ElementType;
13
13
  }
14
- declare const NumericInputElement: react.MemoExoticComponent<react.ForwardRefExoticComponent<NumericInputElementProps & react.RefAttributes<HTMLDivElement>>>;
14
+ declare const NumericInputElement: React$1.MemoExoticComponent<React$1.ForwardRefExoticComponent<NumericInputElementProps & React$1.RefAttributes<HTMLDivElement>>>;
15
15
 
16
16
  interface NumericInputMenuTriggerProps extends IconButtonProps {
17
17
  className?: string;
18
18
  type?: "menu" | "action";
19
19
  }
20
- declare const NumericInputMenuTrigger: react.ForwardRefExoticComponent<Omit<NumericInputMenuTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
20
+ declare const NumericInputMenuTrigger: React$1.ForwardRefExoticComponent<Omit<NumericInputMenuTriggerProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
21
21
  interface NumericInputMenuActionPromptProps extends HTMLProps<HTMLDivElement> {
22
22
  children?: React.ReactNode;
23
23
  className?: string;
24
24
  }
25
- declare const NumericInputMenuActionPrompt: react.ForwardRefExoticComponent<Omit<NumericInputMenuActionPromptProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
25
+ declare const NumericInputMenuActionPrompt: React$1.ForwardRefExoticComponent<Omit<NumericInputMenuActionPromptProps, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
26
26
 
27
27
  interface NumericInputVariableProps {
28
28
  className?: string;
@@ -30,7 +30,7 @@ interface NumericInputVariableProps {
30
30
  onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
31
31
  value?: number | null;
32
32
  }
33
- declare const NumericInputVariable: react.ForwardRefExoticComponent<NumericInputVariableProps & react.RefAttributes<HTMLDivElement>>;
33
+ declare const NumericInputVariable: React$1.ForwardRefExoticComponent<NumericInputVariableProps & React$1.RefAttributes<HTMLDivElement>>;
34
34
 
35
35
  type NumericInputValue = string | number | (string | number | undefined)[] | Record<string, number>;
36
36
  type NumberResult = {
@@ -58,12 +58,13 @@ interface NumericInputContextValue {
58
58
  readOnly?: boolean;
59
59
  selected?: boolean;
60
60
  shiftStep?: number;
61
+ size?: "default" | "large";
61
62
  step?: number;
62
63
  value?: NumericInputValue;
63
64
  variant?: "default" | "light" | "dark" | "reset";
64
65
  }
65
66
 
66
- interface NumericInputProps extends NumericInputContextValue, Omit<HTMLProps<HTMLInputElement>, "value" | "defaultValue" | "onChange" | "children" | "max" | "min" | "step" | "disabled" | "id"> {
67
+ interface NumericInputProps extends NumericInputContextValue, Omit<HTMLProps<HTMLInputElement>, "value" | "defaultValue" | "onChange" | "children" | "max" | "min" | "step" | "disabled" | "id" | "size"> {
67
68
  children?: ReactNode;
68
69
  className?: string;
69
70
  classNames?: {
@@ -74,9 +75,9 @@ interface NumericInputProps extends NumericInputContextValue, Omit<HTMLProps<HTM
74
75
  id?: string;
75
76
  onChange?: (value: NumericInputValue, detail: NumericChangeDetail) => void;
76
77
  tooltip?: TooltipProps;
77
- triggerRef?: react__default.RefObject<HTMLDivElement> | ((el: HTMLDivElement | null) => void);
78
+ triggerRef?: React__default.RefObject<HTMLDivElement> | ((el: HTMLDivElement | null) => void);
78
79
  }
79
- interface NumericInputComponent extends react__default.ForwardRefExoticComponent<NumericInputProps & react__default.RefAttributes<HTMLInputElement>> {
80
+ interface NumericInputComponent extends React__default.ForwardRefExoticComponent<NumericInputProps & React__default.RefAttributes<HTMLInputElement>> {
80
81
  ActionPrompt: typeof NumericInputMenuActionPrompt;
81
82
  MenuTrigger: typeof NumericInputMenuTrigger;
82
83
  Prefix: typeof NumericInputElement;
@@ -85,4 +86,18 @@ interface NumericInputComponent extends react__default.ForwardRefExoticComponent
85
86
  }
86
87
  declare const NumericInput: NumericInputComponent;
87
88
 
88
- export { type NumberResult, type NumericChangeDetail, NumericInput, NumericInputElement, type NumericInputElementProps, NumericInputMenuTrigger, type NumericInputMenuTriggerProps, type NumericInputProps, type NumericInputValue, NumericInputVariable, type NumericInputVariableProps };
89
+ /**
90
+ * Hook for handling long press on numeric input increment/decrement buttons.
91
+ * Triggers the callback immediately on press, then repeatedly after a delay.
92
+ *
93
+ * @param callback - Function to call on press and during long press
94
+ * @param delay - Interval between repeated calls (default: 150ms)
95
+ * @param initialDelay - Delay before starting repeated calls (default: 400ms)
96
+ */
97
+ declare function useNumericLongPress(callback: () => void, delay?: number, initialDelay?: number): {
98
+ onMouseDown: () => void;
99
+ onMouseUp: () => void;
100
+ onMouseLeave: () => void;
101
+ };
102
+
103
+ export { type NumberResult, type NumericChangeDetail, NumericInput, NumericInputElement, type NumericInputElementProps, NumericInputMenuTrigger, type NumericInputMenuTriggerProps, type NumericInputProps, type NumericInputValue, NumericInputVariable, type NumericInputVariableProps, useNumericLongPress };
@@ -22,9 +22,9 @@ function useNumericInputContext() {
22
22
  }
23
23
  var NumericInputTv = tcv({
24
24
  slots: {
25
- container: ["group/input grid h-6 before:border-transparent", "input__number"],
26
- input: ["peer", "h-6 w-full", "cursor-default appearance-none truncate"],
27
- tooltip: "col-span-3 col-start-1 row-start-1 h-6"
25
+ container: ["group/input grid before:border-transparent", "input__number"],
26
+ input: ["peer", "w-full", "cursor-default appearance-none truncate"],
27
+ tooltip: "col-span-3 col-start-1 row-start-1"
28
28
  },
29
29
  variants: {
30
30
  variant: {
@@ -39,6 +39,18 @@ var NumericInputTv = tcv({
39
39
  },
40
40
  reset: {}
41
41
  },
42
+ size: {
43
+ default: {
44
+ container: ["h-6", "input__number--default"],
45
+ input: "h-6",
46
+ tooltip: "h-6"
47
+ },
48
+ large: {
49
+ container: ["h-8", "input__number--large"],
50
+ input: "h-8",
51
+ tooltip: "h-8"
52
+ }
53
+ },
42
54
  prefixElement: {
43
55
  true: {},
44
56
  false: {}
@@ -161,6 +173,7 @@ var NumericInputTv = tcv({
161
173
  ],
162
174
  defaultVariants: {
163
175
  variant: "default",
176
+ size: "default",
164
177
  selected: false,
165
178
  disabled: false,
166
179
  focused: false
@@ -172,6 +185,10 @@ var NumericInputMenuTriggerTv = tcv({
172
185
  disabled: {
173
186
  true: ""
174
187
  },
188
+ size: {
189
+ default: "",
190
+ large: ""
191
+ },
175
192
  type: {
176
193
  menu: "",
177
194
  action: ""
@@ -219,6 +236,7 @@ var NumericInputMenuTriggerTv = tcv({
219
236
  ],
220
237
  defaultVariants: {
221
238
  disabled: false,
239
+ size: "default",
222
240
  type: "menu",
223
241
  variant: "default"
224
242
  }
@@ -323,17 +341,21 @@ var NumericInputVariableTv = tcv({
323
341
  }
324
342
  });
325
343
  var NumericInputElementTv = tcv({
326
- base: ["select-none", "z-2 h-6 w-6", "flex flex-none items-center justify-center"],
344
+ base: ["select-none", "z-2", "flex flex-none items-center justify-center"],
327
345
  variants: {
328
346
  type: {
329
347
  handler: "select-none",
330
- action: "[grid-area:action]",
331
- menu: "ml-px [grid-area:action]"
348
+ action: "",
349
+ menu: ""
332
350
  },
333
351
  position: {
334
352
  prefix: "rounded-l-md",
335
353
  suffix: "rounded-r-md"
336
354
  },
355
+ size: {
356
+ default: "h-6 w-6",
357
+ large: "h-8 w-8"
358
+ },
337
359
  disabled: {
338
360
  true: "text-disabled-foreground",
339
361
  false: "text-secondary-foreground"
@@ -356,6 +378,26 @@ var NumericInputElementTv = tcv({
356
378
  position: "suffix",
357
379
  class: "[grid-area:suffix-handler]"
358
380
  },
381
+ {
382
+ type: "action",
383
+ position: "prefix",
384
+ class: "[grid-area:prefix-handler]"
385
+ },
386
+ {
387
+ type: "action",
388
+ position: "suffix",
389
+ class: "[grid-area:action]"
390
+ },
391
+ {
392
+ type: "menu",
393
+ position: "prefix",
394
+ class: "[grid-area:prefix-handler]"
395
+ },
396
+ {
397
+ type: "menu",
398
+ position: "suffix",
399
+ class: "ml-px [grid-area:action]"
400
+ },
359
401
  {
360
402
  type: "handler",
361
403
  disabled: false,
@@ -394,25 +436,31 @@ var NumericInputElementTv = tcv({
394
436
  ],
395
437
  defaultVariants: {
396
438
  disabled: false,
397
- variant: "default"
439
+ variant: "default",
440
+ size: "default"
398
441
  }
399
442
  });
400
443
  var NumericInputMenuActionPromptTv = tcv({
401
444
  base: [
402
445
  "[grid-area:action]",
403
- "w-6 pr-2",
446
+ "pr-2",
404
447
  "flex items-center justify-center",
405
448
  "rounded-r-md",
406
449
  "pointer-events-none z-3"
407
450
  ],
408
451
  variants: {
452
+ size: {
453
+ default: "w-6",
454
+ large: "w-8"
455
+ },
409
456
  disabled: {
410
457
  true: "text-secondary-foreground bg-default-background",
411
458
  false: "bg-secondary-background group-focus-within/input:hidden group-hover/input:hidden"
412
459
  }
413
460
  },
414
461
  defaultVariants: {
415
- disabled: false
462
+ disabled: false,
463
+ size: "default"
416
464
  }
417
465
  });
418
466
  var NumericInputElement = memo(
@@ -423,6 +471,7 @@ var NumericInputElement = memo(
423
471
  const tv = NumericInputElementTv({
424
472
  type,
425
473
  position,
474
+ size: context.size,
426
475
  disabled: context.disabled,
427
476
  variant: context.variant
428
477
  });
@@ -450,6 +499,7 @@ var NumericInputMenuTrigger = forwardRef(
450
499
  const context = useNumericInputContext();
451
500
  const tv = NumericInputMenuTriggerTv({
452
501
  type,
502
+ size: context.size,
453
503
  disabled: context.disabled,
454
504
  variant: context.variant
455
505
  });
@@ -457,6 +507,7 @@ var NumericInputMenuTrigger = forwardRef(
457
507
  IconButton,
458
508
  {
459
509
  ref,
510
+ size: context.size,
460
511
  variant: type === "menu" ? context.disabled ? "ghost" : "solid" : void 0,
461
512
  className: tcx(tv, className),
462
513
  disabled: context.disabled,
@@ -474,7 +525,10 @@ var NumericInputMenuActionPrompt = forwardRef((props, ref) => {
474
525
  "div",
475
526
  {
476
527
  ref,
477
- className: tcx(NumericInputMenuActionPromptTv({ disabled: context.disabled }), className),
528
+ className: tcx(
529
+ NumericInputMenuActionPromptTv({ size: context.size, disabled: context.disabled }),
530
+ className
531
+ ),
478
532
  ...rest,
479
533
  children
480
534
  }
@@ -1042,6 +1096,7 @@ var NumericInputBase = forwardRef((props, ref) => {
1042
1096
  readOnly,
1043
1097
  required,
1044
1098
  shiftStep = 10,
1099
+ size = "default",
1045
1100
  step = 1,
1046
1101
  value,
1047
1102
  variant = "default",
@@ -1094,6 +1149,7 @@ var NumericInputBase = forwardRef((props, ref) => {
1094
1149
  const contextValue = useMemo(
1095
1150
  () => ({
1096
1151
  variant,
1152
+ size,
1097
1153
  // State
1098
1154
  value,
1099
1155
  defaultValue,
@@ -1120,6 +1176,7 @@ var NumericInputBase = forwardRef((props, ref) => {
1120
1176
  }),
1121
1177
  [
1122
1178
  variant,
1179
+ size,
1123
1180
  value,
1124
1181
  defaultValue,
1125
1182
  disabled,
@@ -1175,6 +1232,7 @@ var NumericInputBase = forwardRef((props, ref) => {
1175
1232
  const actionPromptNode = actionPrompt[0] || null;
1176
1233
  const tv = NumericInputTv({
1177
1234
  variant,
1235
+ size,
1178
1236
  selected: selected || handlerPressed,
1179
1237
  focused,
1180
1238
  disabled,
@@ -11,20 +11,20 @@ interface PanelRowProps extends Omit<HTMLProps<HTMLFieldSetElement>, "title"> {
11
11
  * @default "single"
12
12
  * @description
13
13
  * - `single`: `columns`: 1fr | `areas`: "label" "input" | `rows`: auto minmax(2rem, auto)
14
- * - `two-columns`: `columns`: 1fr 1fr | `areas`: "label label" "left right" | `rows`: auto minmax(2rem, auto)
14
+ * - `two-columns`: `columns`: 1fr 1fr | `areas`: "label-1 label-2" "input-1 input-2" | `rows`: auto minmax(2rem, auto)
15
15
  * - `one-label-one-input`: `columns`: 8fr 20fr | `areas`: "label input" | `rows`: 2rem
16
- * - `one-label-one-input-one-icon`: `columns`: 8fr 20fr 2rem | `areas`: "label input icon" | `rows`: 2rem
17
- * - `one-label-two-input`: `columns`: 8fr 1fr 1fr | `areas`: "label left right" | `rows`: 2rem
18
- * - `one-icon-one-input`: `columns`: 2rem 1fr | `areas`: "icon input" | `rows`: 2rem
19
- * - `one-input-one-icon`: `columns`: 1fr 2rem | `areas`: "input icon" | `rows`: 2rem
20
- * - `one-input-two-icon`: `columns`: 1fr 1fr 2rem | `areas`: "input left icon" "input right icon" | `rows`: 2rem
21
- * - `two-input-two-icon`: `columns`: 1fr 1fr 2rem | `areas`: "left icon right icon" | `rows`: 2rem
22
- * - `two-input-one-icon`: `columns`: 2rem 1fr 1fr | `areas`: "icon left right" | `rows`: 2rem
23
- * - `one-icon-one-input-two-icon`: `columns`: 2rem 1fr 2rem | `areas`: "icon input icon" | `rows`: 2rem
24
- * - `two-input-one-icon-double-row`: `columns`: 1fr 1fr 2rem | `areas`: "left icon right icon" | `rows`: 2rem 2rem
25
- * - `one-icon-one-input-two-icon-double-row`: `columns`: 2rem 1fr 2rem | `areas`: "icon input icon" | `rows`: 2rem 2rem
16
+ * - `one-label-one-input-one-icon`: `columns`: 8fr 20fr 1.5rem | `areas`: "label input icon" | `rows`: 2rem
17
+ * - `one-label-two-input`: `columns`: 8fr 10fr 10fr | `areas`: "label input-1 input-2" | `rows`: 2rem
18
+ * - `one-icon-one-input`: `columns`: 1.5rem 1fr | `areas`: ". label" "icon input" | `rows`: auto minmax(2rem, auto)
19
+ * - `one-input-one-icon`: `columns`: 1fr 1.5rem | `areas`: "label label" "input icon" | `rows`: auto minmax(2rem, auto)
20
+ * - `one-input-two-icon`: `columns`: 1fr 0.5rem 1.5rem 0.25rem 1.5rem | `areas`: "label . . . ." "input . icon-1 . icon-2" | `rows`: auto minmax(2rem, auto)
21
+ * - `two-input-two-icon`: `columns`: minmax(76px, 1fr) 0.5rem 1fr 0.5rem 1.5rem 0.25rem 1.5rem | `areas`: "label-1 label-1 label-2 label-2 . . ." "input-1 . input-2 . icon-1 . icon-2" | `rows`: auto minmax(2rem, auto)
22
+ * - `two-input-one-icon`: `columns`: 1fr 1fr 1.5rem | `areas`: "label-1 label-2 label-2" "input-1 input-2 icon" | `rows`: auto minmax(2rem, auto)
23
+ * - `one-icon-one-input-one-icon`: `columns`: 1.5rem 0.5rem 1fr 0.5rem 1.5rem | `areas`: "label label label label label" "icon-1 . input . icon-2" | `rows`: auto minmax(2rem, auto)
24
+ * - `one-icon-one-input-two-icon`: `columns`: 1.5rem 0.5rem 1fr 0.5rem 1.5rem 0.25rem 1.5rem | `areas`: "label label label label label label label" "icon-1 . input . icon-2 . icon-3" | `rows`: auto minmax(2rem, auto)
25
+ * - `two-input-one-icon-double-row`: `columns`: 1fr 1fr 1.5rem | `areas`: "label-1 label-2 ." "input-1 input-3 icon-1" "input-2 input-3 icon-2" | `rows`: auto 2rem 2rem
26
26
  */
27
- type?: "single" | "two-columns" | "one-label-one-input" | "one-label-one-input-one-icon" | "one-label-two-input" | "one-icon-one-input" | "one-input-one-icon" | "one-input-two-icon" | "two-input-two-icon" | "two-input-one-icon" | "one-icon-one-input-two-icon" | "two-input-one-icon-double-row";
27
+ type?: "single" | "two-columns" | "one-label-one-input" | "one-label-one-input-one-icon" | "one-label-two-input" | "one-icon-one-input" | "one-input-one-icon" | "one-input-two-icon" | "two-input-two-icon" | "two-input-one-icon" | "one-icon-one-input-one-icon" | "one-icon-one-input-two-icon" | "two-input-one-icon-double-row";
28
28
  }
29
29
  declare const PanelRow: react.ForwardRefExoticComponent<Omit<PanelRowProps, "ref"> & react.RefAttributes<HTMLFieldSetElement>>;
30
30
 
@@ -83,8 +83,8 @@ declare const SortablePaneContext: react__default.Context<SortablePaneContextVal
83
83
  declare const useSortablePane: () => SortablePaneContextValue;
84
84
 
85
85
  interface PanelSortableProps<T extends SortableItem> {
86
- children: react__default.ReactNode;
87
86
  className?: string;
87
+ children: react__default.ReactNode;
88
88
  data: T[];
89
89
  onDrop: (position: "top" | "bottom" | null, id: string, newIndex: number) => void;
90
90
  onSelectedIdChange: (id: string | null) => void;
@@ -129,12 +129,12 @@ interface PanelProps extends Omit<HTMLProps<HTMLDivElement>, "title"> {
129
129
  showLabels?: boolean;
130
130
  triggerRef?: React.RefObject<HTMLDivElement>;
131
131
  }
132
- declare const PanelContent: ({ children, collapsible, title, otherChildren, }: {
132
+ declare const PanelContent: react.NamedExoticComponent<{
133
133
  children: React.ReactNode;
134
134
  collapsible?: boolean;
135
135
  otherChildren: React.ReactNode[];
136
136
  title: React.ReactNode;
137
- }) => react_jsx_runtime.JSX.Element;
137
+ }>;
138
138
  interface PanelComponentProps extends React.ForwardRefExoticComponent<PanelProps & React.RefAttributes<HTMLDivElement>> {
139
139
  Content: typeof PanelContent;
140
140
  Label: typeof PanelLabel;
@@ -149,4 +149,4 @@ interface PanelComponentProps extends React.ForwardRefExoticComponent<PanelProps
149
149
  declare const PanelBase: react.ForwardRefExoticComponent<Omit<PanelProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
150
150
  declare const Panel: PanelComponentProps;
151
151
 
152
- export { Panel, PanelBase, PanelContext, PanelLabel, PanelPreviewer, PanelRow, PanelRowLabel, PanelRowManyIcon, type PanelRowManyIconItem, type PanelRowManyIconProps, type PanelRowProps, PanelSortable, PanelSortableRow, PanelTitle, type SortableItem, SortablePaneContext, type SortablePaneContextValue, SortableRowDataContext, type SortableRowDataContextValue, usePanelContext, useSortablePane, useSortableRowItem };
152
+ export { Panel, PanelBase, PanelContext, type PanelContextType, PanelLabel, PanelPreviewer, PanelRow, PanelRowLabel, PanelRowManyIcon, type PanelRowManyIconItem, type PanelRowManyIconProps, type PanelRowProps, PanelSortable, PanelSortableRow, PanelTitle, type SortableItem, SortablePaneContext, type SortablePaneContextValue, SortableRowDataContext, type SortableRowDataContextValue, usePanelContext, useSortablePane, useSortableRowItem };
@@ -14,6 +14,11 @@ interface PicturePreviewProps extends HTMLProps<HTMLDivElement> {
14
14
  fileName?: string;
15
15
  onClose?: () => void;
16
16
  src: string;
17
+ control?: {
18
+ enable?: boolean;
19
+ position?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
20
+ show?: "always" | "hover";
21
+ };
17
22
  }
18
23
  declare const PicturePreview: react.ForwardRefExoticComponent<Omit<PicturePreviewProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
19
24