@crewlethq/icons 0.4.3 → 0.5.0
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/README.md +161 -19
- package/TRADEMARKS.md +1 -1
- package/dist/Glyph-0ZR8lPCf.d.ts +67 -0
- package/dist/chunk-J55MMDSE.js +820 -0
- package/dist/{chunk-CUOUFELK.js → chunk-TOSJN7HA.js} +15 -18
- package/dist/glyphs-registry.d.ts +128 -6
- package/dist/glyphs-registry.js +97 -84
- package/dist/glyphs.d.ts +123 -93
- package/dist/glyphs.js +5 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/glyphs/LICENSE +43 -0
- package/glyphs/README.md +168 -0
- package/glyphs/SHA256SUMS +119 -0
- package/glyphs/activity.svg +15 -0
- package/glyphs/arrow-down-to-line.svg +17 -0
- package/glyphs/arrow-down.svg +16 -0
- package/glyphs/arrow-right.svg +16 -0
- package/glyphs/arrow-up-down.svg +18 -0
- package/glyphs/arrow-up-right.svg +16 -0
- package/glyphs/arrow-up.svg +16 -0
- package/glyphs/badge-percent.svg +18 -0
- package/glyphs/ban.svg +16 -0
- package/glyphs/bell.svg +16 -0
- package/glyphs/book-open.svg +16 -0
- package/glyphs/bot.svg +20 -0
- package/glyphs/brain.svg +22 -0
- package/glyphs/bug.svg +25 -0
- package/glyphs/building-complex.svg +19 -0
- package/glyphs/calendar-clock.svg +20 -0
- package/glyphs/calendar.svg +18 -0
- package/glyphs/camera.svg +16 -0
- package/glyphs/chart-no-axes-gantt.svg +17 -0
- package/glyphs/check.svg +15 -0
- package/glyphs/chevron-down.svg +15 -0
- package/glyphs/chevron-left.svg +15 -0
- package/glyphs/chevron-right.svg +15 -0
- package/glyphs/chevron-up.svg +15 -0
- package/glyphs/chevrons-left.svg +16 -0
- package/glyphs/chevrons-right.svg +16 -0
- package/glyphs/chevrons-up-down.svg +16 -0
- package/glyphs/circle-alert.svg +17 -0
- package/glyphs/circle-check.svg +16 -0
- package/glyphs/circle-question-mark.svg +17 -0
- package/glyphs/circle.svg +15 -0
- package/glyphs/clock.svg +16 -0
- package/glyphs/code.svg +16 -0
- package/glyphs/cog.svg +28 -0
- package/glyphs/coins.svg +18 -0
- package/glyphs/columns-3.svg +17 -0
- package/glyphs/command.svg +15 -0
- package/glyphs/compass.svg +16 -0
- package/glyphs/copy.svg +16 -0
- package/glyphs/corner-down-left.svg +16 -0
- package/glyphs/cpu.svg +28 -0
- package/glyphs/crown.svg +16 -0
- package/glyphs/database.svg +17 -0
- package/glyphs/diff.svg +17 -0
- package/glyphs/ellipsis-vertical.svg +17 -0
- package/glyphs/ellipsis.svg +17 -0
- package/glyphs/external-link.svg +17 -0
- package/glyphs/eye-off.svg +18 -0
- package/glyphs/eye.svg +16 -0
- package/glyphs/file-text.svg +19 -0
- package/glyphs/flag.svg +15 -0
- package/glyphs/folder-input.svg +17 -0
- package/glyphs/folder-plus.svg +17 -0
- package/glyphs/folder.svg +15 -0
- package/glyphs/fullscreen.svg +19 -0
- package/glyphs/globe.svg +17 -0
- package/glyphs/grip-vertical.svg +20 -0
- package/glyphs/hash.svg +18 -0
- package/glyphs/house.svg +16 -0
- package/glyphs/inbox.svg +16 -0
- package/glyphs/info.svg +17 -0
- package/glyphs/key.svg +17 -0
- package/glyphs/layers.svg +17 -0
- package/glyphs/layout-dashboard.svg +18 -0
- package/glyphs/link.svg +16 -0
- package/glyphs/list-filter.svg +17 -0
- package/glyphs/list.svg +20 -0
- package/glyphs/maximize-2.svg +18 -0
- package/glyphs/maximize.svg +18 -0
- package/glyphs/menu.svg +17 -0
- package/glyphs/message-square.svg +15 -0
- package/glyphs/minimize.svg +18 -0
- package/glyphs/minus.svg +15 -0
- package/glyphs/monitor.svg +17 -0
- package/glyphs/moon.svg +15 -0
- package/glyphs/network.svg +19 -0
- package/glyphs/package.svg +18 -0
- package/glyphs/paperclip.svg +15 -0
- package/glyphs/pause.svg +16 -0
- package/glyphs/pencil.svg +16 -0
- package/glyphs/pin.svg +16 -0
- package/glyphs/plug.svg +18 -0
- package/glyphs/plus.svg +16 -0
- package/glyphs/power.svg +16 -0
- package/glyphs/redo.svg +16 -0
- package/glyphs/refresh-ccw.svg +18 -0
- package/glyphs/refresh-cw.svg +18 -0
- package/glyphs/repeat-2.svg +18 -0
- package/glyphs/rotate-ccw.svg +16 -0
- package/glyphs/rotate-cw.svg +16 -0
- package/glyphs/save.svg +17 -0
- package/glyphs/search.svg +16 -0
- package/glyphs/send.svg +16 -0
- package/glyphs/server.svg +18 -0
- package/glyphs/settings-2.svg +18 -0
- package/glyphs/settings.svg +16 -0
- package/glyphs/shield-user.svg +17 -0
- package/glyphs/shield.svg +15 -0
- package/glyphs/sliders-vertical.svg +23 -0
- package/glyphs/split.svg +18 -0
- package/glyphs/square-kanban.svg +18 -0
- package/glyphs/square-terminal.svg +17 -0
- package/glyphs/star.svg +15 -0
- package/glyphs/sun.svg +23 -0
- package/glyphs/table.svg +18 -0
- package/glyphs/target.svg +17 -0
- package/glyphs/trash.svg +19 -0
- package/glyphs/triangle-alert.svg +17 -0
- package/glyphs/undo.svg +16 -0
- package/glyphs/user-plus.svg +18 -0
- package/glyphs/user.svg +16 -0
- package/glyphs/users.svg +18 -0
- package/glyphs/wand-sparkles.svg +22 -0
- package/glyphs/wrench.svg +15 -0
- package/glyphs/x.svg +16 -0
- package/glyphs/zap.svg +15 -0
- package/glyphs/zoom-in.svg +18 -0
- package/glyphs/zoom-out.svg +17 -0
- package/package.json +7 -7
- package/dist/Glyph-kbRsfe3S.d.ts +0 -57
- package/dist/chunk-IBPOFE7X.js +0 -740
- package/dist/index-DRMc9hb_.d.ts +0 -4
- package/symbols/20/account_tree.svg +0 -1
- package/symbols/20/add.svg +0 -1
- package/symbols/20/apartment.svg +0 -1
- package/symbols/20/arrow_downward.svg +0 -1
- package/symbols/20/arrow_forward.svg +0 -1
- package/symbols/20/arrow_outward.svg +0 -1
- package/symbols/20/arrow_upward.svg +0 -1
- package/symbols/20/autorenew.svg +0 -1
- package/symbols/20/block.svg +0 -1
- package/symbols/20/bolt.svg +0 -1
- package/symbols/20/book_2.svg +0 -1
- package/symbols/20/bug_report.svg +0 -1
- package/symbols/20/build.svg +0 -1
- package/symbols/20/cable.svg +0 -1
- package/symbols/20/cached.svg +0 -1
- package/symbols/20/calendar_clock.svg +0 -1
- package/symbols/20/calendar_today.svg +0 -1
- package/symbols/20/chat.svg +0 -1
- package/symbols/20/check.svg +0 -1
- package/symbols/20/check_circle-fill.svg +0 -1
- package/symbols/20/check_circle.svg +0 -1
- package/symbols/20/chevron_left.svg +0 -1
- package/symbols/20/chevron_right.svg +0 -1
- package/symbols/20/close.svg +0 -1
- package/symbols/20/code.svg +0 -1
- package/symbols/20/computer.svg +0 -1
- package/symbols/20/content_copy.svg +0 -1
- package/symbols/20/create_new_folder.svg +0 -1
- package/symbols/20/crown.svg +0 -1
- package/symbols/20/cycle.svg +0 -1
- package/symbols/20/dark_mode.svg +0 -1
- package/symbols/20/dashboard.svg +0 -1
- package/symbols/20/database.svg +0 -1
- package/symbols/20/delete.svg +0 -1
- package/symbols/20/description.svg +0 -1
- package/symbols/20/difference.svg +0 -1
- package/symbols/20/dns.svg +0 -1
- package/symbols/20/drag_indicator.svg +0 -1
- package/symbols/20/edit.svg +0 -1
- package/symbols/20/error-fill.svg +0 -1
- package/symbols/20/error.svg +0 -1
- package/symbols/20/explore.svg +0 -1
- package/symbols/20/fit_screen.svg +0 -1
- package/symbols/20/flag.svg +0 -1
- package/symbols/20/folder.svg +0 -1
- package/symbols/20/fork_right.svg +0 -1
- package/symbols/20/fullscreen.svg +0 -1
- package/symbols/20/fullscreen_exit.svg +0 -1
- package/symbols/20/group.svg +0 -1
- package/symbols/20/help.svg +0 -1
- package/symbols/20/inbox.svg +0 -1
- package/symbols/20/info-fill.svg +0 -1
- package/symbols/20/info.svg +0 -1
- package/symbols/20/key.svg +0 -1
- package/symbols/20/keyboard_arrow_down.svg +0 -1
- package/symbols/20/keyboard_arrow_up.svg +0 -1
- package/symbols/20/keyboard_double_arrow_left.svg +0 -1
- package/symbols/20/keyboard_double_arrow_right.svg +0 -1
- package/symbols/20/layers.svg +0 -1
- package/symbols/20/light_mode.svg +0 -1
- package/symbols/20/link.svg +0 -1
- package/symbols/20/list.svg +0 -1
- package/symbols/20/manufacturing.svg +0 -1
- package/symbols/20/memory.svg +0 -1
- package/symbols/20/menu.svg +0 -1
- package/symbols/20/more_vert.svg +0 -1
- package/symbols/20/move_item.svg +0 -1
- package/symbols/20/neurology.svg +0 -1
- package/symbols/20/notifications.svg +0 -1
- package/symbols/20/open_in_new.svg +0 -1
- package/symbols/20/package_2.svg +0 -1
- package/symbols/20/pause.svg +0 -1
- package/symbols/20/person.svg +0 -1
- package/symbols/20/person_add.svg +0 -1
- package/symbols/20/photo_camera.svg +0 -1
- package/symbols/20/power_settings_new.svg +0 -1
- package/symbols/20/redo.svg +0 -1
- package/symbols/20/refresh.svg +0 -1
- package/symbols/20/remove.svg +0 -1
- package/symbols/20/save.svg +0 -1
- package/symbols/20/schedule.svg +0 -1
- package/symbols/20/search.svg +0 -1
- package/symbols/20/settings.svg +0 -1
- package/symbols/20/settings_backup_restore.svg +0 -1
- package/symbols/20/shield.svg +0 -1
- package/symbols/20/shield_person.svg +0 -1
- package/symbols/20/smart_toy.svg +0 -1
- package/symbols/20/star-fill.svg +0 -1
- package/symbols/20/star.svg +0 -1
- package/symbols/20/swap_vert.svg +0 -1
- package/symbols/20/tag.svg +0 -1
- package/symbols/20/target.svg +0 -1
- package/symbols/20/terminal.svg +0 -1
- package/symbols/20/timeline.svg +0 -1
- package/symbols/20/token.svg +0 -1
- package/symbols/20/tune.svg +0 -1
- package/symbols/20/undo.svg +0 -1
- package/symbols/20/unfold_more.svg +0 -1
- package/symbols/20/view_column.svg +0 -1
- package/symbols/20/visibility.svg +0 -1
- package/symbols/20/visibility_off.svg +0 -1
- package/symbols/20/warning-fill.svg +0 -1
- package/symbols/20/warning.svg +0 -1
- package/symbols/20/zoom_in.svg +0 -1
- package/symbols/20/zoom_out.svg +0 -1
- package/symbols/24/account_tree.svg +0 -1
- package/symbols/24/add.svg +0 -1
- package/symbols/24/apartment.svg +0 -1
- package/symbols/24/arrow_downward.svg +0 -1
- package/symbols/24/arrow_forward.svg +0 -1
- package/symbols/24/arrow_outward.svg +0 -1
- package/symbols/24/arrow_upward.svg +0 -1
- package/symbols/24/autorenew.svg +0 -1
- package/symbols/24/block.svg +0 -1
- package/symbols/24/bolt.svg +0 -1
- package/symbols/24/book_2.svg +0 -1
- package/symbols/24/bug_report.svg +0 -1
- package/symbols/24/build.svg +0 -1
- package/symbols/24/cable.svg +0 -1
- package/symbols/24/cached.svg +0 -1
- package/symbols/24/calendar_clock.svg +0 -1
- package/symbols/24/calendar_today.svg +0 -1
- package/symbols/24/chat.svg +0 -1
- package/symbols/24/check.svg +0 -1
- package/symbols/24/check_circle-fill.svg +0 -1
- package/symbols/24/check_circle.svg +0 -1
- package/symbols/24/chevron_left.svg +0 -1
- package/symbols/24/chevron_right.svg +0 -1
- package/symbols/24/close.svg +0 -1
- package/symbols/24/code.svg +0 -1
- package/symbols/24/computer.svg +0 -1
- package/symbols/24/content_copy.svg +0 -1
- package/symbols/24/create_new_folder.svg +0 -1
- package/symbols/24/crown.svg +0 -1
- package/symbols/24/cycle.svg +0 -1
- package/symbols/24/dark_mode.svg +0 -1
- package/symbols/24/dashboard.svg +0 -1
- package/symbols/24/database.svg +0 -1
- package/symbols/24/delete.svg +0 -1
- package/symbols/24/description.svg +0 -1
- package/symbols/24/difference.svg +0 -1
- package/symbols/24/dns.svg +0 -1
- package/symbols/24/drag_indicator.svg +0 -1
- package/symbols/24/edit.svg +0 -1
- package/symbols/24/error-fill.svg +0 -1
- package/symbols/24/error.svg +0 -1
- package/symbols/24/explore.svg +0 -1
- package/symbols/24/fit_screen.svg +0 -1
- package/symbols/24/flag.svg +0 -1
- package/symbols/24/folder.svg +0 -1
- package/symbols/24/fork_right.svg +0 -1
- package/symbols/24/fullscreen.svg +0 -1
- package/symbols/24/fullscreen_exit.svg +0 -1
- package/symbols/24/group.svg +0 -1
- package/symbols/24/help.svg +0 -1
- package/symbols/24/inbox.svg +0 -1
- package/symbols/24/info-fill.svg +0 -1
- package/symbols/24/info.svg +0 -1
- package/symbols/24/key.svg +0 -1
- package/symbols/24/keyboard_arrow_down.svg +0 -1
- package/symbols/24/keyboard_arrow_up.svg +0 -1
- package/symbols/24/keyboard_double_arrow_left.svg +0 -1
- package/symbols/24/keyboard_double_arrow_right.svg +0 -1
- package/symbols/24/layers.svg +0 -1
- package/symbols/24/light_mode.svg +0 -1
- package/symbols/24/link.svg +0 -1
- package/symbols/24/list.svg +0 -1
- package/symbols/24/manufacturing.svg +0 -1
- package/symbols/24/memory.svg +0 -1
- package/symbols/24/menu.svg +0 -1
- package/symbols/24/more_vert.svg +0 -1
- package/symbols/24/move_item.svg +0 -1
- package/symbols/24/neurology.svg +0 -1
- package/symbols/24/notifications.svg +0 -1
- package/symbols/24/open_in_new.svg +0 -1
- package/symbols/24/package_2.svg +0 -1
- package/symbols/24/pause.svg +0 -1
- package/symbols/24/person.svg +0 -1
- package/symbols/24/person_add.svg +0 -1
- package/symbols/24/photo_camera.svg +0 -1
- package/symbols/24/power_settings_new.svg +0 -1
- package/symbols/24/redo.svg +0 -1
- package/symbols/24/refresh.svg +0 -1
- package/symbols/24/remove.svg +0 -1
- package/symbols/24/save.svg +0 -1
- package/symbols/24/schedule.svg +0 -1
- package/symbols/24/search.svg +0 -1
- package/symbols/24/settings.svg +0 -1
- package/symbols/24/settings_backup_restore.svg +0 -1
- package/symbols/24/shield.svg +0 -1
- package/symbols/24/shield_person.svg +0 -1
- package/symbols/24/smart_toy.svg +0 -1
- package/symbols/24/star-fill.svg +0 -1
- package/symbols/24/star.svg +0 -1
- package/symbols/24/swap_vert.svg +0 -1
- package/symbols/24/tag.svg +0 -1
- package/symbols/24/target.svg +0 -1
- package/symbols/24/terminal.svg +0 -1
- package/symbols/24/timeline.svg +0 -1
- package/symbols/24/token.svg +0 -1
- package/symbols/24/tune.svg +0 -1
- package/symbols/24/undo.svg +0 -1
- package/symbols/24/unfold_more.svg +0 -1
- package/symbols/24/view_column.svg +0 -1
- package/symbols/24/visibility.svg +0 -1
- package/symbols/24/visibility_off.svg +0 -1
- package/symbols/24/warning-fill.svg +0 -1
- package/symbols/24/warning.svg +0 -1
- package/symbols/24/zoom_in.svg +0 -1
- package/symbols/24/zoom_out.svg +0 -1
- package/symbols/LICENSE +0 -202
- package/symbols/NOTICE +0 -15
- package/symbols/README.md +0 -44
- package/symbols/SHA256SUMS +0 -210
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# @crewlethq/icons
|
|
2
2
|
|
|
3
|
-
Everything a Crewlet surface draws that is not text: the
|
|
3
|
+
Everything a Crewlet surface draws that is not text: the Lucide glyph set, the marks of the applications the platform integrates with, and the Crewlet signature illustrations.
|
|
4
4
|
|
|
5
5
|
All three are React components compiled from SVG files that ship in the package. Nothing here fetches a font, a sprite or an image from another host, so a closed network draws exactly what an open one does.
|
|
6
6
|
|
|
7
7
|
| What | Import from | Looks like |
|
|
8
8
|
| ---- | ----------- | ---------- |
|
|
9
|
-
| Glyphs (
|
|
9
|
+
| Glyphs (Lucide, stroke on the 24 grid) | `@crewlethq/icons/glyphs` | `<XGlyph size="md" />` |
|
|
10
10
|
| A glyph chosen from a value | `@crewlethq/icons/glyphs/registry` | `glyphByName(name)` |
|
|
11
11
|
| Vendor marks | `@crewlethq/icons` | `<VendorMark vendor="slack" />` |
|
|
12
12
|
| Signature illustrations | `@crewlethq/icons` | `<AgentReading />`, `<Icon name="AgentReading" />` |
|
|
@@ -15,33 +15,42 @@ All three are React components compiled from SVG files that ship in the package.
|
|
|
15
15
|
## Glyphs
|
|
16
16
|
|
|
17
17
|
```tsx
|
|
18
|
-
import {
|
|
18
|
+
import { StarGlyph, XGlyph } from '@crewlethq/icons/glyphs';
|
|
19
19
|
|
|
20
|
-
<
|
|
21
|
-
<
|
|
20
|
+
<XGlyph size="md" />
|
|
21
|
+
<XGlyph size="lg" title="Close" />
|
|
22
|
+
<StarGlyph filled={kept} />
|
|
22
23
|
```
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
Lucide drawings, vendored unchanged from `lucide-static` and drawn as the approved design draws them: a stroke on the 24 unit grid at a weight of 1.75, with round caps and round joins. [`glyphs/README.md`](./glyphs/README.md) records which glyphs the set carries and why, their provenance, the checksums and how to add or replace one.
|
|
25
26
|
|
|
26
27
|
| Prop | Type | Default | Purpose |
|
|
27
28
|
| ---- | ---- | ------- | ------- |
|
|
28
29
|
| `size` | `'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl'` (12, 14, 16, 20, 24), a number of px, or any CSS length | `'1em'` | How big it draws. |
|
|
29
30
|
| `title` | string | none | Names the glyph for assistive technology. Without one the glyph is `aria-hidden` and unfocusable, which is right wherever a label sits beside it. |
|
|
30
|
-
| `
|
|
31
|
+
| `filled` | boolean | `false` | Paints the drawing's inside in the text colour. Only a glyph listed in `FILLABLE` takes it; see below. |
|
|
31
32
|
|
|
32
|
-
Every SVG attribute passes through, and `className` is added to the component's own `crewlet-glyph`.
|
|
33
|
+
Every other SVG attribute a caller sets on an icon passes through (a class, a style, a colour, a handler, an `aria-` or `data-` attribute), and `className` is added to the component's own `crewlet-glyph`. What the frame owns does not: `viewBox`, `fill`, `strokeWidth`, `strokeLinecap` and `strokeLinejoin` are not props, and the frame keeps them even against a caller the types do not reach, because each changes the drawing rather than where it sits or how big it is.
|
|
33
34
|
|
|
34
|
-
**Names
|
|
35
|
+
**Names are Lucide's, with a `Glyph` suffix,** because the bare words collide: `Timeline`, `List`, `Menu`, `Tag`, `Link` and `Code` are all `@crewlethq/ui` components, and a glyph taking one of those names would shadow the component at every import site that wanted both. `x` is `XGlyph`, `chevron-down` is `ChevronDownGlyph`, `columns-3` is `Columns3Glyph`. `GLYPH_NAMES` lists every vendored name and `GlyphName` is the union of them, so a name the package does not ship is a compile error.
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
### The stroke
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
The weight is 1.75 units of the 24 grid, where Lucide's own files say 2, and it scales with the glyph as the design's does: a 16 px glyph draws a 1.17 px line and a 24 px one a 1.75 px line. `--crewlet-glyph-stroke` moves it for every glyph beneath the element that sets it, and it is the one way to:
|
|
39
40
|
|
|
40
|
-
|
|
41
|
+
```css
|
|
42
|
+
.dense-toolbar {
|
|
43
|
+
--crewlet-glyph-stroke: 2;
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The glyph carries the weight twice: as a style that reads the variable, and as a plain `stroke-width="1.75"` attribute beneath it, so markup rendered on a server under a `style-src` policy that refuses style attributes still draws at the design weight rather than at the SVG default of 1. `GLYPH_STROKE` is the number, for a drawing of your own that stands beside a glyph.
|
|
41
48
|
|
|
42
|
-
The
|
|
49
|
+
### The filled state
|
|
43
50
|
|
|
44
|
-
|
|
51
|
+
**Only a `FILLABLE` glyph takes `filled`.** A stroke drawing with its inside painted reads as the mark only where the drawing is one closed silhouette: `bell` has an open clapper and would fill into a blob with a line through it, and `compass` and `target` are closed but would fill into a disc with nothing left to say which disc it is. So `FILLABLE` is a decision about meaning rather than a property of the geometry, the build refuses a name there whose drawing has an open stroke, and the component of every other glyph has no `filled` prop at all, so passing one is a compile error. It is `['star']` today: the kept state of the Crewlet console's favourite toggle.
|
|
52
|
+
|
|
53
|
+
A glyph a surface draws in two states that `FILLABLE` does not cover changes colour or changes glyph, rather than filling.
|
|
45
54
|
|
|
46
55
|
### Choosing a glyph from a value
|
|
47
56
|
|
|
@@ -49,7 +58,7 @@ It cannot when `size` is left at `1em` and an ancestor's `font-size` decides, be
|
|
|
49
58
|
import { glyphByName } from '@crewlethq/icons/glyphs/registry';
|
|
50
59
|
```
|
|
51
60
|
|
|
52
|
-
**This entry pulls in every glyph**, because a lookup by name is a lookup over all of them. That is the right trade where the name really is data (a navigation table, an event category, a configured integration kind) and the wrong one everywhere else, which is why it is a separate entry: code that imports one glyph never reaches it.
|
|
61
|
+
**This entry pulls in every glyph**, because a lookup by name is a lookup over all of them. That is the right trade where the name really is data (a navigation table, an event category, a configured integration kind) and the wrong one everywhere else, which is why it is a separate entry: code that imports one glyph never reaches it. The answer is the component registered under the name, with its own type: `glyphByName('star')` takes `filled` and `glyphByName('x')` does not.
|
|
53
62
|
|
|
54
63
|
## Vendor marks
|
|
55
64
|
|
|
@@ -105,7 +114,7 @@ The source SVGs ship in the package and are exported as `@crewlethq/icons/svg/*`
|
|
|
105
114
|
import markUrl from '@crewlethq/icons/svg/crewlet-icon.svg';
|
|
106
115
|
```
|
|
107
116
|
|
|
108
|
-
A bundler resolves the import to a URL. Outside a bundler, resolve the same specifier with `import.meta.resolve('@crewlethq/icons/svg/crewlet-icon.svg')` to get the file on disk. The vendored glyph drawings are exported the same way, as `@crewlethq/icons/
|
|
117
|
+
A bundler resolves the import to a URL. Outside a bundler, resolve the same specifier with `import.meta.resolve('@crewlethq/icons/svg/crewlet-icon.svg')` to get the file on disk. The vendored glyph drawings are exported the same way, as `@crewlethq/icons/glyphs/x.svg`, and so is the license that travels with them, as `@crewlethq/icons/glyphs/LICENSE`. A raw file is upstream's drawing at upstream's stroke of 2; the components are what draw it at the design's 1.75.
|
|
109
118
|
|
|
110
119
|
### Favicons
|
|
111
120
|
|
|
@@ -155,7 +164,7 @@ Loading the built entry in plain Node, with no bundler, therefore fails on the s
|
|
|
155
164
|
2. Run `npm run build`.
|
|
156
165
|
3. The new illustration is exported from `@crewlethq/icons` and appears in `ICON_NAMES`.
|
|
157
166
|
|
|
158
|
-
A vendor mark goes into `svg/vendor/` instead, and is added to the `VENDORS` list and the `Vendor` union in `src/VendorMark.tsx`. A glyph is vendored rather than drawn; see [`
|
|
167
|
+
A vendor mark goes into `svg/vendor/` instead, and is added to the `VENDORS` list and the `Vendor` union in `src/VendorMark.tsx`. A glyph is vendored rather than drawn; see [`glyphs/README.md`](./glyphs/README.md).
|
|
159
168
|
|
|
160
169
|
## Conventions for source SVGs
|
|
161
170
|
|
|
@@ -180,10 +189,143 @@ Signature illustrations follow these rules so they recolor from CSS and sit on o
|
|
|
180
189
|
|
|
181
190
|
**Vendor marks** (`svg/vendor/`): each application's own drawing in its own colours, on its own viewBox. The root element declares the fill it wants, because the build only supplies `currentColor` where a source declares none.
|
|
182
191
|
|
|
192
|
+
## Breaking changes in 0.5.0
|
|
193
|
+
|
|
194
|
+
**The glyphs are Lucide's stroke drawings, and the Material Symbols set is gone.** The approved design draws every glyph as a stroke on the 24 grid with round caps and joins, and a filled Material Symbol beside one reads as a mark from another set, so `@crewlethq/icons/glyphs` now carries Lucide drawings under Lucide's names. Every glyph changes drawing, and most change name. The `symbols/` tree, its `@crewlethq/icons/symbols/*` export and `scripts/vendor-symbols.mjs` are removed; the drawings are in `glyphs/`, exported as `@crewlethq/icons/glyphs/*`. The package's license is `MIT AND ISC` rather than `MIT AND Apache-2.0`, and the notice an application's third-party notices carry for the glyphs is `@crewlethq/icons/glyphs/LICENSE` rather than `@crewlethq/icons/symbols/LICENSE` and `NOTICE`.
|
|
195
|
+
|
|
196
|
+
The optical size axis goes with Material: a Lucide drawing is one drawing at every size, so `opsz` and the two functions that chose it are removed. A filled state is a prop rather than a second glyph, and only on a glyph that can carry one: Material's `check_circle-fill`, `error-fill`, `info-fill` and `warning-fill` were solid discs and triangles with the mark knocked out, which a stroke drawing cannot be, so they take the outline, and the tone around them carries the state as it already did.
|
|
197
|
+
|
|
198
|
+
**One name survives with a different meaning, and it is not a compile error**, so look for it: `FullscreenGlyph` is Lucide's `fullscreen`, the corners with a screen inside that succeed Material's `fit_screen`, and Material's `fullscreen`, the bare corners, is now `MaximizeGlyph`. `TagGlyph` is gone rather than repurposed: Material's `tag` was a hash sign, which is `HashGlyph`, and Lucide's own `tag` is a price label that under the old name would have drawn a different thing without a word.
|
|
199
|
+
|
|
200
|
+
| Was | Is |
|
|
201
|
+
| --- | --- |
|
|
202
|
+
| a glyph imported by its Material name | its Lucide successor, from the table below |
|
|
203
|
+
| `opsz={20}` or `opsz={24}` on a glyph | nothing: remove the prop |
|
|
204
|
+
| `glyphOpticalSize()`, `glyphPixels()`, the `GlyphOpticalSize` and `GlyphDrawing` types | nothing; `cssLength()` still says what length a size means |
|
|
205
|
+
| `<StarFillGlyph />` | `<StarGlyph filled />` |
|
|
206
|
+
| `fill="currentColor"` or `fill` in a stylesheet to solidify a glyph | `filled` on a `FILLABLE` glyph; a stylesheet `fill` paints a stroke drawing's inside, so drop it from any rule that reaches a `.crewlet-glyph` |
|
|
207
|
+
| a stylesheet or `strokeWidth` changing a glyph's weight | `--crewlet-glyph-stroke` on an ancestor |
|
|
208
|
+
| `@crewlethq/icons/symbols/20/<name>.svg` or `/24/<name>.svg` | `@crewlethq/icons/glyphs/<lucide-name>.svg` |
|
|
209
|
+
| `@crewlethq/icons/symbols/LICENSE` and `NOTICE` in your third-party notices | `@crewlethq/icons/glyphs/LICENSE` |
|
|
210
|
+
| a license scan expecting `MIT AND Apache-2.0` | `MIT AND ISC` |
|
|
211
|
+
| `glyphByName('close')` and the other Material names in a `GlyphName` | the Lucide name, from the table below |
|
|
212
|
+
|
|
213
|
+
Every Material Symbols name the package shipped, and its successor. A row's Lucide name is also the `GlyphName` for `glyphByName`.
|
|
214
|
+
|
|
215
|
+
<!-- The migration table: every Material Symbols name 0.4 shipped, once. test/migration.test.mjs holds it to that. -->
|
|
216
|
+
|
|
217
|
+
| Material Symbols name | Was | Lucide name | Is |
|
|
218
|
+
| --------------------- | --- | ----------- | -- |
|
|
219
|
+
| `account_tree` | `AccountTreeGlyph` | `network` | `NetworkGlyph` |
|
|
220
|
+
| `add` | `AddGlyph` | `plus` | `PlusGlyph` |
|
|
221
|
+
| `apartment` | `ApartmentGlyph` | `building-complex` | `BuildingComplexGlyph` |
|
|
222
|
+
| `arrow_downward` | `ArrowDownwardGlyph` | `arrow-down` | `ArrowDownGlyph` |
|
|
223
|
+
| `arrow_forward` | `ArrowForwardGlyph` | `arrow-right` | `ArrowRightGlyph` |
|
|
224
|
+
| `arrow_outward` | `ArrowOutwardGlyph` | `arrow-up-right` | `ArrowUpRightGlyph` |
|
|
225
|
+
| `arrow_upward` | `ArrowUpwardGlyph` | `arrow-up` | `ArrowUpGlyph` |
|
|
226
|
+
| `autorenew` | `AutorenewGlyph` | `refresh-cw` | `RefreshCwGlyph` |
|
|
227
|
+
| `block` | `BlockGlyph` | `ban` | `BanGlyph` |
|
|
228
|
+
| `bolt` | `BoltGlyph` | `zap` | `ZapGlyph` |
|
|
229
|
+
| `book_2` | `Book2Glyph` | `book-open` | `BookOpenGlyph` |
|
|
230
|
+
| `bug_report` | `BugReportGlyph` | `bug` | `BugGlyph` |
|
|
231
|
+
| `build` | `BuildGlyph` | `wrench` | `WrenchGlyph` |
|
|
232
|
+
| `cable` | `CableGlyph` | `plug` | `PlugGlyph` |
|
|
233
|
+
| `cached` | `CachedGlyph` | `refresh-ccw` | `RefreshCcwGlyph` |
|
|
234
|
+
| `calendar_clock` | `CalendarClockGlyph` | `calendar-clock` | `CalendarClockGlyph` |
|
|
235
|
+
| `calendar_today` | `CalendarTodayGlyph` | `calendar` | `CalendarGlyph` |
|
|
236
|
+
| `chat` | `ChatGlyph` | `message-square` | `MessageSquareGlyph` |
|
|
237
|
+
| `check` | `CheckGlyph` | `check` | `CheckGlyph` |
|
|
238
|
+
| `check_circle` | `CheckCircleGlyph` | `circle-check` | `CircleCheckGlyph` |
|
|
239
|
+
| `check_circle-fill` | `CheckCircleFillGlyph` | `circle-check` | `CircleCheckGlyph` |
|
|
240
|
+
| `chevron_left` | `ChevronLeftGlyph` | `chevron-left` | `ChevronLeftGlyph` |
|
|
241
|
+
| `chevron_right` | `ChevronRightGlyph` | `chevron-right` | `ChevronRightGlyph` |
|
|
242
|
+
| `close` | `CloseGlyph` | `x` | `XGlyph` |
|
|
243
|
+
| `code` | `CodeGlyph` | `code` | `CodeGlyph` |
|
|
244
|
+
| `computer` | `ComputerGlyph` | `monitor` | `MonitorGlyph` |
|
|
245
|
+
| `content_copy` | `ContentCopyGlyph` | `copy` | `CopyGlyph` |
|
|
246
|
+
| `create_new_folder` | `CreateNewFolderGlyph` | `folder-plus` | `FolderPlusGlyph` |
|
|
247
|
+
| `crown` | `CrownGlyph` | `crown` | `CrownGlyph` |
|
|
248
|
+
| `cycle` | `CycleGlyph` | `repeat-2` | `Repeat2Glyph` |
|
|
249
|
+
| `dark_mode` | `DarkModeGlyph` | `moon` | `MoonGlyph` |
|
|
250
|
+
| `dashboard` | `DashboardGlyph` | `layout-dashboard` | `LayoutDashboardGlyph` |
|
|
251
|
+
| `database` | `DatabaseGlyph` | `database` | `DatabaseGlyph` |
|
|
252
|
+
| `delete` | `DeleteGlyph` | `trash` | `TrashGlyph` |
|
|
253
|
+
| `description` | `DescriptionGlyph` | `file-text` | `FileTextGlyph` |
|
|
254
|
+
| `difference` | `DifferenceGlyph` | `diff` | `DiffGlyph` |
|
|
255
|
+
| `dns` | `DnsGlyph` | `server` | `ServerGlyph` |
|
|
256
|
+
| `drag_indicator` | `DragIndicatorGlyph` | `grip-vertical` | `GripVerticalGlyph` |
|
|
257
|
+
| `edit` | `EditGlyph` | `pencil` | `PencilGlyph` |
|
|
258
|
+
| `error` | `ErrorGlyph` | `circle-alert` | `CircleAlertGlyph` |
|
|
259
|
+
| `error-fill` | `ErrorFillGlyph` | `circle-alert` | `CircleAlertGlyph` |
|
|
260
|
+
| `explore` | `ExploreGlyph` | `compass` | `CompassGlyph` |
|
|
261
|
+
| `fit_screen` | `FitScreenGlyph` | `fullscreen` | `FullscreenGlyph` |
|
|
262
|
+
| `flag` | `FlagGlyph` | `flag` | `FlagGlyph` |
|
|
263
|
+
| `folder` | `FolderGlyph` | `folder` | `FolderGlyph` |
|
|
264
|
+
| `fork_right` | `ForkRightGlyph` | `split` | `SplitGlyph` |
|
|
265
|
+
| `fullscreen` | `FullscreenGlyph` | `maximize` | `MaximizeGlyph` |
|
|
266
|
+
| `fullscreen_exit` | `FullscreenExitGlyph` | `minimize` | `MinimizeGlyph` |
|
|
267
|
+
| `group` | `GroupGlyph` | `users` | `UsersGlyph` |
|
|
268
|
+
| `help` | `HelpGlyph` | `circle-question-mark` | `CircleQuestionMarkGlyph` |
|
|
269
|
+
| `inbox` | `InboxGlyph` | `inbox` | `InboxGlyph` |
|
|
270
|
+
| `info` | `InfoGlyph` | `info` | `InfoGlyph` |
|
|
271
|
+
| `info-fill` | `InfoFillGlyph` | `info` | `InfoGlyph` |
|
|
272
|
+
| `key` | `KeyGlyph` | `key` | `KeyGlyph` |
|
|
273
|
+
| `keyboard_arrow_down` | `KeyboardArrowDownGlyph` | `chevron-down` | `ChevronDownGlyph` |
|
|
274
|
+
| `keyboard_arrow_up` | `KeyboardArrowUpGlyph` | `chevron-up` | `ChevronUpGlyph` |
|
|
275
|
+
| `keyboard_double_arrow_left` | `KeyboardDoubleArrowLeftGlyph` | `chevrons-left` | `ChevronsLeftGlyph` |
|
|
276
|
+
| `keyboard_double_arrow_right` | `KeyboardDoubleArrowRightGlyph` | `chevrons-right` | `ChevronsRightGlyph` |
|
|
277
|
+
| `layers` | `LayersGlyph` | `layers` | `LayersGlyph` |
|
|
278
|
+
| `light_mode` | `LightModeGlyph` | `sun` | `SunGlyph` |
|
|
279
|
+
| `link` | `LinkGlyph` | `link` | `LinkGlyph` |
|
|
280
|
+
| `list` | `ListGlyph` | `list` | `ListGlyph` |
|
|
281
|
+
| `manufacturing` | `ManufacturingGlyph` | `cog` | `CogGlyph` |
|
|
282
|
+
| `memory` | `MemoryGlyph` | `cpu` | `CpuGlyph` |
|
|
283
|
+
| `menu` | `MenuGlyph` | `menu` | `MenuGlyph` |
|
|
284
|
+
| `more_vert` | `MoreVertGlyph` | `ellipsis-vertical` | `EllipsisVerticalGlyph` |
|
|
285
|
+
| `move_item` | `MoveItemGlyph` | `folder-input` | `FolderInputGlyph` |
|
|
286
|
+
| `neurology` | `NeurologyGlyph` | `brain` | `BrainGlyph` |
|
|
287
|
+
| `notifications` | `NotificationsGlyph` | `bell` | `BellGlyph` |
|
|
288
|
+
| `open_in_new` | `OpenInNewGlyph` | `external-link` | `ExternalLinkGlyph` |
|
|
289
|
+
| `package_2` | `Package2Glyph` | `package` | `PackageGlyph` |
|
|
290
|
+
| `pause` | `PauseGlyph` | `pause` | `PauseGlyph` |
|
|
291
|
+
| `person` | `PersonGlyph` | `user` | `UserGlyph` |
|
|
292
|
+
| `person_add` | `PersonAddGlyph` | `user-plus` | `UserPlusGlyph` |
|
|
293
|
+
| `photo_camera` | `PhotoCameraGlyph` | `camera` | `CameraGlyph` |
|
|
294
|
+
| `power_settings_new` | `PowerSettingsNewGlyph` | `power` | `PowerGlyph` |
|
|
295
|
+
| `redo` | `RedoGlyph` | `redo` | `RedoGlyph` |
|
|
296
|
+
| `refresh` | `RefreshGlyph` | `rotate-cw` | `RotateCwGlyph` |
|
|
297
|
+
| `remove` | `RemoveGlyph` | `minus` | `MinusGlyph` |
|
|
298
|
+
| `save` | `SaveGlyph` | `save` | `SaveGlyph` |
|
|
299
|
+
| `schedule` | `ScheduleGlyph` | `clock` | `ClockGlyph` |
|
|
300
|
+
| `search` | `SearchGlyph` | `search` | `SearchGlyph` |
|
|
301
|
+
| `settings` | `SettingsGlyph` | `settings` | `SettingsGlyph` |
|
|
302
|
+
| `settings_backup_restore` | `SettingsBackupRestoreGlyph` | `rotate-ccw` | `RotateCcwGlyph` |
|
|
303
|
+
| `shield` | `ShieldGlyph` | `shield` | `ShieldGlyph` |
|
|
304
|
+
| `shield_person` | `ShieldPersonGlyph` | `shield-user` | `ShieldUserGlyph` |
|
|
305
|
+
| `smart_toy` | `SmartToyGlyph` | `bot` | `BotGlyph` |
|
|
306
|
+
| `star` | `StarGlyph` | `star` | `StarGlyph` |
|
|
307
|
+
| `star-fill` | `StarFillGlyph` | `star` | `<StarGlyph filled />` |
|
|
308
|
+
| `swap_vert` | `SwapVertGlyph` | `arrow-up-down` | `ArrowUpDownGlyph` |
|
|
309
|
+
| `tag` | `TagGlyph` | `hash` | `HashGlyph` |
|
|
310
|
+
| `target` | `TargetGlyph` | `target` | `TargetGlyph` |
|
|
311
|
+
| `terminal` | `TerminalGlyph` | `square-terminal` | `SquareTerminalGlyph` |
|
|
312
|
+
| `timeline` | `TimelineGlyph` | `chart-no-axes-gantt` | `ChartNoAxesGanttGlyph` |
|
|
313
|
+
| `token` | `TokenGlyph` | `coins` | `CoinsGlyph` |
|
|
314
|
+
| `tune` | `TuneGlyph` | `sliders-vertical` | `SlidersVerticalGlyph` |
|
|
315
|
+
| `undo` | `UndoGlyph` | `undo` | `UndoGlyph` |
|
|
316
|
+
| `unfold_more` | `UnfoldMoreGlyph` | `chevrons-up-down` | `ChevronsUpDownGlyph` |
|
|
317
|
+
| `view_column` | `ViewColumnGlyph` | `columns-3` | `Columns3Glyph` |
|
|
318
|
+
| `visibility` | `VisibilityGlyph` | `eye` | `EyeGlyph` |
|
|
319
|
+
| `visibility_off` | `VisibilityOffGlyph` | `eye-off` | `EyeOffGlyph` |
|
|
320
|
+
| `warning` | `WarningGlyph` | `triangle-alert` | `TriangleAlertGlyph` |
|
|
321
|
+
| `warning-fill` | `WarningFillGlyph` | `triangle-alert` | `TriangleAlertGlyph` |
|
|
322
|
+
| `zoom_in` | `ZoomInGlyph` | `zoom-in` | `ZoomInGlyph` |
|
|
323
|
+
| `zoom_out` | `ZoomOutGlyph` | `zoom-out` | `ZoomOutGlyph` |
|
|
324
|
+
|
|
183
325
|
## License
|
|
184
326
|
|
|
185
|
-
MIT AND
|
|
327
|
+
MIT AND ISC.
|
|
186
328
|
|
|
187
|
-
The package's own code and artwork are MIT; the license text is in [`LICENSE`](./LICENSE), which ships in the package. The vendored
|
|
329
|
+
The package's own code and artwork are MIT; the license text is in [`LICENSE`](./LICENSE), which ships in the package. The vendored Lucide drawings in `glyphs/` are under the ISC License, and those Lucide derives from Feather are under Feather's MIT License as well; upstream's own [`glyphs/LICENSE`](./glyphs/LICENSE) carries both texts and ships beside them.
|
|
188
330
|
|
|
189
331
|
Both licenses cover copyright only. The Crewlet name, logo and character are trademarks, and so are the third-party marks in `svg/vendor/`. [`TRADEMARKS.md`](./TRADEMARKS.md), which also ships in the package, says how each may be used.
|
package/TRADEMARKS.md
CHANGED
|
@@ -34,6 +34,6 @@ Crewlet claims no rights in these marks. They are excluded from the MIT License'
|
|
|
34
34
|
|
|
35
35
|
## The glyph set
|
|
36
36
|
|
|
37
|
-
The
|
|
37
|
+
The Lucide drawings in `packages/icons/glyphs/` are Lucide's, under the ISC License, and those Lucide derives from Feather are under Feather's MIT License as well. Both licenses grant copyright permissions and say nothing about names, so the drawings may be used and redistributed, while "Lucide" and "Feather" stay the names of those projects: nothing this repository publishes is called by either, and neither project endorses it. `packages/icons/glyphs/LICENSE` carries both texts and ships in the package.
|
|
38
38
|
|
|
39
39
|
For any use this page does not allow, ask the maintainers first by opening an issue in this repository.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { SVGProps } from 'react';
|
|
2
|
+
|
|
3
|
+
/** The size steps, in px. The type scale's own steps, not a new scale. */
|
|
4
|
+
declare const GLYPH_SIZES: {
|
|
5
|
+
readonly xs: 12;
|
|
6
|
+
readonly sm: 14;
|
|
7
|
+
readonly md: 16;
|
|
8
|
+
readonly lg: 20;
|
|
9
|
+
readonly xl: 24;
|
|
10
|
+
};
|
|
11
|
+
type GlyphSizeStep = keyof typeof GLYPH_SIZES;
|
|
12
|
+
type GlyphSize = GlyphSizeStep | number | (string & {});
|
|
13
|
+
/**
|
|
14
|
+
* The stroke every glyph draws at, in units of the 24 grid: the approved
|
|
15
|
+
* design's `.ico` rule, 1.75 where Lucide's own files say 2. It scales with
|
|
16
|
+
* the glyph, as the design's does, so a 16 px glyph draws a 1.17 px line and a
|
|
17
|
+
* 24 px one a 1.75 px line.
|
|
18
|
+
*
|
|
19
|
+
* `--crewlet-glyph-stroke` on any ancestor moves it for everything beneath,
|
|
20
|
+
* and it is the one way to: a surface whose glyphs sit at a size where the
|
|
21
|
+
* line thins past legibility sets the variable once, rather than every glyph
|
|
22
|
+
* taking a prop that the next glyph added to the surface forgets.
|
|
23
|
+
*/
|
|
24
|
+
declare const GLYPH_STROKE = 1.75;
|
|
25
|
+
/**
|
|
26
|
+
* A glyph's props: its size, its name for assistive technology, and every SVG
|
|
27
|
+
* attribute a caller legitimately sets on an icon (a class, a style, a colour,
|
|
28
|
+
* a handler, an aria- or data- attribute).
|
|
29
|
+
*
|
|
30
|
+
* WHAT THE FRAME OWNS IS NOT HERE: the viewBox, the fill, the stroke width and
|
|
31
|
+
* the caps and joins. Each of those changes the drawing rather than where or
|
|
32
|
+
* how big it is, and each has one right answer for every glyph. `fill` in
|
|
33
|
+
* particular paints the inside of a stroke drawing, which turns every glyph
|
|
34
|
+
* with an open line into a blob. The filled state is `filled`, which only a
|
|
35
|
+
* FILLABLE glyph takes; the weight is `--crewlet-glyph-stroke`.
|
|
36
|
+
*/
|
|
37
|
+
interface GlyphProps extends Omit<SVGProps<SVGSVGElement>, 'title' | 'children' | 'viewBox' | 'fill' | 'strokeWidth' | 'strokeLinecap' | 'strokeLinejoin'> {
|
|
38
|
+
/** A step, a number of px, or any CSS length. Defaults to `1em`. */
|
|
39
|
+
size?: GlyphSize;
|
|
40
|
+
/**
|
|
41
|
+
* Names the glyph for assistive technology. Without one the glyph is
|
|
42
|
+
* decoration, which is what it almost always is: the meaning is carried by
|
|
43
|
+
* the label beside it.
|
|
44
|
+
*/
|
|
45
|
+
title?: string;
|
|
46
|
+
}
|
|
47
|
+
/** The props of a glyph listed in `FILLABLE`, and of no other. */
|
|
48
|
+
interface FillableGlyphProps extends GlyphProps {
|
|
49
|
+
/**
|
|
50
|
+
* Paints the drawing's inside in the text colour, for a state the outline
|
|
51
|
+
* and the solid mark tell apart: a kept item's star. The stroke stays, so
|
|
52
|
+
* the two states are one silhouette at one size.
|
|
53
|
+
*/
|
|
54
|
+
filled?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The CSS length a size prop means, `1em` when it says nothing.
|
|
58
|
+
*
|
|
59
|
+
* Shared with VendorMark, which sits on the same steps because it sits beside
|
|
60
|
+
* glyphs, and PUBLISHED for the same reason: a drawing that is not a Glyph at
|
|
61
|
+
* all (the Crewlet figure, a vendor's own SVG) is sized by a consumer who is
|
|
62
|
+
* choosing between it and a glyph, and a second reading of what `sm` is worth
|
|
63
|
+
* is how one of them stops matching the other.
|
|
64
|
+
*/
|
|
65
|
+
declare function cssLength(size: GlyphSize | undefined): string;
|
|
66
|
+
|
|
67
|
+
export { type FillableGlyphProps as F, type GlyphSize as G, type GlyphProps as a, GLYPH_SIZES as b, GLYPH_STROKE as c, type GlyphSizeStep as d, cssLength as e };
|