@measured/puck-plugin-heading-analyzer 0.21.0-canary.a1b03d38 → 0.21.0-canary.a4bfae4f
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 +17 -7
- package/dist/index.d.ts +17 -7
- package/dist/index.js +113 -242
- package/dist/index.mjs +110 -239
- 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
|
@@ -521,6 +521,7 @@ interface FieldMetadata extends Metadata {
|
|
|
521
521
|
type ItemWithId = {
|
|
522
522
|
_arrayId: string;
|
|
523
523
|
_originalIndex: number;
|
|
524
|
+
_currentIndex: number;
|
|
524
525
|
};
|
|
525
526
|
type ArrayState = {
|
|
526
527
|
items: ItemWithId[];
|
|
@@ -531,6 +532,7 @@ type UiState = {
|
|
|
531
532
|
rightSideBarVisible: boolean;
|
|
532
533
|
leftSideBarWidth?: number | null;
|
|
533
534
|
rightSideBarWidth?: number | null;
|
|
535
|
+
mobilePanelExpanded?: boolean;
|
|
534
536
|
itemSelector: ItemSelector | null;
|
|
535
537
|
arrayState: Record<string, ArrayState | undefined>;
|
|
536
538
|
previewMode: "interactive" | "edit";
|
|
@@ -543,7 +545,7 @@ type UiState = {
|
|
|
543
545
|
isDragging: boolean;
|
|
544
546
|
viewports: {
|
|
545
547
|
current: {
|
|
546
|
-
width: number;
|
|
548
|
+
width: number | "100%";
|
|
547
549
|
height: number | "auto";
|
|
548
550
|
};
|
|
549
551
|
controlsVisible: boolean;
|
|
@@ -553,6 +555,9 @@ type UiState = {
|
|
|
553
555
|
focus?: string | null;
|
|
554
556
|
metadata?: Record<string, any>;
|
|
555
557
|
};
|
|
558
|
+
plugin: {
|
|
559
|
+
current: string | null;
|
|
560
|
+
};
|
|
556
561
|
};
|
|
557
562
|
type AppState<UserData extends Data = Data> = {
|
|
558
563
|
data: UserData;
|
|
@@ -596,6 +601,11 @@ type LeftOrExactRight<Union, Left, Right> = (Left & Union extends Right ? Exact<
|
|
|
596
601
|
type AssertHasValue<T, True = T, False = never> = [keyof T] extends [
|
|
597
602
|
never
|
|
598
603
|
] ? False : True;
|
|
604
|
+
type RenderFunc<Props extends {
|
|
605
|
+
[key: string]: any;
|
|
606
|
+
} = {
|
|
607
|
+
children: ReactNode;
|
|
608
|
+
}> = (props: Props) => ReactElement;
|
|
599
609
|
|
|
600
610
|
type MapFnParams<ThisField = Field> = {
|
|
601
611
|
value: any;
|
|
@@ -619,11 +629,6 @@ G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>, UserField extends
|
|
|
619
629
|
[Type in UserField["type"]]: FieldTransformFn<ExtractField<UserField, Type>>;
|
|
620
630
|
}>;
|
|
621
631
|
|
|
622
|
-
type RenderFunc<Props extends {
|
|
623
|
-
[key: string]: any;
|
|
624
|
-
} = {
|
|
625
|
-
children: ReactNode;
|
|
626
|
-
}> = (props: Props) => ReactElement;
|
|
627
632
|
declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
|
|
628
633
|
type OverrideKey = (typeof overrideKeys)[number];
|
|
629
634
|
type OverridesGeneric<Shape extends {
|
|
@@ -694,7 +699,7 @@ type DragAxis = "dynamic" | "y" | "x";
|
|
|
694
699
|
|
|
695
700
|
type iconTypes = "Smartphone" | "Monitor" | "Tablet";
|
|
696
701
|
type Viewport = {
|
|
697
|
-
width: number;
|
|
702
|
+
width: number | "100%";
|
|
698
703
|
height?: number | "auto";
|
|
699
704
|
label?: string;
|
|
700
705
|
icon?: iconTypes | ReactNode;
|
|
@@ -708,8 +713,13 @@ type Permissions = {
|
|
|
708
713
|
insert: boolean;
|
|
709
714
|
} & Record<string, boolean>;
|
|
710
715
|
type Plugin<UserConfig extends Config = Config> = {
|
|
716
|
+
name?: string;
|
|
717
|
+
label?: string;
|
|
718
|
+
icon?: ReactNode;
|
|
719
|
+
render?: () => ReactElement;
|
|
711
720
|
overrides?: Partial<Overrides<UserConfig>>;
|
|
712
721
|
fieldTransforms?: FieldTransforms<UserConfig>;
|
|
722
|
+
mobilePanelHeight?: "toggle" | "min-content";
|
|
713
723
|
};
|
|
714
724
|
type Slot<Props extends {
|
|
715
725
|
[key: string]: DefaultComponentProps;
|
package/dist/index.d.ts
CHANGED
|
@@ -521,6 +521,7 @@ interface FieldMetadata extends Metadata {
|
|
|
521
521
|
type ItemWithId = {
|
|
522
522
|
_arrayId: string;
|
|
523
523
|
_originalIndex: number;
|
|
524
|
+
_currentIndex: number;
|
|
524
525
|
};
|
|
525
526
|
type ArrayState = {
|
|
526
527
|
items: ItemWithId[];
|
|
@@ -531,6 +532,7 @@ type UiState = {
|
|
|
531
532
|
rightSideBarVisible: boolean;
|
|
532
533
|
leftSideBarWidth?: number | null;
|
|
533
534
|
rightSideBarWidth?: number | null;
|
|
535
|
+
mobilePanelExpanded?: boolean;
|
|
534
536
|
itemSelector: ItemSelector | null;
|
|
535
537
|
arrayState: Record<string, ArrayState | undefined>;
|
|
536
538
|
previewMode: "interactive" | "edit";
|
|
@@ -543,7 +545,7 @@ type UiState = {
|
|
|
543
545
|
isDragging: boolean;
|
|
544
546
|
viewports: {
|
|
545
547
|
current: {
|
|
546
|
-
width: number;
|
|
548
|
+
width: number | "100%";
|
|
547
549
|
height: number | "auto";
|
|
548
550
|
};
|
|
549
551
|
controlsVisible: boolean;
|
|
@@ -553,6 +555,9 @@ type UiState = {
|
|
|
553
555
|
focus?: string | null;
|
|
554
556
|
metadata?: Record<string, any>;
|
|
555
557
|
};
|
|
558
|
+
plugin: {
|
|
559
|
+
current: string | null;
|
|
560
|
+
};
|
|
556
561
|
};
|
|
557
562
|
type AppState<UserData extends Data = Data> = {
|
|
558
563
|
data: UserData;
|
|
@@ -596,6 +601,11 @@ type LeftOrExactRight<Union, Left, Right> = (Left & Union extends Right ? Exact<
|
|
|
596
601
|
type AssertHasValue<T, True = T, False = never> = [keyof T] extends [
|
|
597
602
|
never
|
|
598
603
|
] ? False : True;
|
|
604
|
+
type RenderFunc<Props extends {
|
|
605
|
+
[key: string]: any;
|
|
606
|
+
} = {
|
|
607
|
+
children: ReactNode;
|
|
608
|
+
}> = (props: Props) => ReactElement;
|
|
599
609
|
|
|
600
610
|
type MapFnParams<ThisField = Field> = {
|
|
601
611
|
value: any;
|
|
@@ -619,11 +629,6 @@ G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>, UserField extends
|
|
|
619
629
|
[Type in UserField["type"]]: FieldTransformFn<ExtractField<UserField, Type>>;
|
|
620
630
|
}>;
|
|
621
631
|
|
|
622
|
-
type RenderFunc<Props extends {
|
|
623
|
-
[key: string]: any;
|
|
624
|
-
} = {
|
|
625
|
-
children: ReactNode;
|
|
626
|
-
}> = (props: Props) => ReactElement;
|
|
627
632
|
declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
|
|
628
633
|
type OverrideKey = (typeof overrideKeys)[number];
|
|
629
634
|
type OverridesGeneric<Shape extends {
|
|
@@ -694,7 +699,7 @@ type DragAxis = "dynamic" | "y" | "x";
|
|
|
694
699
|
|
|
695
700
|
type iconTypes = "Smartphone" | "Monitor" | "Tablet";
|
|
696
701
|
type Viewport = {
|
|
697
|
-
width: number;
|
|
702
|
+
width: number | "100%";
|
|
698
703
|
height?: number | "auto";
|
|
699
704
|
label?: string;
|
|
700
705
|
icon?: iconTypes | ReactNode;
|
|
@@ -708,8 +713,13 @@ type Permissions = {
|
|
|
708
713
|
insert: boolean;
|
|
709
714
|
} & Record<string, boolean>;
|
|
710
715
|
type Plugin<UserConfig extends Config = Config> = {
|
|
716
|
+
name?: string;
|
|
717
|
+
label?: string;
|
|
718
|
+
icon?: ReactNode;
|
|
719
|
+
render?: () => ReactElement;
|
|
711
720
|
overrides?: Partial<Overrides<UserConfig>>;
|
|
712
721
|
fieldTransforms?: FieldTransforms<UserConfig>;
|
|
722
|
+
mobilePanelHeight?: "toggle" | "min-content";
|
|
713
723
|
};
|
|
714
724
|
type Slot<Props extends {
|
|
715
725
|
[key: string]: DefaultComponentProps;
|
package/dist/index.js
CHANGED
|
@@ -277,21 +277,21 @@ init_react_import();
|
|
|
277
277
|
|
|
278
278
|
// src/HeadingAnalyzer.tsx
|
|
279
279
|
init_react_import();
|
|
280
|
-
var
|
|
280
|
+
var import_react10 = require("react");
|
|
281
281
|
|
|
282
282
|
// css-module:/home/runner/work/puck/puck/packages/plugin-heading-analyzer/src/HeadingAnalyzer.module.css#css-module
|
|
283
283
|
init_react_import();
|
|
284
|
-
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "
|
|
284
|
+
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "_HeadingAnalyzer_yg0s7_1", "HeadingAnalyzer-cssWarning": "_HeadingAnalyzer-cssWarning_yg0s7_6", "HeadingAnalyzerItem": "_HeadingAnalyzerItem_yg0s7_10", "HeadingAnalyzerItem--missing": "_HeadingAnalyzerItem--missing_yg0s7_14" };
|
|
285
285
|
|
|
286
286
|
// src/HeadingAnalyzer.tsx
|
|
287
287
|
var import_puck = require("@measured/puck");
|
|
288
288
|
|
|
289
|
-
// ../core/components/
|
|
289
|
+
// ../core/components/OutlineList/index.tsx
|
|
290
290
|
init_react_import();
|
|
291
291
|
|
|
292
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/
|
|
292
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
|
293
293
|
init_react_import();
|
|
294
|
-
var styles_module_default = { "
|
|
294
|
+
var styles_module_default = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
295
295
|
|
|
296
296
|
// ../core/lib/get-class-name-factory.ts
|
|
297
297
|
init_react_import();
|
|
@@ -320,29 +320,50 @@ var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (op
|
|
|
320
320
|
};
|
|
321
321
|
var get_class_name_factory_default = getClassNameFactory;
|
|
322
322
|
|
|
323
|
-
// ../core/components/
|
|
324
|
-
init_react_import();
|
|
325
|
-
|
|
326
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css#css-module
|
|
327
|
-
init_react_import();
|
|
328
|
-
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" };
|
|
329
|
-
|
|
330
|
-
// ../core/components/Heading/index.tsx
|
|
323
|
+
// ../core/components/OutlineList/index.tsx
|
|
331
324
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
332
|
-
var getClassName = get_class_name_factory_default("
|
|
333
|
-
var
|
|
334
|
-
|
|
325
|
+
var getClassName = get_class_name_factory_default("OutlineList", styles_module_default);
|
|
326
|
+
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default);
|
|
327
|
+
var OutlineList = ({ children }) => {
|
|
328
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", { className: getClassName(), children });
|
|
329
|
+
};
|
|
330
|
+
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: getClassNameItem({ clickable: true }), children });
|
|
331
|
+
OutlineList.Item = ({
|
|
332
|
+
children,
|
|
333
|
+
onClick
|
|
334
|
+
}) => {
|
|
335
335
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
336
|
-
|
|
336
|
+
"li",
|
|
337
337
|
{
|
|
338
|
-
className:
|
|
339
|
-
|
|
340
|
-
}),
|
|
338
|
+
className: getClassNameItem({ clickable: !!onClick }),
|
|
339
|
+
onClick,
|
|
341
340
|
children
|
|
342
341
|
}
|
|
343
342
|
);
|
|
344
343
|
};
|
|
345
344
|
|
|
345
|
+
// ../core/lib/scroll-into-view.ts
|
|
346
|
+
init_react_import();
|
|
347
|
+
var scrollIntoView = (el) => {
|
|
348
|
+
const oldStyle = __spreadValues({}, el.style);
|
|
349
|
+
el.style.scrollMargin = "256px";
|
|
350
|
+
if (el) {
|
|
351
|
+
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
352
|
+
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
// ../core/lib/get-frame.ts
|
|
357
|
+
init_react_import();
|
|
358
|
+
var getFrame = () => {
|
|
359
|
+
if (typeof window === "undefined") return;
|
|
360
|
+
let frameEl = document.querySelector("#preview-frame");
|
|
361
|
+
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
362
|
+
return frameEl.contentDocument || document;
|
|
363
|
+
}
|
|
364
|
+
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
365
|
+
};
|
|
366
|
+
|
|
346
367
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
|
347
368
|
init_react_import();
|
|
348
369
|
|
|
@@ -430,15 +451,29 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
|
430
451
|
return Component;
|
|
431
452
|
};
|
|
432
453
|
|
|
433
|
-
// ../../node_modules/lucide-react/dist/esm/icons/
|
|
454
|
+
// ../../node_modules/lucide-react/dist/esm/icons/heading-1.js
|
|
434
455
|
init_react_import();
|
|
435
|
-
var
|
|
436
|
-
["path", { d: "
|
|
456
|
+
var Heading1 = createLucideIcon("Heading1", [
|
|
457
|
+
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
458
|
+
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
459
|
+
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
460
|
+
["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
|
|
437
461
|
]);
|
|
438
462
|
|
|
439
|
-
// ../core/lib/
|
|
463
|
+
// ../core/lib/index.ts
|
|
464
|
+
init_react_import();
|
|
465
|
+
|
|
466
|
+
// ../core/lib/filter.ts
|
|
467
|
+
init_react_import();
|
|
468
|
+
|
|
469
|
+
// ../core/lib/data/reorder.ts
|
|
470
|
+
init_react_import();
|
|
471
|
+
|
|
472
|
+
// ../core/lib/data/replace.ts
|
|
473
|
+
init_react_import();
|
|
474
|
+
|
|
475
|
+
// ../core/lib/use-reset-auto-zoom.ts
|
|
440
476
|
init_react_import();
|
|
441
|
-
var import_react10 = require("react");
|
|
442
477
|
|
|
443
478
|
// ../core/store/index.ts
|
|
444
479
|
init_react_import();
|
|
@@ -656,9 +691,28 @@ var stripSlots = (data, config) => {
|
|
|
656
691
|
|
|
657
692
|
// ../core/lib/data/flatten-node.ts
|
|
658
693
|
var { flatten: flatten2, unflatten } = import_flat.default;
|
|
694
|
+
function isEmptyArrayOrObject(val) {
|
|
695
|
+
if (Array.isArray(val)) {
|
|
696
|
+
return val.length === 0;
|
|
697
|
+
}
|
|
698
|
+
if (val != null && Object.prototype.toString.call(val) === "[object Object]") {
|
|
699
|
+
return Object.keys(val).length === 0;
|
|
700
|
+
}
|
|
701
|
+
return false;
|
|
702
|
+
}
|
|
703
|
+
function stripEmptyObjects(props) {
|
|
704
|
+
const result = {};
|
|
705
|
+
for (const key in props) {
|
|
706
|
+
if (!Object.prototype.hasOwnProperty.call(props, key)) continue;
|
|
707
|
+
const val = props[key];
|
|
708
|
+
if (isEmptyArrayOrObject(val)) continue;
|
|
709
|
+
result[key] = val;
|
|
710
|
+
}
|
|
711
|
+
return result;
|
|
712
|
+
}
|
|
659
713
|
var flattenNode = (node, config) => {
|
|
660
714
|
return __spreadProps(__spreadValues({}, node), {
|
|
661
|
-
props: flatten2(stripSlots(node, config).props)
|
|
715
|
+
props: stripEmptyObjects(flatten2(stripSlots(node, config).props))
|
|
662
716
|
});
|
|
663
717
|
};
|
|
664
718
|
|
|
@@ -1410,7 +1464,8 @@ init_react_import();
|
|
|
1410
1464
|
var defaultViewports = [
|
|
1411
1465
|
{ width: 360, height: "auto", icon: "Smartphone", label: "Small" },
|
|
1412
1466
|
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
|
1413
|
-
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1467
|
+
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" },
|
|
1468
|
+
{ width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
|
|
1414
1469
|
];
|
|
1415
1470
|
|
|
1416
1471
|
// ../../node_modules/zustand/esm/vanilla.mjs
|
|
@@ -2315,7 +2370,8 @@ var defaultAppState = {
|
|
|
2315
2370
|
options: [],
|
|
2316
2371
|
controlsVisible: true
|
|
2317
2372
|
},
|
|
2318
|
-
field: { focus: null }
|
|
2373
|
+
field: { focus: null },
|
|
2374
|
+
plugin: { current: null }
|
|
2319
2375
|
},
|
|
2320
2376
|
indexes: {
|
|
2321
2377
|
nodes: {},
|
|
@@ -2331,6 +2387,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2331
2387
|
subscribeWithSelector((set, get) => {
|
|
2332
2388
|
var _a, _b;
|
|
2333
2389
|
return __spreadProps(__spreadValues({
|
|
2390
|
+
instanceId: generateId(),
|
|
2334
2391
|
state: defaultAppState,
|
|
2335
2392
|
config: { components: {} },
|
|
2336
2393
|
componentState: {},
|
|
@@ -2351,6 +2408,11 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2351
2408
|
history: createHistorySlice(set, get),
|
|
2352
2409
|
nodes: createNodesSlice(set, get),
|
|
2353
2410
|
permissions: createPermissionsSlice(set, get),
|
|
2411
|
+
getCurrentData: () => {
|
|
2412
|
+
var _a2;
|
|
2413
|
+
const s = get();
|
|
2414
|
+
return (_a2 = s.selectedItem) != null ? _a2 : s.state.data.root;
|
|
2415
|
+
},
|
|
2354
2416
|
getComponentConfig: (type) => {
|
|
2355
2417
|
var _a2;
|
|
2356
2418
|
const { config, selectedItem } = get();
|
|
@@ -2501,203 +2563,14 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2501
2563
|
})
|
|
2502
2564
|
);
|
|
2503
2565
|
var appStoreContext = (0, import_react9.createContext)(createAppStore());
|
|
2504
|
-
function useAppStore(selector) {
|
|
2505
|
-
const context = (0, import_react9.useContext)(appStoreContext);
|
|
2506
|
-
return useStore(context, selector);
|
|
2507
|
-
}
|
|
2508
|
-
function useAppStoreApi() {
|
|
2509
|
-
return (0, import_react9.useContext)(appStoreContext);
|
|
2510
|
-
}
|
|
2511
|
-
|
|
2512
|
-
// ../core/lib/use-breadcrumbs.ts
|
|
2513
|
-
var useBreadcrumbs = (renderCount) => {
|
|
2514
|
-
const selectedId = useAppStore((s) => {
|
|
2515
|
-
var _a;
|
|
2516
|
-
return (_a = s.selectedItem) == null ? void 0 : _a.props.id;
|
|
2517
|
-
});
|
|
2518
|
-
const config = useAppStore((s) => s.config);
|
|
2519
|
-
const path = useAppStore((s) => {
|
|
2520
|
-
var _a;
|
|
2521
|
-
return (_a = s.state.indexes.nodes[selectedId]) == null ? void 0 : _a.path;
|
|
2522
|
-
});
|
|
2523
|
-
const appStore = useAppStoreApi();
|
|
2524
|
-
return (0, import_react10.useMemo)(() => {
|
|
2525
|
-
const breadcrumbs = (path == null ? void 0 : path.map((zoneCompound) => {
|
|
2526
|
-
var _a, _b, _c;
|
|
2527
|
-
const [componentId] = zoneCompound.split(":");
|
|
2528
|
-
if (componentId === "root") {
|
|
2529
|
-
return {
|
|
2530
|
-
label: "Page",
|
|
2531
|
-
selector: null
|
|
2532
|
-
};
|
|
2533
|
-
}
|
|
2534
|
-
const node = appStore.getState().state.indexes.nodes[componentId];
|
|
2535
|
-
const parentId = node.path[node.path.length - 1];
|
|
2536
|
-
const contentIds = ((_a = appStore.getState().state.indexes.zones[parentId]) == null ? void 0 : _a.contentIds) || [];
|
|
2537
|
-
const index = contentIds.indexOf(componentId);
|
|
2538
|
-
const label = node ? (_c = (_b = config.components[node.data.type]) == null ? void 0 : _b.label) != null ? _c : node.data.type : "Component";
|
|
2539
|
-
return {
|
|
2540
|
-
label,
|
|
2541
|
-
selector: node ? {
|
|
2542
|
-
index,
|
|
2543
|
-
zone: node.path[node.path.length - 1]
|
|
2544
|
-
} : null
|
|
2545
|
-
};
|
|
2546
|
-
})) || [];
|
|
2547
|
-
if (renderCount) {
|
|
2548
|
-
return breadcrumbs.slice(breadcrumbs.length - renderCount);
|
|
2549
|
-
}
|
|
2550
|
-
return breadcrumbs;
|
|
2551
|
-
}, [path, renderCount]);
|
|
2552
|
-
};
|
|
2553
|
-
|
|
2554
|
-
// ../core/components/Loader/index.tsx
|
|
2555
|
-
init_react_import();
|
|
2556
|
-
|
|
2557
|
-
// ../core/lib/index.ts
|
|
2558
|
-
init_react_import();
|
|
2559
|
-
|
|
2560
|
-
// ../core/lib/filter.ts
|
|
2561
|
-
init_react_import();
|
|
2562
|
-
|
|
2563
|
-
// ../core/lib/data/reorder.ts
|
|
2564
|
-
init_react_import();
|
|
2565
|
-
|
|
2566
|
-
// ../core/lib/data/replace.ts
|
|
2567
|
-
init_react_import();
|
|
2568
|
-
|
|
2569
|
-
// ../core/lib/use-reset-auto-zoom.ts
|
|
2570
|
-
init_react_import();
|
|
2571
2566
|
|
|
2572
2567
|
// ../core/lib/get-zoom-config.ts
|
|
2573
2568
|
init_react_import();
|
|
2574
2569
|
|
|
2575
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css#css-module
|
|
2576
|
-
init_react_import();
|
|
2577
|
-
var styles_module_default3 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
|
|
2578
|
-
|
|
2579
|
-
// ../core/components/Loader/index.tsx
|
|
2580
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2581
|
-
var getClassName2 = get_class_name_factory_default("Loader", styles_module_default3);
|
|
2582
|
-
var Loader = (_a) => {
|
|
2583
|
-
var _b = _a, {
|
|
2584
|
-
color,
|
|
2585
|
-
size = 16
|
|
2586
|
-
} = _b, props = __objRest(_b, [
|
|
2587
|
-
"color",
|
|
2588
|
-
"size"
|
|
2589
|
-
]);
|
|
2590
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2591
|
-
"span",
|
|
2592
|
-
__spreadValues({
|
|
2593
|
-
className: getClassName2(),
|
|
2594
|
-
style: {
|
|
2595
|
-
width: size,
|
|
2596
|
-
height: size,
|
|
2597
|
-
color
|
|
2598
|
-
},
|
|
2599
|
-
"aria-label": "loading"
|
|
2600
|
-
}, props)
|
|
2601
|
-
);
|
|
2602
|
-
};
|
|
2603
|
-
|
|
2604
|
-
// ../core/components/SidebarSection/index.tsx
|
|
2605
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
2606
|
-
var getClassName3 = get_class_name_factory_default("SidebarSection", styles_module_default);
|
|
2607
|
-
var SidebarSection = ({
|
|
2608
|
-
children,
|
|
2609
|
-
title,
|
|
2610
|
-
background,
|
|
2611
|
-
showBreadcrumbs,
|
|
2612
|
-
noBorderTop,
|
|
2613
|
-
noPadding,
|
|
2614
|
-
isLoading
|
|
2615
|
-
}) => {
|
|
2616
|
-
const setUi = useAppStore((s) => s.setUi);
|
|
2617
|
-
const breadcrumbs = useBreadcrumbs(1);
|
|
2618
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
2619
|
-
"div",
|
|
2620
|
-
{
|
|
2621
|
-
className: getClassName3({ noBorderTop, noPadding }),
|
|
2622
|
-
style: { background },
|
|
2623
|
-
children: [
|
|
2624
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("title"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: getClassName3("breadcrumbs"), children: [
|
|
2625
|
-
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: getClassName3("breadcrumb"), children: [
|
|
2626
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2627
|
-
"button",
|
|
2628
|
-
{
|
|
2629
|
-
type: "button",
|
|
2630
|
-
className: getClassName3("breadcrumbLabel"),
|
|
2631
|
-
onClick: () => setUi({ itemSelector: breadcrumb.selector }),
|
|
2632
|
-
children: breadcrumb.label
|
|
2633
|
-
}
|
|
2634
|
-
),
|
|
2635
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ChevronRight, { size: 16 })
|
|
2636
|
-
] }, i)) : null,
|
|
2637
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("heading"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Heading, { rank: "2", size: "xs", children: title }) })
|
|
2638
|
-
] }) }),
|
|
2639
|
-
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("content"), children }),
|
|
2640
|
-
isLoading && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: getClassName3("loadingOverlay"), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Loader, { size: 32 }) })
|
|
2641
|
-
]
|
|
2642
|
-
}
|
|
2643
|
-
);
|
|
2644
|
-
};
|
|
2645
|
-
|
|
2646
|
-
// ../core/components/OutlineList/index.tsx
|
|
2647
|
-
init_react_import();
|
|
2648
|
-
|
|
2649
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
|
2650
|
-
init_react_import();
|
|
2651
|
-
var styles_module_default4 = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
2652
|
-
|
|
2653
|
-
// ../core/components/OutlineList/index.tsx
|
|
2654
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
2655
|
-
var getClassName4 = get_class_name_factory_default("OutlineList", styles_module_default4);
|
|
2656
|
-
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default4);
|
|
2657
|
-
var OutlineList = ({ children }) => {
|
|
2658
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("ul", { className: getClassName4(), children });
|
|
2659
|
-
};
|
|
2660
|
-
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: getClassNameItem({ clickable: true }), children });
|
|
2661
|
-
OutlineList.Item = ({
|
|
2662
|
-
children,
|
|
2663
|
-
onClick
|
|
2664
|
-
}) => {
|
|
2665
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
2666
|
-
"li",
|
|
2667
|
-
{
|
|
2668
|
-
className: getClassNameItem({ clickable: !!onClick }),
|
|
2669
|
-
onClick,
|
|
2670
|
-
children
|
|
2671
|
-
}
|
|
2672
|
-
);
|
|
2673
|
-
};
|
|
2674
|
-
|
|
2675
|
-
// ../core/lib/scroll-into-view.ts
|
|
2676
|
-
init_react_import();
|
|
2677
|
-
var scrollIntoView = (el) => {
|
|
2678
|
-
const oldStyle = __spreadValues({}, el.style);
|
|
2679
|
-
el.style.scrollMargin = "256px";
|
|
2680
|
-
if (el) {
|
|
2681
|
-
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
2682
|
-
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
2683
|
-
}
|
|
2684
|
-
};
|
|
2685
|
-
|
|
2686
|
-
// ../core/lib/get-frame.ts
|
|
2687
|
-
init_react_import();
|
|
2688
|
-
var getFrame = () => {
|
|
2689
|
-
if (typeof window === "undefined") return;
|
|
2690
|
-
let frameEl = document.querySelector("#preview-frame");
|
|
2691
|
-
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
2692
|
-
return frameEl.contentDocument || document;
|
|
2693
|
-
}
|
|
2694
|
-
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
2695
|
-
};
|
|
2696
|
-
|
|
2697
2570
|
// src/HeadingAnalyzer.tsx
|
|
2698
2571
|
var import_react_from_json = __toESM(require("react-from-json"));
|
|
2699
|
-
var
|
|
2700
|
-
var
|
|
2572
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2573
|
+
var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
|
2701
2574
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
|
2702
2575
|
var ReactFromJSON = import_react_from_json.default.default || import_react_from_json.default;
|
|
2703
2576
|
var getOutline = ({ frame } = {}) => {
|
|
@@ -2752,8 +2625,8 @@ function buildHierarchy(frame) {
|
|
|
2752
2625
|
var usePuck = (0, import_puck.createUsePuck)();
|
|
2753
2626
|
var HeadingAnalyzer = () => {
|
|
2754
2627
|
const data = usePuck((s) => s.appState.data);
|
|
2755
|
-
const [hierarchy, setHierarchy] = (0,
|
|
2756
|
-
(0,
|
|
2628
|
+
const [hierarchy, setHierarchy] = (0, import_react10.useState)([]);
|
|
2629
|
+
(0, import_react10.useEffect)(() => {
|
|
2757
2630
|
const frame = getFrame();
|
|
2758
2631
|
let entry = frame == null ? void 0 : frame.querySelector(`[data-puck-entry]`);
|
|
2759
2632
|
const createHierarchy = () => {
|
|
@@ -2788,11 +2661,11 @@ var HeadingAnalyzer = () => {
|
|
|
2788
2661
|
frameObserver.disconnect();
|
|
2789
2662
|
};
|
|
2790
2663
|
}, [data]);
|
|
2791
|
-
return /* @__PURE__ */ (0,
|
|
2792
|
-
/* @__PURE__ */ (0,
|
|
2664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: getClassName2(), children: [
|
|
2665
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
2793
2666
|
"small",
|
|
2794
2667
|
{
|
|
2795
|
-
className:
|
|
2668
|
+
className: getClassName2("cssWarning"),
|
|
2796
2669
|
style: {
|
|
2797
2670
|
color: "var(--puck-color-red-04)",
|
|
2798
2671
|
display: "block",
|
|
@@ -2801,19 +2674,19 @@ var HeadingAnalyzer = () => {
|
|
|
2801
2674
|
children: [
|
|
2802
2675
|
"Heading analyzer styles not loaded. Please review the",
|
|
2803
2676
|
" ",
|
|
2804
|
-
/* @__PURE__ */ (0,
|
|
2677
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
|
2805
2678
|
"."
|
|
2806
2679
|
]
|
|
2807
2680
|
}
|
|
2808
2681
|
),
|
|
2809
|
-
hierarchy.length === 0 && /* @__PURE__ */ (0,
|
|
2810
|
-
/* @__PURE__ */ (0,
|
|
2682
|
+
hierarchy.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { children: "No headings." }),
|
|
2683
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2811
2684
|
ReactFromJSON,
|
|
2812
2685
|
{
|
|
2813
2686
|
mapping: {
|
|
2814
|
-
Root: (props) => /* @__PURE__ */ (0,
|
|
2815
|
-
OutlineListItem: (props) => /* @__PURE__ */ (0,
|
|
2816
|
-
/* @__PURE__ */ (0,
|
|
2687
|
+
Root: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: props.children }),
|
|
2688
|
+
OutlineListItem: (props) => /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(OutlineList.Item, { children: [
|
|
2689
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList.Clickable, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
2817
2690
|
"small",
|
|
2818
2691
|
{
|
|
2819
2692
|
className: getClassNameItem2({ missing: props.missing }),
|
|
@@ -2831,14 +2704,14 @@ var HeadingAnalyzer = () => {
|
|
|
2831
2704
|
}, 2e3);
|
|
2832
2705
|
}
|
|
2833
2706
|
},
|
|
2834
|
-
children: props.missing ? /* @__PURE__ */ (0,
|
|
2835
|
-
/* @__PURE__ */ (0,
|
|
2707
|
+
children: props.missing ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2708
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
|
2836
2709
|
"H",
|
|
2837
2710
|
props.rank
|
|
2838
2711
|
] }),
|
|
2839
2712
|
": Missing"
|
|
2840
|
-
] }) : /* @__PURE__ */ (0,
|
|
2841
|
-
/* @__PURE__ */ (0,
|
|
2713
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2714
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("b", { children: [
|
|
2842
2715
|
"H",
|
|
2843
2716
|
props.rank
|
|
2844
2717
|
] }),
|
|
@@ -2847,7 +2720,7 @@ var HeadingAnalyzer = () => {
|
|
|
2847
2720
|
] })
|
|
2848
2721
|
}
|
|
2849
2722
|
) }),
|
|
2850
|
-
/* @__PURE__ */ (0,
|
|
2723
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(OutlineList, { children: props.children })
|
|
2851
2724
|
] })
|
|
2852
2725
|
},
|
|
2853
2726
|
entry: {
|
|
@@ -2868,12 +2741,10 @@ var HeadingAnalyzer = () => {
|
|
|
2868
2741
|
] });
|
|
2869
2742
|
};
|
|
2870
2743
|
var headingAnalyzer = {
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
] })
|
|
2876
|
-
}
|
|
2744
|
+
name: "heading-analyzer",
|
|
2745
|
+
label: "Audit",
|
|
2746
|
+
render: HeadingAnalyzer,
|
|
2747
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Heading1, {})
|
|
2877
2748
|
};
|
|
2878
2749
|
var HeadingAnalyzer_default = headingAnalyzer;
|
|
2879
2750
|
/*! Bundled license information:
|
|
@@ -2889,7 +2760,7 @@ lucide-react/dist/esm/shared/src/utils.js:
|
|
|
2889
2760
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
2890
2761
|
lucide-react/dist/esm/Icon.js:
|
|
2891
2762
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
2892
|
-
lucide-react/dist/esm/icons/
|
|
2763
|
+
lucide-react/dist/esm/icons/heading-1.js:
|
|
2893
2764
|
lucide-react/dist/esm/lucide-react.js:
|
|
2894
2765
|
(**
|
|
2895
2766
|
* @license lucide-react v0.468.0 - ISC
|
package/dist/index.mjs
CHANGED
|
@@ -269,17 +269,17 @@ import { useEffect as useEffect5, useState } from "react";
|
|
|
269
269
|
|
|
270
270
|
// css-module:/home/runner/work/puck/puck/packages/plugin-heading-analyzer/src/HeadingAnalyzer.module.css#css-module
|
|
271
271
|
init_react_import();
|
|
272
|
-
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "
|
|
272
|
+
var HeadingAnalyzer_module_default = { "HeadingAnalyzer": "_HeadingAnalyzer_yg0s7_1", "HeadingAnalyzer-cssWarning": "_HeadingAnalyzer-cssWarning_yg0s7_6", "HeadingAnalyzerItem": "_HeadingAnalyzerItem_yg0s7_10", "HeadingAnalyzerItem--missing": "_HeadingAnalyzerItem--missing_yg0s7_14" };
|
|
273
273
|
|
|
274
274
|
// src/HeadingAnalyzer.tsx
|
|
275
275
|
import { createUsePuck } from "@measured/puck";
|
|
276
276
|
|
|
277
|
-
// ../core/components/
|
|
277
|
+
// ../core/components/OutlineList/index.tsx
|
|
278
278
|
init_react_import();
|
|
279
279
|
|
|
280
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/
|
|
280
|
+
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
|
281
281
|
init_react_import();
|
|
282
|
-
var styles_module_default = { "
|
|
282
|
+
var styles_module_default = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
283
283
|
|
|
284
284
|
// ../core/lib/get-class-name-factory.ts
|
|
285
285
|
init_react_import();
|
|
@@ -308,29 +308,50 @@ var getClassNameFactory = (rootClass, styles, config = { baseClass: "" }) => (op
|
|
|
308
308
|
};
|
|
309
309
|
var get_class_name_factory_default = getClassNameFactory;
|
|
310
310
|
|
|
311
|
-
// ../core/components/
|
|
312
|
-
init_react_import();
|
|
313
|
-
|
|
314
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Heading/styles.module.css#css-module
|
|
315
|
-
init_react_import();
|
|
316
|
-
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" };
|
|
317
|
-
|
|
318
|
-
// ../core/components/Heading/index.tsx
|
|
311
|
+
// ../core/components/OutlineList/index.tsx
|
|
319
312
|
import { jsx } from "react/jsx-runtime";
|
|
320
|
-
var getClassName = get_class_name_factory_default("
|
|
321
|
-
var
|
|
322
|
-
|
|
313
|
+
var getClassName = get_class_name_factory_default("OutlineList", styles_module_default);
|
|
314
|
+
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default);
|
|
315
|
+
var OutlineList = ({ children }) => {
|
|
316
|
+
return /* @__PURE__ */ jsx("ul", { className: getClassName(), children });
|
|
317
|
+
};
|
|
318
|
+
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ jsx("div", { className: getClassNameItem({ clickable: true }), children });
|
|
319
|
+
OutlineList.Item = ({
|
|
320
|
+
children,
|
|
321
|
+
onClick
|
|
322
|
+
}) => {
|
|
323
323
|
return /* @__PURE__ */ jsx(
|
|
324
|
-
|
|
324
|
+
"li",
|
|
325
325
|
{
|
|
326
|
-
className:
|
|
327
|
-
|
|
328
|
-
}),
|
|
326
|
+
className: getClassNameItem({ clickable: !!onClick }),
|
|
327
|
+
onClick,
|
|
329
328
|
children
|
|
330
329
|
}
|
|
331
330
|
);
|
|
332
331
|
};
|
|
333
332
|
|
|
333
|
+
// ../core/lib/scroll-into-view.ts
|
|
334
|
+
init_react_import();
|
|
335
|
+
var scrollIntoView = (el) => {
|
|
336
|
+
const oldStyle = __spreadValues({}, el.style);
|
|
337
|
+
el.style.scrollMargin = "256px";
|
|
338
|
+
if (el) {
|
|
339
|
+
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
340
|
+
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
// ../core/lib/get-frame.ts
|
|
345
|
+
init_react_import();
|
|
346
|
+
var getFrame = () => {
|
|
347
|
+
if (typeof window === "undefined") return;
|
|
348
|
+
let frameEl = document.querySelector("#preview-frame");
|
|
349
|
+
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
350
|
+
return frameEl.contentDocument || document;
|
|
351
|
+
}
|
|
352
|
+
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
353
|
+
};
|
|
354
|
+
|
|
334
355
|
// ../../node_modules/lucide-react/dist/esm/lucide-react.js
|
|
335
356
|
init_react_import();
|
|
336
357
|
|
|
@@ -418,15 +439,29 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
|
418
439
|
return Component;
|
|
419
440
|
};
|
|
420
441
|
|
|
421
|
-
// ../../node_modules/lucide-react/dist/esm/icons/
|
|
442
|
+
// ../../node_modules/lucide-react/dist/esm/icons/heading-1.js
|
|
422
443
|
init_react_import();
|
|
423
|
-
var
|
|
424
|
-
["path", { d: "
|
|
444
|
+
var Heading1 = createLucideIcon("Heading1", [
|
|
445
|
+
["path", { d: "M4 12h8", key: "17cfdx" }],
|
|
446
|
+
["path", { d: "M4 18V6", key: "1rz3zl" }],
|
|
447
|
+
["path", { d: "M12 18V6", key: "zqpxq5" }],
|
|
448
|
+
["path", { d: "m17 12 3-2v8", key: "1hhhft" }]
|
|
425
449
|
]);
|
|
426
450
|
|
|
427
|
-
// ../core/lib/
|
|
451
|
+
// ../core/lib/index.ts
|
|
452
|
+
init_react_import();
|
|
453
|
+
|
|
454
|
+
// ../core/lib/filter.ts
|
|
455
|
+
init_react_import();
|
|
456
|
+
|
|
457
|
+
// ../core/lib/data/reorder.ts
|
|
458
|
+
init_react_import();
|
|
459
|
+
|
|
460
|
+
// ../core/lib/data/replace.ts
|
|
461
|
+
init_react_import();
|
|
462
|
+
|
|
463
|
+
// ../core/lib/use-reset-auto-zoom.ts
|
|
428
464
|
init_react_import();
|
|
429
|
-
import { useMemo } from "react";
|
|
430
465
|
|
|
431
466
|
// ../core/store/index.ts
|
|
432
467
|
init_react_import();
|
|
@@ -644,9 +679,28 @@ var stripSlots = (data, config) => {
|
|
|
644
679
|
|
|
645
680
|
// ../core/lib/data/flatten-node.ts
|
|
646
681
|
var { flatten: flatten2, unflatten } = import_flat.default;
|
|
682
|
+
function isEmptyArrayOrObject(val) {
|
|
683
|
+
if (Array.isArray(val)) {
|
|
684
|
+
return val.length === 0;
|
|
685
|
+
}
|
|
686
|
+
if (val != null && Object.prototype.toString.call(val) === "[object Object]") {
|
|
687
|
+
return Object.keys(val).length === 0;
|
|
688
|
+
}
|
|
689
|
+
return false;
|
|
690
|
+
}
|
|
691
|
+
function stripEmptyObjects(props) {
|
|
692
|
+
const result = {};
|
|
693
|
+
for (const key in props) {
|
|
694
|
+
if (!Object.prototype.hasOwnProperty.call(props, key)) continue;
|
|
695
|
+
const val = props[key];
|
|
696
|
+
if (isEmptyArrayOrObject(val)) continue;
|
|
697
|
+
result[key] = val;
|
|
698
|
+
}
|
|
699
|
+
return result;
|
|
700
|
+
}
|
|
647
701
|
var flattenNode = (node, config) => {
|
|
648
702
|
return __spreadProps(__spreadValues({}, node), {
|
|
649
|
-
props: flatten2(stripSlots(node, config).props)
|
|
703
|
+
props: stripEmptyObjects(flatten2(stripSlots(node, config).props))
|
|
650
704
|
});
|
|
651
705
|
};
|
|
652
706
|
|
|
@@ -1398,7 +1452,8 @@ init_react_import();
|
|
|
1398
1452
|
var defaultViewports = [
|
|
1399
1453
|
{ width: 360, height: "auto", icon: "Smartphone", label: "Small" },
|
|
1400
1454
|
{ width: 768, height: "auto", icon: "Tablet", label: "Medium" },
|
|
1401
|
-
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" }
|
|
1455
|
+
{ width: 1280, height: "auto", icon: "Monitor", label: "Large" },
|
|
1456
|
+
{ width: "100%", height: "auto", icon: "FullWidth", label: "Full-width" }
|
|
1402
1457
|
];
|
|
1403
1458
|
|
|
1404
1459
|
// ../../node_modules/zustand/esm/vanilla.mjs
|
|
@@ -2303,7 +2358,8 @@ var defaultAppState = {
|
|
|
2303
2358
|
options: [],
|
|
2304
2359
|
controlsVisible: true
|
|
2305
2360
|
},
|
|
2306
|
-
field: { focus: null }
|
|
2361
|
+
field: { focus: null },
|
|
2362
|
+
plugin: { current: null }
|
|
2307
2363
|
},
|
|
2308
2364
|
indexes: {
|
|
2309
2365
|
nodes: {},
|
|
@@ -2319,6 +2375,7 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2319
2375
|
subscribeWithSelector((set, get) => {
|
|
2320
2376
|
var _a, _b;
|
|
2321
2377
|
return __spreadProps(__spreadValues({
|
|
2378
|
+
instanceId: generateId(),
|
|
2322
2379
|
state: defaultAppState,
|
|
2323
2380
|
config: { components: {} },
|
|
2324
2381
|
componentState: {},
|
|
@@ -2339,6 +2396,11 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2339
2396
|
history: createHistorySlice(set, get),
|
|
2340
2397
|
nodes: createNodesSlice(set, get),
|
|
2341
2398
|
permissions: createPermissionsSlice(set, get),
|
|
2399
|
+
getCurrentData: () => {
|
|
2400
|
+
var _a2;
|
|
2401
|
+
const s = get();
|
|
2402
|
+
return (_a2 = s.selectedItem) != null ? _a2 : s.state.data.root;
|
|
2403
|
+
},
|
|
2342
2404
|
getComponentConfig: (type) => {
|
|
2343
2405
|
var _a2;
|
|
2344
2406
|
const { config, selectedItem } = get();
|
|
@@ -2489,203 +2551,14 @@ var createAppStore = (initialAppStore) => create()(
|
|
|
2489
2551
|
})
|
|
2490
2552
|
);
|
|
2491
2553
|
var appStoreContext = createContext(createAppStore());
|
|
2492
|
-
function useAppStore(selector) {
|
|
2493
|
-
const context = useContext(appStoreContext);
|
|
2494
|
-
return useStore(context, selector);
|
|
2495
|
-
}
|
|
2496
|
-
function useAppStoreApi() {
|
|
2497
|
-
return useContext(appStoreContext);
|
|
2498
|
-
}
|
|
2499
|
-
|
|
2500
|
-
// ../core/lib/use-breadcrumbs.ts
|
|
2501
|
-
var useBreadcrumbs = (renderCount) => {
|
|
2502
|
-
const selectedId = useAppStore((s) => {
|
|
2503
|
-
var _a;
|
|
2504
|
-
return (_a = s.selectedItem) == null ? void 0 : _a.props.id;
|
|
2505
|
-
});
|
|
2506
|
-
const config = useAppStore((s) => s.config);
|
|
2507
|
-
const path = useAppStore((s) => {
|
|
2508
|
-
var _a;
|
|
2509
|
-
return (_a = s.state.indexes.nodes[selectedId]) == null ? void 0 : _a.path;
|
|
2510
|
-
});
|
|
2511
|
-
const appStore = useAppStoreApi();
|
|
2512
|
-
return useMemo(() => {
|
|
2513
|
-
const breadcrumbs = (path == null ? void 0 : path.map((zoneCompound) => {
|
|
2514
|
-
var _a, _b, _c;
|
|
2515
|
-
const [componentId] = zoneCompound.split(":");
|
|
2516
|
-
if (componentId === "root") {
|
|
2517
|
-
return {
|
|
2518
|
-
label: "Page",
|
|
2519
|
-
selector: null
|
|
2520
|
-
};
|
|
2521
|
-
}
|
|
2522
|
-
const node = appStore.getState().state.indexes.nodes[componentId];
|
|
2523
|
-
const parentId = node.path[node.path.length - 1];
|
|
2524
|
-
const contentIds = ((_a = appStore.getState().state.indexes.zones[parentId]) == null ? void 0 : _a.contentIds) || [];
|
|
2525
|
-
const index = contentIds.indexOf(componentId);
|
|
2526
|
-
const label = node ? (_c = (_b = config.components[node.data.type]) == null ? void 0 : _b.label) != null ? _c : node.data.type : "Component";
|
|
2527
|
-
return {
|
|
2528
|
-
label,
|
|
2529
|
-
selector: node ? {
|
|
2530
|
-
index,
|
|
2531
|
-
zone: node.path[node.path.length - 1]
|
|
2532
|
-
} : null
|
|
2533
|
-
};
|
|
2534
|
-
})) || [];
|
|
2535
|
-
if (renderCount) {
|
|
2536
|
-
return breadcrumbs.slice(breadcrumbs.length - renderCount);
|
|
2537
|
-
}
|
|
2538
|
-
return breadcrumbs;
|
|
2539
|
-
}, [path, renderCount]);
|
|
2540
|
-
};
|
|
2541
|
-
|
|
2542
|
-
// ../core/components/Loader/index.tsx
|
|
2543
|
-
init_react_import();
|
|
2544
|
-
|
|
2545
|
-
// ../core/lib/index.ts
|
|
2546
|
-
init_react_import();
|
|
2547
|
-
|
|
2548
|
-
// ../core/lib/filter.ts
|
|
2549
|
-
init_react_import();
|
|
2550
|
-
|
|
2551
|
-
// ../core/lib/data/reorder.ts
|
|
2552
|
-
init_react_import();
|
|
2553
|
-
|
|
2554
|
-
// ../core/lib/data/replace.ts
|
|
2555
|
-
init_react_import();
|
|
2556
|
-
|
|
2557
|
-
// ../core/lib/use-reset-auto-zoom.ts
|
|
2558
|
-
init_react_import();
|
|
2559
2554
|
|
|
2560
2555
|
// ../core/lib/get-zoom-config.ts
|
|
2561
2556
|
init_react_import();
|
|
2562
2557
|
|
|
2563
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/Loader/styles.module.css#css-module
|
|
2564
|
-
init_react_import();
|
|
2565
|
-
var styles_module_default3 = { "Loader": "_Loader_nacdm_13", "loader-animation": "_loader-animation_nacdm_1" };
|
|
2566
|
-
|
|
2567
|
-
// ../core/components/Loader/index.tsx
|
|
2568
|
-
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
2569
|
-
var getClassName2 = get_class_name_factory_default("Loader", styles_module_default3);
|
|
2570
|
-
var Loader = (_a) => {
|
|
2571
|
-
var _b = _a, {
|
|
2572
|
-
color,
|
|
2573
|
-
size = 16
|
|
2574
|
-
} = _b, props = __objRest(_b, [
|
|
2575
|
-
"color",
|
|
2576
|
-
"size"
|
|
2577
|
-
]);
|
|
2578
|
-
return /* @__PURE__ */ jsx2(
|
|
2579
|
-
"span",
|
|
2580
|
-
__spreadValues({
|
|
2581
|
-
className: getClassName2(),
|
|
2582
|
-
style: {
|
|
2583
|
-
width: size,
|
|
2584
|
-
height: size,
|
|
2585
|
-
color
|
|
2586
|
-
},
|
|
2587
|
-
"aria-label": "loading"
|
|
2588
|
-
}, props)
|
|
2589
|
-
);
|
|
2590
|
-
};
|
|
2591
|
-
|
|
2592
|
-
// ../core/components/SidebarSection/index.tsx
|
|
2593
|
-
import { jsx as jsx3, jsxs } from "react/jsx-runtime";
|
|
2594
|
-
var getClassName3 = get_class_name_factory_default("SidebarSection", styles_module_default);
|
|
2595
|
-
var SidebarSection = ({
|
|
2596
|
-
children,
|
|
2597
|
-
title,
|
|
2598
|
-
background,
|
|
2599
|
-
showBreadcrumbs,
|
|
2600
|
-
noBorderTop,
|
|
2601
|
-
noPadding,
|
|
2602
|
-
isLoading
|
|
2603
|
-
}) => {
|
|
2604
|
-
const setUi = useAppStore((s) => s.setUi);
|
|
2605
|
-
const breadcrumbs = useBreadcrumbs(1);
|
|
2606
|
-
return /* @__PURE__ */ jsxs(
|
|
2607
|
-
"div",
|
|
2608
|
-
{
|
|
2609
|
-
className: getClassName3({ noBorderTop, noPadding }),
|
|
2610
|
-
style: { background },
|
|
2611
|
-
children: [
|
|
2612
|
-
/* @__PURE__ */ jsx3("div", { className: getClassName3("title"), children: /* @__PURE__ */ jsxs("div", { className: getClassName3("breadcrumbs"), children: [
|
|
2613
|
-
showBreadcrumbs ? breadcrumbs.map((breadcrumb, i) => /* @__PURE__ */ jsxs("div", { className: getClassName3("breadcrumb"), children: [
|
|
2614
|
-
/* @__PURE__ */ jsx3(
|
|
2615
|
-
"button",
|
|
2616
|
-
{
|
|
2617
|
-
type: "button",
|
|
2618
|
-
className: getClassName3("breadcrumbLabel"),
|
|
2619
|
-
onClick: () => setUi({ itemSelector: breadcrumb.selector }),
|
|
2620
|
-
children: breadcrumb.label
|
|
2621
|
-
}
|
|
2622
|
-
),
|
|
2623
|
-
/* @__PURE__ */ jsx3(ChevronRight, { size: 16 })
|
|
2624
|
-
] }, i)) : null,
|
|
2625
|
-
/* @__PURE__ */ jsx3("div", { className: getClassName3("heading"), children: /* @__PURE__ */ jsx3(Heading, { rank: "2", size: "xs", children: title }) })
|
|
2626
|
-
] }) }),
|
|
2627
|
-
/* @__PURE__ */ jsx3("div", { className: getClassName3("content"), children }),
|
|
2628
|
-
isLoading && /* @__PURE__ */ jsx3("div", { className: getClassName3("loadingOverlay"), children: /* @__PURE__ */ jsx3(Loader, { size: 32 }) })
|
|
2629
|
-
]
|
|
2630
|
-
}
|
|
2631
|
-
);
|
|
2632
|
-
};
|
|
2633
|
-
|
|
2634
|
-
// ../core/components/OutlineList/index.tsx
|
|
2635
|
-
init_react_import();
|
|
2636
|
-
|
|
2637
|
-
// css-module:/home/runner/work/puck/puck/packages/core/components/OutlineList/styles.module.css#css-module
|
|
2638
|
-
init_react_import();
|
|
2639
|
-
var styles_module_default4 = { "OutlineList": "_OutlineList_w4lzv_1", "OutlineListItem": "_OutlineListItem_w4lzv_25", "OutlineListItem--clickable": "_OutlineListItem--clickable_w4lzv_45" };
|
|
2640
|
-
|
|
2641
|
-
// ../core/components/OutlineList/index.tsx
|
|
2642
|
-
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
2643
|
-
var getClassName4 = get_class_name_factory_default("OutlineList", styles_module_default4);
|
|
2644
|
-
var getClassNameItem = get_class_name_factory_default("OutlineListItem", styles_module_default4);
|
|
2645
|
-
var OutlineList = ({ children }) => {
|
|
2646
|
-
return /* @__PURE__ */ jsx4("ul", { className: getClassName4(), children });
|
|
2647
|
-
};
|
|
2648
|
-
OutlineList.Clickable = ({ children }) => /* @__PURE__ */ jsx4("div", { className: getClassNameItem({ clickable: true }), children });
|
|
2649
|
-
OutlineList.Item = ({
|
|
2650
|
-
children,
|
|
2651
|
-
onClick
|
|
2652
|
-
}) => {
|
|
2653
|
-
return /* @__PURE__ */ jsx4(
|
|
2654
|
-
"li",
|
|
2655
|
-
{
|
|
2656
|
-
className: getClassNameItem({ clickable: !!onClick }),
|
|
2657
|
-
onClick,
|
|
2658
|
-
children
|
|
2659
|
-
}
|
|
2660
|
-
);
|
|
2661
|
-
};
|
|
2662
|
-
|
|
2663
|
-
// ../core/lib/scroll-into-view.ts
|
|
2664
|
-
init_react_import();
|
|
2665
|
-
var scrollIntoView = (el) => {
|
|
2666
|
-
const oldStyle = __spreadValues({}, el.style);
|
|
2667
|
-
el.style.scrollMargin = "256px";
|
|
2668
|
-
if (el) {
|
|
2669
|
-
el == null ? void 0 : el.scrollIntoView({ behavior: "smooth" });
|
|
2670
|
-
el.style.scrollMargin = oldStyle.scrollMargin || "";
|
|
2671
|
-
}
|
|
2672
|
-
};
|
|
2673
|
-
|
|
2674
|
-
// ../core/lib/get-frame.ts
|
|
2675
|
-
init_react_import();
|
|
2676
|
-
var getFrame = () => {
|
|
2677
|
-
if (typeof window === "undefined") return;
|
|
2678
|
-
let frameEl = document.querySelector("#preview-frame");
|
|
2679
|
-
if ((frameEl == null ? void 0 : frameEl.tagName) === "IFRAME") {
|
|
2680
|
-
return frameEl.contentDocument || document;
|
|
2681
|
-
}
|
|
2682
|
-
return (frameEl == null ? void 0 : frameEl.ownerDocument) || document;
|
|
2683
|
-
};
|
|
2684
|
-
|
|
2685
2558
|
// src/HeadingAnalyzer.tsx
|
|
2686
2559
|
import ReactFromJSONModule from "react-from-json";
|
|
2687
|
-
import { Fragment, jsx as
|
|
2688
|
-
var
|
|
2560
|
+
import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
2561
|
+
var getClassName2 = get_class_name_factory_default("HeadingAnalyzer", HeadingAnalyzer_module_default);
|
|
2689
2562
|
var getClassNameItem2 = get_class_name_factory_default("HeadingAnalyzerItem", HeadingAnalyzer_module_default);
|
|
2690
2563
|
var ReactFromJSON = ReactFromJSONModule.default || ReactFromJSONModule;
|
|
2691
2564
|
var getOutline = ({ frame } = {}) => {
|
|
@@ -2776,11 +2649,11 @@ var HeadingAnalyzer = () => {
|
|
|
2776
2649
|
frameObserver.disconnect();
|
|
2777
2650
|
};
|
|
2778
2651
|
}, [data]);
|
|
2779
|
-
return /* @__PURE__ */
|
|
2780
|
-
/* @__PURE__ */
|
|
2652
|
+
return /* @__PURE__ */ jsxs("div", { className: getClassName2(), children: [
|
|
2653
|
+
/* @__PURE__ */ jsxs(
|
|
2781
2654
|
"small",
|
|
2782
2655
|
{
|
|
2783
|
-
className:
|
|
2656
|
+
className: getClassName2("cssWarning"),
|
|
2784
2657
|
style: {
|
|
2785
2658
|
color: "var(--puck-color-red-04)",
|
|
2786
2659
|
display: "block",
|
|
@@ -2789,19 +2662,19 @@ var HeadingAnalyzer = () => {
|
|
|
2789
2662
|
children: [
|
|
2790
2663
|
"Heading analyzer styles not loaded. Please review the",
|
|
2791
2664
|
" ",
|
|
2792
|
-
/* @__PURE__ */
|
|
2665
|
+
/* @__PURE__ */ jsx2("a", { href: "https://github.com/measuredco/puck/blob/main/packages/plugin-heading-analyzer/README.md", children: "README" }),
|
|
2793
2666
|
"."
|
|
2794
2667
|
]
|
|
2795
2668
|
}
|
|
2796
2669
|
),
|
|
2797
|
-
hierarchy.length === 0 && /* @__PURE__ */
|
|
2798
|
-
/* @__PURE__ */
|
|
2670
|
+
hierarchy.length === 0 && /* @__PURE__ */ jsx2("div", { children: "No headings." }),
|
|
2671
|
+
/* @__PURE__ */ jsx2(OutlineList, { children: /* @__PURE__ */ jsx2(
|
|
2799
2672
|
ReactFromJSON,
|
|
2800
2673
|
{
|
|
2801
2674
|
mapping: {
|
|
2802
|
-
Root: (props) => /* @__PURE__ */
|
|
2803
|
-
OutlineListItem: (props) => /* @__PURE__ */
|
|
2804
|
-
/* @__PURE__ */
|
|
2675
|
+
Root: (props) => /* @__PURE__ */ jsx2(Fragment, { children: props.children }),
|
|
2676
|
+
OutlineListItem: (props) => /* @__PURE__ */ jsxs(OutlineList.Item, { children: [
|
|
2677
|
+
/* @__PURE__ */ jsx2(OutlineList.Clickable, { children: /* @__PURE__ */ jsx2(
|
|
2805
2678
|
"small",
|
|
2806
2679
|
{
|
|
2807
2680
|
className: getClassNameItem2({ missing: props.missing }),
|
|
@@ -2819,14 +2692,14 @@ var HeadingAnalyzer = () => {
|
|
|
2819
2692
|
}, 2e3);
|
|
2820
2693
|
}
|
|
2821
2694
|
},
|
|
2822
|
-
children: props.missing ? /* @__PURE__ */
|
|
2823
|
-
/* @__PURE__ */
|
|
2695
|
+
children: props.missing ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2696
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
|
2824
2697
|
"H",
|
|
2825
2698
|
props.rank
|
|
2826
2699
|
] }),
|
|
2827
2700
|
": Missing"
|
|
2828
|
-
] }) : /* @__PURE__ */
|
|
2829
|
-
/* @__PURE__ */
|
|
2701
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2702
|
+
/* @__PURE__ */ jsxs("b", { children: [
|
|
2830
2703
|
"H",
|
|
2831
2704
|
props.rank
|
|
2832
2705
|
] }),
|
|
@@ -2835,7 +2708,7 @@ var HeadingAnalyzer = () => {
|
|
|
2835
2708
|
] })
|
|
2836
2709
|
}
|
|
2837
2710
|
) }),
|
|
2838
|
-
/* @__PURE__ */
|
|
2711
|
+
/* @__PURE__ */ jsx2(OutlineList, { children: props.children })
|
|
2839
2712
|
] })
|
|
2840
2713
|
},
|
|
2841
2714
|
entry: {
|
|
@@ -2856,12 +2729,10 @@ var HeadingAnalyzer = () => {
|
|
|
2856
2729
|
] });
|
|
2857
2730
|
};
|
|
2858
2731
|
var headingAnalyzer = {
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
] })
|
|
2864
|
-
}
|
|
2732
|
+
name: "heading-analyzer",
|
|
2733
|
+
label: "Audit",
|
|
2734
|
+
render: HeadingAnalyzer,
|
|
2735
|
+
icon: /* @__PURE__ */ jsx2(Heading1, {})
|
|
2865
2736
|
};
|
|
2866
2737
|
var HeadingAnalyzer_default = headingAnalyzer;
|
|
2867
2738
|
export {
|
|
@@ -2880,7 +2751,7 @@ lucide-react/dist/esm/shared/src/utils.js:
|
|
|
2880
2751
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
2881
2752
|
lucide-react/dist/esm/Icon.js:
|
|
2882
2753
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
2883
|
-
lucide-react/dist/esm/icons/
|
|
2754
|
+
lucide-react/dist/esm/icons/heading-1.js:
|
|
2884
2755
|
lucide-react/dist/esm/lucide-react.js:
|
|
2885
2756
|
(**
|
|
2886
2757
|
* @license lucide-react v0.468.0 - ISC
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@measured/puck-plugin-heading-analyzer",
|
|
3
|
-
"version": "0.21.0-canary.
|
|
3
|
+
"version": "0.21.0-canary.a4bfae4f",
|
|
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.21.0-canary.
|
|
28
|
+
"@measured/puck": "^0.21.0-canary.a4bfae4f",
|
|
29
29
|
"@types/minimatch": "3.0.5",
|
|
30
30
|
"@types/react": "^19.0.1",
|
|
31
31
|
"@types/react-dom": "^19.0.2",
|