@measured/puck 0.12.1-canary.9470ff9 → 0.13.0-canary.10a6025

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { D as Data, C as Config, I as ItemSelector, U as UiState, A as AppState, M as MappedItem, R as RootDataWithProps, a as DefaultRootProps, b as RootData } from './Config-35e6eaae.js';
2
- export { d as Adaptor, c as ArrayField, p as ArrayState, l as BaseData, B as BaseField, k as ComponentConfig, m as ComponentData, i as Content, f as CustomField, g as DefaultComponentProps, q as DropZone, e as ExternalField, E as ExternalFieldWithAdaptor, F as Field, h as Fields, o as ItemWithId, P as PuckComponent, j as PuckContext, n as RootDataWithoutProps, S as SelectField, T as TextField } from './Config-35e6eaae.js';
1
+ import { D as Data, C as Config, I as ItemSelector, U as UiState, A as AppState, F as Field, a as DefaultComponentProps, b as DefaultRootProps, M as MappedItem, R as RootDataWithProps, c as RootData } from './Config-4367c689.js';
2
+ export { g as Adaptor, f as ArrayField, r as ArrayState, n as BaseData, B as BaseField, m as ComponentConfig, o as ComponentData, k as Content, i as CustomField, s as DropZone, h as ExternalField, E as ExternalFieldWithAdaptor, j as Fields, q as ItemWithId, N as NumberField, O as ObjectField, P as PuckComponent, l as PuckContext, e as RadioField, p as RootDataWithoutProps, S as SelectField, T as TextField, d as TextareaField } from './Config-4367c689.js';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import * as react from 'react';
5
- import { ReactNode, CSSProperties, SyntheticEvent, ReactElement } from 'react';
5
+ import { ReactNode, CSSProperties, ReactElement, SyntheticEvent } from 'react';
6
6
  import { DragStart, DragUpdate } from '@hello-pangea/dnd';
7
7
 
8
8
  type PathData = Record<string, {
@@ -33,6 +33,7 @@ type DropZoneContext = {
33
33
  pathData?: PathData;
34
34
  registerPath?: (selector: ItemSelector) => void;
35
35
  mode?: "edit" | "render";
36
+ disableZoom?: boolean;
36
37
  } | null;
37
38
  declare const dropZoneContext: react.Context<DropZoneContext>;
38
39
  declare const DropZoneProvider: ({ children, value, }: {
@@ -99,7 +100,7 @@ type PuckAction = {
99
100
  recordHistory?: boolean;
100
101
  } & (ReorderAction | InsertAction | MoveAction | ReplaceAction | RemoveAction | DuplicateAction | SetAction | SetDataAction | SetUiAction | RegisterZoneAction | UnregisterZoneAction);
101
102
 
102
- declare const Button: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, icon, size, }: {
103
+ declare const Button: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, icon, size, loading: loadingProp, }: {
103
104
  children: ReactNode;
104
105
  href?: string | undefined;
105
106
  onClick?: ((e: any) => void | Promise<void>) | undefined;
@@ -111,8 +112,25 @@ declare const Button: ({ children, href, onClick, variant, type, disabled, tabIn
111
112
  fullWidth?: boolean | undefined;
112
113
  icon?: ReactNode;
113
114
  size?: "medium" | "large" | undefined;
115
+ loading?: boolean | undefined;
114
116
  }) => react_jsx_runtime.JSX.Element;
115
117
 
118
+ declare const Drawer: {
119
+ ({ children, droppableId, direction, }: {
120
+ children: ReactNode;
121
+ droppableId?: string | undefined;
122
+ direction?: "horizontal" | "vertical" | undefined;
123
+ }): react_jsx_runtime.JSX.Element;
124
+ Item: ({ name, children, id, index, }: {
125
+ name: string;
126
+ children?: ((props: {
127
+ children: ReactNode;
128
+ }) => ReactElement) | undefined;
129
+ id?: string | undefined;
130
+ index: number;
131
+ }) => react_jsx_runtime.JSX.Element;
132
+ };
133
+
116
134
  declare const IconButton: ({ children, href, onClick, variant, type, disabled, tabIndex, newTab, fullWidth, title, }: {
117
135
  children: ReactNode;
118
136
  href?: string | undefined;
@@ -126,35 +144,88 @@ declare const IconButton: ({ children, href, onClick, variant, type, disabled, t
126
144
  title: string;
127
145
  }) => react_jsx_runtime.JSX.Element;
128
146
 
129
- type Plugin = {
130
- renderRootFields?: (props: {
147
+ declare const FieldLabel: ({ children, icon, label, el, readOnly, className, }: {
148
+ children?: ReactNode;
149
+ icon?: ReactNode;
150
+ label: string;
151
+ el?: "label" | "div" | undefined;
152
+ readOnly?: boolean | undefined;
153
+ className?: string | undefined;
154
+ }) => react_jsx_runtime.JSX.Element;
155
+ type InputProps<F = Field<any>> = {
156
+ name: string;
157
+ field: F;
158
+ value: any;
159
+ id: string;
160
+ label?: string;
161
+ onChange: (value: any, uiState?: Partial<UiState>) => void;
162
+ readOnly?: boolean;
163
+ readOnlyFields?: Record<string, boolean | undefined>;
164
+ };
165
+
166
+ type RenderFunc<Props extends {
167
+ [key: string]: any;
168
+ } = {
169
+ children: ReactNode;
170
+ }> = React.FunctionComponent<Props>;
171
+ declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "components", "componentItem", "outline", "puck", "preview"];
172
+ type OverrideKey = (typeof overrideKeys)[number];
173
+ type OverridesGeneric<Shape extends {
174
+ [key in OverrideKey]: any;
175
+ }> = Shape;
176
+ type Overrides = OverridesGeneric<{
177
+ fieldTypes: Partial<FieldRenderFunctions>;
178
+ header: RenderFunc<{
179
+ actions: ReactNode;
131
180
  children: ReactNode;
132
- dispatch: (action: PuckAction) => void;
133
- state: AppState;
134
- }) => ReactElement<any>;
135
- renderRoot?: (props: {
181
+ }>;
182
+ headerActions: RenderFunc<{
183
+ children?: ReactNode;
184
+ }>;
185
+ preview: RenderFunc;
186
+ fields: RenderFunc<{
136
187
  children: ReactNode;
137
- dispatch: (action: PuckAction) => void;
138
- state: AppState;
139
- }) => ReactElement<any>;
140
- renderFields?: (props: {
188
+ isLoading: boolean;
189
+ itemSelector?: ItemSelector | null;
190
+ }>;
191
+ fieldLabel: RenderFunc<{
192
+ children?: ReactNode;
193
+ icon?: ReactNode;
194
+ label: string;
195
+ el?: "label" | "div";
196
+ readOnly?: boolean;
197
+ className?: string;
198
+ }>;
199
+ components: RenderFunc;
200
+ componentItem: RenderFunc;
201
+ outline: RenderFunc;
202
+ puck: RenderFunc;
203
+ }>;
204
+ type FieldRenderFunctions = Omit<{
205
+ [Type in Field["type"]]: React.FunctionComponent<InputProps<Extract<Field, {
206
+ type: Type;
207
+ }>> & {
141
208
  children: ReactNode;
142
- dispatch: (action: PuckAction) => void;
143
- state: AppState;
144
- }) => ReactElement<any>;
209
+ }>;
210
+ }, "custom"> & {
211
+ [key: string]: React.FunctionComponent<InputProps<any> & {
212
+ children: ReactNode;
213
+ }>;
145
214
  };
146
215
 
147
- declare function Puck({ config, data: initialData, onChange, onPublish, plugins, renderComponentList, renderHeader, renderHeaderActions, headerTitle, headerPath, }: {
148
- config: Config;
216
+ type Plugin = {
217
+ overrides: Partial<Overrides>;
218
+ };
219
+
220
+ declare function Puck({ children, config, data: initialData, ui: initialUi, onChange, onPublish, plugins, overrides, renderHeader, renderHeaderActions, headerTitle, headerPath, }: {
221
+ children?: ReactNode;
222
+ config: Config<any, any, any>;
149
223
  data: Data;
224
+ ui?: Partial<UiState>;
150
225
  onChange?: (data: Data) => void;
151
- onPublish: (data: Data) => void;
226
+ onPublish?: (data: Data) => void;
152
227
  plugins?: Plugin[];
153
- renderComponentList?: (props: {
154
- children: ReactNode;
155
- dispatch: (action: PuckAction) => void;
156
- state: AppState;
157
- }) => ReactElement;
228
+ overrides?: Partial<Overrides>;
158
229
  renderHeader?: (props: {
159
230
  children: ReactNode;
160
231
  dispatch: (action: PuckAction) => void;
@@ -167,25 +238,45 @@ declare function Puck({ config, data: initialData, onChange, onPublish, plugins,
167
238
  headerTitle?: string;
168
239
  headerPath?: string;
169
240
  }): react_jsx_runtime.JSX.Element;
241
+ declare namespace Puck {
242
+ var Components: () => react_jsx_runtime.JSX.Element;
243
+ var Fields: () => react_jsx_runtime.JSX.Element;
244
+ var Outline: () => react_jsx_runtime.JSX.Element;
245
+ var Preview: ({ id }: {
246
+ id?: string | undefined;
247
+ }) => react_jsx_runtime.JSX.Element;
248
+ }
170
249
 
171
- declare function Render({ config, data }: {
172
- config: Config;
250
+ declare function Render({ config, data, }: {
251
+ config: Config<any, any, any>;
173
252
  data: Data;
174
253
  }): react_jsx_runtime.JSX.Element;
175
254
 
176
- declare const resolveAllData: (data: Data, config: Config, onResolveStart?: ((item: MappedItem) => void) | undefined, onResolveEnd?: ((item: MappedItem) => void) | undefined) => Promise<{
255
+ declare function migrate(data: Data): Data;
256
+
257
+ type PropTransform<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultRootProps = DefaultRootProps> = Partial<{
258
+ [ComponentName in keyof Props]: (props: Props[ComponentName] & {
259
+ [key: string]: any;
260
+ }) => Props[ComponentName];
261
+ } & {
262
+ root: (props: RootProps & {
263
+ [key: string]: any;
264
+ }) => RootProps;
265
+ }>;
266
+ declare function transformProps<Props extends DefaultComponentProps = DefaultComponentProps, RootProps extends DefaultComponentProps = DefaultComponentProps>(data: Data, propTransforms: PropTransform<Props, RootProps>): Data;
267
+
268
+ declare const resolveAllData: (data: Data, config: Config<any, any, any>, onResolveStart?: ((item: MappedItem) => void) | undefined, onResolveEnd?: ((item: MappedItem) => void) | undefined) => Promise<{
177
269
  root: RootDataWithProps<DefaultRootProps> | RootData<DefaultRootProps>;
178
270
  content: any[];
179
271
  zones: Record<string, MappedItem[]>;
180
272
  }>;
181
273
 
182
- declare const FieldLabel: ({ children, icon, label, el, readOnly, className, }: {
183
- children?: ReactNode;
184
- icon?: ReactNode;
185
- label: string;
186
- el?: "label" | "div" | undefined;
187
- readOnly?: boolean | undefined;
188
- className?: string | undefined;
189
- }) => react_jsx_runtime.JSX.Element;
274
+ declare const usePuck: () => {
275
+ appState: AppState;
276
+ config: Config<{
277
+ [key: string]: any;
278
+ }, DefaultRootProps, string>;
279
+ dispatch: (action: PuckAction) => void;
280
+ };
190
281
 
191
- export { AppState, Button, Config, Data, DefaultRootProps, DropZoneProvider, FieldLabel, IconButton, MappedItem, Puck, PuckAction, Render, RootData, RootDataWithProps, UiState, dropZoneContext, resolveAllData };
282
+ export { AppState, Button, Config, Data, DefaultComponentProps, DefaultRootProps, Drawer, DropZoneProvider, Field, FieldLabel, IconButton, MappedItem, Puck, PuckAction, Render, RootData, RootDataWithProps, UiState, dropZoneContext, migrate, resolveAllData, transformProps, usePuck };