@measured/puck-plugin-heading-analyzer 0.20.0-canary.f2d031fb → 0.20.0-canary.f73c8fa0
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 +5 -149
- package/dist/index.d.mts +14 -5
- package/dist/index.d.ts +14 -5
- package/dist/index.js +85 -240
- package/dist/index.mjs +82 -237
- package/package.json +2 -2
package/dist/index.css
CHANGED
@@ -1,162 +1,18 @@
|
|
1
1
|
/* css-module:/home/runner/work/puck/puck/packages/plugin-heading-analyzer/src/HeadingAnalyzer.module.css/#css-module-data */
|
2
|
-
.
|
2
|
+
._HeadingAnalyzer_yg0s7_1 {
|
3
3
|
display: block;
|
4
|
+
padding: 16px;
|
4
5
|
}
|
5
|
-
._HeadingAnalyzer-
|
6
|
+
._HeadingAnalyzer-cssWarning_yg0s7_6 {
|
6
7
|
display: none !important;
|
7
8
|
}
|
8
|
-
.
|
9
|
+
._HeadingAnalyzerItem_yg0s7_10 {
|
9
10
|
display: inline;
|
10
11
|
}
|
11
|
-
._HeadingAnalyzerItem--
|
12
|
+
._HeadingAnalyzerItem--missing_yg0s7_14 {
|
12
13
|
color: var(--puck-color-red-04);
|
13
14
|
}
|
14
15
|
|
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
16
|
/* css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css/#css-module-data */
|
161
17
|
._OutlineList_w4lzv_1 {
|
162
18
|
color: var(--puck-color-grey-03);
|
package/dist/index.d.mts
CHANGED
@@ -136,6 +136,7 @@ type Metadata = {
|
|
136
136
|
type ItemWithId = {
|
137
137
|
_arrayId: string;
|
138
138
|
_originalIndex: number;
|
139
|
+
_currentIndex: number;
|
139
140
|
};
|
140
141
|
type ArrayState = {
|
141
142
|
items: ItemWithId[];
|
@@ -167,8 +168,17 @@ type UiState = {
|
|
167
168
|
field: {
|
168
169
|
focus?: string | null;
|
169
170
|
};
|
171
|
+
plugin: {
|
172
|
+
current: string | null;
|
173
|
+
};
|
170
174
|
};
|
171
175
|
|
176
|
+
type RenderFunc<Props extends {
|
177
|
+
[key: string]: any;
|
178
|
+
} = {
|
179
|
+
children: ReactNode;
|
180
|
+
}> = (props: Props) => ReactElement;
|
181
|
+
|
172
182
|
type MapFnParams<ThisField = Field> = {
|
173
183
|
value: any;
|
174
184
|
parentId: string;
|
@@ -186,11 +196,6 @@ type FieldTransforms = Partial<{
|
|
186
196
|
[FieldType in Field["type"]]: FieldTransformFn<ExtractField<FieldType>>;
|
187
197
|
}>;
|
188
198
|
|
189
|
-
type RenderFunc<Props extends {
|
190
|
-
[key: string]: any;
|
191
|
-
} = {
|
192
|
-
children: ReactNode;
|
193
|
-
}> = (props: Props) => ReactElement;
|
194
199
|
declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
|
195
200
|
type OverrideKey = (typeof overrideKeys)[number];
|
196
201
|
type OverridesGeneric<Shape extends {
|
@@ -271,6 +276,10 @@ type Viewport = {
|
|
271
276
|
};
|
272
277
|
|
273
278
|
type Plugin = {
|
279
|
+
name?: string;
|
280
|
+
label?: string;
|
281
|
+
icon?: ReactNode;
|
282
|
+
render?: () => ReactElement;
|
274
283
|
overrides?: Partial<Overrides>;
|
275
284
|
fieldTransforms?: FieldTransforms;
|
276
285
|
};
|
package/dist/index.d.ts
CHANGED
@@ -136,6 +136,7 @@ type Metadata = {
|
|
136
136
|
type ItemWithId = {
|
137
137
|
_arrayId: string;
|
138
138
|
_originalIndex: number;
|
139
|
+
_currentIndex: number;
|
139
140
|
};
|
140
141
|
type ArrayState = {
|
141
142
|
items: ItemWithId[];
|
@@ -167,8 +168,17 @@ type UiState = {
|
|
167
168
|
field: {
|
168
169
|
focus?: string | null;
|
169
170
|
};
|
171
|
+
plugin: {
|
172
|
+
current: string | null;
|
173
|
+
};
|
170
174
|
};
|
171
175
|
|
176
|
+
type RenderFunc<Props extends {
|
177
|
+
[key: string]: any;
|
178
|
+
} = {
|
179
|
+
children: ReactNode;
|
180
|
+
}> = (props: Props) => ReactElement;
|
181
|
+
|
172
182
|
type MapFnParams<ThisField = Field> = {
|
173
183
|
value: any;
|
174
184
|
parentId: string;
|
@@ -186,11 +196,6 @@ type FieldTransforms = Partial<{
|
|
186
196
|
[FieldType in Field["type"]]: FieldTransformFn<ExtractField<FieldType>>;
|
187
197
|
}>;
|
188
198
|
|
189
|
-
type RenderFunc<Props extends {
|
190
|
-
[key: string]: any;
|
191
|
-
} = {
|
192
|
-
children: ReactNode;
|
193
|
-
}> = (props: Props) => ReactElement;
|
194
199
|
declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
|
195
200
|
type OverrideKey = (typeof overrideKeys)[number];
|
196
201
|
type OverridesGeneric<Shape extends {
|
@@ -271,6 +276,10 @@ type Viewport = {
|
|
271
276
|
};
|
272
277
|
|
273
278
|
type Plugin = {
|
279
|
+
name?: string;
|
280
|
+
label?: string;
|
281
|
+
icon?: ReactNode;
|
282
|
+
render?: () => ReactElement;
|
274
283
|
overrides?: Partial<Overrides>;
|
275
284
|
fieldTransforms?: FieldTransforms;
|
276
285
|
};
|
package/dist/index.js
CHANGED
@@ -313,21 +313,21 @@ init_react_import();
|
|
313
313
|
|
314
314
|
// src/HeadingAnalyzer.tsx
|
315
315
|
init_react_import();
|
316
|
-
var
|
316
|
+
var import_react10 = require("react");
|
317
317
|
|
318
318
|
// css-module:/home/runner/work/puck/puck/packages/plugin-heading-analyzer/src/HeadingAnalyzer.module.css#css-module
|
319
319
|
init_react_import();
|
320
|
-
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "
|
320
|
+
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "_HeadingAnalyzer_yg0s7_1", "HeadingAnalyzer-cssWarning": "_HeadingAnalyzer-cssWarning_yg0s7_6", "HeadingAnalyzerItem": "_HeadingAnalyzerItem_yg0s7_10", "HeadingAnalyzerItem--missing": "_HeadingAnalyzerItem--missing_yg0s7_14" };
|
321
321
|
|
322
322
|
// src/HeadingAnalyzer.tsx
|
323
323
|
var import_puck = require("@measured/puck");
|
324
324
|
|
325
|
-
// ../core/components/
|
325
|
+
// ../core/components/OutlineList/index.tsx
|
326
326
|
init_react_import();
|
327
327
|
|
328
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/
|
328
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
329
329
|
init_react_import();
|
330
|
-
var styles_module_default = { "
|
330
|
+
var styles_module_default = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
331
331
|
|
332
332
|
// ../core/lib/get-class-name-factory.ts
|
333
333
|
init_react_import();
|
@@ -356,29 +356,50 @@ var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (op
|
|
356
356
|
};
|
357
357
|
var get_class_name_factory_default = getClassNameFactory;
|
358
358
|
|
359
|
-
// ../core/components/
|
360
|
-
init_react_import();
|
361
|
-
|
362
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css#css-module
|
363
|
-
init_react_import();
|
364
|
-
var styles_module_default2 = { "Heading": "_Heading_qxrry_1", "Heading--xxxxl": "_Heading--xxxxl_qxrry_12", "Heading--xxxl": "_Heading--xxxl_qxrry_18", "Heading--xxl": "_Heading--xxl_qxrry_22", "Heading--xl": "_Heading--xl_qxrry_26", "Heading--l": "_Heading--l_qxrry_30", "Heading--m": "_Heading--m_qxrry_34", "Heading--s": "_Heading--s_qxrry_38", "Heading--xs": "_Heading--xs_qxrry_42" };
|
365
|
-
|
366
|
-
// ../core/components/Heading/index.tsx
|
359
|
+
// ../core/components/OutlineList/index.tsx
|
367
360
|
var import_jsx_runtime = require("react/jsx-runtime");
|
368
|
-
var getClassName = get_class_name_factory_default("
|
369
|
-
var
|
370
|
-
|
361
|
+
var getClassName = get_class_name_factory_default("OutlineList", styles_module_default);
|
362
|
+
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default);
|
363
|
+
var OutlineList = ({ children }) => {
|
364
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", { className: getClassName(), children });
|
365
|
+
};
|
366
|
+
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: getClassNameItem({ clickable: true }), children });
|
367
|
+
OutlineList.Item = ({
|
368
|
+
children,
|
369
|
+
onClick
|
370
|
+
}) => {
|
371
371
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
372
|
-
|
372
|
+
"li",
|
373
373
|
{
|
374
|
-
className:
|
375
|
-
|
376
|
-
}),
|
374
|
+
className: getClassNameItem({ clickable: !!onClick }),
|
375
|
+
onClick,
|
377
376
|
children
|
378
377
|
}
|
379
378
|
);
|
380
379
|
};
|
381
380
|
|
381
|
+
// ../core/lib/scroll-into-view.ts
|
382
|
+
init_react_import();
|
383
|
+
var scrollIntoView = (el) => {
|
384
|
+
const oldStyle = __spreadValues({}, el.style);
|
385
|
+
el.style.scrollMargin = "256px";
|
386
|
+
if (el) {
|
387
|
+
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
388
|
+
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
389
|
+
}
|
390
|
+
};
|
391
|
+
|
392
|
+
// ../core/lib/get-frame.ts
|
393
|
+
init_react_import();
|
394
|
+
var getFrame = () => {
|
395
|
+
if (typeof window === "undefined") return;
|
396
|
+
let frameEl = document.querySelector("#preview-frame");
|
397
|
+
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
398
|
+
return frameEl.contentDocument || document;
|
399
|
+
}
|
400
|
+
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
401
|
+
};
|
402
|
+
|
382
403
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
383
404
|
init_react_import();
|
384
405
|
|
@@ -466,15 +487,29 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
466
487
|
return Component;
|
467
488
|
};
|
468
489
|
|
469
|
-
// ../../node_modules/lucide-react/dist/esm/icons/
|
490
|
+
// ../../node_modules/lucide-react/dist/esm/icons/heading-1.js
|
470
491
|
init_react_import();
|
471
|
-
var
|
472
|
-
["path", { d: "
|
492
|
+
var Heading1 = createLucideIcon("Heading1", [
|
493
|
+
["path", { d: "M4 12h8", key: "17cfdx" }],
|
494
|
+
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
495
|
+
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
496
|
+
["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
|
473
497
|
]);
|
474
498
|
|
475
|
-
// ../core/lib/
|
499
|
+
// ../core/lib/index.ts
|
500
|
+
init_react_import();
|
501
|
+
|
502
|
+
// ../core/lib/filter.ts
|
503
|
+
init_react_import();
|
504
|
+
|
505
|
+
// ../core/lib/data/reorder.ts
|
506
|
+
init_react_import();
|
507
|
+
|
508
|
+
// ../core/lib/data/replace.ts
|
509
|
+
init_react_import();
|
510
|
+
|
511
|
+
// ../core/lib/use-reset-auto-zoom.ts
|
476
512
|
init_react_import();
|
477
|
-
var import_react10 = require("react");
|
478
513
|
|
479
514
|
// ../core/store/index.ts
|
480
515
|
init_react_import();
|
@@ -1929,7 +1964,8 @@ var defaultAppState = {
|
|
1929
1964
|
options: [],
|
1930
1965
|
controlsVisible: true
|
1931
1966
|
},
|
1932
|
-
field: { focus: null }
|
1967
|
+
field: { focus: null },
|
1968
|
+
plugin: { current: null }
|
1933
1969
|
},
|
1934
1970
|
indexes: {
|
1935
1971
|
nodes: {},
|
@@ -2115,203 +2151,14 @@ var createAppStore = (initialAppStore) => create()(
|
|
2115
2151
|
})
|
2116
2152
|
);
|
2117
2153
|
var appStoreContext = (0, import_react9.createContext)(createAppStore());
|
2118
|
-
function useAppStore(selector) {
|
2119
|
-
const context = (0, import_react9.useContext)(appStoreContext);
|
2120
|
-
return useStore(context, selector);
|
2121
|
-
}
|
2122
|
-
function useAppStoreApi() {
|
2123
|
-
return (0, import_react9.useContext)(appStoreContext);
|
2124
|
-
}
|
2125
|
-
|
2126
|
-
// ../core/lib/use-breadcrumbs.ts
|
2127
|
-
var useBreadcrumbs = (renderCount) => {
|
2128
|
-
const selectedId = useAppStore((s) => {
|
2129
|
-
var _a;
|
2130
|
-
return (_a = s.selectedItem) == null ? void 0 : _a.props.id;
|
2131
|
-
});
|
2132
|
-
const config = useAppStore((s) => s.config);
|
2133
|
-
const path = useAppStore((s) => {
|
2134
|
-
var _a;
|
2135
|
-
return (_a = s.state.indexes.nodes[selectedId]) == null ? void 0 : _a.path;
|
2136
|
-
});
|
2137
|
-
const appStore = useAppStoreApi();
|
2138
|
-
return (0, import_react10.useMemo)(() => {
|
2139
|
-
const breadcrumbs = (path == null ? void 0 : path.map((zoneCompound) => {
|
2140
|
-
var _a, _b, _c;
|
2141
|
-
const [componentId] = zoneCompound.split(":");
|
2142
|
-
if (componentId === "root") {
|
2143
|
-
return {
|
2144
|
-
label: "Page",
|
2145
|
-
selector: null
|
2146
|
-
};
|
2147
|
-
}
|
2148
|
-
const node = appStore.getState().state.indexes.nodes[componentId];
|
2149
|
-
const parentId = node.path[node.path.length - 1];
|
2150
|
-
const contentIds = ((_a = appStore.getState().state.indexes.zones[parentId]) == null ? void 0 : _a.contentIds) || [];
|
2151
|
-
const index = contentIds.indexOf(componentId);
|
2152
|
-
const label = node ? (_c = (_b = config.components[node.data.type]) == null ? void 0 : _b.label) != null ? _c : node.data.type : "Component";
|
2153
|
-
return {
|
2154
|
-
label,
|
2155
|
-
selector: node ? {
|
2156
|
-
index,
|
2157
|
-
zone: node.path[node.path.length - 1]
|
2158
|
-
} : null
|
2159
|
-
};
|
2160
|
-
})) || [];
|
2161
|
-
if (renderCount) {
|
2162
|
-
return breadcrumbs.slice(breadcrumbs.length - renderCount);
|
2163
|
-
}
|
2164
|
-
return breadcrumbs;
|
2165
|
-
}, [path, renderCount]);
|
2166
|
-
};
|
2167
|
-
|
2168
|
-
// ../core/components/Loader/index.tsx
|
2169
|
-
init_react_import();
|
2170
|
-
|
2171
|
-
// ../core/lib/index.ts
|
2172
|
-
init_react_import();
|
2173
|
-
|
2174
|
-
// ../core/lib/filter.ts
|
2175
|
-
init_react_import();
|
2176
|
-
|
2177
|
-
// ../core/lib/data/reorder.ts
|
2178
|
-
init_react_import();
|
2179
|
-
|
2180
|
-
// ../core/lib/data/replace.ts
|
2181
|
-
init_react_import();
|
2182
|
-
|
2183
|
-
// ../core/lib/use-reset-auto-zoom.ts
|
2184
|
-
init_react_import();
|
2185
2154
|
|
2186
2155
|
// ../core/lib/get-zoom-config.ts
|
2187
2156
|
init_react_import();
|
2188
2157
|
|
2189
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css#css-module
|
2190
|
-
init_react_import();
|
2191
|
-
var styles_module_default3 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
|
2192
|
-
|
2193
|
-
// ../core/components/Loader/index.tsx
|
2194
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
2195
|
-
var getClassName2 = get_class_name_factory_default("Loader", styles_module_default3);
|
2196
|
-
var Loader = (_a) => {
|
2197
|
-
var _b = _a, {
|
2198
|
-
color,
|
2199
|
-
size = 16
|
2200
|
-
} = _b, props = __objRest(_b, [
|
2201
|
-
"color",
|
2202
|
-
"size"
|
2203
|
-
]);
|
2204
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
2205
|
-
"span",
|
2206
|
-
__spreadValues({
|
2207
|
-
className: getClassName2(),
|
2208
|
-
style: {
|
2209
|
-
width: size,
|
2210
|
-
height: size,
|
2211
|
-
color
|
2212
|
-
},
|
2213
|
-
"aria-label": "loading"
|
2214
|
-
}, props)
|
2215
|
-
);
|
2216
|
-
};
|
2217
|
-
|
2218
|
-
// ../core/components/SidebarSection/index.tsx
|
2219
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
2220
|
-
var getClassName3 = get_class_name_factory_default("SidebarSection", styles_module_default);
|
2221
|
-
var SidebarSection = ({
|
2222
|
-
children,
|
2223
|
-
title,
|
2224
|
-
background,
|
2225
|
-
showBreadcrumbs,
|
2226
|
-
noBorderTop,
|
2227
|
-
noPadding,
|
2228
|
-
isLoading
|
2229
|
-
}) => {
|
2230
|
-
const setUi = useAppStore((s) => s.setUi);
|
2231
|
-
const breadcrumbs = useBreadcrumbs(1);
|
2232
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
2233
|
-
"div",
|
2234
|
-
{
|
2235
|
-
className: getClassName3({ noBorderTop, noPadding }),
|
2236
|
-
style: { background },
|
2237
|
-
children: [
|
2238
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("title"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: getClassName3("breadcrumbs"), children: [
|
2239
|
-
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: getClassName3("breadcrumb"), children: [
|
2240
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
2241
|
-
"button",
|
2242
|
-
{
|
2243
|
-
type: "button",
|
2244
|
-
className: getClassName3("breadcrumbLabel"),
|
2245
|
-
onClick: () => setUi({ itemSelector: breadcrumb.selector }),
|
2246
|
-
children: breadcrumb.label
|
2247
|
-
}
|
2248
|
-
),
|
2249
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ChevronRight, { size: 16 })
|
2250
|
-
] }, i)) : null,
|
2251
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Heading, { rank: "2", size: "xs", children: title }) })
|
2252
|
-
] }) }),
|
2253
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("content"), children }),
|
2254
|
-
isLoading && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Loader, { size: 32 }) })
|
2255
|
-
]
|
2256
|
-
}
|
2257
|
-
);
|
2258
|
-
};
|
2259
|
-
|
2260
|
-
// ../core/components/OutlineList/index.tsx
|
2261
|
-
init_react_import();
|
2262
|
-
|
2263
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
2264
|
-
init_react_import();
|
2265
|
-
var styles_module_default4 = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
2266
|
-
|
2267
|
-
// ../core/components/OutlineList/index.tsx
|
2268
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
2269
|
-
var getClassName4 = get_class_name_factory_default("OutlineList", styles_module_default4);
|
2270
|
-
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default4);
|
2271
|
-
var OutlineList = ({ children }) => {
|
2272
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("ul", { className: getClassName4(), children });
|
2273
|
-
};
|
2274
|
-
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem({ clickable: true }), children });
|
2275
|
-
OutlineList.Item = ({
|
2276
|
-
children,
|
2277
|
-
onClick
|
2278
|
-
}) => {
|
2279
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
2280
|
-
"li",
|
2281
|
-
{
|
2282
|
-
className: getClassNameItem({ clickable: !!onClick }),
|
2283
|
-
onClick,
|
2284
|
-
children
|
2285
|
-
}
|
2286
|
-
);
|
2287
|
-
};
|
2288
|
-
|
2289
|
-
// ../core/lib/scroll-into-view.ts
|
2290
|
-
init_react_import();
|
2291
|
-
var scrollIntoView = (el) => {
|
2292
|
-
const oldStyle = __spreadValues({}, el.style);
|
2293
|
-
el.style.scrollMargin = "256px";
|
2294
|
-
if (el) {
|
2295
|
-
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
2296
|
-
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
2297
|
-
}
|
2298
|
-
};
|
2299
|
-
|
2300
|
-
// ../core/lib/get-frame.ts
|
2301
|
-
init_react_import();
|
2302
|
-
var getFrame = () => {
|
2303
|
-
if (typeof window === "undefined") return;
|
2304
|
-
let frameEl = document.querySelector("#preview-frame");
|
2305
|
-
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
2306
|
-
return frameEl.contentDocument || document;
|
2307
|
-
}
|
2308
|
-
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
2309
|
-
};
|
2310
|
-
|
2311
2158
|
// src/HeadingAnalyzer.tsx
|
2312
2159
|
var import_react_from_json = __toESM(require("react-from-json"));
|
2313
|
-
var
|
2314
|
-
var
|
2160
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
2161
|
+
var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
2315
2162
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
2316
2163
|
var ReactFromJSON = import_react_from_json.default.default || import_react_from_json.default;
|
2317
2164
|
var getOutline = ({ frame } = {}) => {
|
@@ -2366,8 +2213,8 @@ function buildHierarchy(frame) {
|
|
2366
2213
|
var usePuck = (0, import_puck.createUsePuck)();
|
2367
2214
|
var HeadingAnalyzer = () => {
|
2368
2215
|
const data = usePuck((s) => s.appState.data);
|
2369
|
-
const [hierarchy, setHierarchy] = (0,
|
2370
|
-
(0,
|
2216
|
+
const [hierarchy, setHierarchy] = (0, import_react10.useState)([]);
|
2217
|
+
(0, import_react10.useEffect)(() => {
|
2371
2218
|
const frame = getFrame();
|
2372
2219
|
let entry = frame == null ? void 0 : frame.querySelector(`[data-puck-entry]`);
|
2373
2220
|
const createHierarchy = () => {
|
@@ -2402,11 +2249,11 @@ var HeadingAnalyzer = () => {
|
|
2402
2249
|
frameObserver.disconnect();
|
2403
2250
|
};
|
2404
2251
|
}, [data]);
|
2405
|
-
return /* @__PURE__ */ (0,
|
2406
|
-
/* @__PURE__ */ (0,
|
2252
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: getClassName2(), children: [
|
2253
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
2407
2254
|
"small",
|
2408
2255
|
{
|
2409
|
-
className:
|
2256
|
+
className: getClassName2("cssWarning"),
|
2410
2257
|
style: {
|
2411
2258
|
color: "var(--puck-color-red-04)",
|
2412
2259
|
display: "block",
|
@@ -2415,19 +2262,19 @@ var HeadingAnalyzer = () => {
|
|
2415
2262
|
children: [
|
2416
2263
|
"Heading analyzer styles not loaded. Please review the",
|
2417
2264
|
" ",
|
2418
|
-
/* @__PURE__ */ (0,
|
2265
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
2419
2266
|
"."
|
2420
2267
|
]
|
2421
2268
|
}
|
2422
2269
|
),
|
2423
|
-
hierarchy.length === 0 && /* @__PURE__ */ (0,
|
2424
|
-
/* @__PURE__ */ (0,
|
2270
|
+
hierarchy.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { children: "No headings." }),
|
2271
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
2425
2272
|
ReactFromJSON,
|
2426
2273
|
{
|
2427
2274
|
mapping: {
|
2428
|
-
Root: (props) => /* @__PURE__ */ (0,
|
2429
|
-
OutlineListItem: (props) => /* @__PURE__ */ (0,
|
2430
|
-
/* @__PURE__ */ (0,
|
2275
|
+
Root: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: props.children }),
|
2276
|
+
OutlineListItem: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(OutlineList.Item, { children: [
|
2277
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList.Clickable, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
2431
2278
|
"small",
|
2432
2279
|
{
|
2433
2280
|
className: getClassNameItem2({ missing: props.missing }),
|
@@ -2445,14 +2292,14 @@ var HeadingAnalyzer = () => {
|
|
2445
2292
|
}, 2e3);
|
2446
2293
|
}
|
2447
2294
|
},
|
2448
|
-
children: props.missing ? /* @__PURE__ */ (0,
|
2449
|
-
/* @__PURE__ */ (0,
|
2295
|
+
children: props.missing ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
2296
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
2450
2297
|
"H",
|
2451
2298
|
props.rank
|
2452
2299
|
] }),
|
2453
2300
|
": Missing"
|
2454
|
-
] }) : /* @__PURE__ */ (0,
|
2455
|
-
/* @__PURE__ */ (0,
|
2301
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
2302
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
2456
2303
|
"H",
|
2457
2304
|
props.rank
|
2458
2305
|
] }),
|
@@ -2461,7 +2308,7 @@ var HeadingAnalyzer = () => {
|
|
2461
2308
|
] })
|
2462
2309
|
}
|
2463
2310
|
) }),
|
2464
|
-
/* @__PURE__ */ (0,
|
2311
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: props.children })
|
2465
2312
|
] })
|
2466
2313
|
},
|
2467
2314
|
entry: {
|
@@ -2482,12 +2329,10 @@ var HeadingAnalyzer = () => {
|
|
2482
2329
|
] });
|
2483
2330
|
};
|
2484
2331
|
var headingAnalyzer = {
|
2485
|
-
|
2486
|
-
|
2487
|
-
|
2488
|
-
|
2489
|
-
] })
|
2490
|
-
}
|
2332
|
+
name: "heading-analyzer",
|
2333
|
+
label: "Audit",
|
2334
|
+
render: HeadingAnalyzer,
|
2335
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Heading1, {})
|
2491
2336
|
};
|
2492
2337
|
var HeadingAnalyzer_default = headingAnalyzer;
|
2493
2338
|
/*! Bundled license information:
|
@@ -2531,7 +2376,7 @@ lucide-react/dist/esm/createLucideIcon.js:
|
|
2531
2376
|
* See the LICENSE file in the root directory of this source tree.
|
2532
2377
|
*)
|
2533
2378
|
|
2534
|
-
lucide-react/dist/esm/icons/
|
2379
|
+
lucide-react/dist/esm/icons/heading-1.js:
|
2535
2380
|
(**
|
2536
2381
|
* @license lucide-react v0.468.0 - ISC
|
2537
2382
|
*
|
package/dist/index.mjs
CHANGED
@@ -305,17 +305,17 @@ import { useEffect as useEffect5, useState } from "react";
|
|
305
305
|
|
306
306
|
// css-module:/home/runner/work/puck/puck/packages/plugin-heading-analyzer/src/HeadingAnalyzer.module.css#css-module
|
307
307
|
init_react_import();
|
308
|
-
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "
|
308
|
+
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "_HeadingAnalyzer_yg0s7_1", "HeadingAnalyzer-cssWarning": "_HeadingAnalyzer-cssWarning_yg0s7_6", "HeadingAnalyzerItem": "_HeadingAnalyzerItem_yg0s7_10", "HeadingAnalyzerItem--missing": "_HeadingAnalyzerItem--missing_yg0s7_14" };
|
309
309
|
|
310
310
|
// src/HeadingAnalyzer.tsx
|
311
311
|
import { createUsePuck } from "@measured/puck";
|
312
312
|
|
313
|
-
// ../core/components/
|
313
|
+
// ../core/components/OutlineList/index.tsx
|
314
314
|
init_react_import();
|
315
315
|
|
316
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/
|
316
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
317
317
|
init_react_import();
|
318
|
-
var styles_module_default = { "
|
318
|
+
var styles_module_default = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
319
319
|
|
320
320
|
// ../core/lib/get-class-name-factory.ts
|
321
321
|
init_react_import();
|
@@ -344,29 +344,50 @@ var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (op
|
|
344
344
|
};
|
345
345
|
var get_class_name_factory_default = getClassNameFactory;
|
346
346
|
|
347
|
-
// ../core/components/
|
348
|
-
init_react_import();
|
349
|
-
|
350
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css#css-module
|
351
|
-
init_react_import();
|
352
|
-
var styles_module_default2 = { "Heading": "_Heading_qxrry_1", "Heading--xxxxl": "_Heading--xxxxl_qxrry_12", "Heading--xxxl": "_Heading--xxxl_qxrry_18", "Heading--xxl": "_Heading--xxl_qxrry_22", "Heading--xl": "_Heading--xl_qxrry_26", "Heading--l": "_Heading--l_qxrry_30", "Heading--m": "_Heading--m_qxrry_34", "Heading--s": "_Heading--s_qxrry_38", "Heading--xs": "_Heading--xs_qxrry_42" };
|
353
|
-
|
354
|
-
// ../core/components/Heading/index.tsx
|
347
|
+
// ../core/components/OutlineList/index.tsx
|
355
348
|
import { jsx } from "react/jsx-runtime";
|
356
|
-
var getClassName = get_class_name_factory_default("
|
357
|
-
var
|
358
|
-
|
349
|
+
var getClassName = get_class_name_factory_default("OutlineList", styles_module_default);
|
350
|
+
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default);
|
351
|
+
var OutlineList = ({ children }) => {
|
352
|
+
return /* @__PURE__ */ jsx("ul", { className: getClassName(), children });
|
353
|
+
};
|
354
|
+
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ jsx("div", { className: getClassNameItem({ clickable: true }), children });
|
355
|
+
OutlineList.Item = ({
|
356
|
+
children,
|
357
|
+
onClick
|
358
|
+
}) => {
|
359
359
|
return /* @__PURE__ */ jsx(
|
360
|
-
|
360
|
+
"li",
|
361
361
|
{
|
362
|
-
className:
|
363
|
-
|
364
|
-
}),
|
362
|
+
className: getClassNameItem({ clickable: !!onClick }),
|
363
|
+
onClick,
|
365
364
|
children
|
366
365
|
}
|
367
366
|
);
|
368
367
|
};
|
369
368
|
|
369
|
+
// ../core/lib/scroll-into-view.ts
|
370
|
+
init_react_import();
|
371
|
+
var scrollIntoView = (el) => {
|
372
|
+
const oldStyle = __spreadValues({}, el.style);
|
373
|
+
el.style.scrollMargin = "256px";
|
374
|
+
if (el) {
|
375
|
+
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
376
|
+
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
377
|
+
}
|
378
|
+
};
|
379
|
+
|
380
|
+
// ../core/lib/get-frame.ts
|
381
|
+
init_react_import();
|
382
|
+
var getFrame = () => {
|
383
|
+
if (typeof window === "undefined") return;
|
384
|
+
let frameEl = document.querySelector("#preview-frame");
|
385
|
+
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
386
|
+
return frameEl.contentDocument || document;
|
387
|
+
}
|
388
|
+
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
389
|
+
};
|
390
|
+
|
370
391
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
371
392
|
init_react_import();
|
372
393
|
|
@@ -454,15 +475,29 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
454
475
|
return Component;
|
455
476
|
};
|
456
477
|
|
457
|
-
// ../../node_modules/lucide-react/dist/esm/icons/
|
478
|
+
// ../../node_modules/lucide-react/dist/esm/icons/heading-1.js
|
458
479
|
init_react_import();
|
459
|
-
var
|
460
|
-
["path", { d: "
|
480
|
+
var Heading1 = createLucideIcon("Heading1", [
|
481
|
+
["path", { d: "M4 12h8", key: "17cfdx" }],
|
482
|
+
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
483
|
+
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
484
|
+
["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
|
461
485
|
]);
|
462
486
|
|
463
|
-
// ../core/lib/
|
487
|
+
// ../core/lib/index.ts
|
488
|
+
init_react_import();
|
489
|
+
|
490
|
+
// ../core/lib/filter.ts
|
491
|
+
init_react_import();
|
492
|
+
|
493
|
+
// ../core/lib/data/reorder.ts
|
494
|
+
init_react_import();
|
495
|
+
|
496
|
+
// ../core/lib/data/replace.ts
|
497
|
+
init_react_import();
|
498
|
+
|
499
|
+
// ../core/lib/use-reset-auto-zoom.ts
|
464
500
|
init_react_import();
|
465
|
-
import { useMemo } from "react";
|
466
501
|
|
467
502
|
// ../core/store/index.ts
|
468
503
|
init_react_import();
|
@@ -1917,7 +1952,8 @@ var defaultAppState = {
|
|
1917
1952
|
options: [],
|
1918
1953
|
controlsVisible: true
|
1919
1954
|
},
|
1920
|
-
field: { focus: null }
|
1955
|
+
field: { focus: null },
|
1956
|
+
plugin: { current: null }
|
1921
1957
|
},
|
1922
1958
|
indexes: {
|
1923
1959
|
nodes: {},
|
@@ -2103,203 +2139,14 @@ var createAppStore = (initialAppStore) => create()(
|
|
2103
2139
|
})
|
2104
2140
|
);
|
2105
2141
|
var appStoreContext = createContext(createAppStore());
|
2106
|
-
function useAppStore(selector) {
|
2107
|
-
const context = useContext(appStoreContext);
|
2108
|
-
return useStore(context, selector);
|
2109
|
-
}
|
2110
|
-
function useAppStoreApi() {
|
2111
|
-
return useContext(appStoreContext);
|
2112
|
-
}
|
2113
|
-
|
2114
|
-
// ../core/lib/use-breadcrumbs.ts
|
2115
|
-
var useBreadcrumbs = (renderCount) => {
|
2116
|
-
const selectedId = useAppStore((s) => {
|
2117
|
-
var _a;
|
2118
|
-
return (_a = s.selectedItem) == null ? void 0 : _a.props.id;
|
2119
|
-
});
|
2120
|
-
const config = useAppStore((s) => s.config);
|
2121
|
-
const path = useAppStore((s) => {
|
2122
|
-
var _a;
|
2123
|
-
return (_a = s.state.indexes.nodes[selectedId]) == null ? void 0 : _a.path;
|
2124
|
-
});
|
2125
|
-
const appStore = useAppStoreApi();
|
2126
|
-
return useMemo(() => {
|
2127
|
-
const breadcrumbs = (path == null ? void 0 : path.map((zoneCompound) => {
|
2128
|
-
var _a, _b, _c;
|
2129
|
-
const [componentId] = zoneCompound.split(":");
|
2130
|
-
if (componentId === "root") {
|
2131
|
-
return {
|
2132
|
-
label: "Page",
|
2133
|
-
selector: null
|
2134
|
-
};
|
2135
|
-
}
|
2136
|
-
const node = appStore.getState().state.indexes.nodes[componentId];
|
2137
|
-
const parentId = node.path[node.path.length - 1];
|
2138
|
-
const contentIds = ((_a = appStore.getState().state.indexes.zones[parentId]) == null ? void 0 : _a.contentIds) || [];
|
2139
|
-
const index = contentIds.indexOf(componentId);
|
2140
|
-
const label = node ? (_c = (_b = config.components[node.data.type]) == null ? void 0 : _b.label) != null ? _c : node.data.type : "Component";
|
2141
|
-
return {
|
2142
|
-
label,
|
2143
|
-
selector: node ? {
|
2144
|
-
index,
|
2145
|
-
zone: node.path[node.path.length - 1]
|
2146
|
-
} : null
|
2147
|
-
};
|
2148
|
-
})) || [];
|
2149
|
-
if (renderCount) {
|
2150
|
-
return breadcrumbs.slice(breadcrumbs.length - renderCount);
|
2151
|
-
}
|
2152
|
-
return breadcrumbs;
|
2153
|
-
}, [path, renderCount]);
|
2154
|
-
};
|
2155
|
-
|
2156
|
-
// ../core/components/Loader/index.tsx
|
2157
|
-
init_react_import();
|
2158
|
-
|
2159
|
-
// ../core/lib/index.ts
|
2160
|
-
init_react_import();
|
2161
|
-
|
2162
|
-
// ../core/lib/filter.ts
|
2163
|
-
init_react_import();
|
2164
|
-
|
2165
|
-
// ../core/lib/data/reorder.ts
|
2166
|
-
init_react_import();
|
2167
|
-
|
2168
|
-
// ../core/lib/data/replace.ts
|
2169
|
-
init_react_import();
|
2170
|
-
|
2171
|
-
// ../core/lib/use-reset-auto-zoom.ts
|
2172
|
-
init_react_import();
|
2173
2142
|
|
2174
2143
|
// ../core/lib/get-zoom-config.ts
|
2175
2144
|
init_react_import();
|
2176
2145
|
|
2177
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css#css-module
|
2178
|
-
init_react_import();
|
2179
|
-
var styles_module_default3 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
|
2180
|
-
|
2181
|
-
// ../core/components/Loader/index.tsx
|
2182
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
2183
|
-
var getClassName2 = get_class_name_factory_default("Loader", styles_module_default3);
|
2184
|
-
var Loader = (_a) => {
|
2185
|
-
var _b = _a, {
|
2186
|
-
color,
|
2187
|
-
size = 16
|
2188
|
-
} = _b, props = __objRest(_b, [
|
2189
|
-
"color",
|
2190
|
-
"size"
|
2191
|
-
]);
|
2192
|
-
return /* @__PURE__ */ jsx2(
|
2193
|
-
"span",
|
2194
|
-
__spreadValues({
|
2195
|
-
className: getClassName2(),
|
2196
|
-
style: {
|
2197
|
-
width: size,
|
2198
|
-
height: size,
|
2199
|
-
color
|
2200
|
-
},
|
2201
|
-
"aria-label": "loading"
|
2202
|
-
}, props)
|
2203
|
-
);
|
2204
|
-
};
|
2205
|
-
|
2206
|
-
// ../core/components/SidebarSection/index.tsx
|
2207
|
-
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
2208
|
-
var getClassName3 = get_class_name_factory_default("SidebarSection", styles_module_default);
|
2209
|
-
var SidebarSection = ({
|
2210
|
-
children,
|
2211
|
-
title,
|
2212
|
-
background,
|
2213
|
-
showBreadcrumbs,
|
2214
|
-
noBorderTop,
|
2215
|
-
noPadding,
|
2216
|
-
isLoading
|
2217
|
-
}) => {
|
2218
|
-
const setUi = useAppStore((s) => s.setUi);
|
2219
|
-
const breadcrumbs = useBreadcrumbs(1);
|
2220
|
-
return /* @__PURE__ */ jsxs(
|
2221
|
-
"div",
|
2222
|
-
{
|
2223
|
-
className: getClassName3({ noBorderTop, noPadding }),
|
2224
|
-
style: { background },
|
2225
|
-
children: [
|
2226
|
-
/* @__PURE__ */ jsx3("div", { className: getClassName3("title"), children: /* @__PURE__ */ jsxs("div", { className: getClassName3("breadcrumbs"), children: [
|
2227
|
-
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ jsxs("div", { className: getClassName3("breadcrumb"), children: [
|
2228
|
-
/* @__PURE__ */ jsx3(
|
2229
|
-
"button",
|
2230
|
-
{
|
2231
|
-
type: "button",
|
2232
|
-
className: getClassName3("breadcrumbLabel"),
|
2233
|
-
onClick: () => setUi({ itemSelector: breadcrumb.selector }),
|
2234
|
-
children: breadcrumb.label
|
2235
|
-
}
|
2236
|
-
),
|
2237
|
-
/* @__PURE__ */ jsx3(ChevronRight, { size: 16 })
|
2238
|
-
] }, i)) : null,
|
2239
|
-
/* @__PURE__ */ jsx3("div", { className: getClassName3("heading"), children: /* @__PURE__ */ jsx3(Heading, { rank: "2", size: "xs", children: title }) })
|
2240
|
-
] }) }),
|
2241
|
-
/* @__PURE__ */ jsx3("div", { className: getClassName3("content"), children }),
|
2242
|
-
isLoading && /* @__PURE__ */ jsx3("div", { className: getClassName3("loadingOverlay"), children: /* @__PURE__ */ jsx3(Loader, { size: 32 }) })
|
2243
|
-
]
|
2244
|
-
}
|
2245
|
-
);
|
2246
|
-
};
|
2247
|
-
|
2248
|
-
// ../core/components/OutlineList/index.tsx
|
2249
|
-
init_react_import();
|
2250
|
-
|
2251
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
2252
|
-
init_react_import();
|
2253
|
-
var styles_module_default4 = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
2254
|
-
|
2255
|
-
// ../core/components/OutlineList/index.tsx
|
2256
|
-
import { jsx as jsx4 } from "react/jsx-runtime";
|
2257
|
-
var getClassName4 = get_class_name_factory_default("OutlineList", styles_module_default4);
|
2258
|
-
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default4);
|
2259
|
-
var OutlineList = ({ children }) => {
|
2260
|
-
return /* @__PURE__ */ jsx4("ul", { className: getClassName4(), children });
|
2261
|
-
};
|
2262
|
-
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ jsx4("div", { className: getClassNameItem({ clickable: true }), children });
|
2263
|
-
OutlineList.Item = ({
|
2264
|
-
children,
|
2265
|
-
onClick
|
2266
|
-
}) => {
|
2267
|
-
return /* @__PURE__ */ jsx4(
|
2268
|
-
"li",
|
2269
|
-
{
|
2270
|
-
className: getClassNameItem({ clickable: !!onClick }),
|
2271
|
-
onClick,
|
2272
|
-
children
|
2273
|
-
}
|
2274
|
-
);
|
2275
|
-
};
|
2276
|
-
|
2277
|
-
// ../core/lib/scroll-into-view.ts
|
2278
|
-
init_react_import();
|
2279
|
-
var scrollIntoView = (el) => {
|
2280
|
-
const oldStyle = __spreadValues({}, el.style);
|
2281
|
-
el.style.scrollMargin = "256px";
|
2282
|
-
if (el) {
|
2283
|
-
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
2284
|
-
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
2285
|
-
}
|
2286
|
-
};
|
2287
|
-
|
2288
|
-
// ../core/lib/get-frame.ts
|
2289
|
-
init_react_import();
|
2290
|
-
var getFrame = () => {
|
2291
|
-
if (typeof window === "undefined") return;
|
2292
|
-
let frameEl = document.querySelector("#preview-frame");
|
2293
|
-
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
2294
|
-
return frameEl.contentDocument || document;
|
2295
|
-
}
|
2296
|
-
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
2297
|
-
};
|
2298
|
-
|
2299
2146
|
// src/HeadingAnalyzer.tsx
|
2300
2147
|
import ReactFromJSONModule from "react-from-json";
|
2301
|
-
import { Fragment, jsx as
|
2302
|
-
var
|
2148
|
+
import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
|
2149
|
+
var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
2303
2150
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
2304
2151
|
var ReactFromJSON = ReactFromJSONModule.default || ReactFromJSONModule;
|
2305
2152
|
var getOutline = ({ frame } = {}) => {
|
@@ -2390,11 +2237,11 @@ var HeadingAnalyzer = () => {
|
|
2390
2237
|
frameObserver.disconnect();
|
2391
2238
|
};
|
2392
2239
|
}, [data]);
|
2393
|
-
return /* @__PURE__ */
|
2394
|
-
/* @__PURE__ */
|
2240
|
+
return /* @__PURE__ */ jsxs("div", { className: getClassName2(), children: [
|
2241
|
+
/* @__PURE__ */ jsxs(
|
2395
2242
|
"small",
|
2396
2243
|
{
|
2397
|
-
className:
|
2244
|
+
className: getClassName2("cssWarning"),
|
2398
2245
|
style: {
|
2399
2246
|
color: "var(--puck-color-red-04)",
|
2400
2247
|
display: "block",
|
@@ -2403,19 +2250,19 @@ var HeadingAnalyzer = () => {
|
|
2403
2250
|
children: [
|
2404
2251
|
"Heading analyzer styles not loaded. Please review the",
|
2405
2252
|
" ",
|
2406
|
-
/* @__PURE__ */
|
2253
|
+
/* @__PURE__ */ jsx2("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
2407
2254
|
"."
|
2408
2255
|
]
|
2409
2256
|
}
|
2410
2257
|
),
|
2411
|
-
hierarchy.length === 0 && /* @__PURE__ */
|
2412
|
-
/* @__PURE__ */
|
2258
|
+
hierarchy.length === 0 && /* @__PURE__ */ jsx2("div", { children: "No headings." }),
|
2259
|
+
/* @__PURE__ */ jsx2(OutlineList, { children: /* @__PURE__ */ jsx2(
|
2413
2260
|
ReactFromJSON,
|
2414
2261
|
{
|
2415
2262
|
mapping: {
|
2416
|
-
Root: (props) => /* @__PURE__ */
|
2417
|
-
OutlineListItem: (props) => /* @__PURE__ */
|
2418
|
-
/* @__PURE__ */
|
2263
|
+
Root: (props) => /* @__PURE__ */ jsx2(Fragment, { children: props.children }),
|
2264
|
+
OutlineListItem: (props) => /* @__PURE__ */ jsxs(OutlineList.Item, { children: [
|
2265
|
+
/* @__PURE__ */ jsx2(OutlineList.Clickable, { children: /* @__PURE__ */ jsx2(
|
2419
2266
|
"small",
|
2420
2267
|
{
|
2421
2268
|
className: getClassNameItem2({ missing: props.missing }),
|
@@ -2433,14 +2280,14 @@ var HeadingAnalyzer = () => {
|
|
2433
2280
|
}, 2e3);
|
2434
2281
|
}
|
2435
2282
|
},
|
2436
|
-
children: props.missing ? /* @__PURE__ */
|
2437
|
-
/* @__PURE__ */
|
2283
|
+
children: props.missing ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
2284
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
2438
2285
|
"H",
|
2439
2286
|
props.rank
|
2440
2287
|
] }),
|
2441
2288
|
": Missing"
|
2442
|
-
] }) : /* @__PURE__ */
|
2443
|
-
/* @__PURE__ */
|
2289
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
2290
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
2444
2291
|
"H",
|
2445
2292
|
props.rank
|
2446
2293
|
] }),
|
@@ -2449,7 +2296,7 @@ var HeadingAnalyzer = () => {
|
|
2449
2296
|
] })
|
2450
2297
|
}
|
2451
2298
|
) }),
|
2452
|
-
/* @__PURE__ */
|
2299
|
+
/* @__PURE__ */ jsx2(OutlineList, { children: props.children })
|
2453
2300
|
] })
|
2454
2301
|
},
|
2455
2302
|
entry: {
|
@@ -2470,12 +2317,10 @@ var HeadingAnalyzer = () => {
|
|
2470
2317
|
] });
|
2471
2318
|
};
|
2472
2319
|
var headingAnalyzer = {
|
2473
|
-
|
2474
|
-
|
2475
|
-
|
2476
|
-
|
2477
|
-
] })
|
2478
|
-
}
|
2320
|
+
name: "heading-analyzer",
|
2321
|
+
label: "Audit",
|
2322
|
+
render: HeadingAnalyzer,
|
2323
|
+
icon: /* @__PURE__ */ jsx2(Heading1, {})
|
2479
2324
|
};
|
2480
2325
|
var HeadingAnalyzer_default = headingAnalyzer;
|
2481
2326
|
export {
|
@@ -2522,7 +2367,7 @@ lucide-react/dist/esm/createLucideIcon.js:
|
|
2522
2367
|
* See the LICENSE file in the root directory of this source tree.
|
2523
2368
|
*)
|
2524
2369
|
|
2525
|
-
lucide-react/dist/esm/icons/
|
2370
|
+
lucide-react/dist/esm/icons/heading-1.js:
|
2526
2371
|
(**
|
2527
2372
|
* @license lucide-react v0.468.0 - ISC
|
2528
2373
|
*
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@measured/puck-plugin-heading-analyzer",
|
3
|
-
"version": "0.20.0-canary.
|
3
|
+
"version": "0.20.0-canary.f73c8fa0",
|
4
4
|
"author": "Chris Villa <chris@puckeditor.com>",
|
5
5
|
"repository": "measuredco/puck",
|
6
6
|
"bugs": "https://github.com/measuredco/puck/issues",
|
@@ -25,7 +25,7 @@
|
|
25
25
|
"dist"
|
26
26
|
],
|
27
27
|
"devDependencies": {
|
28
|
-
"@measured/puck": "^0.20.0-canary.
|
28
|
+
"@measured/puck": "^0.20.0-canary.f73c8fa0",
|
29
29
|
"@types/react": "^19.0.1",
|
30
30
|
"@types/react-dom": "^19.0.2",
|
31
31
|
"eslint": "^7.32.0",
|