storybook 10.1.0-alpha.10 → 10.1.0-alpha.12
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/_browser-chunks/Color-FTG7SQDA.js +1097 -0
- package/dist/_browser-chunks/WithTooltip-LMROHDUP.js +1651 -0
- package/dist/_browser-chunks/chunk-2FRVAXCZ.js +7 -0
- package/dist/_browser-chunks/chunk-3IAH5M2U.js +171 -0
- package/dist/_browser-chunks/chunk-3OXGAGBE.js +779 -0
- package/dist/_browser-chunks/{chunk-TMDZCWME.js → chunk-3PJE6VLG.js} +1 -3
- package/dist/_browser-chunks/{chunk-VAMFPZY3.js → chunk-45UGUKRX.js} +2 -7
- package/dist/_browser-chunks/chunk-6XWLIJQL.js +11 -0
- package/dist/_browser-chunks/{chunk-FDWKXLBI.js → chunk-74YHFU5B.js} +44 -109
- package/dist/_browser-chunks/{chunk-MM7DTO55.js → chunk-A242L54C.js} +10 -16
- package/dist/_browser-chunks/chunk-AIOS4NGK.js +252 -0
- package/dist/_browser-chunks/chunk-AS2HQEYC.js +14 -0
- package/dist/_browser-chunks/chunk-AXG2BOBL.js +836 -0
- package/dist/_browser-chunks/chunk-BE2DAXKJ.js +2966 -0
- package/dist/_browser-chunks/{chunk-MH6AXFXB.js → chunk-CHUV5WSW.js} +0 -5
- package/dist/_browser-chunks/chunk-EBHB6RPS.js +61 -0
- package/dist/_browser-chunks/chunk-EUVGDK4H.js +93 -0
- package/dist/_browser-chunks/chunk-EZSQOHRI.js +18 -0
- package/dist/_browser-chunks/{chunk-CADGRH3P.js → chunk-FNXWN6IK.js} +3 -8
- package/dist/_browser-chunks/chunk-GFLS4VP3.js +64 -0
- package/dist/_browser-chunks/{chunk-L2D73C6Z.js → chunk-H6XK3RSC.js} +13 -21
- package/dist/_browser-chunks/chunk-IPA5A322.js +71 -0
- package/dist/_browser-chunks/chunk-JP7NCOJX.js +37 -0
- package/dist/_browser-chunks/chunk-KJHJLCBK.js +11 -0
- package/dist/_browser-chunks/{chunk-QMY4G4R2.js → chunk-L4RMQ7D7.js} +17 -64
- package/dist/_browser-chunks/{chunk-AB7OOPUX.js → chunk-QKODTO7K.js} +0 -5
- package/dist/_browser-chunks/chunk-RP5RXKFU.js +2491 -0
- package/dist/_browser-chunks/chunk-SL75JR6Y.js +9 -0
- package/dist/_browser-chunks/chunk-UD6FQLAF.js +1481 -0
- package/dist/_browser-chunks/chunk-VYJQ7RU5.js +2853 -0
- package/dist/_browser-chunks/chunk-WJYERY3R.js +136 -0
- package/dist/_browser-chunks/chunk-WXP2XJ3O.js +950 -0
- package/dist/_browser-chunks/chunk-X3DUQ5RA.js +47 -0
- package/dist/_browser-chunks/chunk-XJNX76GA.js +85 -0
- package/dist/_browser-chunks/{chunk-F4Q6SGTB.js → chunk-YKE5S47A.js} +177 -399
- package/dist/_browser-chunks/{chunk-SN4J4IQ3.js → chunk-ZUWEVLDX.js} +1 -7
- package/dist/_browser-chunks/{formatter-OMEEQ6HG.js → formatter-QJ4M4OGQ.js} +4 -9
- package/dist/_browser-chunks/{syntaxhighlighter-RJZASWHL.js → syntaxhighlighter-WKBQ5RC7.js} +704 -1848
- package/dist/_node-chunks/{builder-manager-HA7CYFCK.js → builder-manager-YUOHSIUB.js} +475 -1013
- package/dist/_node-chunks/camelcase-JREIL7NV.js +18 -0
- package/dist/_node-chunks/{chunk-RMHAL25C.js → chunk-2D2IODUU.js} +88 -228
- package/dist/_node-chunks/chunk-2DMESZFJ.js +943 -0
- package/dist/_node-chunks/chunk-4FT2DHGE.js +3009 -0
- package/dist/_node-chunks/chunk-5HV3B5OP.js +45571 -0
- package/dist/_node-chunks/{chunk-OVXB5GGT.js → chunk-5KLIDWFN.js} +292 -688
- package/dist/_node-chunks/chunk-A4APXFQ2.js +759 -0
- package/dist/_node-chunks/chunk-B6JWY6PC.js +37 -0
- package/dist/_node-chunks/chunk-CZ5GHJCC.js +603 -0
- package/dist/_node-chunks/chunk-DUXPWBOK.js +61 -0
- package/dist/_node-chunks/chunk-DWXTZT3D.js +58 -0
- package/dist/_node-chunks/chunk-E5FJS66Z.js +20 -0
- package/dist/_node-chunks/chunk-EZWWR7AR.js +936 -0
- package/dist/_node-chunks/chunk-FDXFVHIL.js +1114 -0
- package/dist/_node-chunks/{chunk-F3XOPI6H.js → chunk-FZLRAH4N.js} +469 -983
- package/dist/_node-chunks/chunk-HZG65SU3.js +34 -0
- package/dist/_node-chunks/chunk-IXVYNBMD.js +18 -0
- package/dist/_node-chunks/chunk-JARUEMEP.js +4523 -0
- package/dist/_node-chunks/chunk-LIH7MTP7.js +3214 -0
- package/dist/_node-chunks/chunk-N5GIRUP5.js +1047 -0
- package/dist/_node-chunks/{chunk-X4XU27M6.js → chunk-NAOYEL54.js} +15 -24
- package/dist/_node-chunks/chunk-O5DA7YLO.js +3171 -0
- package/dist/_node-chunks/chunk-OP3INKUD.js +54 -0
- package/dist/_node-chunks/chunk-QCO2ZM7F.js +209 -0
- package/dist/_node-chunks/chunk-QYQIZBS6.js +26 -0
- package/dist/_node-chunks/chunk-SEMIAAWG.js +1564 -0
- package/dist/_node-chunks/chunk-TS2UUH2J.js +301 -0
- package/dist/_node-chunks/chunk-WA6KZQZ2.js +119 -0
- package/dist/_node-chunks/{chunk-ZHSCUGNP.js → chunk-WFLWJO24.js} +3799 -7849
- package/dist/_node-chunks/chunk-WUXQMQCB.js +72 -0
- package/dist/_node-chunks/{chunk-VPR5IBMG.js → chunk-XXPJ7XR3.js} +8 -10
- package/dist/_node-chunks/chunk-Y4E6IGQF.js +61 -0
- package/dist/_node-chunks/chunk-ZL3AFKRX.js +1029 -0
- package/dist/_node-chunks/chunk-ZXSD6L3S.js +756 -0
- package/dist/_node-chunks/dist-DS2B5A3J.js +121 -0
- package/dist/_node-chunks/globby-6THB7HVX.js +3452 -0
- package/dist/_node-chunks/lib-5NKX4YGG.js +366 -0
- package/dist/_node-chunks/mdx-N42X6CFJ-ZLT3QOFF.js +14329 -0
- package/dist/_node-chunks/p-limit-PDMWNG7W.js +116 -0
- package/dist/_node-chunks/plugin-6XMWOGPO.js +123 -0
- package/dist/_node-chunks/{plugin-6ZPCS4LI.js → plugin-LTOXVT6A.js} +36 -56
- package/dist/_node-chunks/webpack-inject-mocker-runtime-plugin-2SFE5LQS.js +46582 -0
- package/dist/_node-chunks/webpack-mock-plugin-CX5J2U56.js +92 -0
- package/dist/actions/decorator.js +21 -42
- package/dist/actions/index.js +3 -3
- package/dist/babel/index.d.ts +671 -335
- package/dist/babel/index.js +11 -11
- package/dist/bin/core.js +592 -1546
- package/dist/bin/dispatcher.js +26 -37
- package/dist/bin/loader.js +23 -34
- package/dist/channels/index.js +98 -234
- package/dist/cli/index.js +1951 -5308
- package/dist/client-logger/index.js +31 -61
- package/dist/common/index.js +20 -20
- package/dist/components/index.js +4211 -8586
- package/dist/core-events/index.js +2 -66
- package/dist/core-server/index.js +3054 -7290
- package/dist/core-server/presets/common-manager.css +2 -2
- package/dist/core-server/presets/common-manager.js +1806 -3427
- package/dist/core-server/presets/common-override-preset.js +31 -60
- package/dist/core-server/presets/common-preset.js +434 -924
- package/dist/core-server/presets/webpack/loaders/storybook-mock-transform-loader.js +15 -19
- package/dist/core-server/presets/webpack/loaders/webpack-automock-loader.js +12 -17
- package/dist/csf/index.js +534 -1179
- package/dist/csf-tools/index.js +9 -9
- package/dist/docs-tools/index.js +6 -6
- package/dist/highlight/index.js +2 -2
- package/dist/instrumenter/index.js +199 -415
- package/dist/manager/globals-runtime.js +24150 -47364
- package/dist/manager/globals.js +2 -3
- package/dist/manager/runtime.js +3961 -8373
- package/dist/manager-api/index.js +1231 -2425
- package/dist/manager-errors.d.ts +3 -0
- package/dist/manager-errors.js +3 -3
- package/dist/node-logger/index.js +1253 -2601
- package/dist/preview/globals.js +2 -3
- package/dist/preview/runtime.js +10364 -21990
- package/dist/preview-api/index.d.ts +67 -68
- package/dist/preview-api/index.js +13 -13
- package/dist/preview-errors.d.ts +3 -0
- package/dist/preview-errors.js +4 -4
- package/dist/router/index.js +347 -899
- package/dist/server-errors.d.ts +3 -0
- package/dist/server-errors.js +10 -10
- package/dist/telemetry/index.js +24 -24
- package/dist/test/index.js +5860 -11645
- package/dist/theming/create.js +4 -4
- package/dist/theming/index.d.ts +3363 -2597
- package/dist/theming/index.js +490 -1086
- package/dist/types/index.js +2 -11
- package/dist/viewport/index.js +3 -3
- package/package.json +5 -5
- package/dist/_browser-chunks/Color-FQNEU7YS.js +0 -1695
- package/dist/_browser-chunks/WithTooltip-6NHN2GXF.js +0 -2343
- package/dist/_browser-chunks/chunk-6A7OIVEL.js +0 -66
- package/dist/_browser-chunks/chunk-AW46NMGV.js +0 -1308
- package/dist/_browser-chunks/chunk-B4A3ADP3.js +0 -3816
- package/dist/_browser-chunks/chunk-FSBVR7H5.js +0 -106
- package/dist/_browser-chunks/chunk-FUOHXXZT.js +0 -23
- package/dist/_browser-chunks/chunk-GTKOCWCT.js +0 -17
- package/dist/_browser-chunks/chunk-HHW4FUMO.js +0 -12
- package/dist/_browser-chunks/chunk-JVSKG4YS.js +0 -4052
- package/dist/_browser-chunks/chunk-LASUB7TL.js +0 -76
- package/dist/_browser-chunks/chunk-LYCSRYYR.js +0 -101
- package/dist/_browser-chunks/chunk-NVV6MIOE.js +0 -243
- package/dist/_browser-chunks/chunk-OBXWFEPB.js +0 -852
- package/dist/_browser-chunks/chunk-OPCDBBL3.js +0 -48
- package/dist/_browser-chunks/chunk-PB6FZ3WE.js +0 -130
- package/dist/_browser-chunks/chunk-RW5PKMWM.js +0 -4182
- package/dist/_browser-chunks/chunk-SYS437NN.js +0 -122
- package/dist/_browser-chunks/chunk-U46RQHA4.js +0 -12
- package/dist/_browser-chunks/chunk-UTNZYD2N.js +0 -311
- package/dist/_browser-chunks/chunk-VUAFL5XK.js +0 -20
- package/dist/_browser-chunks/chunk-XDGMHOV7.js +0 -2197
- package/dist/_browser-chunks/chunk-XW6KSYKF.js +0 -16
- package/dist/_browser-chunks/chunk-Y3M7TW6K.js +0 -1041
- package/dist/_browser-chunks/chunk-ZNRFDIVA.js +0 -233
- package/dist/_node-chunks/camelcase-QALD4XFE.js +0 -18
- package/dist/_node-chunks/chunk-2XY53ALL.js +0 -420
- package/dist/_node-chunks/chunk-3CBQMG2A.js +0 -6712
- package/dist/_node-chunks/chunk-3WDAPZYQ.js +0 -28
- package/dist/_node-chunks/chunk-4ZB555EJ.js +0 -697
- package/dist/_node-chunks/chunk-52DXKXY3.js +0 -4272
- package/dist/_node-chunks/chunk-5OVB4A6F.js +0 -69
- package/dist/_node-chunks/chunk-AGHGNXGH.js +0 -18
- package/dist/_node-chunks/chunk-B23X5ZCK.js +0 -1531
- package/dist/_node-chunks/chunk-B2DAHWJK.js +0 -220
- package/dist/_node-chunks/chunk-CC4PW5MJ.js +0 -34
- package/dist/_node-chunks/chunk-D7NIZELR.js +0 -2256
- package/dist/_node-chunks/chunk-DO5Q3H4L.js +0 -1250
- package/dist/_node-chunks/chunk-ECK7WVFX.js +0 -304
- package/dist/_node-chunks/chunk-EUH3NHXA.js +0 -79
- package/dist/_node-chunks/chunk-FOQHPHCV.js +0 -1657
- package/dist/_node-chunks/chunk-G6EL47NS.js +0 -111
- package/dist/_node-chunks/chunk-GFLS4TJB.js +0 -90
- package/dist/_node-chunks/chunk-J3XZKWHE.js +0 -1586
- package/dist/_node-chunks/chunk-LE63EHJ5.js +0 -1518
- package/dist/_node-chunks/chunk-M47XA42S.js +0 -4741
- package/dist/_node-chunks/chunk-OOI74AL3.js +0 -61
- package/dist/_node-chunks/chunk-PRJHT3GJ.js +0 -61
- package/dist/_node-chunks/chunk-Q52PVUSU.js +0 -101
- package/dist/_node-chunks/chunk-SDCF5RNN.js +0 -1198
- package/dist/_node-chunks/chunk-UJ5SJ23M.js +0 -5029
- package/dist/_node-chunks/chunk-UPHK4ETU.js +0 -64658
- package/dist/_node-chunks/chunk-V7VURIPB.js +0 -1544
- package/dist/_node-chunks/dist-6TXHNR5C.js +0 -175
- package/dist/_node-chunks/globby-PBTV6PX6.js +0 -5222
- package/dist/_node-chunks/lib-4RTDZVGX.js +0 -518
- package/dist/_node-chunks/mdx-N42X6CFJ-COWEH7KR.js +0 -22017
- package/dist/_node-chunks/p-limit-PBVZQOFY.js +0 -168
- package/dist/_node-chunks/plugin-EOZKYZAG.js +0 -159
- package/dist/_node-chunks/webpack-inject-mocker-runtime-plugin-35HMSMR5.js +0 -69102
- package/dist/_node-chunks/webpack-mock-plugin-GT3MA5E2.js +0 -124
package/dist/channels/index.js
CHANGED
|
@@ -3,41 +3,26 @@ import {
|
|
|
3
3
|
isJSON,
|
|
4
4
|
parse,
|
|
5
5
|
stringify
|
|
6
|
-
} from "../_browser-chunks/chunk-
|
|
6
|
+
} from "../_browser-chunks/chunk-UD6FQLAF.js";
|
|
7
7
|
import {
|
|
8
8
|
invariant
|
|
9
|
-
} from "../_browser-chunks/chunk-
|
|
10
|
-
import "../_browser-chunks/chunk-
|
|
11
|
-
import
|
|
12
|
-
__name
|
|
13
|
-
} from "../_browser-chunks/chunk-MM7DTO55.js";
|
|
9
|
+
} from "../_browser-chunks/chunk-AS2HQEYC.js";
|
|
10
|
+
import "../_browser-chunks/chunk-JP7NCOJX.js";
|
|
11
|
+
import "../_browser-chunks/chunk-A242L54C.js";
|
|
14
12
|
|
|
15
13
|
// src/channels/index.ts
|
|
16
14
|
import { global as global3 } from "@storybook/global";
|
|
17
15
|
|
|
18
16
|
// src/channels/main.ts
|
|
19
|
-
var isMulti =
|
|
20
|
-
return args.transports !== void 0;
|
|
21
|
-
}, "isMulti");
|
|
22
|
-
var generateRandomId = /* @__PURE__ */ __name(() => {
|
|
23
|
-
return Math.random().toString(16).slice(2);
|
|
24
|
-
}, "generateRandomId");
|
|
25
|
-
var _Channel = class _Channel {
|
|
17
|
+
var isMulti = (args) => args.transports !== void 0, generateRandomId = () => Math.random().toString(16).slice(2), Channel = class {
|
|
26
18
|
constructor(input = {}) {
|
|
27
19
|
this.sender = generateRandomId();
|
|
28
20
|
this.events = {};
|
|
29
21
|
this.data = {};
|
|
30
22
|
this.transports = [];
|
|
31
|
-
this.isAsync = input.async ||
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
this.transports.forEach((t) => {
|
|
35
|
-
t.setHandler((event) => this.handleEvent(event));
|
|
36
|
-
});
|
|
37
|
-
} else {
|
|
38
|
-
this.transports = input.transport ? [input.transport] : [];
|
|
39
|
-
}
|
|
40
|
-
this.transports.forEach((t) => {
|
|
23
|
+
this.isAsync = input.async || !1, isMulti(input) ? (this.transports = input.transports || [], this.transports.forEach((t) => {
|
|
24
|
+
t.setHandler((event) => this.handleEvent(event));
|
|
25
|
+
})) : this.transports = input.transport ? [input.transport] : [], this.transports.forEach((t) => {
|
|
41
26
|
t.setHandler((event) => this.handleEvent(event));
|
|
42
27
|
});
|
|
43
28
|
}
|
|
@@ -45,26 +30,17 @@ var _Channel = class _Channel {
|
|
|
45
30
|
return this.transports.length > 0;
|
|
46
31
|
}
|
|
47
32
|
addListener(eventName, listener) {
|
|
48
|
-
this.events[eventName] = this.events[eventName] || [];
|
|
49
|
-
this.events[eventName].push(listener);
|
|
33
|
+
this.events[eventName] = this.events[eventName] || [], this.events[eventName].push(listener);
|
|
50
34
|
}
|
|
51
35
|
emit(eventName, ...args) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
options = args[0].options;
|
|
56
|
-
}
|
|
57
|
-
const handler = /* @__PURE__ */ __name(() => {
|
|
36
|
+
let event = { type: eventName, args, from: this.sender }, options = {};
|
|
37
|
+
args.length >= 1 && args[0] && args[0].options && (options = args[0].options);
|
|
38
|
+
let handler = () => {
|
|
58
39
|
this.transports.forEach((t) => {
|
|
59
40
|
t.send(event, options);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
if (this.isAsync) {
|
|
64
|
-
setImmediate(handler);
|
|
65
|
-
} else {
|
|
66
|
-
handler();
|
|
67
|
-
}
|
|
41
|
+
}), this.handleEvent(event);
|
|
42
|
+
};
|
|
43
|
+
this.isAsync ? setImmediate(handler) : handler();
|
|
68
44
|
}
|
|
69
45
|
last(eventName) {
|
|
70
46
|
return this.data[eventName];
|
|
@@ -73,29 +49,22 @@ var _Channel = class _Channel {
|
|
|
73
49
|
return Object.keys(this.events);
|
|
74
50
|
}
|
|
75
51
|
listenerCount(eventName) {
|
|
76
|
-
|
|
52
|
+
let listeners = this.listeners(eventName);
|
|
77
53
|
return listeners ? listeners.length : 0;
|
|
78
54
|
}
|
|
79
55
|
listeners(eventName) {
|
|
80
|
-
|
|
81
|
-
return listeners || void 0;
|
|
56
|
+
return this.events[eventName] || void 0;
|
|
82
57
|
}
|
|
83
58
|
once(eventName, listener) {
|
|
84
|
-
|
|
59
|
+
let onceListener = this.onceListener(eventName, listener);
|
|
85
60
|
this.addListener(eventName, onceListener);
|
|
86
61
|
}
|
|
87
62
|
removeAllListeners(eventName) {
|
|
88
|
-
|
|
89
|
-
this.events = {};
|
|
90
|
-
} else if (this.events[eventName]) {
|
|
91
|
-
delete this.events[eventName];
|
|
92
|
-
}
|
|
63
|
+
eventName ? this.events[eventName] && delete this.events[eventName] : this.events = {};
|
|
93
64
|
}
|
|
94
65
|
removeListener(eventName, listener) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
this.events[eventName] = listeners.filter((l) => l !== listener);
|
|
98
|
-
}
|
|
66
|
+
let listeners = this.listeners(eventName);
|
|
67
|
+
listeners && (this.events[eventName] = listeners.filter((l) => l !== listener));
|
|
99
68
|
}
|
|
100
69
|
on(eventName, listener) {
|
|
101
70
|
this.addListener(eventName, listener);
|
|
@@ -104,24 +73,16 @@ var _Channel = class _Channel {
|
|
|
104
73
|
this.removeListener(eventName, listener);
|
|
105
74
|
}
|
|
106
75
|
handleEvent(event) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
this.data[event.type] = event.args;
|
|
76
|
+
let listeners = this.listeners(event.type);
|
|
77
|
+
listeners && listeners.length && listeners.forEach((fn) => {
|
|
78
|
+
fn.apply(event, event.args);
|
|
79
|
+
}), this.data[event.type] = event.args;
|
|
114
80
|
}
|
|
115
81
|
onceListener(eventName, listener) {
|
|
116
|
-
|
|
117
|
-
this.removeListener(eventName, onceListener);
|
|
118
|
-
return listener(...args);
|
|
119
|
-
}, "onceListener");
|
|
82
|
+
let onceListener = (...args) => (this.removeListener(eventName, onceListener), listener(...args));
|
|
120
83
|
return onceListener;
|
|
121
84
|
}
|
|
122
85
|
};
|
|
123
|
-
__name(_Channel, "Channel");
|
|
124
|
-
var Channel = _Channel;
|
|
125
86
|
|
|
126
87
|
// src/channels/postmessage/index.ts
|
|
127
88
|
import { logger as logger2, pretty } from "storybook/internal/client-logger";
|
|
@@ -130,65 +91,46 @@ import { global } from "@storybook/global";
|
|
|
130
91
|
|
|
131
92
|
// src/channels/postmessage/getEventSourceUrl.ts
|
|
132
93
|
import { logger } from "storybook/internal/client-logger";
|
|
133
|
-
var getEventSourceUrl =
|
|
134
|
-
|
|
94
|
+
var getEventSourceUrl = (event) => {
|
|
95
|
+
let frames = Array.from(
|
|
135
96
|
document.querySelectorAll("iframe[data-is-storybook]")
|
|
136
|
-
)
|
|
137
|
-
const [frame, ...remainder] = frames.filter((element) => {
|
|
97
|
+
), [frame, ...remainder] = frames.filter((element) => {
|
|
138
98
|
try {
|
|
139
99
|
return element.contentWindow?.location.origin === event.source.location.origin && element.contentWindow?.location.pathname === event.source.location.pathname;
|
|
140
|
-
} catch
|
|
100
|
+
} catch {
|
|
141
101
|
}
|
|
142
102
|
try {
|
|
143
103
|
return element.contentWindow === event.source;
|
|
144
|
-
} catch
|
|
104
|
+
} catch {
|
|
145
105
|
}
|
|
146
|
-
|
|
147
|
-
let origin;
|
|
106
|
+
let src2 = element.getAttribute("src"), origin;
|
|
148
107
|
try {
|
|
149
|
-
if (!src2)
|
|
150
|
-
return
|
|
151
|
-
}
|
|
108
|
+
if (!src2)
|
|
109
|
+
return !1;
|
|
152
110
|
({ origin } = new URL(src2, document.location.toString()));
|
|
153
|
-
} catch
|
|
154
|
-
return
|
|
111
|
+
} catch {
|
|
112
|
+
return !1;
|
|
155
113
|
}
|
|
156
114
|
return origin === event.origin;
|
|
157
|
-
});
|
|
158
|
-
const src = frame?.getAttribute("src");
|
|
115
|
+
}), src = frame?.getAttribute("src");
|
|
159
116
|
if (src && remainder.length === 0) {
|
|
160
|
-
|
|
117
|
+
let { protocol, host, pathname } = new URL(src, document.location.toString());
|
|
161
118
|
return `${protocol}//${host}${pathname}`;
|
|
162
119
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
return null;
|
|
167
|
-
}, "getEventSourceUrl");
|
|
120
|
+
return remainder.length > 0 && logger.error("found multiple candidates for event source"), null;
|
|
121
|
+
};
|
|
168
122
|
|
|
169
123
|
// src/channels/postmessage/index.ts
|
|
170
|
-
var { document: document2, location } = global
|
|
171
|
-
var KEY = "storybook-channel";
|
|
172
|
-
var defaultEventOptions = { maxDepth: 25 };
|
|
173
|
-
var _PostMessageTransport = class _PostMessageTransport {
|
|
124
|
+
var { document: document2, location } = global, KEY = "storybook-channel", defaultEventOptions = { maxDepth: 25 }, PostMessageTransport = class {
|
|
174
125
|
constructor(config) {
|
|
175
126
|
this.config = config;
|
|
176
|
-
this.connected =
|
|
177
|
-
this.buffer = []
|
|
178
|
-
if (typeof global?.addEventListener === "function") {
|
|
179
|
-
global.addEventListener("message", this.handleEvent.bind(this), false);
|
|
180
|
-
}
|
|
181
|
-
if (config.page !== "manager" && config.page !== "preview") {
|
|
127
|
+
this.connected = !1;
|
|
128
|
+
if (this.buffer = [], typeof global?.addEventListener == "function" && global.addEventListener("message", this.handleEvent.bind(this), !1), config.page !== "manager" && config.page !== "preview")
|
|
182
129
|
throw new Error(`postmsg-channel: "config.page" cannot be "${config.page}"`);
|
|
183
|
-
}
|
|
184
130
|
}
|
|
185
131
|
setHandler(handler) {
|
|
186
132
|
this.handler = (...args) => {
|
|
187
|
-
handler.apply(this, args);
|
|
188
|
-
if (!this.connected && this.getLocalFrame().length) {
|
|
189
|
-
this.flush();
|
|
190
|
-
this.connected = true;
|
|
191
|
-
}
|
|
133
|
+
handler.apply(this, args), !this.connected && this.getLocalFrame().length && (this.flush(), this.connected = !0);
|
|
192
134
|
};
|
|
193
135
|
}
|
|
194
136
|
/**
|
|
@@ -198,7 +140,7 @@ var _PostMessageTransport = class _PostMessageTransport {
|
|
|
198
140
|
* @param event
|
|
199
141
|
*/
|
|
200
142
|
send(event, options) {
|
|
201
|
-
|
|
143
|
+
let {
|
|
202
144
|
target,
|
|
203
145
|
// telejson options
|
|
204
146
|
allowRegExp,
|
|
@@ -208,8 +150,7 @@ var _PostMessageTransport = class _PostMessageTransport {
|
|
|
208
150
|
allowUndefined,
|
|
209
151
|
maxDepth,
|
|
210
152
|
space
|
|
211
|
-
} = options || {}
|
|
212
|
-
const eventOptions = Object.fromEntries(
|
|
153
|
+
} = options || {}, eventOptions = Object.fromEntries(
|
|
213
154
|
Object.entries({
|
|
214
155
|
allowRegExp,
|
|
215
156
|
allowSymbol,
|
|
@@ -218,16 +159,12 @@ var _PostMessageTransport = class _PostMessageTransport {
|
|
|
218
159
|
allowUndefined,
|
|
219
160
|
maxDepth,
|
|
220
161
|
space
|
|
221
|
-
}).filter(([k, v]) => typeof v
|
|
222
|
-
)
|
|
223
|
-
const stringifyOptions = {
|
|
162
|
+
}).filter(([k, v]) => typeof v < "u")
|
|
163
|
+
), stringifyOptions = {
|
|
224
164
|
...defaultEventOptions,
|
|
225
165
|
...global.CHANNEL_OPTIONS || {},
|
|
226
166
|
...eventOptions
|
|
227
|
-
}
|
|
228
|
-
const frames = this.getFrames(target);
|
|
229
|
-
const query = new URLSearchParams(location?.search || "");
|
|
230
|
-
const data = stringify(
|
|
167
|
+
}, frames = this.getFrames(target), query = new URLSearchParams(location?.search || ""), data = stringify(
|
|
231
168
|
{
|
|
232
169
|
key: KEY,
|
|
233
170
|
event,
|
|
@@ -235,155 +172,96 @@ var _PostMessageTransport = class _PostMessageTransport {
|
|
|
235
172
|
},
|
|
236
173
|
stringifyOptions
|
|
237
174
|
);
|
|
238
|
-
|
|
239
|
-
return new Promise((resolve, reject) => {
|
|
240
|
-
this.buffer.push({ event, resolve, reject });
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
if (this.buffer.length) {
|
|
244
|
-
this.flush();
|
|
245
|
-
}
|
|
246
|
-
frames.forEach((f) => {
|
|
175
|
+
return frames.length ? (this.buffer.length && this.flush(), frames.forEach((f) => {
|
|
247
176
|
try {
|
|
248
177
|
f.postMessage(data, "*");
|
|
249
|
-
} catch
|
|
178
|
+
} catch {
|
|
250
179
|
logger2.error("sending over postmessage fail");
|
|
251
180
|
}
|
|
181
|
+
}), Promise.resolve(null)) : new Promise((resolve, reject) => {
|
|
182
|
+
this.buffer.push({ event, resolve, reject });
|
|
252
183
|
});
|
|
253
|
-
return Promise.resolve(null);
|
|
254
184
|
}
|
|
255
185
|
flush() {
|
|
256
|
-
|
|
257
|
-
this.buffer = []
|
|
258
|
-
buffer.forEach((item) => {
|
|
186
|
+
let { buffer } = this;
|
|
187
|
+
this.buffer = [], buffer.forEach((item) => {
|
|
259
188
|
this.send(item.event).then(item.resolve).catch(item.reject);
|
|
260
189
|
});
|
|
261
190
|
}
|
|
262
191
|
getFrames(target) {
|
|
263
192
|
if (this.config.page === "manager") {
|
|
264
|
-
|
|
193
|
+
let list = Array.from(
|
|
265
194
|
document2.querySelectorAll("iframe[data-is-storybook][data-is-loaded]")
|
|
266
|
-
)
|
|
267
|
-
const list = nodes.flatMap((e) => {
|
|
195
|
+
).flatMap((e) => {
|
|
268
196
|
try {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
}
|
|
272
|
-
return [];
|
|
273
|
-
} catch (er) {
|
|
197
|
+
return e.contentWindow && e.dataset.isStorybook !== void 0 && e.id === target ? [e.contentWindow] : [];
|
|
198
|
+
} catch {
|
|
274
199
|
return [];
|
|
275
200
|
}
|
|
276
201
|
});
|
|
277
202
|
return list?.length ? list : this.getCurrentFrames();
|
|
278
203
|
}
|
|
279
|
-
|
|
280
|
-
return [global.parent];
|
|
281
|
-
}
|
|
282
|
-
return [];
|
|
204
|
+
return global && global.parent && global.parent !== global.self ? [global.parent] : [];
|
|
283
205
|
}
|
|
284
206
|
getCurrentFrames() {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
);
|
|
289
|
-
return list.flatMap((e) => e.contentWindow ? [e.contentWindow] : []);
|
|
290
|
-
}
|
|
291
|
-
if (global && global.parent) {
|
|
292
|
-
return [global.parent];
|
|
293
|
-
}
|
|
294
|
-
return [];
|
|
207
|
+
return this.config.page === "manager" ? Array.from(
|
|
208
|
+
document2.querySelectorAll('[data-is-storybook="true"]')
|
|
209
|
+
).flatMap((e) => e.contentWindow ? [e.contentWindow] : []) : global && global.parent ? [global.parent] : [];
|
|
295
210
|
}
|
|
296
211
|
getLocalFrame() {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
);
|
|
301
|
-
return list.flatMap((e) => e.contentWindow ? [e.contentWindow] : []);
|
|
302
|
-
}
|
|
303
|
-
if (global && global.parent) {
|
|
304
|
-
return [global.parent];
|
|
305
|
-
}
|
|
306
|
-
return [];
|
|
212
|
+
return this.config.page === "manager" ? Array.from(
|
|
213
|
+
document2.querySelectorAll("#storybook-preview-iframe")
|
|
214
|
+
).flatMap((e) => e.contentWindow ? [e.contentWindow] : []) : global && global.parent ? [global.parent] : [];
|
|
307
215
|
}
|
|
308
216
|
handleEvent(rawEvent) {
|
|
309
217
|
try {
|
|
310
|
-
|
|
311
|
-
const { key, event, refId } = typeof data === "string" && isJSON(data) ? parse(data, global.CHANNEL_OPTIONS || {}) : data;
|
|
218
|
+
let { data } = rawEvent, { key, event, refId } = typeof data == "string" && isJSON(data) ? parse(data, global.CHANNEL_OPTIONS || {}) : data;
|
|
312
219
|
if (key === KEY) {
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
if (refId) {
|
|
316
|
-
event.refId = refId;
|
|
317
|
-
}
|
|
318
|
-
event.source = this.config.page === "preview" ? rawEvent.origin : getEventSourceUrl(rawEvent);
|
|
319
|
-
if (!event.source) {
|
|
220
|
+
let pageString = this.config.page === "manager" ? '<span style="color: #37D5D3; background: black"> manager </span>' : '<span style="color: #1EA7FD; background: black"> preview </span>', eventString = Object.values(EVENTS).includes(event.type) ? `<span style="color: #FF4785">${event.type}</span>` : `<span style="color: #FFAE00">${event.type}</span>`;
|
|
221
|
+
if (refId && (event.refId = refId), event.source = this.config.page === "preview" ? rawEvent.origin : getEventSourceUrl(rawEvent), !event.source) {
|
|
320
222
|
pretty.error(
|
|
321
223
|
`${pageString} received ${eventString} but was unable to determine the source of the event`
|
|
322
224
|
);
|
|
323
225
|
return;
|
|
324
226
|
}
|
|
325
|
-
|
|
227
|
+
let message = `${pageString} received ${eventString} (${data.length})`;
|
|
326
228
|
pretty.debug(
|
|
327
229
|
location.origin !== event.source ? message : `${message} <span style="color: gray">(on ${location.origin} from ${event.source})</span>`,
|
|
328
230
|
...event.args
|
|
329
|
-
);
|
|
330
|
-
invariant(this.handler, "ChannelHandler should be set");
|
|
331
|
-
this.handler(event);
|
|
231
|
+
), invariant(this.handler, "ChannelHandler should be set"), this.handler(event);
|
|
332
232
|
}
|
|
333
233
|
} catch (error) {
|
|
334
234
|
logger2.error(error);
|
|
335
235
|
}
|
|
336
236
|
}
|
|
337
237
|
};
|
|
338
|
-
__name(_PostMessageTransport, "PostMessageTransport");
|
|
339
|
-
var PostMessageTransport = _PostMessageTransport;
|
|
340
238
|
|
|
341
239
|
// src/channels/websocket/index.ts
|
|
342
240
|
import * as EVENTS2 from "storybook/internal/core-events";
|
|
343
241
|
import { global as global2 } from "@storybook/global";
|
|
344
|
-
var { WebSocket } = global2
|
|
345
|
-
var HEARTBEAT_INTERVAL = 15e3;
|
|
346
|
-
var HEARTBEAT_MAX_LATENCY = 5e3;
|
|
347
|
-
var _WebsocketTransport = class _WebsocketTransport {
|
|
242
|
+
var { WebSocket } = global2, HEARTBEAT_INTERVAL = 15e3, HEARTBEAT_MAX_LATENCY = 5e3, WebsocketTransport = class {
|
|
348
243
|
constructor({ url, onError, page }) {
|
|
349
244
|
this.buffer = [];
|
|
350
|
-
this.isReady =
|
|
351
|
-
this.isClosed =
|
|
245
|
+
this.isReady = !1;
|
|
246
|
+
this.isClosed = !1;
|
|
352
247
|
this.pingTimeout = 0;
|
|
353
|
-
this.socket = new WebSocket(url)
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
this.
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
invariant(this.handler, "WebsocketTransport handler should be set")
|
|
362
|
-
this.handler(event);
|
|
363
|
-
if (event.type === "ping") {
|
|
364
|
-
this.heartbeat();
|
|
365
|
-
this.send({ type: "pong" });
|
|
366
|
-
}
|
|
367
|
-
};
|
|
368
|
-
this.socket.onerror = (e) => {
|
|
369
|
-
if (onError) {
|
|
370
|
-
onError(e);
|
|
371
|
-
}
|
|
372
|
-
};
|
|
373
|
-
this.socket.onclose = (ev) => {
|
|
374
|
-
invariant(this.handler, "WebsocketTransport handler should be set");
|
|
375
|
-
this.handler({
|
|
248
|
+
this.socket = new WebSocket(url), this.socket.onopen = () => {
|
|
249
|
+
this.isReady = !0, this.heartbeat(), this.flush();
|
|
250
|
+
}, this.socket.onmessage = ({ data }) => {
|
|
251
|
+
let event = typeof data == "string" && isJSON(data) ? parse(data) : data;
|
|
252
|
+
invariant(this.handler, "WebsocketTransport handler should be set"), this.handler(event), event.type === "ping" && (this.heartbeat(), this.send({ type: "pong" }));
|
|
253
|
+
}, this.socket.onerror = (e) => {
|
|
254
|
+
onError && onError(e);
|
|
255
|
+
}, this.socket.onclose = (ev) => {
|
|
256
|
+
invariant(this.handler, "WebsocketTransport handler should be set"), this.handler({
|
|
376
257
|
type: EVENTS2.CHANNEL_WS_DISCONNECT,
|
|
377
258
|
args: [{ reason: ev.reason, code: ev.code }],
|
|
378
259
|
from: page || "preview"
|
|
379
|
-
});
|
|
380
|
-
this.isClosed = true;
|
|
381
|
-
clearTimeout(this.pingTimeout);
|
|
260
|
+
}), this.isClosed = !0, clearTimeout(this.pingTimeout);
|
|
382
261
|
};
|
|
383
262
|
}
|
|
384
263
|
heartbeat() {
|
|
385
|
-
clearTimeout(this.pingTimeout)
|
|
386
|
-
this.pingTimeout = setTimeout(() => {
|
|
264
|
+
clearTimeout(this.pingTimeout), this.pingTimeout = setTimeout(() => {
|
|
387
265
|
this.socket.close(3008, "timeout");
|
|
388
266
|
}, HEARTBEAT_INTERVAL + HEARTBEAT_MAX_LATENCY);
|
|
389
267
|
}
|
|
@@ -391,53 +269,39 @@ var _WebsocketTransport = class _WebsocketTransport {
|
|
|
391
269
|
this.handler = handler;
|
|
392
270
|
}
|
|
393
271
|
send(event) {
|
|
394
|
-
|
|
395
|
-
if (!this.isReady) {
|
|
396
|
-
this.sendLater(event);
|
|
397
|
-
} else {
|
|
398
|
-
this.sendNow(event);
|
|
399
|
-
}
|
|
400
|
-
}
|
|
272
|
+
this.isClosed || (this.isReady ? this.sendNow(event) : this.sendLater(event));
|
|
401
273
|
}
|
|
402
274
|
sendLater(event) {
|
|
403
275
|
this.buffer.push(event);
|
|
404
276
|
}
|
|
405
277
|
sendNow(event) {
|
|
406
|
-
|
|
278
|
+
let data = stringify(event, {
|
|
407
279
|
maxDepth: 15,
|
|
408
280
|
...global2.CHANNEL_OPTIONS
|
|
409
281
|
});
|
|
410
282
|
this.socket.send(data);
|
|
411
283
|
}
|
|
412
284
|
flush() {
|
|
413
|
-
|
|
414
|
-
this.buffer = [];
|
|
415
|
-
buffer.forEach((event) => this.send(event));
|
|
285
|
+
let { buffer } = this;
|
|
286
|
+
this.buffer = [], buffer.forEach((event) => this.send(event));
|
|
416
287
|
}
|
|
417
288
|
};
|
|
418
|
-
__name(_WebsocketTransport, "WebsocketTransport");
|
|
419
|
-
var WebsocketTransport = _WebsocketTransport;
|
|
420
289
|
|
|
421
290
|
// src/channels/index.ts
|
|
422
|
-
var { CONFIG_TYPE } = global3;
|
|
423
|
-
var channels_default = Channel;
|
|
291
|
+
var { CONFIG_TYPE } = global3, channels_default = Channel;
|
|
424
292
|
function createBrowserChannel({ page, extraTransports = [] }) {
|
|
425
|
-
|
|
293
|
+
let transports = [new PostMessageTransport({ page }), ...extraTransports];
|
|
426
294
|
if (CONFIG_TYPE === "DEVELOPMENT") {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
const channel = new Channel({ transports });
|
|
434
|
-
UniversalStore.__prepare(
|
|
295
|
+
let protocol = window.location.protocol === "http:" ? "ws" : "wss", { hostname, port } = window.location, channelUrl = `${protocol}://${hostname}:${port}/storybook-server-channel`;
|
|
296
|
+
transports.push(new WebsocketTransport({ url: channelUrl, onError: () => {
|
|
297
|
+
}, page }));
|
|
298
|
+
}
|
|
299
|
+
let channel = new Channel({ transports });
|
|
300
|
+
return UniversalStore.__prepare(
|
|
435
301
|
channel,
|
|
436
302
|
page === "manager" ? UniversalStore.Environment.MANAGER : UniversalStore.Environment.PREVIEW
|
|
437
|
-
);
|
|
438
|
-
return channel;
|
|
303
|
+
), channel;
|
|
439
304
|
}
|
|
440
|
-
__name(createBrowserChannel, "createBrowserChannel");
|
|
441
305
|
export {
|
|
442
306
|
Channel,
|
|
443
307
|
HEARTBEAT_INTERVAL,
|