@nice2dev/icons 1.3.2 → 1.3.4
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 +122 -0
- package/README.md +12 -4
- package/dist/cjs/createIcon.js +4 -2
- package/dist/cjs/figmaExport.js +1 -0
- package/dist/cjs/iconParts.js +34 -1
- package/dist/cjs/icons/actions.js +85 -64
- package/dist/cjs/icons/business.js +65 -28
- package/dist/cjs/icons/education.js +37 -13
- package/dist/cjs/icons/files.js +58 -18
- package/dist/cjs/icons/index.js +1 -0
- package/dist/cjs/icons/media.js +87 -30
- package/dist/cjs/icons/navigation.js +26 -7
- package/dist/cjs/icons/omniverk.js +2 -1
- package/dist/cjs/icons/realestate.js +48 -10
- package/dist/cjs/icons/science.js +10 -6
- package/dist/cjs/icons/shapes.js +46 -12
- package/dist/cjs/icons/social.js +3 -9
- package/dist/cjs/icons/travel.js +21 -4
- package/dist/cjs/icons/ui.js +80 -39
- package/dist/cjs/icons/weather.js +5 -4
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/nicetodev-icons.css +1 -1
- package/dist/esm/createIcon.js +4 -2
- package/dist/esm/figmaExport.js +1 -0
- package/dist/esm/iconParts.js +34 -3
- package/dist/esm/icons/actions.js +87 -66
- package/dist/esm/icons/business.js +65 -28
- package/dist/esm/icons/education.js +37 -13
- package/dist/esm/icons/files.js +58 -18
- package/dist/esm/icons/index.js +1 -1
- package/dist/esm/icons/media.js +87 -30
- package/dist/esm/icons/navigation.js +26 -7
- package/dist/esm/icons/omniverk.js +2 -1
- package/dist/esm/icons/realestate.js +48 -10
- package/dist/esm/icons/science.js +10 -6
- package/dist/esm/icons/shapes.js +46 -12
- package/dist/esm/icons/social.js +3 -9
- package/dist/esm/icons/travel.js +21 -4
- package/dist/esm/icons/ui.js +81 -41
- package/dist/esm/icons/weather.js +5 -4
- package/dist/esm/index.js +1 -1
- package/dist/esm/nicetodev-icons.css +1 -1
- package/dist/types/iconParts.d.ts +14 -1
- package/dist/types/icons/index.d.ts +1 -1
- package/dist/types/icons/ui.d.ts +1 -0
- package/dist/types/types.d.ts +12 -3
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,127 @@
|
|
|
1
1
|
# @nice2dev/icons — Changelog
|
|
2
2
|
|
|
3
|
+
## 1.3.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 15f3a18: Icon browser feedback, round 34:
|
|
8
|
+
|
|
9
|
+
- Twice the stroke width in every variant but `outline`:
|
|
10
|
+
- `NtdMusic`: the stems move left so they still end flush with the note heads.
|
|
11
|
+
- `NtdClock`: the hands.
|
|
12
|
+
- `NtdShare`: the links.
|
|
13
|
+
- `NtdRepeat`: shafts and heads, redrawn tighter so they stay in the box; the shafts stop
|
|
14
|
+
short of the heads' points, so nothing sticks out in `sharp`.
|
|
15
|
+
- `NtdRefresh`: smaller heads, each pointing at the start of the other arrow's tail with a
|
|
16
|
+
clear gap.
|
|
17
|
+
- `NtdWifi`: the inner arc sits further from the dot, the arcs closer together.
|
|
18
|
+
- `NtdList`: dots a quarter smaller.
|
|
19
|
+
- Colours:
|
|
20
|
+
- `NtdHeart`: vivid outlines the split heart in the accent colour instead of an accent seam.
|
|
21
|
+
- `NtdBellRing`: the ring marks are primary when filled, accent in vivid.
|
|
22
|
+
- `NtdBriefcase`: the clasp is in the accent colour with a primary lock square.
|
|
23
|
+
- `NtdSmartphone`: filled, a primary frame round an accent screen with a primary button.
|
|
24
|
+
- Shapes:
|
|
25
|
+
- `NtdBook`: a notch in the right edge beside the pages, leaving a narrow strip of cover.
|
|
26
|
+
- `NtdNotebook`: a wider, shorter cover.
|
|
27
|
+
- `NtdAward`: the ribbon's inside between the two earlier sizes.
|
|
28
|
+
- `NtdApartment`: a thin primary sill under the door when filled.
|
|
29
|
+
- `NtdBus`: a front view with a big windscreen, the driver, headlights and rectangular wheels.
|
|
30
|
+
- `NtdBrush`: redrawn as a paintbrush — handle, ferrule and pointed bristles.
|
|
31
|
+
- Hardcoded colours (`#3B82F6`, white) are gone from `NtdShare` and `NtdRepeat`.
|
|
32
|
+
|
|
33
|
+
- 4fae5a4: `NtdHourglass` and the `turn` animation:
|
|
34
|
+
|
|
35
|
+
- `NtdHourglass`: two plates and a curved glass, the sand running from the top bulb through a
|
|
36
|
+
thread onto a pile in the bottom one. `NiceIcon` resolves it as `hourglass`.
|
|
37
|
+
- `animation="turn"` works on every icon: it turns the icon upside down, holds, turns it back
|
|
38
|
+
and holds again. On `NtdHourglass` the sand pours during the holds, in step with the turns.
|
|
39
|
+
- `animationDuration` now also sets the `--ntd-anim-duration` CSS variable, so parts an icon
|
|
40
|
+
animates inside itself (the hourglass sand) keep the same duration.
|
|
41
|
+
|
|
42
|
+
## 1.3.3
|
|
43
|
+
|
|
44
|
+
### Patch Changes
|
|
45
|
+
|
|
46
|
+
- 54a632e: Icon browser feedback, round 32:
|
|
47
|
+
|
|
48
|
+
- Line glyphs are twice the stroke width in every variant but `outline`: `NtdSearch`,
|
|
49
|
+
`NtdZoomIn`, `NtdZoomOut`, `NtdUndo`, `NtdRedo` (the tail; the head is unchanged), `NtdLink`,
|
|
50
|
+
`NtdLogIn`, `NtdLogOut`, and the stands of `NtdMicrophone` and `NtdMicrophoneOff`. The
|
|
51
|
+
microphones sit a little higher so the base stays inside the box. `NtdMicrophoneOff` keeps a gap
|
|
52
|
+
around its slash. `NtdGlobe`'s grid is twice as thick in the filled variants, but stays thin in
|
|
53
|
+
`outline`, `wireframe`, `duotone` and `cutout`.
|
|
54
|
+
- Shared sources: `NtdSearch`, `NtdZoomIn` and `NtdZoomOut` share one magnifier. `NtdBell` and
|
|
55
|
+
`NtdBellRing` share one bell, whose clapper is now a large half disc.
|
|
56
|
+
- Duotone (and vivid where noted) splits colours by part, with no backing disc or outline ring:
|
|
57
|
+
- `NtdPlus`, `NtdCheck`, `NtdClose`: the two strokes in different colours. Vivid adds the
|
|
58
|
+
crossing of the plus and the close in the accent colour.
|
|
59
|
+
- `NtdDownload`, `NtdUpload`, `NtdLogIn`, `NtdLogOut`: the arrow in primary, the tray or door
|
|
60
|
+
frame in secondary.
|
|
61
|
+
- `NtdChat`: the tail in secondary.
|
|
62
|
+
- `NtdFolder`: the tab in secondary.
|
|
63
|
+
- `NtdVideo`: the lens in secondary.
|
|
64
|
+
- `NtdUser`, `NtdAdmin`: the shoulders in secondary.
|
|
65
|
+
- `NtdLab`: vivid without the bubbles.
|
|
66
|
+
- `NtdApartment`: the windows and door in secondary.
|
|
67
|
+
- `NtdBriefcase`: the band and clasp in secondary.
|
|
68
|
+
- `NtdEye`: the eye in secondary.
|
|
69
|
+
- Filled variants:
|
|
70
|
+
- `NtdCalendar`: the header and rings in secondary over a primary sheet, the line between them
|
|
71
|
+
raised a little.
|
|
72
|
+
- `NtdSave`: the shutter and label in secondary.
|
|
73
|
+
- `NtdAward`: the ribbon filled in secondary.
|
|
74
|
+
- `NtdBriefcase`: a lower, wider clasp in secondary, and in the accent colour in vivid.
|
|
75
|
+
- `NtdPackage`: primary walls with accent edges, replacing the fixed 15% tint.
|
|
76
|
+
- `NtdApartment`: windows and door drawn as accent frames.
|
|
77
|
+
- `NtdEye`: a larger secondary pupil inside a thinner accent ring.
|
|
78
|
+
- Shapes:
|
|
79
|
+
- `NtdAdmin`: a longer tie that runs to the bottom edge.
|
|
80
|
+
- `NtdGarage`: three door panels of equal height, and square bottom corners in `sharp`.
|
|
81
|
+
- `NtdBook`: the pages set in from the cover's right edge.
|
|
82
|
+
- `NtdClipboard`: the lines of text sit higher.
|
|
83
|
+
- `NtdReceipt` and `NtdInvoice`: amounts further right, longer descriptions.
|
|
84
|
+
- `NtdSave` in `outline`: a larger shutter and window.
|
|
85
|
+
- `NtdDatabase` in `wireframe`: the outline's construction (it showed the gap bands as double
|
|
86
|
+
arcs).
|
|
87
|
+
- Hardcoded colours (`#3B82F6`, `#8B5CF6`, `#CBD5E1`, white overlays) are gone from the vivid
|
|
88
|
+
variants touched here.
|
|
89
|
+
- The cutout mask now renders `paths.solid` with `variant: 'cutout'` (the RSC renderer already
|
|
90
|
+
did), so a renderer can keep details visible in the cut.
|
|
91
|
+
|
|
92
|
+
- 9628cdc: Icon browser feedback, round 33:
|
|
93
|
+
|
|
94
|
+
- Heavier line glyphs in every variant but `outline`:
|
|
95
|
+
- twice the stroke width: `NtdDollar`, `NtdTrendUp`, `NtdTrendDown`, `NtdMaximize`,
|
|
96
|
+
`NtdMinimize`, `NtdRefresh`, and the pins of `NtdCpu`;
|
|
97
|
+
- 1.5 times: `NtdWifi` (its arcs are now concentric about the dot) and `NtdList` (its dots
|
|
98
|
+
are larger too).
|
|
99
|
+
- Arrow shafts stop short of their head's corner, so nothing sticks out in `sharp`.
|
|
100
|
+
- `NtdRefresh` is redrawn as two arcs with filled heads.
|
|
101
|
+
- Colours:
|
|
102
|
+
- `NtdEye`: a larger pupil, primary in the filled variants and secondary in duotone and
|
|
103
|
+
vivid, ringed in the accent colour.
|
|
104
|
+
- `NtdAtom`: the nucleus is primary when filled and secondary in duotone and vivid; vivid
|
|
105
|
+
adds an accent glow to the orbits.
|
|
106
|
+
- `NtdMountain`: the snow is secondary again.
|
|
107
|
+
- `NtdHeart`: duotone swaps its colours; vivid splits the heart in two with an accent seam.
|
|
108
|
+
- `NtdMenu`: the middle bar is secondary in duotone and vivid.
|
|
109
|
+
- `NtdCpu`: primary body, accent die (it had a fixed tint).
|
|
110
|
+
- `NtdApartment`: windows and door filled in the accent colour.
|
|
111
|
+
- `NtdCalculator`: accent display and key outlines (they were a fixed white).
|
|
112
|
+
- `NtdNotebook`: accent writing, shorter rings, fills-only duotone.
|
|
113
|
+
- Shapes:
|
|
114
|
+
- `NtdDatabase`: three discs of equal height.
|
|
115
|
+
- `NtdBook`: pages set further in from the cover's right edge.
|
|
116
|
+
- `NtdAward`: a smaller secondary inside on the ribbon.
|
|
117
|
+
- `NtdReceipt`: amounts further right.
|
|
118
|
+
- `NtdBus`: a side view with a passenger in the window.
|
|
119
|
+
- `NtdWallet`: redrawn — body, back pocket and clasp pocket.
|
|
120
|
+
- Outline and wireframe:
|
|
121
|
+
- `NtdSave`: the outline draws the wireframe's construction.
|
|
122
|
+
- `NtdGarage`: the wireframe takes the outline's evenly spaced door slats.
|
|
123
|
+
- Hardcoded colours (`#3B82F6`, `#8B5CF6`, `#F59E0B`, white) are gone from the touched icons.
|
|
124
|
+
|
|
3
125
|
## 1.3.2
|
|
4
126
|
|
|
5
127
|
No changes in this release.
|
package/README.md
CHANGED
|
@@ -193,6 +193,14 @@ Apply an animation by name:
|
|
|
193
193
|
|
|
194
194
|
Each animation maps to a CSS class `.ntd-anim-{name}` defined in `animations.css` (auto-imported).
|
|
195
195
|
|
|
196
|
+
`turn` turns any icon upside down, holds, turns it back and holds again. On `NtdHourglass` the
|
|
197
|
+
sand pours while it holds, in step with the turns at any `animationDuration`:
|
|
198
|
+
|
|
199
|
+
```tsx
|
|
200
|
+
<NtdHourglass animation="turn" />
|
|
201
|
+
<NtdHourglass animation="turn" animationDuration="6s" />
|
|
202
|
+
```
|
|
203
|
+
|
|
196
204
|
See [Full Animation Catalog](#full-animation-catalog) for the complete list.
|
|
197
205
|
|
|
198
206
|
---
|
|
@@ -406,9 +414,9 @@ Properties passed to every path renderer (pre-resolved from user props):
|
|
|
406
414
|
|
|
407
415
|
`NtdSearch` · `NtdEdit` · `NtdTrash` · `NtdSave` · `NtdDownload` · `NtdUpload` · `NtdShare` · `NtdCopy` · `NtdClipboard` · `NtdPlus` · `NtdMinus` · `NtdCheck` · `NtdFilter` · `NtdSort` · `NtdPrint` · `NtdZoomIn` · `NtdZoomOut` · `NtdUndo` · `NtdRedo` · `NtdLink` · `NtdSettings` · `NtdLogIn` · `NtdLogOut` · `NtdLock` · `NtdUnlock`
|
|
408
416
|
|
|
409
|
-
### UI & Status (
|
|
417
|
+
### UI & Status (27 icons)
|
|
410
418
|
|
|
411
|
-
`NtdHome` · `NtdUser` · `NtdUsers` · `NtdHeart` · `NtdStar` · `NtdBell` · `NtdEye` · `NtdEyeOff` · `NtdInfo` · `NtdWarning` · `NtdError` · `NtdSuccess` · `NtdHelp` · `NtdClock` · `NtdCalendar` · `NtdTag` · `NtdBookmark` · `NtdFlag` · `NtdThumbUp` · `NtdThumbDown` · `NtdShield` · `NtdGlobe` · `NtdMap` · `NtdPin` · `NtdSun` · `NtdMoon`
|
|
419
|
+
`NtdHome` · `NtdUser` · `NtdUsers` · `NtdHeart` · `NtdStar` · `NtdBell` · `NtdEye` · `NtdEyeOff` · `NtdInfo` · `NtdWarning` · `NtdError` · `NtdSuccess` · `NtdHelp` · `NtdClock` · `NtdHourglass` · `NtdCalendar` · `NtdTag` · `NtdBookmark` · `NtdFlag` · `NtdThumbUp` · `NtdThumbDown` · `NtdShield` · `NtdGlobe` · `NtdMap` · `NtdPin` · `NtdSun` · `NtdMoon`
|
|
412
420
|
|
|
413
421
|
### Media & Communication (19 icons)
|
|
414
422
|
|
|
@@ -466,9 +474,9 @@ Properties passed to every path renderer (pre-resolved from user props):
|
|
|
466
474
|
|
|
467
475
|
## Full Animation Catalog
|
|
468
476
|
|
|
469
|
-
### Core Transforms (
|
|
477
|
+
### Core Transforms (14)
|
|
470
478
|
|
|
471
|
-
`spin` · `spin-reverse` · `pulse` · `bounce` · `shake` · `float` · `flip` · `glow` · `wiggle` · `rubber` · `swing` · `tada` · `heartbeat`
|
|
479
|
+
`spin` · `spin-reverse` · `pulse` · `bounce` · `shake` · `float` · `flip` · `glow` · `wiggle` · `rubber` · `swing` · `tada` · `heartbeat` · `turn`
|
|
472
480
|
|
|
473
481
|
### Entrance Animations (22)
|
|
474
482
|
|
package/dist/cjs/createIcon.js
CHANGED
|
@@ -189,7 +189,10 @@ function createIcon(options) {
|
|
|
189
189
|
? `transform ${transition}`
|
|
190
190
|
: undefined;
|
|
191
191
|
const animStyle = {
|
|
192
|
-
|
|
192
|
+
// the variable carries the duration to the parts an icon animates inside itself
|
|
193
|
+
...(animationDuration
|
|
194
|
+
? { animationDuration, '--ntd-anim-duration': animationDuration }
|
|
195
|
+
: {}),
|
|
193
196
|
...(transformString ? { transform: transformString } : {}),
|
|
194
197
|
...(transformString ? { transformOrigin } : {}),
|
|
195
198
|
...(transitionValue ? { transition: transitionValue } : {}),
|
|
@@ -225,7 +228,6 @@ function createIcon(options) {
|
|
|
225
228
|
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
229
|
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
230
|
...renderProps,
|
|
228
|
-
variant: 'solid',
|
|
229
231
|
primaryColor: 'black',
|
|
230
232
|
secondaryColor: 'black',
|
|
231
233
|
accentColor: 'white',
|
package/dist/cjs/figmaExport.js
CHANGED
|
@@ -106,6 +106,7 @@ function exportIconToSvgString(svgElement, options = {}) {
|
|
|
106
106
|
clone.style.animation = '';
|
|
107
107
|
clone.style.animationName = '';
|
|
108
108
|
clone.style.animationDuration = '';
|
|
109
|
+
clone.style.removeProperty('--ntd-anim-duration');
|
|
109
110
|
// Remove SMIL animation elements
|
|
110
111
|
clone.querySelectorAll('animate, animateTransform, animateMotion').forEach((el) => el.remove());
|
|
111
112
|
}
|
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,29 @@ 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 secondary. The marks are primary on the solid
|
|
39
|
+
* bell, secondary in duotone and in the accent colour in vivid.
|
|
40
|
+
*/
|
|
41
|
+
function bellIcon(displayName, ringing) {
|
|
42
|
+
const parts = ({ primaryColor, strokeWidth }, detail, rings, ringsOpacity = 1) => (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: rings, strokeWidth: strokeWidth, opacity: ringsOpacity }))] }));
|
|
43
|
+
return createIcon.createIcon({
|
|
44
|
+
displayName,
|
|
45
|
+
paths: {
|
|
46
|
+
solid: (props) => parts(props, props.primaryColor, props.primaryColor),
|
|
47
|
+
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${BELL}${BELL_CLAPPER_LINE}${ringing ? BELL_RINGS : ''}`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
|
|
48
|
+
duotone: (props) => parts(props, props.secondaryColor, props.secondaryColor),
|
|
49
|
+
vivid: (props) => parts(props, props.secondaryColor, props.accentColor, props.accentOpacity),
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
}
|
|
22
53
|
/** The page of every paper icon: 16 × 20, its top-right corner folded over 8. */
|
|
23
54
|
const PAPER = 'M12 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V10z';
|
|
24
55
|
const PAPER_FOLD = 'M12 2v6a2 2 0 002 2h6z';
|
|
@@ -28,7 +59,7 @@ const PAPER_FOLD_SHARP = 'M12 2v8h8z';
|
|
|
28
59
|
/**
|
|
29
60
|
* A paper icon — NtdFile, and every document drawn on the same page (NtdFileText, NtdInvoice,
|
|
30
61
|
* 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
|
|
62
|
+
* `text` is the document's writing, a path of strokes kept below the fold (y ≥ 11, x 7–17),
|
|
32
63
|
* drawn in the accent colour on a filled page and in primary on a stroked one.
|
|
33
64
|
*/
|
|
34
65
|
function paperIcon(displayName, text = '') {
|
|
@@ -45,5 +76,7 @@ function paperIcon(displayName, text = '') {
|
|
|
45
76
|
});
|
|
46
77
|
}
|
|
47
78
|
|
|
79
|
+
exports.bellIcon = bellIcon;
|
|
80
|
+
exports.detailColor = detailColor;
|
|
48
81
|
exports.paperIcon = paperIcon;
|
|
49
82
|
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,17 +99,26 @@ 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
|
});
|
|
107
|
+
// NtdShare: three nodes joined by two links, the links twice the stroke width in every variant but
|
|
108
|
+
// `outline`. Duotone and vivid, fills only: the nodes primary, the links secondary (vivid had a
|
|
109
|
+
// fixed #3B82F6 node and white links that vanished on a light page).
|
|
110
|
+
const SHARE_NODES = 'M18 2a3 3 0 110 6 3 3 0 110-6zM6 9a3 3 0 110 6 3 3 0 110-6zM18 16a3 3 0 110 6 3 3 0 110-6z';
|
|
111
|
+
const SHARE_LINKS = 'M8.59 13.51L15.42 17.49M15.41 6.51L8.59 10.49';
|
|
112
|
+
function shareFilled(nodes, links, strokeWidth) {
|
|
113
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: SHARE_LINKS, stroke: links, strokeWidth: strokeWidth * 2 }), jsxRuntime.jsx("path", { d: SHARE_NODES, fill: nodes })] }));
|
|
114
|
+
}
|
|
88
115
|
const NtdShare = /* @__PURE__ */ createIcon.createIcon({
|
|
89
116
|
displayName: 'NtdShare',
|
|
90
117
|
paths: {
|
|
91
|
-
solid: ({ primaryColor, strokeWidth }) => (
|
|
118
|
+
solid: ({ primaryColor, strokeWidth }) => shareFilled(primaryColor, primaryColor, strokeWidth),
|
|
92
119
|
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "18", cy: "5", r: "2.5", stroke: primaryColor, strokeWidth: strokeWidth * 0.75, fill: "none" }), jsxRuntime.jsx("circle", { cx: "6", cy: "12", r: "2.5", stroke: primaryColor, strokeWidth: strokeWidth * 0.75, fill: "none" }), jsxRuntime.jsx("circle", { cx: "18", cy: "19", r: "2.5", stroke: primaryColor, strokeWidth: strokeWidth * 0.75, fill: "none" }), jsxRuntime.jsx("line", { x1: "8.59", y1: "13.51", x2: "15.42", y2: "17.49", stroke: primaryColor, strokeWidth: strokeWidth * 0.75 }), jsxRuntime.jsx("line", { x1: "15.41", y1: "6.51", x2: "8.59", y2: "10.49", stroke: primaryColor, strokeWidth: strokeWidth * 0.75 })] })),
|
|
93
|
-
duotone: ({ primaryColor, secondaryColor,
|
|
94
|
-
vivid: ({ primaryColor, secondaryColor }) => (
|
|
120
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => shareFilled(primaryColor, secondaryColor, strokeWidth),
|
|
121
|
+
vivid: ({ primaryColor, secondaryColor, strokeWidth }) => shareFilled(primaryColor, secondaryColor, strokeWidth),
|
|
95
122
|
},
|
|
96
123
|
});
|
|
97
124
|
const NtdCopy = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -103,24 +130,28 @@ const NtdCopy = /* @__PURE__ */ createIcon.createIcon({
|
|
|
103
130
|
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
131
|
},
|
|
105
132
|
});
|
|
133
|
+
/** NtdClipboard's two lines of text, high on the board (they sat below its middle). */
|
|
134
|
+
const CLIPBOARD_TEXT = 'M8 11h8M8 14.5h5';
|
|
106
135
|
const NtdClipboard = /* @__PURE__ */ createIcon.createIcon({
|
|
107
136
|
displayName: 'NtdClipboard',
|
|
108
137
|
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("
|
|
138
|
+
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 })] })),
|
|
139
|
+
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 })] })),
|
|
140
|
+
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 })] })),
|
|
141
|
+
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
142
|
},
|
|
114
143
|
});
|
|
115
144
|
// 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`.
|
|
145
|
+
// `solid` reads bold next to `outline` and still follows `strokeWidth`. Plus, check and close
|
|
146
|
+
// split their two strokes between the colours in duotone and vivid (no backing disc); vivid adds
|
|
147
|
+
// the crossing of the plus and the close in the accent colour.
|
|
117
148
|
const NtdPlus = /* @__PURE__ */ createIcon.createIcon({
|
|
118
149
|
displayName: 'NtdPlus',
|
|
119
150
|
paths: {
|
|
120
151
|
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
|
|
121
152
|
outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth })),
|
|
122
|
-
duotone: ({ primaryColor, secondaryColor,
|
|
123
|
-
vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.
|
|
153
|
+
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 })] })),
|
|
154
|
+
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
155
|
},
|
|
125
156
|
});
|
|
126
157
|
const NtdMinus = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -137,8 +168,8 @@ const NtdCheck = /* @__PURE__ */ createIcon.createIcon({
|
|
|
137
168
|
paths: {
|
|
138
169
|
solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M20 6L9 17l-5-5", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
|
|
139
170
|
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.
|
|
171
|
+
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 })] })),
|
|
172
|
+
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
173
|
},
|
|
143
174
|
});
|
|
144
175
|
const NtdFilter = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -168,52 +199,38 @@ const NtdPrint = /* @__PURE__ */ createIcon.createIcon({
|
|
|
168
199
|
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
200
|
},
|
|
170
201
|
});
|
|
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
|
-
});
|
|
202
|
+
const NtdZoomIn = /* @__PURE__ */ lensIcon('NtdZoomIn', 'M11 8v6M8 11h6');
|
|
203
|
+
const NtdZoomOut = /* @__PURE__ */ lensIcon('NtdZoomOut', 'M8 11h6');
|
|
189
204
|
/* NtdUndo / NtdRedo — the old glyph was two arcs of different radii whose ends
|
|
190
205
|
never met the arrow, which read as a fish rather than a rotation. Redrawn as
|
|
191
206
|
one semicircular loop (r 5.5 about 13.5,14 — mirrored to 10.5,14 for redo)
|
|
192
207
|
plus a chevron whose apex lands exactly on the tail start, so the arrow and
|
|
193
208
|
the tail close. `solid` fills the head so it is no longer byte-identical to
|
|
194
209
|
`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
|
|
210
|
+
of the apex, keeping the stroke cap from poking past the tip — duotone and
|
|
211
|
+
vivid too. Every variant but `outline` draws the tail at twice the stroke
|
|
212
|
+
width. */
|
|
196
213
|
const NtdUndo = /* @__PURE__ */ createIcon.createIcon({
|
|
197
214
|
displayName: 'NtdUndo',
|
|
198
215
|
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 })] })),
|
|
216
|
+
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
217
|
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
218
|
// Two-tone by PART, not by a backing blob: arrowhead in primary, tail in
|
|
202
219
|
// secondary, both at full strength. (The old version put a secondary disc
|
|
203
220
|
// behind the curve, which read as "a ball in the middle"; a washed-out tail
|
|
204
221
|
// 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,
|
|
222
|
+
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 })] })),
|
|
223
|
+
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
224
|
},
|
|
208
225
|
});
|
|
209
226
|
const NtdRedo = /* @__PURE__ */ createIcon.createIcon({
|
|
210
227
|
displayName: 'NtdRedo',
|
|
211
228
|
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 })] })),
|
|
229
|
+
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
230
|
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
231
|
// 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,
|
|
232
|
+
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 })] })),
|
|
233
|
+
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
234
|
},
|
|
218
235
|
});
|
|
219
236
|
// Reply: the arrow turns back to the left at a right angle (the "corner-up-left" of a message
|
|
@@ -227,14 +244,15 @@ const NtdReply = /* @__PURE__ */ createIcon.createIcon({
|
|
|
227
244
|
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
245
|
},
|
|
229
246
|
});
|
|
247
|
+
// A line glyph: twice the stroke width in every variant but `outline`.
|
|
230
248
|
const NtdLink = /* @__PURE__ */ createIcon.createIcon({
|
|
231
249
|
displayName: 'NtdLink',
|
|
232
250
|
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" })),
|
|
251
|
+
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
252
|
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
253
|
// 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,
|
|
254
|
+
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" })] })),
|
|
255
|
+
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
256
|
},
|
|
239
257
|
});
|
|
240
258
|
// NtdSettings: a gear whose eight teeth have flat tops, in every variant but `rounded`, which
|
|
@@ -256,22 +274,25 @@ const NtdSettings = /* @__PURE__ */ createIcon.createIcon({
|
|
|
256
274
|
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
275
|
},
|
|
258
276
|
});
|
|
277
|
+
// NtdLogIn / NtdLogOut: a line glyph, twice the stroke width in every variant but `outline`. The
|
|
278
|
+
// shaft stops 2 short of the arrowhead's point, so the square caps of `sharp` stay inside it.
|
|
279
|
+
// Duotone and vivid split it like NtdDownload: the arrow primary, the door frame secondary.
|
|
259
280
|
const NtdLogIn = /* @__PURE__ */ createIcon.createIcon({
|
|
260
281
|
displayName: 'NtdLogIn',
|
|
261
282
|
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:
|
|
283
|
+
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" })),
|
|
284
|
+
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" })),
|
|
285
|
+
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" })] })),
|
|
286
|
+
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
287
|
},
|
|
267
288
|
});
|
|
268
289
|
const NtdLogOut = /* @__PURE__ */ createIcon.createIcon({
|
|
269
290
|
displayName: 'NtdLogOut',
|
|
270
291
|
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:
|
|
292
|
+
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" })),
|
|
293
|
+
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" })),
|
|
294
|
+
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" })] })),
|
|
295
|
+
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
296
|
},
|
|
276
297
|
});
|
|
277
298
|
const NtdLock = /* @__PURE__ */ createIcon.createIcon({
|