@measured/puck 0.16.0-canary.345374c → 0.16.0-canary.39d63e0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{Config-041c35a2.d.ts → Config-B7UadvMA.d.ts} +8 -2
- package/dist/index.css +73 -67
- package/dist/index.d.ts +160 -122
- package/dist/index.js +2376 -2795
- package/dist/rsc.d.ts +1 -1
- package/package.json +4 -4
@@ -68,7 +68,7 @@ type ObjectField<Props extends {
|
|
68
68
|
[key: string]: any;
|
69
69
|
}> = BaseField & {
|
70
70
|
type: "object";
|
71
|
-
objectFields: {
|
71
|
+
objectFields: Props extends any[] ? never : {
|
72
72
|
[SubPropName in keyof Props]: Field<Props[SubPropName]>;
|
73
73
|
};
|
74
74
|
};
|
@@ -166,6 +166,7 @@ type ComponentConfig<ComponentProps extends DefaultComponentProps = DefaultCompo
|
|
166
166
|
label?: string;
|
167
167
|
defaultProps?: DefaultProps;
|
168
168
|
fields?: Fields<ComponentProps>;
|
169
|
+
permissions?: Partial<Permissions>;
|
169
170
|
resolveFields?: (data: DataShape, params: {
|
170
171
|
changed: Partial<Record<keyof ComponentProps, boolean>>;
|
171
172
|
fields: Fields<ComponentProps>;
|
@@ -258,5 +259,10 @@ type AppState = {
|
|
258
259
|
data: Data;
|
259
260
|
ui: UiState;
|
260
261
|
};
|
262
|
+
type Permissions = {
|
263
|
+
drag: boolean;
|
264
|
+
duplicate: boolean;
|
265
|
+
delete: boolean;
|
266
|
+
} & Record<string, boolean>;
|
261
267
|
|
262
|
-
export { AppState as A, BaseData as B, Config as C, Data as D, ExternalFieldWithAdaptor as E, Field as F, ItemSelector as I, MappedItem as M, NumberField as N, ObjectField as O,
|
268
|
+
export type { AppState as A, BaseData as B, Config as C, Data as D, ExternalFieldWithAdaptor as E, Field as F, ItemSelector as I, MappedItem as M, NumberField as N, ObjectField as O, Permissions as P, RootData as R, SelectField as S, TextField as T, UiState as U, Viewports as V, FieldProps as a, DropZoneProps as b, DefaultComponentProps as c, DefaultRootProps as d, RootDataWithProps as e, ComponentData as f, Content as g, PuckComponent as h, PuckContext as i, ComponentConfig as j, RootDataWithoutProps as k, ItemWithId as l, ArrayState as m, BaseField as n, TextareaField as o, RadioField as p, ArrayField as q, Adaptor as r, ExternalField as s, CustomField as t, Fields as u };
|
package/dist/index.css
CHANGED
@@ -136,6 +136,61 @@
|
|
136
136
|
|
137
137
|
/* styles.css */
|
138
138
|
|
139
|
+
/* css-module:/home/runner/work/puck/puck/packages/core/components/ActionBar/styles.module.css/#css-module-data */
|
140
|
+
._ActionBarComponent_16pc9_1 {
|
141
|
+
display: flex;
|
142
|
+
width: auto;
|
143
|
+
padding: 4px;
|
144
|
+
border-top-left-radius: 8px;
|
145
|
+
border-top-right-radius: 8px;
|
146
|
+
border-radius: 8px;
|
147
|
+
background: var(--puck-color-grey-01);
|
148
|
+
color: var(--puck-color-white);
|
149
|
+
font-family: var(--puck-font-family);
|
150
|
+
gap: 4px;
|
151
|
+
}
|
152
|
+
._ActionBarComponent-actionsLabel_16pc9_14 {
|
153
|
+
color: var(--puck-color-grey-08);
|
154
|
+
display: flex;
|
155
|
+
font-size: var(--puck-font-size-xxxs);
|
156
|
+
font-weight: 500;
|
157
|
+
justify-content: center;
|
158
|
+
align-items: center;
|
159
|
+
padding-left: 8px;
|
160
|
+
padding-right: 16px;
|
161
|
+
margin-right: 8px;
|
162
|
+
border-right: 0.5px solid var(--puck-color-grey-05);
|
163
|
+
text-overflow: ellipsis;
|
164
|
+
white-space: nowrap;
|
165
|
+
}
|
166
|
+
._ActionBarComponent-action_16pc9_14 {
|
167
|
+
background: transparent;
|
168
|
+
border: none;
|
169
|
+
color: var(--puck-color-grey-08);
|
170
|
+
cursor: pointer;
|
171
|
+
padding: 6px 8px;
|
172
|
+
border-radius: 4px;
|
173
|
+
overflow: hidden;
|
174
|
+
display: flex;
|
175
|
+
align-items: center;
|
176
|
+
justify-content: center;
|
177
|
+
transition: color 50ms ease-in;
|
178
|
+
}
|
179
|
+
._ActionBarComponent-action_16pc9_14:focus-visible {
|
180
|
+
outline: 2px solid var(--puck-color-azure-05);
|
181
|
+
outline-offset: -2px;
|
182
|
+
}
|
183
|
+
@media (hover: hover) and (pointer: fine) {
|
184
|
+
._ActionBarComponent-action_16pc9_14:hover {
|
185
|
+
color: var(--puck-color-azure-06);
|
186
|
+
transition: none;
|
187
|
+
}
|
188
|
+
}
|
189
|
+
._ActionBarComponent-action_16pc9_14:active {
|
190
|
+
color: var(--puck-color-azure-07);
|
191
|
+
transition: none;
|
192
|
+
}
|
193
|
+
|
139
194
|
/* css-module:/home/runner/work/puck/puck/packages/core/components/AutoField/styles.module.css/#css-module-data */
|
140
195
|
._Input_3pq3z_1 {
|
141
196
|
color: var(--puck-color-grey-04);
|
@@ -1032,25 +1087,25 @@ textarea._Input-input_3pq3z_47 {
|
|
1032
1087
|
}
|
1033
1088
|
|
1034
1089
|
/* css-module:/home/runner/work/puck/puck/packages/core/components/DraggableComponent/styles.module.css/#css-module-data */
|
1035
|
-
.
|
1090
|
+
._DraggableComponent_1bhad_1 {
|
1036
1091
|
pointer-events: auto;
|
1037
1092
|
--overlay-background: color-mix( in srgb, var(--puck-color-azure-08) 30%, transparent );
|
1038
1093
|
}
|
1039
|
-
._DraggableComponent--
|
1094
|
+
._DraggableComponent--isDragging_1bhad_11 {
|
1040
1095
|
background: color-mix(in srgb, var(--puck-color-azure-08) 10%, transparent);
|
1041
1096
|
overflow: hidden;
|
1042
1097
|
}
|
1043
|
-
._DraggableComponent-
|
1098
|
+
._DraggableComponent-contents_1bhad_16 {
|
1044
1099
|
position: relative;
|
1045
1100
|
pointer-events: none;
|
1046
1101
|
z-index: 0;
|
1047
1102
|
}
|
1048
|
-
._DraggableComponent-
|
1049
|
-
._DraggableComponent-
|
1103
|
+
._DraggableComponent-contents_1bhad_16::before,
|
1104
|
+
._DraggableComponent-contents_1bhad_16::after {
|
1050
1105
|
content: " ";
|
1051
1106
|
display: table;
|
1052
1107
|
}
|
1053
|
-
._DraggableComponent-
|
1108
|
+
._DraggableComponent-overlay_1bhad_29 {
|
1054
1109
|
cursor: pointer;
|
1055
1110
|
height: 100%;
|
1056
1111
|
width: 100%;
|
@@ -1061,13 +1116,13 @@ textarea._Input-input_3pq3z_47 {
|
|
1061
1116
|
box-sizing: border-box;
|
1062
1117
|
z-index: 1;
|
1063
1118
|
}
|
1064
|
-
.
|
1119
|
+
._DraggableComponent_1bhad_1:focus-visible > ._DraggableComponent-overlay_1bhad_29 {
|
1065
1120
|
outline: 1px solid var(--puck-color-azure-05);
|
1066
1121
|
}
|
1067
|
-
._DraggableComponent--
|
1122
|
+
._DraggableComponent--isDragging_1bhad_11 > ._DraggableComponent-overlay_1bhad_29 {
|
1068
1123
|
outline: 2px var(--puck-color-azure-09) solid !important;
|
1069
1124
|
}
|
1070
|
-
._DraggableComponent-
|
1125
|
+
._DraggableComponent-loadingOverlay_1bhad_49 {
|
1071
1126
|
background: var(--puck-color-white);
|
1072
1127
|
color: var(--puck-color-grey-03);
|
1073
1128
|
border-radius: 4px;
|
@@ -1082,91 +1137,42 @@ textarea._Input-input_3pq3z_47 {
|
|
1082
1137
|
opacity: 0.8;
|
1083
1138
|
z-index: 1;
|
1084
1139
|
}
|
1085
|
-
.
|
1140
|
+
._DraggableComponent_1bhad_1:hover:not(._DraggableComponent--isLocked_1bhad_65) > ._DraggableComponent-overlay_1bhad_29 {
|
1086
1141
|
background: var(--overlay-background);
|
1087
1142
|
pointer-events: none;
|
1088
1143
|
}
|
1089
|
-
._DraggableComponent--
|
1144
|
+
._DraggableComponent--forceHover_1bhad_71 > ._DraggableComponent-overlay_1bhad_29 {
|
1090
1145
|
background: var(--overlay-background);
|
1091
1146
|
pointer-events: none;
|
1092
1147
|
}
|
1093
|
-
.
|
1148
|
+
._DraggableComponent_1bhad_1:not(._DraggableComponent--isSelected_1bhad_76):hover > ._DraggableComponent-overlay_1bhad_29 {
|
1094
1149
|
outline: 2px var(--puck-color-azure-09) solid !important;
|
1095
1150
|
}
|
1096
|
-
._DraggableComponent--
|
1151
|
+
._DraggableComponent--indicativeHover_1bhad_81 > ._DraggableComponent-overlay_1bhad_29 {
|
1097
1152
|
pointer-events: none;
|
1098
1153
|
}
|
1099
|
-
.
|
1154
|
+
._DraggableComponent_1bhad_1:not(._DraggableComponent--isSelected_1bhad_76):has(._DraggableComponent_1bhad_1:hover > ._DraggableComponent-overlay_1bhad_29) > ._DraggableComponent-overlay_1bhad_29 {
|
1100
1155
|
display: none;
|
1101
1156
|
}
|
1102
|
-
._DraggableComponent--
|
1157
|
+
._DraggableComponent--isSelected_1bhad_76 > ._DraggableComponent-overlay_1bhad_29 {
|
1103
1158
|
outline: 2px var(--puck-color-azure-07) solid !important;
|
1104
1159
|
}
|
1105
|
-
._DraggableComponent--
|
1160
|
+
._DraggableComponent--isSelected_1bhad_76 > ._DraggableComponent-actionsOverlay_1bhad_97 {
|
1106
1161
|
display: block;
|
1107
1162
|
position: sticky;
|
1108
1163
|
z-index: 2;
|
1109
1164
|
}
|
1110
|
-
._DraggableComponent-
|
1165
|
+
._DraggableComponent-actions_1bhad_97 {
|
1111
1166
|
position: absolute;
|
1112
1167
|
width: auto;
|
1113
|
-
padding: 4px;
|
1114
|
-
border-top-left-radius: 8px;
|
1115
|
-
border-top-right-radius: 8px;
|
1116
|
-
border-radius: 8px;
|
1117
|
-
background: var(--puck-color-grey-01);
|
1118
|
-
color: var(--puck-color-white);
|
1119
1168
|
cursor: grab;
|
1120
1169
|
display: none;
|
1121
|
-
font-family: var(--puck-font-family);
|
1122
|
-
gap: 4px;
|
1123
1170
|
pointer-events: auto;
|
1124
1171
|
box-sizing: border-box;
|
1125
1172
|
transform-origin: right top;
|
1126
1173
|
}
|
1127
|
-
._DraggableComponent--
|
1128
|
-
display: flex;
|
1129
|
-
}
|
1130
|
-
._DraggableComponent-actionsLabel_59z7f_127 {
|
1131
|
-
color: var(--puck-color-grey-08);
|
1132
|
-
display: flex;
|
1133
|
-
font-size: var(--puck-font-size-xxxs);
|
1134
|
-
font-weight: 500;
|
1135
|
-
justify-content: center;
|
1136
|
-
align-items: center;
|
1137
|
-
padding-left: 8px;
|
1138
|
-
padding-right: 16px;
|
1139
|
-
margin-right: 8px;
|
1140
|
-
border-right: 0.5px solid var(--puck-color-grey-05);
|
1141
|
-
text-overflow: ellipsis;
|
1142
|
-
white-space: nowrap;
|
1143
|
-
}
|
1144
|
-
._DraggableComponent-action_59z7f_97 {
|
1145
|
-
background: transparent;
|
1146
|
-
border: none;
|
1147
|
-
color: var(--puck-color-grey-08);
|
1148
|
-
cursor: pointer;
|
1149
|
-
padding: 6px 8px;
|
1150
|
-
border-radius: 4px;
|
1151
|
-
overflow: hidden;
|
1174
|
+
._DraggableComponent--isSelected_1bhad_76 > ._DraggableComponent-actionsOverlay_1bhad_97 > ._DraggableComponent-actions_1bhad_97 {
|
1152
1175
|
display: flex;
|
1153
|
-
align-items: center;
|
1154
|
-
justify-content: center;
|
1155
|
-
transition: color 50ms ease-in;
|
1156
|
-
}
|
1157
|
-
._DraggableComponent-action_59z7f_97:focus-visible {
|
1158
|
-
outline: 2px solid var(--puck-color-azure-05);
|
1159
|
-
outline-offset: -2px;
|
1160
|
-
}
|
1161
|
-
@media (hover: hover) and (pointer: fine) {
|
1162
|
-
._DraggableComponent-action_59z7f_97:hover {
|
1163
|
-
color: var(--puck-color-azure-06);
|
1164
|
-
transition: none;
|
1165
|
-
}
|
1166
|
-
}
|
1167
|
-
._DraggableComponent-action_59z7f_97:active {
|
1168
|
-
color: var(--puck-color-azure-07);
|
1169
|
-
transition: none;
|
1170
1176
|
}
|
1171
1177
|
|
1172
1178
|
/* css-module:/home/runner/work/puck/puck/packages/core/components/DropZone/styles.module.css/#css-module-data */
|
package/dist/index.d.ts
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
import { U as UiState, D as Data, A as AppState, F as Field, a as FieldProps, C as Config, b as
|
2
|
-
export {
|
3
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
1
|
+
import { U as UiState, D as Data, A as AppState, I as ItemSelector, F as Field, a as FieldProps, C as Config, b as DropZoneProps, P as Permissions, V as Viewports, c as DefaultComponentProps, d as DefaultRootProps, M as MappedItem, R as RootData, e as RootDataWithProps, f as ComponentData } from './Config-B7UadvMA.js';
|
2
|
+
export { r as Adaptor, q as ArrayField, m as ArrayState, B as BaseData, n as BaseField, j as ComponentConfig, g as Content, t as CustomField, s as ExternalField, E as ExternalFieldWithAdaptor, u as Fields, l as ItemWithId, N as NumberField, O as ObjectField, h as PuckComponent, i as PuckContext, p as RadioField, k as RootDataWithoutProps, S as SelectField, T as TextField, o as TextareaField } from './Config-B7UadvMA.js';
|
4
3
|
import * as react from 'react';
|
5
|
-
import { ReactNode, ReactElement,
|
4
|
+
import { ReactNode, ReactElement, SyntheticEvent, CSSProperties } from 'react';
|
5
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
6
6
|
import { DragStart, DragUpdate } from '@measured/dnd';
|
7
7
|
|
8
8
|
type InsertAction = {
|
@@ -10,6 +10,7 @@ type InsertAction = {
|
|
10
10
|
componentType: string;
|
11
11
|
destinationIndex: number;
|
12
12
|
destinationZone: string;
|
13
|
+
id?: string;
|
13
14
|
};
|
14
15
|
type DuplicateAction = {
|
15
16
|
type: "duplicate";
|
@@ -64,13 +65,93 @@ type PuckAction = {
|
|
64
65
|
recordHistory?: boolean;
|
65
66
|
} & (ReorderAction | InsertAction | MoveAction | ReplaceAction | RemoveAction | DuplicateAction | SetAction | SetDataAction | SetUiAction | RegisterZoneAction | UnregisterZoneAction);
|
66
67
|
|
68
|
+
type RenderFunc<Props extends {
|
69
|
+
[key: string]: any;
|
70
|
+
} = {
|
71
|
+
children: ReactNode;
|
72
|
+
}> = (props: Props) => ReactElement;
|
73
|
+
declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "components", "componentItem", "outline", "puck", "preview"];
|
74
|
+
type OverrideKey = (typeof overrideKeys)[number];
|
75
|
+
type OverridesGeneric<Shape extends {
|
76
|
+
[key in OverrideKey]: any;
|
77
|
+
}> = Shape;
|
78
|
+
type Overrides = OverridesGeneric<{
|
79
|
+
fieldTypes: Partial<FieldRenderFunctions>;
|
80
|
+
header: RenderFunc<{
|
81
|
+
actions: ReactNode;
|
82
|
+
children: ReactNode;
|
83
|
+
}>;
|
84
|
+
actionBar: RenderFunc<{
|
85
|
+
label?: string;
|
86
|
+
children: ReactNode;
|
87
|
+
}>;
|
88
|
+
headerActions: RenderFunc<{
|
89
|
+
children: ReactNode;
|
90
|
+
}>;
|
91
|
+
preview: RenderFunc;
|
92
|
+
fields: RenderFunc<{
|
93
|
+
children: ReactNode;
|
94
|
+
isLoading: boolean;
|
95
|
+
itemSelector?: ItemSelector | null;
|
96
|
+
}>;
|
97
|
+
fieldLabel: RenderFunc<{
|
98
|
+
children?: ReactNode;
|
99
|
+
icon?: ReactNode;
|
100
|
+
label: string;
|
101
|
+
el?: "label" | "div";
|
102
|
+
readOnly?: boolean;
|
103
|
+
className?: string;
|
104
|
+
}>;
|
105
|
+
components: RenderFunc;
|
106
|
+
componentItem: RenderFunc<{
|
107
|
+
children: ReactNode;
|
108
|
+
name: string;
|
109
|
+
}>;
|
110
|
+
outline: RenderFunc;
|
111
|
+
puck: RenderFunc;
|
112
|
+
}>;
|
113
|
+
type FieldRenderFunctions = Omit<{
|
114
|
+
[Type in Field["type"]]: React.FunctionComponent<FieldProps<Extract<Field, {
|
115
|
+
type: Type;
|
116
|
+
}>> & {
|
117
|
+
children: ReactNode;
|
118
|
+
name: string;
|
119
|
+
}>;
|
120
|
+
}, "custom"> & {
|
121
|
+
[key: string]: React.FunctionComponent<FieldProps<any> & {
|
122
|
+
children: ReactNode;
|
123
|
+
name: string;
|
124
|
+
}>;
|
125
|
+
};
|
126
|
+
|
127
|
+
type Plugin = {
|
128
|
+
overrides: Partial<Overrides>;
|
129
|
+
};
|
130
|
+
|
131
|
+
declare const ActionBar: {
|
132
|
+
({ label, children, }: {
|
133
|
+
label?: string;
|
134
|
+
children?: ReactNode;
|
135
|
+
}): react_jsx_runtime.JSX.Element;
|
136
|
+
Action: ({ children, label, onClick, }: {
|
137
|
+
children: ReactNode;
|
138
|
+
label?: string;
|
139
|
+
onClick: (e: SyntheticEvent) => void;
|
140
|
+
}) => react_jsx_runtime.JSX.Element;
|
141
|
+
};
|
142
|
+
declare const Action: ({ children, label, onClick, }: {
|
143
|
+
children: ReactNode;
|
144
|
+
label?: string;
|
145
|
+
onClick: (e: SyntheticEvent) => void;
|
146
|
+
}) => react_jsx_runtime.JSX.Element;
|
147
|
+
|
67
148
|
declare const FieldLabel: ({ children, icon, label, el, readOnly, className, }: {
|
68
149
|
children?: ReactNode;
|
69
150
|
icon?: ReactNode;
|
70
151
|
label: string;
|
71
|
-
el?: "label" | "div"
|
72
|
-
readOnly?: boolean
|
73
|
-
className?: string
|
152
|
+
el?: "label" | "div";
|
153
|
+
readOnly?: boolean;
|
154
|
+
className?: string;
|
74
155
|
}) => react_jsx_runtime.JSX.Element;
|
75
156
|
type FieldLabelPropsInternal = {
|
76
157
|
children?: ReactNode;
|
@@ -98,37 +179,58 @@ declare function AutoField<ValueType = any, FieldType extends Field<ValueType> =
|
|
98
179
|
|
99
180
|
declare const Button: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, icon, size, loading: loadingProp, }: {
|
100
181
|
children: ReactNode;
|
101
|
-
href?: string
|
102
|
-
onClick?: (
|
103
|
-
variant?: "primary" | "secondary"
|
104
|
-
type?: "button" | "submit" | "reset"
|
105
|
-
disabled?: boolean
|
106
|
-
tabIndex?: number
|
107
|
-
newTab?: boolean
|
108
|
-
fullWidth?: boolean
|
182
|
+
href?: string;
|
183
|
+
onClick?: (e: any) => void | Promise<void>;
|
184
|
+
variant?: "primary" | "secondary";
|
185
|
+
type?: "button" | "submit" | "reset";
|
186
|
+
disabled?: boolean;
|
187
|
+
tabIndex?: number;
|
188
|
+
newTab?: boolean;
|
189
|
+
fullWidth?: boolean;
|
109
190
|
icon?: ReactNode;
|
110
|
-
size?: "medium" | "large"
|
111
|
-
loading?: boolean
|
191
|
+
size?: "medium" | "large";
|
192
|
+
loading?: boolean;
|
112
193
|
}) => react_jsx_runtime.JSX.Element;
|
113
194
|
|
114
195
|
declare const Drawer: {
|
115
196
|
({ children, droppableId: _droppableId, direction, }: {
|
116
197
|
children: ReactNode;
|
117
|
-
droppableId?: string
|
118
|
-
direction?: "vertical" | "horizontal"
|
198
|
+
droppableId?: string;
|
199
|
+
direction?: "vertical" | "horizontal";
|
119
200
|
}): react_jsx_runtime.JSX.Element;
|
120
201
|
Item: ({ name, children, id, label, index, }: {
|
121
202
|
name: string;
|
122
|
-
children?: (
|
203
|
+
children?: (props: {
|
123
204
|
children: ReactNode;
|
124
205
|
name: string;
|
125
|
-
}) => ReactElement
|
126
|
-
id?: string
|
127
|
-
label?: string
|
206
|
+
}) => ReactElement;
|
207
|
+
id?: string;
|
208
|
+
label?: string;
|
128
209
|
index: number;
|
129
210
|
}) => react_jsx_runtime.JSX.Element;
|
130
211
|
};
|
131
212
|
|
213
|
+
type History<D = any> = {
|
214
|
+
id: string;
|
215
|
+
data: D;
|
216
|
+
};
|
217
|
+
type HistoryStore<D = any> = {
|
218
|
+
index: number;
|
219
|
+
hasPast: boolean;
|
220
|
+
hasFuture: boolean;
|
221
|
+
histories: History<D>[];
|
222
|
+
record: (data: D) => void;
|
223
|
+
back: VoidFunction;
|
224
|
+
forward: VoidFunction;
|
225
|
+
currentHistory: History;
|
226
|
+
nextHistory: History<D> | null;
|
227
|
+
prevHistory: History<D> | null;
|
228
|
+
setHistories: (histories: History[]) => void;
|
229
|
+
setHistoryIndex: (index: number) => void;
|
230
|
+
};
|
231
|
+
|
232
|
+
type OnAction = (action: PuckAction, appState: AppState, prevAppState: AppState) => void;
|
233
|
+
|
132
234
|
type PathData = Record<string, {
|
133
235
|
path: string[];
|
134
236
|
label: string;
|
@@ -160,7 +262,7 @@ type DropZoneContext<UserConfig extends Config = Config> = {
|
|
160
262
|
zoneWillDrag?: string;
|
161
263
|
setZoneWillDrag?: (zone: string) => void;
|
162
264
|
} | null;
|
163
|
-
declare const dropZoneContext: react.Context<DropZoneContext<Config
|
265
|
+
declare const dropZoneContext: react.Context<DropZoneContext<Config>>;
|
164
266
|
declare const DropZoneProvider: ({ children, value, }: {
|
165
267
|
children: ReactNode;
|
166
268
|
value: DropZoneContext;
|
@@ -170,104 +272,30 @@ declare function DropZone(props: DropZoneProps): react_jsx_runtime.JSX.Element;
|
|
170
272
|
|
171
273
|
declare const IconButton: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, title, }: {
|
172
274
|
children: ReactNode;
|
173
|
-
href?: string
|
174
|
-
onClick?: (
|
175
|
-
variant?: "primary" | "secondary"
|
176
|
-
type?: "button" | "submit" | "reset"
|
177
|
-
disabled?: boolean
|
178
|
-
tabIndex?: number
|
179
|
-
newTab?: boolean
|
180
|
-
fullWidth?: boolean
|
275
|
+
href?: string;
|
276
|
+
onClick?: (e: SyntheticEvent) => void | Promise<void>;
|
277
|
+
variant?: "primary" | "secondary";
|
278
|
+
type?: "button" | "submit" | "reset";
|
279
|
+
disabled?: boolean;
|
280
|
+
tabIndex?: number;
|
281
|
+
newTab?: boolean;
|
282
|
+
fullWidth?: boolean;
|
181
283
|
title: string;
|
182
284
|
}) => react_jsx_runtime.JSX.Element;
|
183
285
|
|
184
|
-
type RenderFunc<Props extends {
|
185
|
-
[key: string]: any;
|
186
|
-
} = {
|
187
|
-
children: ReactNode;
|
188
|
-
}> = (props: Props) => ReactElement;
|
189
|
-
declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "components", "componentItem", "outline", "puck", "preview"];
|
190
|
-
type OverrideKey = (typeof overrideKeys)[number];
|
191
|
-
type OverridesGeneric<Shape extends {
|
192
|
-
[key in OverrideKey]: any;
|
193
|
-
}> = Shape;
|
194
|
-
type Overrides = OverridesGeneric<{
|
195
|
-
fieldTypes: Partial<FieldRenderFunctions>;
|
196
|
-
header: RenderFunc<{
|
197
|
-
actions: ReactNode;
|
198
|
-
children: ReactNode;
|
199
|
-
}>;
|
200
|
-
headerActions: RenderFunc<{
|
201
|
-
children: ReactNode;
|
202
|
-
}>;
|
203
|
-
preview: RenderFunc;
|
204
|
-
fields: RenderFunc<{
|
205
|
-
children: ReactNode;
|
206
|
-
isLoading: boolean;
|
207
|
-
itemSelector?: ItemSelector | null;
|
208
|
-
}>;
|
209
|
-
fieldLabel: RenderFunc<{
|
210
|
-
children?: ReactNode;
|
211
|
-
icon?: ReactNode;
|
212
|
-
label: string;
|
213
|
-
el?: "label" | "div";
|
214
|
-
readOnly?: boolean;
|
215
|
-
className?: string;
|
216
|
-
}>;
|
217
|
-
components: RenderFunc;
|
218
|
-
componentItem: RenderFunc<{
|
219
|
-
children: ReactNode;
|
220
|
-
name: string;
|
221
|
-
}>;
|
222
|
-
outline: RenderFunc;
|
223
|
-
puck: RenderFunc;
|
224
|
-
}>;
|
225
|
-
type FieldRenderFunctions = Omit<{
|
226
|
-
[Type in Field["type"]]: React.FunctionComponent<FieldProps<Extract<Field, {
|
227
|
-
type: Type;
|
228
|
-
}>> & {
|
229
|
-
children: ReactNode;
|
230
|
-
name: string;
|
231
|
-
}>;
|
232
|
-
}, "custom"> & {
|
233
|
-
[key: string]: React.FunctionComponent<FieldProps<any> & {
|
234
|
-
children: ReactNode;
|
235
|
-
name: string;
|
236
|
-
}>;
|
237
|
-
};
|
238
|
-
|
239
|
-
type Plugin = {
|
240
|
-
overrides: Partial<Overrides>;
|
241
|
-
};
|
242
|
-
|
243
|
-
type History<D = any> = {
|
244
|
-
id: string;
|
245
|
-
data: D;
|
246
|
-
};
|
247
|
-
type HistoryStore<D = any> = {
|
248
|
-
index: number;
|
249
|
-
currentHistory: History;
|
250
|
-
hasPast: boolean;
|
251
|
-
hasFuture: boolean;
|
252
|
-
record: (data: D) => void;
|
253
|
-
back: VoidFunction;
|
254
|
-
forward: VoidFunction;
|
255
|
-
nextHistory: History<D> | null;
|
256
|
-
prevHistory: History<D> | null;
|
257
|
-
histories: History<D>[];
|
258
|
-
};
|
259
|
-
|
260
286
|
type IframeConfig = {
|
261
287
|
enabled?: boolean;
|
262
288
|
};
|
263
289
|
|
264
|
-
declare function Puck<UserConfig extends Config = Config>({ children, config, data: initialData, ui: initialUi, onChange, onPublish, plugins, overrides, renderHeader, renderHeaderActions, headerTitle, headerPath, viewports, iframe, dnd,
|
290
|
+
declare function Puck<UserConfig extends Config = Config>({ children, config, data: initialData, ui: initialUi, onChange, onPublish, onAction, permissions, plugins, overrides, renderHeader, renderHeaderActions, headerTitle, headerPath, viewports, iframe, dnd, initialHistory, }: {
|
265
291
|
children?: ReactNode;
|
266
292
|
config: UserConfig;
|
267
293
|
data: Partial<Data>;
|
268
294
|
ui?: Partial<UiState>;
|
269
295
|
onChange?: (data: Data) => void;
|
270
296
|
onPublish?: (data: Data) => void;
|
297
|
+
onAction?: OnAction;
|
298
|
+
permissions?: Partial<Permissions>;
|
271
299
|
plugins?: Plugin[];
|
272
300
|
overrides?: Partial<Overrides>;
|
273
301
|
renderHeader?: (props: {
|
@@ -286,7 +314,7 @@ declare function Puck<UserConfig extends Config = Config>({ children, config, da
|
|
286
314
|
dnd?: {
|
287
315
|
disableAutoScroll?: boolean;
|
288
316
|
};
|
289
|
-
|
317
|
+
initialHistory?: {
|
290
318
|
histories: History<any>[];
|
291
319
|
index: number;
|
292
320
|
};
|
@@ -296,7 +324,7 @@ declare namespace Puck {
|
|
296
324
|
var Fields: () => react_jsx_runtime.JSX.Element;
|
297
325
|
var Outline: () => react_jsx_runtime.JSX.Element;
|
298
326
|
var Preview: ({ id }: {
|
299
|
-
id?: string
|
327
|
+
id?: string;
|
300
328
|
}) => react_jsx_runtime.JSX.Element;
|
301
329
|
}
|
302
330
|
|
@@ -319,25 +347,35 @@ type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps,
|
|
319
347
|
declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultComponentProps>(data: Partial<Data>, propTransforms: PropTransform<Props, RootProps>): Data;
|
320
348
|
|
321
349
|
declare function resolveAllData(data: Partial<Data>, config: Config, onResolveStart?: (item: MappedItem) => void, onResolveEnd?: (item: MappedItem) => void): Promise<{
|
322
|
-
root:
|
323
|
-
content: any
|
350
|
+
root: RootData<DefaultRootProps> | RootDataWithProps;
|
351
|
+
content: any;
|
324
352
|
zones: Record<string, MappedItem[]>;
|
325
353
|
}>;
|
326
354
|
|
327
|
-
type PuckHistory = {
|
328
|
-
back: VoidFunction;
|
329
|
-
forward: VoidFunction;
|
330
|
-
historyStore: HistoryStore;
|
331
|
-
};
|
332
|
-
|
333
355
|
declare const usePuck: () => {
|
334
356
|
appState: AppState;
|
335
|
-
config: Config
|
357
|
+
config: Config;
|
336
358
|
dispatch: (action: PuckAction) => void;
|
337
|
-
|
359
|
+
getPermissions: (selectedItem?: ComponentData) => {
|
360
|
+
[x: string]: boolean | undefined;
|
361
|
+
drag?: boolean | undefined;
|
362
|
+
duplicate?: boolean | undefined;
|
363
|
+
delete?: boolean | undefined;
|
364
|
+
};
|
365
|
+
history: {
|
366
|
+
back: VoidFunction;
|
367
|
+
forward: VoidFunction;
|
368
|
+
setHistories: (histories: History[]) => void;
|
369
|
+
setHistoryIndex: (index: number) => void;
|
370
|
+
hasPast: boolean;
|
371
|
+
hasFuture: boolean;
|
372
|
+
histories: History<any>[];
|
373
|
+
index: number;
|
374
|
+
historyStore: HistoryStore | undefined;
|
375
|
+
};
|
338
376
|
selectedItem: ComponentData<DefaultComponentProps & {
|
339
377
|
id: string;
|
340
378
|
}> | null;
|
341
379
|
};
|
342
380
|
|
343
|
-
export { AppState, AutoField, AutoFieldPrivate, Button, ComponentData, Config, Data, DefaultComponentProps, DefaultRootProps, Drawer, DropZone, DropZoneProvider, Field, FieldLabel, FieldLabelInternal, FieldProps, FieldPropsInternal, IconButton, MappedItem, Puck, PuckAction, Render, RootData, RootDataWithProps, UiState, dropZoneContext, migrate, resolveAllData, transformProps, usePuck };
|
381
|
+
export { Action, ActionBar, AppState, AutoField, AutoFieldPrivate, Button, ComponentData, Config, Data, DefaultComponentProps, DefaultRootProps, Drawer, DropZone, DropZoneProvider, Field, FieldLabel, FieldLabelInternal, FieldProps, type FieldPropsInternal, type History, IconButton, MappedItem, Permissions, type Plugin, Puck, type PuckAction, Render, RootData, RootDataWithProps, UiState, dropZoneContext, migrate, resolveAllData, transformProps, usePuck };
|