storybook-addon-pseudo-states 2.0.1 → 2.0.2
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/{chunk-A7FPDXSC.mjs → chunk-OZNRRAVT.mjs} +2 -0
- package/dist/manager.js +19 -7
- package/dist/manager.mjs +20 -8
- package/dist/preview.d.ts +4 -1
- package/dist/preview.js +14 -10
- package/dist/preview.mjs +9 -6
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/constants.ts
|
|
2
2
|
var ADDON_ID = "storybook/pseudo-states";
|
|
3
3
|
var TOOL_ID = `${ADDON_ID}/tool`;
|
|
4
|
+
var PARAM_KEY = "pseudo";
|
|
4
5
|
var EXCLUDED_PSEUDO_ELEMENTS = ["::-webkit-scrollbar-thumb"];
|
|
5
6
|
var PSEUDO_STATES = {
|
|
6
7
|
hover: "hover",
|
|
@@ -16,6 +17,7 @@ var PSEUDO_STATES = {
|
|
|
16
17
|
export {
|
|
17
18
|
ADDON_ID,
|
|
18
19
|
TOOL_ID,
|
|
20
|
+
PARAM_KEY,
|
|
19
21
|
EXCLUDED_PSEUDO_ELEMENTS,
|
|
20
22
|
PSEUDO_STATES
|
|
21
23
|
};
|
package/dist/manager.js
CHANGED
|
@@ -24,6 +24,7 @@ var import_manager_api2 = require("@storybook/manager-api");
|
|
|
24
24
|
// src/constants.ts
|
|
25
25
|
var ADDON_ID = "storybook/pseudo-states";
|
|
26
26
|
var TOOL_ID = `${ADDON_ID}/tool`;
|
|
27
|
+
var PARAM_KEY = "pseudo";
|
|
27
28
|
var PSEUDO_STATES = {
|
|
28
29
|
hover: "hover",
|
|
29
30
|
active: "active",
|
|
@@ -49,14 +50,25 @@ var LinkIcon = (0, import_theming.styled)(import_components.Icons)(({ active })
|
|
|
49
50
|
}));
|
|
50
51
|
var options = Object.keys(PSEUDO_STATES).sort();
|
|
51
52
|
var PseudoStateTool = () => {
|
|
52
|
-
const [
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
const [globals, updateGlobals] = (0, import_manager_api.useGlobals)();
|
|
54
|
+
const pseudo = globals[PARAM_KEY];
|
|
55
|
+
const isActive = (0, import_react.useCallback)(
|
|
56
|
+
(option) => {
|
|
57
|
+
if (!pseudo)
|
|
58
|
+
return false;
|
|
59
|
+
return pseudo[option] === true;
|
|
60
|
+
},
|
|
61
|
+
[pseudo]
|
|
62
|
+
);
|
|
58
63
|
const toggleOption = (0, import_react.useCallback)(
|
|
59
|
-
(option) => () =>
|
|
64
|
+
(option) => () => {
|
|
65
|
+
updateGlobals({
|
|
66
|
+
[PARAM_KEY]: {
|
|
67
|
+
...pseudo,
|
|
68
|
+
[option]: !isActive(option)
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
},
|
|
60
72
|
[pseudo]
|
|
61
73
|
);
|
|
62
74
|
return /* @__PURE__ */ import_react.default.createElement(
|
package/dist/manager.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ADDON_ID,
|
|
3
|
+
PARAM_KEY,
|
|
3
4
|
PSEUDO_STATES,
|
|
4
5
|
TOOL_ID
|
|
5
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-OZNRRAVT.mjs";
|
|
6
7
|
|
|
7
8
|
// src/manager.ts
|
|
8
9
|
import { addons, types } from "@storybook/manager-api";
|
|
@@ -21,14 +22,25 @@ var LinkIcon = styled(Icons)(({ active }) => ({
|
|
|
21
22
|
}));
|
|
22
23
|
var options = Object.keys(PSEUDO_STATES).sort();
|
|
23
24
|
var PseudoStateTool = () => {
|
|
24
|
-
const [
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
const [globals, updateGlobals] = useGlobals();
|
|
26
|
+
const pseudo = globals[PARAM_KEY];
|
|
27
|
+
const isActive = useCallback(
|
|
28
|
+
(option) => {
|
|
29
|
+
if (!pseudo)
|
|
30
|
+
return false;
|
|
31
|
+
return pseudo[option] === true;
|
|
32
|
+
},
|
|
33
|
+
[pseudo]
|
|
34
|
+
);
|
|
30
35
|
const toggleOption = useCallback(
|
|
31
|
-
(option) => () =>
|
|
36
|
+
(option) => () => {
|
|
37
|
+
updateGlobals({
|
|
38
|
+
[PARAM_KEY]: {
|
|
39
|
+
...pseudo,
|
|
40
|
+
[option]: !isActive(option)
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
},
|
|
32
44
|
[pseudo]
|
|
33
45
|
);
|
|
34
46
|
return /* @__PURE__ */ React.createElement(
|
package/dist/preview.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as _storybook_types from '@storybook/types';
|
|
2
2
|
|
|
3
3
|
declare const decorators: _storybook_types.DecoratorFunction<_storybook_types.Renderer, _storybook_types.Args>[];
|
|
4
|
+
declare const globals: {
|
|
5
|
+
pseudo: boolean;
|
|
6
|
+
};
|
|
4
7
|
|
|
5
|
-
export { decorators };
|
|
8
|
+
export { decorators, globals };
|
package/dist/preview.js
CHANGED
|
@@ -20,17 +20,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/preview.ts
|
|
21
21
|
var preview_exports = {};
|
|
22
22
|
__export(preview_exports, {
|
|
23
|
-
decorators: () => decorators
|
|
23
|
+
decorators: () => decorators,
|
|
24
|
+
globals: () => globals
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(preview_exports);
|
|
26
27
|
|
|
27
|
-
// src/preview/withPseudoState.ts
|
|
28
|
-
var import_core_events = require("@storybook/core-events");
|
|
29
|
-
var import_preview_api = require("@storybook/preview-api");
|
|
30
|
-
|
|
31
28
|
// src/constants.ts
|
|
32
29
|
var ADDON_ID = "storybook/pseudo-states";
|
|
33
30
|
var TOOL_ID = `${ADDON_ID}/tool`;
|
|
31
|
+
var PARAM_KEY = "pseudo";
|
|
34
32
|
var EXCLUDED_PSEUDO_ELEMENTS = ["::-webkit-scrollbar-thumb"];
|
|
35
33
|
var PSEUDO_STATES = {
|
|
36
34
|
hover: "hover",
|
|
@@ -43,6 +41,10 @@ var PSEUDO_STATES = {
|
|
|
43
41
|
target: "target"
|
|
44
42
|
};
|
|
45
43
|
|
|
44
|
+
// src/preview/withPseudoState.ts
|
|
45
|
+
var import_core_events = require("@storybook/core-events");
|
|
46
|
+
var import_preview_api = require("@storybook/preview-api");
|
|
47
|
+
|
|
46
48
|
// src/preview/splitSelectors.ts
|
|
47
49
|
var isAtRule = (selector) => selector.indexOf("@") === 0;
|
|
48
50
|
var splitSelectors = (selectors) => {
|
|
@@ -186,7 +188,7 @@ var updateShadowHost = (shadowHost) => {
|
|
|
186
188
|
};
|
|
187
189
|
var withPseudoState = (StoryFn, { viewMode, parameters, id, globals: globalsArgs }) => {
|
|
188
190
|
const { pseudo: parameter } = parameters;
|
|
189
|
-
const { pseudo:
|
|
191
|
+
const { pseudo: globals2 } = globalsArgs;
|
|
190
192
|
const canvasElement = (0, import_preview_api.useMemo)(() => {
|
|
191
193
|
if (viewMode === "docs") {
|
|
192
194
|
return document.getElementById(`story--${id}`);
|
|
@@ -194,7 +196,7 @@ var withPseudoState = (StoryFn, { viewMode, parameters, id, globals: globalsArgs
|
|
|
194
196
|
return document.getElementById("storybook-root") || document.getElementById("root");
|
|
195
197
|
}, [viewMode, id]);
|
|
196
198
|
(0, import_preview_api.useEffect)(() => {
|
|
197
|
-
if (parameter !==
|
|
199
|
+
if (parameter !== globals2 && viewMode === "story") {
|
|
198
200
|
channel.emit(import_core_events.UPDATE_GLOBALS, {
|
|
199
201
|
globals: { pseudo: parameter }
|
|
200
202
|
});
|
|
@@ -204,11 +206,11 @@ var withPseudoState = (StoryFn, { viewMode, parameters, id, globals: globalsArgs
|
|
|
204
206
|
if (!canvasElement)
|
|
205
207
|
return;
|
|
206
208
|
const timeout = setTimeout(() => {
|
|
207
|
-
applyParameter(canvasElement,
|
|
209
|
+
applyParameter(canvasElement, globals2 || parameter);
|
|
208
210
|
shadowHosts.forEach(updateShadowHost);
|
|
209
211
|
}, 0);
|
|
210
212
|
return () => clearTimeout(timeout);
|
|
211
|
-
}, [canvasElement,
|
|
213
|
+
}, [canvasElement, globals2, parameter]);
|
|
212
214
|
return StoryFn();
|
|
213
215
|
};
|
|
214
216
|
var rewriteStyleSheets = (shadowRoot) => {
|
|
@@ -234,7 +236,9 @@ if (Element.prototype.attachShadow) {
|
|
|
234
236
|
|
|
235
237
|
// src/preview.ts
|
|
236
238
|
var decorators = [withPseudoState];
|
|
239
|
+
var globals = { [PARAM_KEY]: false };
|
|
237
240
|
// Annotate the CommonJS export names for ESM import in node:
|
|
238
241
|
0 && (module.exports = {
|
|
239
|
-
decorators
|
|
242
|
+
decorators,
|
|
243
|
+
globals
|
|
240
244
|
});
|
package/dist/preview.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EXCLUDED_PSEUDO_ELEMENTS,
|
|
3
|
+
PARAM_KEY,
|
|
3
4
|
PSEUDO_STATES
|
|
4
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OZNRRAVT.mjs";
|
|
5
6
|
|
|
6
7
|
// src/preview/withPseudoState.ts
|
|
7
8
|
import {
|
|
@@ -155,7 +156,7 @@ var updateShadowHost = (shadowHost) => {
|
|
|
155
156
|
};
|
|
156
157
|
var withPseudoState = (StoryFn, { viewMode, parameters, id, globals: globalsArgs }) => {
|
|
157
158
|
const { pseudo: parameter } = parameters;
|
|
158
|
-
const { pseudo:
|
|
159
|
+
const { pseudo: globals2 } = globalsArgs;
|
|
159
160
|
const canvasElement = useMemo(() => {
|
|
160
161
|
if (viewMode === "docs") {
|
|
161
162
|
return document.getElementById(`story--${id}`);
|
|
@@ -163,7 +164,7 @@ var withPseudoState = (StoryFn, { viewMode, parameters, id, globals: globalsArgs
|
|
|
163
164
|
return document.getElementById("storybook-root") || document.getElementById("root");
|
|
164
165
|
}, [viewMode, id]);
|
|
165
166
|
useEffect(() => {
|
|
166
|
-
if (parameter !==
|
|
167
|
+
if (parameter !== globals2 && viewMode === "story") {
|
|
167
168
|
channel.emit(UPDATE_GLOBALS, {
|
|
168
169
|
globals: { pseudo: parameter }
|
|
169
170
|
});
|
|
@@ -173,11 +174,11 @@ var withPseudoState = (StoryFn, { viewMode, parameters, id, globals: globalsArgs
|
|
|
173
174
|
if (!canvasElement)
|
|
174
175
|
return;
|
|
175
176
|
const timeout = setTimeout(() => {
|
|
176
|
-
applyParameter(canvasElement,
|
|
177
|
+
applyParameter(canvasElement, globals2 || parameter);
|
|
177
178
|
shadowHosts.forEach(updateShadowHost);
|
|
178
179
|
}, 0);
|
|
179
180
|
return () => clearTimeout(timeout);
|
|
180
|
-
}, [canvasElement,
|
|
181
|
+
}, [canvasElement, globals2, parameter]);
|
|
181
182
|
return StoryFn();
|
|
182
183
|
};
|
|
183
184
|
var rewriteStyleSheets = (shadowRoot) => {
|
|
@@ -203,6 +204,8 @@ if (Element.prototype.attachShadow) {
|
|
|
203
204
|
|
|
204
205
|
// src/preview.ts
|
|
205
206
|
var decorators = [withPseudoState];
|
|
207
|
+
var globals = { [PARAM_KEY]: false };
|
|
206
208
|
export {
|
|
207
|
-
decorators
|
|
209
|
+
decorators,
|
|
210
|
+
globals
|
|
208
211
|
};
|