@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 +0 -145
- package/dist/index.d.mts +48 -3
- package/dist/index.d.ts +48 -3
- package/dist/index.js +273 -540
- package/dist/index.mjs +261 -528
- package/package.json +2 -2
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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;
|