@measured/puck-plugin-heading-analyzer 0.20.0-canary.8909f8cc → 0.20.0-canary.8ffbfdad

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
@@ -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[];
@@ -167,7 +175,25 @@ type RenderFunc<Props extends {
167
175
  } = {
168
176
  children: ReactNode;
169
177
  }> = (props: Props) => ReactElement;
170
- 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"];
171
197
  type OverrideKey = (typeof overrideKeys)[number];
172
198
  type OverridesGeneric<Shape extends {
173
199
  [key in OverrideKey]: any;
@@ -205,11 +231,23 @@ type Overrides = OverridesGeneric<{
205
231
  children: ReactNode;
206
232
  name: string;
207
233
  }>;
234
+ drawer: RenderFunc;
235
+ drawerItem: RenderFunc<{
236
+ children: ReactNode;
237
+ name: string;
238
+ }>;
208
239
  iframe: RenderFunc<{
209
240
  children: ReactNode;
210
241
  document?: Document;
211
242
  }>;
212
243
  outline: RenderFunc;
244
+ componentOverlay: RenderFunc<{
245
+ children: ReactNode;
246
+ hover: boolean;
247
+ isSelected: boolean;
248
+ componentId: string;
249
+ componentType: string;
250
+ }>;
213
251
  puck: RenderFunc;
214
252
  }>;
215
253
  type FieldRenderFunctions = Omit<{
@@ -235,7 +273,12 @@ type Viewport = {
235
273
  };
236
274
 
237
275
  type Plugin = {
238
- overrides: Partial<Overrides>;
276
+ name?: string;
277
+ label?: string;
278
+ icon?: ReactNode;
279
+ render?: () => ReactElement;
280
+ overrides?: Partial<Overrides>;
281
+ fieldTransforms?: FieldTransforms;
239
282
  };
240
283
 
241
284
  declare const headingAnalyzer: Plugin;
package/dist/index.d.ts CHANGED
@@ -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[];
@@ -167,7 +175,25 @@ type RenderFunc<Props extends {
167
175
  } = {
168
176
  children: ReactNode;
169
177
  }> = (props: Props) => ReactElement;
170
- 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"];
171
197
  type OverrideKey = (typeof overrideKeys)[number];
172
198
  type OverridesGeneric<Shape extends {
173
199
  [key in OverrideKey]: any;
@@ -205,11 +231,23 @@ type Overrides = OverridesGeneric<{
205
231
  children: ReactNode;
206
232
  name: string;
207
233
  }>;
234
+ drawer: RenderFunc;
235
+ drawerItem: RenderFunc<{
236
+ children: ReactNode;
237
+ name: string;
238
+ }>;
208
239
  iframe: RenderFunc<{
209
240
  children: ReactNode;
210
241
  document?: Document;
211
242
  }>;
212
243
  outline: RenderFunc;
244
+ componentOverlay: RenderFunc<{
245
+ children: ReactNode;
246
+ hover: boolean;
247
+ isSelected: boolean;
248
+ componentId: string;
249
+ componentType: string;
250
+ }>;
213
251
  puck: RenderFunc;
214
252
  }>;
215
253
  type FieldRenderFunctions = Omit<{
@@ -235,7 +273,12 @@ type Viewport = {
235
273
  };
236
274
 
237
275
  type Plugin = {
238
- overrides: Partial<Overrides>;
276
+ name?: string;
277
+ label?: string;
278
+ icon?: ReactNode;
279
+ render?: () => ReactElement;
280
+ overrides?: Partial<Overrides>;
281
+ fieldTransforms?: FieldTransforms;
239
282
  };
240
283
 
241
284
  declare const headingAnalyzer: Plugin;