From 1b4a7a338e0b0bd54e29a300384528fe6207c8ac Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 13 Apr 2026 14:44:35 -0400 Subject: [PATCH 1/8] wip --- .changeset/sparkly-hands-enjoy.md | 5 + src/lib/icons.ts | 616 +++++++++++++++++++++++++++++ src/routes/docs/icons/+page.svelte | 256 ++++++++++++ src/routes/docs/tomes.ts | 9 + src/routes/fuz.css | 7 + src/routes/library.json | 445 ++++++++++++++++++++- 6 files changed, 1337 insertions(+), 1 deletion(-) create mode 100644 .changeset/sparkly-hands-enjoy.md create mode 100644 src/lib/icons.ts create mode 100644 src/routes/docs/icons/+page.svelte diff --git a/.changeset/sparkly-hands-enjoy.md b/.changeset/sparkly-hands-enjoy.md new file mode 100644 index 000000000..181a2771a --- /dev/null +++ b/.changeset/sparkly-hands-enjoy.md @@ -0,0 +1,5 @@ +--- +'@fuzdev/fuz_ui': minor +--- + +feat: add svg icons diff --git a/src/lib/icons.ts b/src/lib/icons.ts new file mode 100644 index 000000000..931f35600 --- /dev/null +++ b/src/lib/icons.ts @@ -0,0 +1,616 @@ +import type {SvgData} from './Svg.svelte'; + +// SVG icon data for replacing character glyphs with scalable vector icons. +// Each export uses the `icon_` prefix and conforms to `SvgData`. +// Default viewBox is "0 0 100 100". + +// --- Status --- + +export const icon_unknown = { + label: 'unknown, double question mark', + paths: [ + { + d: 'M22 25a13 13 0 0 1 13-13 13 13 0 0 1 13 13c0 9-8 11-8 20h-10c0-13 8-13 8-20a3 3 0 0 0-3-3 3 3 0 0 0-3 3h-10zm8 28h10v10h-10zm22-28a13 13 0 0 1 13-13 13 13 0 0 1 13 13c0 9-8 11-8 20h-10c0-13 8-13 8-20a3 3 0 0 0-3-3 3 3 0 0 0-3 3h-10zm8 28h10v10h-10z', + }, + ], +} satisfies SvgData; + +export const icon_important = { + label: 'important, question and exclamation', + paths: [ + { + d: 'M20 25a13 13 0 0 1 13-13 13 13 0 0 1 13 13c0 9-8 11-8 20h-10c0-13 8-13 8-20a3 3 0 0 0-3-3 3 3 0 0 0-3 3h-10zm8 28h10v10h-10zm27-41h10v42h-10zm0 50h10v10h-10z', + }, + ], +} satisfies SvgData; + +export const icon_info = { + label: 'info circle', + paths: [ + { + d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zm-5 15h10v10h-10zm0 15h10v25h-10z', + }, + ], +} satisfies SvgData; + +// --- Actions --- + +export const icon_add = { + label: 'add, plus', + paths: [{d: 'M45 15v30h-30v10h30v30h10v-30h30v-10h-30v-30z'}], +} satisfies SvgData; + +export const icon_remove = { + label: 'remove, x mark', + paths: [ + { + d: 'M26.5 19.4l-7.1 7.1L42.9 50 19.4 73.5l7.1 7.1L50 57.1l23.5 23.5 7.1-7.1L57.1 50l23.5-23.5-7.1-7.1L50 42.9z', + }, + ], +} satisfies SvgData; + +export const icon_delete = { + label: 'delete, x in square', + paths: [ + { + d: 'M10 10h80v80h-80zm10 10v60h60v-60zm8 8l7-7 15 15 15-15 7 7-15 15 15 15-7 7-15-15-15 15-7-7 15-15z', + }, + ], +} satisfies SvgData; + +export const icon_clear = { + label: 'clear, backspace', + paths: [ + { + d: 'M35 15l-25 35 25 35h55v-70zm10 15l7-7 13 13 13-13 7 7-13 13 13 13-7 7-13-13-13 13-7-7 13-13z', + }, + ], +} satisfies SvgData; + +export const icon_restore = { + label: 'restore, redo arrow', + paths: [ + { + d: 'M65 20l20 20-20 20v-12a30 30 0 0 0-30 30h-12a42 42 0 0 1 42-42z', + }, + ], +} satisfies SvgData; + +export const icon_cancel = { + label: 'cancel, circle with line', + paths: [ + { + d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 0 1 24.7 59.7L25.3 25.3A35 35 0 0 1 50 15zm0 70a35 35 0 0 1-24.7-59.7l49.4 49.4A35 35 0 0 1 50 85z', + }, + ], +} satisfies SvgData; + +export const icon_drag = { + label: 'drag handle, three horizontal lines', + paths: [{d: 'M20 25h60v8h-60zm0 17h60v8h-60zm0 17h60v8h-60z'}], +} satisfies SvgData; + +export const icon_copy = { + label: 'copy, overlapping squares', + paths: [ + { + d: 'M25 10h45a5 5 0 0 1 5 5v45a5 5 0 0 1-5 5h-45a5 5 0 0 1-5-5v-45a5 5 0 0 1 5-5zm5 10v35h35v-35zm-5 20h-10v45a5 5 0 0 0 5 5h45v-10h-35a5 5 0 0 1-5-5z', + }, + ], +} satisfies SvgData; + +export const icon_paste = { + label: 'paste, clipboard', + paths: [ + { + d: 'M35 5h30v10h15a5 5 0 0 1 5 5v65a5 5 0 0 1-5 5h-60a5 5 0 0 1-5-5v-65a5 5 0 0 1 5-5h15zm5 5v10h20v-10zm-15 10v60h50v-60h-10v10h-30v-10z', + }, + ], +} satisfies SvgData; + +export const icon_reset = { + label: 'reset, undo arrow', + paths: [ + { + d: 'M35 20l-20 20 20 20v-12a30 30 0 0 1 30 30h12a42 42 0 0 0-42-42z', + }, + ], +} satisfies SvgData; + +export const icon_refresh = { + label: 'refresh, circular arrow', + paths: [ + { + d: 'M50 10a40 40 0 0 1 40 40h-12a28 28 0 0 0-28-28 28 28 0 0 0-28 28 28 28 0 0 0 28 28v12a40 40 0 0 1-40-40 40 40 0 0 1 40-40zm28 45l17 17-17 17z', + }, + ], +} satisfies SvgData; + +export const icon_connect = { + label: 'connect, link', + paths: [ + { + d: 'M30 40a15 15 0 0 0-15 15 15 15 0 0 0 15 15h10v10h-10a25 25 0 0 1-25-25 25 25 0 0 1 25-25h10v10zm30-10h10a25 25 0 0 1 25 25 25 25 0 0 1-25 25h-10v-10h10a15 15 0 0 0 15-15 15 15 0 0 0-15-15h-10zm-25 20h30v10h-30z', + }, + ], +} satisfies SvgData; + +export const icon_disconnect = { + label: 'disconnect, broken link', + paths: [ + { + d: 'M30 40a15 15 0 0 0-15 15 15 15 0 0 0 15 15h10v10h-10a25 25 0 0 1-25-25 25 25 0 0 1 25-25h10v10zm30-10h10a25 25 0 0 1 25 25 25 25 0 0 1-25 25h-10v-10h10a15 15 0 0 0 15-15 15 15 0 0 0-15-15h-10zm-22 15l-8-15h10l8 15zm24 10l8 15h-10l-8-15z', + }, + ], +} satisfies SvgData; + +export const icon_retry = { + label: 'retry, counterclockwise arrow', + paths: [ + { + d: 'M50 10a40 40 0 0 0-40 40h12a28 28 0 0 1 28-28 28 28 0 0 1 28 28 28 28 0 0 1-28 28v12a40 40 0 0 0 40-40 40 40 0 0 0-40-40zm-28 45l-17 17 17 17z', + }, + ], +} satisfies SvgData; + +export const icon_placeholder = { + label: 'placeholder, return arrow', + paths: [{d: 'M75 15v40h-40v15l-25-20 25-20v15h30v-30z'}], +} satisfies SvgData; + +export const icon_send = { + label: 'send, paper plane', + paths: [{d: 'M10 85l80-35-80-35v27l55 8-55 8z'}], +} satisfies SvgData; + +// --- Media --- + +export const icon_play = { + label: 'play', + paths: [{d: 'M25 10l55 40-55 40z'}], +} satisfies SvgData; + +export const icon_pause = { + label: 'pause', + paths: [{d: 'M25 15h15v70h-15zm35 0h15v70h-15z'}], +} satisfies SvgData; + +// --- Validation --- + +export const icon_checkmark = { + label: 'checkmark', + paths: [{d: 'M15 52l10-10 17 17 33-33 10 10-43 43z'}], +} satisfies SvgData; + +export const icon_xmark = { + label: 'x mark', + paths: [ + { + d: 'M26 19l-7 7 24 24-24 24 7 7 24-24 24 24 7-7-24-24 24-24-7-7-24 24z', + }, + ], +} satisfies SvgData; + +export const icon_xmark_heavy = { + label: 'heavy x mark', + paths: [ + { + d: 'M24 14l-10 10 26 26-26 26 10 10 26-26 26 26 10-10-26-26 26-26-10-10-26 26z', + }, + ], +} satisfies SvgData; + +// --- Navigation --- + +export const icon_download = { + label: 'download arrow', + paths: [{d: 'M45 10v40h-20l25 30 25-30h-20v-40zm-30 70v10h70v-10z'}], +} satisfies SvgData; + +export const icon_error = { + label: 'error, double exclamation', + paths: [ + { + d: 'M27 10h10v45h-10zm0 55h10v10h-10zm36-55h10v45h-10zm0 55h10v10h-10z', + }, + ], +} satisfies SvgData; + +export const icon_chevron_up = { + label: 'chevron up', + paths: [{d: 'M50 25l35 35-10 10-25-25-25 25-10-10z'}], +} satisfies SvgData; + +export const icon_chevron_right = { + label: 'chevron right', + paths: [{d: 'M35 15l35 35-35 35-10-10 25-25-25-25z'}], +} satisfies SvgData; + +export const icon_chevron_down = { + label: 'chevron down', + paths: [{d: 'M50 75l-35-35 10-10 25 25 25-25 10 10z'}], +} satisfies SvgData; + +export const icon_chevron_left = { + label: 'chevron left', + paths: [{d: 'M65 85l-35-35 35-35 10 10-25 25 25 25z'}], +} satisfies SvgData; + +export const icon_double_chevron_left = { + label: 'double chevron left', + paths: [ + { + d: 'M50 85l-35-35 35-35 8 8-27 27 27 27zm28 0l-35-35 35-35 8 8-27 27 27 27z', + }, + ], +} satisfies SvgData; + +export const icon_double_chevron_right = { + label: 'double chevron right', + paths: [ + { + d: 'M22 15l35 35-35 35-8-8 27-27-27-27zm28 0l35 35-35 35-8-8 27-27-27-27z', + }, + ], +} satisfies SvgData; + +// --- Editing --- + +export const icon_edit = { + label: 'edit, pencil', + paths: [ + { + d: 'M62 8l20 20-45 45-20-20zm-50 55l-5 20 20-5zm55-65l10-8 8 2 2 8-8 10z', + }, + ], +} satisfies SvgData; + +export const icon_sort = { + label: 'sort, up and down arrows', + paths: [ + { + d: 'M30 40l-20-25h12v-10h16v10h12zm40 20l20 25h-12v10h-16v-10h-12z', + }, + ], +} satisfies SvgData; + +// --- Domain --- + +export const icon_chat = { + label: 'chat bubble', + paths: [ + { + d: 'M15 10h70a5 5 0 0 1 5 5v50a5 5 0 0 1-5 5h-40l-20 20v-20h-10a5 5 0 0 1-5-5v-50a5 5 0 0 1 5-5zm10 10v40h10v12l12-12h38v-40z', + }, + ], +} satisfies SvgData; + +export const icon_thread = { + label: 'thread, broken stacked lines', + paths: [ + { + d: 'M15 20h30v10h-30zm40 0h30v10h-30zm-40 20h30v10h-30zm40 0h30v10h-30zm-40 20h30v10h-30zm40 0h30v10h-30z', + }, + ], +} satisfies SvgData; + +export const icon_turn = { + label: 'turn, speech bracket', + paths: [ + { + d: 'M20 15h60v10h-60zm20 20h40v10h-40zm-20-5v35h10v-30h50v-5z', + }, + ], +} satisfies SvgData; + +export const icon_file = { + label: 'file, document', + paths: [ + { + d: 'M20 5h40l25 25v60a5 5 0 0 1-5 5h-60a5 5 0 0 1-5-5v-80a5 5 0 0 1 5-5zm5 10v70h50v-50h-20v-20zm30 0v15h15z', + }, + ], +} satisfies SvgData; + +export const icon_list = { + label: 'list, bulleted lines', + paths: [ + { + d: 'M15 20a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm12 0h58v8h-58zm-12 18a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm12 0h58v8h-58zm-12 18a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm12 0h58v8h-58zm-12 18a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm12 0h58v8h-58z', + }, + ], +} satisfies SvgData; + +export const icon_directory = { + label: 'directory, folder', + paths: [ + { + d: 'M10 15h30l10 10h40a5 5 0 0 1 5 5v50a5 5 0 0 1-5 5h-80a5 5 0 0 1-5-5v-60a5 5 0 0 1 5-5zm5 10v50h70v-40h-40l-10-10z', + }, + ], +} satisfies SvgData; + +export const icon_create_file = { + label: 'create file, document with plus', + paths: [ + { + d: 'M20 5h40l25 25v60a5 5 0 0 1-5 5h-60a5 5 0 0 1-5-5v-80a5 5 0 0 1 5-5zm5 10v70h50v-50h-20v-20zm15 30h8v10h10v8h-10v10h-8v-10h-10v-8h10z', + }, + ], +} satisfies SvgData; + +export const icon_create_folder = { + label: 'create folder, folder with plus', + paths: [ + { + d: 'M10 15h30l10 10h40a5 5 0 0 1 5 5v50a5 5 0 0 1-5 5h-80a5 5 0 0 1-5-5v-60a5 5 0 0 1 5-5zm5 10v50h70v-40h-40l-10-10zm25 15h10v10h10v10h-10v10h-10v-10h-10v-10h10z', + }, + ], +} satisfies SvgData; + +export const icon_prompt = { + label: 'prompt, chevron with cursor', + paths: [{d: 'M10 25l30 25-30 25-8-10 18-15-18-15zm35 40h40v10h-40z'}], +} satisfies SvgData; + +export const icon_part = { + label: 'part, dashed vertical line', + paths: [ + { + d: 'M45 10h10v15h-10zm0 22h10v15h-10zm0 22h10v15h-10zm0 22h10v15h-10z', + }, + ], +} satisfies SvgData; + +export const icon_provider = { + label: 'provider, circle with plus', + paths: [ + { + d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zm-5 15h10v15h15v10h-15v15h-10v-15h-15v-10h15z', + }, + ], +} satisfies SvgData; + +export const icon_model = { + label: 'model, asterisk in circle', + paths: [ + { + d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zm-4 15h8v12l10-6 4 7-11 7 11 7-4 7-10-6v12h-8v-12l-10 6-4-7 11-7-11-7 4-7 10 6z', + }, + ], +} satisfies SvgData; + +export const icon_action = { + label: 'action, lightning bolt', + paths: [{d: 'M55 5l-30 45h20l-5 45 35-50h-20z'}], +} satisfies SvgData; + +export const icon_view = { + label: 'view, eye', + paths: [ + { + d: 'M50 20c-25 0-42 30-42 30s17 30 42 30 42-30 42-30-17-30-42-30zm0 10a20 20 0 1 1 0 40 20 20 0 0 1 0-40zm0 8a12 12 0 1 0 0 24 12 12 0 0 0 0-24z', + }, + ], +} satisfies SvgData; + +export const icon_preview = { + label: 'preview, concentric circles', + paths: [ + { + d: 'M50 10a40 40 0 1 0 0 80 40 40 0 0 0 0-80zm0 10a30 30 0 1 1 0 60 30 30 0 0 1 0-60zm0 10a20 20 0 1 0 0 40 20 20 0 0 0 0-40zm0 10a10 10 0 1 1 0 20 10 10 0 0 1 0-20z', + }, + ], +} satisfies SvgData; + +export const icon_log = { + label: 'log, scroll', + paths: [ + { + d: 'M20 10h50a10 10 0 0 1 10 10v60a10 10 0 0 1-10 10h-50a10 10 0 0 1-10-10v-60a10 10 0 0 1 10-10zm5 15v50h40v-50zm5 8h30v6h-30zm0 14h30v6h-30zm0 14h20v6h-20z', + }, + ], +} satisfies SvgData; + +export const icon_tab = { + label: 'tab, window frame', + paths: [ + { + d: 'M10 15h80v70h-80zm8 8v10h25v-10zm0 18v34h64v-34z', + }, + ], +} satisfies SvgData; + +export const icon_project = { + label: 'project, hexagon', + paths: [ + { + d: 'M50 5l40 23v44l-40 23-40-23v-44zm0 12l-30 17v34l30 17 30-17v-34z', + }, + ], +} satisfies SvgData; + +export const icon_capability = { + label: 'capability, wrench', + paths: [ + { + d: 'M72 8a28 28 0 0 0-25 40l-30 30a8 8 0 0 0 0 11l4 4a8 8 0 0 0 11 0l30-30a28 28 0 0 0 38-29l-14 14-12-4-4-12 14-14a28 28 0 0 0-12-10z', + }, + ], +} satisfies SvgData; + +export const icon_settings = { + label: 'settings, gear', + paths: [ + { + d: 'M43 5h14l2 12a35 35 0 0 1 10 6l11-5 7 12-9 8a35 35 0 0 1 0 12l9 8-7 12-11-5a35 35 0 0 1-10 6l-2 12h-14l-2-12a35 35 0 0 1-10-6l-11 5-7-12 9-8a35 35 0 0 1 0-12l-9-8 7-12 11 5a35 35 0 0 1 10-6zm7 30a15 15 0 1 0 0 30 15 15 0 0 0 0-30z', + }, + ], +} satisfies SvgData; + +export const icon_domain = { + label: 'domain, diamond', + paths: [ + { + d: 'M50 5l40 45-40 45-40-45zm0 15l-25 30 25 30 25-30z', + }, + ], +} satisfies SvgData; + +export const icon_page = { + label: 'page, browser window', + paths: [ + { + d: 'M10 10h80v80h-80zm8 8v12h64v-12zm0 20v44h64v-44z', + }, + ], +} satisfies SvgData; + +// --- Space/Container --- + +export const icon_space = { + label: 'space, house', + paths: [ + { + d: 'M50 10l40 35h-12v40h-20v-25h-16v25h-20v-40h-12zm0 18l-20 17v30h8v-25h24v25h8v-30z', + }, + ], +} satisfies SvgData; + +export const icon_desk = { + label: 'desk, star in circle', + paths: [ + { + d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zm0 8l8 16 18 3-13 13 3 18-16-8-16 8 3-18-13-13 18-3z', + }, + ], +} satisfies SvgData; + +export const icon_pin = { + label: 'pin, thumbtack', + paths: [ + { + d: 'M50 5a18 18 0 0 0-18 18c0 7 4 13 9 17l-6 18h30l-6-18c5-4 9-10 9-17a18 18 0 0 0-18-18zm-5 63h10v27h-10z', + }, + ], +} satisfies SvgData; + +// --- System --- + +export const icon_terminal = { + label: 'terminal, command prompt', + paths: [ + { + d: 'M10 10h80v80h-80zm8 8v64h64v-64zm7 10l20 20-20 20-7-7 13-13-13-13zm25 35h30v8h-30z', + }, + ], +} satisfies SvgData; + +export const icon_workspace = { + label: 'workspace, grid', + paths: [ + { + d: 'M10 10h35v35h-35zm45 0h35v35h-35zm-45 45h35v35h-35zm45 0h35v35h-35z', + }, + ], +} satisfies SvgData; + +export const icon_idea = { + label: 'idea, lightbulb', + paths: [ + { + d: 'M50 5a30 30 0 0 0-30 30c0 12 7 22 15 28v12a5 5 0 0 0 5 5h20a5 5 0 0 0 5-5v-12c8-6 15-16 15-28a30 30 0 0 0-30-30zm0 12a18 18 0 0 1 18 18c0 8-5 15-12 20v8h-12v-8c-7-5-12-12-12-20a18 18 0 0 1 18-18zm-8 70h16v6h-16z', + }, + ], +} satisfies SvgData; + +// --- Communication --- + +export const icon_ping = { + label: 'ping, circular arrow', + paths: [ + { + d: 'M50 10a40 40 0 1 1-28 12l8 8a28 28 0 1 0 20-8v12l-20-20 20-20v16z', + }, + ], +} satisfies SvgData; + +export const icon_heartbeat = { + label: 'heartbeat, pulse line', + paths: [ + { + d: 'M5 50h25l8-20 12 40 12-40 8 20h25v8h-30l-5-12-12 40-12-40-5 12h-26z', + }, + ], +} satisfies SvgData; + +export const icon_response = { + label: 'response, reply arrow', + paths: [{d: 'M40 20l-30 30 30 30v-20h30c10 0 15 5 15 15v15h10v-15c0-20-10-30-25-30h-30z'}], +} satisfies SvgData; + +export const icon_session = { + label: 'session, hexagon with dot', + paths: [ + { + d: 'M50 5l40 23v44l-40 23-40-23v-44zm0 12l-30 17v34l30 17 30-17v-34zm0 20a13 13 0 1 0 0 26 13 13 0 0 0 0-26z', + }, + ], +} satisfies SvgData; + +// --- Action Types --- + +export const icon_action_type_local_call = { + label: 'local call, right arrow', + paths: [{d: 'M15 40h40v-15l30 25-30 25v-15h-40z'}], +} satisfies SvgData; + +export const icon_action_type_remote_notification = { + label: 'remote notification, arrow with dot', + paths: [ + { + d: 'M15 40h30v-15l30 25-30 25v-15h-30zm55-15a10 10 0 1 0 0 20 10 10 0 0 0 0-20z', + }, + ], +} satisfies SvgData; + +export const icon_action_type_request_response = { + label: 'request response, bidirectional arrows', + paths: [ + { + d: 'M30 15l-20 20 20 20v-12h40v-16h-40zm40 30v12h-40v16h40v12l20-20z', + }, + ], +} satisfies SvgData; + +// --- Links --- + +export const icon_external_link = { + label: 'external link, arrow out of box', + paths: [ + { + d: 'M70 5h25v25l-10-10-30 30-7-7 30-30zm-50 10h30v10h-30v50h50v-30h10v35a5 5 0 0 1-5 5h-60a5 5 0 0 1-5-5v-60a5 5 0 0 1 5-5z', + }, + ], +} satisfies SvgData; + +export const icon_arrow_right = { + label: 'arrow right', + paths: [{d: 'M10 45h55v-15l25 20-25 20v-15h-55z'}], +} satisfies SvgData; + +export const icon_arrow_left = { + label: 'arrow left', + paths: [{d: 'M90 45h-55v-15l-25 20 25 20v-15h55z'}], +} satisfies SvgData; + +// --- Backend --- + +export const icon_backend = { + label: 'backend, server', + paths: [ + { + d: 'M15 10h70v25h-70zm8 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm15 0h30v10h-30zm-23 23h70v25h-70zm8 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm15 0h30v10h-30zm-23 23h70v25h-70zm8 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm15 0h30v10h-30z', + }, + ], +} satisfies SvgData; diff --git a/src/routes/docs/icons/+page.svelte b/src/routes/docs/icons/+page.svelte new file mode 100644 index 000000000..3e4b92a4e --- /dev/null +++ b/src/routes/docs/icons/+page.svelte @@ -0,0 +1,256 @@ + + + +
+

+ SVG icon replacements for Unicode character glyphs. Each icon is available as data. The character glyph is shown on the left, the SVG icon on the right. +

+
+
+
+ {#each icon_entries as entry (entry.name)} +
+
{entry.name}
+
+
+
+ +
+ char +
+
+
+ +
+ svg +
+
+
+ {/each} +
+
+
+ + diff --git a/src/routes/docs/tomes.ts b/src/routes/docs/tomes.ts index 7ce7f2bd8..45939f507 100644 --- a/src/routes/docs/tomes.ts +++ b/src/routes/docs/tomes.ts @@ -17,6 +17,7 @@ import Breadcrumb from '$routes/docs/Breadcrumb/+page.svelte'; import Card from '$routes/docs/Card/+page.svelte'; import Svg from '$routes/docs/Svg/+page.svelte'; import csp from '$routes/docs/csp/+page.svelte'; +import icons from '$routes/docs/icons/+page.svelte'; import logos from '$routes/docs/logos/+page.svelte'; import theming from '$routes/docs/theming/+page.svelte'; import api from '$routes/docs/api/+page.svelte'; @@ -88,6 +89,14 @@ export const tomes: Array = [ related_modules: ['intersect.svelte.ts'], related_declarations: [], }, + { + name: 'icons', + category: 'helpers', + Component: icons, + related_tomes: ['logos', 'Svg'], + related_modules: ['icons.ts'], + related_declarations: [], + }, { name: 'logos', category: 'helpers', diff --git a/src/routes/fuz.css b/src/routes/fuz.css index 9bdf623ec..a244f7712 100644 --- a/src/routes/fuz.css +++ b/src/routes/fuz.css @@ -113,6 +113,7 @@ --font_size_xl4: 5.33rem; --font_size_xl5: 6.78rem; --font_size_xl6: 8.62rem; + --font_size_xs: 1rem; --hue_a: 210; --hue_b: 120; --hue_c: 0; @@ -162,6 +163,7 @@ --shade_00: hsl(var(--tint_hue) var(--tint_saturation) 96%); --shade_05: hsl(var(--tint_hue) var(--tint_saturation) 93%); --shade_10: hsl(var(--tint_hue) var(--tint_saturation) 90%); + --shade_20: hsl(var(--tint_hue) var(--tint_saturation) 84%); --shade_30: hsl(var(--tint_hue) var(--tint_saturation) 76%); --shade_50: hsl(var(--tint_hue) var(--tint_saturation) 53%); --shade_max: #000; @@ -283,6 +285,7 @@ --shade_00: hsl(var(--tint_hue) var(--tint_saturation) 6%); --shade_05: hsl(var(--tint_hue) var(--tint_saturation) 9%); --shade_10: hsl(var(--tint_hue) var(--tint_saturation) 12%); + --shade_20: hsl(var(--tint_hue) var(--tint_saturation) 17%); --shade_30: hsl(var(--tint_hue) var(--tint_saturation) 26%); --shade_50: hsl(var(--tint_hue) var(--tint_saturation) 48%); --shade_max: #fff; @@ -946,6 +949,10 @@ body { --min_height: var(--input_height_sm); /* TODO this increases paragraph line spacing */ } +:where(small) { + font-size: var(--font_size_sm); +} + :where(img, picture, canvas, svg, video) { display: block; max-width: 100%; /* shrink to fit */ diff --git a/src/routes/library.json b/src/routes/library.json index c84f7a1a1..3910bfdc8 100644 --- a/src/routes/library.json +++ b/src/routes/library.json @@ -2757,7 +2757,7 @@ "name": "DOCS_PATH", "kind": "variable", "source_line": 31, - "type_signature": "\"/docs\" | \"/\" | \"/about\" | \"/docs/Alert\" | \"/docs/Breadcrumb\" | \"/docs/Breadcrumb/a\" | \"/docs/Breadcrumb/a/b\" | \"/docs/Breadcrumb/a/b/c\" | \"/docs/Breadcrumb/a/b/c/d\" | \"/docs/Card\" | ... 63 more ... | `/${string}${`/docs/api/${string}` & {}}`" + "type_signature": "\"/docs\" | \"/\" | \"/about\" | \"/docs/Alert\" | \"/docs/Breadcrumb\" | \"/docs/Breadcrumb/a\" | \"/docs/Breadcrumb/a/b\" | \"/docs/Breadcrumb/a/b/c\" | \"/docs/Breadcrumb/a/b/c/d\" | \"/docs/Card\" | ... 65 more ... | `/${string}${`/docs/api/${string}` & {}}`" }, { "name": "DOCS_API_PATH", @@ -3474,6 +3474,449 @@ } ] }, + { + "path": "icons.ts", + "declarations": [ + { + "name": "icon_unknown", + "kind": "variable", + "source_line": 9, + "type_signature": "SvgData" + }, + { + "name": "icon_important", + "kind": "variable", + "source_line": 18, + "type_signature": "SvgData" + }, + { + "name": "icon_info", + "kind": "variable", + "source_line": 27, + "type_signature": "SvgData" + }, + { + "name": "icon_add", + "kind": "variable", + "source_line": 38, + "type_signature": "SvgData" + }, + { + "name": "icon_remove", + "kind": "variable", + "source_line": 43, + "type_signature": "SvgData" + }, + { + "name": "icon_delete", + "kind": "variable", + "source_line": 52, + "type_signature": "SvgData" + }, + { + "name": "icon_clear", + "kind": "variable", + "source_line": 61, + "type_signature": "SvgData" + }, + { + "name": "icon_restore", + "kind": "variable", + "source_line": 70, + "type_signature": "SvgData" + }, + { + "name": "icon_cancel", + "kind": "variable", + "source_line": 79, + "type_signature": "SvgData" + }, + { + "name": "icon_drag", + "kind": "variable", + "source_line": 88, + "type_signature": "SvgData" + }, + { + "name": "icon_copy", + "kind": "variable", + "source_line": 93, + "type_signature": "SvgData" + }, + { + "name": "icon_paste", + "kind": "variable", + "source_line": 102, + "type_signature": "SvgData" + }, + { + "name": "icon_reset", + "kind": "variable", + "source_line": 111, + "type_signature": "SvgData" + }, + { + "name": "icon_refresh", + "kind": "variable", + "source_line": 120, + "type_signature": "SvgData" + }, + { + "name": "icon_connect", + "kind": "variable", + "source_line": 129, + "type_signature": "SvgData" + }, + { + "name": "icon_disconnect", + "kind": "variable", + "source_line": 138, + "type_signature": "SvgData" + }, + { + "name": "icon_retry", + "kind": "variable", + "source_line": 147, + "type_signature": "SvgData" + }, + { + "name": "icon_placeholder", + "kind": "variable", + "source_line": 156, + "type_signature": "SvgData" + }, + { + "name": "icon_send", + "kind": "variable", + "source_line": 161, + "type_signature": "SvgData" + }, + { + "name": "icon_play", + "kind": "variable", + "source_line": 168, + "type_signature": "SvgData" + }, + { + "name": "icon_pause", + "kind": "variable", + "source_line": 173, + "type_signature": "SvgData" + }, + { + "name": "icon_checkmark", + "kind": "variable", + "source_line": 180, + "type_signature": "SvgData" + }, + { + "name": "icon_xmark", + "kind": "variable", + "source_line": 185, + "type_signature": "SvgData" + }, + { + "name": "icon_xmark_heavy", + "kind": "variable", + "source_line": 194, + "type_signature": "SvgData" + }, + { + "name": "icon_download", + "kind": "variable", + "source_line": 205, + "type_signature": "SvgData" + }, + { + "name": "icon_error", + "kind": "variable", + "source_line": 210, + "type_signature": "SvgData" + }, + { + "name": "icon_chevron_up", + "kind": "variable", + "source_line": 219, + "type_signature": "SvgData" + }, + { + "name": "icon_chevron_right", + "kind": "variable", + "source_line": 224, + "type_signature": "SvgData" + }, + { + "name": "icon_chevron_down", + "kind": "variable", + "source_line": 229, + "type_signature": "SvgData" + }, + { + "name": "icon_chevron_left", + "kind": "variable", + "source_line": 234, + "type_signature": "SvgData" + }, + { + "name": "icon_double_chevron_left", + "kind": "variable", + "source_line": 239, + "type_signature": "SvgData" + }, + { + "name": "icon_double_chevron_right", + "kind": "variable", + "source_line": 248, + "type_signature": "SvgData" + }, + { + "name": "icon_edit", + "kind": "variable", + "source_line": 259, + "type_signature": "SvgData" + }, + { + "name": "icon_sort", + "kind": "variable", + "source_line": 268, + "type_signature": "SvgData" + }, + { + "name": "icon_chat", + "kind": "variable", + "source_line": 279, + "type_signature": "SvgData" + }, + { + "name": "icon_thread", + "kind": "variable", + "source_line": 288, + "type_signature": "SvgData" + }, + { + "name": "icon_turn", + "kind": "variable", + "source_line": 297, + "type_signature": "SvgData" + }, + { + "name": "icon_file", + "kind": "variable", + "source_line": 306, + "type_signature": "SvgData" + }, + { + "name": "icon_list", + "kind": "variable", + "source_line": 315, + "type_signature": "SvgData" + }, + { + "name": "icon_directory", + "kind": "variable", + "source_line": 324, + "type_signature": "SvgData" + }, + { + "name": "icon_create_file", + "kind": "variable", + "source_line": 333, + "type_signature": "SvgData" + }, + { + "name": "icon_create_folder", + "kind": "variable", + "source_line": 342, + "type_signature": "SvgData" + }, + { + "name": "icon_prompt", + "kind": "variable", + "source_line": 351, + "type_signature": "SvgData" + }, + { + "name": "icon_part", + "kind": "variable", + "source_line": 356, + "type_signature": "SvgData" + }, + { + "name": "icon_provider", + "kind": "variable", + "source_line": 365, + "type_signature": "SvgData" + }, + { + "name": "icon_model", + "kind": "variable", + "source_line": 374, + "type_signature": "SvgData" + }, + { + "name": "icon_action", + "kind": "variable", + "source_line": 383, + "type_signature": "SvgData" + }, + { + "name": "icon_view", + "kind": "variable", + "source_line": 388, + "type_signature": "SvgData" + }, + { + "name": "icon_preview", + "kind": "variable", + "source_line": 397, + "type_signature": "SvgData" + }, + { + "name": "icon_log", + "kind": "variable", + "source_line": 406, + "type_signature": "SvgData" + }, + { + "name": "icon_tab", + "kind": "variable", + "source_line": 415, + "type_signature": "SvgData" + }, + { + "name": "icon_project", + "kind": "variable", + "source_line": 424, + "type_signature": "SvgData" + }, + { + "name": "icon_capability", + "kind": "variable", + "source_line": 433, + "type_signature": "SvgData" + }, + { + "name": "icon_settings", + "kind": "variable", + "source_line": 442, + "type_signature": "SvgData" + }, + { + "name": "icon_domain", + "kind": "variable", + "source_line": 451, + "type_signature": "SvgData" + }, + { + "name": "icon_page", + "kind": "variable", + "source_line": 460, + "type_signature": "SvgData" + }, + { + "name": "icon_space", + "kind": "variable", + "source_line": 471, + "type_signature": "SvgData" + }, + { + "name": "icon_desk", + "kind": "variable", + "source_line": 480, + "type_signature": "SvgData" + }, + { + "name": "icon_pin", + "kind": "variable", + "source_line": 489, + "type_signature": "SvgData" + }, + { + "name": "icon_terminal", + "kind": "variable", + "source_line": 500, + "type_signature": "SvgData" + }, + { + "name": "icon_workspace", + "kind": "variable", + "source_line": 509, + "type_signature": "SvgData" + }, + { + "name": "icon_idea", + "kind": "variable", + "source_line": 518, + "type_signature": "SvgData" + }, + { + "name": "icon_ping", + "kind": "variable", + "source_line": 529, + "type_signature": "SvgData" + }, + { + "name": "icon_heartbeat", + "kind": "variable", + "source_line": 538, + "type_signature": "SvgData" + }, + { + "name": "icon_response", + "kind": "variable", + "source_line": 547, + "type_signature": "SvgData" + }, + { + "name": "icon_session", + "kind": "variable", + "source_line": 552, + "type_signature": "SvgData" + }, + { + "name": "icon_action_type_local_call", + "kind": "variable", + "source_line": 563, + "type_signature": "SvgData" + }, + { + "name": "icon_action_type_remote_notification", + "kind": "variable", + "source_line": 568, + "type_signature": "SvgData" + }, + { + "name": "icon_action_type_request_response", + "kind": "variable", + "source_line": 577, + "type_signature": "SvgData" + }, + { + "name": "icon_external_link", + "kind": "variable", + "source_line": 588, + "type_signature": "SvgData" + }, + { + "name": "icon_arrow_right", + "kind": "variable", + "source_line": 597, + "type_signature": "SvgData" + }, + { + "name": "icon_arrow_left", + "kind": "variable", + "source_line": 602, + "type_signature": "SvgData" + }, + { + "name": "icon_backend", + "kind": "variable", + "source_line": 609, + "type_signature": "SvgData" + } + ] + }, { "path": "ImgOrSvg.svelte", "declarations": [ From fbea522c14f53e3c37a198f284fa195ba04b7bc6 Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 13 Apr 2026 16:02:07 -0400 Subject: [PATCH 2/8] wip --- src/lib/icons.ts | 66 ++++++++------- src/routes/docs/icons/+page.svelte | 2 + src/routes/library.json | 130 +++++++++++++++-------------- 3 files changed, 104 insertions(+), 94 deletions(-) diff --git a/src/lib/icons.ts b/src/lib/icons.ts index 931f35600..e69c029f4 100644 --- a/src/lib/icons.ts +++ b/src/lib/icons.ts @@ -10,7 +10,7 @@ export const icon_unknown = { label: 'unknown, double question mark', paths: [ { - d: 'M22 25a13 13 0 0 1 13-13 13 13 0 0 1 13 13c0 9-8 11-8 20h-10c0-13 8-13 8-20a3 3 0 0 0-3-3 3 3 0 0 0-3 3h-10zm8 28h10v10h-10zm22-28a13 13 0 0 1 13-13 13 13 0 0 1 13 13c0 9-8 11-8 20h-10c0-13 8-13 8-20a3 3 0 0 0-3-3 3 3 0 0 0-3 3h-10zm8 28h10v10h-10z', + d: 'M11 25a17 17 0 0 1 17-17 17 17 0 0 1 17 17c0 12-10 16-10 26h-14c0-14 10-14 10-26a3 3 0 0 0-3-3 3 3 0 0 0-3 3zm10 40h14v14h-14zm34-40a17 17 0 0 1 17-17 17 17 0 0 1 17 17c0 12-10 16-10 26h-14c0-14 10-14 10-26a3 3 0 0 0-3-3 3 3 0 0 0-3 3zm10 40h14v14h-14z', }, ], } satisfies SvgData; @@ -19,7 +19,7 @@ export const icon_important = { label: 'important, question and exclamation', paths: [ { - d: 'M20 25a13 13 0 0 1 13-13 13 13 0 0 1 13 13c0 9-8 11-8 20h-10c0-13 8-13 8-20a3 3 0 0 0-3-3 3 3 0 0 0-3 3h-10zm8 28h10v10h-10zm27-41h10v42h-10zm0 50h10v10h-10z', + d: 'M11 25a17 17 0 0 1 17-17 17 17 0 0 1 17 17c0 12-10 16-10 26h-14c0-14 10-14 10-26a3 3 0 0 0-3-3 3 3 0 0 0-3 3zm10 40h14v14h-14zm44-57h14v46h-14zm0 57h14v14h-14z', }, ], } satisfies SvgData; @@ -53,7 +53,7 @@ export const icon_delete = { label: 'delete, x in square', paths: [ { - d: 'M10 10h80v80h-80zm10 10v60h60v-60zm8 8l7-7 15 15 15-15 7 7-15 15 15 15-7 7-15-15-15 15-7-7 15-15z', + d: 'M10 10h80v80h-80zm10 10v60h60v-60zm8 15l7-7 15 15 15-15 7 7-15 15 15 15-7 7-15-15-15 15-7-7 15-15z', }, ], } satisfies SvgData; @@ -62,7 +62,7 @@ export const icon_clear = { label: 'clear, backspace', paths: [ { - d: 'M35 15l-25 35 25 35h55v-70zm10 15l7-7 13 13 13-13 7 7-13 13 13 13-7 7-13-13-13 13-7-7 13-13z', + d: 'M35 15l-25 35 25 35h55v-70zm8 22l7-7 13 13 13-13 7 7-13 13 13 13-7 7-13-13-13 13-7-7 13-13z', }, ], } satisfies SvgData; @@ -80,7 +80,7 @@ export const icon_cancel = { label: 'cancel, circle with line', paths: [ { - d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 0 1 24.7 59.7L25.3 25.3A35 35 0 0 1 50 15zm0 70a35 35 0 0 1-24.7-59.7l49.4 49.4A35 35 0 0 1 50 85z', + d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 1 1 0-70zM28 35l7-7 37 37-7 7z', }, ], } satisfies SvgData; @@ -93,9 +93,8 @@ export const icon_drag = { export const icon_copy = { label: 'copy, overlapping squares', paths: [ - { - d: 'M25 10h45a5 5 0 0 1 5 5v45a5 5 0 0 1-5 5h-45a5 5 0 0 1-5-5v-45a5 5 0 0 1 5-5zm5 10v35h35v-35zm-5 20h-10v45a5 5 0 0 0 5 5h45v-10h-35a5 5 0 0 1-5-5z', - }, + {d: 'M10 30h45v45h-45zm7 7v31h31v-31z'}, + {d: 'M30 10h45v45h-45zm7 7v31h31v-31z'}, ], } satisfies SvgData; @@ -120,9 +119,8 @@ export const icon_reset = { export const icon_refresh = { label: 'refresh, circular arrow', paths: [ - { - d: 'M50 10a40 40 0 0 1 40 40h-12a28 28 0 0 0-28-28 28 28 0 0 0-28 28 28 28 0 0 0 28 28v12a40 40 0 0 1-40-40 40 40 0 0 1 40-40zm28 45l17 17-17 17z', - }, + {d: 'M70 15A40 40 0 1 1 30 15L36 26A28 28 0 1 0 64 26z'}, + {d: 'M86 21L70 15 64 26z'}, ], } satisfies SvgData; @@ -139,7 +137,7 @@ export const icon_disconnect = { label: 'disconnect, broken link', paths: [ { - d: 'M30 40a15 15 0 0 0-15 15 15 15 0 0 0 15 15h10v10h-10a25 25 0 0 1-25-25 25 25 0 0 1 25-25h10v10zm30-10h10a25 25 0 0 1 25 25 25 25 0 0 1-25 25h-10v-10h10a15 15 0 0 0 15-15 15 15 0 0 0-15-15h-10zm-22 15l-8-15h10l8 15zm24 10l8 15h-10l-8-15z', + d: 'M30 40a15 15 0 0 0-15 15 15 15 0 0 0 15 15h10v10h-10a25 25 0 0 1-25-25 25 25 0 0 1 25-25h10v10zm30-10h10a25 25 0 0 1 25 25 25 25 0 0 1-25 25h-10v-10h10a15 15 0 0 0 15-15 15 15 0 0 0-15-15h-10zM44 42l-4-8h8l4 8zM56 58l4 8h-8l-4-8z', }, ], } satisfies SvgData; @@ -147,9 +145,8 @@ export const icon_disconnect = { export const icon_retry = { label: 'retry, counterclockwise arrow', paths: [ - { - d: 'M50 10a40 40 0 0 0-40 40h12a28 28 0 0 1 28-28 28 28 0 0 1 28 28 28 28 0 0 1-28 28v12a40 40 0 0 0 40-40 40 40 0 0 0-40-40zm-28 45l-17 17 17 17z', - }, + {d: 'M30 15A40 40 0 1 0 70 15L64 26A28 28 0 1 1 36 26z'}, + {d: 'M14 21L30 15 36 26z'}, ], } satisfies SvgData; @@ -182,6 +179,11 @@ export const icon_checkmark = { paths: [{d: 'M15 52l10-10 17 17 33-33 10 10-43 43z'}], } satisfies SvgData; +export const icon_checkmark_heavy = { + label: 'heavy checkmark', + paths: [{d: 'M10 50l14-14 18 18 34-34 14 14-48 48z'}], +} satisfies SvgData; + export const icon_xmark = { label: 'x mark', paths: [ @@ -211,36 +213,36 @@ export const icon_error = { label: 'error, double exclamation', paths: [ { - d: 'M27 10h10v45h-10zm0 55h10v10h-10zm36-55h10v45h-10zm0 55h10v10h-10z', + d: 'M21 8h14v46h-14zm0 57h14v14h-14zm44-57h14v46h-14zm0 57h14v14h-14z', }, ], } satisfies SvgData; export const icon_chevron_up = { label: 'chevron up', - paths: [{d: 'M50 25l35 35-10 10-25-25-25 25-10-10z'}], + paths: [{d: 'M50 33l35 28-5 7-30-24-30 24-5-7z'}], } satisfies SvgData; export const icon_chevron_right = { label: 'chevron right', - paths: [{d: 'M35 15l35 35-35 35-10-10 25-25-25-25z'}], + paths: [{d: 'M67 50l-28 35-7-5 24-30-24-30 7-5z'}], } satisfies SvgData; export const icon_chevron_down = { label: 'chevron down', - paths: [{d: 'M50 75l-35-35 10-10 25 25 25-25 10 10z'}], + paths: [{d: 'M50 67l-35-28 5-7 30 24 30-24 5 7z'}], } satisfies SvgData; export const icon_chevron_left = { label: 'chevron left', - paths: [{d: 'M65 85l-35-35 35-35 10 10-25 25 25 25z'}], + paths: [{d: 'M33 50l28-35 7 5-24 30 24 30-7 5z'}], } satisfies SvgData; export const icon_double_chevron_left = { label: 'double chevron left', paths: [ { - d: 'M50 85l-35-35 35-35 8 8-27 27 27 27zm28 0l-35-35 35-35 8 8-27 27 27 27z', + d: 'M15 50l18-28 6 5-13 23 13 23-6 5zm30 0l18-28 6 5-13 23 13 23-6 5z', }, ], } satisfies SvgData; @@ -249,7 +251,7 @@ export const icon_double_chevron_right = { label: 'double chevron right', paths: [ { - d: 'M22 15l35 35-35 35-8-8 27-27-27-27zm28 0l35 35-35 35-8-8 27-27-27-27z', + d: 'M85 50l-18-28-6 5 13 23-13 23 6 5zm-30 0l-18-28-6 5 13 23-13 23 6 5z', }, ], } satisfies SvgData; @@ -260,7 +262,7 @@ export const icon_edit = { label: 'edit, pencil', paths: [ { - d: 'M62 8l20 20-45 45-20-20zm-50 55l-5 20 20-5zm55-65l10-8 8 2 2 8-8 10z', + d: 'M58 14l20 20-45 45-20-20zM13 59L10 82 33 79zM58 14l10-10 20 20-10 10z', }, ], } satisfies SvgData; @@ -363,19 +365,19 @@ export const icon_part = { } satisfies SvgData; export const icon_provider = { - label: 'provider, circle with plus', + label: 'provider, branching star in circle', paths: [ { - d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zm-5 15h10v15h15v10h-15v15h-10v-15h-15v-10h15z', + d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 1 1 0-70zM47 25L50 30 53 25 53 46 70 35 67 40 73 41 55 50 73 59 67 60 70 65 53 54 53 75 50 70 47 75 47 54 30 65 33 60 27 59 45 50 27 41 33 40 30 35 47 46z', }, ], } satisfies SvgData; export const icon_model = { - label: 'model, asterisk in circle', + label: 'model, branching star', paths: [ { - d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zm-4 15h8v12l10-6 4 7-11 7 11 7-4 7-10-6v12h-8v-12l-10 6-4-7 11-7-11-7 4-7 10 6z', + d: 'M45 12L50 20 55 12 54 43 80 27 76 35 85 36 58 50 85 64 76 65 80 73 54 57 55 88 50 80 45 88 46 57 20 73 24 65 15 64 42 50 15 36 24 35 20 27 46 43z', }, ], } satisfies SvgData; @@ -443,7 +445,7 @@ export const icon_settings = { label: 'settings, gear', paths: [ { - d: 'M43 5h14l2 12a35 35 0 0 1 10 6l11-5 7 12-9 8a35 35 0 0 1 0 12l9 8-7 12-11-5a35 35 0 0 1-10 6l-2 12h-14l-2-12a35 35 0 0 1-10-6l-11 5-7-12 9-8a35 35 0 0 1 0-12l-9-8 7-12 11 5a35 35 0 0 1 10-6zm7 30a15 15 0 1 0 0 30 15 15 0 0 0 0-30z', + d: 'M43 9h14l2 12a35 35 0 0 1 10 6l11-5 7 12-9 8a35 35 0 0 1 0 12l9 8-7 12-11-5a35 35 0 0 1-10 6l-2 12h-14l-2-12a35 35 0 0 1-10-6l-11 5-7-12 9-8a35 35 0 0 1 0-12l-9-8 7-12 11 5a35 35 0 0 1 10-6zM50 35a15 15 0 1 0 0 30 15 15 0 0 0 0-30z', }, ], } satisfies SvgData; @@ -501,7 +503,7 @@ export const icon_terminal = { label: 'terminal, command prompt', paths: [ { - d: 'M10 10h80v80h-80zm8 8v64h64v-64zm7 10l20 20-20 20-7-7 13-13-13-13zm25 35h30v8h-30z', + d: 'M5 5h90v90h-90zm8 8v74h74v-74zm12 15l20 20-20 20-7-7 13-13-13-13zm25 35h30v8h-30z', }, ], } satisfies SvgData; @@ -530,7 +532,7 @@ export const icon_ping = { label: 'ping, circular arrow', paths: [ { - d: 'M50 10a40 40 0 1 1-28 12l8 8a28 28 0 1 0 20-8v12l-20-20 20-20v16z', + d: 'M50 15a35 35 0 1 1-25 10l7 7a24 24 0 1 0 18-6v10l-17-17 17-17v13z', }, ], } satisfies SvgData; @@ -566,10 +568,10 @@ export const icon_action_type_local_call = { } satisfies SvgData; export const icon_action_type_remote_notification = { - label: 'remote notification, arrow with dot', + label: 'remote notification, arrow down to line', paths: [ { - d: 'M15 40h30v-15l30 25-30 25v-15h-30zm55-15a10 10 0 1 0 0 20 10 10 0 0 0 0-20z', + d: 'M45 10h10v30h15l-20 30-20-30h15zM15 82h70v8h-70z', }, ], } satisfies SvgData; diff --git a/src/routes/docs/icons/+page.svelte b/src/routes/docs/icons/+page.svelte index 3e4b92a4e..3cbbfce04 100644 --- a/src/routes/docs/icons/+page.svelte +++ b/src/routes/docs/icons/+page.svelte @@ -27,6 +27,7 @@ icon_play, icon_pause, icon_checkmark, + icon_checkmark_heavy, icon_xmark, icon_xmark_heavy, icon_download, @@ -108,6 +109,7 @@ {name: 'play', glyph: '\u25B6\uFE0E', data: icon_play}, {name: 'pause', glyph: '\u2759\u2759', data: icon_pause}, {name: 'checkmark', glyph: '\u2713', data: icon_checkmark}, + {name: 'checkmark_heavy', glyph: '\u2714', data: icon_checkmark_heavy}, {name: 'xmark', glyph: '\u2717', data: icon_xmark}, {name: 'xmark_heavy', glyph: '\u2718', data: icon_xmark_heavy}, {name: 'download', glyph: '\u2B73', data: icon_download}, diff --git a/src/routes/library.json b/src/routes/library.json index 3910bfdc8..1f5a2876b 100644 --- a/src/routes/library.json +++ b/src/routes/library.json @@ -3546,373 +3546,379 @@ { "name": "icon_paste", "kind": "variable", - "source_line": 102, + "source_line": 101, "type_signature": "SvgData" }, { "name": "icon_reset", "kind": "variable", - "source_line": 111, + "source_line": 110, "type_signature": "SvgData" }, { "name": "icon_refresh", "kind": "variable", - "source_line": 120, + "source_line": 119, "type_signature": "SvgData" }, { "name": "icon_connect", "kind": "variable", - "source_line": 129, + "source_line": 127, "type_signature": "SvgData" }, { "name": "icon_disconnect", "kind": "variable", - "source_line": 138, + "source_line": 136, "type_signature": "SvgData" }, { "name": "icon_retry", "kind": "variable", - "source_line": 147, + "source_line": 145, "type_signature": "SvgData" }, { "name": "icon_placeholder", "kind": "variable", - "source_line": 156, + "source_line": 153, "type_signature": "SvgData" }, { "name": "icon_send", "kind": "variable", - "source_line": 161, + "source_line": 158, "type_signature": "SvgData" }, { "name": "icon_play", "kind": "variable", - "source_line": 168, + "source_line": 165, "type_signature": "SvgData" }, { "name": "icon_pause", "kind": "variable", - "source_line": 173, + "source_line": 170, "type_signature": "SvgData" }, { "name": "icon_checkmark", "kind": "variable", - "source_line": 180, + "source_line": 177, + "type_signature": "SvgData" + }, + { + "name": "icon_checkmark_heavy", + "kind": "variable", + "source_line": 182, "type_signature": "SvgData" }, { "name": "icon_xmark", "kind": "variable", - "source_line": 185, + "source_line": 187, "type_signature": "SvgData" }, { "name": "icon_xmark_heavy", "kind": "variable", - "source_line": 194, + "source_line": 196, "type_signature": "SvgData" }, { "name": "icon_download", "kind": "variable", - "source_line": 205, + "source_line": 207, "type_signature": "SvgData" }, { "name": "icon_error", "kind": "variable", - "source_line": 210, + "source_line": 212, "type_signature": "SvgData" }, { "name": "icon_chevron_up", "kind": "variable", - "source_line": 219, + "source_line": 221, "type_signature": "SvgData" }, { "name": "icon_chevron_right", "kind": "variable", - "source_line": 224, + "source_line": 226, "type_signature": "SvgData" }, { "name": "icon_chevron_down", "kind": "variable", - "source_line": 229, + "source_line": 231, "type_signature": "SvgData" }, { "name": "icon_chevron_left", "kind": "variable", - "source_line": 234, + "source_line": 236, "type_signature": "SvgData" }, { "name": "icon_double_chevron_left", "kind": "variable", - "source_line": 239, + "source_line": 241, "type_signature": "SvgData" }, { "name": "icon_double_chevron_right", "kind": "variable", - "source_line": 248, + "source_line": 250, "type_signature": "SvgData" }, { "name": "icon_edit", "kind": "variable", - "source_line": 259, + "source_line": 261, "type_signature": "SvgData" }, { "name": "icon_sort", "kind": "variable", - "source_line": 268, + "source_line": 270, "type_signature": "SvgData" }, { "name": "icon_chat", "kind": "variable", - "source_line": 279, + "source_line": 281, "type_signature": "SvgData" }, { "name": "icon_thread", "kind": "variable", - "source_line": 288, + "source_line": 290, "type_signature": "SvgData" }, { "name": "icon_turn", "kind": "variable", - "source_line": 297, + "source_line": 299, "type_signature": "SvgData" }, { "name": "icon_file", "kind": "variable", - "source_line": 306, + "source_line": 308, "type_signature": "SvgData" }, { "name": "icon_list", "kind": "variable", - "source_line": 315, + "source_line": 317, "type_signature": "SvgData" }, { "name": "icon_directory", "kind": "variable", - "source_line": 324, + "source_line": 326, "type_signature": "SvgData" }, { "name": "icon_create_file", "kind": "variable", - "source_line": 333, + "source_line": 335, "type_signature": "SvgData" }, { "name": "icon_create_folder", "kind": "variable", - "source_line": 342, + "source_line": 344, "type_signature": "SvgData" }, { "name": "icon_prompt", "kind": "variable", - "source_line": 351, + "source_line": 353, "type_signature": "SvgData" }, { "name": "icon_part", "kind": "variable", - "source_line": 356, + "source_line": 358, "type_signature": "SvgData" }, { "name": "icon_provider", "kind": "variable", - "source_line": 365, + "source_line": 367, "type_signature": "SvgData" }, { "name": "icon_model", "kind": "variable", - "source_line": 374, + "source_line": 376, "type_signature": "SvgData" }, { "name": "icon_action", "kind": "variable", - "source_line": 383, + "source_line": 385, "type_signature": "SvgData" }, { "name": "icon_view", "kind": "variable", - "source_line": 388, + "source_line": 390, "type_signature": "SvgData" }, { "name": "icon_preview", "kind": "variable", - "source_line": 397, + "source_line": 399, "type_signature": "SvgData" }, { "name": "icon_log", "kind": "variable", - "source_line": 406, + "source_line": 408, "type_signature": "SvgData" }, { "name": "icon_tab", "kind": "variable", - "source_line": 415, + "source_line": 417, "type_signature": "SvgData" }, { "name": "icon_project", "kind": "variable", - "source_line": 424, + "source_line": 426, "type_signature": "SvgData" }, { "name": "icon_capability", "kind": "variable", - "source_line": 433, + "source_line": 435, "type_signature": "SvgData" }, { "name": "icon_settings", "kind": "variable", - "source_line": 442, + "source_line": 444, "type_signature": "SvgData" }, { "name": "icon_domain", "kind": "variable", - "source_line": 451, + "source_line": 453, "type_signature": "SvgData" }, { "name": "icon_page", "kind": "variable", - "source_line": 460, + "source_line": 462, "type_signature": "SvgData" }, { "name": "icon_space", "kind": "variable", - "source_line": 471, + "source_line": 473, "type_signature": "SvgData" }, { "name": "icon_desk", "kind": "variable", - "source_line": 480, + "source_line": 482, "type_signature": "SvgData" }, { "name": "icon_pin", "kind": "variable", - "source_line": 489, + "source_line": 491, "type_signature": "SvgData" }, { "name": "icon_terminal", "kind": "variable", - "source_line": 500, + "source_line": 502, "type_signature": "SvgData" }, { "name": "icon_workspace", "kind": "variable", - "source_line": 509, + "source_line": 511, "type_signature": "SvgData" }, { "name": "icon_idea", "kind": "variable", - "source_line": 518, + "source_line": 520, "type_signature": "SvgData" }, { "name": "icon_ping", "kind": "variable", - "source_line": 529, + "source_line": 531, "type_signature": "SvgData" }, { "name": "icon_heartbeat", "kind": "variable", - "source_line": 538, + "source_line": 540, "type_signature": "SvgData" }, { "name": "icon_response", "kind": "variable", - "source_line": 547, + "source_line": 549, "type_signature": "SvgData" }, { "name": "icon_session", "kind": "variable", - "source_line": 552, + "source_line": 554, "type_signature": "SvgData" }, { "name": "icon_action_type_local_call", "kind": "variable", - "source_line": 563, + "source_line": 565, "type_signature": "SvgData" }, { "name": "icon_action_type_remote_notification", "kind": "variable", - "source_line": 568, + "source_line": 570, "type_signature": "SvgData" }, { "name": "icon_action_type_request_response", "kind": "variable", - "source_line": 577, + "source_line": 579, "type_signature": "SvgData" }, { "name": "icon_external_link", "kind": "variable", - "source_line": 588, + "source_line": 590, "type_signature": "SvgData" }, { "name": "icon_arrow_right", "kind": "variable", - "source_line": 597, + "source_line": 599, "type_signature": "SvgData" }, { "name": "icon_arrow_left", "kind": "variable", - "source_line": 602, + "source_line": 604, "type_signature": "SvgData" }, { "name": "icon_backend", "kind": "variable", - "source_line": 609, + "source_line": 611, "type_signature": "SvgData" } ] From 400ab268226bd1407874d0aaff56379e5477884c Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 13 Apr 2026 16:11:18 -0400 Subject: [PATCH 3/8] wip --- src/lib/icons.ts | 21 +--- src/routes/docs/icons/+page.svelte | 173 +++++++++++++++-------------- src/routes/library.json | 126 ++++++++++----------- 3 files changed, 157 insertions(+), 163 deletions(-) diff --git a/src/lib/icons.ts b/src/lib/icons.ts index e69c029f4..133ae071d 100644 --- a/src/lib/icons.ts +++ b/src/lib/icons.ts @@ -10,7 +10,7 @@ export const icon_unknown = { label: 'unknown, double question mark', paths: [ { - d: 'M11 25a17 17 0 0 1 17-17 17 17 0 0 1 17 17c0 12-10 16-10 26h-14c0-14 10-14 10-26a3 3 0 0 0-3-3 3 3 0 0 0-3 3zm10 40h14v14h-14zm34-40a17 17 0 0 1 17-17 17 17 0 0 1 17 17c0 12-10 16-10 26h-14c0-14 10-14 10-26a3 3 0 0 0-3-3 3 3 0 0 0-3 3zm10 40h14v14h-14z', + d: 'M12 34C10 6 46 2 46 26C46 36 38 38 34 46L34 56 22 56 22 46C22 36 16 36 12 34zM21 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0zM56 34C54 6 90 2 90 26C90 36 82 38 78 46L78 56 66 56 66 46C66 36 60 36 56 34zM65 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0z', }, ], } satisfies SvgData; @@ -19,7 +19,7 @@ export const icon_important = { label: 'important, question and exclamation', paths: [ { - d: 'M11 25a17 17 0 0 1 17-17 17 17 0 0 1 17 17c0 12-10 16-10 26h-14c0-14 10-14 10-26a3 3 0 0 0-3-3 3 3 0 0 0-3 3zm10 40h14v14h-14zm44-57h14v46h-14zm0 57h14v14h-14z', + d: 'M12 34C10 6 46 2 46 26C46 36 38 38 34 46L34 56 22 56 22 46C22 36 16 36 12 34zM21 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0zM63 8L79 8 76 56 66 56zM65 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0z', }, ], } satisfies SvgData; @@ -92,10 +92,7 @@ export const icon_drag = { export const icon_copy = { label: 'copy, overlapping squares', - paths: [ - {d: 'M10 30h45v45h-45zm7 7v31h31v-31z'}, - {d: 'M30 10h45v45h-45zm7 7v31h31v-31z'}, - ], + paths: [{d: 'M10 30h45v45h-45zm7 7v31h31v-31z'}, {d: 'M30 10h45v45h-45zm7 7v31h31v-31z'}], } satisfies SvgData; export const icon_paste = { @@ -118,10 +115,7 @@ export const icon_reset = { export const icon_refresh = { label: 'refresh, circular arrow', - paths: [ - {d: 'M70 15A40 40 0 1 1 30 15L36 26A28 28 0 1 0 64 26z'}, - {d: 'M86 21L70 15 64 26z'}, - ], + paths: [{d: 'M70 15A40 40 0 1 1 30 15L36 26A28 28 0 1 0 64 26z'}, {d: 'M86 21L70 15 64 26z'}], } satisfies SvgData; export const icon_connect = { @@ -144,10 +138,7 @@ export const icon_disconnect = { export const icon_retry = { label: 'retry, counterclockwise arrow', - paths: [ - {d: 'M30 15A40 40 0 1 0 70 15L64 26A28 28 0 1 1 36 26z'}, - {d: 'M14 21L30 15 36 26z'}, - ], + paths: [{d: 'M30 15A40 40 0 1 0 70 15L64 26A28 28 0 1 1 36 26z'}, {d: 'M14 21L30 15 36 26z'}], } satisfies SvgData; export const icon_placeholder = { @@ -213,7 +204,7 @@ export const icon_error = { label: 'error, double exclamation', paths: [ { - d: 'M21 8h14v46h-14zm0 57h14v14h-14zm44-57h14v46h-14zm0 57h14v14h-14z', + d: 'M20 8L36 8 33 56 23 56zM21 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0zM64 8L80 8 77 56 67 56zM65 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0z', }, ], } satisfies SvgData; diff --git a/src/routes/docs/icons/+page.svelte b/src/routes/docs/icons/+page.svelte index 3cbbfce04..c4082fbe3 100644 --- a/src/routes/docs/icons/+page.svelte +++ b/src/routes/docs/icons/+page.svelte @@ -85,91 +85,94 @@ const tome = get_tome_by_name(LIBRARY_ITEM_NAME); - const icon_entries: Array<{name: string; glyph: string; data: import('$lib/Svg.svelte').SvgData}> = - [ - {name: 'unknown', glyph: '\u2047', data: icon_unknown}, - {name: 'important', glyph: '\u2048', data: icon_important}, - {name: 'info', glyph: '\u24D8', data: icon_info}, - {name: 'add', glyph: '\u271B', data: icon_add}, - {name: 'remove', glyph: '\uD83D\uDDD9', data: icon_remove}, - {name: 'delete', glyph: '\u2327', data: icon_delete}, - {name: 'clear', glyph: '\u232B', data: icon_clear}, - {name: 'restore', glyph: '\u293B', data: icon_restore}, - {name: 'cancel', glyph: '\u29B8', data: icon_cancel}, - {name: 'drag', glyph: '\u2261', data: icon_drag}, - {name: 'copy', glyph: '\u29C9', data: icon_copy}, - {name: 'paste', glyph: '\u238C', data: icon_paste}, - {name: 'reset', glyph: '\u293A', data: icon_reset}, - {name: 'refresh', glyph: '\u27F3', data: icon_refresh}, - {name: 'connect', glyph: '\u2B4D', data: icon_connect}, - {name: 'disconnect', glyph: '\u229D', data: icon_disconnect}, - {name: 'retry', glyph: '\u21BA', data: icon_retry}, - {name: 'placeholder', glyph: '\u21B3', data: icon_placeholder}, - {name: 'send', glyph: '\u2BA5', data: icon_send}, - {name: 'play', glyph: '\u25B6\uFE0E', data: icon_play}, - {name: 'pause', glyph: '\u2759\u2759', data: icon_pause}, - {name: 'checkmark', glyph: '\u2713', data: icon_checkmark}, - {name: 'checkmark_heavy', glyph: '\u2714', data: icon_checkmark_heavy}, - {name: 'xmark', glyph: '\u2717', data: icon_xmark}, - {name: 'xmark_heavy', glyph: '\u2718', data: icon_xmark_heavy}, - {name: 'download', glyph: '\u2B73', data: icon_download}, - {name: 'error', glyph: '\u203C', data: icon_error}, - {name: 'chevron_up', glyph: '\u2B9D', data: icon_chevron_up}, - {name: 'chevron_right', glyph: '\u2B9E', data: icon_chevron_right}, - {name: 'chevron_down', glyph: '\u2B9F', data: icon_chevron_down}, - {name: 'chevron_left', glyph: '\u2B9C', data: icon_chevron_left}, - {name: 'double_chevron_left', glyph: '\u00AB', data: icon_double_chevron_left}, - {name: 'double_chevron_right', glyph: '\u00BB', data: icon_double_chevron_right}, - {name: 'edit', glyph: '\u270E', data: icon_edit}, - {name: 'sort', glyph: '\u21C5', data: icon_sort}, - {name: 'chat', glyph: '\u2338', data: icon_chat}, - {name: 'thread', glyph: '\u2637', data: icon_thread}, - {name: 'turn', glyph: '\u238D', data: icon_turn}, - {name: 'file', glyph: '\u29C8', data: icon_file}, - {name: 'list', glyph: '\u25A4', data: icon_list}, - {name: 'directory', glyph: '\u25A6', data: icon_directory}, - {name: 'create_file', glyph: '\uD83D\uDDCE', data: icon_create_file}, - {name: 'create_folder', glyph: '\uD83D\uDDC1', data: icon_create_folder}, - {name: 'prompt', glyph: '\u2307', data: icon_prompt}, - {name: 'part', glyph: '\u250A', data: icon_part}, - {name: 'provider', glyph: '\u2A15', data: icon_provider}, - {name: 'model', glyph: '\u229B', data: icon_model}, - {name: 'action', glyph: '\u237E', data: icon_action}, - {name: 'view', glyph: '\u235C', data: icon_view}, - {name: 'preview', glyph: '\u29BE', data: icon_preview}, - {name: 'log', glyph: '\u2399', data: icon_log}, - {name: 'tab', glyph: '\u26F6', data: icon_tab}, - {name: 'project', glyph: '\u232C', data: icon_project}, - {name: 'capability', glyph: '\u29B0', data: icon_capability}, - {name: 'settings', glyph: '\u26EE', data: icon_settings}, - {name: 'domain', glyph: '\u27E1', data: icon_domain}, - {name: 'page', glyph: '\u233A', data: icon_page}, - {name: 'space', glyph: '\u2302', data: icon_space}, - {name: 'desk', glyph: '\u235F', data: icon_desk}, - {name: 'pin', glyph: '\u23CD', data: icon_pin}, - {name: 'terminal', glyph: '\u2328', data: icon_terminal}, - {name: 'workspace', glyph: '\u229E', data: icon_workspace}, - {name: 'idea', glyph: '\u2306', data: icon_idea}, - {name: 'ping', glyph: '\u2940', data: icon_ping}, - {name: 'heartbeat', glyph: '\u223D', data: icon_heartbeat}, - {name: 'response', glyph: '\u2B91', data: icon_response}, - {name: 'session', glyph: '\u23E3', data: icon_session}, - {name: 'action_type_local_call', glyph: '\u2933', data: icon_action_type_local_call}, - { - name: 'action_type_remote_notification', - glyph: '\u2959', - data: icon_action_type_remote_notification, - }, - { - name: 'action_type_request_response', - glyph: '\u296E', - data: icon_action_type_request_response, - }, - {name: 'external_link', glyph: '\uD83E\uDC75', data: icon_external_link}, - {name: 'arrow_right', glyph: '\u2192', data: icon_arrow_right}, - {name: 'arrow_left', glyph: '\u2190', data: icon_arrow_left}, - {name: 'backend', glyph: '\uD83D\uDF22', data: icon_backend}, - ]; + const icon_entries: Array<{ + name: string; + glyph: string; + data: import('$lib/Svg.svelte').SvgData; + }> = [ + {name: 'unknown', glyph: '\u2047', data: icon_unknown}, + {name: 'important', glyph: '\u2048', data: icon_important}, + {name: 'info', glyph: '\u24D8', data: icon_info}, + {name: 'add', glyph: '\u271B', data: icon_add}, + {name: 'remove', glyph: '\uD83D\uDDD9', data: icon_remove}, + {name: 'delete', glyph: '\u2327', data: icon_delete}, + {name: 'clear', glyph: '\u232B', data: icon_clear}, + {name: 'restore', glyph: '\u293B', data: icon_restore}, + {name: 'cancel', glyph: '\u29B8', data: icon_cancel}, + {name: 'drag', glyph: '\u2261', data: icon_drag}, + {name: 'copy', glyph: '\u29C9', data: icon_copy}, + {name: 'paste', glyph: '\u238C', data: icon_paste}, + {name: 'reset', glyph: '\u293A', data: icon_reset}, + {name: 'refresh', glyph: '\u27F3', data: icon_refresh}, + {name: 'connect', glyph: '\u2B4D', data: icon_connect}, + {name: 'disconnect', glyph: '\u229D', data: icon_disconnect}, + {name: 'retry', glyph: '\u21BA', data: icon_retry}, + {name: 'placeholder', glyph: '\u21B3', data: icon_placeholder}, + {name: 'send', glyph: '\u2BA5', data: icon_send}, + {name: 'play', glyph: '\u25B6\uFE0E', data: icon_play}, + {name: 'pause', glyph: '\u2759\u2759', data: icon_pause}, + {name: 'checkmark', glyph: '\u2713', data: icon_checkmark}, + {name: 'checkmark_heavy', glyph: '\u2714', data: icon_checkmark_heavy}, + {name: 'xmark', glyph: '\u2717', data: icon_xmark}, + {name: 'xmark_heavy', glyph: '\u2718', data: icon_xmark_heavy}, + {name: 'download', glyph: '\u2B73', data: icon_download}, + {name: 'error', glyph: '\u203C', data: icon_error}, + {name: 'chevron_up', glyph: '\u2B9D', data: icon_chevron_up}, + {name: 'chevron_right', glyph: '\u2B9E', data: icon_chevron_right}, + {name: 'chevron_down', glyph: '\u2B9F', data: icon_chevron_down}, + {name: 'chevron_left', glyph: '\u2B9C', data: icon_chevron_left}, + {name: 'double_chevron_left', glyph: '\u00AB', data: icon_double_chevron_left}, + {name: 'double_chevron_right', glyph: '\u00BB', data: icon_double_chevron_right}, + {name: 'edit', glyph: '\u270E', data: icon_edit}, + {name: 'sort', glyph: '\u21C5', data: icon_sort}, + {name: 'chat', glyph: '\u2338', data: icon_chat}, + {name: 'thread', glyph: '\u2637', data: icon_thread}, + {name: 'turn', glyph: '\u238D', data: icon_turn}, + {name: 'file', glyph: '\u29C8', data: icon_file}, + {name: 'list', glyph: '\u25A4', data: icon_list}, + {name: 'directory', glyph: '\u25A6', data: icon_directory}, + {name: 'create_file', glyph: '\uD83D\uDDCE', data: icon_create_file}, + {name: 'create_folder', glyph: '\uD83D\uDDC1', data: icon_create_folder}, + {name: 'prompt', glyph: '\u2307', data: icon_prompt}, + {name: 'part', glyph: '\u250A', data: icon_part}, + {name: 'provider', glyph: '\u2A15', data: icon_provider}, + {name: 'model', glyph: '\u229B', data: icon_model}, + {name: 'action', glyph: '\u237E', data: icon_action}, + {name: 'view', glyph: '\u235C', data: icon_view}, + {name: 'preview', glyph: '\u29BE', data: icon_preview}, + {name: 'log', glyph: '\u2399', data: icon_log}, + {name: 'tab', glyph: '\u26F6', data: icon_tab}, + {name: 'project', glyph: '\u232C', data: icon_project}, + {name: 'capability', glyph: '\u29B0', data: icon_capability}, + {name: 'settings', glyph: '\u26EE', data: icon_settings}, + {name: 'domain', glyph: '\u27E1', data: icon_domain}, + {name: 'page', glyph: '\u233A', data: icon_page}, + {name: 'space', glyph: '\u2302', data: icon_space}, + {name: 'desk', glyph: '\u235F', data: icon_desk}, + {name: 'pin', glyph: '\u23CD', data: icon_pin}, + {name: 'terminal', glyph: '\u2328', data: icon_terminal}, + {name: 'workspace', glyph: '\u229E', data: icon_workspace}, + {name: 'idea', glyph: '\u2306', data: icon_idea}, + {name: 'ping', glyph: '\u2940', data: icon_ping}, + {name: 'heartbeat', glyph: '\u223D', data: icon_heartbeat}, + {name: 'response', glyph: '\u2B91', data: icon_response}, + {name: 'session', glyph: '\u23E3', data: icon_session}, + {name: 'action_type_local_call', glyph: '\u2933', data: icon_action_type_local_call}, + { + name: 'action_type_remote_notification', + glyph: '\u2959', + data: icon_action_type_remote_notification, + }, + { + name: 'action_type_request_response', + glyph: '\u296E', + data: icon_action_type_request_response, + }, + {name: 'external_link', glyph: '\uD83E\uDC75', data: icon_external_link}, + {name: 'arrow_right', glyph: '\u2192', data: icon_arrow_right}, + {name: 'arrow_left', glyph: '\u2190', data: icon_arrow_left}, + {name: 'backend', glyph: '\uD83D\uDF22', data: icon_backend}, + ]; diff --git a/src/routes/library.json b/src/routes/library.json index 1f5a2876b..22714897a 100644 --- a/src/routes/library.json +++ b/src/routes/library.json @@ -3546,379 +3546,379 @@ { "name": "icon_paste", "kind": "variable", - "source_line": 101, + "source_line": 98, "type_signature": "SvgData" }, { "name": "icon_reset", "kind": "variable", - "source_line": 110, + "source_line": 107, "type_signature": "SvgData" }, { "name": "icon_refresh", "kind": "variable", - "source_line": 119, + "source_line": 116, "type_signature": "SvgData" }, { "name": "icon_connect", "kind": "variable", - "source_line": 127, + "source_line": 121, "type_signature": "SvgData" }, { "name": "icon_disconnect", "kind": "variable", - "source_line": 136, + "source_line": 130, "type_signature": "SvgData" }, { "name": "icon_retry", "kind": "variable", - "source_line": 145, + "source_line": 139, "type_signature": "SvgData" }, { "name": "icon_placeholder", "kind": "variable", - "source_line": 153, + "source_line": 144, "type_signature": "SvgData" }, { "name": "icon_send", "kind": "variable", - "source_line": 158, + "source_line": 149, "type_signature": "SvgData" }, { "name": "icon_play", "kind": "variable", - "source_line": 165, + "source_line": 156, "type_signature": "SvgData" }, { "name": "icon_pause", "kind": "variable", - "source_line": 170, + "source_line": 161, "type_signature": "SvgData" }, { "name": "icon_checkmark", "kind": "variable", - "source_line": 177, + "source_line": 168, "type_signature": "SvgData" }, { "name": "icon_checkmark_heavy", "kind": "variable", - "source_line": 182, + "source_line": 173, "type_signature": "SvgData" }, { "name": "icon_xmark", "kind": "variable", - "source_line": 187, + "source_line": 178, "type_signature": "SvgData" }, { "name": "icon_xmark_heavy", "kind": "variable", - "source_line": 196, + "source_line": 187, "type_signature": "SvgData" }, { "name": "icon_download", "kind": "variable", - "source_line": 207, + "source_line": 198, "type_signature": "SvgData" }, { "name": "icon_error", "kind": "variable", - "source_line": 212, + "source_line": 203, "type_signature": "SvgData" }, { "name": "icon_chevron_up", "kind": "variable", - "source_line": 221, + "source_line": 212, "type_signature": "SvgData" }, { "name": "icon_chevron_right", "kind": "variable", - "source_line": 226, + "source_line": 217, "type_signature": "SvgData" }, { "name": "icon_chevron_down", "kind": "variable", - "source_line": 231, + "source_line": 222, "type_signature": "SvgData" }, { "name": "icon_chevron_left", "kind": "variable", - "source_line": 236, + "source_line": 227, "type_signature": "SvgData" }, { "name": "icon_double_chevron_left", "kind": "variable", - "source_line": 241, + "source_line": 232, "type_signature": "SvgData" }, { "name": "icon_double_chevron_right", "kind": "variable", - "source_line": 250, + "source_line": 241, "type_signature": "SvgData" }, { "name": "icon_edit", "kind": "variable", - "source_line": 261, + "source_line": 252, "type_signature": "SvgData" }, { "name": "icon_sort", "kind": "variable", - "source_line": 270, + "source_line": 261, "type_signature": "SvgData" }, { "name": "icon_chat", "kind": "variable", - "source_line": 281, + "source_line": 272, "type_signature": "SvgData" }, { "name": "icon_thread", "kind": "variable", - "source_line": 290, + "source_line": 281, "type_signature": "SvgData" }, { "name": "icon_turn", "kind": "variable", - "source_line": 299, + "source_line": 290, "type_signature": "SvgData" }, { "name": "icon_file", "kind": "variable", - "source_line": 308, + "source_line": 299, "type_signature": "SvgData" }, { "name": "icon_list", "kind": "variable", - "source_line": 317, + "source_line": 308, "type_signature": "SvgData" }, { "name": "icon_directory", "kind": "variable", - "source_line": 326, + "source_line": 317, "type_signature": "SvgData" }, { "name": "icon_create_file", "kind": "variable", - "source_line": 335, + "source_line": 326, "type_signature": "SvgData" }, { "name": "icon_create_folder", "kind": "variable", - "source_line": 344, + "source_line": 335, "type_signature": "SvgData" }, { "name": "icon_prompt", "kind": "variable", - "source_line": 353, + "source_line": 344, "type_signature": "SvgData" }, { "name": "icon_part", "kind": "variable", - "source_line": 358, + "source_line": 349, "type_signature": "SvgData" }, { "name": "icon_provider", "kind": "variable", - "source_line": 367, + "source_line": 358, "type_signature": "SvgData" }, { "name": "icon_model", "kind": "variable", - "source_line": 376, + "source_line": 367, "type_signature": "SvgData" }, { "name": "icon_action", "kind": "variable", - "source_line": 385, + "source_line": 376, "type_signature": "SvgData" }, { "name": "icon_view", "kind": "variable", - "source_line": 390, + "source_line": 381, "type_signature": "SvgData" }, { "name": "icon_preview", "kind": "variable", - "source_line": 399, + "source_line": 390, "type_signature": "SvgData" }, { "name": "icon_log", "kind": "variable", - "source_line": 408, + "source_line": 399, "type_signature": "SvgData" }, { "name": "icon_tab", "kind": "variable", - "source_line": 417, + "source_line": 408, "type_signature": "SvgData" }, { "name": "icon_project", "kind": "variable", - "source_line": 426, + "source_line": 417, "type_signature": "SvgData" }, { "name": "icon_capability", "kind": "variable", - "source_line": 435, + "source_line": 426, "type_signature": "SvgData" }, { "name": "icon_settings", "kind": "variable", - "source_line": 444, + "source_line": 435, "type_signature": "SvgData" }, { "name": "icon_domain", "kind": "variable", - "source_line": 453, + "source_line": 444, "type_signature": "SvgData" }, { "name": "icon_page", "kind": "variable", - "source_line": 462, + "source_line": 453, "type_signature": "SvgData" }, { "name": "icon_space", "kind": "variable", - "source_line": 473, + "source_line": 464, "type_signature": "SvgData" }, { "name": "icon_desk", "kind": "variable", - "source_line": 482, + "source_line": 473, "type_signature": "SvgData" }, { "name": "icon_pin", "kind": "variable", - "source_line": 491, + "source_line": 482, "type_signature": "SvgData" }, { "name": "icon_terminal", "kind": "variable", - "source_line": 502, + "source_line": 493, "type_signature": "SvgData" }, { "name": "icon_workspace", "kind": "variable", - "source_line": 511, + "source_line": 502, "type_signature": "SvgData" }, { "name": "icon_idea", "kind": "variable", - "source_line": 520, + "source_line": 511, "type_signature": "SvgData" }, { "name": "icon_ping", "kind": "variable", - "source_line": 531, + "source_line": 522, "type_signature": "SvgData" }, { "name": "icon_heartbeat", "kind": "variable", - "source_line": 540, + "source_line": 531, "type_signature": "SvgData" }, { "name": "icon_response", "kind": "variable", - "source_line": 549, + "source_line": 540, "type_signature": "SvgData" }, { "name": "icon_session", "kind": "variable", - "source_line": 554, + "source_line": 545, "type_signature": "SvgData" }, { "name": "icon_action_type_local_call", "kind": "variable", - "source_line": 565, + "source_line": 556, "type_signature": "SvgData" }, { "name": "icon_action_type_remote_notification", "kind": "variable", - "source_line": 570, + "source_line": 561, "type_signature": "SvgData" }, { "name": "icon_action_type_request_response", "kind": "variable", - "source_line": 579, + "source_line": 570, "type_signature": "SvgData" }, { "name": "icon_external_link", "kind": "variable", - "source_line": 590, + "source_line": 581, "type_signature": "SvgData" }, { "name": "icon_arrow_right", "kind": "variable", - "source_line": 599, + "source_line": 590, "type_signature": "SvgData" }, { "name": "icon_arrow_left", "kind": "variable", - "source_line": 604, + "source_line": 595, "type_signature": "SvgData" }, { "name": "icon_backend", "kind": "variable", - "source_line": 611, + "source_line": 602, "type_signature": "SvgData" } ] From 8719e70751a8a76abefd08f55d267f9ed0e14fd2 Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 13 Apr 2026 16:59:25 -0400 Subject: [PATCH 4/8] wip --- src/lib/icons.ts | 45 ++++++++++++++++++++++------------------- src/routes/library.json | 12 +++++------ 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/src/lib/icons.ts b/src/lib/icons.ts index 133ae071d..6c804bb90 100644 --- a/src/lib/icons.ts +++ b/src/lib/icons.ts @@ -10,7 +10,7 @@ export const icon_unknown = { label: 'unknown, double question mark', paths: [ { - d: 'M12 34C10 6 46 2 46 26C46 36 38 38 34 46L34 56 22 56 22 46C22 36 16 36 12 34zM21 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0zM56 34C54 6 90 2 90 26C90 36 82 38 78 46L78 56 66 56 66 46C66 36 60 36 56 34zM65 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0z', + d: 'M5 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm15 36a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM55 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm15 36a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', }, ], } satisfies SvgData; @@ -19,7 +19,7 @@ export const icon_important = { label: 'important, question and exclamation', paths: [ { - d: 'M12 34C10 6 46 2 46 26C46 36 38 38 34 46L34 56 22 56 22 46C22 36 16 36 12 34zM21 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0zM63 8L79 8 76 56 66 56zM65 70a7 7 0 1 0 14 0 7 7 0 0 0-14 0z', + d: 'M5 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm15 36a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM63 8L79 8 76 56 66 56zM65 70a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', }, ], } satisfies SvgData; @@ -28,7 +28,7 @@ export const icon_info = { label: 'info circle', paths: [ { - d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zm-5 15h10v10h-10zm0 15h10v25h-10z', + d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zM47 30h6a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2zM47 55h6a2 2 0 0 1 2 2v21a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-21a2 2 0 0 1 2-2z', }, ], } satisfies SvgData; @@ -37,23 +37,23 @@ export const icon_info = { export const icon_add = { label: 'add, plus', - paths: [{d: 'M45 15v30h-30v10h30v30h10v-30h30v-10h-30v-30z'}], + paths: [{d: 'M45 15L55 15 58 42 85 45 85 55 58 58 55 85 45 85 42 58 15 55 15 45 42 42z'}], } satisfies SvgData; export const icon_remove = { label: 'remove, x mark', paths: [ { - d: 'M26.5 19.4l-7.1 7.1L42.9 50 19.4 73.5l7.1 7.1L50 57.1l23.5 23.5 7.1-7.1L57.1 50l23.5-23.5-7.1-7.1L50 42.9z', + d: 'M26.5 19.4L19.4 26.5 40 50 19.4 73.5 26.5 80.6 50 60 73.5 80.6 80.6 73.5 60 50 80.6 26.5 73.5 19.4 50 40z', }, ], } satisfies SvgData; export const icon_delete = { - label: 'delete, x in square', + label: 'delete, x in concave frame', paths: [ { - d: 'M10 10h80v80h-80zm10 10v60h60v-60zm8 15l7-7 15 15 15-15 7 7-15 15 15 15-7 7-15-15-15 15-7-7 15-15z', + d: 'M5 5Q50 18 95 5Q82 50 95 95Q50 82 5 95Q18 50 5 5zM18 18Q28 50 18 82Q50 72 82 82Q72 50 82 18Q50 28 18 18zM28 35l7-7 15 15 15-15 7 7-15 15 15 15-7 7-15-15-15 15-7-7 15-15z', }, ], } satisfies SvgData; @@ -115,7 +115,7 @@ export const icon_reset = { export const icon_refresh = { label: 'refresh, circular arrow', - paths: [{d: 'M70 15A40 40 0 1 1 30 15L36 26A28 28 0 1 0 64 26z'}, {d: 'M86 21L70 15 64 26z'}], + paths: [{d: 'M30 15A40 40 0 1 1 70 15zM36 26A28 28 0 1 0 64 26zM88 20L70 15 64 26z'}], } satisfies SvgData; export const icon_connect = { @@ -131,14 +131,14 @@ export const icon_disconnect = { label: 'disconnect, broken link', paths: [ { - d: 'M30 40a15 15 0 0 0-15 15 15 15 0 0 0 15 15h10v10h-10a25 25 0 0 1-25-25 25 25 0 0 1 25-25h10v10zm30-10h10a25 25 0 0 1 25 25 25 25 0 0 1-25 25h-10v-10h10a15 15 0 0 0 15-15 15 15 0 0 0-15-15h-10zM44 42l-4-8h8l4 8zM56 58l4 8h-8l-4-8z', + d: 'M30 40a15 15 0 0 0-15 15 15 15 0 0 0 15 15h10v10h-10a25 25 0 0 1-25-25 25 25 0 0 1 25-25h10v10zm30-10h10a25 25 0 0 1 25 25 25 25 0 0 1-25 25h-10v-10h10a15 15 0 0 0 15-15 15 15 0 0 0-15-15h-10zM46 48l-4-8h8l4 8zM54 62l4 8h-8l-4-8z', }, ], } satisfies SvgData; export const icon_retry = { label: 'retry, counterclockwise arrow', - paths: [{d: 'M30 15A40 40 0 1 0 70 15L64 26A28 28 0 1 1 36 26z'}, {d: 'M14 21L30 15 36 26z'}], + paths: [{d: 'M70 15A40 40 0 1 0 30 15zM64 26A28 28 0 1 1 36 26zM12 20L30 15 36 26z'}], } satisfies SvgData; export const icon_placeholder = { @@ -167,19 +167,19 @@ export const icon_pause = { export const icon_checkmark = { label: 'checkmark', - paths: [{d: 'M15 52l10-10 17 17 33-33 10 10-43 43z'}], + paths: [{d: 'M14 55L24 42 42 60Q60 40 78 24L82 22 88 36Q62 52 42 82z'}], } satisfies SvgData; export const icon_checkmark_heavy = { label: 'heavy checkmark', - paths: [{d: 'M10 50l14-14 18 18 34-34 14 14-48 48z'}], + paths: [{d: 'M10 54L22 36 42 56Q60 34 78 18L84 15 92 34Q64 52 42 84z'}], } satisfies SvgData; export const icon_xmark = { label: 'x mark', paths: [ { - d: 'M26 19l-7 7 24 24-24 24 7 7 24-24 24 24 7-7-24-24 24-24-7-7-24 24z', + d: 'M27 17L25 20 22 28Q33 39 43 50Q33 61 17 72L14 76 26 83Q37 70 50 57Q63 70 74 83L77 81 81 74Q70 63 57 50Q70 37 83 23L74 17 50 43z', }, ], } satisfies SvgData; @@ -188,7 +188,7 @@ export const icon_xmark_heavy = { label: 'heavy x mark', paths: [ { - d: 'M24 14l-10 10 26 26-26 26 10 10 26-26 26 26 10-10-26-26 26-26-10-10-26 26z', + d: 'M25 12L22 15 17 24Q30 37 40 50Q30 63 12 76L10 80 24 88Q37 74 50 60Q63 74 76 88L79 86 86 76Q73 63 60 50Q73 37 88 21L76 12 50 40z', }, ], } satisfies SvgData; @@ -427,7 +427,7 @@ export const icon_capability = { label: 'capability, wrench', paths: [ { - d: 'M72 8a28 28 0 0 0-25 40l-30 30a8 8 0 0 0 0 11l4 4a8 8 0 0 0 11 0l30-30a28 28 0 0 0 38-29l-14 14-12-4-4-12 14-14a28 28 0 0 0-12-10z', + d: 'M72 8a28 28 0 0 0-25 40l-30 30a8 8 0 0 0 0 11l4 4a8 8 0 0 0 11 0l30-30a28 28 0 0 0 38-29l-12 14-12-6-6-12 14-12a28 28 0 0 0-12-10z', }, ], } satisfies SvgData; @@ -554,16 +554,19 @@ export const icon_session = { // --- Action Types --- export const icon_action_type_local_call = { - label: 'local call, right arrow', - paths: [{d: 'M15 40h40v-15l30 25-30 25v-15h-40z'}], + label: 'local call, arrow to target', + paths: [ + {d: 'M10 45h25v-15l20 20-20 20v-15h-25z'}, + {d: 'M72 50a13 13 0 1 1 0-1zM78 50a7 7 0 1 0 0-1z'}, + ], } satisfies SvgData; export const icon_action_type_remote_notification = { - label: 'remote notification, arrow down to line', + label: 'remote notification, arrow with signal', paths: [ - { - d: 'M45 10h10v30h15l-20 30-20-30h15zM15 82h70v8h-70z', - }, + {d: 'M10 45h25v-15l20 20-20 20v-15h-25z'}, + {d: 'M70 33a19 19 0 0 1 0 34 16 16 0 0 0 0-34z'}, + {d: 'M78 27a27 27 0 0 1 0 46 24 24 0 0 0 0-46z'}, ], } satisfies SvgData; diff --git a/src/routes/library.json b/src/routes/library.json index 22714897a..a4929b0e7 100644 --- a/src/routes/library.json +++ b/src/routes/library.json @@ -3888,37 +3888,37 @@ { "name": "icon_action_type_remote_notification", "kind": "variable", - "source_line": 561, + "source_line": 564, "type_signature": "SvgData" }, { "name": "icon_action_type_request_response", "kind": "variable", - "source_line": 570, + "source_line": 573, "type_signature": "SvgData" }, { "name": "icon_external_link", "kind": "variable", - "source_line": 581, + "source_line": 584, "type_signature": "SvgData" }, { "name": "icon_arrow_right", "kind": "variable", - "source_line": 590, + "source_line": 593, "type_signature": "SvgData" }, { "name": "icon_arrow_left", "kind": "variable", - "source_line": 595, + "source_line": 598, "type_signature": "SvgData" }, { "name": "icon_backend", "kind": "variable", - "source_line": 602, + "source_line": 605, "type_signature": "SvgData" } ] From a406e0aeb78cc6a6f3f0c7d102af4fd32e15378b Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 13 Apr 2026 17:16:07 -0400 Subject: [PATCH 5/8] wip --- src/lib/icons.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/icons.ts b/src/lib/icons.ts index 6c804bb90..efe4d5296 100644 --- a/src/lib/icons.ts +++ b/src/lib/icons.ts @@ -10,7 +10,7 @@ export const icon_unknown = { label: 'unknown, double question mark', paths: [ { - d: 'M5 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm15 36a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM55 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm15 36a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', + d: 'M5 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm16 42a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM55 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm16 42a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', }, ], } satisfies SvgData; @@ -19,7 +19,7 @@ export const icon_important = { label: 'important, question and exclamation', paths: [ { - d: 'M5 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm15 36a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM63 8L79 8 76 56 66 56zM65 70a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', + d: 'M5 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm16 42a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM63 8L79 8 76 56 66 56zM63 76a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', }, ], } satisfies SvgData; From b49ba1a1ff034b117915c3ad823ded6f8edc891c Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 13 Apr 2026 18:08:32 -0400 Subject: [PATCH 6/8] wip --- src/lib/icons.ts | 40 +++++++++++++++--------------- src/routes/docs/icons/+page.svelte | 4 +-- src/routes/library.json | 2 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/lib/icons.ts b/src/lib/icons.ts index efe4d5296..b2e8a7b39 100644 --- a/src/lib/icons.ts +++ b/src/lib/icons.ts @@ -10,7 +10,7 @@ export const icon_unknown = { label: 'unknown, double question mark', paths: [ { - d: 'M5 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm16 42a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM55 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm16 42a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', + d: 'M5 30a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 10-14 0 0-10c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm16 46a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM55 30a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 10-14 0 0-10c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm16 46a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', }, ], } satisfies SvgData; @@ -19,7 +19,7 @@ export const icon_important = { label: 'important, question and exclamation', paths: [ { - d: 'M5 34a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 6-14 0 0-6c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm16 42a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM63 8L79 8 76 56 66 56zM63 76a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', + d: 'M5 30a20 20 0 0 1 20-22 20 20 0 0 1 20 22c0 10-7 14-9 20l0 10-14 0 0-10c0-8 7-12 7-20a5 5 0 0 0-5-7 5 5 0 0 0-5 7zm16 46a8 8 0 1 0 16 0 8 8 0 0 0-16 0zM63 8L79 8 76 56 66 56zM63 76a8 8 0 1 0 16 0 8 8 0 0 0-16 0z', }, ], } satisfies SvgData; @@ -28,7 +28,7 @@ export const icon_info = { label: 'info circle', paths: [ { - d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zM47 30h6a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2zM47 55h6a2 2 0 0 1 2 2v21a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-21a2 2 0 0 1 2-2z', + d: 'M50 5a45 45 0 1 0 0 90 45 45 0 0 0 0-90zm0 10a35 35 0 1 1 0 70 35 35 0 0 1 0-70zM47 30h6a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2zM47 50h6a2 2 0 0 1 2 2v26a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-26a2 2 0 0 1 2-2z', }, ], } satisfies SvgData; @@ -87,7 +87,7 @@ export const icon_cancel = { export const icon_drag = { label: 'drag handle, three horizontal lines', - paths: [{d: 'M20 25h60v8h-60zm0 17h60v8h-60zm0 17h60v8h-60z'}], + paths: [{d: 'M20 25h60v8h-60zm0 17q30-1 60 0v8h-60zm0 17h60v8h-60z'}], } satisfies SvgData; export const icon_copy = { @@ -115,7 +115,7 @@ export const icon_reset = { export const icon_refresh = { label: 'refresh, circular arrow', - paths: [{d: 'M30 15A40 40 0 1 1 70 15zM36 26A28 28 0 1 0 64 26zM88 20L70 15 64 26z'}], + paths: [{d: 'M50 15a35 35 0 1 0 25 10l-7 7a24 24 0 1 1-18-6v10l17-17-17-17v13z'}], } satisfies SvgData; export const icon_connect = { @@ -138,7 +138,7 @@ export const icon_disconnect = { export const icon_retry = { label: 'retry, counterclockwise arrow', - paths: [{d: 'M70 15A40 40 0 1 0 30 15zM64 26A28 28 0 1 1 36 26zM12 20L30 15 36 26z'}], + paths: [{d: 'M50 15a35 35 0 1 1-25 10l7 7a24 24 0 1 0 18-6v10l-17-17 17-17v13z'}], } satisfies SvgData; export const icon_placeholder = { @@ -155,12 +155,12 @@ export const icon_send = { export const icon_play = { label: 'play', - paths: [{d: 'M25 10l55 40-55 40z'}], + paths: [{d: 'M26 10l54 40-55 40z'}], } satisfies SvgData; export const icon_pause = { label: 'pause', - paths: [{d: 'M25 15h15v70h-15zm35 0h15v70h-15z'}], + paths: [{d: 'M25 15h15v70h-15zm35 1h15v69h-15z'}], } satisfies SvgData; // --- Validation --- @@ -273,7 +273,7 @@ export const icon_chat = { label: 'chat bubble', paths: [ { - d: 'M15 10h70a5 5 0 0 1 5 5v50a5 5 0 0 1-5 5h-40l-20 20v-20h-10a5 5 0 0 1-5-5v-50a5 5 0 0 1 5-5zm10 10v40h10v12l12-12h38v-40z', + d: 'M15 10Q50 9 85 10a5 5 0 0 1 5 5v50a5 5 0 0 1-5 5h-40l-20 20v-20h-10a5 5 0 0 1-5-5v-50a5 5 0 0 1 5-5zm10 10v40h10v13l12-13h38v-40z', }, ], } satisfies SvgData; @@ -300,7 +300,7 @@ export const icon_file = { label: 'file, document', paths: [ { - d: 'M20 5h40l25 25v60a5 5 0 0 1-5 5h-60a5 5 0 0 1-5-5v-80a5 5 0 0 1 5-5zm5 10v70h50v-50h-20v-20zm30 0v15h15z', + d: 'M20 5h40l25 25v60a5 5 0 0 1-5 5h-60a5 5 0 0 1-5-5v-80a5 5 0 0 1 5-5zm5 10v70h50v-50h-20v-20z', }, ], } satisfies SvgData; @@ -332,8 +332,8 @@ export const icon_create_file = { ], } satisfies SvgData; -export const icon_create_folder = { - label: 'create folder, folder with plus', +export const icon_create_directory = { + label: 'create directory, folder with plus', paths: [ { d: 'M10 15h30l10 10h40a5 5 0 0 1 5 5v50a5 5 0 0 1-5 5h-80a5 5 0 0 1-5-5v-60a5 5 0 0 1 5-5zm5 10v50h70v-40h-40l-10-10zm25 15h10v10h10v10h-10v10h-10v-10h-10v-10h10z', @@ -388,10 +388,10 @@ export const icon_view = { } satisfies SvgData; export const icon_preview = { - label: 'preview, concentric circles', + label: 'preview, half-open eye', paths: [ { - d: 'M50 10a40 40 0 1 0 0 80 40 40 0 0 0 0-80zm0 10a30 30 0 1 1 0 60 30 30 0 0 1 0-60zm0 10a20 20 0 1 0 0 40 20 20 0 0 0 0-40zm0 10a10 10 0 1 1 0 20 10 10 0 0 1 0-20z', + d: 'M50 35c-25 0-42 15-42 15s17 15 42 15 42-15 42-15-17-15-42-15zm0 3a12 12 0 1 1 0 24 12 12 0 0 1 0-24zm0 5a7 7 0 1 0 0 14 7 7 0 0 0 0-14z', }, ], } satisfies SvgData; @@ -427,7 +427,7 @@ export const icon_capability = { label: 'capability, wrench', paths: [ { - d: 'M72 8a28 28 0 0 0-25 40l-30 30a8 8 0 0 0 0 11l4 4a8 8 0 0 0 11 0l30-30a28 28 0 0 0 38-29l-12 14-12-6-6-12 14-12a28 28 0 0 0-12-10z', + d: 'M72 8a28 28 0 0 0-25 40l-30 30a8 8 0 0 0 0 11l4 4a8 8 0 0 0 11 0l30-30a28 28 0 0 0 38-32q-14 10-22-1q-11-8-1-22a28 28 0 0 0-5 0z', }, ], } satisfies SvgData; @@ -445,7 +445,7 @@ export const icon_domain = { label: 'domain, diamond', paths: [ { - d: 'M50 5l40 45-40 45-40-45zm0 15l-25 30 25 30 25-30z', + d: 'M50 18l50 32-50 32-50-32zm0 12l-32 20 32 20 32-20z', }, ], } satisfies SvgData; @@ -483,7 +483,7 @@ export const icon_pin = { label: 'pin, thumbtack', paths: [ { - d: 'M50 5a18 18 0 0 0-18 18c0 7 4 13 9 17l-6 18h30l-6-18c5-4 9-10 9-17a18 18 0 0 0-18-18zm-5 63h10v27h-10z', + d: 'M50 5a18 18 0 0 0-18 18c0 7 4 13 9 17l-6 18h30l-6-18c5-4 9-10 9-17a18 18 0 0 0-18-18zm-3 53h6l-3 35-3-35z', }, ], } satisfies SvgData; @@ -503,7 +503,7 @@ export const icon_workspace = { label: 'workspace, grid', paths: [ { - d: 'M10 10h35v35h-35zm45 0h35v35h-35zm-45 45h35v35h-35zm45 0h35v35h-35z', + d: 'M10 10h35v35h-35zm45 0h35v35h-35zm-45 45h35v35h-35zm46 0h34v35h-34z', }, ], } satisfies SvgData; @@ -557,7 +557,7 @@ export const icon_action_type_local_call = { label: 'local call, arrow to target', paths: [ {d: 'M10 45h25v-15l20 20-20 20v-15h-25z'}, - {d: 'M72 50a13 13 0 1 1 0-1zM78 50a7 7 0 1 0 0-1z'}, + {d: 'M66 50a14 14 0 1 1 28 0 14 14 0 1 1-28 0zM71 50a9 9 0 1 0 18 0 9 9 0 1 0-18 0zM77 50a3 3 0 1 1 6 0 3 3 0 1 1-6 0z'}, ], } satisfies SvgData; @@ -574,7 +574,7 @@ export const icon_action_type_request_response = { label: 'request response, bidirectional arrows', paths: [ { - d: 'M30 15l-20 20 20 20v-12h40v-16h-40zm40 30v12h-40v16h40v12l20-20z', + d: 'M5 20h25v-10l20 15-20 15v-10h-25zM95 70h-25v-10l-20 15 20 15v-10h25z', }, ], } satisfies SvgData; diff --git a/src/routes/docs/icons/+page.svelte b/src/routes/docs/icons/+page.svelte index c4082fbe3..186f389c7 100644 --- a/src/routes/docs/icons/+page.svelte +++ b/src/routes/docs/icons/+page.svelte @@ -47,7 +47,7 @@ icon_list, icon_directory, icon_create_file, - icon_create_folder, + icon_create_directory, icon_prompt, icon_part, icon_provider, @@ -132,7 +132,7 @@ {name: 'list', glyph: '\u25A4', data: icon_list}, {name: 'directory', glyph: '\u25A6', data: icon_directory}, {name: 'create_file', glyph: '\uD83D\uDDCE', data: icon_create_file}, - {name: 'create_folder', glyph: '\uD83D\uDDC1', data: icon_create_folder}, + {name: 'create_directory', glyph: '\uD83D\uDDC1', data: icon_create_directory}, {name: 'prompt', glyph: '\u2307', data: icon_prompt}, {name: 'part', glyph: '\u250A', data: icon_part}, {name: 'provider', glyph: '\u2A15', data: icon_provider}, diff --git a/src/routes/library.json b/src/routes/library.json index a4929b0e7..a373014d8 100644 --- a/src/routes/library.json +++ b/src/routes/library.json @@ -3730,7 +3730,7 @@ "type_signature": "SvgData" }, { - "name": "icon_create_folder", + "name": "icon_create_directory", "kind": "variable", "source_line": 335, "type_signature": "SvgData" From c103ab2043f253e3761b2fd90dcadfb87f4595f9 Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 13 Apr 2026 19:10:55 -0400 Subject: [PATCH 7/8] wip --- src/lib/icons.ts | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/lib/icons.ts b/src/lib/icons.ts index b2e8a7b39..cd72274f4 100644 --- a/src/lib/icons.ts +++ b/src/lib/icons.ts @@ -53,7 +53,7 @@ export const icon_delete = { label: 'delete, x in concave frame', paths: [ { - d: 'M5 5Q50 18 95 5Q82 50 95 95Q50 82 5 95Q18 50 5 5zM18 18Q28 50 18 82Q50 72 82 82Q72 50 82 18Q50 28 18 18zM28 35l7-7 15 15 15-15 7 7-15 15 15 15-7 7-15-15-15 15-7-7 15-15z', + d: 'M5 5Q50 18 95 5Q82 50 95 95Q50 82 5 95Q18 50 5 5zM18 18Q28 50 18 82Q50 72 82 82Q72 50 82 18Q50 28 18 18zM29 34l5-5 16 13 16-13 5 5-13 16 13 16-5 5-16-13-16 13-5-5 13-16-13-16z', }, ], } satisfies SvgData; @@ -62,7 +62,7 @@ export const icon_clear = { label: 'clear, backspace', paths: [ { - d: 'M35 15l-25 35 25 35h55v-70zm8 22l7-7 13 13 13-13 7 7-13 13 13 13-7 7-13-13-13 13-7-7 13-13z', + d: 'M35 15l-25 35 25 35h55v-70zm9 21l5-5 14 11 14-11 5 5-11 14 11 14-5 5-14-11-14 11-5-5 11-14-11-14z', }, ], } satisfies SvgData; @@ -211,29 +211,29 @@ export const icon_error = { export const icon_chevron_up = { label: 'chevron up', - paths: [{d: 'M50 33l35 28-5 7-30-24-30 24-5-7z'}], + paths: [{d: 'M50 33l35 28-5 7-30-20-30 20-5-7z'}], } satisfies SvgData; export const icon_chevron_right = { label: 'chevron right', - paths: [{d: 'M67 50l-28 35-7-5 24-30-24-30 7-5z'}], + paths: [{d: 'M67 50l-28 35-7-5 20-30-20-30 7-5z'}], } satisfies SvgData; export const icon_chevron_down = { label: 'chevron down', - paths: [{d: 'M50 67l-35-28 5-7 30 24 30-24 5 7z'}], + paths: [{d: 'M50 67l-35-28 5-7 30 20 30-20 5 7z'}], } satisfies SvgData; export const icon_chevron_left = { label: 'chevron left', - paths: [{d: 'M33 50l28-35 7 5-24 30 24 30-7 5z'}], + paths: [{d: 'M33 50l28-35 7 5-20 30 20 30-7 5z'}], } satisfies SvgData; export const icon_double_chevron_left = { label: 'double chevron left', paths: [ { - d: 'M15 50l18-28 6 5-13 23 13 23-6 5zm30 0l18-28 6 5-13 23 13 23-6 5z', + d: 'M15 50l18-28 5 4-12 24 12 24-5 4zm30 0l18-28 5 4-12 24 12 24-5 4z', }, ], } satisfies SvgData; @@ -242,7 +242,7 @@ export const icon_double_chevron_right = { label: 'double chevron right', paths: [ { - d: 'M85 50l-18-28-6 5 13 23-13 23 6 5zm-30 0l-18-28-6 5 13 23-13 23 6 5z', + d: 'M85 50l-18-28-5 4 12 24-12 24 5 4zm-30 0l-18-28-5 4 12 24-12 24 5 4z', }, ], } satisfies SvgData; @@ -327,7 +327,7 @@ export const icon_create_file = { label: 'create file, document with plus', paths: [ { - d: 'M20 5h40l25 25v60a5 5 0 0 1-5 5h-60a5 5 0 0 1-5-5v-80a5 5 0 0 1 5-5zm5 10v70h50v-50h-20v-20zm15 30h8v10h10v8h-10v10h-8v-10h-10v-8h10z', + d: 'M20 5h40l25 25v60a5 5 0 0 1-5 5h-60a5 5 0 0 1-5-5v-80a5 5 0 0 1 5-5zm5 10v70h50v-50h-20v-20zm15 30h8l1 9 9 1v8l-9 1-1 9h-8l-1-9-9-1v-8l9-1z', }, ], } satisfies SvgData; @@ -336,14 +336,14 @@ export const icon_create_directory = { label: 'create directory, folder with plus', paths: [ { - d: 'M10 15h30l10 10h40a5 5 0 0 1 5 5v50a5 5 0 0 1-5 5h-80a5 5 0 0 1-5-5v-60a5 5 0 0 1 5-5zm5 10v50h70v-40h-40l-10-10zm25 15h10v10h10v10h-10v10h-10v-10h-10v-10h10z', + d: 'M10 15h30l10 10h40a5 5 0 0 1 5 5v50a5 5 0 0 1-5 5h-80a5 5 0 0 1-5-5v-60a5 5 0 0 1 5-5zm5 10v50h70v-40h-40l-10-10zm26 15h8l1 10 10 1v8l-10 1-1 10h-8l-1-10-10-1v-8l10-1z', }, ], } satisfies SvgData; export const icon_prompt = { label: 'prompt, chevron with cursor', - paths: [{d: 'M10 25l30 25-30 25-8-10 18-15-18-15zm35 40h40v10h-40z'}], + paths: [{d: 'M8 23l32 27-32 27-3-10 17-17-17-17zm37 42h40v10h-40z'}], } satisfies SvgData; export const icon_part = { @@ -375,14 +375,14 @@ export const icon_model = { export const icon_action = { label: 'action, lightning bolt', - paths: [{d: 'M55 5l-30 45h20l-5 45 35-50h-20z'}], + paths: [{d: 'M56 3L25 47h18l-6 50 37-52h-18z'}], } satisfies SvgData; export const icon_view = { label: 'view, eye', paths: [ { - d: 'M50 20c-25 0-42 30-42 30s17 30 42 30 42-30 42-30-17-30-42-30zm0 10a20 20 0 1 1 0 40 20 20 0 0 1 0-40zm0 8a12 12 0 1 0 0 24 12 12 0 0 0 0-24z', + d: 'M50 20c-25 0-42 30-42 30s17 30 42 30 42-30 42-30-17-30-42-30zm0 10a20 20 0 1 1 0 40 20 20 0 0 1 0-40zm0 12a8 8 0 1 0 0 16 8 8 0 0 0 0-16z', }, ], } satisfies SvgData; @@ -427,7 +427,7 @@ export const icon_capability = { label: 'capability, wrench', paths: [ { - d: 'M72 8a28 28 0 0 0-25 40l-30 30a8 8 0 0 0 0 11l4 4a8 8 0 0 0 11 0l30-30a28 28 0 0 0 38-32q-14 10-22-1q-11-8-1-22a28 28 0 0 0-5 0z', + d: 'M72 8a28 28 0 0 0-25 40l-30 30a8 8 0 0 0 0 11l4 4a8 8 0 0 0 11 0l30-30a28 28 0 0 0 38-32q-4 6-10 8q-5 2-10 0q-5-2-8-8l0-13q2-6 5-10a28 28 0 0 0-5 0z', }, ], } satisfies SvgData; @@ -436,7 +436,7 @@ export const icon_settings = { label: 'settings, gear', paths: [ { - d: 'M43 9h14l2 12a35 35 0 0 1 10 6l11-5 7 12-9 8a35 35 0 0 1 0 12l9 8-7 12-11-5a35 35 0 0 1-10 6l-2 12h-14l-2-12a35 35 0 0 1-10-6l-11 5-7-12 9-8a35 35 0 0 1 0-12l-9-8 7-12 11 5a35 35 0 0 1 10-6zM50 35a15 15 0 1 0 0 30 15 15 0 0 0 0-30z', + d: 'M43 9h14l2 12a35 35 0 0 1 10 6l11-5 7 12-9 8a35 35 0 0 1 0 12l9 8-7 12-11-5a35 35 0 0 1-10 6l-2 12h-14l-2-12a35 35 0 0 1-10-6l-11 5-7-12 9-8a35 35 0 0 1 0-12l-9-8 7-12 11 5a35 35 0 0 1 10-6zM50 34a15 15 0 1 0 0 30 15 15 0 0 0 0-30z', }, ], } satisfies SvgData; @@ -574,7 +574,7 @@ export const icon_action_type_request_response = { label: 'request response, bidirectional arrows', paths: [ { - d: 'M5 20h25v-10l20 15-20 15v-10h-25zM95 70h-25v-10l-20 15 20 15v-10h25z', + d: 'M10 30h25v-15l20 20-20 20v-15h-25zM90 60h-25v-15l-20 20 20 20v-15h25z', }, ], } satisfies SvgData; From ff3bceda984cfa36c03721fd24e615b332c925b0 Mon Sep 17 00:00:00 2001 From: Ryan Atkinson Date: Mon, 13 Apr 2026 19:39:58 -0400 Subject: [PATCH 8/8] wip --- src/routes/docs/icons/+page.svelte | 240 ++++++++++++----------------- src/routes/docs/logos/+page.svelte | 45 ++++-- src/routes/fuz.css | 7 - 3 files changed, 127 insertions(+), 165 deletions(-) diff --git a/src/routes/docs/icons/+page.svelte b/src/routes/docs/icons/+page.svelte index 186f389c7..f4323e02e 100644 --- a/src/routes/docs/icons/+page.svelte +++ b/src/routes/docs/icons/+page.svelte @@ -1,9 +1,9 @@

- SVG icon replacements for Unicode character glyphs. Each icon is available as data. The character glyph is shown on the left, the SVG icon on the right. + /> + component. Only the ones you use are included in your bundle.

+ + `} />
-
+
    {#each icon_entries as entry (entry.name)} -
    +
  • +
    {entry.name}
    -
    -
    -
    - -
    - char -
    -
    -
    - -
    - svg -
    -
    -
  • + {/each} -
+
diff --git a/src/routes/docs/logos/+page.svelte b/src/routes/docs/logos/+page.svelte index 463117f8d..f6b6e2744 100644 --- a/src/routes/docs/logos/+page.svelte +++ b/src/routes/docs/logos/+page.svelte @@ -38,57 +38,73 @@ class="display:flex flex-wrap:wrap justify-content:center gap_lg text-align:center unstyled" >
  • - + `} />
  • - + `} />
  • - + `} />
  • - `} />
  • - + `} />
  • - + `} />
  • - `} />
  • - `} />
  • - + `} />
  • - + `} />
  • - + `} />
  • - `} /> @@ -102,8 +118,11 @@ margin-bottom: var(--space_xl7); } + li :global(svg) { + background-color: var(--shade_05); + } + a { - display: block; --text_color: var(--text_90); margin-bottom: var(--space_lg); } diff --git a/src/routes/fuz.css b/src/routes/fuz.css index a244f7712..9bdf623ec 100644 --- a/src/routes/fuz.css +++ b/src/routes/fuz.css @@ -113,7 +113,6 @@ --font_size_xl4: 5.33rem; --font_size_xl5: 6.78rem; --font_size_xl6: 8.62rem; - --font_size_xs: 1rem; --hue_a: 210; --hue_b: 120; --hue_c: 0; @@ -163,7 +162,6 @@ --shade_00: hsl(var(--tint_hue) var(--tint_saturation) 96%); --shade_05: hsl(var(--tint_hue) var(--tint_saturation) 93%); --shade_10: hsl(var(--tint_hue) var(--tint_saturation) 90%); - --shade_20: hsl(var(--tint_hue) var(--tint_saturation) 84%); --shade_30: hsl(var(--tint_hue) var(--tint_saturation) 76%); --shade_50: hsl(var(--tint_hue) var(--tint_saturation) 53%); --shade_max: #000; @@ -285,7 +283,6 @@ --shade_00: hsl(var(--tint_hue) var(--tint_saturation) 6%); --shade_05: hsl(var(--tint_hue) var(--tint_saturation) 9%); --shade_10: hsl(var(--tint_hue) var(--tint_saturation) 12%); - --shade_20: hsl(var(--tint_hue) var(--tint_saturation) 17%); --shade_30: hsl(var(--tint_hue) var(--tint_saturation) 26%); --shade_50: hsl(var(--tint_hue) var(--tint_saturation) 48%); --shade_max: #fff; @@ -949,10 +946,6 @@ body { --min_height: var(--input_height_sm); /* TODO this increases paragraph line spacing */ } -:where(small) { - font-size: var(--font_size_sm); -} - :where(img, picture, canvas, svg, video) { display: block; max-width: 100%; /* shrink to fit */