@measured/puck 0.16.0-canary.0c7fc83 → 0.16.0-canary.1beaf6b
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{Config-041c35a2.d.ts → Config-VOJqVbHe.d.ts} +2 -2
- package/dist/index.css +73 -67
- package/dist/index.d.ts +147 -122
- package/dist/index.js +2216 -2687
- 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
|
};
|
@@ -259,4 +259,4 @@ type AppState = {
|
|
259
259
|
ui: UiState;
|
260
260
|
};
|
261
261
|
|
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, PuckComponent as P,
|
262
|
+
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, PuckComponent 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, PuckContext as h, ComponentConfig as i, RootDataWithoutProps as j, ItemWithId as k, ArrayState as l, BaseField as m, TextareaField as n, RadioField as o, ArrayField as p, Adaptor as q, ExternalField as r, CustomField as s, Fields as t };
|
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 { q as Adaptor, p as ArrayField, l as ArrayState, B as BaseData, m as BaseField, i as ComponentConfig, g as Content, s as CustomField, r as ExternalField, E as ExternalFieldWithAdaptor, t as Fields, k as ItemWithId, N as NumberField, O as ObjectField, P as PuckComponent, h as PuckContext, o as RadioField, j as RootDataWithoutProps, S as SelectField, T as TextField, n as TextareaField } from './Config-
|
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, V as Viewports, c as DefaultComponentProps, d as DefaultRootProps, M as MappedItem, R as RootData, e as RootDataWithProps, f as ComponentData } from './Config-VOJqVbHe.js';
|
2
|
+
export { q as Adaptor, p as ArrayField, l as ArrayState, B as BaseData, m as BaseField, i as ComponentConfig, g as Content, s as CustomField, r as ExternalField, E as ExternalFieldWithAdaptor, t as Fields, k as ItemWithId, N as NumberField, O as ObjectField, P as PuckComponent, h as PuckContext, o as RadioField, j as RootDataWithoutProps, S as SelectField, T as TextField, n as TextareaField } from './Config-VOJqVbHe.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,87 @@ 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
|
+
headerActions: RenderFunc<{
|
85
|
+
children: ReactNode;
|
86
|
+
}>;
|
87
|
+
preview: RenderFunc;
|
88
|
+
fields: RenderFunc<{
|
89
|
+
children: ReactNode;
|
90
|
+
isLoading: boolean;
|
91
|
+
itemSelector?: ItemSelector | null;
|
92
|
+
}>;
|
93
|
+
fieldLabel: RenderFunc<{
|
94
|
+
children?: ReactNode;
|
95
|
+
icon?: ReactNode;
|
96
|
+
label: string;
|
97
|
+
el?: "label" | "div";
|
98
|
+
readOnly?: boolean;
|
99
|
+
className?: string;
|
100
|
+
}>;
|
101
|
+
components: RenderFunc;
|
102
|
+
componentItem: RenderFunc<{
|
103
|
+
children: ReactNode;
|
104
|
+
name: string;
|
105
|
+
}>;
|
106
|
+
outline: RenderFunc;
|
107
|
+
puck: RenderFunc;
|
108
|
+
}>;
|
109
|
+
type FieldRenderFunctions = Omit<{
|
110
|
+
[Type in Field["type"]]: React.FunctionComponent<FieldProps<Extract<Field, {
|
111
|
+
type: Type;
|
112
|
+
}>> & {
|
113
|
+
children: ReactNode;
|
114
|
+
name: string;
|
115
|
+
}>;
|
116
|
+
}, "custom"> & {
|
117
|
+
[key: string]: React.FunctionComponent<FieldProps<any> & {
|
118
|
+
children: ReactNode;
|
119
|
+
name: string;
|
120
|
+
}>;
|
121
|
+
};
|
122
|
+
|
123
|
+
type Plugin = {
|
124
|
+
overrides: Partial<Overrides>;
|
125
|
+
};
|
126
|
+
|
127
|
+
declare const ActionBar: {
|
128
|
+
({ label, children, }: {
|
129
|
+
label?: string;
|
130
|
+
children?: ReactNode;
|
131
|
+
}): react_jsx_runtime.JSX.Element;
|
132
|
+
Action: ({ children, onClick, }: {
|
133
|
+
children: ReactNode;
|
134
|
+
onClick: (e: SyntheticEvent) => void;
|
135
|
+
}) => react_jsx_runtime.JSX.Element;
|
136
|
+
};
|
137
|
+
declare const Action: ({ children, onClick, }: {
|
138
|
+
children: ReactNode;
|
139
|
+
onClick: (e: SyntheticEvent) => void;
|
140
|
+
}) => react_jsx_runtime.JSX.Element;
|
141
|
+
|
67
142
|
declare const FieldLabel: ({ children, icon, label, el, readOnly, className, }: {
|
68
143
|
children?: ReactNode;
|
69
144
|
icon?: ReactNode;
|
70
145
|
label: string;
|
71
|
-
el?: "label" | "div"
|
72
|
-
readOnly?: boolean
|
73
|
-
className?: string
|
146
|
+
el?: "label" | "div";
|
147
|
+
readOnly?: boolean;
|
148
|
+
className?: string;
|
74
149
|
}) => react_jsx_runtime.JSX.Element;
|
75
150
|
type FieldLabelPropsInternal = {
|
76
151
|
children?: ReactNode;
|
@@ -98,37 +173,58 @@ declare function AutoField<ValueType = any, FieldType extends Field<ValueType> =
|
|
98
173
|
|
99
174
|
declare const Button: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, icon, size, loading: loadingProp, }: {
|
100
175
|
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
|
176
|
+
href?: string;
|
177
|
+
onClick?: (e: any) => void | Promise<void>;
|
178
|
+
variant?: "primary" | "secondary";
|
179
|
+
type?: "button" | "submit" | "reset";
|
180
|
+
disabled?: boolean;
|
181
|
+
tabIndex?: number;
|
182
|
+
newTab?: boolean;
|
183
|
+
fullWidth?: boolean;
|
109
184
|
icon?: ReactNode;
|
110
|
-
size?: "medium" | "large"
|
111
|
-
loading?: boolean
|
185
|
+
size?: "medium" | "large";
|
186
|
+
loading?: boolean;
|
112
187
|
}) => react_jsx_runtime.JSX.Element;
|
113
188
|
|
114
189
|
declare const Drawer: {
|
115
190
|
({ children, droppableId: _droppableId, direction, }: {
|
116
191
|
children: ReactNode;
|
117
|
-
droppableId?: string
|
118
|
-
direction?: "vertical" | "horizontal"
|
192
|
+
droppableId?: string;
|
193
|
+
direction?: "vertical" | "horizontal";
|
119
194
|
}): react_jsx_runtime.JSX.Element;
|
120
195
|
Item: ({ name, children, id, label, index, }: {
|
121
196
|
name: string;
|
122
|
-
children?: (
|
197
|
+
children?: (props: {
|
123
198
|
children: ReactNode;
|
124
199
|
name: string;
|
125
|
-
}) => ReactElement
|
126
|
-
id?: string
|
127
|
-
label?: string
|
200
|
+
}) => ReactElement;
|
201
|
+
id?: string;
|
202
|
+
label?: string;
|
128
203
|
index: number;
|
129
204
|
}) => react_jsx_runtime.JSX.Element;
|
130
205
|
};
|
131
206
|
|
207
|
+
type History<D = any> = {
|
208
|
+
id: string;
|
209
|
+
data: D;
|
210
|
+
};
|
211
|
+
type HistoryStore<D = any> = {
|
212
|
+
index: number;
|
213
|
+
hasPast: boolean;
|
214
|
+
hasFuture: boolean;
|
215
|
+
histories: History<D>[];
|
216
|
+
record: (data: D) => void;
|
217
|
+
back: VoidFunction;
|
218
|
+
forward: VoidFunction;
|
219
|
+
currentHistory: History;
|
220
|
+
nextHistory: History<D> | null;
|
221
|
+
prevHistory: History<D> | null;
|
222
|
+
setHistories: (histories: History[]) => void;
|
223
|
+
setHistoryIndex: (index: number) => void;
|
224
|
+
};
|
225
|
+
|
226
|
+
type OnAction = (action: PuckAction, appState: AppState, prevAppState: AppState) => void;
|
227
|
+
|
132
228
|
type PathData = Record<string, {
|
133
229
|
path: string[];
|
134
230
|
label: string;
|
@@ -160,7 +256,7 @@ type DropZoneContext<UserConfig extends Config = Config> = {
|
|
160
256
|
zoneWillDrag?: string;
|
161
257
|
setZoneWillDrag?: (zone: string) => void;
|
162
258
|
} | null;
|
163
|
-
declare const dropZoneContext: react.Context<DropZoneContext<Config
|
259
|
+
declare const dropZoneContext: react.Context<DropZoneContext<Config>>;
|
164
260
|
declare const DropZoneProvider: ({ children, value, }: {
|
165
261
|
children: ReactNode;
|
166
262
|
value: DropZoneContext;
|
@@ -170,104 +266,29 @@ declare function DropZone(props: DropZoneProps): react_jsx_runtime.JSX.Element;
|
|
170
266
|
|
171
267
|
declare const IconButton: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, title, }: {
|
172
268
|
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
|
269
|
+
href?: string;
|
270
|
+
onClick?: (e: SyntheticEvent) => void | Promise<void>;
|
271
|
+
variant?: "primary" | "secondary";
|
272
|
+
type?: "button" | "submit" | "reset";
|
273
|
+
disabled?: boolean;
|
274
|
+
tabIndex?: number;
|
275
|
+
newTab?: boolean;
|
276
|
+
fullWidth?: boolean;
|
181
277
|
title: string;
|
182
278
|
}) => react_jsx_runtime.JSX.Element;
|
183
279
|
|
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
280
|
type IframeConfig = {
|
261
281
|
enabled?: boolean;
|
262
282
|
};
|
263
283
|
|
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,
|
284
|
+
declare function Puck<UserConfig extends Config = Config>({ children, config, data: initialData, ui: initialUi, onChange, onPublish, onAction, plugins, overrides, renderHeader, renderHeaderActions, headerTitle, headerPath, viewports, iframe, dnd, initialHistory, }: {
|
265
285
|
children?: ReactNode;
|
266
286
|
config: UserConfig;
|
267
287
|
data: Partial<Data>;
|
268
288
|
ui?: Partial<UiState>;
|
269
289
|
onChange?: (data: Data) => void;
|
270
290
|
onPublish?: (data: Data) => void;
|
291
|
+
onAction?: OnAction;
|
271
292
|
plugins?: Plugin[];
|
272
293
|
overrides?: Partial<Overrides>;
|
273
294
|
renderHeader?: (props: {
|
@@ -286,7 +307,7 @@ declare function Puck<UserConfig extends Config = Config>({ children, config, da
|
|
286
307
|
dnd?: {
|
287
308
|
disableAutoScroll?: boolean;
|
288
309
|
};
|
289
|
-
|
310
|
+
initialHistory?: {
|
290
311
|
histories: History<any>[];
|
291
312
|
index: number;
|
292
313
|
};
|
@@ -296,7 +317,7 @@ declare namespace Puck {
|
|
296
317
|
var Fields: () => react_jsx_runtime.JSX.Element;
|
297
318
|
var Outline: () => react_jsx_runtime.JSX.Element;
|
298
319
|
var Preview: ({ id }: {
|
299
|
-
id?: string
|
320
|
+
id?: string;
|
300
321
|
}) => react_jsx_runtime.JSX.Element;
|
301
322
|
}
|
302
323
|
|
@@ -319,25 +340,29 @@ type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps,
|
|
319
340
|
declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultComponentProps>(data: Partial<Data>, propTransforms: PropTransform<Props, RootProps>): Data;
|
320
341
|
|
321
342
|
declare function resolveAllData(data: Partial<Data>, config: Config, onResolveStart?: (item: MappedItem) => void, onResolveEnd?: (item: MappedItem) => void): Promise<{
|
322
|
-
root:
|
323
|
-
content: any
|
343
|
+
root: RootData<DefaultRootProps> | RootDataWithProps;
|
344
|
+
content: any;
|
324
345
|
zones: Record<string, MappedItem[]>;
|
325
346
|
}>;
|
326
347
|
|
327
|
-
type PuckHistory = {
|
328
|
-
back: VoidFunction;
|
329
|
-
forward: VoidFunction;
|
330
|
-
historyStore: HistoryStore;
|
331
|
-
};
|
332
|
-
|
333
348
|
declare const usePuck: () => {
|
334
349
|
appState: AppState;
|
335
|
-
config: Config
|
350
|
+
config: Config;
|
336
351
|
dispatch: (action: PuckAction) => void;
|
337
|
-
history:
|
352
|
+
history: {
|
353
|
+
back: VoidFunction;
|
354
|
+
forward: VoidFunction;
|
355
|
+
setHistories: (histories: History[]) => void;
|
356
|
+
setHistoryIndex: (index: number) => void;
|
357
|
+
hasPast: boolean;
|
358
|
+
hasFuture: boolean;
|
359
|
+
histories: History<any>[];
|
360
|
+
index: number;
|
361
|
+
historyStore: HistoryStore | undefined;
|
362
|
+
};
|
338
363
|
selectedItem: ComponentData<DefaultComponentProps & {
|
339
364
|
id: string;
|
340
365
|
}> | null;
|
341
366
|
};
|
342
367
|
|
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 };
|
368
|
+
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, type Plugin, Puck, type PuckAction, Render, RootData, RootDataWithProps, UiState, dropZoneContext, migrate, resolveAllData, transformProps, usePuck };
|