@measured/puck-plugin-heading-analyzer 0.21.0-canary.3aa27d1d → 0.21.0-canary.56be3202
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 +24 -13
- package/dist/index.d.ts +24 -13
- package/dist/index.js +93 -241
- package/dist/index.mjs +90 -238
- 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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactElement, CSSProperties, ReactNode, ElementType, JSX } from 'react';
|
|
1
|
+
import { ReactElement, CSSProperties, ReactNode, ElementType, Ref, JSX } from 'react';
|
|
2
2
|
import { EditorStateSnapshot, Editor, Extensions } from '@tiptap/react';
|
|
3
3
|
import { BlockquoteOptions } from '@tiptap/extension-blockquote';
|
|
4
4
|
import { BoldOptions } from '@tiptap/extension-bold';
|
|
@@ -80,7 +80,7 @@ declare const defaultEditorState: (ctx: EditorStateSnapshot, readOnly: boolean)
|
|
|
80
80
|
|
|
81
81
|
type RichTextSelector = (ctx: EditorStateSnapshot, readOnly: boolean) => Partial<Record<string, boolean>>;
|
|
82
82
|
type DefaultEditorState = ReturnType<typeof defaultEditorState>;
|
|
83
|
-
type EditorState<Selector extends RichTextSelector = RichTextSelector> = DefaultEditorState & Selector
|
|
83
|
+
type EditorState<Selector extends RichTextSelector = RichTextSelector> = DefaultEditorState & ReturnType<Selector> & Record<string, boolean | undefined>;
|
|
84
84
|
|
|
85
85
|
interface PuckRichTextOptions {
|
|
86
86
|
/**
|
|
@@ -223,14 +223,14 @@ interface RichtextField<UserSelector extends RichTextSelector = RichTextSelector
|
|
|
223
223
|
options?: Partial<PuckRichTextOptions>;
|
|
224
224
|
renderMenu?: (props: {
|
|
225
225
|
children: ReactNode;
|
|
226
|
-
editor: Editor;
|
|
227
|
-
editorState: EditorState<UserSelector
|
|
226
|
+
editor: Editor | null;
|
|
227
|
+
editorState: EditorState<UserSelector> | null;
|
|
228
228
|
readOnly: boolean;
|
|
229
229
|
}) => ReactNode;
|
|
230
230
|
renderInlineMenu?: (props: {
|
|
231
231
|
children: ReactNode;
|
|
232
|
-
editor: Editor;
|
|
233
|
-
editorState: EditorState<UserSelector
|
|
232
|
+
editor: Editor | null;
|
|
233
|
+
editorState: EditorState<UserSelector> | null;
|
|
234
234
|
readOnly: boolean;
|
|
235
235
|
}) => ReactNode;
|
|
236
236
|
tiptap?: {
|
|
@@ -347,6 +347,7 @@ type DropZoneProps = {
|
|
|
347
347
|
className?: string;
|
|
348
348
|
collisionAxis?: DragAxis;
|
|
349
349
|
as?: ElementType;
|
|
350
|
+
ref?: Ref<any>;
|
|
350
351
|
};
|
|
351
352
|
|
|
352
353
|
type PuckContext = {
|
|
@@ -520,6 +521,7 @@ interface FieldMetadata extends Metadata {
|
|
|
520
521
|
type ItemWithId = {
|
|
521
522
|
_arrayId: string;
|
|
522
523
|
_originalIndex: number;
|
|
524
|
+
_currentIndex: number;
|
|
523
525
|
};
|
|
524
526
|
type ArrayState = {
|
|
525
527
|
items: ItemWithId[];
|
|
@@ -530,6 +532,7 @@ type UiState = {
|
|
|
530
532
|
rightSideBarVisible: boolean;
|
|
531
533
|
leftSideBarWidth?: number | null;
|
|
532
534
|
rightSideBarWidth?: number | null;
|
|
535
|
+
mobilePanelExpanded?: boolean;
|
|
533
536
|
itemSelector: ItemSelector | null;
|
|
534
537
|
arrayState: Record<string, ArrayState | undefined>;
|
|
535
538
|
previewMode: "interactive" | "edit";
|
|
@@ -542,7 +545,7 @@ type UiState = {
|
|
|
542
545
|
isDragging: boolean;
|
|
543
546
|
viewports: {
|
|
544
547
|
current: {
|
|
545
|
-
width: number;
|
|
548
|
+
width: number | "100%";
|
|
546
549
|
height: number | "auto";
|
|
547
550
|
};
|
|
548
551
|
controlsVisible: boolean;
|
|
@@ -552,6 +555,9 @@ type UiState = {
|
|
|
552
555
|
focus?: string | null;
|
|
553
556
|
metadata?: Record<string, any>;
|
|
554
557
|
};
|
|
558
|
+
plugin: {
|
|
559
|
+
current: string | null;
|
|
560
|
+
};
|
|
555
561
|
};
|
|
556
562
|
type AppState<UserData extends Data = Data> = {
|
|
557
563
|
data: UserData;
|
|
@@ -595,6 +601,11 @@ type LeftOrExactRight<Union, Left, Right> = (Left & Union extends Right ? Exact<
|
|
|
595
601
|
type AssertHasValue<T, True = T, False = never> = [keyof T] extends [
|
|
596
602
|
never
|
|
597
603
|
] ? False : True;
|
|
604
|
+
type RenderFunc<Props extends {
|
|
605
|
+
[key: string]: any;
|
|
606
|
+
} = {
|
|
607
|
+
children: ReactNode;
|
|
608
|
+
}> = (props: Props) => ReactElement;
|
|
598
609
|
|
|
599
610
|
type MapFnParams<ThisField = Field> = {
|
|
600
611
|
value: any;
|
|
@@ -618,11 +629,6 @@ G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>, UserField extends
|
|
|
618
629
|
[Type in UserField["type"]]: FieldTransformFn<ExtractField<UserField, Type>>;
|
|
619
630
|
}>;
|
|
620
631
|
|
|
621
|
-
type RenderFunc<Props extends {
|
|
622
|
-
[key: string]: any;
|
|
623
|
-
} = {
|
|
624
|
-
children: ReactNode;
|
|
625
|
-
}> = (props: Props) => ReactElement;
|
|
626
632
|
declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
|
|
627
633
|
type OverrideKey = (typeof overrideKeys)[number];
|
|
628
634
|
type OverridesGeneric<Shape extends {
|
|
@@ -693,7 +699,7 @@ type DragAxis = "dynamic" | "y" | "x";
|
|
|
693
699
|
|
|
694
700
|
type iconTypes = "Smartphone" | "Monitor" | "Tablet";
|
|
695
701
|
type Viewport = {
|
|
696
|
-
width: number;
|
|
702
|
+
width: number | "100%";
|
|
697
703
|
height?: number | "auto";
|
|
698
704
|
label?: string;
|
|
699
705
|
icon?: iconTypes | ReactNode;
|
|
@@ -707,8 +713,13 @@ type Permissions = {
|
|
|
707
713
|
insert: boolean;
|
|
708
714
|
} & Record<string, boolean>;
|
|
709
715
|
type Plugin<UserConfig extends Config = Config> = {
|
|
716
|
+
name?: string;
|
|
717
|
+
label?: string;
|
|
718
|
+
icon?: ReactNode;
|
|
719
|
+
render?: () => ReactElement;
|
|
710
720
|
overrides?: Partial<Overrides<UserConfig>>;
|
|
711
721
|
fieldTransforms?: FieldTransforms<UserConfig>;
|
|
722
|
+
mobilePanelHeight?: "toggle" | "min-content";
|
|
712
723
|
};
|
|
713
724
|
type Slot<Props extends {
|
|
714
725
|
[key: string]: DefaultComponentProps;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactElement, CSSProperties, ReactNode, ElementType, JSX } from 'react';
|
|
1
|
+
import { ReactElement, CSSProperties, ReactNode, ElementType, Ref, JSX } from 'react';
|
|
2
2
|
import { EditorStateSnapshot, Editor, Extensions } from '@tiptap/react';
|
|
3
3
|
import { BlockquoteOptions } from '@tiptap/extension-blockquote';
|
|
4
4
|
import { BoldOptions } from '@tiptap/extension-bold';
|
|
@@ -80,7 +80,7 @@ declare const defaultEditorState: (ctx: EditorStateSnapshot, readOnly: boolean)
|
|
|
80
80
|
|
|
81
81
|
type RichTextSelector = (ctx: EditorStateSnapshot, readOnly: boolean) => Partial<Record<string, boolean>>;
|
|
82
82
|
type DefaultEditorState = ReturnType<typeof defaultEditorState>;
|
|
83
|
-
type EditorState<Selector extends RichTextSelector = RichTextSelector> = DefaultEditorState & Selector
|
|
83
|
+
type EditorState<Selector extends RichTextSelector = RichTextSelector> = DefaultEditorState & ReturnType<Selector> & Record<string, boolean | undefined>;
|
|
84
84
|
|
|
85
85
|
interface PuckRichTextOptions {
|
|
86
86
|
/**
|
|
@@ -223,14 +223,14 @@ interface RichtextField<UserSelector extends RichTextSelector = RichTextSelector
|
|
|
223
223
|
options?: Partial<PuckRichTextOptions>;
|
|
224
224
|
renderMenu?: (props: {
|
|
225
225
|
children: ReactNode;
|
|
226
|
-
editor: Editor;
|
|
227
|
-
editorState: EditorState<UserSelector
|
|
226
|
+
editor: Editor | null;
|
|
227
|
+
editorState: EditorState<UserSelector> | null;
|
|
228
228
|
readOnly: boolean;
|
|
229
229
|
}) => ReactNode;
|
|
230
230
|
renderInlineMenu?: (props: {
|
|
231
231
|
children: ReactNode;
|
|
232
|
-
editor: Editor;
|
|
233
|
-
editorState: EditorState<UserSelector
|
|
232
|
+
editor: Editor | null;
|
|
233
|
+
editorState: EditorState<UserSelector> | null;
|
|
234
234
|
readOnly: boolean;
|
|
235
235
|
}) => ReactNode;
|
|
236
236
|
tiptap?: {
|
|
@@ -347,6 +347,7 @@ type DropZoneProps = {
|
|
|
347
347
|
className?: string;
|
|
348
348
|
collisionAxis?: DragAxis;
|
|
349
349
|
as?: ElementType;
|
|
350
|
+
ref?: Ref<any>;
|
|
350
351
|
};
|
|
351
352
|
|
|
352
353
|
type PuckContext = {
|
|
@@ -520,6 +521,7 @@ interface FieldMetadata extends Metadata {
|
|
|
520
521
|
type ItemWithId = {
|
|
521
522
|
_arrayId: string;
|
|
522
523
|
_originalIndex: number;
|
|
524
|
+
_currentIndex: number;
|
|
523
525
|
};
|
|
524
526
|
type ArrayState = {
|
|
525
527
|
items: ItemWithId[];
|
|
@@ -530,6 +532,7 @@ type UiState = {
|
|
|
530
532
|
rightSideBarVisible: boolean;
|
|
531
533
|
leftSideBarWidth?: number | null;
|
|
532
534
|
rightSideBarWidth?: number | null;
|
|
535
|
+
mobilePanelExpanded?: boolean;
|
|
533
536
|
itemSelector: ItemSelector | null;
|
|
534
537
|
arrayState: Record<string, ArrayState | undefined>;
|
|
535
538
|
previewMode: "interactive" | "edit";
|
|
@@ -542,7 +545,7 @@ type UiState = {
|
|
|
542
545
|
isDragging: boolean;
|
|
543
546
|
viewports: {
|
|
544
547
|
current: {
|
|
545
|
-
width: number;
|
|
548
|
+
width: number | "100%";
|
|
546
549
|
height: number | "auto";
|
|
547
550
|
};
|
|
548
551
|
controlsVisible: boolean;
|
|
@@ -552,6 +555,9 @@ type UiState = {
|
|
|
552
555
|
focus?: string | null;
|
|
553
556
|
metadata?: Record<string, any>;
|
|
554
557
|
};
|
|
558
|
+
plugin: {
|
|
559
|
+
current: string | null;
|
|
560
|
+
};
|
|
555
561
|
};
|
|
556
562
|
type AppState<UserData extends Data = Data> = {
|
|
557
563
|
data: UserData;
|
|
@@ -595,6 +601,11 @@ type LeftOrExactRight<Union, Left, Right> = (Left & Union extends Right ? Exact<
|
|
|
595
601
|
type AssertHasValue<T, True = T, False = never> = [keyof T] extends [
|
|
596
602
|
never
|
|
597
603
|
] ? False : True;
|
|
604
|
+
type RenderFunc<Props extends {
|
|
605
|
+
[key: string]: any;
|
|
606
|
+
} = {
|
|
607
|
+
children: ReactNode;
|
|
608
|
+
}> = (props: Props) => ReactElement;
|
|
598
609
|
|
|
599
610
|
type MapFnParams<ThisField = Field> = {
|
|
600
611
|
value: any;
|
|
@@ -618,11 +629,6 @@ G extends UserGenerics<UserConfig> = UserGenerics<UserConfig>, UserField extends
|
|
|
618
629
|
[Type in UserField["type"]]: FieldTransformFn<ExtractField<UserField, Type>>;
|
|
619
630
|
}>;
|
|
620
631
|
|
|
621
|
-
type RenderFunc<Props extends {
|
|
622
|
-
[key: string]: any;
|
|
623
|
-
} = {
|
|
624
|
-
children: ReactNode;
|
|
625
|
-
}> = (props: Props) => ReactElement;
|
|
626
632
|
declare const overrideKeys: readonly ["header", "headerActions", "fields", "fieldLabel", "drawer", "drawerItem", "componentOverlay", "outline", "puck", "preview"];
|
|
627
633
|
type OverrideKey = (typeof overrideKeys)[number];
|
|
628
634
|
type OverridesGeneric<Shape extends {
|
|
@@ -693,7 +699,7 @@ type DragAxis = "dynamic" | "y" | "x";
|
|
|
693
699
|
|
|
694
700
|
type iconTypes = "Smartphone" | "Monitor" | "Tablet";
|
|
695
701
|
type Viewport = {
|
|
696
|
-
width: number;
|
|
702
|
+
width: number | "100%";
|
|
697
703
|
height?: number | "auto";
|
|
698
704
|
label?: string;
|
|
699
705
|
icon?: iconTypes | ReactNode;
|
|
@@ -707,8 +713,13 @@ type Permissions = {
|
|
|
707
713
|
insert: boolean;
|
|
708
714
|
} & Record<string, boolean>;
|
|
709
715
|
type Plugin<UserConfig extends Config = Config> = {
|
|
716
|
+
name?: string;
|
|
717
|
+
label?: string;
|
|
718
|
+
icon?: ReactNode;
|
|
719
|
+
render?: () => ReactElement;
|
|
710
720
|
overrides?: Partial<Overrides<UserConfig>>;
|
|
711
721
|
fieldTransforms?: FieldTransforms<UserConfig>;
|
|
722
|
+
mobilePanelHeight?: "toggle" | "min-content";
|
|
712
723
|
};
|
|
713
724
|
type Slot<Props extends {
|
|
714
725
|
[key: string]: DefaultComponentProps;
|