@jotis-me/icons 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -2
- package/dist/Icon.d.ts +19 -0
- package/dist/Icon.js +16 -0
- package/dist/app-icon.d.ts +49 -0
- package/dist/app-icon.js +171 -0
- package/dist/app-icons/emptor-any-192.png +0 -0
- package/dist/app-icons/emptor-any-512.png +0 -0
- package/dist/app-icons/emptor-apple-touch-icon.png +0 -0
- package/dist/app-icons/emptor-default.svg +1 -0
- package/dist/app-icons/emptor-favicon-32.png +0 -0
- package/dist/app-icons/emptor-favicon.svg +1 -0
- package/dist/app-icons/emptor-light.svg +1 -0
- package/dist/app-icons/emptor-maskable-192.png +0 -0
- package/dist/app-icons/emptor-maskable-512.png +0 -0
- package/dist/app-icons/emptor-maskable.svg +1 -0
- package/dist/app-icons/emptor-mono.svg +1 -0
- package/dist/app-icons/emptor-solid.svg +1 -0
- package/dist/app-icons/ornatus-any-192.png +0 -0
- package/dist/app-icons/ornatus-any-512.png +0 -0
- package/dist/app-icons/ornatus-apple-touch-icon.png +0 -0
- package/dist/app-icons/ornatus-default.svg +1 -0
- package/dist/app-icons/ornatus-favicon-32.png +0 -0
- package/dist/app-icons/ornatus-favicon.svg +1 -0
- package/dist/app-icons/ornatus-light.svg +1 -0
- package/dist/app-icons/ornatus-maskable-192.png +0 -0
- package/dist/app-icons/ornatus-maskable-512.png +0 -0
- package/dist/app-icons/ornatus-maskable.svg +1 -0
- package/dist/app-icons/ornatus-mono.svg +1 -0
- package/dist/app-icons/ornatus-solid.svg +1 -0
- package/dist/app-icons/pecunia-any-192.png +0 -0
- package/dist/app-icons/pecunia-any-512.png +0 -0
- package/dist/app-icons/pecunia-apple-touch-icon.png +0 -0
- package/dist/app-icons/pecunia-default.svg +1 -0
- package/dist/app-icons/pecunia-favicon-32.png +0 -0
- package/dist/app-icons/pecunia-favicon.svg +1 -0
- package/dist/app-icons/pecunia-light.svg +1 -0
- package/dist/app-icons/pecunia-maskable-192.png +0 -0
- package/dist/app-icons/pecunia-maskable-512.png +0 -0
- package/dist/app-icons/pecunia-maskable.svg +1 -0
- package/dist/app-icons/pecunia-mono.svg +1 -0
- package/dist/app-icons/pecunia-solid.svg +1 -0
- package/dist/app-icons/vinculum-any-192.png +0 -0
- package/dist/app-icons/vinculum-any-512.png +0 -0
- package/dist/app-icons/vinculum-apple-touch-icon.png +0 -0
- package/dist/app-icons/vinculum-default.svg +1 -0
- package/dist/app-icons/vinculum-favicon-32.png +0 -0
- package/dist/app-icons/vinculum-favicon.svg +1 -0
- package/dist/app-icons/vinculum-light.svg +1 -0
- package/dist/app-icons/vinculum-maskable-192.png +0 -0
- package/dist/app-icons/vinculum-maskable-512.png +0 -0
- package/dist/app-icons/vinculum-maskable.svg +1 -0
- package/dist/app-icons/vinculum-mono.svg +1 -0
- package/dist/app-icons/vinculum-solid.svg +1 -0
- package/dist/components.generated.d.ts +83 -0
- package/dist/components.generated.js +84 -0
- package/dist/data/appicon.d.ts +611 -0
- package/dist/data/appicon.js +717 -0
- package/dist/data/icons.d.ts +83 -0
- package/dist/data/icons.js +212 -0
- package/dist/hand-drawn/accent-01.svg +4 -0
- package/dist/hand-drawn/accent-02.svg +9 -0
- package/dist/hand-drawn/accent-03.svg +4 -0
- package/dist/hand-drawn/accent-04.svg +4 -0
- package/dist/hand-drawn/accent-05.svg +4 -0
- package/dist/hand-drawn/accent-06.svg +4 -0
- package/dist/hand-drawn/accent-09.svg +15 -0
- package/dist/hand-drawn/accent-10.svg +13 -0
- package/dist/hand-drawn/accent-11.svg +11 -0
- package/dist/hand-drawn/accent-12.svg +14 -0
- package/dist/hand-drawn/accent-13.svg +7 -0
- package/dist/hand-drawn/accent-14.svg +7 -0
- package/dist/hand-drawn/accent-15.svg +8 -0
- package/dist/hand-drawn/accent-16.svg +8 -0
- package/dist/hand-drawn/accent-17.svg +8 -0
- package/dist/hand-drawn/accent-18.svg +4 -0
- package/dist/hand-drawn/accent-19.svg +4 -0
- package/dist/hand-drawn/arrow-01.svg +4 -0
- package/dist/hand-drawn/arrow-02.svg +4 -0
- package/dist/hand-drawn/arrow-03.svg +4 -0
- package/dist/hand-drawn/arrow-04.svg +4 -0
- package/dist/hand-drawn/arrow-05.svg +4 -0
- package/dist/hand-drawn/arrow-06.svg +4 -0
- package/dist/hand-drawn/arrow-07.svg +4 -0
- package/dist/hand-drawn/arrow-08.svg +4 -0
- package/dist/hand-drawn/arrow-09.svg +4 -0
- package/dist/hand-drawn/arrow-10.svg +4 -0
- package/dist/hand-drawn/arrow-11.svg +4 -0
- package/dist/hand-drawn/arrow-12.svg +4 -0
- package/dist/hand-drawn/arrow-13.svg +4 -0
- package/dist/hand-drawn/arrow-14.svg +4 -0
- package/dist/hand-drawn/arrow-15.svg +4 -0
- package/dist/hand-drawn/arrow-16.svg +4 -0
- package/dist/hand-drawn/arrow-17.svg +4 -0
- package/dist/hand-drawn/arrow-18.svg +4 -0
- package/dist/hand-drawn/arrow-19.svg +4 -0
- package/dist/hand-drawn/arrow-20.svg +4 -0
- package/dist/hand-drawn/arrow-21.svg +4 -0
- package/dist/hand-drawn/arrow-22.svg +4 -0
- package/dist/hand-drawn/arrow-23.svg +4 -0
- package/dist/hand-drawn/arrow-24.svg +4 -0
- package/dist/hand-drawn/arrow-25.svg +4 -0
- package/dist/hand-drawn/arrow-26.svg +4 -0
- package/dist/hand-drawn/arrow-27.svg +4 -0
- package/dist/hand-drawn/arrow-28.svg +4 -0
- package/dist/hand-drawn/arrow-29.svg +4 -0
- package/dist/hand-drawn/arrow-30.svg +4 -0
- package/dist/hand-drawn/arrow-31.svg +4 -0
- package/dist/hand-drawn/arrow-32.svg +4 -0
- package/dist/hand-drawn/arrow-33.svg +4 -0
- package/dist/hand-drawn/arrow-34.svg +4 -0
- package/dist/hand-drawn/arrow-35.svg +4 -0
- package/dist/hand-drawn/arrow-36.svg +4 -0
- package/dist/hand-drawn/arrow-37.svg +4 -0
- package/dist/hand-drawn/arrow-38.svg +4 -0
- package/dist/hand-drawn/arrow-39.svg +4 -0
- package/dist/hand-drawn/arrow-40.svg +4 -0
- package/dist/hand-drawn/arrow-41.svg +4 -0
- package/dist/hand-drawn/arrow-42.svg +4 -0
- package/dist/hand-drawn/line-circle.svg +4 -0
- package/dist/hand-drawn/line-squiggle.svg +4 -0
- package/dist/hand-drawn/scribble-circle-01.svg +4 -0
- package/dist/hand-drawn/scribble-circle-02.svg +4 -0
- package/dist/hand-drawn/scribble-circle-03.svg +4 -0
- package/dist/hand-drawn/scribble-circle-04.svg +4 -0
- package/dist/hand-drawn/scribble-circle-05.svg +4 -0
- package/dist/hand-drawn/scribble-circle-06.svg +4 -0
- package/dist/hand-drawn/scribble-circle-07.svg +4 -0
- package/dist/hand-drawn/scribble-underline-01.svg +4 -0
- package/dist/hand-drawn/scribble-underline-02.svg +4 -0
- package/dist/hand-drawn/scribble-underline-03.svg +4 -0
- package/dist/hand-drawn/scribble-underline-04.svg +4 -0
- package/dist/hand-drawn/scribble-underline-05.svg +4 -0
- package/dist/hand-drawn/scribble-underline-06.svg +4 -0
- package/dist/hand-drawn/scribble-underline-07.svg +4 -0
- package/dist/hand-drawn/scribble-underline-08.svg +4 -0
- package/dist/hand-drawn/scribble-underline-09.svg +4 -0
- package/dist/hand-drawn/underline-01.svg +4 -0
- package/dist/hand-drawn/underline-02.svg +4 -0
- package/dist/hand-drawn/underline-03.svg +4 -0
- package/dist/hand-drawn/underline-04.svg +4 -0
- package/dist/hand-drawn/underline-05.svg +4 -0
- package/dist/hand-drawn/underline-06.svg +4 -0
- package/dist/hand-drawn/underline-07.svg +4 -0
- package/dist/hand-drawn/underline-08.svg +4 -0
- package/dist/hand-drawn/underline-09.svg +7 -0
- package/dist/hand-drawn/underline-10.svg +7 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/patterns/pattern-dot-cube.svg +13 -0
- package/dist/patterns/pattern-line-pattern.svg +212 -0
- package/dist/patterns/pattern-topographic.svg +41 -0
- package/dist/patterns/pattern-wavy-lines.svg +23 -0
- package/dist/svg/alert-circle.svg +1 -0
- package/dist/svg/alert-triangle.svg +1 -0
- package/dist/svg/align-center.svg +1 -0
- package/dist/svg/align-left.svg +1 -0
- package/dist/svg/align-right.svg +1 -0
- package/dist/svg/arrow-left.svg +1 -0
- package/dist/svg/arrow-right.svg +1 -0
- package/dist/svg/arrow-up-right.svg +1 -0
- package/dist/svg/bar-chart-01.svg +1 -0
- package/dist/svg/bell-01.svg +1 -0
- package/dist/svg/bold-01.svg +1 -0
- package/dist/svg/calendar-plus-01.svg +1 -0
- package/dist/svg/calendar.svg +1 -0
- package/dist/svg/check-circle.svg +1 -0
- package/dist/svg/check.svg +1 -0
- package/dist/svg/chevron-down.svg +1 -0
- package/dist/svg/chevron-left.svg +1 -0
- package/dist/svg/chevron-right.svg +1 -0
- package/dist/svg/chevron-selector-vertical.svg +1 -0
- package/dist/svg/chevron-up.svg +1 -0
- package/dist/svg/clock.svg +1 -0
- package/dist/svg/code-01.svg +1 -0
- package/dist/svg/copy-01.svg +1 -0
- package/dist/svg/currency-euro.svg +1 -0
- package/dist/svg/dotpoints-01.svg +1 -0
- package/dist/svg/dots-horizontal.svg +1 -0
- package/dist/svg/dots-vertical.svg +1 -0
- package/dist/svg/download-01.svg +1 -0
- package/dist/svg/dropper.svg +1 -0
- package/dist/svg/edit-02.svg +1 -0
- package/dist/svg/eye-off.svg +1 -0
- package/dist/svg/eye.svg +1 -0
- package/dist/svg/file-04.svg +1 -0
- package/dist/svg/filter-lines.svg +1 -0
- package/dist/svg/folder.svg +1 -0
- package/dist/svg/globe-01.svg +1 -0
- package/dist/svg/grid-01.svg +1 -0
- package/dist/svg/help-circle.svg +1 -0
- package/dist/svg/home-line.svg +1 -0
- package/dist/svg/image-01.svg +1 -0
- package/dist/svg/inbox-01.svg +1 -0
- package/dist/svg/info-circle.svg +1 -0
- package/dist/svg/italic-01.svg +1 -0
- package/dist/svg/line-chart-up-01.svg +1 -0
- package/dist/svg/link-01.svg +1 -0
- package/dist/svg/link-external-01.svg +1 -0
- package/dist/svg/loading-02.svg +1 -0
- package/dist/svg/lock-01.svg +1 -0
- package/dist/svg/log-out-01.svg +1 -0
- package/dist/svg/mail-01.svg +1 -0
- package/dist/svg/maximize-01.svg +1 -0
- package/dist/svg/menu-01.svg +1 -0
- package/dist/svg/minus.svg +1 -0
- package/dist/svg/moon-01.svg +1 -0
- package/dist/svg/palette.svg +1 -0
- package/dist/svg/paperclip.svg +1 -0
- package/dist/svg/pause-circle.svg +1 -0
- package/dist/svg/play.svg +1 -0
- package/dist/svg/plus.svg +1 -0
- package/dist/svg/refresh-cw-01.svg +1 -0
- package/dist/svg/search-lg.svg +1 -0
- package/dist/svg/search-md.svg +1 -0
- package/dist/svg/send-01.svg +1 -0
- package/dist/svg/settings-02.svg +1 -0
- package/dist/svg/shield-tick.svg +1 -0
- package/dist/svg/sliders-01.svg +1 -0
- package/dist/svg/star-01.svg +1 -0
- package/dist/svg/stars-02.svg +1 -0
- package/dist/svg/sun.svg +1 -0
- package/dist/svg/trash-01.svg +1 -0
- package/dist/svg/trend-down-01.svg +1 -0
- package/dist/svg/trend-up-01.svg +1 -0
- package/dist/svg/underline-01.svg +1 -0
- package/dist/svg/upload-cloud-02.svg +1 -0
- package/dist/svg/user-01.svg +1 -0
- package/dist/svg/user-plus-01.svg +1 -0
- package/dist/svg/users-01.svg +1 -0
- package/dist/svg/volume-max.svg +1 -0
- package/dist/svg/volume-x.svg +1 -0
- package/dist/svg/x-close.svg +1 -0
- package/dist/svg/zap.svg +1 -0
- package/package.json +64 -5
package/README.md
CHANGED
|
@@ -1,3 +1,54 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @jotis-me/icons
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Los 81 iconos de línea de la suite jotis.me (24×24, trazo de 2px redondeado) como componentes React y como SVG, y los iconos de app de cada producto.
|
|
4
|
+
|
|
5
|
+
Documentación y galería: [regula.jotis.me](https://regula.jotis.me).
|
|
6
|
+
|
|
7
|
+
## React (Next.js o Astro con islas)
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import { Icon, IconCalendar } from "@jotis-me/icons";
|
|
11
|
+
|
|
12
|
+
<Icon name="search-lg" /> {/* decorativo: aria-hidden */}
|
|
13
|
+
<Icon name="search-lg" title="Buscar" /> {/* con nombre accesible */}
|
|
14
|
+
<IconCalendar size={24} className="text-fg-tertiary" />
|
|
15
|
+
<Icon name="loading-02" spin /> {/* gira; se para con movimiento reducido */}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
El icono toma el color del texto (`currentColor`): ponle una utilidad `text-fg-*`. Tamaños de la guía: 20 en botones e inputs, 16 en botones xs y menús, 24 en navegación.
|
|
19
|
+
|
|
20
|
+
## SVG sin React (Astro, HTML)
|
|
21
|
+
|
|
22
|
+
```astro
|
|
23
|
+
---
|
|
24
|
+
import Calendar from "@jotis-me/icons/svg/calendar.svg?raw";
|
|
25
|
+
---
|
|
26
|
+
<span class="text-fg-tertiary" set:html={Calendar} />
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Iconos de app
|
|
30
|
+
|
|
31
|
+
```ts
|
|
32
|
+
import { appIconSvg, apps } from "@jotis-me/icons/app-icon";
|
|
33
|
+
|
|
34
|
+
appIconSvg({ app: "pecunia", variant: "light" });
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Ficheros listos en `@jotis-me/icons/app-icons/`: `{app}-{default,solid,light,mono,maskable}.svg`, `{app}-favicon.svg`, `{app}-favicon-32.png`, `{app}-any-{192,512}.png`, `{app}-maskable-{192,512}.png` y `{app}-apple-touch-icon.png` (180 px).
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
"icons": [
|
|
41
|
+
{ "src": "/pecunia-any-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" },
|
|
42
|
+
{ "src": "/pecunia-maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
|
|
43
|
+
]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Trazos a mano y patrones
|
|
47
|
+
|
|
48
|
+
`@jotis-me/icons/hand-drawn/*.svg` (87: subrayados, círculos, flechas, acentos) y `@jotis-me/icons/patterns/*.svg` (4 texturas). La tinta es `currentColor`: pon el SVG en línea dentro de un elemento con `text-primary` y saldrá en #171717 en claro y #FAFAFA en oscuro. Como imagen (`<img>`) no hereda color; usa `mask-image` con `background: currentColor`.
|
|
49
|
+
|
|
50
|
+
Uno o dos trazos por vista, nunca en pantallas de trabajo. Los patrones van en gris claro; en oscuro, bájales la opacidad al 10–20 %.
|
|
51
|
+
|
|
52
|
+
## Licencia
|
|
53
|
+
|
|
54
|
+
MIT.
|
package/dist/Icon.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SVGProps } from "react";
|
|
2
|
+
import { icons } from "./data/icons.js";
|
|
3
|
+
export type IconName = keyof typeof icons;
|
|
4
|
+
/** Los nombres de los 81 iconos del set, en el orden de la guía. */
|
|
5
|
+
export declare const iconNames: IconName[];
|
|
6
|
+
export interface IconProps extends Omit<SVGProps<SVGSVGElement>, "name" | "children"> {
|
|
7
|
+
name: IconName;
|
|
8
|
+
/** Lado en px. 20 en controles, 16 en botones xs y menús, 24 en navegación. */
|
|
9
|
+
size?: number;
|
|
10
|
+
strokeWidth?: number;
|
|
11
|
+
/** Nombre accesible. Sin él, el icono es decorativo y queda oculto a lectores de pantalla. */
|
|
12
|
+
title?: string;
|
|
13
|
+
/** Giro continuo para cargas; se detiene si el sistema pide menos movimiento. */
|
|
14
|
+
spin?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Icono de línea del set (24×24, trazo de 2px redondeado) que toma el color del texto. */
|
|
17
|
+
export declare function Icon({ name, size, strokeWidth, title, spin, className, ...rest }: IconProps): import("react").JSX.Element;
|
|
18
|
+
/** El icono como SVG independiente con `currentColor`, para Astro o HTML sin React. */
|
|
19
|
+
export declare function iconSvg(name: IconName, size?: number): string;
|
package/dist/Icon.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { icons } from "./data/icons.js";
|
|
3
|
+
/** Los nombres de los 81 iconos del set, en el orden de la guía. */
|
|
4
|
+
export const iconNames = Object.keys(icons);
|
|
5
|
+
const SPIN_CSS = "@keyframes jm-icon-spin{to{transform:rotate(360deg)}}.jm-icon-spin{animation:jm-icon-spin 1s linear infinite;transform-origin:center}@media (prefers-reduced-motion:reduce){.jm-icon-spin{animation:none}}";
|
|
6
|
+
/** Icono de línea del set (24×24, trazo de 2px redondeado) que toma el color del texto. */
|
|
7
|
+
export function Icon({ name, size = 20, strokeWidth = 2, title, spin, className, ...rest }) {
|
|
8
|
+
const paths = icons[name] ?? [];
|
|
9
|
+
const classes = [spin ? "jm-icon-spin" : "", className ?? ""].filter(Boolean).join(" ") || undefined;
|
|
10
|
+
return (_jsxs("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": title ? undefined : true, role: title ? "img" : undefined, focusable: "false", className: classes, ...rest, children: [title ? _jsx("title", { children: title }) : null, spin ? _jsx("style", { children: SPIN_CSS }) : null, paths.map((d) => (_jsx("path", { d: d }, d)))] }));
|
|
11
|
+
}
|
|
12
|
+
/** El icono como SVG independiente con `currentColor`, para Astro o HTML sin React. */
|
|
13
|
+
export function iconSvg(name, size = 24) {
|
|
14
|
+
const paths = icons[name].map((d) => `<path d="${d}"/>`).join("");
|
|
15
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${paths}</svg>`;
|
|
16
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type AppIconHue = "indigo" | "violet" | "purple" | "fuchsia" | "pink" | "rose" | "orange" | "amber" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue";
|
|
2
|
+
export type AppIconVariant = "default" | "solid" | "light" | "mono";
|
|
3
|
+
export type AppIconShape = "rounded" | "square";
|
|
4
|
+
export interface AppInfo {
|
|
5
|
+
name: string;
|
|
6
|
+
letters: string;
|
|
7
|
+
hue: AppIconHue;
|
|
8
|
+
}
|
|
9
|
+
/** Apps de la suite. Para añadir una, pasa la validación de `validateApps`. */
|
|
10
|
+
export declare const apps: Record<"ornatus" | "vinculum" | "pecunia" | "emptor", AppInfo>;
|
|
11
|
+
export type AppName = keyof typeof apps;
|
|
12
|
+
export declare const hues: Record<AppIconHue, Record<"50" | "200" | "300" | "500" | "600" | "800" | "950", string>>;
|
|
13
|
+
/**
|
|
14
|
+
* Comprueba un registro de apps con las reglas de la guía: dos letras, tono de la paleta,
|
|
15
|
+
* nunca rojo (error), amarillo (el blanco no llega a 3:1) ni grises, y sin repetir ni ser vecino de otro.
|
|
16
|
+
* Devuelve la lista de problemas; vacía si el registro es válido.
|
|
17
|
+
*/
|
|
18
|
+
export declare function validateApps(registry: Record<string, {
|
|
19
|
+
name: string;
|
|
20
|
+
letters: string;
|
|
21
|
+
hue: string;
|
|
22
|
+
}>): string[];
|
|
23
|
+
export interface AppIconOptions {
|
|
24
|
+
app?: AppName;
|
|
25
|
+
letters?: string;
|
|
26
|
+
hue?: AppIconHue;
|
|
27
|
+
variant?: AppIconVariant;
|
|
28
|
+
/** Tamaño en px: decide la variante por defecto y si se dibuja la virgulilla. */
|
|
29
|
+
size?: number;
|
|
30
|
+
shape?: AppIconShape;
|
|
31
|
+
tilde?: boolean;
|
|
32
|
+
label?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface AppIconPart {
|
|
35
|
+
d: string;
|
|
36
|
+
fill: string;
|
|
37
|
+
stroke?: string;
|
|
38
|
+
strokeWidth?: number;
|
|
39
|
+
strokeLinecap?: "round";
|
|
40
|
+
vectorEffect?: "non-scaling-stroke";
|
|
41
|
+
}
|
|
42
|
+
export interface AppIconGeometry {
|
|
43
|
+
label: string;
|
|
44
|
+
parts: AppIconPart[];
|
|
45
|
+
}
|
|
46
|
+
/** Calcula las piezas del icono en un lienzo de 128×128. */
|
|
47
|
+
export declare function appIcon(options?: AppIconOptions): AppIconGeometry;
|
|
48
|
+
/** El icono como SVG independiente, igual que los de la guía. */
|
|
49
|
+
export declare function appIconSvg(options?: AppIconOptions, px?: number): string;
|
package/dist/app-icon.js
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
// Geometría del icono de app de la suite: baldosa con esquina, dos letras en curvas y virgulilla.
|
|
2
|
+
// Portado de la guía (AppIcon en bundle.js); las letras salen ya en coordenadas absolutas.
|
|
3
|
+
import { appicon as data } from "./data/appicon.js";
|
|
4
|
+
/** Apps de la suite. Para añadir una, pasa la validación de `validateApps`. */
|
|
5
|
+
export const apps = data.apps;
|
|
6
|
+
export const hues = data.hues;
|
|
7
|
+
/** Orden de la paleta de Tailwind (circular): define qué tonos son vecinos. */
|
|
8
|
+
const WHEEL = [
|
|
9
|
+
"red",
|
|
10
|
+
"orange",
|
|
11
|
+
"amber",
|
|
12
|
+
"yellow",
|
|
13
|
+
"lime",
|
|
14
|
+
"green",
|
|
15
|
+
"emerald",
|
|
16
|
+
"teal",
|
|
17
|
+
"cyan",
|
|
18
|
+
"sky",
|
|
19
|
+
"blue",
|
|
20
|
+
"indigo",
|
|
21
|
+
"violet",
|
|
22
|
+
"purple",
|
|
23
|
+
"fuchsia",
|
|
24
|
+
"pink",
|
|
25
|
+
"rose",
|
|
26
|
+
];
|
|
27
|
+
const GRAYS = ["slate", "gray", "zinc", "neutral", "stone"];
|
|
28
|
+
/**
|
|
29
|
+
* Comprueba un registro de apps con las reglas de la guía: dos letras, tono de la paleta,
|
|
30
|
+
* nunca rojo (error), amarillo (el blanco no llega a 3:1) ni grises, y sin repetir ni ser vecino de otro.
|
|
31
|
+
* Devuelve la lista de problemas; vacía si el registro es válido.
|
|
32
|
+
*/
|
|
33
|
+
export function validateApps(registry) {
|
|
34
|
+
const problems = [];
|
|
35
|
+
const entries = Object.entries(registry);
|
|
36
|
+
for (const [id, app] of entries) {
|
|
37
|
+
if (!/^[A-ZÁÉÍÓÚÑ][a-záéíóúñ]$/.test(app.letters))
|
|
38
|
+
problems.push(`${id}: las letras deben ser mayúscula + minúscula ("${app.letters}")`);
|
|
39
|
+
if (app.hue === "red")
|
|
40
|
+
problems.push(`${id}: red está reservado para errores`);
|
|
41
|
+
else if (app.hue === "yellow")
|
|
42
|
+
problems.push(`${id}: yellow no vale, el blanco sobre yellow-600 no llega a 3:1`);
|
|
43
|
+
else if (GRAYS.includes(app.hue))
|
|
44
|
+
problems.push(`${id}: ${app.hue} es gris; la variante mono ya es la gris`);
|
|
45
|
+
else if (!(app.hue in hues))
|
|
46
|
+
problems.push(`${id}: ${app.hue} no es un tono de la paleta`);
|
|
47
|
+
}
|
|
48
|
+
for (let i = 0; i < entries.length; i++) {
|
|
49
|
+
for (let j = i + 1; j < entries.length; j++) {
|
|
50
|
+
const [a, x] = entries[i];
|
|
51
|
+
const [b, y] = entries[j];
|
|
52
|
+
if (x.letters === y.letters)
|
|
53
|
+
problems.push(`${a} y ${b} tienen las mismas letras (${x.letters})`);
|
|
54
|
+
if (x.hue === y.hue)
|
|
55
|
+
problems.push(`${a} y ${b} usan el mismo tono (${x.hue})`);
|
|
56
|
+
const d = Math.abs(WHEEL.indexOf(x.hue) - WHEEL.indexOf(y.hue));
|
|
57
|
+
if (WHEEL.includes(x.hue) && WHEEL.includes(y.hue) && Math.min(d, WHEEL.length - d) === 1)
|
|
58
|
+
problems.push(`${a} (${x.hue}) y ${b} (${y.hue}) tienen tonos vecinos`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return problems;
|
|
62
|
+
}
|
|
63
|
+
const VB = 128;
|
|
64
|
+
const geo = data.geo;
|
|
65
|
+
const glyphs = data.glyphs;
|
|
66
|
+
const kern = data.kern;
|
|
67
|
+
/** Redondea como la guía: dos decimales, sin ceros a la derecha. */
|
|
68
|
+
const n = (v) => String(Number(v.toFixed(2)));
|
|
69
|
+
function colors(hue, variant) {
|
|
70
|
+
const c = hues[hue] ?? hues.indigo;
|
|
71
|
+
if (variant === "solid")
|
|
72
|
+
return { bg: c["600"], l1: "#ffffff", l2: "#ffffff" };
|
|
73
|
+
if (variant === "light")
|
|
74
|
+
return { bg: c["50"], l1: c["800"], l2: c["600"], tilde: c["600"], border: c["200"] };
|
|
75
|
+
if (variant === "mono")
|
|
76
|
+
return { bg: data.mono, l1: "#ffffff", l2: data.neutral400, tilde: data.neutral400 };
|
|
77
|
+
return { bg: c["950"], l1: c["300"], l2: c["500"], tilde: c["500"] };
|
|
78
|
+
}
|
|
79
|
+
/** Aplica `translate(tx ty) scale(k -k)` a un trazo con comandos absolutos M, L, Q, H, V, Z. */
|
|
80
|
+
function place(d, tx, ty, k) {
|
|
81
|
+
// Cada segmento es una letra de comando seguida de sus números; los grupos repetidos van implícitos
|
|
82
|
+
return [...d.matchAll(/([MLQHVZ])([^MLQHVZ]*)/g)]
|
|
83
|
+
.map(([, cmd, body]) => {
|
|
84
|
+
const nums = (body.match(/-?\d*\.?\d+/g) ?? []).map(Number);
|
|
85
|
+
const coords = nums.map((v, i) => {
|
|
86
|
+
if (cmd === "H")
|
|
87
|
+
return n(tx + v * k);
|
|
88
|
+
if (cmd === "V")
|
|
89
|
+
return n(ty - v * k);
|
|
90
|
+
return i % 2 === 0 ? n(tx + v * k) : n(ty - v * k);
|
|
91
|
+
});
|
|
92
|
+
return `${cmd}${coords.join(" ")}`;
|
|
93
|
+
})
|
|
94
|
+
.join("");
|
|
95
|
+
}
|
|
96
|
+
function tile(shape, inset) {
|
|
97
|
+
const S = VB;
|
|
98
|
+
if (shape === "square")
|
|
99
|
+
return `M0 0H${S}V${S}H0Z`;
|
|
100
|
+
const r = geo.radius * VB - inset;
|
|
101
|
+
const c = geo.corner * VB - inset;
|
|
102
|
+
const o = inset;
|
|
103
|
+
const v = (x) => n(x);
|
|
104
|
+
return `M${v(o + r)} ${v(o)}H${v(S - o - r)}A${v(r)} ${v(r)} 0 0 1 ${v(S - o)} ${v(o + r)}V${v(S - o - r)}A${v(r)} ${v(r)} 0 0 1 ${v(S - o - r)} ${v(S - o)}H${v(o + c)}A${v(c)} ${v(c)} 0 0 1 ${v(o)} ${v(S - o - c)}V${v(o + r)}A${v(r)} ${v(r)} 0 0 1 ${v(o + r)} ${v(o)}Z`;
|
|
105
|
+
}
|
|
106
|
+
/** Calcula las piezas del icono en un lienzo de 128×128. */
|
|
107
|
+
export function appIcon(options = {}) {
|
|
108
|
+
const app = options.app ? apps[options.app] : undefined;
|
|
109
|
+
const letters = String(options.letters ?? app?.letters ?? "Ap").slice(0, 2);
|
|
110
|
+
const hue = options.hue ?? app?.hue ?? "indigo";
|
|
111
|
+
const size = options.size ?? 48;
|
|
112
|
+
const shape = options.shape ?? "rounded";
|
|
113
|
+
const variant = options.variant ?? (size < 20 ? "solid" : "default");
|
|
114
|
+
const col = colors(hue, variant);
|
|
115
|
+
const showTilde = Boolean(col.tilde) && (options.tilde ?? size >= 32);
|
|
116
|
+
const base = (showTilde ? geo.ulBaseline : geo.baseline) * VB;
|
|
117
|
+
const k = (geo.size * VB) / 1000;
|
|
118
|
+
const chars = letters.split("");
|
|
119
|
+
const advances = chars.map((ch, i) => (glyphs[ch]?.[0] ?? 500) + (kern[ch + (chars[i + 1] ?? "")] ?? 0) + geo.track);
|
|
120
|
+
let x = (VB - advances.reduce((a, b) => a + b, 0) * k) / 2;
|
|
121
|
+
const parts = [{ d: tile(shape, 0), fill: col.bg }];
|
|
122
|
+
if (col.border && shape !== "square")
|
|
123
|
+
parts.push({
|
|
124
|
+
d: tile(shape, 0.5),
|
|
125
|
+
fill: "none",
|
|
126
|
+
stroke: col.border,
|
|
127
|
+
vectorEffect: "non-scaling-stroke",
|
|
128
|
+
});
|
|
129
|
+
chars.forEach((ch, i) => {
|
|
130
|
+
const g = glyphs[ch];
|
|
131
|
+
if (g)
|
|
132
|
+
parts.push({
|
|
133
|
+
d: place(g[1], Number(x.toFixed(2)), Number(base.toFixed(2)), k),
|
|
134
|
+
fill: i === 0 ? col.l1 : col.l2,
|
|
135
|
+
});
|
|
136
|
+
x += advances[i] * k;
|
|
137
|
+
});
|
|
138
|
+
if (showTilde && col.tilde) {
|
|
139
|
+
const T = geo.tilde;
|
|
140
|
+
const w = T.len;
|
|
141
|
+
const x0 = VB / 2 - w / 2;
|
|
142
|
+
const x1 = x0 + w;
|
|
143
|
+
const cx = VB / 2;
|
|
144
|
+
const y = base + T.drop;
|
|
145
|
+
const b = T.amp;
|
|
146
|
+
parts.push({
|
|
147
|
+
d: `M${n(x0)} ${n(y)}C${n(x0 + 0.2 * w)} ${n(y - b)} ${n(x0 + 0.3 * w)} ${n(y - b)} ${n(cx)} ${n(y)}C${n(cx + 0.2 * w)} ${n(y + b)} ${n(x1 - 0.2 * w)} ${n(y + b)} ${n(x1)} ${n(y)}`,
|
|
148
|
+
fill: "none",
|
|
149
|
+
stroke: col.tilde,
|
|
150
|
+
strokeWidth: T.w,
|
|
151
|
+
strokeLinecap: "round",
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
return { label: options.label ?? app?.name ?? letters, parts };
|
|
155
|
+
}
|
|
156
|
+
const escapeXml = (s) => s.replace(/&/g, "&").replace(/</g, "<").replace(/"/g, """);
|
|
157
|
+
/** El icono como SVG independiente, igual que los de la guía. */
|
|
158
|
+
export function appIconSvg(options = {}, px = 128) {
|
|
159
|
+
const { label, parts } = appIcon(options);
|
|
160
|
+
const attrs = (p) => [
|
|
161
|
+
`fill="${p.fill}"`,
|
|
162
|
+
p.stroke ? `stroke="${p.stroke}"` : "",
|
|
163
|
+
p.strokeWidth ? `stroke-width="${p.strokeWidth}"` : "",
|
|
164
|
+
p.strokeLinecap ? `stroke-linecap="${p.strokeLinecap}"` : "",
|
|
165
|
+
p.vectorEffect ? `vector-effect="${p.vectorEffect}"` : "",
|
|
166
|
+
`d="${p.d}"`,
|
|
167
|
+
]
|
|
168
|
+
.filter(Boolean)
|
|
169
|
+
.join(" ");
|
|
170
|
+
return `<svg xmlns="http://www.w3.org/2000/svg" width="${px}" height="${px}" viewBox="0 0 128 128" role="img"><title>${escapeXml(label)}</title>${parts.map((p) => `<path ${attrs(p)}></path>`).join("")}</svg>`;
|
|
171
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Emptor</title><path fill="#441306" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffb86a" d="M24.5 80V40.29H32.14V80ZM29.44 80V73.74H54.16V80ZM29.44 62.73V56.96H51.21V62.73ZM29.44 46.55V40.29H54.04V46.55Z"></path><path fill="#ff6900" d="M58.37 80V60.09V48.54H64.57L64.39 58.16H65.47Q66.31 54.67 67.7 52.33Q69.02 50.04 71 48.9Q72.99 47.75 75.58 47.75Q78.46 47.75 80.33 49.08Q82.19 50.4 83.22 52.69Q84.18 55.03 84.42 58.1H85.38Q86.17 54.61 87.67 52.33Q89.11 50.04 91.28 48.9Q93.38 47.75 95.97 47.75Q98.5 47.75 100.42 48.78Q102.35 49.8 103.67 51.72Q104.94 53.71 105.6 56.66Q106.2 59.61 106.2 63.46V80H98.56V64.42Q98.56 61.05 98.02 58.82Q97.42 56.6 96.21 55.45Q95.07 54.37 93.2 54.37Q91.1 54.37 89.53 55.76Q87.97 57.14 87.07 59.67Q86.17 62.13 85.98 65.32V80H78.52V64.78Q78.52 61.29 77.92 58.94Q77.32 56.66 76.12 55.51Q74.92 54.37 73.05 54.37Q70.88 54.37 69.38 55.82Q67.82 57.26 66.97 59.79Q66.07 62.31 65.95 65.44V80Z"></path><path fill="none" stroke="#ff6900" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 128 128" role="img"><title>Emptor</title><path fill="#f54900" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M24.5 84.99V45.28H32.14V84.99ZM29.44 84.99V78.73H54.16V84.99ZM29.44 67.72V61.95H51.21V67.72ZM29.44 51.54V45.28H54.04V51.54Z"></path><path fill="#ffffff" d="M58.37 84.99V65.08V53.53H64.57L64.39 63.15H65.47Q66.31 59.66 67.7 57.32Q69.02 55.03 71 53.89Q72.99 52.74 75.58 52.74Q78.46 52.74 80.33 54.07Q82.19 55.39 83.22 57.68Q84.18 60.02 84.42 63.09H85.38Q86.17 59.6 87.67 57.32Q89.11 55.03 91.28 53.89Q93.38 52.74 95.97 52.74Q98.5 52.74 100.42 53.77Q102.35 54.79 103.67 56.71Q104.94 58.7 105.6 61.65Q106.2 64.6 106.2 68.45V84.99H98.56V69.41Q98.56 66.04 98.02 63.81Q97.42 61.59 96.21 60.44Q95.07 59.36 93.2 59.36Q91.1 59.36 89.53 60.75Q87.97 62.13 87.07 64.66Q86.17 67.12 85.98 70.31V84.99H78.52V69.77Q78.52 66.28 77.92 63.93Q77.32 61.65 76.12 60.5Q74.92 59.36 73.05 59.36Q70.88 59.36 69.38 60.81Q67.82 62.25 66.97 64.78Q66.07 67.3 65.95 70.43V84.99Z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Emptor</title><path fill="#fff7ed" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="none" stroke="#ffd6a7" vector-effect="non-scaling-stroke" d="M28.8 0.5H99.2A28.3 28.3 0 0 1 127.5 28.8V99.2A28.3 28.3 0 0 1 99.2 127.5H6A5.5 5.5 0 0 1 0.5 122V28.8A28.3 28.3 0 0 1 28.8 0.5Z"></path><path fill="#9f2d00" d="M24.5 80V40.29H32.14V80ZM29.44 80V73.74H54.16V80ZM29.44 62.73V56.96H51.21V62.73ZM29.44 46.55V40.29H54.04V46.55Z"></path><path fill="#f54900" d="M58.37 80V60.09V48.54H64.57L64.39 58.16H65.47Q66.31 54.67 67.7 52.33Q69.02 50.04 71 48.9Q72.99 47.75 75.58 47.75Q78.46 47.75 80.33 49.08Q82.19 50.4 83.22 52.69Q84.18 55.03 84.42 58.1H85.38Q86.17 54.61 87.67 52.33Q89.11 50.04 91.28 48.9Q93.38 47.75 95.97 47.75Q98.5 47.75 100.42 48.78Q102.35 49.8 103.67 51.72Q104.94 53.71 105.6 56.66Q106.2 59.61 106.2 63.46V80H98.56V64.42Q98.56 61.05 98.02 58.82Q97.42 56.6 96.21 55.45Q95.07 54.37 93.2 54.37Q91.1 54.37 89.53 55.76Q87.97 57.14 87.07 59.67Q86.17 62.13 85.98 65.32V80H78.52V64.78Q78.52 61.29 77.92 58.94Q77.32 56.66 76.12 55.51Q74.92 54.37 73.05 54.37Q70.88 54.37 69.38 55.82Q67.82 57.26 66.97 59.79Q66.07 62.31 65.95 65.44V80Z"></path><path fill="none" stroke="#f54900" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Emptor</title><path fill="#441306" d="M0 0H128V128H0Z"></path><path fill="#ffb86a" d="M24.5 80V40.29H32.14V80ZM29.44 80V73.74H54.16V80ZM29.44 62.73V56.96H51.21V62.73ZM29.44 46.55V40.29H54.04V46.55Z"></path><path fill="#ff6900" d="M58.37 80V60.09V48.54H64.57L64.39 58.16H65.47Q66.31 54.67 67.7 52.33Q69.02 50.04 71 48.9Q72.99 47.75 75.58 47.75Q78.46 47.75 80.33 49.08Q82.19 50.4 83.22 52.69Q84.18 55.03 84.42 58.1H85.38Q86.17 54.61 87.67 52.33Q89.11 50.04 91.28 48.9Q93.38 47.75 95.97 47.75Q98.5 47.75 100.42 48.78Q102.35 49.8 103.67 51.72Q104.94 53.71 105.6 56.66Q106.2 59.61 106.2 63.46V80H98.56V64.42Q98.56 61.05 98.02 58.82Q97.42 56.6 96.21 55.45Q95.07 54.37 93.2 54.37Q91.1 54.37 89.53 55.76Q87.97 57.14 87.07 59.67Q86.17 62.13 85.98 65.32V80H78.52V64.78Q78.52 61.29 77.92 58.94Q77.32 56.66 76.12 55.51Q74.92 54.37 73.05 54.37Q70.88 54.37 69.38 55.82Q67.82 57.26 66.97 59.79Q66.07 62.31 65.95 65.44V80Z"></path><path fill="none" stroke="#ff6900" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Emptor</title><path fill="#0a0a0a" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M24.5 80V40.29H32.14V80ZM29.44 80V73.74H54.16V80ZM29.44 62.73V56.96H51.21V62.73ZM29.44 46.55V40.29H54.04V46.55Z"></path><path fill="#a1a1a1" d="M58.37 80V60.09V48.54H64.57L64.39 58.16H65.47Q66.31 54.67 67.7 52.33Q69.02 50.04 71 48.9Q72.99 47.75 75.58 47.75Q78.46 47.75 80.33 49.08Q82.19 50.4 83.22 52.69Q84.18 55.03 84.42 58.1H85.38Q86.17 54.61 87.67 52.33Q89.11 50.04 91.28 48.9Q93.38 47.75 95.97 47.75Q98.5 47.75 100.42 48.78Q102.35 49.8 103.67 51.72Q104.94 53.71 105.6 56.66Q106.2 59.61 106.2 63.46V80H98.56V64.42Q98.56 61.05 98.02 58.82Q97.42 56.6 96.21 55.45Q95.07 54.37 93.2 54.37Q91.1 54.37 89.53 55.76Q87.97 57.14 87.07 59.67Q86.17 62.13 85.98 65.32V80H78.52V64.78Q78.52 61.29 77.92 58.94Q77.32 56.66 76.12 55.51Q74.92 54.37 73.05 54.37Q70.88 54.37 69.38 55.82Q67.82 57.26 66.97 59.79Q66.07 62.31 65.95 65.44V80Z"></path><path fill="none" stroke="#a1a1a1" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Emptor</title><path fill="#f54900" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M24.5 84.99V45.28H32.14V84.99ZM29.44 84.99V78.73H54.16V84.99ZM29.44 67.72V61.95H51.21V67.72ZM29.44 51.54V45.28H54.04V51.54Z"></path><path fill="#ffffff" d="M58.37 84.99V65.08V53.53H64.57L64.39 63.15H65.47Q66.31 59.66 67.7 57.32Q69.02 55.03 71 53.89Q72.99 52.74 75.58 52.74Q78.46 52.74 80.33 54.07Q82.19 55.39 83.22 57.68Q84.18 60.02 84.42 63.09H85.38Q86.17 59.6 87.67 57.32Q89.11 55.03 91.28 53.89Q93.38 52.74 95.97 52.74Q98.5 52.74 100.42 53.77Q102.35 54.79 103.67 56.71Q104.94 58.7 105.6 61.65Q106.2 64.6 106.2 68.45V84.99H98.56V69.41Q98.56 66.04 98.02 63.81Q97.42 61.59 96.21 60.44Q95.07 59.36 93.2 59.36Q91.1 59.36 89.53 60.75Q87.97 62.13 87.07 64.66Q86.17 67.12 85.98 70.31V84.99H78.52V69.77Q78.52 66.28 77.92 63.93Q77.32 61.65 76.12 60.5Q74.92 59.36 73.05 59.36Q70.88 59.36 69.38 60.81Q67.82 62.25 66.97 64.78Q66.07 67.3 65.95 70.43V84.99Z"></path></svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Ornatus</title><path fill="#1e1a4d" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#a3b3ff" d="M53.02 80.78Q48.69 80.78 45.32 79.4Q41.95 78.01 39.54 75.43Q37.2 72.78 35.93 68.99Q34.67 65.2 34.67 60.33Q34.67 53.29 37.07 48.72Q39.48 44.08 43.69 41.8Q47.9 39.51 53.26 39.51Q57.41 39.51 60.78 40.9Q64.15 42.22 66.49 44.87Q68.9 47.45 70.22 51.36Q71.55 55.21 71.55 60.21Q71.55 65.2 70.22 69.05Q68.96 72.84 66.55 75.43Q64.15 78.07 60.72 79.4Q57.35 80.78 53.02 80.78ZM53.2 74.65Q56.63 74.65 58.91 73.02Q61.26 71.34 62.52 68.21Q63.73 65.08 63.73 60.57Q63.73 55.94 62.46 52.63Q61.2 49.32 58.79 47.63Q56.45 45.89 53.02 45.89Q49.77 45.89 47.36 47.51Q45.02 49.2 43.75 52.45Q42.49 55.64 42.49 60.27Q42.49 63.76 43.21 66.4Q43.93 69.11 45.32 70.92Q46.64 72.72 48.69 73.68Q50.67 74.65 53.2 74.65Z"></path><path fill="#615fff" d="M77.2 80V64.24V48.54H83.58L83.46 59.37H84.54Q85.08 55.51 86.23 52.93Q87.37 50.4 89.41 49.08Q91.46 47.81 94.47 47.81Q95.07 47.81 95.79 47.87Q96.45 47.93 97.29 48.18L96.99 56.18Q96.03 55.82 95.07 55.7Q94.05 55.51 93.2 55.51Q90.86 55.51 89.17 56.72Q87.43 57.92 86.41 60.15Q85.32 62.31 84.78 65.32V80Z"></path><path fill="none" stroke="#615fff" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 128 128" role="img"><title>Ornatus</title><path fill="#4f39f6" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M53.02 85.77Q48.69 85.77 45.32 84.39Q41.95 83 39.54 80.42Q37.2 77.77 35.93 73.98Q34.67 70.19 34.67 65.32Q34.67 58.28 37.07 53.71Q39.48 49.07 43.69 46.79Q47.9 44.5 53.26 44.5Q57.41 44.5 60.78 45.89Q64.15 47.21 66.49 49.86Q68.9 52.44 70.22 56.35Q71.55 60.2 71.55 65.2Q71.55 70.19 70.22 74.04Q68.96 77.83 66.55 80.42Q64.15 83.06 60.72 84.39Q57.35 85.77 53.02 85.77ZM53.2 79.64Q56.63 79.64 58.91 78.01Q61.26 76.33 62.52 73.2Q63.73 70.07 63.73 65.56Q63.73 60.93 62.46 57.62Q61.2 54.31 58.79 52.62Q56.45 50.88 53.02 50.88Q49.77 50.88 47.36 52.5Q45.02 54.19 43.75 57.44Q42.49 60.63 42.49 65.26Q42.49 68.75 43.21 71.39Q43.93 74.1 45.32 75.91Q46.64 77.71 48.69 78.67Q50.67 79.64 53.2 79.64Z"></path><path fill="#ffffff" d="M77.2 84.99V69.23V53.53H83.58L83.46 64.36H84.54Q85.08 60.5 86.23 57.92Q87.37 55.39 89.41 54.07Q91.46 52.8 94.47 52.8Q95.07 52.8 95.79 52.86Q96.45 52.92 97.29 53.17L96.99 61.17Q96.03 60.81 95.07 60.69Q94.05 60.5 93.2 60.5Q90.86 60.5 89.17 61.71Q87.43 62.91 86.41 65.14Q85.32 67.3 84.78 70.31V84.99Z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Ornatus</title><path fill="#eef2ff" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="none" stroke="#c6d2ff" vector-effect="non-scaling-stroke" d="M28.8 0.5H99.2A28.3 28.3 0 0 1 127.5 28.8V99.2A28.3 28.3 0 0 1 99.2 127.5H6A5.5 5.5 0 0 1 0.5 122V28.8A28.3 28.3 0 0 1 28.8 0.5Z"></path><path fill="#372aac" d="M53.02 80.78Q48.69 80.78 45.32 79.4Q41.95 78.01 39.54 75.43Q37.2 72.78 35.93 68.99Q34.67 65.2 34.67 60.33Q34.67 53.29 37.07 48.72Q39.48 44.08 43.69 41.8Q47.9 39.51 53.26 39.51Q57.41 39.51 60.78 40.9Q64.15 42.22 66.49 44.87Q68.9 47.45 70.22 51.36Q71.55 55.21 71.55 60.21Q71.55 65.2 70.22 69.05Q68.96 72.84 66.55 75.43Q64.15 78.07 60.72 79.4Q57.35 80.78 53.02 80.78ZM53.2 74.65Q56.63 74.65 58.91 73.02Q61.26 71.34 62.52 68.21Q63.73 65.08 63.73 60.57Q63.73 55.94 62.46 52.63Q61.2 49.32 58.79 47.63Q56.45 45.89 53.02 45.89Q49.77 45.89 47.36 47.51Q45.02 49.2 43.75 52.45Q42.49 55.64 42.49 60.27Q42.49 63.76 43.21 66.4Q43.93 69.11 45.32 70.92Q46.64 72.72 48.69 73.68Q50.67 74.65 53.2 74.65Z"></path><path fill="#4f39f6" d="M77.2 80V64.24V48.54H83.58L83.46 59.37H84.54Q85.08 55.51 86.23 52.93Q87.37 50.4 89.41 49.08Q91.46 47.81 94.47 47.81Q95.07 47.81 95.79 47.87Q96.45 47.93 97.29 48.18L96.99 56.18Q96.03 55.82 95.07 55.7Q94.05 55.51 93.2 55.51Q90.86 55.51 89.17 56.72Q87.43 57.92 86.41 60.15Q85.32 62.31 84.78 65.32V80Z"></path><path fill="none" stroke="#4f39f6" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Ornatus</title><path fill="#1e1a4d" d="M0 0H128V128H0Z"></path><path fill="#a3b3ff" d="M53.02 80.78Q48.69 80.78 45.32 79.4Q41.95 78.01 39.54 75.43Q37.2 72.78 35.93 68.99Q34.67 65.2 34.67 60.33Q34.67 53.29 37.07 48.72Q39.48 44.08 43.69 41.8Q47.9 39.51 53.26 39.51Q57.41 39.51 60.78 40.9Q64.15 42.22 66.49 44.87Q68.9 47.45 70.22 51.36Q71.55 55.21 71.55 60.21Q71.55 65.2 70.22 69.05Q68.96 72.84 66.55 75.43Q64.15 78.07 60.72 79.4Q57.35 80.78 53.02 80.78ZM53.2 74.65Q56.63 74.65 58.91 73.02Q61.26 71.34 62.52 68.21Q63.73 65.08 63.73 60.57Q63.73 55.94 62.46 52.63Q61.2 49.32 58.79 47.63Q56.45 45.89 53.02 45.89Q49.77 45.89 47.36 47.51Q45.02 49.2 43.75 52.45Q42.49 55.64 42.49 60.27Q42.49 63.76 43.21 66.4Q43.93 69.11 45.32 70.92Q46.64 72.72 48.69 73.68Q50.67 74.65 53.2 74.65Z"></path><path fill="#615fff" d="M77.2 80V64.24V48.54H83.58L83.46 59.37H84.54Q85.08 55.51 86.23 52.93Q87.37 50.4 89.41 49.08Q91.46 47.81 94.47 47.81Q95.07 47.81 95.79 47.87Q96.45 47.93 97.29 48.18L96.99 56.18Q96.03 55.82 95.07 55.7Q94.05 55.51 93.2 55.51Q90.86 55.51 89.17 56.72Q87.43 57.92 86.41 60.15Q85.32 62.31 84.78 65.32V80Z"></path><path fill="none" stroke="#615fff" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Ornatus</title><path fill="#0a0a0a" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M53.02 80.78Q48.69 80.78 45.32 79.4Q41.95 78.01 39.54 75.43Q37.2 72.78 35.93 68.99Q34.67 65.2 34.67 60.33Q34.67 53.29 37.07 48.72Q39.48 44.08 43.69 41.8Q47.9 39.51 53.26 39.51Q57.41 39.51 60.78 40.9Q64.15 42.22 66.49 44.87Q68.9 47.45 70.22 51.36Q71.55 55.21 71.55 60.21Q71.55 65.2 70.22 69.05Q68.96 72.84 66.55 75.43Q64.15 78.07 60.72 79.4Q57.35 80.78 53.02 80.78ZM53.2 74.65Q56.63 74.65 58.91 73.02Q61.26 71.34 62.52 68.21Q63.73 65.08 63.73 60.57Q63.73 55.94 62.46 52.63Q61.2 49.32 58.79 47.63Q56.45 45.89 53.02 45.89Q49.77 45.89 47.36 47.51Q45.02 49.2 43.75 52.45Q42.49 55.64 42.49 60.27Q42.49 63.76 43.21 66.4Q43.93 69.11 45.32 70.92Q46.64 72.72 48.69 73.68Q50.67 74.65 53.2 74.65Z"></path><path fill="#a1a1a1" d="M77.2 80V64.24V48.54H83.58L83.46 59.37H84.54Q85.08 55.51 86.23 52.93Q87.37 50.4 89.41 49.08Q91.46 47.81 94.47 47.81Q95.07 47.81 95.79 47.87Q96.45 47.93 97.29 48.18L96.99 56.18Q96.03 55.82 95.07 55.7Q94.05 55.51 93.2 55.51Q90.86 55.51 89.17 56.72Q87.43 57.92 86.41 60.15Q85.32 62.31 84.78 65.32V80Z"></path><path fill="none" stroke="#a1a1a1" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Ornatus</title><path fill="#4f39f6" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M53.02 85.77Q48.69 85.77 45.32 84.39Q41.95 83 39.54 80.42Q37.2 77.77 35.93 73.98Q34.67 70.19 34.67 65.32Q34.67 58.28 37.07 53.71Q39.48 49.07 43.69 46.79Q47.9 44.5 53.26 44.5Q57.41 44.5 60.78 45.89Q64.15 47.21 66.49 49.86Q68.9 52.44 70.22 56.35Q71.55 60.2 71.55 65.2Q71.55 70.19 70.22 74.04Q68.96 77.83 66.55 80.42Q64.15 83.06 60.72 84.39Q57.35 85.77 53.02 85.77ZM53.2 79.64Q56.63 79.64 58.91 78.01Q61.26 76.33 62.52 73.2Q63.73 70.07 63.73 65.56Q63.73 60.93 62.46 57.62Q61.2 54.31 58.79 52.62Q56.45 50.88 53.02 50.88Q49.77 50.88 47.36 52.5Q45.02 54.19 43.75 57.44Q42.49 60.63 42.49 65.26Q42.49 68.75 43.21 71.39Q43.93 74.1 45.32 75.91Q46.64 77.71 48.69 78.67Q50.67 79.64 53.2 79.64Z"></path><path fill="#ffffff" d="M77.2 84.99V69.23V53.53H83.58L83.46 64.36H84.54Q85.08 60.5 86.23 57.92Q87.37 55.39 89.41 54.07Q91.46 52.8 94.47 52.8Q95.07 52.8 95.79 52.86Q96.45 52.92 97.29 53.17L96.99 61.17Q96.03 60.81 95.07 60.69Q94.05 60.5 93.2 60.5Q90.86 60.5 89.17 61.71Q87.43 62.91 86.41 65.14Q85.32 67.3 84.78 70.31V84.99Z"></path></svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Pecunia</title><path fill="#002c22" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#5ee9b5" d="M39.04 68.45V62.37H48.36Q53.17 62.37 55.58 60.51Q57.93 58.58 57.93 54.19Q57.93 50.28 55.7 48.3Q53.47 46.31 48.84 46.31H39.04V40.29H49.02Q52.87 40.29 55.94 41.2Q59.01 42.1 61.17 43.84Q63.34 45.59 64.48 48.24Q65.63 50.94 65.63 54.43Q65.63 59 63.52 62.13Q61.48 65.26 57.38 66.89Q53.35 68.45 47.34 68.45ZM34.04 80V40.29H41.62V80Z"></path><path fill="#00bc7d" d="M84.27 80.78Q80.48 80.78 77.47 79.7Q74.52 78.62 72.48 76.51Q70.43 74.47 69.35 71.52Q68.27 68.57 68.27 64.84Q68.27 61.11 69.29 57.98Q70.37 54.85 72.36 52.57Q74.34 50.28 77.23 49.02Q80.06 47.75 83.73 47.75Q87.16 47.75 89.86 48.9Q92.57 50.04 94.44 52.33Q96.3 54.55 97.2 57.86Q98.11 61.23 97.81 65.62L73.2 65.8V61.41L93.41 61.23L90.77 63.7Q91.13 60.27 90.22 58.1Q89.32 55.88 87.64 54.85Q85.95 53.77 83.79 53.77Q81.32 53.77 79.46 55.09Q77.59 56.36 76.63 58.82Q75.61 61.23 75.61 64.72Q75.61 69.95 77.95 72.54Q80.24 75.13 84.27 75.13Q86.07 75.13 87.34 74.71Q88.54 74.22 89.38 73.5Q90.22 72.72 90.71 71.76Q91.25 70.8 91.55 69.71L98.17 71.22Q97.68 73.44 96.6 75.19Q95.52 76.93 93.83 78.2Q92.09 79.46 89.74 80.12Q87.4 80.78 84.27 80.78Z"></path><path fill="none" stroke="#00bc7d" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 128 128" role="img"><title>Pecunia</title><path fill="#009966" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M39.04 73.44V67.36H48.36Q53.17 67.36 55.58 65.5Q57.93 63.57 57.93 59.18Q57.93 55.27 55.7 53.29Q53.47 51.3 48.84 51.3H39.04V45.28H49.02Q52.87 45.28 55.94 46.19Q59.01 47.09 61.17 48.83Q63.34 50.58 64.48 53.23Q65.63 55.93 65.63 59.42Q65.63 63.99 63.52 67.12Q61.48 70.25 57.38 71.88Q53.35 73.44 47.34 73.44ZM34.04 84.99V45.28H41.62V84.99Z"></path><path fill="#ffffff" d="M84.27 85.77Q80.48 85.77 77.47 84.69Q74.52 83.61 72.48 81.5Q70.43 79.46 69.35 76.51Q68.27 73.56 68.27 69.83Q68.27 66.1 69.29 62.97Q70.37 59.84 72.36 57.56Q74.34 55.27 77.23 54.01Q80.06 52.74 83.73 52.74Q87.16 52.74 89.86 53.89Q92.57 55.03 94.44 57.32Q96.3 59.54 97.2 62.85Q98.11 66.22 97.81 70.61L73.2 70.79V66.4L93.41 66.22L90.77 68.69Q91.13 65.26 90.22 63.09Q89.32 60.87 87.64 59.84Q85.95 58.76 83.79 58.76Q81.32 58.76 79.46 60.08Q77.59 61.35 76.63 63.81Q75.61 66.22 75.61 69.71Q75.61 74.94 77.95 77.53Q80.24 80.12 84.27 80.12Q86.07 80.12 87.34 79.7Q88.54 79.21 89.38 78.49Q90.22 77.71 90.71 76.75Q91.25 75.79 91.55 74.7L98.17 76.21Q97.68 78.43 96.6 80.18Q95.52 81.92 93.83 83.19Q92.09 84.45 89.74 85.11Q87.4 85.77 84.27 85.77Z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Pecunia</title><path fill="#ecfdf5" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="none" stroke="#a4f4cf" vector-effect="non-scaling-stroke" d="M28.8 0.5H99.2A28.3 28.3 0 0 1 127.5 28.8V99.2A28.3 28.3 0 0 1 99.2 127.5H6A5.5 5.5 0 0 1 0.5 122V28.8A28.3 28.3 0 0 1 28.8 0.5Z"></path><path fill="#006045" d="M39.04 68.45V62.37H48.36Q53.17 62.37 55.58 60.51Q57.93 58.58 57.93 54.19Q57.93 50.28 55.7 48.3Q53.47 46.31 48.84 46.31H39.04V40.29H49.02Q52.87 40.29 55.94 41.2Q59.01 42.1 61.17 43.84Q63.34 45.59 64.48 48.24Q65.63 50.94 65.63 54.43Q65.63 59 63.52 62.13Q61.48 65.26 57.38 66.89Q53.35 68.45 47.34 68.45ZM34.04 80V40.29H41.62V80Z"></path><path fill="#009966" d="M84.27 80.78Q80.48 80.78 77.47 79.7Q74.52 78.62 72.48 76.51Q70.43 74.47 69.35 71.52Q68.27 68.57 68.27 64.84Q68.27 61.11 69.29 57.98Q70.37 54.85 72.36 52.57Q74.34 50.28 77.23 49.02Q80.06 47.75 83.73 47.75Q87.16 47.75 89.86 48.9Q92.57 50.04 94.44 52.33Q96.3 54.55 97.2 57.86Q98.11 61.23 97.81 65.62L73.2 65.8V61.41L93.41 61.23L90.77 63.7Q91.13 60.27 90.22 58.1Q89.32 55.88 87.64 54.85Q85.95 53.77 83.79 53.77Q81.32 53.77 79.46 55.09Q77.59 56.36 76.63 58.82Q75.61 61.23 75.61 64.72Q75.61 69.95 77.95 72.54Q80.24 75.13 84.27 75.13Q86.07 75.13 87.34 74.71Q88.54 74.22 89.38 73.5Q90.22 72.72 90.71 71.76Q91.25 70.8 91.55 69.71L98.17 71.22Q97.68 73.44 96.6 75.19Q95.52 76.93 93.83 78.2Q92.09 79.46 89.74 80.12Q87.4 80.78 84.27 80.78Z"></path><path fill="none" stroke="#009966" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Pecunia</title><path fill="#002c22" d="M0 0H128V128H0Z"></path><path fill="#5ee9b5" d="M39.04 68.45V62.37H48.36Q53.17 62.37 55.58 60.51Q57.93 58.58 57.93 54.19Q57.93 50.28 55.7 48.3Q53.47 46.31 48.84 46.31H39.04V40.29H49.02Q52.87 40.29 55.94 41.2Q59.01 42.1 61.17 43.84Q63.34 45.59 64.48 48.24Q65.63 50.94 65.63 54.43Q65.63 59 63.52 62.13Q61.48 65.26 57.38 66.89Q53.35 68.45 47.34 68.45ZM34.04 80V40.29H41.62V80Z"></path><path fill="#00bc7d" d="M84.27 80.78Q80.48 80.78 77.47 79.7Q74.52 78.62 72.48 76.51Q70.43 74.47 69.35 71.52Q68.27 68.57 68.27 64.84Q68.27 61.11 69.29 57.98Q70.37 54.85 72.36 52.57Q74.34 50.28 77.23 49.02Q80.06 47.75 83.73 47.75Q87.16 47.75 89.86 48.9Q92.57 50.04 94.44 52.33Q96.3 54.55 97.2 57.86Q98.11 61.23 97.81 65.62L73.2 65.8V61.41L93.41 61.23L90.77 63.7Q91.13 60.27 90.22 58.1Q89.32 55.88 87.64 54.85Q85.95 53.77 83.79 53.77Q81.32 53.77 79.46 55.09Q77.59 56.36 76.63 58.82Q75.61 61.23 75.61 64.72Q75.61 69.95 77.95 72.54Q80.24 75.13 84.27 75.13Q86.07 75.13 87.34 74.71Q88.54 74.22 89.38 73.5Q90.22 72.72 90.71 71.76Q91.25 70.8 91.55 69.71L98.17 71.22Q97.68 73.44 96.6 75.19Q95.52 76.93 93.83 78.2Q92.09 79.46 89.74 80.12Q87.4 80.78 84.27 80.78Z"></path><path fill="none" stroke="#00bc7d" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Pecunia</title><path fill="#0a0a0a" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M39.04 68.45V62.37H48.36Q53.17 62.37 55.58 60.51Q57.93 58.58 57.93 54.19Q57.93 50.28 55.7 48.3Q53.47 46.31 48.84 46.31H39.04V40.29H49.02Q52.87 40.29 55.94 41.2Q59.01 42.1 61.17 43.84Q63.34 45.59 64.48 48.24Q65.63 50.94 65.63 54.43Q65.63 59 63.52 62.13Q61.48 65.26 57.38 66.89Q53.35 68.45 47.34 68.45ZM34.04 80V40.29H41.62V80Z"></path><path fill="#a1a1a1" d="M84.27 80.78Q80.48 80.78 77.47 79.7Q74.52 78.62 72.48 76.51Q70.43 74.47 69.35 71.52Q68.27 68.57 68.27 64.84Q68.27 61.11 69.29 57.98Q70.37 54.85 72.36 52.57Q74.34 50.28 77.23 49.02Q80.06 47.75 83.73 47.75Q87.16 47.75 89.86 48.9Q92.57 50.04 94.44 52.33Q96.3 54.55 97.2 57.86Q98.11 61.23 97.81 65.62L73.2 65.8V61.41L93.41 61.23L90.77 63.7Q91.13 60.27 90.22 58.1Q89.32 55.88 87.64 54.85Q85.95 53.77 83.79 53.77Q81.32 53.77 79.46 55.09Q77.59 56.36 76.63 58.82Q75.61 61.23 75.61 64.72Q75.61 69.95 77.95 72.54Q80.24 75.13 84.27 75.13Q86.07 75.13 87.34 74.71Q88.54 74.22 89.38 73.5Q90.22 72.72 90.71 71.76Q91.25 70.8 91.55 69.71L98.17 71.22Q97.68 73.44 96.6 75.19Q95.52 76.93 93.83 78.2Q92.09 79.46 89.74 80.12Q87.4 80.78 84.27 80.78Z"></path><path fill="none" stroke="#a1a1a1" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Pecunia</title><path fill="#009966" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M39.04 73.44V67.36H48.36Q53.17 67.36 55.58 65.5Q57.93 63.57 57.93 59.18Q57.93 55.27 55.7 53.29Q53.47 51.3 48.84 51.3H39.04V45.28H49.02Q52.87 45.28 55.94 46.19Q59.01 47.09 61.17 48.83Q63.34 50.58 64.48 53.23Q65.63 55.93 65.63 59.42Q65.63 63.99 63.52 67.12Q61.48 70.25 57.38 71.88Q53.35 73.44 47.34 73.44ZM34.04 84.99V45.28H41.62V84.99Z"></path><path fill="#ffffff" d="M84.27 85.77Q80.48 85.77 77.47 84.69Q74.52 83.61 72.48 81.5Q70.43 79.46 69.35 76.51Q68.27 73.56 68.27 69.83Q68.27 66.1 69.29 62.97Q70.37 59.84 72.36 57.56Q74.34 55.27 77.23 54.01Q80.06 52.74 83.73 52.74Q87.16 52.74 89.86 53.89Q92.57 55.03 94.44 57.32Q96.3 59.54 97.2 62.85Q98.11 66.22 97.81 70.61L73.2 70.79V66.4L93.41 66.22L90.77 68.69Q91.13 65.26 90.22 63.09Q89.32 60.87 87.64 59.84Q85.95 58.76 83.79 58.76Q81.32 58.76 79.46 60.08Q77.59 61.35 76.63 63.81Q75.61 66.22 75.61 69.71Q75.61 74.94 77.95 77.53Q80.24 80.12 84.27 80.12Q86.07 80.12 87.34 79.7Q88.54 79.21 89.38 78.49Q90.22 77.71 90.71 76.75Q91.25 75.79 91.55 74.7L98.17 76.21Q97.68 78.43 96.6 80.18Q95.52 81.92 93.83 83.19Q92.09 84.45 89.74 85.11Q87.4 85.77 84.27 85.77Z"></path></svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Vinculum</title><path fill="#052f4a" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#74d4ff" d="M52.36 80 39.06 40.29H47.37L57.41 73.5H58.13L68.24 40.29H76.42L63.07 80Z"></path><path fill="#00a6f4" d="M80.21 80V48.54H87.79V80ZM84 43.6Q81.72 43.6 80.51 42.58Q79.25 41.62 79.25 39.75Q79.25 37.89 80.51 36.93Q81.72 35.9 84 35.9Q86.41 35.9 87.61 36.87Q88.81 37.83 88.81 39.75Q88.81 41.62 87.61 42.58Q86.35 43.6 84 43.6Z"></path><path fill="none" stroke="#00a6f4" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 128 128" role="img"><title>Vinculum</title><path fill="#0084d1" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M52.36 84.99 39.06 45.28H47.37L57.41 78.49H58.13L68.24 45.28H76.42L63.07 84.99Z"></path><path fill="#ffffff" d="M80.21 84.99V53.53H87.79V84.99ZM84 48.59Q81.72 48.59 80.51 47.57Q79.25 46.61 79.25 44.74Q79.25 42.88 80.51 41.92Q81.72 40.89 84 40.89Q86.41 40.89 87.61 41.86Q88.81 42.82 88.81 44.74Q88.81 46.61 87.61 47.57Q86.35 48.59 84 48.59Z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Vinculum</title><path fill="#f0f9ff" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="none" stroke="#b8e6fe" vector-effect="non-scaling-stroke" d="M28.8 0.5H99.2A28.3 28.3 0 0 1 127.5 28.8V99.2A28.3 28.3 0 0 1 99.2 127.5H6A5.5 5.5 0 0 1 0.5 122V28.8A28.3 28.3 0 0 1 28.8 0.5Z"></path><path fill="#00598a" d="M52.36 80 39.06 40.29H47.37L57.41 73.5H58.13L68.24 40.29H76.42L63.07 80Z"></path><path fill="#0084d1" d="M80.21 80V48.54H87.79V80ZM84 43.6Q81.72 43.6 80.51 42.58Q79.25 41.62 79.25 39.75Q79.25 37.89 80.51 36.93Q81.72 35.9 84 35.9Q86.41 35.9 87.61 36.87Q88.81 37.83 88.81 39.75Q88.81 41.62 87.61 42.58Q86.35 43.6 84 43.6Z"></path><path fill="none" stroke="#0084d1" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Vinculum</title><path fill="#052f4a" d="M0 0H128V128H0Z"></path><path fill="#74d4ff" d="M52.36 80 39.06 40.29H47.37L57.41 73.5H58.13L68.24 40.29H76.42L63.07 80Z"></path><path fill="#00a6f4" d="M80.21 80V48.54H87.79V80ZM84 43.6Q81.72 43.6 80.51 42.58Q79.25 41.62 79.25 39.75Q79.25 37.89 80.51 36.93Q81.72 35.9 84 35.9Q86.41 35.9 87.61 36.87Q88.81 37.83 88.81 39.75Q88.81 41.62 87.61 42.58Q86.35 43.6 84 43.6Z"></path><path fill="none" stroke="#00a6f4" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Vinculum</title><path fill="#0a0a0a" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M52.36 80 39.06 40.29H47.37L57.41 73.5H58.13L68.24 40.29H76.42L63.07 80Z"></path><path fill="#a1a1a1" d="M80.21 80V48.54H87.79V80ZM84 43.6Q81.72 43.6 80.51 42.58Q79.25 41.62 79.25 39.75Q79.25 37.89 80.51 36.93Q81.72 35.9 84 35.9Q86.41 35.9 87.61 36.87Q88.81 37.83 88.81 39.75Q88.81 41.62 87.61 42.58Q86.35 43.6 84 43.6Z"></path><path fill="none" stroke="#a1a1a1" stroke-width="3.6" stroke-linecap="round" d="M44 91C52 87 56 87 64 91C72 95 76 95 84 91"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128" role="img"><title>Vinculum</title><path fill="#0084d1" d="M28.8 0H99.2A28.8 28.8 0 0 1 128 28.8V99.2A28.8 28.8 0 0 1 99.2 128H6A6 6 0 0 1 0 122V28.8A28.8 28.8 0 0 1 28.8 0Z"></path><path fill="#ffffff" d="M52.36 84.99 39.06 45.28H47.37L57.41 78.49H58.13L68.24 45.28H76.42L63.07 84.99Z"></path><path fill="#ffffff" d="M80.21 84.99V53.53H87.79V84.99ZM84 48.59Q81.72 48.59 80.51 47.57Q79.25 46.61 79.25 44.74Q79.25 42.88 80.51 41.92Q81.72 40.89 84 40.89Q86.41 40.89 87.61 41.86Q88.81 42.82 88.81 44.74Q88.81 46.61 87.61 47.57Q86.35 48.59 84 48.59Z"></path></svg>
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { type IconProps } from "./Icon.js";
|
|
2
|
+
export type IconComponentProps = Omit<IconProps, "name">;
|
|
3
|
+
export declare const IconHomeLine: (props: IconComponentProps) => import("react").JSX.Element;
|
|
4
|
+
export declare const IconSearchLg: (props: IconComponentProps) => import("react").JSX.Element;
|
|
5
|
+
export declare const IconSearchMd: (props: IconComponentProps) => import("react").JSX.Element;
|
|
6
|
+
export declare const IconSettings02: (props: IconComponentProps) => import("react").JSX.Element;
|
|
7
|
+
export declare const IconUser01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
8
|
+
export declare const IconUsers01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
9
|
+
export declare const IconUserPlus01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
10
|
+
export declare const IconPlus: (props: IconComponentProps) => import("react").JSX.Element;
|
|
11
|
+
export declare const IconMinus: (props: IconComponentProps) => import("react").JSX.Element;
|
|
12
|
+
export declare const IconXClose: (props: IconComponentProps) => import("react").JSX.Element;
|
|
13
|
+
export declare const IconCheck: (props: IconComponentProps) => import("react").JSX.Element;
|
|
14
|
+
export declare const IconChevronDown: (props: IconComponentProps) => import("react").JSX.Element;
|
|
15
|
+
export declare const IconChevronUp: (props: IconComponentProps) => import("react").JSX.Element;
|
|
16
|
+
export declare const IconChevronLeft: (props: IconComponentProps) => import("react").JSX.Element;
|
|
17
|
+
export declare const IconChevronRight: (props: IconComponentProps) => import("react").JSX.Element;
|
|
18
|
+
export declare const IconChevronSelectorVertical: (props: IconComponentProps) => import("react").JSX.Element;
|
|
19
|
+
export declare const IconArrowRight: (props: IconComponentProps) => import("react").JSX.Element;
|
|
20
|
+
export declare const IconArrowLeft: (props: IconComponentProps) => import("react").JSX.Element;
|
|
21
|
+
export declare const IconArrowUpRight: (props: IconComponentProps) => import("react").JSX.Element;
|
|
22
|
+
export declare const IconMenu01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
23
|
+
export declare const IconDotsVertical: (props: IconComponentProps) => import("react").JSX.Element;
|
|
24
|
+
export declare const IconDotsHorizontal: (props: IconComponentProps) => import("react").JSX.Element;
|
|
25
|
+
export declare const IconTrash01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
26
|
+
export declare const IconEdit02: (props: IconComponentProps) => import("react").JSX.Element;
|
|
27
|
+
export declare const IconCopy01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
28
|
+
export declare const IconDownload01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
29
|
+
export declare const IconUploadCloud02: (props: IconComponentProps) => import("react").JSX.Element;
|
|
30
|
+
export declare const IconFilterLines: (props: IconComponentProps) => import("react").JSX.Element;
|
|
31
|
+
export declare const IconCalendar: (props: IconComponentProps) => import("react").JSX.Element;
|
|
32
|
+
export declare const IconClock: (props: IconComponentProps) => import("react").JSX.Element;
|
|
33
|
+
export declare const IconBell01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
34
|
+
export declare const IconMail01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
35
|
+
export declare const IconLock01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
36
|
+
export declare const IconEye: (props: IconComponentProps) => import("react").JSX.Element;
|
|
37
|
+
export declare const IconEyeOff: (props: IconComponentProps) => import("react").JSX.Element;
|
|
38
|
+
export declare const IconInfoCircle: (props: IconComponentProps) => import("react").JSX.Element;
|
|
39
|
+
export declare const IconAlertCircle: (props: IconComponentProps) => import("react").JSX.Element;
|
|
40
|
+
export declare const IconAlertTriangle: (props: IconComponentProps) => import("react").JSX.Element;
|
|
41
|
+
export declare const IconCheckCircle: (props: IconComponentProps) => import("react").JSX.Element;
|
|
42
|
+
export declare const IconHelpCircle: (props: IconComponentProps) => import("react").JSX.Element;
|
|
43
|
+
export declare const IconLink01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
44
|
+
export declare const IconLinkExternal01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
45
|
+
export declare const IconStar01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
46
|
+
export declare const IconBarChart01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
47
|
+
export declare const IconLineChartUp01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
48
|
+
export declare const IconFile04: (props: IconComponentProps) => import("react").JSX.Element;
|
|
49
|
+
export declare const IconFolder: (props: IconComponentProps) => import("react").JSX.Element;
|
|
50
|
+
export declare const IconLogOut01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
51
|
+
export declare const IconRefreshCw01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
52
|
+
export declare const IconGrid01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
53
|
+
export declare const IconSun: (props: IconComponentProps) => import("react").JSX.Element;
|
|
54
|
+
export declare const IconMoon01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
55
|
+
export declare const IconGlobe01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
56
|
+
export declare const IconShieldTick: (props: IconComponentProps) => import("react").JSX.Element;
|
|
57
|
+
export declare const IconZap: (props: IconComponentProps) => import("react").JSX.Element;
|
|
58
|
+
export declare const IconCode01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
59
|
+
export declare const IconSliders01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
60
|
+
export declare const IconInbox01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
61
|
+
export declare const IconSend01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
62
|
+
export declare const IconTrendUp01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
63
|
+
export declare const IconTrendDown01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
64
|
+
export declare const IconCurrencyEuro: (props: IconComponentProps) => import("react").JSX.Element;
|
|
65
|
+
export declare const IconStars02: (props: IconComponentProps) => import("react").JSX.Element;
|
|
66
|
+
export declare const IconLoading02: (props: IconComponentProps) => import("react").JSX.Element;
|
|
67
|
+
export declare const IconPaperclip: (props: IconComponentProps) => import("react").JSX.Element;
|
|
68
|
+
export declare const IconBold01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
69
|
+
export declare const IconItalic01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
70
|
+
export declare const IconUnderline01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
71
|
+
export declare const IconDotpoints01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
72
|
+
export declare const IconAlignLeft: (props: IconComponentProps) => import("react").JSX.Element;
|
|
73
|
+
export declare const IconAlignCenter: (props: IconComponentProps) => import("react").JSX.Element;
|
|
74
|
+
export declare const IconAlignRight: (props: IconComponentProps) => import("react").JSX.Element;
|
|
75
|
+
export declare const IconPlay: (props: IconComponentProps) => import("react").JSX.Element;
|
|
76
|
+
export declare const IconPauseCircle: (props: IconComponentProps) => import("react").JSX.Element;
|
|
77
|
+
export declare const IconVolumeMax: (props: IconComponentProps) => import("react").JSX.Element;
|
|
78
|
+
export declare const IconVolumeX: (props: IconComponentProps) => import("react").JSX.Element;
|
|
79
|
+
export declare const IconMaximize01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
80
|
+
export declare const IconImage01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
81
|
+
export declare const IconCalendarPlus01: (props: IconComponentProps) => import("react").JSX.Element;
|
|
82
|
+
export declare const IconDropper: (props: IconComponentProps) => import("react").JSX.Element;
|
|
83
|
+
export declare const IconPalette: (props: IconComponentProps) => import("react").JSX.Element;
|