@fluentui/react-storybook-addon 0.5.1 → 0.6.0-experimental.fluent-cli.20260409-f92690ecf6.0
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/CHANGELOG.md +27 -2
- package/README.md +9 -0
- package/dist/index.d.ts +24 -3
- package/dist/styles.css +470 -0
- package/lib/components/DirectionSwitch.js +2 -2
- package/lib/components/DirectionSwitch.js.map +1 -1
- package/lib/components/ReactStrictMode.js +3 -4
- package/lib/components/ReactStrictMode.js.map +1 -1
- package/lib/components/ThemePicker.js +5 -6
- package/lib/components/ThemePicker.js.map +1 -1
- package/lib/docs/DirSwitch.js +1 -1
- package/lib/docs/DirSwitch.js.map +1 -1
- package/lib/docs/FluentCanvas.js +21 -0
- package/lib/docs/FluentCanvas.js.map +1 -0
- package/lib/docs/FluentDocsContainer.js +1 -1
- package/lib/docs/FluentDocsContainer.js.map +1 -1
- package/lib/docs/FluentDocsPage.js +37 -23
- package/lib/docs/FluentDocsPage.js.map +1 -1
- package/lib/docs/FluentStory.js +18 -0
- package/lib/docs/FluentStory.js.map +1 -0
- package/lib/docs/ThemePicker.js +1 -1
- package/lib/docs/ThemePicker.js.map +1 -1
- package/lib/docs/Toc.js +2 -2
- package/lib/docs/Toc.js.map +1 -1
- package/lib/docs/index.js +2 -0
- package/lib/docs/index.js.map +1 -1
- package/lib/docs/utils.js.map +1 -1
- package/lib/hooks.js +1 -1
- package/lib/hooks.js.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/preset/manager.js +1 -4
- package/lib/preset/manager.js.map +1 -1
- package/lib/preset/preview.js +2 -2
- package/lib/preset/preview.js.map +1 -1
- package/lib-commonjs/components/DirectionSwitch.js +2 -2
- package/lib-commonjs/components/DirectionSwitch.js.map +1 -1
- package/lib-commonjs/components/ReactStrictMode.js +3 -4
- package/lib-commonjs/components/ReactStrictMode.js.map +1 -1
- package/lib-commonjs/components/ThemePicker.js +5 -6
- package/lib-commonjs/components/ThemePicker.js.map +1 -1
- package/lib-commonjs/docs/DirSwitch.js +1 -1
- package/lib-commonjs/docs/DirSwitch.js.map +1 -1
- package/lib-commonjs/docs/FluentCanvas.js +29 -0
- package/lib-commonjs/docs/FluentCanvas.js.map +1 -0
- package/lib-commonjs/docs/FluentDocsContainer.js +3 -3
- package/lib-commonjs/docs/FluentDocsContainer.js.map +1 -1
- package/lib-commonjs/docs/FluentDocsPage.js +46 -32
- package/lib-commonjs/docs/FluentDocsPage.js.map +1 -1
- package/lib-commonjs/docs/FluentStory.js +26 -0
- package/lib-commonjs/docs/FluentStory.js.map +1 -0
- package/lib-commonjs/docs/ThemePicker.js +1 -1
- package/lib-commonjs/docs/ThemePicker.js.map +1 -1
- package/lib-commonjs/docs/Toc.js +3 -3
- package/lib-commonjs/docs/Toc.js.map +1 -1
- package/lib-commonjs/docs/index.js +8 -0
- package/lib-commonjs/docs/index.js.map +1 -1
- package/lib-commonjs/docs/utils.js.map +1 -1
- package/lib-commonjs/hooks.js +1 -1
- package/lib-commonjs/hooks.js.map +1 -1
- package/lib-commonjs/index.js +7 -0
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/preset/manager.js +1 -4
- package/lib-commonjs/preset/manager.js.map +1 -1
- package/lib-commonjs/preset/preview.js +4 -4
- package/lib-commonjs/preset/preview.js.map +1 -1
- package/package.json +26 -34
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,37 @@
|
|
|
1
1
|
# Change Log - @fluentui/react-storybook-addon
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 09 Apr 2026 08:01:26 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## [0.6.0-experimental.fluent-cli.20260409-f92690ecf6.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-storybook-addon_v0.6.0-experimental.fluent-cli.20260409-f92690ecf6.0)
|
|
8
|
+
|
|
9
|
+
Thu, 09 Apr 2026 08:01:26 GMT
|
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-storybook-addon_v0.6.0..@fluentui/react-storybook-addon_v0.6.0-experimental.fluent-cli.20260409-f92690ecf6.0)
|
|
11
|
+
|
|
12
|
+
### Changes
|
|
13
|
+
|
|
14
|
+
- Release experimental tools experimental.fluent-cli.20260409-f92690ecf6 ([commit](https://github.com/microsoft/fluentui/commit/not available) by fluentui-internal@service.microsoft.com)
|
|
15
|
+
|
|
16
|
+
## [0.6.0](https://github.com/microsoft/fluentui/tree/@fluentui/react-storybook-addon_v0.6.0)
|
|
17
|
+
|
|
18
|
+
Tue, 03 Mar 2026 13:16:24 GMT
|
|
19
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-storybook-addon_v0.5.1..@fluentui/react-storybook-addon_v0.6.0)
|
|
20
|
+
|
|
21
|
+
### Minor changes
|
|
22
|
+
|
|
23
|
+
- feat: upgrade to storybook 9 ([PR #35459](https://github.com/microsoft/fluentui/pull/35459) by dmytrokirpa@microsoft.com)
|
|
24
|
+
- BREAKING: upgrade storybook to v8 ([PR #35279](https://github.com/microsoft/fluentui/pull/35279) by dmytrokirpa@microsoft.com)
|
|
25
|
+
|
|
26
|
+
### Patches
|
|
27
|
+
|
|
28
|
+
- chore: migrate source to react 19 ([PR #35434](https://github.com/microsoft/fluentui/pull/35434) by martinhochel@microsoft.com)
|
|
29
|
+
- chore: bump storybook to mitigate CVE ([PR #35748](https://github.com/microsoft/fluentui/pull/35748) by martinhochel@microsoft.com)
|
|
30
|
+
- chore: Bump @griffel/react package. ([PR #35469](https://github.com/microsoft/fluentui/pull/35469) by estebanmu@microsoft.com)
|
|
31
|
+
|
|
7
32
|
## [0.5.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-storybook-addon_v0.5.1)
|
|
8
33
|
|
|
9
|
-
Tue, 04 Nov 2025 14:
|
|
34
|
+
Tue, 04 Nov 2025 14:47:00 GMT
|
|
10
35
|
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-storybook-addon_v0.5.0..@fluentui/react-storybook-addon_v0.5.1)
|
|
11
36
|
|
|
12
37
|
### Patches
|
package/README.md
CHANGED
|
@@ -38,6 +38,15 @@ export const ThemePicker: React.FC<{ context: FluentStoryContext }> = ({ context
|
|
|
38
38
|
};
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
+
### Shared Storybook Preview Styles
|
|
42
|
+
|
|
43
|
+
The package ships a `styles.css` file with shared Storybook preview styles (docs layout, table formatting, theme-aware backgrounds, etc.). Import it once in your Storybook `preview.js`/`preview.ts`:
|
|
44
|
+
|
|
45
|
+
```js
|
|
46
|
+
// .storybook/preview.js
|
|
47
|
+
import '@fluentui/react-storybook-addon/styles.css';
|
|
48
|
+
```
|
|
49
|
+
|
|
41
50
|
### Augmented Docs Blocks
|
|
42
51
|
|
|
43
52
|
This presets uses [custom docs container and page](https://storybook.js.org/docs/7/writing-docs/autodocs#customize-the-docs-container) for unified FluentUI experience including:
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import { Args } from '@storybook/react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Args } from '@storybook/react-webpack5';
|
|
2
|
+
import type { JSXElement } from '@fluentui/react-utilities';
|
|
3
|
+
import { Parameters as Parameters_2 } from '@storybook/react-webpack5';
|
|
4
|
+
import * as React_2 from 'react';
|
|
5
|
+
import { StoryContext } from '@storybook/react-webpack5';
|
|
4
6
|
|
|
5
7
|
export declare const DIR_ID: "storybook_fluentui-react-addon_dir";
|
|
6
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Canvas component to wrap stories in a styled container.
|
|
11
|
+
* Provides a similar experience to Storybook's v7 `Canvas` component.
|
|
12
|
+
*/
|
|
13
|
+
export declare const FluentCanvas: (props: React_2.ComponentProps<"div">) => JSXElement;
|
|
14
|
+
|
|
7
15
|
/**
|
|
8
16
|
* Configuration for docs components
|
|
9
17
|
*/
|
|
@@ -40,11 +48,24 @@ export declare interface FluentParameters extends Parameters_2 {
|
|
|
40
48
|
};
|
|
41
49
|
}
|
|
42
50
|
|
|
51
|
+
/**
|
|
52
|
+
* Story component to render stories in an iframe.
|
|
53
|
+
* Provides a similar experience to Storybook's v7 `Story` component.
|
|
54
|
+
*/
|
|
55
|
+
export declare const FluentStory: ({ id, height }: FluentStoryProps) => JSXElement;
|
|
56
|
+
|
|
43
57
|
export declare interface FluentStoryContext extends StoryContext {
|
|
44
58
|
globals: FluentGlobals;
|
|
45
59
|
parameters: FluentParameters;
|
|
46
60
|
}
|
|
47
61
|
|
|
62
|
+
declare type FluentStoryProps = {
|
|
63
|
+
/** The unique identifier for the story */
|
|
64
|
+
id: string;
|
|
65
|
+
/** The height of the iframe */
|
|
66
|
+
height?: string | number;
|
|
67
|
+
};
|
|
68
|
+
|
|
48
69
|
export declare function parameters(options?: FluentParameters): FluentParameters;
|
|
49
70
|
|
|
50
71
|
declare const STRICT_MODE_ID: "storybook_fluentui-react-addon_strict-mode";
|
package/dist/styles.css
ADDED
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
#storybook-docs .sbdocs-content {
|
|
2
|
+
font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
|
|
3
|
+
sans-serif;
|
|
4
|
+
max-width: 1200px;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
#storybook-docs h1.sbdocs-title {
|
|
8
|
+
font-family: inherit;
|
|
9
|
+
font-size: 44px;
|
|
10
|
+
line-height: 60px;
|
|
11
|
+
/* identical to box height, or 143% */
|
|
12
|
+
font-weight: 900;
|
|
13
|
+
letter-spacing: -0.04em;
|
|
14
|
+
color: #000000;
|
|
15
|
+
margin-top: 49px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
#storybook-docs details:not(.sbdocs-preview details) {
|
|
19
|
+
position: relative;
|
|
20
|
+
z-index: 99;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
#storybook-docs .sbdocs p:not(.sbdocs-preview p) {
|
|
24
|
+
font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
|
|
25
|
+
sans-serif;
|
|
26
|
+
font-size: 18px;
|
|
27
|
+
line-height: 27px;
|
|
28
|
+
letter-spacing: -0.01em;
|
|
29
|
+
color: #000000;
|
|
30
|
+
margin-top: 24px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
#storybook-docs .sbdocs-wrapper {
|
|
34
|
+
background: white;
|
|
35
|
+
min-height: auto;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
#storybook-docs .sbdocs-img.featured-image {
|
|
39
|
+
margin: 48px 0;
|
|
40
|
+
display: block;
|
|
41
|
+
border-radius: 24px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
#storybook-docs .sbdocs-img {
|
|
45
|
+
max-width: 100%;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#storybook-docs .sbdocs hr:not(.sbdocs-preview hr) {
|
|
49
|
+
margin: 48px 0;
|
|
50
|
+
height: 0;
|
|
51
|
+
border-top: 1px solid #ebebeb;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#storybook-docs .sbdocs h2:not(.sbdocs-preview h2) {
|
|
55
|
+
font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
|
|
56
|
+
sans-serif;
|
|
57
|
+
font-size: 24px;
|
|
58
|
+
line-height: 28px;
|
|
59
|
+
letter-spacing: -0.04em;
|
|
60
|
+
color: black;
|
|
61
|
+
border-top: 1px solid #ebebeb;
|
|
62
|
+
border-bottom: none;
|
|
63
|
+
margin: 48px 0 15px 0;
|
|
64
|
+
padding: 48px 0 0 0;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
#storybook-docs .sbdocs h2 code:not(.sbdocs-preview h2 code) {
|
|
68
|
+
border-radius: 4px;
|
|
69
|
+
font-size: 20px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
#storybook-docs .sbdocs-h3 {
|
|
73
|
+
font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
|
|
74
|
+
sans-serif;
|
|
75
|
+
font-size: 18px;
|
|
76
|
+
line-height: 24px;
|
|
77
|
+
margin: 25px 0 0 0 !important;
|
|
78
|
+
letter-spacing: -0.01em;
|
|
79
|
+
color: #000000;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
#storybook-docs .sbdocs-h3 code {
|
|
83
|
+
border-radius: 3px;
|
|
84
|
+
font-size: 16px;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/* Only apply to H3s inside of stories which have a parent with an ID */
|
|
88
|
+
#storybook-docs [id] > .sbdocs-h3:before {
|
|
89
|
+
content: '';
|
|
90
|
+
display: block;
|
|
91
|
+
height: 40px;
|
|
92
|
+
margin: -40px 0 0;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
#storybook-docs .sbdocs li:not(.sbdocs-preview li) {
|
|
96
|
+
font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
|
|
97
|
+
sans-serif;
|
|
98
|
+
font-size: 16px;
|
|
99
|
+
line-height: 150%;
|
|
100
|
+
letter-spacing: -0.01em;
|
|
101
|
+
|
|
102
|
+
/* Neutrals / Web / Gray 200 #1B1A19 */
|
|
103
|
+
color: #1b1a19;
|
|
104
|
+
margin-top: 8px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
#storybook-docs .sbdocs ul:not(.sbdocs-preview ul) {
|
|
108
|
+
margin: 12px 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
#storybook-docs .sbdocs-ul li:not(.sbdocs-preview .sbdocs-ul li) {
|
|
112
|
+
list-style: none;
|
|
113
|
+
position: relative;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
#storybook-docs .sbdocs-ul .sbdocs-li::before {
|
|
117
|
+
position: absolute;
|
|
118
|
+
content: '•';
|
|
119
|
+
color: #8d8d8d;
|
|
120
|
+
top: 0;
|
|
121
|
+
left: -15px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
#storybook-docs .sbdocs-ol .sbdocs-li::marker {
|
|
125
|
+
color: #8d8d8d;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
#storybook-docs .sbdocs-preview {
|
|
129
|
+
border-radius: 16px;
|
|
130
|
+
background: var(--colorBrandBackgroundInverted, #fff);
|
|
131
|
+
padding: 0;
|
|
132
|
+
box-shadow: none;
|
|
133
|
+
border: 1px solid var(--colorNeutralStroke1, #e1dfdd);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
#storybook-docs .sbdocs .docs-story div[scale] {
|
|
137
|
+
height: auto !important;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
#storybook-docs .innerZoomElementWrapper {
|
|
141
|
+
padding: 30px;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
#storybook-docs .sbdocs-preview > .os-host {
|
|
145
|
+
display: none;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
#storybook-docs span + .sbdocs .docblock-argstable tbody tr td button {
|
|
149
|
+
color: #0078d4;
|
|
150
|
+
color: red;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
#storybook-docs .docs-story + div {
|
|
154
|
+
background: #11100f;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
#storybook-docs .sbdocs-content > div:last-child {
|
|
158
|
+
margin-bottom: 96px;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
#storybook-docs .docs-story > div {
|
|
162
|
+
padding: 0;
|
|
163
|
+
background: none;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
#storybook-docs .docs-story > div:last-child {
|
|
167
|
+
right: 31px;
|
|
168
|
+
border-radius: 24px;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.docs-story + div > div:last-child {
|
|
172
|
+
background: #000000;
|
|
173
|
+
box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
|
|
174
|
+
border-radius: 5px 5px 0px 0px;
|
|
175
|
+
right: 31px;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.docs-story + div > div:last-child > button {
|
|
179
|
+
color: white;
|
|
180
|
+
font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
|
|
181
|
+
sans-serif;
|
|
182
|
+
font-size: 14px;
|
|
183
|
+
line-height: 150%;
|
|
184
|
+
text-align: center;
|
|
185
|
+
letter-spacing: -0.01em;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
#storybook-docs a.sbdocs-a {
|
|
189
|
+
color: #0078d4;
|
|
190
|
+
text-decoration: underline;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/* Styles for Github-flavored Markdown tables */
|
|
194
|
+
#storybook-docs table:not(.docblock-argstable, .sbdocs-preview table) {
|
|
195
|
+
margin: 16px 0px;
|
|
196
|
+
font-size: 14px;
|
|
197
|
+
line-height: 24px;
|
|
198
|
+
padding: 0;
|
|
199
|
+
border-collapse: collapse;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
#storybook-docs table:not(.docblock-argstable, .sbdocs-preview table) tr {
|
|
203
|
+
border-top: 1px solid rgba(0, 0, 0, 0.1);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
#storybook-docs table:not(.docblock-argstable, .sbdocs-preview table) th {
|
|
207
|
+
font-weight: bold;
|
|
208
|
+
color: rgb(51, 51, 51);
|
|
209
|
+
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
210
|
+
padding: 6px 13px;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
#storybook-docs table:not(.docblock-argstable, .sbdocs-preview table) td {
|
|
214
|
+
border: 1px solid rgba(0, 0, 0, 0.1);
|
|
215
|
+
padding: 6px 13px;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* */
|
|
219
|
+
/* Args Table */
|
|
220
|
+
/* */
|
|
221
|
+
|
|
222
|
+
#storybook-docs .docblock-argstable tbody {
|
|
223
|
+
box-shadow: none;
|
|
224
|
+
border-left: none;
|
|
225
|
+
border-right: none;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
#storybook-docs .docblock-argstable-head th {
|
|
229
|
+
letter-spacing: -0.01em;
|
|
230
|
+
color: black;
|
|
231
|
+
font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
|
|
232
|
+
sans-serif;
|
|
233
|
+
font-size: 16px;
|
|
234
|
+
line-height: 150%;
|
|
235
|
+
font-weight: 600;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
#storybook-docs thead.docblock-argstable-head {
|
|
239
|
+
border-bottom: 1px solid #edebe9;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
#storybook-docs .docblock-argstable-body > tr > td:nth-child(4) {
|
|
243
|
+
display: none;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
#storybook-docs .docblock-argstable-head > tr > th:nth-child(4) {
|
|
247
|
+
display: none;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
#storybook-docs .docblock-argstable tbody tr {
|
|
251
|
+
border: none;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
#storybook-docs table.docblock-argstable tbody.docblock-argstable-body td,
|
|
255
|
+
#storybook-docs .docblock-argstable th {
|
|
256
|
+
padding-top: 12px;
|
|
257
|
+
padding-bottom: 12px;
|
|
258
|
+
padding-left: 16px;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
#storybook-docs .docblock-argstable tbody tr td:nth-child(1) span {
|
|
262
|
+
font-weight: normal;
|
|
263
|
+
font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
|
|
264
|
+
sans-serif;
|
|
265
|
+
font-size: 16px;
|
|
266
|
+
line-height: 130%;
|
|
267
|
+
letter-spacing: -0.01em;
|
|
268
|
+
color: #616161;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
#storybook-docs .docblock-argstable tbody tr td {
|
|
272
|
+
vertical-align: top;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
#storybook-docs .docblock-argstable-body > tr > td > div > div > button {
|
|
276
|
+
color: #0078d4;
|
|
277
|
+
line-height: 21px;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
#storybook-docs code:not(.sbdocs-preview code),
|
|
281
|
+
#storybook-docs .docblock-argstable tbody tr td:nth-child(3) > div > span,
|
|
282
|
+
#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(2) span,
|
|
283
|
+
#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(1) > div > span,
|
|
284
|
+
#storybook-docs .css-16d4d7t {
|
|
285
|
+
font-family: 'Cascadia Code', Menlo, 'Courier New', Courier, monospace;
|
|
286
|
+
font-style: normal;
|
|
287
|
+
font-weight: normal;
|
|
288
|
+
font-size: 14px;
|
|
289
|
+
line-height: 130%;
|
|
290
|
+
letter-spacing: -0.2px;
|
|
291
|
+
box-decoration-break: clone;
|
|
292
|
+
-webkit-box-decoration-break: clone;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
#storybook-docs code.sbdocs-code,
|
|
296
|
+
#storybook-docs .sbdocs-p code,
|
|
297
|
+
#storybook-docs .sbdocs-li code,
|
|
298
|
+
#storybook-docs .docblock-argstable code,
|
|
299
|
+
#storybook-docs .docblock-argstable tbody tr td:nth-child(3) > div > span,
|
|
300
|
+
#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(2) span,
|
|
301
|
+
#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(1) > div > span,
|
|
302
|
+
#storybook-docs .css-16d4d7t {
|
|
303
|
+
font-size: 14px;
|
|
304
|
+
background: #f0f0f0;
|
|
305
|
+
border-radius: 4px;
|
|
306
|
+
padding: 1px 4px;
|
|
307
|
+
margin: 0 3px 0 3px;
|
|
308
|
+
color: black;
|
|
309
|
+
border: none;
|
|
310
|
+
line-height: 1.5;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
#storybook-docs .docblock-argstable code {
|
|
314
|
+
white-space: normal;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
#storybook-docs code:not(.sbdocs-preview code) {
|
|
318
|
+
padding: 0.1em 0.2em;
|
|
319
|
+
display: inline-block;
|
|
320
|
+
background-color: rgba(17, 16, 15, 0.1);
|
|
321
|
+
border-radius: 2px;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.os-content-glue {
|
|
325
|
+
width: auto !important;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
#storybook-docs .sbdocs-preview .prismjs {
|
|
329
|
+
overflow: hidden;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
#storybook-docs .os-content .prismjs * {
|
|
333
|
+
font-family: 'Cascadia Code', Menlo, 'Courier New', Courier, monospace;
|
|
334
|
+
font-size: 14px;
|
|
335
|
+
line-height: 1.4em;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
#storybook-docs .sbdocs-preview .prismjs code {
|
|
339
|
+
color: white;
|
|
340
|
+
background: #11100f;
|
|
341
|
+
margin: 0;
|
|
342
|
+
overflow-x: auto;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
#storybook-docs .docblock-argstable-body td > div > p,
|
|
346
|
+
#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) p,
|
|
347
|
+
#storybook-docs .docblock-argstable-body > tr > td:nth-child(2) > div:nth-child(1) > span {
|
|
348
|
+
font-family: 'Segoe UI', 'Segoe UI Web (West European)', -apple-system, BlinkMacSystemFont, Roboto, 'Helvetica Neue',
|
|
349
|
+
sans-serif;
|
|
350
|
+
font-size: 16px;
|
|
351
|
+
line-height: 130%;
|
|
352
|
+
color: black;
|
|
353
|
+
letter-spacing: -0.01em;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
#storybook-docs .docblock-argstable tr > :nth-child(1) {
|
|
357
|
+
width: 4%;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
#storybook-docs .docblock-argstable tr > :nth-child(2) {
|
|
361
|
+
width: 100%;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
#storybook-docs .os-padding {
|
|
365
|
+
z-index: 0;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
@font-face {
|
|
369
|
+
font-family: 'Segoe UI';
|
|
370
|
+
src: local('Segoe UI Light'),
|
|
371
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.woff2) format('woff2'),
|
|
372
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.woff) format('woff'),
|
|
373
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/light/latest.ttf) format('truetype');
|
|
374
|
+
font-weight: 100;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
@font-face {
|
|
378
|
+
font-family: 'Segoe UI';
|
|
379
|
+
src: local('Segoe UI Semilight'),
|
|
380
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semilight/latest.woff2) format('woff2'),
|
|
381
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semilight/latest.woff) format('woff'),
|
|
382
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semilight/latest.ttf) format('truetype');
|
|
383
|
+
font-weight: 200;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
@font-face {
|
|
387
|
+
font-family: 'Segoe UI';
|
|
388
|
+
src: local('Segoe UI'),
|
|
389
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff2) format('woff2'),
|
|
390
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.woff) format('woff'),
|
|
391
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/normal/latest.ttf) format('truetype');
|
|
392
|
+
font-weight: 400;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
@font-face {
|
|
396
|
+
font-family: 'Segoe UI';
|
|
397
|
+
src: local('Segoe UI Semibold'),
|
|
398
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semibold/latest.woff2) format('woff2'),
|
|
399
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semibold/latest.woff) format('woff'),
|
|
400
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/semibold/latest.ttf) format('truetype');
|
|
401
|
+
font-weight: 600;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
@font-face {
|
|
405
|
+
font-family: 'Segoe UI';
|
|
406
|
+
src: local('Segoe UI Bold'),
|
|
407
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff2) format('woff2'),
|
|
408
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.woff) format('woff'),
|
|
409
|
+
url(https://c.s-microsoft.com/static/fonts/segoe-ui/west-european/bold/latest.ttf) format('truetype');
|
|
410
|
+
font-weight: 700;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
body,
|
|
414
|
+
body h1,
|
|
415
|
+
body h2,
|
|
416
|
+
body p,
|
|
417
|
+
body ul,
|
|
418
|
+
body ul li {
|
|
419
|
+
font-family: 'Segoe UI' !important;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
h1.fluent {
|
|
423
|
+
font-weight: 700;
|
|
424
|
+
font-size: 40px;
|
|
425
|
+
font-family: 'Segoe UI';
|
|
426
|
+
line-height: 60px;
|
|
427
|
+
letter-spacing: -0.16px;
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
h1.fluent .fluent-version {
|
|
431
|
+
display: block;
|
|
432
|
+
font-size: 24px;
|
|
433
|
+
/* --font-size-base-600 */
|
|
434
|
+
line-height: 32px;
|
|
435
|
+
color: #707070;
|
|
436
|
+
/* --color-neutral-foreground-3 */
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
h2.fluent {
|
|
440
|
+
font-weight: 600;
|
|
441
|
+
font-size: 24px;
|
|
442
|
+
font-family: 'Segoe UI';
|
|
443
|
+
line-height: 36px;
|
|
444
|
+
letter-spacing: -0.16px;
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
/* remove the docs wrapper bg to let page bg show through */
|
|
448
|
+
/* remove unnecessary padding now that theme switcher is not taking up space */
|
|
449
|
+
#storybook-docs .sbdocs-wrapper {
|
|
450
|
+
background: transparent !important;
|
|
451
|
+
padding: 0 48px;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
/* sb-show-main is missing during page transitions causing a page shift */
|
|
455
|
+
/* todo: cleanup once we no longer inherit docs-root */
|
|
456
|
+
.sb-show-main.sb-main-fullscreen,
|
|
457
|
+
.sb-main-fullscreen {
|
|
458
|
+
margin: 0;
|
|
459
|
+
padding: 0;
|
|
460
|
+
display: block;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
/* remove loading overlay */
|
|
464
|
+
.sb-preparing-story,
|
|
465
|
+
.sb-preparing-docs,
|
|
466
|
+
.sb-nopreview,
|
|
467
|
+
.sb-errordisplay,
|
|
468
|
+
.sidebar-container .search-field + div {
|
|
469
|
+
display: none !important;
|
|
470
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { IconButton } from '
|
|
3
|
-
import { styled } from '
|
|
2
|
+
import { IconButton } from 'storybook/internal/components';
|
|
3
|
+
import { styled } from 'storybook/theming';
|
|
4
4
|
import { DIR_ID } from '../constants';
|
|
5
5
|
import { useGlobals } from '../hooks';
|
|
6
6
|
const Monospace = styled.span({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DirectionSwitch.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IconButton } from '
|
|
1
|
+
{"version":3,"sources":["../src/components/DirectionSwitch.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IconButton } from 'storybook/internal/components';\nimport { styled } from 'storybook/theming';\n\nimport { JSXElement } from '@fluentui/react-utilities';\nimport { DIR_ID } from '../constants';\nimport { useGlobals } from '../hooks';\n\nconst Monospace = styled.span({\n fontFamily: \"'Cascadia Code', Menlo, 'Courier New', Courier, monospace\",\n letterSpacing: '-0.05em',\n});\n\nexport const DirectionSwitch = (): JSXElement => {\n const [globals, updateGlobals] = useGlobals();\n\n const direction = globals[DIR_ID] ?? 'ltr';\n const isLTR = direction === 'ltr';\n\n const toggleDirection = React.useCallback(\n () =>\n updateGlobals({\n [DIR_ID]: isLTR ? 'rtl' : 'ltr',\n }),\n [isLTR, updateGlobals],\n );\n\n return (\n <IconButton key={DIR_ID} title=\"Change Direction\" onClick={toggleDirection}>\n <div>\n Direction: <Monospace>{direction.toUpperCase()}</Monospace>\n </div>\n </IconButton>\n );\n};\n"],"names":["React","IconButton","styled","DIR_ID","useGlobals","Monospace","span","fontFamily","letterSpacing","DirectionSwitch","globals","updateGlobals","direction","isLTR","toggleDirection","useCallback","key","title","onClick","div","toUpperCase"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,gCAAgC;AAC3D,SAASC,MAAM,QAAQ,oBAAoB;AAG3C,SAASC,MAAM,QAAQ,eAAe;AACtC,SAASC,UAAU,QAAQ,WAAW;AAEtC,MAAMC,YAAYH,OAAOI,IAAI,CAAC;IAC5BC,YAAY;IACZC,eAAe;AACjB;AAEA,OAAO,MAAMC,kBAAkB;IAC7B,MAAM,CAACC,SAASC,cAAc,GAAGP;QAEfM;IAAlB,MAAME,YAAYF,CAAAA,kBAAAA,OAAO,CAACP,OAAO,cAAfO,6BAAAA,kBAAmB;IACrC,MAAMG,QAAQD,cAAc;IAE5B,MAAME,kBAAkBd,MAAMe,WAAW,CACvC,IACEJ,cAAc;YACZ,CAACR,OAAO,EAAEU,QAAQ,QAAQ;QAC5B,IACF;QAACA;QAAOF;KAAc;IAGxB,qBACE,oBAACV;QAAWe,KAAKb;QAAQc,OAAM;QAAmBC,SAASJ;qBACzD,oBAACK,aAAI,6BACQ,oBAACd,iBAAWO,UAAUQ,WAAW;AAIpD,EAAE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { IconButton
|
|
2
|
+
import { IconButton } from 'storybook/internal/components';
|
|
3
|
+
import { LockIcon } from '@storybook/icons';
|
|
3
4
|
import { STRICT_MODE_ID } from '../constants';
|
|
4
5
|
import { useGlobals } from '../hooks';
|
|
5
6
|
export const ReactStrictMode = ()=>{
|
|
@@ -17,7 +18,5 @@ export const ReactStrictMode = ()=>{
|
|
|
17
18
|
active: isActive,
|
|
18
19
|
title: "Toggle React Strict mode",
|
|
19
20
|
onClick: toggleStrictMode
|
|
20
|
-
}, /*#__PURE__*/ React.createElement(
|
|
21
|
-
icon: "lock"
|
|
22
|
-
}));
|
|
21
|
+
}, /*#__PURE__*/ React.createElement(LockIcon, null));
|
|
23
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ReactStrictMode.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IconButton
|
|
1
|
+
{"version":3,"sources":["../src/components/ReactStrictMode.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IconButton } from 'storybook/internal/components';\nimport { LockIcon } from '@storybook/icons';\n\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport { STRICT_MODE_ID } from '../constants';\nimport { useGlobals } from '../hooks';\n\nexport const ReactStrictMode = (): JSXElement => {\n const [globals, updateGlobals] = useGlobals();\n\n const isActive = globals[STRICT_MODE_ID] ?? false;\n\n const toggleStrictMode = React.useCallback(\n () =>\n updateGlobals({\n [STRICT_MODE_ID]: !isActive,\n }),\n [isActive, updateGlobals],\n );\n\n return (\n <IconButton key={STRICT_MODE_ID} active={isActive} title=\"Toggle React Strict mode\" onClick={toggleStrictMode}>\n <LockIcon />\n </IconButton>\n );\n};\n"],"names":["React","IconButton","LockIcon","STRICT_MODE_ID","useGlobals","ReactStrictMode","globals","updateGlobals","isActive","toggleStrictMode","useCallback","key","active","title","onClick"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,QAAQ,gCAAgC;AAC3D,SAASC,QAAQ,QAAQ,mBAAmB;AAG5C,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,UAAU,QAAQ,WAAW;AAEtC,OAAO,MAAMC,kBAAkB;IAC7B,MAAM,CAACC,SAASC,cAAc,GAAGH;QAEhBE;IAAjB,MAAME,WAAWF,CAAAA,0BAAAA,OAAO,CAACH,eAAe,cAAvBG,qCAAAA,0BAA2B;IAE5C,MAAMG,mBAAmBT,MAAMU,WAAW,CACxC,IACEH,cAAc;YACZ,CAACJ,eAAe,EAAE,CAACK;QACrB,IACF;QAACA;QAAUD;KAAc;IAG3B,qBACE,oBAACN;QAAWU,KAAKR;QAAgBS,QAAQJ;QAAUK,OAAM;QAA2BC,SAASL;qBAC3F,oBAACP;AAGP,EAAE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { IconButton,
|
|
3
|
-
import {
|
|
2
|
+
import { IconButton, TooltipLinkList, WithTooltip } from 'storybook/internal/components';
|
|
3
|
+
import { ArrowDownIcon } from '@storybook/icons';
|
|
4
|
+
import { useParameter } from 'storybook/manager-api';
|
|
4
5
|
import { themes, defaultTheme } from '../theme';
|
|
5
6
|
import { THEME_ID } from '../constants';
|
|
6
7
|
import { useGlobals } from '../hooks';
|
|
@@ -45,15 +46,13 @@ export const ThemePicker = ()=>{
|
|
|
45
46
|
return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(WithTooltip, {
|
|
46
47
|
placement: "top",
|
|
47
48
|
trigger: "click",
|
|
48
|
-
|
|
49
|
+
closeOnOutsideClick: true,
|
|
49
50
|
tooltip: renderTooltip
|
|
50
51
|
}, /*#__PURE__*/ React.createElement(IconButton, {
|
|
51
52
|
key: THEME_ID,
|
|
52
53
|
title: "Change Fluent theme",
|
|
53
54
|
active: isActive
|
|
54
|
-
}, /*#__PURE__*/ React.createElement(
|
|
55
|
-
icon: "arrowdown"
|
|
56
|
-
}), /*#__PURE__*/ React.createElement("span", {
|
|
55
|
+
}, /*#__PURE__*/ React.createElement(ArrowDownIcon, null), /*#__PURE__*/ React.createElement("span", {
|
|
57
56
|
style: {
|
|
58
57
|
marginLeft: 5
|
|
59
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ThemePicker.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IconButton,
|
|
1
|
+
{"version":3,"sources":["../src/components/ThemePicker.tsx"],"sourcesContent":["import * as React from 'react';\nimport { IconButton, TooltipLinkList, WithTooltip } from 'storybook/internal/components';\nimport { ArrowDownIcon } from '@storybook/icons';\nimport { useParameter } from 'storybook/manager-api';\n\nimport type { JSXElement } from '@fluentui/react-utilities';\nimport { ThemeIds, themes, defaultTheme } from '../theme';\nimport { THEME_ID } from '../constants';\nimport { useGlobals, FluentParameters } from '../hooks';\n\nexport interface ThemeSelectorItem {\n id: string;\n title: string;\n onClick: () => void;\n value: string;\n active: boolean;\n}\n\nfunction createThemeItems(\n value: typeof themes,\n changeTheme: (id: ThemeIds) => void,\n getCurrentTheme: () => ThemeIds,\n): ThemeSelectorItem[] {\n return value.map(item => {\n return {\n id: item.id,\n title: item.id === defaultTheme.id ? `${item.label} (Default)` : item.label,\n onClick: () => {\n changeTheme(item.id);\n },\n value: item.id,\n active: getCurrentTheme() === item.id,\n };\n });\n}\n\nexport const ThemePicker = (): JSXElement => {\n const [globals, updateGlobals] = useGlobals();\n const fluentTheme: FluentParameters['fluentTheme'] = useParameter('fluentTheme');\n\n const selectedThemeId = fluentTheme ? fluentTheme : globals[THEME_ID] ?? defaultTheme.id;\n const selectedTheme = themes.find(entry => entry.id === selectedThemeId);\n\n const isActive = selectedThemeId !== defaultTheme.id;\n\n const setTheme = React.useCallback(\n (id: ThemeIds) => {\n updateGlobals({ [THEME_ID]: id });\n },\n [updateGlobals],\n );\n\n const renderTooltip = React.useCallback(\n (props: { onHide: () => void }) => {\n return (\n <TooltipLinkList\n links={createThemeItems(\n themes,\n id => {\n setTheme(id);\n props.onHide();\n },\n () => selectedThemeId,\n )}\n />\n );\n },\n [selectedThemeId, setTheme],\n );\n\n return (\n <>\n <WithTooltip placement=\"top\" trigger=\"click\" closeOnOutsideClick tooltip={renderTooltip}>\n <IconButton key={THEME_ID} title=\"Change Fluent theme\" active={isActive}>\n <ArrowDownIcon />\n <span style={{ marginLeft: 5 }}>Theme: {selectedTheme?.label}</span>\n </IconButton>\n </WithTooltip>\n </>\n );\n};\n"],"names":["React","IconButton","TooltipLinkList","WithTooltip","ArrowDownIcon","useParameter","themes","defaultTheme","THEME_ID","useGlobals","createThemeItems","value","changeTheme","getCurrentTheme","map","item","id","title","label","onClick","active","ThemePicker","globals","updateGlobals","fluentTheme","selectedThemeId","selectedTheme","find","entry","isActive","setTheme","useCallback","renderTooltip","props","links","onHide","placement","trigger","closeOnOutsideClick","tooltip","key","span","style","marginLeft"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,UAAU,EAAEC,eAAe,EAAEC,WAAW,QAAQ,gCAAgC;AACzF,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,YAAY,QAAQ,wBAAwB;AAGrD,SAAmBC,MAAM,EAAEC,YAAY,QAAQ,WAAW;AAC1D,SAASC,QAAQ,QAAQ,eAAe;AACxC,SAASC,UAAU,QAA0B,WAAW;AAUxD,SAASC,iBACPC,KAAoB,EACpBC,WAAmC,EACnCC,eAA+B;IAE/B,OAAOF,MAAMG,GAAG,CAACC,CAAAA;QACf,OAAO;YACLC,IAAID,KAAKC,EAAE;YACXC,OAAOF,KAAKC,EAAE,KAAKT,aAAaS,EAAE,GAAG,GAAGD,KAAKG,KAAK,CAAC,UAAU,CAAC,GAAGH,KAAKG,KAAK;YAC3EC,SAAS;gBACPP,YAAYG,KAAKC,EAAE;YACrB;YACAL,OAAOI,KAAKC,EAAE;YACdI,QAAQP,sBAAsBE,KAAKC,EAAE;QACvC;IACF;AACF;AAEA,OAAO,MAAMK,cAAc;IACzB,MAAM,CAACC,SAASC,cAAc,GAAGd;IACjC,MAAMe,cAA+CnB,aAAa;QAEdiB;IAApD,MAAMG,kBAAkBD,cAAcA,cAAcF,CAAAA,oBAAAA,OAAO,CAACd,SAAS,cAAjBc,+BAAAA,oBAAqBf,aAAaS,EAAE;IACxF,MAAMU,gBAAgBpB,OAAOqB,IAAI,CAACC,CAAAA,QAASA,MAAMZ,EAAE,KAAKS;IAExD,MAAMI,WAAWJ,oBAAoBlB,aAAaS,EAAE;IAEpD,MAAMc,WAAW9B,MAAM+B,WAAW,CAChC,CAACf;QACCO,cAAc;YAAE,CAACf,SAAS,EAAEQ;QAAG;IACjC,GACA;QAACO;KAAc;IAGjB,MAAMS,gBAAgBhC,MAAM+B,WAAW,CACrC,CAACE;QACC,qBACE,oBAAC/B;YACCgC,OAAOxB,iBACLJ,QACAU,CAAAA;gBACEc,SAASd;gBACTiB,MAAME,MAAM;YACd,GACA,IAAMV;;IAId,GACA;QAACA;QAAiBK;KAAS;IAG7B,qBACE,wDACE,oBAAC3B;QAAYiC,WAAU;QAAMC,SAAQ;QAAQC,qBAAAA;QAAoBC,SAASP;qBACxE,oBAAC/B;QAAWuC,KAAKhC;QAAUS,OAAM;QAAsBG,QAAQS;qBAC7D,oBAACzB,oCACD,oBAACqC;QAAKC,OAAO;YAAEC,YAAY;QAAE;OAAG,WAAQjB,0BAAAA,oCAAAA,cAAeR,KAAK;AAKtE,EAAE"}
|