@nice2dev/icons 1.3.2 → 1.3.3
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 +83 -0
- package/dist/cjs/createIcon.js +0 -1
- package/dist/cjs/iconParts.js +33 -1
- package/dist/cjs/icons/actions.js +74 -61
- package/dist/cjs/icons/business.js +63 -27
- package/dist/cjs/icons/education.js +31 -11
- package/dist/cjs/icons/files.js +55 -17
- package/dist/cjs/icons/media.js +51 -20
- package/dist/cjs/icons/navigation.js +24 -7
- package/dist/cjs/icons/omniverk.js +2 -1
- package/dist/cjs/icons/realestate.js +45 -10
- package/dist/cjs/icons/science.js +10 -6
- package/dist/cjs/icons/shapes.js +30 -8
- package/dist/cjs/icons/social.js +3 -9
- package/dist/cjs/icons/travel.js +20 -4
- package/dist/cjs/icons/ui.js +41 -35
- package/dist/cjs/icons/weather.js +5 -4
- package/dist/cjs/nicetodev-icons.css +1 -1
- package/dist/esm/createIcon.js +0 -1
- package/dist/esm/iconParts.js +33 -3
- package/dist/esm/icons/actions.js +76 -63
- package/dist/esm/icons/business.js +64 -28
- package/dist/esm/icons/education.js +31 -11
- package/dist/esm/icons/files.js +55 -17
- package/dist/esm/icons/media.js +51 -20
- package/dist/esm/icons/navigation.js +24 -7
- package/dist/esm/icons/omniverk.js +2 -1
- package/dist/esm/icons/realestate.js +45 -10
- package/dist/esm/icons/science.js +10 -6
- package/dist/esm/icons/shapes.js +30 -8
- package/dist/esm/icons/social.js +3 -9
- package/dist/esm/icons/travel.js +20 -4
- package/dist/esm/icons/ui.js +42 -36
- package/dist/esm/icons/weather.js +5 -4
- package/dist/esm/nicetodev-icons.css +1 -1
- package/dist/types/iconParts.d.ts +13 -1
- package/dist/types/types.d.ts +4 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,88 @@
|
|
|
1
1
|
# @nice2dev/icons — Changelog
|
|
2
2
|
|
|
3
|
+
## 1.3.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 54a632e: Icon browser feedback, round 32:
|
|
8
|
+
|
|
9
|
+
- Line glyphs are twice the stroke width in every variant but `outline`: `NtdSearch`,
|
|
10
|
+
`NtdZoomIn`, `NtdZoomOut`, `NtdUndo`, `NtdRedo` (the tail; the head is unchanged), `NtdLink`,
|
|
11
|
+
`NtdLogIn`, `NtdLogOut`, and the stands of `NtdMicrophone` and `NtdMicrophoneOff`. The
|
|
12
|
+
microphones sit a little higher so the base stays inside the box. `NtdMicrophoneOff` keeps a gap
|
|
13
|
+
around its slash. `NtdGlobe`'s grid is twice as thick in the filled variants, but stays thin in
|
|
14
|
+
`outline`, `wireframe`, `duotone` and `cutout`.
|
|
15
|
+
- Shared sources: `NtdSearch`, `NtdZoomIn` and `NtdZoomOut` share one magnifier. `NtdBell` and
|
|
16
|
+
`NtdBellRing` share one bell, whose clapper is now a large half disc.
|
|
17
|
+
- Duotone (and vivid where noted) splits colours by part, with no backing disc or outline ring:
|
|
18
|
+
- `NtdPlus`, `NtdCheck`, `NtdClose`: the two strokes in different colours. Vivid adds the
|
|
19
|
+
crossing of the plus and the close in the accent colour.
|
|
20
|
+
- `NtdDownload`, `NtdUpload`, `NtdLogIn`, `NtdLogOut`: the arrow in primary, the tray or door
|
|
21
|
+
frame in secondary.
|
|
22
|
+
- `NtdChat`: the tail in secondary.
|
|
23
|
+
- `NtdFolder`: the tab in secondary.
|
|
24
|
+
- `NtdVideo`: the lens in secondary.
|
|
25
|
+
- `NtdUser`, `NtdAdmin`: the shoulders in secondary.
|
|
26
|
+
- `NtdLab`: vivid without the bubbles.
|
|
27
|
+
- `NtdApartment`: the windows and door in secondary.
|
|
28
|
+
- `NtdBriefcase`: the band and clasp in secondary.
|
|
29
|
+
- `NtdEye`: the eye in secondary.
|
|
30
|
+
- Filled variants:
|
|
31
|
+
- `NtdCalendar`: the header and rings in secondary over a primary sheet, the line between them
|
|
32
|
+
raised a little.
|
|
33
|
+
- `NtdSave`: the shutter and label in secondary.
|
|
34
|
+
- `NtdAward`: the ribbon filled in secondary.
|
|
35
|
+
- `NtdBriefcase`: a lower, wider clasp in secondary, and in the accent colour in vivid.
|
|
36
|
+
- `NtdPackage`: primary walls with accent edges, replacing the fixed 15% tint.
|
|
37
|
+
- `NtdApartment`: windows and door drawn as accent frames.
|
|
38
|
+
- `NtdEye`: a larger secondary pupil inside a thinner accent ring.
|
|
39
|
+
- Shapes:
|
|
40
|
+
- `NtdAdmin`: a longer tie that runs to the bottom edge.
|
|
41
|
+
- `NtdGarage`: three door panels of equal height, and square bottom corners in `sharp`.
|
|
42
|
+
- `NtdBook`: the pages set in from the cover's right edge.
|
|
43
|
+
- `NtdClipboard`: the lines of text sit higher.
|
|
44
|
+
- `NtdReceipt` and `NtdInvoice`: amounts further right, longer descriptions.
|
|
45
|
+
- `NtdSave` in `outline`: a larger shutter and window.
|
|
46
|
+
- `NtdDatabase` in `wireframe`: the outline's construction (it showed the gap bands as double
|
|
47
|
+
arcs).
|
|
48
|
+
- Hardcoded colours (`#3B82F6`, `#8B5CF6`, `#CBD5E1`, white overlays) are gone from the vivid
|
|
49
|
+
variants touched here.
|
|
50
|
+
- The cutout mask now renders `paths.solid` with `variant: 'cutout'` (the RSC renderer already
|
|
51
|
+
did), so a renderer can keep details visible in the cut.
|
|
52
|
+
|
|
53
|
+
- 9628cdc: Icon browser feedback, round 33:
|
|
54
|
+
|
|
55
|
+
- Heavier line glyphs in every variant but `outline`:
|
|
56
|
+
- twice the stroke width: `NtdDollar`, `NtdTrendUp`, `NtdTrendDown`, `NtdMaximize`,
|
|
57
|
+
`NtdMinimize`, `NtdRefresh`, and the pins of `NtdCpu`;
|
|
58
|
+
- 1.5 times: `NtdWifi` (its arcs are now concentric about the dot) and `NtdList` (its dots
|
|
59
|
+
are larger too).
|
|
60
|
+
- Arrow shafts stop short of their head's corner, so nothing sticks out in `sharp`.
|
|
61
|
+
- `NtdRefresh` is redrawn as two arcs with filled heads.
|
|
62
|
+
- Colours:
|
|
63
|
+
- `NtdEye`: a larger pupil, primary in the filled variants and secondary in duotone and
|
|
64
|
+
vivid, ringed in the accent colour.
|
|
65
|
+
- `NtdAtom`: the nucleus is primary when filled and secondary in duotone and vivid; vivid
|
|
66
|
+
adds an accent glow to the orbits.
|
|
67
|
+
- `NtdMountain`: the snow is secondary again.
|
|
68
|
+
- `NtdHeart`: duotone swaps its colours; vivid splits the heart in two with an accent seam.
|
|
69
|
+
- `NtdMenu`: the middle bar is secondary in duotone and vivid.
|
|
70
|
+
- `NtdCpu`: primary body, accent die (it had a fixed tint).
|
|
71
|
+
- `NtdApartment`: windows and door filled in the accent colour.
|
|
72
|
+
- `NtdCalculator`: accent display and key outlines (they were a fixed white).
|
|
73
|
+
- `NtdNotebook`: accent writing, shorter rings, fills-only duotone.
|
|
74
|
+
- Shapes:
|
|
75
|
+
- `NtdDatabase`: three discs of equal height.
|
|
76
|
+
- `NtdBook`: pages set further in from the cover's right edge.
|
|
77
|
+
- `NtdAward`: a smaller secondary inside on the ribbon.
|
|
78
|
+
- `NtdReceipt`: amounts further right.
|
|
79
|
+
- `NtdBus`: a side view with a passenger in the window.
|
|
80
|
+
- `NtdWallet`: redrawn — body, back pocket and clasp pocket.
|
|
81
|
+
- Outline and wireframe:
|
|
82
|
+
- `NtdSave`: the outline draws the wireframe's construction.
|
|
83
|
+
- `NtdGarage`: the wireframe takes the outline's evenly spaced door slats.
|
|
84
|
+
- Hardcoded colours (`#3B82F6`, `#8B5CF6`, `#F59E0B`, white) are gone from the touched icons.
|
|
85
|
+
|
|
3
86
|
## 1.3.2
|
|
4
87
|
|
|
5
88
|
No changes in this release.
|
package/dist/cjs/createIcon.js
CHANGED
|
@@ -225,7 +225,6 @@ function createIcon(options) {
|
|
|
225
225
|
const iconContent = variant === 'mini' ? (jsxRuntime.jsx("g", { transform: `translate(${center.x} ${center.y}) scale(${sharpen.MINI_SCALE}) translate(${-center.x} ${-center.y})`, children: rendered })) : (rendered);
|
|
226
226
|
return (jsxRuntime.jsxs("svg", { ref: ref, xmlns: "http://www.w3.org/2000/svg", viewBox: viewBox, width: resolvedSize, height: resolvedSize, fill: "none", strokeLinecap: strokeLinecap, strokeLinejoin: strokeLinejoin, className: classes, style: animStyle, role: title ? 'img' : 'presentation', "aria-hidden": title ? undefined : true, "aria-label": title, ...rest, children: [title && jsxRuntime.jsx("title", { children: title }), gradient && (jsxRuntime.jsx("defs", { children: renderGradientDef(gradId, gradient, gradientType, gradientAngle, gradientAnimation) })), is3d && jsxRuntime.jsx("defs", { children: render3dFilterDef(filterId) }), isCutout && (jsxRuntime.jsx("defs", { children: jsxRuntime.jsxs("mask", { id: maskId, children: [jsxRuntime.jsx("rect", { x: "0", y: "0", width: "24", height: "24", fill: "white" }), jsxRuntime.jsx("g", { transform: "translate(12,12) scale(0.8) translate(-12,-12)", children: paths.solid({
|
|
227
227
|
...renderProps,
|
|
228
|
-
variant: 'solid',
|
|
229
228
|
primaryColor: 'black',
|
|
230
229
|
secondaryColor: 'black',
|
|
231
230
|
accentColor: 'white',
|
package/dist/cjs/iconParts.js
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var createIcon = require('./createIcon.js');
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* The colour of a detail drawn in secondary on a filled shape (a floppy's label, a ribbon): the
|
|
8
|
+
* secondary colour, but the accent colour in the cutout's mask — there secondary is cut out with
|
|
9
|
+
* the shape and the detail would vanish, while the accent draws in the cut.
|
|
10
|
+
*/
|
|
11
|
+
function detailColor({ variant, secondaryColor, accentColor }) {
|
|
12
|
+
return variant === 'cutout' ? accentColor : secondaryColor;
|
|
13
|
+
}
|
|
6
14
|
/**
|
|
7
15
|
* `content` drawn only inside `shape` — for accent lines that read as a cut through a shape (a
|
|
8
16
|
* pencil's band, a calendar's header line, an envelope's flap): clipped, they meet the shape's
|
|
@@ -19,6 +27,28 @@ function within(uid, name, shape, content) {
|
|
|
19
27
|
const id = `${uid}${name}`;
|
|
20
28
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("clipPath", { id: id, children: shape }), jsxRuntime.jsx("g", { clipPath: `url(#${id})`, children: content })] }));
|
|
21
29
|
}
|
|
30
|
+
const BELL = 'M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9z';
|
|
31
|
+
/** The clapper: a half disc r 3 under the bell (it was a thin arc). */
|
|
32
|
+
const BELL_CLAPPER = 'M9 18.5h6a3 3 0 01-6 0z';
|
|
33
|
+
const BELL_CLAPPER_LINE = 'M9 19a3 3 0 006 0';
|
|
34
|
+
/** NtdBellRing's ring marks, either side of the crown. */
|
|
35
|
+
const BELL_RINGS = 'M2 4l1.5 1.5M22 4l-1.5 1.5';
|
|
36
|
+
/**
|
|
37
|
+
* NtdBell and NtdBellRing, so the two share one bell; `ringing` adds the ring marks. Duotone and
|
|
38
|
+
* vivid are fills only: the bell primary, the clapper (and the marks) secondary.
|
|
39
|
+
*/
|
|
40
|
+
function bellIcon(displayName, ringing) {
|
|
41
|
+
const parts = ({ primaryColor, secondaryColor, strokeWidth }, detail) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: BELL, fill: primaryColor }), jsxRuntime.jsx("path", { d: BELL_CLAPPER, fill: detail }), ringing && jsxRuntime.jsx("path", { d: BELL_RINGS, stroke: secondaryColor, strokeWidth: strokeWidth })] }));
|
|
42
|
+
return createIcon.createIcon({
|
|
43
|
+
displayName,
|
|
44
|
+
paths: {
|
|
45
|
+
solid: (props) => parts(props, props.primaryColor),
|
|
46
|
+
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${BELL}${BELL_CLAPPER_LINE}${ringing ? BELL_RINGS : ''}`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
|
|
47
|
+
duotone: (props) => parts(props, props.secondaryColor),
|
|
48
|
+
vivid: (props) => parts(props, props.secondaryColor),
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
}
|
|
22
52
|
/** The page of every paper icon: 16 × 20, its top-right corner folded over 8. */
|
|
23
53
|
const PAPER = 'M12 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V10z';
|
|
24
54
|
const PAPER_FOLD = 'M12 2v6a2 2 0 002 2h6z';
|
|
@@ -28,7 +58,7 @@ const PAPER_FOLD_SHARP = 'M12 2v8h8z';
|
|
|
28
58
|
/**
|
|
29
59
|
* A paper icon — NtdFile, and every document drawn on the same page (NtdFileText, NtdInvoice,
|
|
30
60
|
* NtdContract, …), so their pages and folds match. The fold is secondary when the page is filled;
|
|
31
|
-
* `text` is the document's writing, a path of strokes kept below the fold (y ≥ 11, x 7
|
|
61
|
+
* `text` is the document's writing, a path of strokes kept below the fold (y ≥ 11, x 7–17),
|
|
32
62
|
* drawn in the accent colour on a filled page and in primary on a stroked one.
|
|
33
63
|
*/
|
|
34
64
|
function paperIcon(displayName, text = '') {
|
|
@@ -45,5 +75,7 @@ function paperIcon(displayName, text = '') {
|
|
|
45
75
|
});
|
|
46
76
|
}
|
|
47
77
|
|
|
78
|
+
exports.bellIcon = bellIcon;
|
|
79
|
+
exports.detailColor = detailColor;
|
|
48
80
|
exports.paperIcon = paperIcon;
|
|
49
81
|
exports.within = within;
|
|
@@ -4,15 +4,26 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var createIcon = require('../createIcon.js');
|
|
5
5
|
var iconParts = require('../iconParts.js');
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
/** The magnifier's lens (r 8 about 11,11) and its handle. */
|
|
8
|
+
const LENS = 'M11 19a8 8 0 100-16 8 8 0 000 16z';
|
|
9
|
+
const LENS_HANDLE = 'M21 21l-4.35-4.35';
|
|
10
|
+
/**
|
|
11
|
+
* The magnifier of NtdSearch, NtdZoomIn and NtdZoomOut, so the three share one lens and handle;
|
|
12
|
+
* `glyph` is drawn inside the lens. A line glyph: twice the stroke width in every variant but
|
|
13
|
+
* `outline`. Duotone fills the lens in secondary, vivid draws the handle and the glyph in it.
|
|
14
|
+
*/
|
|
15
|
+
function lensIcon(displayName, glyph = '') {
|
|
16
|
+
return createIcon.createIcon({
|
|
17
|
+
displayName,
|
|
18
|
+
paths: {
|
|
19
|
+
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${LENS_HANDLE}${LENS}${glyph}`, stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })),
|
|
20
|
+
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${LENS_HANDLE}${LENS}${glyph}`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
|
|
21
|
+
duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: LENS, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: `${LENS_HANDLE}${LENS}${glyph}`, stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })] })),
|
|
22
|
+
vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: LENS, stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: `${LENS_HANDLE}${glyph}`, stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" })] })),
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
const NtdSearch = /* @__PURE__ */ lensIcon('NtdSearch');
|
|
16
27
|
const EDIT_PENCIL = 'M17 3a2.828 2.828 0 114 4L7.5 20.5 2 22l1.5-5.5L17 3z';
|
|
17
28
|
const NtdEdit = /* @__PURE__ */ createIcon.createIcon({
|
|
18
29
|
displayName: 'NtdEdit',
|
|
@@ -55,16 +66,22 @@ const FLOPPY_BODY = 'M5 3h11.6L21 7.4V19a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012
|
|
|
55
66
|
/** The shutter with its window cut out (even-odd). */
|
|
56
67
|
const FLOPPY_SHUTTER = 'M7 3h9.2v4.8a.8.8 0 01-.8.8H7.8a.8.8 0 01-.8-.8zM12.6 4.4v2.8h2V4.4z';
|
|
57
68
|
const FLOPPY_LABEL = 'M6.8 10.6h10.4a1 1 0 011 1v7a1 1 0 01-1 1H6.8a1 1 0 01-1-1v-7a1 1 0 011-1z';
|
|
69
|
+
/** The label's top band — vivid's third colour. */
|
|
70
|
+
const FLOPPY_LABEL_BAND = 'M5.8 13.2h12.4v-1.6a1 1 0 00-1-1H6.8a1 1 0 00-1 1z';
|
|
58
71
|
const NtdSave = /* @__PURE__ */ createIcon.createIcon({
|
|
59
72
|
displayName: 'NtdSave',
|
|
60
73
|
paths: {
|
|
61
|
-
|
|
62
|
-
|
|
74
|
+
// the shutter and the label in secondary (the accent is usually black or the page colour)
|
|
75
|
+
solid: (props) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLOPPY_BODY, fill: props.primaryColor }), jsxRuntime.jsxs("g", { fill: iconParts.detailColor(props), children: [jsxRuntime.jsx("path", { d: FLOPPY_SHUTTER, fillRule: "evenodd" }), jsxRuntime.jsx("path", { d: FLOPPY_LABEL })] })] })),
|
|
76
|
+
// the wireframe's construction — body, shutter with its window, label — at the stroke width
|
|
77
|
+
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${FLOPPY_BODY}${FLOPPY_SHUTTER}${FLOPPY_LABEL}`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
|
|
63
78
|
// fills only: the body secondary, the shutter and the label primary
|
|
64
79
|
duotone: ({ primaryColor, secondaryColor, secondaryOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLOPPY_BODY, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsxs("g", { fill: primaryColor, children: [jsxRuntime.jsx("path", { d: FLOPPY_SHUTTER, fillRule: "evenodd" }), jsxRuntime.jsx("path", { d: FLOPPY_LABEL })] })] })),
|
|
65
|
-
vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLOPPY_BODY, fill: primaryColor }), jsxRuntime.jsx("path", { d: FLOPPY_SHUTTER, fillRule: "evenodd"
|
|
80
|
+
vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLOPPY_BODY, fill: primaryColor }), jsxRuntime.jsxs("g", { fill: secondaryColor, children: [jsxRuntime.jsx("path", { d: FLOPPY_SHUTTER, fillRule: "evenodd" }), jsxRuntime.jsx("path", { d: FLOPPY_LABEL })] }), jsxRuntime.jsx("path", { d: FLOPPY_LABEL_BAND, fill: accentColor, opacity: accentOpacity })] })),
|
|
66
81
|
},
|
|
67
82
|
});
|
|
83
|
+
/** The tray of NtdDownload and NtdUpload. */
|
|
84
|
+
const TRAY = 'M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4';
|
|
68
85
|
// The shaft stops 2 short of the arrowhead's point: with the square caps of `sharp`, a shaft that
|
|
69
86
|
// ran to the point stuck out of it.
|
|
70
87
|
const NtdDownload = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -72,8 +89,9 @@ const NtdDownload = /* @__PURE__ */ createIcon.createIcon({
|
|
|
72
89
|
paths: {
|
|
73
90
|
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 13V3", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
|
|
74
91
|
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 13V3", stroke: primaryColor, strokeWidth: strokeWidth })),
|
|
75
|
-
|
|
76
|
-
|
|
92
|
+
// the arrow primary, the tray secondary — a colour split, no filled tray
|
|
93
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: TRAY, stroke: secondaryColor, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("path", { d: "M7 10l5 5 5-5M12 13V3", stroke: primaryColor, strokeWidth: strokeWidth * 2 })] })),
|
|
94
|
+
vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: TRAY, stroke: secondaryColor, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("path", { d: "M7 10l5 5 5-5M12 13V3", stroke: primaryColor, strokeWidth: strokeWidth * 2 })] })),
|
|
77
95
|
},
|
|
78
96
|
});
|
|
79
97
|
const NtdUpload = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -81,8 +99,9 @@ const NtdUpload = /* @__PURE__ */ createIcon.createIcon({
|
|
|
81
99
|
paths: {
|
|
82
100
|
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 5v10", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
|
|
83
101
|
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 5v10", stroke: primaryColor, strokeWidth: strokeWidth })),
|
|
84
|
-
|
|
85
|
-
|
|
102
|
+
// as NtdDownload: the arrow primary, the tray secondary
|
|
103
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: TRAY, stroke: secondaryColor, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("path", { d: "M17 8l-5-5-5 5M12 5v10", stroke: primaryColor, strokeWidth: strokeWidth * 2 })] })),
|
|
104
|
+
vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: TRAY, stroke: secondaryColor, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("path", { d: "M17 8l-5-5-5 5M12 5v10", stroke: primaryColor, strokeWidth: strokeWidth * 2 })] })),
|
|
86
105
|
},
|
|
87
106
|
});
|
|
88
107
|
const NtdShare = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -103,24 +122,28 @@ const NtdCopy = /* @__PURE__ */ createIcon.createIcon({
|
|
|
103
122
|
vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "9", y: "9", width: "12", height: "12", rx: "2.5", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "9", y: "9", width: "12", height: "12", rx: "2.5", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1", stroke: secondaryColor, strokeWidth: "1.8" })] })),
|
|
104
123
|
},
|
|
105
124
|
});
|
|
125
|
+
/** NtdClipboard's two lines of text, high on the board (they sat below its middle). */
|
|
126
|
+
const CLIPBOARD_TEXT = 'M8 11h8M8 14.5h5';
|
|
106
127
|
const NtdClipboard = /* @__PURE__ */ createIcon.createIcon({
|
|
107
128
|
displayName: 'NtdClipboard',
|
|
108
129
|
paths: {
|
|
109
|
-
solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "8", height: "3.5", rx: "1.5", fill: primaryColor, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsxRuntime.jsx("
|
|
110
|
-
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "8", height: "3.5", rx: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("
|
|
111
|
-
duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "4", y: "4", width: "16", height: "18", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "8", height: "3.5", rx: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("
|
|
112
|
-
vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", fill: primaryColor }), jsxRuntime.jsx("
|
|
130
|
+
solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "8", height: "3.5", rx: "1.5", fill: primaryColor, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsxRuntime.jsx("path", { d: CLIPBOARD_TEXT, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })] })),
|
|
131
|
+
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "8", height: "3.5", rx: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: CLIPBOARD_TEXT, stroke: primaryColor, strokeWidth: strokeWidth })] })),
|
|
132
|
+
duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "4", y: "4", width: "16", height: "18", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "8", height: "3.5", rx: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: CLIPBOARD_TEXT, stroke: primaryColor, strokeWidth: strokeWidth })] })),
|
|
133
|
+
vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "8", height: "3.5", rx: "1.5", fill: secondaryColor, stroke: secondaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("path", { d: CLIPBOARD_TEXT, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })] })),
|
|
113
134
|
},
|
|
114
135
|
});
|
|
115
136
|
// The stroke glyphs (plus, minus, check, the arrows) are twice the stroke width when filled, so
|
|
116
|
-
// `solid` reads bold next to `outline` and still follows `strokeWidth`.
|
|
137
|
+
// `solid` reads bold next to `outline` and still follows `strokeWidth`. Plus, check and close
|
|
138
|
+
// split their two strokes between the colours in duotone and vivid (no backing disc); vivid adds
|
|
139
|
+
// the crossing of the plus and the close in the accent colour.
|
|
117
140
|
const NtdPlus = /* @__PURE__ */ createIcon.createIcon({
|
|
118
141
|
displayName: 'NtdPlus',
|
|
119
142
|
paths: {
|
|
120
143
|
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
|
|
121
144
|
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth })),
|
|
122
|
-
duotone: ({ primaryColor, secondaryColor,
|
|
123
|
-
vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.
|
|
145
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 12h14", stroke: secondaryColor, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("path", { d: "M12 5v14", stroke: primaryColor, strokeWidth: strokeWidth * 2 })] })),
|
|
146
|
+
vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 12h14", stroke: secondaryColor, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("path", { d: "M12 5v14", stroke: primaryColor, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("rect", { x: 12 - strokeWidth, y: 12 - strokeWidth, width: strokeWidth * 2, height: strokeWidth * 2, fill: accentColor, opacity: accentOpacity })] })),
|
|
124
147
|
},
|
|
125
148
|
});
|
|
126
149
|
const NtdMinus = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -137,8 +160,8 @@ const NtdCheck = /* @__PURE__ */ createIcon.createIcon({
|
|
|
137
160
|
paths: {
|
|
138
161
|
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M20 6L9 17l-5-5", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
|
|
139
162
|
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M20 6L9 17l-5-5", stroke: primaryColor, strokeWidth: strokeWidth })),
|
|
140
|
-
duotone: ({ primaryColor, secondaryColor,
|
|
141
|
-
vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.
|
|
163
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9 17l-5-5", stroke: secondaryColor, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("path", { d: "M20 6L9 17", stroke: primaryColor, strokeWidth: strokeWidth * 2 })] })),
|
|
164
|
+
vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9 17l-5-5", stroke: secondaryColor, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("path", { d: "M20 6L9 17", stroke: primaryColor, strokeWidth: strokeWidth * 2 })] })),
|
|
142
165
|
},
|
|
143
166
|
});
|
|
144
167
|
const NtdFilter = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -168,52 +191,38 @@ const NtdPrint = /* @__PURE__ */ createIcon.createIcon({
|
|
|
168
191
|
vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M4 9h16a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2v-5a2 2 0 012-2z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M4 9h16a2 2 0 012 2v5a2 2 0 01-2 2H4a2 2 0 01-2-2v-5a2 2 0 012-2z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("path", { d: "M6 9V3h12v6", stroke: secondaryColor, strokeWidth: "2", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "6", y: "15", width: "12", height: "7", rx: "1", fill: "#3B82F6" }), jsxRuntime.jsx("line", { x1: "9", y1: "18", x2: "15", y2: "18", stroke: "white", strokeWidth: "1", opacity: "0.35" })] })),
|
|
169
192
|
},
|
|
170
193
|
});
|
|
171
|
-
const NtdZoomIn = /* @__PURE__ */
|
|
172
|
-
|
|
173
|
-
paths: {
|
|
174
|
-
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "8", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "11", y1: "8", x2: "11", y2: "14", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "11", x2: "14", y2: "11", stroke: primaryColor, strokeWidth: strokeWidth })] })),
|
|
175
|
-
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "8", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "11", y1: "8", x2: "11", y2: "14", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "11", x2: "14", y2: "11", stroke: primaryColor, strokeWidth: strokeWidth })] })),
|
|
176
|
-
duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "7", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "8", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "11", y1: "8", x2: "11", y2: "14", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "11", x2: "14", y2: "11", stroke: primaryColor, strokeWidth: strokeWidth })] })),
|
|
177
|
-
vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "8", stroke: primaryColor, strokeWidth: "2", fill: "none" }), jsxRuntime.jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("line", { x1: "11", y1: "8", x2: "11", y2: "14", stroke: "#3B82F6", strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "11", x2: "14", y2: "11", stroke: secondaryColor, strokeWidth: "1.5" })] })),
|
|
178
|
-
},
|
|
179
|
-
});
|
|
180
|
-
const NtdZoomOut = /* @__PURE__ */ createIcon.createIcon({
|
|
181
|
-
displayName: 'NtdZoomOut',
|
|
182
|
-
paths: {
|
|
183
|
-
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "8", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "11", x2: "14", y2: "11", stroke: primaryColor, strokeWidth: strokeWidth })] })),
|
|
184
|
-
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "8", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "11", x2: "14", y2: "11", stroke: primaryColor, strokeWidth: strokeWidth })] })),
|
|
185
|
-
duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "7", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "8", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "11", x2: "14", y2: "11", stroke: primaryColor, strokeWidth: strokeWidth })] })),
|
|
186
|
-
vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "8", stroke: primaryColor, strokeWidth: "2", fill: "none" }), jsxRuntime.jsx("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("line", { x1: "8", y1: "11", x2: "14", y2: "11", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
|
|
187
|
-
},
|
|
188
|
-
});
|
|
194
|
+
const NtdZoomIn = /* @__PURE__ */ lensIcon('NtdZoomIn', 'M11 8v6M8 11h6');
|
|
195
|
+
const NtdZoomOut = /* @__PURE__ */ lensIcon('NtdZoomOut', 'M8 11h6');
|
|
189
196
|
/* NtdUndo / NtdRedo — the old glyph was two arcs of different radii whose ends
|
|
190
197
|
never met the arrow, which read as a fish rather than a rotation. Redrawn as
|
|
191
198
|
one semicircular loop (r 5.5 about 13.5,14 — mirrored to 10.5,14 for redo)
|
|
192
199
|
plus a chevron whose apex lands exactly on the tail start, so the arrow and
|
|
193
200
|
the tail close. `solid` fills the head so it is no longer byte-identical to
|
|
194
201
|
`outline`; the tail then starts at the head's back edge (9.5 / 14.5) instead
|
|
195
|
-
of the apex, keeping the stroke cap from poking past the tip
|
|
202
|
+
of the apex, keeping the stroke cap from poking past the tip — duotone and
|
|
203
|
+
vivid too. Every variant but `outline` draws the tail at twice the stroke
|
|
204
|
+
width. */
|
|
196
205
|
const NtdUndo = /* @__PURE__ */ createIcon.createIcon({
|
|
197
206
|
displayName: 'NtdUndo',
|
|
198
207
|
paths: {
|
|
199
|
-
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9.5 8.5H13.5a5.5 5.5 0 1 1 0 11H9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M9.5 4L5 8.5l4.5 4.5z", fill: primaryColor })] })),
|
|
208
|
+
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9.5 8.5H13.5a5.5 5.5 0 1 1 0 11H9", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M9.5 4L5 8.5l4.5 4.5z", fill: primaryColor })] })),
|
|
200
209
|
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 8.5H13.5a5.5 5.5 0 1 1 0 11H9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M9.5 4L5 8.5l4.5 4.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
|
|
201
210
|
// Two-tone by PART, not by a backing blob: arrowhead in primary, tail in
|
|
202
211
|
// secondary, both at full strength. (The old version put a secondary disc
|
|
203
212
|
// behind the curve, which read as "a ball in the middle"; a washed-out tail
|
|
204
213
|
// would likewise miss the point — this is a colour split, not an underlay.)
|
|
205
|
-
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "
|
|
206
|
-
vivid: ({ primaryColor,
|
|
214
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9.5 8.5H13.5a5.5 5.5 0 1 1 0 11H9", stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M9.5 4L5 8.5l4.5 4.5z", fill: primaryColor })] })),
|
|
215
|
+
vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9.5 8.5H13.5a5.5 5.5 0 1 1 0 11H9", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M9.5 4L5 8.5l4.5 4.5z", fill: primaryColor })] })),
|
|
207
216
|
},
|
|
208
217
|
});
|
|
209
218
|
const NtdRedo = /* @__PURE__ */ createIcon.createIcon({
|
|
210
219
|
displayName: 'NtdRedo',
|
|
211
220
|
paths: {
|
|
212
|
-
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14.5 8.5H10.5a5.5 5.5 0 1 0 0 11H15", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M14.5 4L19 8.5l-4.5 4.5z", fill: primaryColor })] })),
|
|
221
|
+
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14.5 8.5H10.5a5.5 5.5 0 1 0 0 11H15", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M14.5 4L19 8.5l-4.5 4.5z", fill: primaryColor })] })),
|
|
213
222
|
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 8.5H10.5a5.5 5.5 0 1 0 0 11H15", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M14.5 4L19 8.5l-4.5 4.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
|
|
214
223
|
// Mirror of NtdUndo: arrowhead primary, tail secondary — no backing disc.
|
|
215
|
-
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "
|
|
216
|
-
vivid: ({ primaryColor,
|
|
224
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14.5 8.5H10.5a5.5 5.5 0 1 0 0 11H15", stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M14.5 4L19 8.5l-4.5 4.5z", fill: primaryColor })] })),
|
|
225
|
+
vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14.5 8.5H10.5a5.5 5.5 0 1 0 0 11H15", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M14.5 4L19 8.5l-4.5 4.5z", fill: primaryColor })] })),
|
|
217
226
|
},
|
|
218
227
|
});
|
|
219
228
|
// Reply: the arrow turns back to the left at a right angle (the "corner-up-left" of a message
|
|
@@ -227,14 +236,15 @@ const NtdReply = /* @__PURE__ */ createIcon.createIcon({
|
|
|
227
236
|
vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20 18v-2a4 4 0 0 0-4-4H8", stroke: primaryColor, strokeWidth: "2.2", fill: "none" }), jsxRuntime.jsx("path", { d: "M9 7L4 12l5 5z", fill: primaryColor })] })),
|
|
228
237
|
},
|
|
229
238
|
});
|
|
239
|
+
// A line glyph: twice the stroke width in every variant but `outline`.
|
|
230
240
|
const NtdLink = /* @__PURE__ */ createIcon.createIcon({
|
|
231
241
|
displayName: 'NtdLink',
|
|
232
242
|
paths: {
|
|
233
|
-
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
|
|
243
|
+
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })),
|
|
234
244
|
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
|
|
235
245
|
// one ring per colour: the right link primary, the left one secondary
|
|
236
|
-
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
|
|
237
|
-
vivid: ({ primaryColor,
|
|
246
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })] })),
|
|
247
|
+
vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" }) })),
|
|
238
248
|
},
|
|
239
249
|
});
|
|
240
250
|
// NtdSettings: a gear whose eight teeth have flat tops, in every variant but `rounded`, which
|
|
@@ -256,22 +266,25 @@ const NtdSettings = /* @__PURE__ */ createIcon.createIcon({
|
|
|
256
266
|
vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: `${GEAR}${GEAR_HOLE}`, fillRule: "evenodd", fill: primaryColor }), jsxRuntime.jsx("path", { d: `${GEAR_HUB}${GEAR_HOLE}`, fillRule: "evenodd", fill: secondaryColor })] })),
|
|
257
267
|
},
|
|
258
268
|
});
|
|
269
|
+
// NtdLogIn / NtdLogOut: a line glyph, twice the stroke width in every variant but `outline`. The
|
|
270
|
+
// shaft stops 2 short of the arrowhead's point, so the square caps of `sharp` stay inside it.
|
|
271
|
+
// Duotone and vivid split it like NtdDownload: the arrow primary, the door frame secondary.
|
|
259
272
|
const NtdLogIn = /* @__PURE__ */ createIcon.createIcon({
|
|
260
273
|
displayName: 'NtdLogIn',
|
|
261
274
|
paths: {
|
|
262
|
-
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.
|
|
263
|
-
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.
|
|
264
|
-
duotone: ({ primaryColor, secondaryColor,
|
|
265
|
-
vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4", stroke:
|
|
275
|
+
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M9 7l5 5-5 5M12 12H3", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })),
|
|
276
|
+
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4M9 7l5 5-5 5M14 12H3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
|
|
277
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4", stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M9 7l5 5-5 5M12 12H3", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })] })),
|
|
278
|
+
vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M15 3h4a2 2 0 012 2v14a2 2 0 01-2 2h-4", stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M9 7l5 5-5 5M12 12H3", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })] })),
|
|
266
279
|
},
|
|
267
280
|
});
|
|
268
281
|
const NtdLogOut = /* @__PURE__ */ createIcon.createIcon({
|
|
269
282
|
displayName: 'NtdLogOut',
|
|
270
283
|
paths: {
|
|
271
|
-
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.
|
|
272
|
-
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.
|
|
273
|
-
duotone: ({ primaryColor, secondaryColor,
|
|
274
|
-
vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4", stroke:
|
|
284
|
+
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4M15 7l5 5-5 5M18 12H9", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })),
|
|
285
|
+
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4M15 7l5 5-5 5M20 12H9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
|
|
286
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4", stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M15 7l5 5-5 5M18 12H9", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })] })),
|
|
287
|
+
vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9 21H5a2 2 0 01-2-2V5a2 2 0 012-2h4", stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: "M15 7l5 5-5 5M18 12H9", stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" })] })),
|
|
275
288
|
},
|
|
276
289
|
});
|
|
277
290
|
const NtdLock = /* @__PURE__ */ createIcon.createIcon({
|