@bluepic/embed 0.4.0-next.99 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/bluepic-embed.iife.js +402 -178
  2. package/dist/bluepic-embed.umd.js +402 -178
  3. package/dist/components/AssetViewer/AssetViewer.vue.d.ts +71 -0
  4. package/dist/components/BxAudioPlayButton.vue.d.ts +24 -0
  5. package/dist/components/BxCard.vue.d.ts +35 -0
  6. package/dist/components/BxInput.vue.d.ts +7 -1
  7. package/dist/components/BxList.vue.d.ts +9 -0
  8. package/dist/components/BxListItem.vue.d.ts +13 -1
  9. package/dist/components/BxPopover.vue.d.ts +7 -0
  10. package/dist/components/BxPreviewLayer.vue.d.ts +18 -0
  11. package/dist/components/BxScrollbar.vue.d.ts +7 -0
  12. package/dist/components/BxSelect.vue.d.ts +16 -2
  13. package/dist/components/BxTable.vue.d.ts +109 -0
  14. package/dist/components/BxTabs.vue.d.ts +7 -0
  15. package/dist/components/BxWaveformThumb.vue.d.ts +27 -0
  16. package/dist/components/CollectionFieldPopup.vue.d.ts +4 -0
  17. package/dist/components/PopoverElement.vue.d.ts +10 -1
  18. package/dist/components/TemplateEditor/BatchCell.vue.d.ts +18 -0
  19. package/dist/components/TemplateEditor/BatchEditor.vue.d.ts +264 -0
  20. package/dist/components/TemplateEditor/BatchExportPopup.vue.d.ts +68 -0
  21. package/dist/components/TemplateEditor/BatchImportPopup.vue.d.ts +25 -0
  22. package/dist/components/TemplateEditor/BxLiveTemplate.vue.d.ts +8 -0
  23. package/dist/components/TemplateEditor/BxTemplateEditor.vue.d.ts +285 -16
  24. package/dist/components/TemplateEditor/FieldHintsLayer.vue.d.ts +86 -0
  25. package/dist/components/TemplateEditor/TemplateView.vue.d.ts +77 -2
  26. package/dist/components/User/UserInfo.vue.d.ts +12 -1
  27. package/dist/components/directives/usePopup.d.ts +5 -0
  28. package/dist/components/fields/Collection.vue.d.ts +3 -0
  29. package/dist/components/fields/Image.vue.d.ts +19 -5
  30. package/dist/components/fields/ImageEdit.vue.d.ts +6 -1
  31. package/dist/components/fields/Text.vue.d.ts +1 -1
  32. package/dist/embed/embed.d.ts +1024 -228
  33. package/dist/{index-CWm6zOv7.js → index-C99_zLhc.js} +9 -9
  34. package/dist/index-D8N6IfRw.cjs +1 -0
  35. package/dist/main.cjs +240 -162
  36. package/dist/main.d.ts +20 -0
  37. package/dist/main.mjs +79043 -68465
  38. package/dist/markdown-it-5-ieF6Bh.js +3790 -0
  39. package/dist/markdown-it-CLB5Jta6.cjs +16 -0
  40. package/dist/postal-mime-Df-WB8Vq.js +3337 -0
  41. package/dist/postal-mime-_7WF5UBe.cjs +28 -0
  42. package/dist/style.css +1 -1
  43. package/dist/theme/bridge.d.ts +14 -0
  44. package/dist/theme/color.d.ts +80 -0
  45. package/dist/theme/css.d.ts +8 -0
  46. package/dist/theme/index.d.ts +19 -0
  47. package/dist/theme/legacy.d.ts +3 -0
  48. package/dist/theme/resolve.d.ts +10 -0
  49. package/dist/theme/tokens.d.ts +129 -0
  50. package/dist/theme/types-contract.d.ts +13 -0
  51. package/dist/theme.cjs +1 -0
  52. package/dist/theme.mjs +1313 -0
  53. package/dist/util/assetAuth.d.ts +35 -0
  54. package/dist/util/audioPreview.d.ts +8 -0
  55. package/dist/util/batch/csv.d.ts +58 -0
  56. package/dist/util/batch/export.d.ts +92 -0
  57. package/dist/util/batch/fields.d.ts +22 -0
  58. package/dist/util/batch/parseCSV.d.ts +72 -0
  59. package/dist/util/batch/useBatchRows.d.ts +67 -0
  60. package/dist/util/cloneDeep.d.ts +5 -5
  61. package/dist/util/cloudflareImages.d.ts +8 -1
  62. package/dist/util/contextCapture.d.ts +19 -0
  63. package/dist/util/export.d.ts +65 -18
  64. package/dist/util/fieldHints/chipAction.d.ts +23 -0
  65. package/dist/util/fieldHints/fieldFocus.d.ts +81 -0
  66. package/dist/util/fieldHints/geometry.d.ts +52 -0
  67. package/dist/util/fieldHints/index.d.ts +20 -0
  68. package/dist/util/fieldHints/probe.d.ts +84 -0
  69. package/dist/util/fieldHints/resolve.d.ts +55 -0
  70. package/dist/util/fieldHints/textProbe.d.ts +71 -0
  71. package/dist/util/fieldHints/useCanvasTextEditing.d.ts +125 -0
  72. package/dist/util/fieldHints/useChipHighlight.d.ts +29 -0
  73. package/dist/util/fieldHints/useFieldHitboxes.d.ts +5601 -0
  74. package/dist/util/fieldHints/useHintReveal.d.ts +10 -0
  75. package/dist/util/fieldTree.d.ts +20 -0
  76. package/dist/util/fields.d.ts +1 -1
  77. package/dist/util/gallery.d.ts +78 -30
  78. package/dist/util/popoverArrow.d.ts +33 -0
  79. package/dist/util/popupHeaderTools.d.ts +26 -0
  80. package/dist/util/scrollPassthrough.d.ts +9 -0
  81. package/dist/util/useTheme.d.ts +36 -1
  82. package/dist/util/visualViewport.d.ts +47 -0
  83. package/dist/xlsx-BopDBbWb.js +24176 -0
  84. package/dist/xlsx-qn1xoUuv.cjs +105 -0
  85. package/package.json +18 -5
  86. package/dist/index-DFXQWOGQ.cjs +0 -1
  87. package/dist/util/backgroundRemoval.d.ts +0 -51
@@ -0,0 +1,86 @@
1
+ import type { BluepicField } from '@bluepic/types';
2
+ import type { FieldHitbox } from '../../util/fieldHints';
3
+ import type { CanvasTextState, SelectionHandle } from '../../util/fieldHints/useCanvasTextEditing';
4
+ type __VLS_Props = {
5
+ hitboxes: FieldHitbox[];
6
+ /**
7
+ * zoompinch's slot function. Takes CANVAS-pixel coordinates — and since the
8
+ * live template is sized to `serial.width × serial.height` (exactly as
9
+ * bx-studio sizes its SerialWrapper), those are serial coordinates. The
10
+ * canvas dimensions are still threaded through below rather than assumed,
11
+ * because the `serialWidth`/`serialHeight` prop path can render without a
12
+ * serial at all.
13
+ */
14
+ composePoint: (x: number, y: number) => [number, number];
15
+ canvasWidth: number;
16
+ canvasHeight: number;
17
+ serialWidth: number;
18
+ serialHeight: number;
19
+ /**
20
+ * Not read — a reactivity dependency. `composePoint` is a plain function
21
+ * closing over zoompinch's engine state, so nothing about calling it tells
22
+ * Vue to recompute when the user pans. Naming the live transform as a prop
23
+ * is what re-runs `placed` on every gesture frame.
24
+ */
25
+ transform: unknown;
26
+ /** On multi-frame templates, only the focused frame's hints are shown. */
27
+ activeFrameIndex?: number;
28
+ /** Paint only. The hitboxes stay clickable either way — see the stylesheet. */
29
+ revealed: boolean;
30
+ /** Live caret + selection in SERIAL coordinates, or absent when not editing. */
31
+ textState?: CanvasTextState;
32
+ /** Element whose text is being edited — its hitbox becomes a selection surface. */
33
+ editingElementId?: string;
34
+ /** zoompinch's inverse projection, for turning a pointer position into serial coords. */
35
+ normalizeClientCoords: (clientX: number, clientY: number) => [number, number];
36
+ };
37
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
38
+ "activate-field": (args_0: BluepicField) => any;
39
+ "focus-field": (args_0: BluepicField) => any;
40
+ "hover-field": (args_0: BluepicField | undefined) => any;
41
+ "select-start": (args_0: {
42
+ x: number;
43
+ y: number;
44
+ }) => any;
45
+ "select-move": (args_0: {
46
+ x: number;
47
+ y: number;
48
+ }) => any;
49
+ "select-end": () => any;
50
+ "handle-grab": (args_0: {
51
+ handle: SelectionHandle;
52
+ point: {
53
+ x: number;
54
+ y: number;
55
+ };
56
+ }) => any;
57
+ "select-word": (args_0: {
58
+ x: number;
59
+ y: number;
60
+ }) => any;
61
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
62
+ "onActivate-field"?: ((args_0: BluepicField) => any) | undefined;
63
+ "onFocus-field"?: ((args_0: BluepicField) => any) | undefined;
64
+ "onHover-field"?: ((args_0: BluepicField | undefined) => any) | undefined;
65
+ "onSelect-start"?: ((args_0: {
66
+ x: number;
67
+ y: number;
68
+ }) => any) | undefined;
69
+ "onSelect-move"?: ((args_0: {
70
+ x: number;
71
+ y: number;
72
+ }) => any) | undefined;
73
+ "onSelect-end"?: (() => any) | undefined;
74
+ "onHandle-grab"?: ((args_0: {
75
+ handle: SelectionHandle;
76
+ point: {
77
+ x: number;
78
+ y: number;
79
+ };
80
+ }) => any) | undefined;
81
+ "onSelect-word"?: ((args_0: {
82
+ x: number;
83
+ y: number;
84
+ }) => any) | undefined;
85
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
86
+ export default _default;
@@ -1,6 +1,8 @@
1
1
  import { Transform } from '@zoompinch/vue';
2
2
  import { Ref } from 'vue';
3
- import { Template } from '@bluepic/types';
3
+ import { BluepicField, Template } from '@bluepic/types';
4
+ import type { FieldHitbox } from '../../util/fieldHints';
5
+ import type { CanvasTextState, SelectionHandle } from '../../util/fieldHints/useCanvasTextEditing';
4
6
  import type { AssetProxyConfig } from '../../util/assetProxy';
5
7
  type __VLS_Props = {
6
8
  bxCoreVersion?: string;
@@ -12,6 +14,8 @@ type __VLS_Props = {
12
14
  serialWidth?: number;
13
15
  serialHeight?: number;
14
16
  preview?: string;
17
+ /** Passed straight through to BxLiveTemplate's skeleton — see its own doc. */
18
+ personalizedPreviewSrc?: string | null;
15
19
  offset: {
16
20
  top: number;
17
21
  right: number;
@@ -27,6 +31,17 @@ type __VLS_Props = {
27
31
  * reflects the currently rendered graphic.
28
32
  */
29
33
  accessibilityDescription?: string;
34
+ /** Derived field-hint targets in serial coordinates. Empty = no overlay. */
35
+ fieldHitboxes?: FieldHitbox[];
36
+ /**
37
+ * Whether the hint overlay is PAINTED (hover on desktop, tap on mobile). The
38
+ * hitboxes stay clickable regardless — see `FieldHintsLayer`.
39
+ */
40
+ hintsRevealed?: boolean;
41
+ /** Live caret + selection in serial coordinates while a hint-focused field is edited. */
42
+ textState?: CanvasTextState;
43
+ /** Element whose text is being edited. */
44
+ editingElementId?: string;
30
45
  };
31
46
  declare const _default: import("vue").DefineComponent<__VLS_Props, {
32
47
  currentlyFocusedFrame: import("vue").ComputedRef<{
@@ -47,6 +62,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
47
62
  serialWidth?: number;
48
63
  serialHeight?: number;
49
64
  preview?: string;
65
+ personalizedPreviewSrc?: string | null;
50
66
  data?: {
51
67
  [k: string]: unknown;
52
68
  };
@@ -73,6 +89,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
73
89
  watermark: boolean;
74
90
  resultType: "blob";
75
91
  externalCanvas: HTMLCanvasElement | null;
92
+ svgLoadWaitDelay?: number;
76
93
  }): Promise<Blob>;
77
94
  (options: {
78
95
  type: "image/png" | "image/jpeg" | "image/jpge" | "image/webp";
@@ -87,6 +104,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
87
104
  watermark: boolean;
88
105
  resultType: "canvas";
89
106
  externalCanvas: HTMLCanvasElement | null;
107
+ svgLoadWaitDelay?: number;
90
108
  }): Promise<HTMLCanvasElement>;
91
109
  };
92
110
  aspectRatio: import("vue").ComputedRef<number>;
@@ -118,6 +136,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
118
136
  serialWidth?: number;
119
137
  serialHeight?: number;
120
138
  preview?: string;
139
+ personalizedPreviewSrc?: string | null;
121
140
  data?: {
122
141
  [k: string]: unknown;
123
142
  };
@@ -144,6 +163,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
144
163
  watermark: boolean;
145
164
  resultType: "blob";
146
165
  externalCanvas: HTMLCanvasElement | null;
166
+ svgLoadWaitDelay?: number;
147
167
  }): Promise<Blob>;
148
168
  (options: {
149
169
  type: "image/png" | "image/jpeg" | "image/jpge" | "image/webp";
@@ -158,6 +178,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
158
178
  watermark: boolean;
159
179
  resultType: "canvas";
160
180
  externalCanvas: HTMLCanvasElement | null;
181
+ svgLoadWaitDelay?: number;
161
182
  }): Promise<HTMLCanvasElement>;
162
183
  };
163
184
  aspectRatio: import("vue").ComputedRef<number>;
@@ -174,6 +195,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
174
195
  serialWidth?: number;
175
196
  serialHeight?: number;
176
197
  preview?: string;
198
+ personalizedPreviewSrc?: string | null;
177
199
  data?: {
178
200
  [k: string]: unknown;
179
201
  };
@@ -200,6 +222,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
200
222
  watermark: boolean;
201
223
  resultType: "blob";
202
224
  externalCanvas: HTMLCanvasElement | null;
225
+ svgLoadWaitDelay?: number;
203
226
  }): Promise<Blob>;
204
227
  (options: {
205
228
  type: "image/png" | "image/jpeg" | "image/jpge" | "image/webp";
@@ -214,6 +237,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
214
237
  watermark: boolean;
215
238
  resultType: "canvas";
216
239
  externalCanvas: HTMLCanvasElement | null;
240
+ svgLoadWaitDelay?: number;
217
241
  }): Promise<HTMLCanvasElement>;
218
242
  };
219
243
  aspectRatio: import("vue").ComputedRef<number>;
@@ -245,6 +269,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
245
269
  serialWidth?: number;
246
270
  serialHeight?: number;
247
271
  preview?: string;
272
+ personalizedPreviewSrc?: string | null;
248
273
  data?: {
249
274
  [k: string]: unknown;
250
275
  };
@@ -271,6 +296,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
271
296
  watermark: boolean;
272
297
  resultType: "blob";
273
298
  externalCanvas: HTMLCanvasElement | null;
299
+ svgLoadWaitDelay?: number;
274
300
  }): Promise<Blob>;
275
301
  (options: {
276
302
  type: "image/png" | "image/jpeg" | "image/jpge" | "image/webp";
@@ -285,6 +311,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
285
311
  watermark: boolean;
286
312
  resultType: "canvas";
287
313
  externalCanvas: HTMLCanvasElement | null;
314
+ svgLoadWaitDelay?: number;
288
315
  }): Promise<HTMLCanvasElement>;
289
316
  };
290
317
  aspectRatio: import("vue").ComputedRef<number>;
@@ -678,5 +705,53 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
678
705
  };
679
706
  }) | undefined>;
680
707
  isMultiFrame: import("vue").ComputedRef<boolean>;
681
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
708
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
709
+ "activate-field": (args_0: BluepicField) => any;
710
+ "focus-field": (args_0: BluepicField) => any;
711
+ "hover-field": (args_0: BluepicField | undefined) => any;
712
+ "select-start": (args_0: {
713
+ x: number;
714
+ y: number;
715
+ }) => any;
716
+ "select-move": (args_0: {
717
+ x: number;
718
+ y: number;
719
+ }) => any;
720
+ "select-end": () => any;
721
+ "handle-grab": (args_0: {
722
+ handle: SelectionHandle;
723
+ point: {
724
+ x: number;
725
+ y: number;
726
+ };
727
+ }) => any;
728
+ "select-word": (args_0: {
729
+ x: number;
730
+ y: number;
731
+ }) => any;
732
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
733
+ "onActivate-field"?: ((args_0: BluepicField) => any) | undefined;
734
+ "onFocus-field"?: ((args_0: BluepicField) => any) | undefined;
735
+ "onHover-field"?: ((args_0: BluepicField | undefined) => any) | undefined;
736
+ "onSelect-start"?: ((args_0: {
737
+ x: number;
738
+ y: number;
739
+ }) => any) | undefined;
740
+ "onSelect-move"?: ((args_0: {
741
+ x: number;
742
+ y: number;
743
+ }) => any) | undefined;
744
+ "onSelect-end"?: (() => any) | undefined;
745
+ "onHandle-grab"?: ((args_0: {
746
+ handle: SelectionHandle;
747
+ point: {
748
+ x: number;
749
+ y: number;
750
+ };
751
+ }) => any) | undefined;
752
+ "onSelect-word"?: ((args_0: {
753
+ x: number;
754
+ y: number;
755
+ }) => any) | undefined;
756
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
682
757
  export default _default;
@@ -1,11 +1,16 @@
1
1
  import { z } from '@hono/zod-openapi';
2
2
  import { Studio } from '@bluepic/types';
3
3
  import type { User } from '@auth0/auth0-vue';
4
+ import type { VNode } from 'vue';
4
5
  type __VLS_Props = {
5
6
  user: z.infer<typeof Studio.auth0UserViaManagementAPISchema> | User;
6
7
  showSettings?: boolean;
7
8
  };
8
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
9
+ type __VLS_Slots = {
10
+ /** Host content between the identity block and the Settings / Logout actions. */
11
+ default?: () => VNode[] | VNode;
12
+ };
13
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
9
14
  logout: () => any;
10
15
  settings: () => any;
11
16
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
@@ -14,4 +19,10 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
14
19
  }>, {
15
20
  showSettings: boolean;
16
21
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
17
23
  export default _default;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -91,6 +91,11 @@ export type PopoverCreationOptions = {
91
91
  capturedContext?: Record<string | symbol, any>;
92
92
  content: () => VNode[] | VNode;
93
93
  noPointerEvents?: boolean;
94
+ /**
95
+ * Override scroll pass-through. Defaults to `!darkenBackground`: a popover
96
+ * without a scrim lets wheel/touch gestures beside it scroll the app.
97
+ */
98
+ scrollPassthrough?: boolean;
94
99
  closeOnClickOutside?: boolean;
95
100
  transitionDuration?: number;
96
101
  };
@@ -10,6 +10,9 @@ declare const _default: <T extends {
10
10
  description?: string;
11
11
  detailedDescription?: string;
12
12
  bridge: FieldsBridge;
13
+ /** Authored per-entry defaults — this is the `defaultObject` key of the Collection field type. */
14
+ defaultObject?: T;
15
+ /** @deprecated old prop name for `defaultObject`; kept so existing direct consumers stay valid. */
13
16
  defaultValue?: T;
14
17
  mobile?: boolean;
15
18
  min?: number;
@@ -1,4 +1,4 @@
1
- import { BluepicField, FieldsBridge, ImageLibrary, ImageMime } from '@bluepic/types';
1
+ import { BluepicField, FieldsBridge, ImageLibrary, ImageMime, Template } from '@bluepic/types';
2
2
  type __VLS_Props = {
3
3
  layout: 'compact' | 'normal';
4
4
  allowUploadFromDevice: boolean;
@@ -8,7 +8,6 @@ type __VLS_Props = {
8
8
  convertTo?: ImageMime;
9
9
  quality: number;
10
10
  imageLibraries: ImageLibrary[];
11
- removeBackground: boolean;
12
11
  uploadLabel?: string;
13
12
  actionsLabel?: string;
14
13
  maxSize?: number;
@@ -17,12 +16,27 @@ type __VLS_Props = {
17
16
  field?: BluepicField;
18
17
  };
19
18
  type __VLS_PublicProps = __VLS_Props & {
20
- 'modelValue': string;
19
+ /**
20
+ * The bound value.
21
+ *
22
+ * Typed as `ImageValue | string` because BOTH shapes occur in the wild: a
23
+ * template whose image element is bound straight to a src holds a plain string,
24
+ * while one where the element's image value carries settings of its own (crop,
25
+ * mirror flags, `removeBackground`) holds the whole object — `setPropertyValue`
26
+ * in bx-studio writes the object INTO the binding whenever the element's
27
+ * property expression is a simple binding key.
28
+ *
29
+ * Reading is via `imageSource`; writing MUST go through `handleImageSelection`,
30
+ * which preserves the object. Assigning a bare string here would silently drop
31
+ * every other key on the value — that is exactly how background removal was
32
+ * lost on the first upload.
33
+ */
34
+ 'modelValue': Template.ImageValue | string;
21
35
  };
22
36
  declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
- "update:modelValue": (value: string) => any;
37
+ "update:modelValue": (value: string | Template.ImageValue) => any;
24
38
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
25
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
39
+ "onUpdate:modelValue"?: ((value: string | Template.ImageValue) => any) | undefined;
26
40
  }>, {
27
41
  maxSize: number;
28
42
  uploadLabel: string;
@@ -7,13 +7,17 @@ type __VLS_Props = {
7
7
  convertTo?: ImageMime;
8
8
  quality: number;
9
9
  imageLibraries: ImageLibrary[];
10
- removeBackground: boolean;
11
10
  uploadLabel?: string;
12
11
  editLabel?: string;
13
12
  actionsLabel?: string;
14
13
  maxSize?: number;
15
14
  bridge: FieldsBridge;
16
15
  mobile?: boolean;
16
+ /**
17
+ * Table-cell layout (batch editor): a small thumbnail with icon-only
18
+ * actions in a row, instead of the card layout with labelled buttons.
19
+ */
20
+ compact?: boolean;
17
21
  field?: BluepicField;
18
22
  allowCropImage: boolean;
19
23
  aspectRatio: number;
@@ -45,6 +49,7 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {},
45
49
  uploadLabel: string;
46
50
  actionsLabel: string;
47
51
  mobile: boolean;
52
+ compact: boolean;
48
53
  resetCropOnChange: boolean;
49
54
  allowPadding: boolean;
50
55
  autoCrop: boolean;
@@ -17,7 +17,7 @@ type __VLS_Props = {
17
17
  mixedStyleLabel: Localized<string>;
18
18
  };
19
19
  bridge: FieldsBridge;
20
- maxHeight: string | null;
20
+ maxHeight?: string | null;
21
21
  labelId?: string;
22
22
  minWidth: string;
23
23
  maxWidth: string;