@puckeditor/plugin-heading-analyzer 0.24.0-canary.10b39dc7 → 0.24.0-canary.13d862e3

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.mts CHANGED
@@ -53,7 +53,7 @@ type NonForwardableProps = {
53
53
  /**
54
54
  * Keys internally consumed by Puck and never forwarded to `as`.
55
55
  */
56
- type ConsumedPropKey = keyof DropZoneOwnProps | "as" | "content" | "config" | "metadata";
56
+ type ConsumedPropKey = keyof DropZoneOwnProps | "as" | "content" | "config" | "metadata" | "fieldTransforms";
57
57
  /**
58
58
  * Additional props forwarded to the element or component provided via `as`,
59
59
  * typed against it.
@@ -272,6 +272,10 @@ interface RadioField extends BaseField {
272
272
  type: "radio";
273
273
  options: FieldOptions;
274
274
  }
275
+ interface CheckboxField extends BaseField {
276
+ type: "checkbox";
277
+ options: FieldOptions;
278
+ }
275
279
  interface RichtextField<UserSelector extends RichTextSelector = RichTextSelector> extends BaseField {
276
280
  type: "richtext";
277
281
  contentEditable?: boolean;
@@ -314,6 +318,8 @@ interface ObjectField<Props extends any = {
314
318
  [key: string]: any;
315
319
  }, UserField extends {} = {}> extends BaseField {
316
320
  type: "object";
321
+ collapsible?: boolean;
322
+ defaultExpanded?: boolean;
317
323
  objectFields: {
318
324
  [SubPropName in keyof Props]: UserField extends {
319
325
  type: PropertyKey;
@@ -378,7 +384,7 @@ interface SlotField extends BaseField {
378
384
  allow?: string[];
379
385
  disallow?: string[];
380
386
  }
381
- type Field<ValueType = any, UserField extends {} = {}> = TextField | RichtextField | NumberField | TextareaField | SelectField | RadioField | ArrayField<ValueType extends {
387
+ type Field<ValueType = any, UserField extends {} = {}> = TextField | RichtextField | NumberField | TextareaField | SelectField | RadioField | CheckboxField | ArrayField<ValueType extends {
382
388
  [key: string]: any;
383
389
  }[] ? ValueType : never, UserField> | ObjectField<ValueType, UserField> | ExternalField<ValueType> | ExternalFieldWithAdaptor<ValueType> | CustomField<ValueType> | SlotField;
384
390
  type Fields<ComponentProps extends DefaultComponentProps = DefaultComponentProps, UserField extends {} = {}> = {
@@ -460,6 +466,9 @@ UserField extends BaseField = {}> = {
460
466
  label?: string;
461
467
  defaultProps?: FieldProps;
462
468
  fields?: Fields<FieldProps, UserField>;
469
+ renderFields?: RenderFunc<{
470
+ fields: Partial<Record<keyof FieldProps, ReactNode>>;
471
+ }>;
463
472
  permissions?: Partial<Permissions>;
464
473
  inline?: boolean;
465
474
  resolveFields?: (data: DataShape, params: {
@@ -608,10 +617,13 @@ type UiState = {
608
617
  controlsVisible: boolean;
609
618
  options: Viewport[];
610
619
  };
620
+ expandedFieldGroups: Record<string, boolean>;
611
621
  field: {
612
622
  focus?: string | null;
613
623
  metadata?: Record<string, any>;
614
624
  };
625
+ /** The selected field tab. Shows the first available tab when `null`. */
626
+ fieldTab?: string | number | null;
615
627
  plugin: {
616
628
  current: string | null;
617
629
  };
@@ -701,6 +713,8 @@ type Overrides<UserConfig extends Config = Config> = OverridesGeneric<{
701
713
  label?: string;
702
714
  children: ReactNode;
703
715
  parentAction: ReactNode;
716
+ dragHandle?: ReactNode;
717
+ dragHandleRef?: (element: Element | null) => void;
704
718
  }>;
705
719
  headerActions: RenderFunc<{
706
720
  children: ReactNode;
@@ -710,10 +724,12 @@ type Overrides<UserConfig extends Config = Config> = OverridesGeneric<{
710
724
  children: ReactNode;
711
725
  isLoading: boolean;
712
726
  itemSelector?: ItemSelector | null;
727
+ fields: Partial<Record<string, ReactNode>>;
713
728
  }>;
714
729
  fieldLabel: RenderFunc<{
715
730
  children?: ReactNode;
716
731
  icon?: ReactNode;
732
+ endIcon?: ReactNode;
717
733
  label: string;
718
734
  el?: "label" | "div";
719
735
  readOnly?: boolean;
package/dist/index.d.ts CHANGED
@@ -53,7 +53,7 @@ type NonForwardableProps = {
53
53
  /**
54
54
  * Keys internally consumed by Puck and never forwarded to `as`.
55
55
  */
56
- type ConsumedPropKey = keyof DropZoneOwnProps | "as" | "content" | "config" | "metadata";
56
+ type ConsumedPropKey = keyof DropZoneOwnProps | "as" | "content" | "config" | "metadata" | "fieldTransforms";
57
57
  /**
58
58
  * Additional props forwarded to the element or component provided via `as`,
59
59
  * typed against it.
@@ -272,6 +272,10 @@ interface RadioField extends BaseField {
272
272
  type: "radio";
273
273
  options: FieldOptions;
274
274
  }
275
+ interface CheckboxField extends BaseField {
276
+ type: "checkbox";
277
+ options: FieldOptions;
278
+ }
275
279
  interface RichtextField<UserSelector extends RichTextSelector = RichTextSelector> extends BaseField {
276
280
  type: "richtext";
277
281
  contentEditable?: boolean;
@@ -314,6 +318,8 @@ interface ObjectField<Props extends any = {
314
318
  [key: string]: any;
315
319
  }, UserField extends {} = {}> extends BaseField {
316
320
  type: "object";
321
+ collapsible?: boolean;
322
+ defaultExpanded?: boolean;
317
323
  objectFields: {
318
324
  [SubPropName in keyof Props]: UserField extends {
319
325
  type: PropertyKey;
@@ -378,7 +384,7 @@ interface SlotField extends BaseField {
378
384
  allow?: string[];
379
385
  disallow?: string[];
380
386
  }
381
- type Field<ValueType = any, UserField extends {} = {}> = TextField | RichtextField | NumberField | TextareaField | SelectField | RadioField | ArrayField<ValueType extends {
387
+ type Field<ValueType = any, UserField extends {} = {}> = TextField | RichtextField | NumberField | TextareaField | SelectField | RadioField | CheckboxField | ArrayField<ValueType extends {
382
388
  [key: string]: any;
383
389
  }[] ? ValueType : never, UserField> | ObjectField<ValueType, UserField> | ExternalField<ValueType> | ExternalFieldWithAdaptor<ValueType> | CustomField<ValueType> | SlotField;
384
390
  type Fields<ComponentProps extends DefaultComponentProps = DefaultComponentProps, UserField extends {} = {}> = {
@@ -460,6 +466,9 @@ UserField extends BaseField = {}> = {
460
466
  label?: string;
461
467
  defaultProps?: FieldProps;
462
468
  fields?: Fields<FieldProps, UserField>;
469
+ renderFields?: RenderFunc<{
470
+ fields: Partial<Record<keyof FieldProps, ReactNode>>;
471
+ }>;
463
472
  permissions?: Partial<Permissions>;
464
473
  inline?: boolean;
465
474
  resolveFields?: (data: DataShape, params: {
@@ -608,10 +617,13 @@ type UiState = {
608
617
  controlsVisible: boolean;
609
618
  options: Viewport[];
610
619
  };
620
+ expandedFieldGroups: Record<string, boolean>;
611
621
  field: {
612
622
  focus?: string | null;
613
623
  metadata?: Record<string, any>;
614
624
  };
625
+ /** The selected field tab. Shows the first available tab when `null`. */
626
+ fieldTab?: string | number | null;
615
627
  plugin: {
616
628
  current: string | null;
617
629
  };
@@ -701,6 +713,8 @@ type Overrides<UserConfig extends Config = Config> = OverridesGeneric<{
701
713
  label?: string;
702
714
  children: ReactNode;
703
715
  parentAction: ReactNode;
716
+ dragHandle?: ReactNode;
717
+ dragHandleRef?: (element: Element | null) => void;
704
718
  }>;
705
719
  headerActions: RenderFunc<{
706
720
  children: ReactNode;
@@ -710,10 +724,12 @@ type Overrides<UserConfig extends Config = Config> = OverridesGeneric<{
710
724
  children: ReactNode;
711
725
  isLoading: boolean;
712
726
  itemSelector?: ItemSelector | null;
727
+ fields: Partial<Record<string, ReactNode>>;
713
728
  }>;
714
729
  fieldLabel: RenderFunc<{
715
730
  children?: ReactNode;
716
731
  icon?: ReactNode;
732
+ endIcon?: ReactNode;
717
733
  label: string;
718
734
  el?: "label" | "div";
719
735
  readOnly?: boolean;
package/dist/index.js CHANGED
@@ -581,7 +581,7 @@ var defaultViewports = [
581
581
  { width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
582
582
  ];
583
583
 
584
- // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.3.0_use-sync-external-store@1.6.0_react@19.3.0_/node_modules/zustand/esm/vanilla.mjs
584
+ // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.2.6_use-sync-external-store@1.6.0_react@19.2.6_/node_modules/zustand/esm/vanilla.mjs
585
585
  init_react_import();
586
586
  var createStoreImpl = (createState) => {
587
587
  let state;
@@ -606,7 +606,7 @@ var createStoreImpl = (createState) => {
606
606
  };
607
607
  var createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);
608
608
 
609
- // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.3.0_use-sync-external-store@1.6.0_react@19.3.0_/node_modules/zustand/esm/react.mjs
609
+ // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.2.6_use-sync-external-store@1.6.0_react@19.2.6_/node_modules/zustand/esm/react.mjs
610
610
  init_react_import();
611
611
  var import_react4 = __toESM(require("react"), 1);
612
612
  var identity = (arg) => arg;
@@ -627,7 +627,7 @@ var createImpl = (createState) => {
627
627
  };
628
628
  var create = ((createState) => createState ? createImpl(createState) : createImpl);
629
629
 
630
- // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.3.0_use-sync-external-store@1.6.0_react@19.3.0_/node_modules/zustand/esm/middleware.mjs
630
+ // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.2.6_use-sync-external-store@1.6.0_react@19.2.6_/node_modules/zustand/esm/middleware.mjs
631
631
  init_react_import();
632
632
  var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
633
633
  const origSubscribe = api.subscribe;
@@ -718,6 +718,7 @@ var defaultAppState = {
718
718
  options: [],
719
719
  controlsVisible: true
720
720
  },
721
+ expandedFieldGroups: {},
721
722
  field: { focus: null },
722
723
  plugin: { current: null }
723
724
  },
package/dist/index.mjs CHANGED
@@ -569,7 +569,7 @@ var defaultViewports = [
569
569
  { width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
570
570
  ];
571
571
 
572
- // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.3.0_use-sync-external-store@1.6.0_react@19.3.0_/node_modules/zustand/esm/vanilla.mjs
572
+ // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.2.6_use-sync-external-store@1.6.0_react@19.2.6_/node_modules/zustand/esm/vanilla.mjs
573
573
  init_react_import();
574
574
  var createStoreImpl = (createState) => {
575
575
  let state;
@@ -594,7 +594,7 @@ var createStoreImpl = (createState) => {
594
594
  };
595
595
  var createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);
596
596
 
597
- // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.3.0_use-sync-external-store@1.6.0_react@19.3.0_/node_modules/zustand/esm/react.mjs
597
+ // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.2.6_use-sync-external-store@1.6.0_react@19.2.6_/node_modules/zustand/esm/react.mjs
598
598
  init_react_import();
599
599
  import React2 from "react";
600
600
  var identity = (arg) => arg;
@@ -615,7 +615,7 @@ var createImpl = (createState) => {
615
615
  };
616
616
  var create = ((createState) => createState ? createImpl(createState) : createImpl);
617
617
 
618
- // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.3.0_use-sync-external-store@1.6.0_react@19.3.0_/node_modules/zustand/esm/middleware.mjs
618
+ // ../../node_modules/.pnpm/zustand@5.0.13_@types+react@19.2.14_react@19.2.6_use-sync-external-store@1.6.0_react@19.2.6_/node_modules/zustand/esm/middleware.mjs
619
619
  init_react_import();
620
620
  var subscribeWithSelectorImpl = (fn) => (set, get, api) => {
621
621
  const origSubscribe = api.subscribe;
@@ -706,6 +706,7 @@ var defaultAppState = {
706
706
  options: [],
707
707
  controlsVisible: true
708
708
  },
709
+ expandedFieldGroups: {},
709
710
  field: { focus: null },
710
711
  plugin: { current: null }
711
712
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@puckeditor/plugin-heading-analyzer",
3
- "version": "0.24.0-canary.10b39dc7",
3
+ "version": "0.24.0-canary.13d862e3",
4
4
  "author": "Chris Villa <chris@puckeditor.com>",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,7 +23,7 @@
23
23
  "dist"
24
24
  ],
25
25
  "devDependencies": {
26
- "@puckeditor/core": "^0.24.0-canary.10b39dc7",
26
+ "@puckeditor/core": "^0.24.0-canary.13d862e3",
27
27
  "@types/minimatch": "3.0.5",
28
28
  "@types/react": "^19.0.1",
29
29
  "@types/react-dom": "^19.0.2",