@ckc-net/puck-extended 0.2.2 → 0.3.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.
package/dist/index.d.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  import * as react0 from "react";
2
2
  import React$1, { ComponentProps, ReactNode, SyntheticEvent } from "react";
3
- import * as react_jsx_runtime3 from "react/jsx-runtime";
3
+ import { useRender } from "@base-ui/react/use-render";
4
+ import { VariantProps } from "class-variance-authority";
5
+ import * as react_jsx_runtime18 from "react/jsx-runtime";
6
+ import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
4
7
  import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
5
8
  import { Input as Input$1 } from "@base-ui/react/input";
6
9
  import { Select as Select$1 } from "@base-ui/react/select";
7
- import { useRender } from "@base-ui/react/use-render";
8
- import { VariantProps } from "class-variance-authority";
9
10
  import { Radio } from "@base-ui/react/radio";
10
11
  import { RadioGroup as RadioGroup$1 } from "@base-ui/react/radio-group";
11
12
  import * as _puckeditor_core0 from "@puckeditor/core";
12
- import { Field, FieldProps, Fields } from "@puckeditor/core";
13
+ import { ComponentConfig, Field, FieldProps, Fields, Slot } from "@puckeditor/core";
13
14
  import { Tabs as Tabs$1 } from "@base-ui/react/tabs";
14
- import { Accordion as Accordion$1 } from "@base-ui/react/accordion";
15
- import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
15
+ import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion";
16
16
  import { Popover as Popover$1 } from "@base-ui/react/popover";
17
17
  import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
18
18
  import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
@@ -44,7 +44,7 @@ declare const FieldNumberUnit: ({
44
44
  label: string;
45
45
  field: any;
46
46
  readOnly?: boolean;
47
- }) => react_jsx_runtime3.JSX.Element;
47
+ }) => react_jsx_runtime18.JSX.Element;
48
48
  //#endregion
49
49
  //#region src/overrides/plugin.d.ts
50
50
  declare const createPuckOverridesPlugin: () => {
@@ -58,7 +58,7 @@ declare const createPuckOverridesPlugin: () => {
58
58
  label?: string;
59
59
  parentAction?: react0.ReactNode;
60
60
  children?: react0.ReactNode;
61
- }): react_jsx_runtime3.JSX.Element;
61
+ }): react_jsx_runtime18.JSX.Element;
62
62
  Action: ({
63
63
  children,
64
64
  label,
@@ -67,31 +67,31 @@ declare const createPuckOverridesPlugin: () => {
67
67
  children: react0.ReactNode;
68
68
  label?: string;
69
69
  onClick: (e: react0.SyntheticEvent) => void;
70
- }) => react_jsx_runtime3.JSX.Element;
70
+ }) => react_jsx_runtime18.JSX.Element;
71
71
  Label: ({
72
72
  label
73
73
  }: {
74
74
  label: string;
75
- }) => react_jsx_runtime3.JSX.Element;
75
+ }) => react_jsx_runtime18.JSX.Element;
76
76
  Group: ({
77
77
  children
78
78
  }: {
79
79
  children: react0.ReactNode;
80
- }) => react_jsx_runtime3.JSX.Element;
81
- Separator: () => react_jsx_runtime3.JSX.Element;
80
+ }) => react_jsx_runtime18.JSX.Element;
81
+ Separator: () => react_jsx_runtime18.JSX.Element;
82
82
  };
83
83
  drawer: ({
84
84
  children
85
85
  }: {
86
86
  children: React.ReactNode;
87
- }) => react_jsx_runtime3.JSX.Element;
87
+ }) => react_jsx_runtime18.JSX.Element;
88
88
  drawerItem: ({
89
89
  name,
90
90
  icon
91
91
  }: {
92
92
  name: string;
93
93
  icon?: React.ReactNode;
94
- }) => react_jsx_runtime3.JSX.Element;
94
+ }) => react_jsx_runtime18.JSX.Element;
95
95
  fields: ({
96
96
  children
97
97
  }: {
@@ -101,14 +101,18 @@ declare const createPuckOverridesPlugin: () => {
101
101
  path?: string;
102
102
  index?: number;
103
103
  } | null;
104
- }) => react_jsx_runtime3.JSX.Element;
104
+ }) => react_jsx_runtime18.JSX.Element;
105
105
  fieldLabel: ({
106
106
  children,
107
- label
107
+ label,
108
+ field,
109
+ tooltip
108
110
  }: {
109
111
  children: React.ReactNode;
110
- label: string;
111
- }) => react_jsx_runtime3.JSX.Element;
112
+ label?: string;
113
+ field?: any;
114
+ tooltip?: string;
115
+ }) => react_jsx_runtime18.JSX.Element;
112
116
  fieldTypes: {
113
117
  checkbox: ({
114
118
  onChange,
@@ -124,10 +128,12 @@ declare const createPuckOverridesPlugin: () => {
124
128
  value: any;
125
129
  }>;
126
130
  layout?: CheckboxLayout;
131
+ readOnly?: boolean;
132
+ tooltip?: string;
127
133
  };
128
134
  }) & {
129
135
  label: string;
130
- }) => react_jsx_runtime3.JSX.Element | null;
136
+ }) => react_jsx_runtime18.JSX.Element | null;
131
137
  numberUnit: ({
132
138
  onChange,
133
139
  value,
@@ -140,7 +146,7 @@ declare const createPuckOverridesPlugin: () => {
140
146
  label: string;
141
147
  field: any;
142
148
  readOnly?: boolean;
143
- }) => react_jsx_runtime3.JSX.Element;
149
+ }) => react_jsx_runtime18.JSX.Element;
144
150
  radio: ({
145
151
  onChange,
146
152
  value,
@@ -158,7 +164,7 @@ declare const createPuckOverridesPlugin: () => {
158
164
  };
159
165
  }) & {
160
166
  label: string;
161
- }) => react_jsx_runtime3.JSX.Element | null;
167
+ }) => react_jsx_runtime18.JSX.Element | null;
162
168
  select: ({
163
169
  onChange,
164
170
  value,
@@ -171,7 +177,7 @@ declare const createPuckOverridesPlugin: () => {
171
177
  label: string;
172
178
  field: any;
173
179
  readOnly?: boolean;
174
- }) => react_jsx_runtime3.JSX.Element;
180
+ }) => react_jsx_runtime18.JSX.Element;
175
181
  text: ({
176
182
  onChange,
177
183
  value,
@@ -184,7 +190,7 @@ declare const createPuckOverridesPlugin: () => {
184
190
  label?: string;
185
191
  field: any;
186
192
  readOnly?: boolean;
187
- }) => react_jsx_runtime3.JSX.Element;
193
+ }) => react_jsx_runtime18.JSX.Element;
188
194
  textarea: ({
189
195
  onChange,
190
196
  value,
@@ -197,7 +203,7 @@ declare const createPuckOverridesPlugin: () => {
197
203
  label: string;
198
204
  field: any;
199
205
  readOnly?: boolean;
200
- }) => react_jsx_runtime3.JSX.Element;
206
+ }) => react_jsx_runtime18.JSX.Element;
201
207
  };
202
208
  };
203
209
  };
@@ -205,11 +211,13 @@ declare const createPuckOverridesPlugin: () => {
205
211
  //#region src/components/Fields/Label/index.d.ts
206
212
  declare const Label: ({
207
213
  label,
208
- readOnly
214
+ readOnly,
215
+ tooltip
209
216
  }: {
210
217
  label?: string;
211
218
  readOnly?: boolean;
212
- }) => react_jsx_runtime3.JSX.Element;
219
+ tooltip?: string;
220
+ }) => react_jsx_runtime18.JSX.Element;
213
221
  //#endregion
214
222
  //#region src/components/Fields/Input/index.d.ts
215
223
  declare const FieldInput: ({
@@ -224,7 +232,7 @@ declare const FieldInput: ({
224
232
  label?: string;
225
233
  field: any;
226
234
  readOnly?: boolean;
227
- }) => react_jsx_runtime3.JSX.Element;
235
+ }) => react_jsx_runtime18.JSX.Element;
228
236
  //#endregion
229
237
  //#region src/components/Fields/Textarea/index.d.ts
230
238
  declare const FieldTextarea: ({
@@ -239,7 +247,7 @@ declare const FieldTextarea: ({
239
247
  label: string;
240
248
  field: any;
241
249
  readOnly?: boolean;
242
- }) => react_jsx_runtime3.JSX.Element;
250
+ }) => react_jsx_runtime18.JSX.Element;
243
251
  //#endregion
244
252
  //#region src/components/Fields/Select/index.d.ts
245
253
  declare const FieldSelect: ({
@@ -254,7 +262,7 @@ declare const FieldSelect: ({
254
262
  label: string;
255
263
  field: any;
256
264
  readOnly?: boolean;
257
- }) => react_jsx_runtime3.JSX.Element;
265
+ }) => react_jsx_runtime18.JSX.Element;
258
266
  //#endregion
259
267
  //#region src/components/ui/radio.d.ts
260
268
  type RadioLayout = "horizontal" | "inline";
@@ -268,12 +276,12 @@ declare function RadioGroup({
268
276
  className,
269
277
  layout,
270
278
  ...props
271
- }: RadioGroupProps): react_jsx_runtime3.JSX.Element;
279
+ }: RadioGroupProps): react_jsx_runtime18.JSX.Element;
272
280
  declare function RadioGroupItem({
273
281
  className,
274
282
  layout,
275
283
  ...props
276
- }: RadioGroupItemProps): react_jsx_runtime3.JSX.Element;
284
+ }: RadioGroupItemProps): react_jsx_runtime18.JSX.Element;
277
285
  //#endregion
278
286
  //#region src/components/Fields/Radio/index.d.ts
279
287
  type RadioProps = FieldProps<Field<any>> & {
@@ -294,7 +302,7 @@ declare const FieldRadio: ({
294
302
  label
295
303
  }: RadioProps & {
296
304
  label: string;
297
- }) => react_jsx_runtime3.JSX.Element | null;
305
+ }) => react_jsx_runtime18.JSX.Element | null;
298
306
  //#endregion
299
307
  //#region src/components/ui/checkbox.d.ts
300
308
  type CheckboxLayout = "horizontal" | "inline";
@@ -305,7 +313,7 @@ declare function Checkbox({
305
313
  className,
306
314
  layout,
307
315
  ...props
308
- }: CheckboxProps$1): react_jsx_runtime3.JSX.Element;
316
+ }: CheckboxProps$1): react_jsx_runtime18.JSX.Element;
309
317
  //#endregion
310
318
  //#region src/components/Fields/Checkbox/index.d.ts
311
319
  type CheckboxProps = FieldProps<Field<any>> & {
@@ -316,6 +324,8 @@ type CheckboxProps = FieldProps<Field<any>> & {
316
324
  value: any;
317
325
  }>;
318
326
  layout?: CheckboxLayout;
327
+ readOnly?: boolean;
328
+ tooltip?: string;
319
329
  };
320
330
  };
321
331
  declare const FieldCheckbox: ({
@@ -326,7 +336,7 @@ declare const FieldCheckbox: ({
326
336
  label
327
337
  }: CheckboxProps & {
328
338
  label: string;
329
- }) => react_jsx_runtime3.JSX.Element | null;
339
+ }) => react_jsx_runtime18.JSX.Element | null;
330
340
  //#endregion
331
341
  //#region src/components/RichTextMenuLink/index.d.ts
332
342
  type RichTextMenuLinkProps = {
@@ -335,7 +345,7 @@ type RichTextMenuLinkProps = {
335
345
  declare function RichTextMenuLink({
336
346
  editor,
337
347
  ...props
338
- }: RichTextMenuLinkProps & Omit<ComponentProps<"div">, keyof RichTextMenuLinkProps>): react_jsx_runtime3.JSX.Element;
348
+ }: RichTextMenuLinkProps & Omit<ComponentProps<"div">, keyof RichTextMenuLinkProps>): react_jsx_runtime18.JSX.Element;
339
349
  //#endregion
340
350
  //#region src/components/RichTextMenuColorPicker/index.d.ts
341
351
  type RichTextMenuColorPickerProps = {
@@ -350,7 +360,7 @@ declare const richTextMenuColorPickerExtension: (_tiptap_core0.Mark<_tiptap_exte
350
360
  declare function RichTextMenuColorPicker({
351
361
  editor,
352
362
  ...props
353
- }: RichTextMenuColorPickerProps & Omit<ComponentProps<"div">, keyof RichTextMenuColorPickerProps>): react_jsx_runtime3.JSX.Element;
363
+ }: RichTextMenuColorPickerProps & Omit<ComponentProps<"div">, keyof RichTextMenuColorPickerProps>): react_jsx_runtime18.JSX.Element;
354
364
  //#endregion
355
365
  //#region src/components/MediaPicker/index.d.ts
356
366
  type MediaItem = {
@@ -360,10 +370,19 @@ type MediaItem = {
360
370
  thumbnail: string;
361
371
  type: string;
362
372
  };
373
+ /**
374
+ * Référence stable vers un média — ne contient jamais l'URL,
375
+ * qui peut changer. Utiliser `useMediaUrl` pour la résolution dynamique.
376
+ */
377
+ type MediaReference = {
378
+ id: number;
379
+ name: string;
380
+ thumbnail?: string;
381
+ };
363
382
  type MediaPickerValue = {
364
383
  type?: "url" | "media";
365
384
  url?: string;
366
- media?: MediaItem | null;
385
+ media?: MediaReference | null;
367
386
  };
368
387
  type MediaPickerProps = {
369
388
  value?: MediaPickerValue;
@@ -378,8 +397,27 @@ declare const MediaPicker: ({
378
397
  mediaType,
379
398
  acceptedTypes,
380
399
  maxSize
381
- }: MediaPickerProps) => react_jsx_runtime3.JSX.Element;
400
+ }: MediaPickerProps) => react_jsx_runtime18.JSX.Element;
401
+ /**
402
+ * Retourne l'URL directe si le type est "url".
403
+ * Pour les références média (`type: "media"`), utiliser `useMediaUrl` à la place.
404
+ */
382
405
  declare const getMediaUrl: (value?: MediaPickerValue) => string | undefined;
406
+ /**
407
+ * Hook React qui résout dynamiquement l'URL courante d'un `MediaPickerValue`.
408
+ *
409
+ * Pour les références média (`type: "media"`), l'URL est récupérée depuis
410
+ * l'API à partir de l'`id` du média — ce qui garantit que le lien reste
411
+ * valide même si l'URL du fichier a été modifiée après la sélection.
412
+ *
413
+ * @example
414
+ * const { url, loading } = useMediaUrl(value)
415
+ * return loading ? <Spinner /> : <img src={url} />
416
+ */
417
+ declare const useMediaUrl: (value?: MediaPickerValue) => {
418
+ url: string | undefined;
419
+ loading: boolean;
420
+ };
383
421
  //#endregion
384
422
  //#region src/components/PagePicker/index.d.ts
385
423
  type PageItem = {
@@ -410,7 +448,7 @@ type PagePickerProps = {
410
448
  declare const PagePicker: ({
411
449
  value,
412
450
  onChange
413
- }: PagePickerProps) => react_jsx_runtime3.JSX.Element;
451
+ }: PagePickerProps) => react_jsx_runtime18.JSX.Element;
414
452
  /**
415
453
  * Hook React qui résout dynamiquement l'URL courante d'un `PagePickerValue`.
416
454
  *
@@ -437,7 +475,7 @@ declare const ActionBar: {
437
475
  label?: string;
438
476
  parentAction?: ReactNode;
439
477
  children?: ReactNode;
440
- }): react_jsx_runtime3.JSX.Element;
478
+ }): react_jsx_runtime18.JSX.Element;
441
479
  Action: ({
442
480
  children,
443
481
  label,
@@ -446,18 +484,18 @@ declare const ActionBar: {
446
484
  children: ReactNode;
447
485
  label?: string;
448
486
  onClick: (e: SyntheticEvent) => void;
449
- }) => react_jsx_runtime3.JSX.Element;
487
+ }) => react_jsx_runtime18.JSX.Element;
450
488
  Label: ({
451
489
  label
452
490
  }: {
453
491
  label: string;
454
- }) => react_jsx_runtime3.JSX.Element;
492
+ }) => react_jsx_runtime18.JSX.Element;
455
493
  Group: ({
456
494
  children
457
495
  }: {
458
496
  children: ReactNode;
459
- }) => react_jsx_runtime3.JSX.Element;
460
- Separator: () => react_jsx_runtime3.JSX.Element;
497
+ }) => react_jsx_runtime18.JSX.Element;
498
+ Separator: () => react_jsx_runtime18.JSX.Element;
461
499
  };
462
500
  //#endregion
463
501
  //#region src/components/DrawerItem/index.d.ts
@@ -467,7 +505,7 @@ declare const DrawerItem: ({
467
505
  }: {
468
506
  name: string;
469
507
  icon?: React.ReactNode;
470
- }) => react_jsx_runtime3.JSX.Element;
508
+ }) => react_jsx_runtime18.JSX.Element;
471
509
  //#endregion
472
510
  //#region src/components/FieldGroups/index.d.ts
473
511
  type ItemSelector = {
@@ -481,7 +519,7 @@ type FieldGroupsProps = {
481
519
  };
482
520
  declare const FieldGroups: ({
483
521
  children
484
- }: FieldGroupsProps) => react_jsx_runtime3.JSX.Element;
522
+ }: FieldGroupsProps) => react_jsx_runtime18.JSX.Element;
485
523
  //#endregion
486
524
  //#region src/components/PickerModal/index.d.ts
487
525
  type PickerModalProps<T extends {
@@ -535,7 +573,7 @@ declare function PickerModal<T extends {
535
573
  emptyIcon,
536
574
  emptyMessage,
537
575
  footer
538
- }: PickerModalProps<T>): react_jsx_runtime3.JSX.Element;
576
+ }: PickerModalProps<T>): react_jsx_runtime18.JSX.Element;
539
577
  //#endregion
540
578
  //#region src/components/ColorPicker/index.d.ts
541
579
  type ColorPickerProps = {
@@ -559,95 +597,21 @@ declare const ColorPickerContent: React$1.FC<ColorPickerContentProps>;
559
597
  declare const ColorPicker: React$1.FC<ColorPickerProps>;
560
598
  //#endregion
561
599
  //#region src/components/ui/accordion.d.ts
562
- declare const cssAnimationPresets$1: {
563
- none: string;
564
- fade: string[];
565
- scale: string[];
566
- slide: string[];
567
- perspective: string[];
568
- perspectiveBlur: string[];
569
- };
570
- declare const cssTransitionPresets$1: {
571
- inExpo: string;
572
- outExpo: string;
573
- inOutExpo: string;
574
- anticipate: string;
575
- quickOut: string;
576
- overshootOut: string;
577
- swiftOut: string;
578
- snappyOut: string;
579
- in: string;
580
- out: string;
581
- inOut: string;
582
- outIn: string;
583
- inQuad: string;
584
- outQuad: string;
585
- inOutQuad: string;
586
- inCubic: string;
587
- outCubic: string;
588
- inOutCubic: string;
589
- inQuart: string;
590
- outQuart: string;
591
- inOutQuart: string;
592
- inQuint: string;
593
- outQuint: string;
594
- inOutQuint: string;
595
- inCirc: string;
596
- outCirc: string;
597
- inOutCirc: string;
598
- inOutBase: string;
599
- };
600
- type CSSAnimationPreset = keyof typeof cssAnimationPresets$1;
601
- type CSSTransitionPreset = keyof typeof cssTransitionPresets$1;
602
- type AccordionVariant = "default" | "card" | "swiss";
603
- interface AccordionProps extends Accordion$1.Root.Props {
604
- animationPreset?: CSSAnimationPreset;
605
- transitionPreset?: CSSTransitionPreset;
606
- reduceMotion?: boolean;
607
- variant?: AccordionVariant;
608
- }
609
- declare function Accordion({
610
- value,
611
- defaultValue,
612
- onValueChange,
613
- animationPreset,
614
- transitionPreset,
615
- reduceMotion,
616
- variant,
617
- className,
618
- multiple,
619
- ...props
620
- }: AccordionProps): react_jsx_runtime3.JSX.Element;
621
- interface AccordionItemProps extends Accordion$1.Item.Props {}
600
+ declare function Accordion(props: AccordionPrimitive.Root.Props): React$1.ReactElement;
622
601
  declare function AccordionItem({
623
- value: itemValue,
624
- onOpenChange,
625
- className,
626
- ...rest
627
- }: AccordionItemProps): react_jsx_runtime3.JSX.Element;
628
- interface AccordionHeaderProps extends Accordion$1.Header.Props {}
629
- declare function AccordionHeader({
630
602
  className,
631
603
  ...props
632
- }: AccordionHeaderProps): react_jsx_runtime3.JSX.Element;
633
- interface AccordionTriggerProps extends Accordion$1.Trigger.Props {
634
- icon?: (props: {
635
- open: boolean;
636
- }) => React$1.ReactNode;
637
- }
604
+ }: AccordionPrimitive.Item.Props): React$1.ReactElement;
638
605
  declare function AccordionTrigger({
639
606
  className,
640
- icon,
641
607
  children,
642
608
  ...props
643
- }: AccordionTriggerProps): react_jsx_runtime3.JSX.Element;
644
- interface AccordionPanelProps extends Accordion$1.Panel.Props {}
609
+ }: AccordionPrimitive.Trigger.Props): React$1.ReactElement;
645
610
  declare function AccordionPanel({
646
611
  className,
647
612
  children,
648
- style,
649
613
  ...props
650
- }: AccordionPanelProps): react_jsx_runtime3.JSX.Element;
614
+ }: AccordionPrimitive.Panel.Props): React$1.ReactElement;
651
615
  //#endregion
652
616
  //#region src/components/ui/badge.d.ts
653
617
  declare const badgeVariants: (props?: ({
@@ -685,7 +649,7 @@ declare function Button({
685
649
  //#endregion
686
650
  //#region src/components/ui/dialog.d.ts
687
651
  declare const Dialog: typeof Dialog$1.Root;
688
- declare function DialogTrigger(props: Dialog$1.Trigger.Props): react_jsx_runtime3.JSX.Element;
652
+ declare function DialogTrigger(props: Dialog$1.Trigger.Props): react_jsx_runtime18.JSX.Element;
689
653
  declare function DialogPopup({
690
654
  className,
691
655
  children,
@@ -695,59 +659,59 @@ declare function DialogPopup({
695
659
  }: Dialog$1.Popup.Props & {
696
660
  showCloseButton?: boolean;
697
661
  bottomStickOnMobile?: boolean;
698
- }): react_jsx_runtime3.JSX.Element;
662
+ }): react_jsx_runtime18.JSX.Element;
699
663
  declare function DialogHeader({
700
664
  className,
701
665
  ...props
702
- }: React.ComponentProps<"div">): react_jsx_runtime3.JSX.Element;
666
+ }: React.ComponentProps<"div">): react_jsx_runtime18.JSX.Element;
703
667
  declare function DialogFooter({
704
668
  className,
705
669
  variant,
706
670
  ...props
707
671
  }: React.ComponentProps<"div"> & {
708
672
  variant?: "default" | "bare";
709
- }): react_jsx_runtime3.JSX.Element;
673
+ }): react_jsx_runtime18.JSX.Element;
710
674
  declare function DialogTitle({
711
675
  className,
712
676
  ...props
713
- }: Dialog$1.Title.Props): react_jsx_runtime3.JSX.Element;
677
+ }: Dialog$1.Title.Props): react_jsx_runtime18.JSX.Element;
714
678
  declare function DialogDescription({
715
679
  className,
716
680
  ...props
717
- }: Dialog$1.Description.Props): react_jsx_runtime3.JSX.Element;
681
+ }: Dialog$1.Description.Props): react_jsx_runtime18.JSX.Element;
718
682
  declare function DialogPanel({
719
683
  className,
720
684
  scrollFade,
721
685
  ...props
722
686
  }: React.ComponentProps<"div"> & {
723
687
  scrollFade?: boolean;
724
- }): react_jsx_runtime3.JSX.Element;
688
+ }): react_jsx_runtime18.JSX.Element;
725
689
  //#endregion
726
690
  //#region src/components/ui/frame.d.ts
727
691
  declare function Frame({
728
692
  className,
729
693
  ...props
730
- }: react0.ComponentProps<"div">): react_jsx_runtime3.JSX.Element;
694
+ }: react0.ComponentProps<"div">): react_jsx_runtime18.JSX.Element;
731
695
  declare function FramePanel({
732
696
  className,
733
697
  ...props
734
- }: react0.ComponentProps<"div">): react_jsx_runtime3.JSX.Element;
698
+ }: react0.ComponentProps<"div">): react_jsx_runtime18.JSX.Element;
735
699
  declare function FrameHeader({
736
700
  className,
737
701
  ...props
738
- }: react0.ComponentProps<"header">): react_jsx_runtime3.JSX.Element;
702
+ }: react0.ComponentProps<"header">): react_jsx_runtime18.JSX.Element;
739
703
  declare function FrameTitle({
740
704
  className,
741
705
  ...props
742
- }: react0.ComponentProps<"div">): react_jsx_runtime3.JSX.Element;
706
+ }: react0.ComponentProps<"div">): react_jsx_runtime18.JSX.Element;
743
707
  declare function FrameDescription({
744
708
  className,
745
709
  ...props
746
- }: react0.ComponentProps<"div">): react_jsx_runtime3.JSX.Element;
710
+ }: react0.ComponentProps<"div">): react_jsx_runtime18.JSX.Element;
747
711
  declare function FrameFooter({
748
712
  className,
749
713
  ...props
750
- }: react0.ComponentProps<"footer">): react_jsx_runtime3.JSX.Element;
714
+ }: react0.ComponentProps<"footer">): react_jsx_runtime18.JSX.Element;
751
715
  //#endregion
752
716
  //#region src/components/ui/input.d.ts
753
717
  type InputProps = Omit<Input$1.Props & react0.RefAttributes<HTMLInputElement>, "size"> & {
@@ -761,7 +725,7 @@ declare function Input({
761
725
  unstyled,
762
726
  nativeInput,
763
727
  ...props
764
- }: InputProps): react_jsx_runtime3.JSX.Element;
728
+ }: InputProps): react_jsx_runtime18.JSX.Element;
765
729
  //#endregion
766
730
  //#region src/components/ui/textarea.d.ts
767
731
  type TextareaProps = react0.ComponentProps<"textarea"> & {
@@ -773,13 +737,13 @@ declare function Textarea({
773
737
  size,
774
738
  unstyled,
775
739
  ...props
776
- }: TextareaProps): react_jsx_runtime3.JSX.Element;
740
+ }: TextareaProps): react_jsx_runtime18.JSX.Element;
777
741
  //#endregion
778
742
  //#region src/components/ui/input-group.d.ts
779
743
  declare function InputGroup({
780
744
  className,
781
745
  ...props
782
- }: react0.ComponentProps<"div">): react_jsx_runtime3.JSX.Element;
746
+ }: react0.ComponentProps<"div">): react_jsx_runtime18.JSX.Element;
783
747
  declare const inputGroupAddonVariants: (props?: ({
784
748
  align?: "inline-start" | "block-end" | "block-start" | "inline-end" | null | undefined;
785
749
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
@@ -787,25 +751,25 @@ declare function InputGroupAddon({
787
751
  className,
788
752
  align,
789
753
  ...props
790
- }: react0.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime3.JSX.Element;
754
+ }: react0.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime18.JSX.Element;
791
755
  declare function InputGroupText({
792
756
  className,
793
757
  ...props
794
- }: react0.ComponentProps<"span">): react_jsx_runtime3.JSX.Element;
758
+ }: react0.ComponentProps<"span">): react_jsx_runtime18.JSX.Element;
795
759
  declare function InputGroupInput({
796
760
  className,
797
761
  ...props
798
- }: InputProps): react_jsx_runtime3.JSX.Element;
762
+ }: InputProps): react_jsx_runtime18.JSX.Element;
799
763
  declare function InputGroupTextarea({
800
764
  className,
801
765
  ...props
802
- }: TextareaProps): react_jsx_runtime3.JSX.Element;
766
+ }: TextareaProps): react_jsx_runtime18.JSX.Element;
803
767
  //#endregion
804
768
  //#region src/components/ui/menu.d.ts
805
769
  declare const MenuCreateHandle: typeof Menu$1.createHandle;
806
770
  declare const Menu: typeof Menu$1.Root;
807
771
  declare const MenuPortal: react0.ForwardRefExoticComponent<Omit<_base_ui_react0.ContextMenuPortalProps, "ref"> & react0.RefAttributes<HTMLDivElement>>;
808
- declare function MenuTrigger(props: Menu$1.Trigger.Props): react_jsx_runtime3.JSX.Element;
772
+ declare function MenuTrigger(props: Menu$1.Trigger.Props): react_jsx_runtime18.JSX.Element;
809
773
  declare function MenuPopup({
810
774
  children,
811
775
  className,
@@ -819,8 +783,8 @@ declare function MenuPopup({
819
783
  sideOffset?: Menu$1.Positioner.Props["sideOffset"];
820
784
  alignOffset?: Menu$1.Positioner.Props["alignOffset"];
821
785
  side?: Menu$1.Positioner.Props["side"];
822
- }): react_jsx_runtime3.JSX.Element;
823
- declare function MenuGroup(props: Menu$1.Group.Props): react_jsx_runtime3.JSX.Element;
786
+ }): react_jsx_runtime18.JSX.Element;
787
+ declare function MenuGroup(props: Menu$1.Group.Props): react_jsx_runtime18.JSX.Element;
824
788
  declare function MenuItem({
825
789
  className,
826
790
  inset,
@@ -829,7 +793,7 @@ declare function MenuItem({
829
793
  }: Menu$1.Item.Props & {
830
794
  inset?: boolean;
831
795
  variant?: "default" | "destructive";
832
- }): react_jsx_runtime3.JSX.Element;
796
+ }): react_jsx_runtime18.JSX.Element;
833
797
  declare function MenuCheckboxItem({
834
798
  className,
835
799
  children,
@@ -838,29 +802,29 @@ declare function MenuCheckboxItem({
838
802
  ...props
839
803
  }: Menu$1.CheckboxItem.Props & {
840
804
  variant?: "default" | "switch";
841
- }): react_jsx_runtime3.JSX.Element;
842
- declare function MenuRadioGroup(props: Menu$1.RadioGroup.Props): react_jsx_runtime3.JSX.Element;
805
+ }): react_jsx_runtime18.JSX.Element;
806
+ declare function MenuRadioGroup(props: Menu$1.RadioGroup.Props): react_jsx_runtime18.JSX.Element;
843
807
  declare function MenuRadioItem({
844
808
  className,
845
809
  children,
846
810
  ...props
847
- }: Menu$1.RadioItem.Props): react_jsx_runtime3.JSX.Element;
811
+ }: Menu$1.RadioItem.Props): react_jsx_runtime18.JSX.Element;
848
812
  declare function MenuGroupLabel({
849
813
  className,
850
814
  inset,
851
815
  ...props
852
816
  }: Menu$1.GroupLabel.Props & {
853
817
  inset?: boolean;
854
- }): react_jsx_runtime3.JSX.Element;
818
+ }): react_jsx_runtime18.JSX.Element;
855
819
  declare function MenuSeparator({
856
820
  className,
857
821
  ...props
858
- }: Menu$1.Separator.Props): react_jsx_runtime3.JSX.Element;
822
+ }: Menu$1.Separator.Props): react_jsx_runtime18.JSX.Element;
859
823
  declare function MenuShortcut({
860
824
  className,
861
825
  ...props
862
- }: react0.ComponentProps<"kbd">): react_jsx_runtime3.JSX.Element;
863
- declare function MenuSub(props: Menu$1.SubmenuRoot.Props): react_jsx_runtime3.JSX.Element;
826
+ }: react0.ComponentProps<"kbd">): react_jsx_runtime18.JSX.Element;
827
+ declare function MenuSub(props: Menu$1.SubmenuRoot.Props): react_jsx_runtime18.JSX.Element;
864
828
  declare function MenuSubTrigger({
865
829
  className,
866
830
  inset,
@@ -868,7 +832,7 @@ declare function MenuSubTrigger({
868
832
  ...props
869
833
  }: Menu$1.SubmenuTrigger.Props & {
870
834
  inset?: boolean;
871
- }): react_jsx_runtime3.JSX.Element;
835
+ }): react_jsx_runtime18.JSX.Element;
872
836
  declare function MenuSubPopup({
873
837
  className,
874
838
  sideOffset,
@@ -879,20 +843,20 @@ declare function MenuSubPopup({
879
843
  align?: Menu$1.Positioner.Props["align"];
880
844
  sideOffset?: Menu$1.Positioner.Props["sideOffset"];
881
845
  alignOffset?: Menu$1.Positioner.Props["alignOffset"];
882
- }): react_jsx_runtime3.JSX.Element;
846
+ }): react_jsx_runtime18.JSX.Element;
883
847
  //#endregion
884
848
  //#region src/components/ui/pagination.d.ts
885
849
  declare function Pagination({
886
850
  className,
887
851
  ...props
888
- }: react0.ComponentProps<"nav">): react_jsx_runtime3.JSX.Element;
852
+ }: react0.ComponentProps<"nav">): react_jsx_runtime18.JSX.Element;
889
853
  declare function PaginationContent({
890
854
  className,
891
855
  ...props
892
- }: react0.ComponentProps<"ul">): react_jsx_runtime3.JSX.Element;
856
+ }: react0.ComponentProps<"ul">): react_jsx_runtime18.JSX.Element;
893
857
  declare function PaginationItem({
894
858
  ...props
895
- }: react0.ComponentProps<"li">): react_jsx_runtime3.JSX.Element;
859
+ }: react0.ComponentProps<"li">): react_jsx_runtime18.JSX.Element;
896
860
  type PaginationLinkProps = {
897
861
  isActive?: boolean;
898
862
  size?: react0.ComponentProps<typeof Button>["size"];
@@ -907,20 +871,20 @@ declare function PaginationLink({
907
871
  declare function PaginationPrevious({
908
872
  className,
909
873
  ...props
910
- }: react0.ComponentProps<typeof PaginationLink>): react_jsx_runtime3.JSX.Element;
874
+ }: react0.ComponentProps<typeof PaginationLink>): react_jsx_runtime18.JSX.Element;
911
875
  declare function PaginationNext({
912
876
  className,
913
877
  ...props
914
- }: react0.ComponentProps<typeof PaginationLink>): react_jsx_runtime3.JSX.Element;
878
+ }: react0.ComponentProps<typeof PaginationLink>): react_jsx_runtime18.JSX.Element;
915
879
  declare function PaginationEllipsis({
916
880
  className,
917
881
  ...props
918
- }: react0.ComponentProps<"span">): react_jsx_runtime3.JSX.Element;
882
+ }: react0.ComponentProps<"span">): react_jsx_runtime18.JSX.Element;
919
883
  //#endregion
920
884
  //#region src/components/ui/popover.d.ts
921
885
  declare const PopoverCreateHandle: typeof Popover$1.createHandle;
922
886
  declare const Popover: typeof Popover$1.Root;
923
- declare function PopoverTrigger(props: Popover$1.Trigger.Props): react_jsx_runtime3.JSX.Element;
887
+ declare function PopoverTrigger(props: Popover$1.Trigger.Props): react_jsx_runtime18.JSX.Element;
924
888
  declare function PopoverPopup({
925
889
  children,
926
890
  className,
@@ -936,18 +900,18 @@ declare function PopoverPopup({
936
900
  sideOffset?: Popover$1.Positioner.Props["sideOffset"];
937
901
  alignOffset?: Popover$1.Positioner.Props["alignOffset"];
938
902
  tooltipStyle?: boolean;
939
- }): react_jsx_runtime3.JSX.Element;
903
+ }): react_jsx_runtime18.JSX.Element;
940
904
  declare function PopoverClose({
941
905
  ...props
942
- }: Popover$1.Close.Props): react_jsx_runtime3.JSX.Element;
906
+ }: Popover$1.Close.Props): react_jsx_runtime18.JSX.Element;
943
907
  declare function PopoverTitle({
944
908
  className,
945
909
  ...props
946
- }: Popover$1.Title.Props): react_jsx_runtime3.JSX.Element;
910
+ }: Popover$1.Title.Props): react_jsx_runtime18.JSX.Element;
947
911
  declare function PopoverDescription({
948
912
  className,
949
913
  ...props
950
- }: Popover$1.Description.Props): react_jsx_runtime3.JSX.Element;
914
+ }: Popover$1.Description.Props): react_jsx_runtime18.JSX.Element;
951
915
  //#endregion
952
916
  //#region src/components/ui/scroll-area.d.ts
953
917
  declare function ScrollArea({
@@ -959,12 +923,12 @@ declare function ScrollArea({
959
923
  }: ScrollArea$1.Root.Props & {
960
924
  scrollFade?: boolean;
961
925
  scrollbarGutter?: boolean;
962
- }): react_jsx_runtime3.JSX.Element;
926
+ }): react_jsx_runtime18.JSX.Element;
963
927
  declare function ScrollBar({
964
928
  className,
965
929
  orientation,
966
930
  ...props
967
- }: ScrollArea$1.Scrollbar.Props): react_jsx_runtime3.JSX.Element;
931
+ }: ScrollArea$1.Scrollbar.Props): react_jsx_runtime18.JSX.Element;
968
932
  //#endregion
969
933
  //#region src/components/ui/select.d.ts
970
934
  declare const Select: typeof Select$1.Root;
@@ -976,11 +940,11 @@ declare function SelectTrigger({
976
940
  size,
977
941
  children,
978
942
  ...props
979
- }: Select$1.Trigger.Props & VariantProps<typeof selectTriggerVariants>): react_jsx_runtime3.JSX.Element;
943
+ }: Select$1.Trigger.Props & VariantProps<typeof selectTriggerVariants>): react_jsx_runtime18.JSX.Element;
980
944
  declare function SelectValue({
981
945
  className,
982
946
  ...props
983
- }: Select$1.Value.Props): react_jsx_runtime3.JSX.Element;
947
+ }: Select$1.Value.Props): react_jsx_runtime18.JSX.Element;
984
948
  declare function SelectPopup({
985
949
  className,
986
950
  children,
@@ -998,72 +962,72 @@ declare function SelectPopup({
998
962
  alignOffset?: Select$1.Positioner.Props["alignOffset"];
999
963
  alignItemWithTrigger?: Select$1.Positioner.Props["alignItemWithTrigger"];
1000
964
  anchor?: Select$1.Positioner.Props["anchor"];
1001
- }): react_jsx_runtime3.JSX.Element;
965
+ }): react_jsx_runtime18.JSX.Element;
1002
966
  declare function SelectItem({
1003
967
  className,
1004
968
  children,
1005
969
  ...props
1006
- }: Select$1.Item.Props): react_jsx_runtime3.JSX.Element;
970
+ }: Select$1.Item.Props): react_jsx_runtime18.JSX.Element;
1007
971
  declare function SelectSeparator({
1008
972
  className,
1009
973
  ...props
1010
- }: Select$1.Separator.Props): react_jsx_runtime3.JSX.Element;
1011
- declare function SelectGroup(props: Select$1.Group.Props): react_jsx_runtime3.JSX.Element;
1012
- declare function SelectGroupLabel(props: Select$1.GroupLabel.Props): react_jsx_runtime3.JSX.Element;
974
+ }: Select$1.Separator.Props): react_jsx_runtime18.JSX.Element;
975
+ declare function SelectGroup(props: Select$1.Group.Props): react_jsx_runtime18.JSX.Element;
976
+ declare function SelectGroupLabel(props: Select$1.GroupLabel.Props): react_jsx_runtime18.JSX.Element;
1013
977
  //#endregion
1014
978
  //#region src/components/ui/separator.d.ts
1015
979
  declare function Separator({
1016
980
  className,
1017
981
  orientation,
1018
982
  ...props
1019
- }: Separator$1.Props): react_jsx_runtime3.JSX.Element;
983
+ }: Separator$1.Props): react_jsx_runtime18.JSX.Element;
1020
984
  //#endregion
1021
985
  //#region src/components/ui/switch.d.ts
1022
986
  declare function Switch({
1023
987
  className,
1024
988
  ...props
1025
- }: Switch$1.Root.Props): react_jsx_runtime3.JSX.Element;
989
+ }: Switch$1.Root.Props): react_jsx_runtime18.JSX.Element;
1026
990
  //#endregion
1027
991
  //#region src/components/ui/table.d.ts
1028
992
  declare function Table({
1029
993
  className,
1030
994
  ...props
1031
- }: react0.ComponentProps<"table">): react_jsx_runtime3.JSX.Element;
995
+ }: react0.ComponentProps<"table">): react_jsx_runtime18.JSX.Element;
1032
996
  declare function TableHeader({
1033
997
  className,
1034
998
  ...props
1035
- }: react0.ComponentProps<"thead">): react_jsx_runtime3.JSX.Element;
999
+ }: react0.ComponentProps<"thead">): react_jsx_runtime18.JSX.Element;
1036
1000
  declare function TableBody({
1037
1001
  className,
1038
1002
  ...props
1039
- }: react0.ComponentProps<"tbody">): react_jsx_runtime3.JSX.Element;
1003
+ }: react0.ComponentProps<"tbody">): react_jsx_runtime18.JSX.Element;
1040
1004
  declare function TableFooter({
1041
1005
  className,
1042
1006
  ...props
1043
- }: react0.ComponentProps<"tfoot">): react_jsx_runtime3.JSX.Element;
1007
+ }: react0.ComponentProps<"tfoot">): react_jsx_runtime18.JSX.Element;
1044
1008
  declare function TableRow({
1045
1009
  className,
1046
1010
  ...props
1047
- }: react0.ComponentProps<"tr">): react_jsx_runtime3.JSX.Element;
1011
+ }: react0.ComponentProps<"tr">): react_jsx_runtime18.JSX.Element;
1048
1012
  declare function TableHead({
1049
1013
  className,
1050
1014
  ...props
1051
- }: react0.ComponentProps<"th">): react_jsx_runtime3.JSX.Element;
1015
+ }: react0.ComponentProps<"th">): react_jsx_runtime18.JSX.Element;
1052
1016
  declare function TableCell({
1053
1017
  className,
1054
1018
  ...props
1055
- }: react0.ComponentProps<"td">): react_jsx_runtime3.JSX.Element;
1019
+ }: react0.ComponentProps<"td">): react_jsx_runtime18.JSX.Element;
1056
1020
  declare function TableCaption({
1057
1021
  className,
1058
1022
  ...props
1059
- }: react0.ComponentProps<"caption">): react_jsx_runtime3.JSX.Element;
1023
+ }: react0.ComponentProps<"caption">): react_jsx_runtime18.JSX.Element;
1060
1024
  //#endregion
1061
1025
  //#region src/components/ui/tabs.d.ts
1062
1026
  type TabsVariant = "default" | "underline";
1063
1027
  declare function Tabs({
1064
1028
  className,
1065
1029
  ...props
1066
- }: Tabs$1.Root.Props): react_jsx_runtime3.JSX.Element;
1030
+ }: Tabs$1.Root.Props): react_jsx_runtime18.JSX.Element;
1067
1031
  declare function TabsList({
1068
1032
  variant,
1069
1033
  className,
@@ -1071,15 +1035,15 @@ declare function TabsList({
1071
1035
  ...props
1072
1036
  }: Tabs$1.List.Props & {
1073
1037
  variant?: TabsVariant;
1074
- }): react_jsx_runtime3.JSX.Element;
1038
+ }): react_jsx_runtime18.JSX.Element;
1075
1039
  declare function TabsTab({
1076
1040
  className,
1077
1041
  ...props
1078
- }: Tabs$1.Tab.Props): react_jsx_runtime3.JSX.Element;
1042
+ }: Tabs$1.Tab.Props): react_jsx_runtime18.JSX.Element;
1079
1043
  declare function TabsPanel({
1080
1044
  className,
1081
1045
  ...props
1082
- }: Tabs$1.Panel.Props): react_jsx_runtime3.JSX.Element;
1046
+ }: Tabs$1.Panel.Props): react_jsx_runtime18.JSX.Element;
1083
1047
  //#endregion
1084
1048
  //#region src/components/ui/toast.d.ts
1085
1049
  declare const toastManager: _base_ui_react0.ToastManager;
@@ -1092,11 +1056,11 @@ declare function ToastProvider({
1092
1056
  children,
1093
1057
  position,
1094
1058
  ...props
1095
- }: ToastProviderProps): react_jsx_runtime3.JSX.Element;
1059
+ }: ToastProviderProps): react_jsx_runtime18.JSX.Element;
1096
1060
  declare function AnchoredToastProvider({
1097
1061
  children,
1098
1062
  ...props
1099
- }: Toast.Provider.Props): react_jsx_runtime3.JSX.Element;
1063
+ }: Toast.Provider.Props): react_jsx_runtime18.JSX.Element;
1100
1064
  //#endregion
1101
1065
  //#region src/components/ui/tooltip.d.ts
1102
1066
  declare const cssAnimationPresets: {
@@ -1147,13 +1111,13 @@ interface TooltipProviderProps extends Tooltip$1.Provider.Props {}
1147
1111
  declare function TooltipProvider({
1148
1112
  delay,
1149
1113
  ...props
1150
- }: TooltipProviderProps): react_jsx_runtime3.JSX.Element;
1114
+ }: TooltipProviderProps): react_jsx_runtime18.JSX.Element;
1151
1115
  interface TooltipProps extends Tooltip$1.Root.Props {}
1152
1116
  declare function Tooltip({
1153
1117
  ...props
1154
- }: TooltipProps): react_jsx_runtime3.JSX.Element;
1118
+ }: TooltipProps): react_jsx_runtime18.JSX.Element;
1155
1119
  interface TooltipTriggerProps extends Tooltip$1.Trigger.Props {}
1156
- declare function TooltipTrigger(props: TooltipTriggerProps): react_jsx_runtime3.JSX.Element;
1120
+ declare function TooltipTrigger(props: TooltipTriggerProps): react_jsx_runtime18.JSX.Element;
1157
1121
  interface TooltipPositionerProps extends Tooltip$1.Positioner.Props {}
1158
1122
  interface TooltipPopupProps extends Tooltip$1.Popup.Props, Pick<TooltipPositionerProps, "side" | "sideOffset" | "align" | "alignOffset"> {
1159
1123
  animationPreset?: CSSAnimationPresets;
@@ -1172,7 +1136,74 @@ declare function TooltipPopup({
1172
1136
  align,
1173
1137
  alignOffset,
1174
1138
  ...rest
1175
- }: TooltipPopupProps): react_jsx_runtime3.JSX.Element;
1139
+ }: TooltipPopupProps): react_jsx_runtime18.JSX.Element;
1140
+ //#endregion
1141
+ //#region src/blocks/Template/index.d.ts
1142
+ type TemplateProps = {
1143
+ template: string;
1144
+ children: Slot;
1145
+ };
1146
+ type TemplateData = Record<string, {
1147
+ label: string;
1148
+ data: Slot;
1149
+ }>;
1150
+ type CreateTemplateBlockOptions = {
1151
+ /**
1152
+ * Namespace key — used as the localStorage key prefix (without API) or as
1153
+ * the `key` column value in the database (with API).
1154
+ * Must be unique per project.
1155
+ * @default "puck-template"
1156
+ */
1157
+ storageKey?: string;
1158
+ /**
1159
+ * Static template presets always shown in the select (in addition to
1160
+ * "Blank"). Applied regardless of storage mode.
1161
+ */
1162
+ defaultTemplates?: TemplateData;
1163
+ /**
1164
+ * Base URL for the templates REST API.
1165
+ * When provided, templates are stored in the database instead of
1166
+ * localStorage, making them shared across all users.
1167
+ *
1168
+ * Accepts a lazy function so the URL can be resolved from the DOM
1169
+ * (e.g. from a data-* attribute) without breaking SSR or module init.
1170
+ *
1171
+ * Expected contract:
1172
+ * GET {apiUrl}?key={storageKey} → { templates: ApiTemplate[] }
1173
+ * POST {apiUrl} → { template: ApiTemplate }
1174
+ * body: { key, name, data }
1175
+ * DELETE {apiUrl}/{id} → { success: true }
1176
+ */
1177
+ apiUrl?: string | (() => string);
1178
+ /**
1179
+ * Returns headers merged into every API request.
1180
+ * Use this to inject CSRF tokens or custom auth headers.
1181
+ *
1182
+ * @example
1183
+ * getHeaders: () => ({ 'X-CSRF-TOKEN': getCsrfToken() })
1184
+ */
1185
+ getHeaders?: () => Record<string, string>;
1186
+ };
1187
+ /**
1188
+ * Factory that returns a ready-to-use Puck `ComponentConfig` for a Template
1189
+ * block.
1190
+ *
1191
+ * Without `apiUrl` — templates are saved in `localStorage` (per-browser).
1192
+ * With `apiUrl` — templates are saved in a database and shared across all
1193
+ * users and devices.
1194
+ *
1195
+ * @example
1196
+ * // Basic (localStorage)
1197
+ * Template: createTemplateBlock({ storageKey: 'my-project' })
1198
+ *
1199
+ * // Database-backed (shared)
1200
+ * Template: createTemplateBlock({
1201
+ * storageKey: 'my-project',
1202
+ * apiUrl: () => document.getElementById('editor')?.dataset.templatesUrl,
1203
+ * getHeaders: () => ({ 'X-CSRF-TOKEN': getCsrfToken() }),
1204
+ * })
1205
+ */
1206
+ declare function createTemplateBlock(options?: CreateTemplateBlockOptions): ComponentConfig<TemplateProps>;
1176
1207
  //#endregion
1177
1208
  //#region src/utils/animation.d.ts
1178
1209
  type AnimationTraitProps = {
@@ -1182,6 +1213,17 @@ declare const animationField: Fields;
1182
1213
  declare function animationToAttributes(animation?: AnimationTraitProps["animation"]): Record<string, string>;
1183
1214
  declare const animationDefaultProps: AnimationTraitProps;
1184
1215
  //#endregion
1216
+ //#region src/utils/customClasses.d.ts
1217
+ type CustomClassesTraitProps = {
1218
+ customClasses?: string[];
1219
+ };
1220
+ declare const customClassesField: Fields;
1221
+ declare function customClassesToClasses(customClasses?: string[]): string;
1222
+ declare const customClassesDefaultProps: CustomClassesTraitProps;
1223
+ //#endregion
1224
+ //#region src/utils/pagePicker.d.ts
1225
+ declare const pageField: Field<PagePickerValue>;
1226
+ //#endregion
1185
1227
  //#region src/utils/display.d.ts
1186
1228
  type DisplayTraitProps = {
1187
1229
  display?: "hidden" | "inline" | "inline-block" | "block" | "flex" | "inline-flex";
@@ -1347,5 +1389,5 @@ type OptimizedImageAttrs = {
1347
1389
  */
1348
1390
  declare function useOptimizedImage(src: string | undefined): OptimizedImageAttrs | null;
1349
1391
  //#endregion
1350
- export { Accordion, AccordionHeader, AccordionItem, AccordionPanel, AccordionTrigger, ActionBar, AnchoredToastProvider, AnimationTraitProps, Badge, Button, Checkbox, type CheckboxLayout, ColorPicker, ColorPickerContent, type ColorPickerContentProps, type ColorPickerProps, Dialog, DialogDescription, DialogFooter, DialogHeader, DialogPanel, DialogPopup, DialogTitle, DialogTrigger, DisplayTraitProps, DrawerItem, FieldCheckbox, FieldGroups, FieldInput, FieldNumberUnit, FieldRadio, FieldSelect, FieldTextarea, FontWeightTraitProps, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GRAY_COLORS, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, type InputProps, Label, LineHeightTraitProps, MarginItem, MarginTraitProps, MarginValue, type MediaItem, MediaPicker, type MediaPickerProps, type MediaPickerValue, Menu, MenuCheckboxItem, MenuCreateHandle, MenuGroup, MenuGroupLabel, MenuItem, MenuPopup, MenuPortal, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuShortcut, MenuSub, MenuSubPopup, MenuSubTrigger, MenuTrigger, OptimizedImageAttrs, PREDEFINED_COLORS, PaddingItem, PaddingTraitProps, PaddingValue, type PageItem, PagePicker, type PagePickerProps, type PagePickerValue, type PageReference, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PickerModal, type PickerModalProps, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverTitle, PopoverTrigger, PositionTraitProps, RadioGroup, RadioGroupItem, type RadioLayout, RichTextMenuColorPicker, RichTextMenuLink, ScrollArea, ScrollBar, Select, SelectGroup, SelectGroupLabel, SelectItem, SelectPopup, SelectSeparator, SelectTrigger, SelectValue, Separator, SizeTraitProps, SizeValue, SpacingTraitProps, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, TextAlignTraitProps, TextColorTraitProps, TextDecorationTraitProps, TextSizeTraitProps, TextTransformTraitProps, Textarea, type TextareaProps, type ToastPosition, ToastProvider, Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger, TypographyTraitProps, anchoredToastManager, animationDefaultProps, animationField, animationToAttributes, badgeVariants, buttonVariants, createPuckOverridesPlugin, displayDefaultProps, displayField, displayToClasses, fontWeightDefaultProps, fontWeightField, fontWeightToClasses, getMediaUrl, lineHeightDefaultProps, lineHeightField, lineHeightToClasses, marginDefaultProps, marginField, marginToClasses, paddingDefaultProps, paddingField, paddingToClasses, positionDefaultProps, positionField, positionToClasses, richTextMenuColorPickerExtension, sizeDefaultProps, sizeField, sizeToClasses, spacingDefaultProps, spacingFieldNames, spacingFields, spacingOptions, spacingToClasses, textAlignDefaultProps, textAlignField, textAlignToClasses, textColorDefaultProps, textColorField, textColorToClasses, textDecorationDefaultProps, textDecorationField, textDecorationToClasses, textSizeDefaultProps, textSizeField, textSizeToClasses, textTransformDefaultProps, textTransformField, textTransformToClasses, toastManager, typographyDefaultProps, typographyFieldNames, typographyFields, typographyToClasses, useOptimizedImage, usePageUrl };
1392
+ export { Accordion, AccordionItem, AccordionPanel, AccordionTrigger, ActionBar, AnchoredToastProvider, AnimationTraitProps, Badge, Button, Checkbox, type CheckboxLayout, ColorPicker, ColorPickerContent, type ColorPickerContentProps, type ColorPickerProps, type CreateTemplateBlockOptions, CustomClassesTraitProps, Dialog, DialogDescription, DialogFooter, DialogHeader, DialogPanel, DialogPopup, DialogTitle, DialogTrigger, DisplayTraitProps, DrawerItem, FieldCheckbox, FieldGroups, FieldInput, FieldNumberUnit, FieldRadio, FieldSelect, FieldTextarea, FontWeightTraitProps, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GRAY_COLORS, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, type InputProps, Label, LineHeightTraitProps, MarginItem, MarginTraitProps, MarginValue, type MediaItem, MediaPicker, type MediaPickerProps, type MediaPickerValue, type MediaReference, Menu, MenuCheckboxItem, MenuCreateHandle, MenuGroup, MenuGroupLabel, MenuItem, MenuPopup, MenuPortal, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuShortcut, MenuSub, MenuSubPopup, MenuSubTrigger, MenuTrigger, OptimizedImageAttrs, PREDEFINED_COLORS, PaddingItem, PaddingTraitProps, PaddingValue, type PageItem, PagePicker, type PagePickerProps, type PagePickerValue, type PageReference, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PickerModal, type PickerModalProps, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverPopup, PopoverCreateHandle, PopoverDescription, PopoverTitle, PopoverTrigger, PositionTraitProps, RadioGroup, RadioGroupItem, type RadioLayout, RichTextMenuColorPicker, RichTextMenuLink, ScrollArea, ScrollBar, Select, SelectGroup, SelectGroupLabel, SelectItem, SelectPopup, SelectSeparator, SelectTrigger, SelectValue, Separator, SizeTraitProps, SizeValue, SpacingTraitProps, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsPanel as TabsContent, TabsPanel, TabsList, TabsTab, TabsTab as TabsTrigger, type TemplateProps, TextAlignTraitProps, TextColorTraitProps, TextDecorationTraitProps, TextSizeTraitProps, TextTransformTraitProps, Textarea, type TextareaProps, type ToastPosition, ToastProvider, Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger, TypographyTraitProps, anchoredToastManager, animationDefaultProps, animationField, animationToAttributes, badgeVariants, buttonVariants, createPuckOverridesPlugin, createTemplateBlock, customClassesDefaultProps, customClassesField, customClassesToClasses, displayDefaultProps, displayField, displayToClasses, fontWeightDefaultProps, fontWeightField, fontWeightToClasses, getMediaUrl, lineHeightDefaultProps, lineHeightField, lineHeightToClasses, marginDefaultProps, marginField, marginToClasses, paddingDefaultProps, paddingField, paddingToClasses, pageField, positionDefaultProps, positionField, positionToClasses, richTextMenuColorPickerExtension, sizeDefaultProps, sizeField, sizeToClasses, spacingDefaultProps, spacingFieldNames, spacingFields, spacingOptions, spacingToClasses, textAlignDefaultProps, textAlignField, textAlignToClasses, textColorDefaultProps, textColorField, textColorToClasses, textDecorationDefaultProps, textDecorationField, textDecorationToClasses, textSizeDefaultProps, textSizeField, textSizeToClasses, textTransformDefaultProps, textTransformField, textTransformToClasses, toastManager, typographyDefaultProps, typographyFieldNames, typographyFields, typographyToClasses, useMediaUrl, useOptimizedImage, usePageUrl };
1351
1393
  //# sourceMappingURL=index.d.ts.map