Skip to content

Commit 506ad45

Browse files
authored
chore(storybook,ui-icons): clean-up and preparations for nx build (#2364)
fix(ui-icons): combined SVG output fix for store (#2364)
1 parent b8b5378 commit 506ad45

File tree

8 files changed

+65
-48
lines changed

8 files changed

+65
-48
lines changed

.storybook/postcss.config.js

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const { resolve, relative, basename, sep } = require("path");
1+
const { resolve, basename } = require("path");
22
const { existsSync } = require("fs");
33
const warnCleaner = require("postcss-warn-cleaner");
44

@@ -61,9 +61,20 @@ module.exports = (ctx) => {
6161
* If a path has a package.json, we can assume it's a component and
6262
* we want to leverage the correct plugins for it.
6363
*/
64-
const { devDependencies } = require(pkgPath);
64+
const {
65+
peerDependencies = {},
66+
devDependencies = {},
67+
dependencies = {}
68+
} = require(pkgPath);
69+
70+
const deps = [...new Set([
71+
...Object.keys(peerDependencies),
72+
...Object.keys(dependencies),
73+
...Object.keys(devDependencies),
74+
])];
75+
6576
if (
66-
Object.keys(devDependencies).includes("@spectrum-css/component-builder")
77+
deps.includes("@spectrum-css/vars")
6778
) {
6879
plugins.push(...legacyBuilder.processors);
6980
} else {

components/assetlist/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"peerDependencies": {
2222
"@spectrum-css/checkbox": ">=7.0.0",
2323
"@spectrum-css/icon": ">=4",
24-
"@spectrum-css/vars": ">=9"
24+
"@spectrum-css/tokens": ">=13"
2525
},
2626
"devDependencies": {
2727
"@spectrum-css/checkbox": "^8.0.3",

components/dropzone/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
"@spectrum-css/illustratedmessage": "^6.0.30",
3030
"@spectrum-css/link": "^4.0.74",
3131
"@spectrum-css/tokens": "^13.0.5",
32-
"@spectrum-css/vars": "^9.0.8",
3332
"gulp": "^4.0.0"
3433
},
3534
"publishConfig": {

components/icon/stories/icon.stories.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Import the component markup template
22
import { Template } from "./template";
33

4-
import { workflowIcons, uiIcons } from "./utilities.js";
4+
import { uiIcons, workflowIcons } from "./utilities.js";
55

66
export default {
77
title: "Components/Icon",
@@ -50,7 +50,17 @@ export default {
5050
type: { summary: "string" },
5151
category: "Content",
5252
},
53-
options: uiIcons,
53+
options: [
54+
...uiIcons.filter((c) => !["Chevron", "Arrow"].includes(c)),
55+
"ArrowRight",
56+
"ArrowLeft",
57+
"ArrowUp",
58+
"ArrowDown",
59+
"ChevronRight",
60+
"ChevronLeft",
61+
"ChevronUp",
62+
"ChevronDown",
63+
],
5464
control: "select",
5565
if: { arg: "setName", eq: "ui" },
5666
},
@@ -80,10 +90,10 @@ export default {
8090
},
8191
};
8292

83-
export const Default = (args) =>
84-
Template({
85-
...args,
86-
iconName: args.iconName ?? args.uiIconName,
87-
setName: args.setName ?? (args.uiIconName ? "ui" : "workflow"),
88-
});
93+
export const Default = (args) => Template({
94+
...args,
95+
iconName: args.iconName ?? args.uiIconName,
96+
setName: args.setName ?? (args.uiIconName ? "ui" : "workflow"),
97+
});
98+
8999
Default.args = {};

components/icon/stories/template.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { html } from "lit";
1+
import { html, svg } from "lit";
22
import { classMap } from "lit/directives/class-map.js";
33
import { ifDefined } from "lit/directives/if-defined.js";
4-
import { unsafeHTML } from "lit/directives/unsafe-html.js";
4+
import { unsafeSVG } from "lit/directives/unsafe-svg.js";
55

66
import { fetchIconSVG, uiIcons, workflowIcons } from "./utilities.js";
77

@@ -93,7 +93,9 @@ export const Template = ({
9393
setName = "workflow";
9494
} else if (uiIcons.includes(idKey.replace(/\d{2,3}$/, ""))) {
9595
setName = "ui";
96-
} else if (!setName) {
96+
}
97+
98+
if (!setName) {
9799
console.warn(
98100
`Icon: Could not determine the icon set for the provided icon name: ${idKey}.`
99101
);
@@ -126,7 +128,7 @@ export const Template = ({
126128

127129
// If we found an icon above, return that value with the appended class list
128130
if (icon) {
129-
return html`${unsafeHTML(
131+
return svg`${unsafeSVG(
130132
icon.replace(
131133
/^<svg(.*)>/,
132134
`<svg class="${Object.entries(classList)
@@ -159,7 +161,7 @@ export const Template = ({
159161
console.warn(e);
160162
}
161163

162-
return html` <svg
164+
return svg`<svg
163165
class=${classMap(classList)}
164166
id=${ifDefined(id)}
165167
style=${ifDefined(inlineStyle)}

components/icon/stories/utilities.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ export const fetchIconSVG = ({
3535
icon = require(`!!raw-loader!@adobe/spectrum-css-workflow-icons/dist/${
3636
scale !== "medium" ? `24` : `18`
3737
}/${iconName}.svg`);
38-
if (icon) return icon.default ?? icon;
38+
if (icon) return (icon.default ?? icon).trim();
3939
} catch (e) {}
4040
}
4141

4242
// Check the ui kit for icon set if not yet found
4343
try {
44-
icon = require(`!!raw-loader!@spectrum-css/ui-icons/${
44+
icon = require(`!!raw-loader!@spectrum-css/ui-icons/dist/${
4545
scale ? scale : "medium"
4646
}/${iconName}.svg`);
47-
if (icon) return icon.default ?? icon;
47+
if (icon) return (icon.default ?? icon).trim();
4848
} catch (e) {}
4949

5050
return;

components/miller/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"@spectrum-css/assetlist": ">=3",
2323
"@spectrum-css/checkbox": ">=7.0.0",
2424
"@spectrum-css/icon": ">=4",
25-
"@spectrum-css/vars": ">=9"
25+
"@spectrum-css/tokens": ">=13"
2626
},
2727
"devDependencies": {
2828
"@spectrum-css/assetlist": "^5.0.3",

ui-icons/svgo.config.js

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,29 @@ module.exports = ({
1818
removeDesc: false,
1919
removeTitle: false,
2020
removeViewBox,
21+
removeHiddenElems: false,
2122
removeUnusedNS: false,
2223
},
2324
},
2425
},
25-
clean
26-
? {
27-
name: 'removeAttrs',
28-
params: {
29-
attrs: ['class', 'data-name', 'id'],
30-
},
31-
}
32-
: undefined,
33-
idPrefix
34-
? {
35-
name: 'prefixIds',
36-
params: { delim: '-', prefix: idPrefix, prefixClassNames: false },
37-
}
38-
: undefined,
39-
classPrefix
40-
? {
41-
name: 'prefixIds',
42-
params: {
43-
delim: '--',
44-
prefix: classPrefix,
45-
prefixClassNames: true,
46-
prefixIds: false,
47-
},
48-
}
49-
: undefined,
50-
].filter(Boolean),
26+
...(clean ? [{
27+
name: 'removeAttrs',
28+
params: {
29+
attrs: ['class', 'data-name', 'id'],
30+
},
31+
}] : []),
32+
...(idPrefix ? [{
33+
name: 'prefixIds',
34+
params: { delim: '-', prefix: idPrefix, prefixClassNames: false },
35+
}] : []),
36+
...(classPrefix ? [{
37+
name: 'prefixIds',
38+
params: {
39+
delim: '--',
40+
prefix: classPrefix,
41+
prefixClassNames: true,
42+
prefixIds: false,
43+
},
44+
} ] : []),
45+
],
5146
});

0 commit comments

Comments
 (0)