@measured/puck-plugin-heading-analyzer 0.20.0-canary.93d525c5 → 0.20.0-canary.b2d0f01a

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.css CHANGED
@@ -12,151 +12,6 @@
12
12
  color: var(--puck-color-red-04);
13
13
  }
14
14
 
15
- /* css-module:/home/runner/work/puck/puck/packages/core/components/SidebarSection/styles.module.css/#css-module-data */
16
- ._SidebarSection_8boj8_1 {
17
- display: flex;
18
- position: relative;
19
- flex-direction: column;
20
- color: var(--puck-color-black);
21
- }
22
- ._SidebarSection_8boj8_1:last-of-type {
23
- flex-grow: 1;
24
- }
25
- ._SidebarSection-title_8boj8_12 {
26
- background: var(--puck-color-white);
27
- padding: 16px;
28
- border-bottom: 1px solid var(--puck-color-grey-09);
29
- border-top: 1px solid var(--puck-color-grey-09);
30
- overflow-x: auto;
31
- }
32
- ._SidebarSection--noBorderTop_8boj8_20 > ._SidebarSection-title_8boj8_12 {
33
- border-top: 0px;
34
- }
35
- ._SidebarSection-content_8boj8_24 {
36
- padding: 16px;
37
- }
38
- ._SidebarSection--noPadding_8boj8_28 > ._SidebarSection-content_8boj8_24 {
39
- padding: 0px;
40
- }
41
- ._SidebarSection--noPadding_8boj8_28 > ._SidebarSection-content_8boj8_24:last-child {
42
- padding-bottom: 4px;
43
- }
44
- ._SidebarSection_8boj8_1:last-of-type ._SidebarSection-content_8boj8_24 {
45
- border-bottom: none;
46
- flex-grow: 1;
47
- }
48
- ._SidebarSection-breadcrumbLabel_8boj8_41 {
49
- background: none;
50
- border: 0;
51
- border-radius: 2px;
52
- color: var(--puck-color-azure-04);
53
- cursor: pointer;
54
- font: inherit;
55
- flex-shrink: 0;
56
- padding: 0;
57
- transition: color 50ms ease-in;
58
- }
59
- ._SidebarSection-breadcrumbLabel_8boj8_41:focus-visible {
60
- outline: 2px solid var(--puck-color-azure-05);
61
- outline-offset: 2px;
62
- }
63
- @media (hover: hover) and (pointer: fine) {
64
- ._SidebarSection-breadcrumbLabel_8boj8_41:hover {
65
- color: var(--puck-color-azure-03);
66
- transition: none;
67
- }
68
- }
69
- ._SidebarSection-breadcrumbLabel_8boj8_41:active {
70
- color: var(--puck-color-azure-02);
71
- transition: none;
72
- }
73
- ._SidebarSection-breadcrumbs_8boj8_70 {
74
- align-items: center;
75
- display: flex;
76
- gap: 4px;
77
- }
78
- ._SidebarSection-breadcrumb_8boj8_41 {
79
- align-items: center;
80
- display: flex;
81
- gap: 4px;
82
- }
83
- ._SidebarSection-heading_8boj8_82 {
84
- padding-inline-end: 16px;
85
- }
86
- ._SidebarSection-loadingOverlay_8boj8_86 {
87
- background: var(--puck-color-white);
88
- display: flex;
89
- justify-content: center;
90
- align-items: center;
91
- height: 100%;
92
- width: 100%;
93
- top: 0;
94
- position: absolute;
95
- z-index: 1;
96
- pointer-events: all;
97
- box-sizing: border-box;
98
- opacity: 0.8;
99
- }
100
-
101
- /* css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css/#css-module-data */
102
- ._Heading_qxrry_1 {
103
- display: block;
104
- color: var(--puck-color-black);
105
- font-weight: 700;
106
- margin: 0;
107
- }
108
- ._Heading_qxrry_1 b {
109
- font-weight: 700;
110
- }
111
- ._Heading--xxxxl_qxrry_12 {
112
- font-size: var(--puck-font-size-xxxxl);
113
- letter-spacing: 0.08ch;
114
- font-weight: 800;
115
- }
116
- ._Heading--xxxl_qxrry_18 {
117
- font-size: var(--puck-font-size-xxxl);
118
- }
119
- ._Heading--xxl_qxrry_22 {
120
- font-size: var(--puck-font-size-xxl);
121
- }
122
- ._Heading--xl_qxrry_26 {
123
- font-size: var(--puck-font-size-xl);
124
- }
125
- ._Heading--l_qxrry_30 {
126
- font-size: var(--puck-font-size-l);
127
- }
128
- ._Heading--m_qxrry_34 {
129
- font-size: var(--puck-font-size-m);
130
- }
131
- ._Heading--s_qxrry_38 {
132
- font-size: var(--puck-font-size-s);
133
- }
134
- ._Heading--xs_qxrry_42 {
135
- font-size: var(--puck-font-size-xs);
136
- }
137
-
138
- /* css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css/#css-module-data */
139
- @keyframes _loader-animation_nacdm_1 {
140
- 0% {
141
- transform: rotate(0deg) scale(1);
142
- }
143
- 50% {
144
- transform: rotate(180deg) scale(0.8);
145
- }
146
- 100% {
147
- transform: rotate(360deg) scale(1);
148
- }
149
- }
150
- ._Loader_nacdm_13 {
151
- background: transparent;
152
- border-radius: 100%;
153
- border: 2px solid currentColor;
154
- border-bottom-color: transparent;
155
- display: inline-block;
156
- animation: _loader-animation_nacdm_1 1s 0s infinite linear;
157
- animation-fill-mode: both;
158
- }
159
-
160
15
  /* css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css/#css-module-data */
161
16
  ._OutlineList_w4lzv_1 {
162
17
  color: var(--puck-color-grey-03);
package/dist/index.d.mts CHANGED
@@ -7,7 +7,7 @@ type ItemSelector = {
7
7
 
8
8
  type FieldOption = {
9
9
  label: string;
10
- value: string | number | boolean;
10
+ value: string | number | boolean | undefined | null | object;
11
11
  };
12
12
  type FieldOptions = Array<FieldOption> | ReadonlyArray<FieldOption>;
13
13
  type BaseField = {
@@ -19,6 +19,7 @@ type BaseField = {
19
19
  type TextField = BaseField & {
20
20
  type: "text";
21
21
  placeholder?: string;
22
+ contentEditable?: boolean;
22
23
  };
23
24
  type NumberField = BaseField & {
24
25
  type: "number";
@@ -30,6 +31,7 @@ type NumberField = BaseField & {
30
31
  type TextareaField = BaseField & {
31
32
  type: "textarea";
32
33
  placeholder?: string;
34
+ contentEditable?: boolean;
33
35
  };
34
36
  type SelectField = BaseField & {
35
37
  type: "select";
@@ -107,6 +109,7 @@ type CustomFieldRender<Value extends any> = (props: {
107
109
  type CustomField<Value extends any> = BaseField & {
108
110
  type: "custom";
109
111
  render: CustomFieldRender<Value>;
112
+ contentEditable?: boolean;
110
113
  };
111
114
  type SlotField = BaseField & {
112
115
  type: "slot";
@@ -122,6 +125,10 @@ type FieldProps<F = Field<any>, ValueType = any> = {
122
125
  readOnly?: boolean;
123
126
  };
124
127
 
128
+ type ExtractField<T extends Field["type"]> = Extract<Field, {
129
+ type: T;
130
+ }>;
131
+
125
132
  type Metadata = {
126
133
  [key: string]: any;
127
134
  };
@@ -129,6 +136,7 @@ type Metadata = {
129
136
  type ItemWithId = {
130
137
  _arrayId: string;
131
138
  _originalIndex: number;
139
+ _currentIndex: number;
132
140
  };
133
141
  type ArrayState = {
134
142
  items: ItemWithId[];
@@ -137,6 +145,8 @@ type ArrayState = {
137
145
  type UiState = {
138
146
  leftSideBarVisible: boolean;
139
147
  rightSideBarVisible: boolean;
148
+ leftSideBarWidth?: number | null;
149
+ rightSideBarWidth?: number | null;
140
150
  itemSelector: ItemSelector | null;
141
151
  arrayState: Record<string, ArrayState | undefined>;
142
152
  previewMode: "interactive" | "edit";
@@ -165,7 +175,25 @@ type RenderFunc<Props extends {
165
175
  } = {
166
176
  children: ReactNode;
167
177
  }> = (props: Props) => ReactElement;
168
- declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "components", "componentItem", "outline", "puck", "preview"];
178
+
179
+ type MapFnParams<ThisField = Field> = {
180
+ value: any;
181
+ parentId: string;
182
+ propName: string;
183
+ field: ThisField;
184
+ propPath: string;
185
+ };
186
+
187
+ type FieldTransformFnParams<T> = Omit<MapFnParams<T>, "parentId"> & {
188
+ isReadOnly: boolean;
189
+ componentId: string;
190
+ };
191
+ type FieldTransformFn<T = any> = (params: FieldTransformFnParams<T>) => any;
192
+ type FieldTransforms = Partial<{
193
+ [FieldType in Field["type"]]: FieldTransformFn<ExtractField<FieldType>>;
194
+ }>;
195
+
196
+ declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
169
197
  type OverrideKey = (typeof overrideKeys)[number];
170
198
  type OverridesGeneric<Shape extends {
171
199
  [key in OverrideKey]: any;
@@ -203,11 +231,23 @@ type Overrides = OverridesGeneric<{
203
231
  children: ReactNode;
204
232
  name: string;
205
233
  }>;
234
+ drawer: RenderFunc;
235
+ drawerItem: RenderFunc<{
236
+ children: ReactNode;
237
+ name: string;
238
+ }>;
206
239
  iframe: RenderFunc<{
207
240
  children: ReactNode;
208
241
  document?: Document;
209
242
  }>;
210
243
  outline: RenderFunc;
244
+ componentOverlay: RenderFunc<{
245
+ children: ReactNode;
246
+ hover: boolean;
247
+ isSelected: boolean;
248
+ componentId: string;
249
+ componentType: string;
250
+ }>;
211
251
  puck: RenderFunc;
212
252
  }>;
213
253
  type FieldRenderFunctions = Omit<{
@@ -233,7 +273,12 @@ type Viewport = {
233
273
  };
234
274
 
235
275
  type Plugin = {
236
- overrides: Partial<Overrides>;
276
+ name?: string;
277
+ label?: string;
278
+ icon?: ReactNode;
279
+ render?: () => ReactElement;
280
+ overrides?: Partial<Overrides>;
281
+ fieldTransforms?: FieldTransforms;
237
282
  };
238
283
 
239
284
  declare const headingAnalyzer: Plugin;
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ type ItemSelector = {
7
7
 
8
8
  type FieldOption = {
9
9
  label: string;
10
- value: string | number | boolean;
10
+ value: string | number | boolean | undefined | null | object;
11
11
  };
12
12
  type FieldOptions = Array<FieldOption> | ReadonlyArray<FieldOption>;
13
13
  type BaseField = {
@@ -19,6 +19,7 @@ type BaseField = {
19
19
  type TextField = BaseField & {
20
20
  type: "text";
21
21
  placeholder?: string;
22
+ contentEditable?: boolean;
22
23
  };
23
24
  type NumberField = BaseField & {
24
25
  type: "number";
@@ -30,6 +31,7 @@ type NumberField = BaseField & {
30
31
  type TextareaField = BaseField & {
31
32
  type: "textarea";
32
33
  placeholder?: string;
34
+ contentEditable?: boolean;
33
35
  };
34
36
  type SelectField = BaseField & {
35
37
  type: "select";
@@ -107,6 +109,7 @@ type CustomFieldRender<Value extends any> = (props: {
107
109
  type CustomField<Value extends any> = BaseField & {
108
110
  type: "custom";
109
111
  render: CustomFieldRender<Value>;
112
+ contentEditable?: boolean;
110
113
  };
111
114
  type SlotField = BaseField & {
112
115
  type: "slot";
@@ -122,6 +125,10 @@ type FieldProps<F = Field<any>, ValueType = any> = {
122
125
  readOnly?: boolean;
123
126
  };
124
127
 
128
+ type ExtractField<T extends Field["type"]> = Extract<Field, {
129
+ type: T;
130
+ }>;
131
+
125
132
  type Metadata = {
126
133
  [key: string]: any;
127
134
  };
@@ -129,6 +136,7 @@ type Metadata = {
129
136
  type ItemWithId = {
130
137
  _arrayId: string;
131
138
  _originalIndex: number;
139
+ _currentIndex: number;
132
140
  };
133
141
  type ArrayState = {
134
142
  items: ItemWithId[];
@@ -137,6 +145,8 @@ type ArrayState = {
137
145
  type UiState = {
138
146
  leftSideBarVisible: boolean;
139
147
  rightSideBarVisible: boolean;
148
+ leftSideBarWidth?: number | null;
149
+ rightSideBarWidth?: number | null;
140
150
  itemSelector: ItemSelector | null;
141
151
  arrayState: Record<string, ArrayState | undefined>;
142
152
  previewMode: "interactive" | "edit";
@@ -165,7 +175,25 @@ type RenderFunc<Props extends {
165
175
  } = {
166
176
  children: ReactNode;
167
177
  }> = (props: Props) => ReactElement;
168
- declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "components", "componentItem", "outline", "puck", "preview"];
178
+
179
+ type MapFnParams<ThisField = Field> = {
180
+ value: any;
181
+ parentId: string;
182
+ propName: string;
183
+ field: ThisField;
184
+ propPath: string;
185
+ };
186
+
187
+ type FieldTransformFnParams<T> = Omit<MapFnParams<T>, "parentId"> & {
188
+ isReadOnly: boolean;
189
+ componentId: string;
190
+ };
191
+ type FieldTransformFn<T = any> = (params: FieldTransformFnParams<T>) => any;
192
+ type FieldTransforms = Partial<{
193
+ [FieldType in Field["type"]]: FieldTransformFn<ExtractField<FieldType>>;
194
+ }>;
195
+
196
+ declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
169
197
  type OverrideKey = (typeof overrideKeys)[number];
170
198
  type OverridesGeneric<Shape extends {
171
199
  [key in OverrideKey]: any;
@@ -203,11 +231,23 @@ type Overrides = OverridesGeneric<{
203
231
  children: ReactNode;
204
232
  name: string;
205
233
  }>;
234
+ drawer: RenderFunc;
235
+ drawerItem: RenderFunc<{
236
+ children: ReactNode;
237
+ name: string;
238
+ }>;
206
239
  iframe: RenderFunc<{
207
240
  children: ReactNode;
208
241
  document?: Document;
209
242
  }>;
210
243
  outline: RenderFunc;
244
+ componentOverlay: RenderFunc<{
245
+ children: ReactNode;
246
+ hover: boolean;
247
+ isSelected: boolean;
248
+ componentId: string;
249
+ componentType: string;
250
+ }>;
211
251
  puck: RenderFunc;
212
252
  }>;
213
253
  type FieldRenderFunctions = Omit<{
@@ -233,7 +273,12 @@ type Viewport = {
233
273
  };
234
274
 
235
275
  type Plugin = {
236
- overrides: Partial<Overrides>;
276
+ name?: string;
277
+ label?: string;
278
+ icon?: ReactNode;
279
+ render?: () => ReactElement;
280
+ overrides?: Partial<Overrides>;
281
+ fieldTransforms?: FieldTransforms;
237
282
  };
238
283
 
239
284
  declare const headingAnalyzer: Plugin;