tosijs-3d 0.5.1 → 0.5.2

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 CHANGED
@@ -1,6 +1,10 @@
1
1
  # tosijs-3d
2
2
 
3
- [github](https://github.com/tonioloewald/xinjs-3d/) | [live demo](https://tonioloewald.github.io/xinjs-3d/) | [npm](https://www.npmjs.com/package/tosijs-3d)
3
+ [github](https://github.com/tonioloewald/tosijs-3d/) | [live demo](https://3d.tosijs.net) | [npm](https://www.npmjs.com/package/tosijs-3d)
4
+
5
+ <div style="text-align: center; margin: 20px">
6
+ <img style="width: 280px; height: 280px; background: #da1167; border-radius: 40px" alt="tosijs-3d logo" src="https://3d.tosijs.net/favicon.svg">
7
+ </div>
4
8
 
5
9
  Declarative 3D/XR framework built on Babylon.js and tosijs. Compose 3D scenes with web components.
6
10
  See the [b3d](?tosi-b3d.ts) page for a live interactive demo.
@@ -0,0 +1,42 @@
1
+ /** A laid-out item: a full-width block, or an inline item with its own size. */
2
+ export type FlowItem = {
3
+ kind: 'block';
4
+ height: number;
5
+ } | {
6
+ kind: 'inline';
7
+ width: number;
8
+ height: number;
9
+ };
10
+ export interface FlowOptions {
11
+ /** Content width (inside any padding) — blocks fill it, inline items wrap to it. */
12
+ width: number;
13
+ /** Horizontal gap between inline items on a line. Default 0. */
14
+ gap?: number;
15
+ /** Vertical gap between rows and blocks. Default: `gap`. */
16
+ rowGap?: number;
17
+ /** Cross-axis placement of inline items within their (tallest-item) line. */
18
+ align?: 'top' | 'middle' | 'bottom';
19
+ }
20
+ /** A placed rectangle, top-left origin, in layout units. */
21
+ export interface FlowBox {
22
+ x: number;
23
+ y: number;
24
+ width: number;
25
+ height: number;
26
+ }
27
+ export interface FlowResult {
28
+ /** One box per input item, in the same order. */
29
+ boxes: FlowBox[];
30
+ /** The content width used (== `opts.width`). */
31
+ width: number;
32
+ /** Total content height (no trailing row gap). */
33
+ height: number;
34
+ }
35
+ /**
36
+ * Lay `items` out in flow order within `width`. Blocks break the line and fill
37
+ * the width; inline items pack left-to-right and wrap. Returns a box per item
38
+ * plus the total content size — the caller paints/positions from that, and
39
+ * re-runs this on resize (that's the whole point: width in → heights out).
40
+ */
41
+ export declare function flowLayout(items: FlowItem[], opts: FlowOptions): FlowResult;
42
+ //# sourceMappingURL=flow-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-layout.d.ts","sourceRoot":"","sources":["../src/flow-layout.ts"],"names":[],"mappings":"AA0CA,gFAAgF;AAChF,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAErD,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,KAAK,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAA;CACpC;AAED,4DAA4D;AAC5D,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,GAAG,UAAU,CAoD3E"}
@@ -0,0 +1,100 @@
1
+ /*#
2
+ # flow-layout
3
+
4
+ Pure **flow layout** math — the CSS block + inline-block model, in SVG user
5
+ units, with no tosijs / DOM / Babylon so it is directly unit-testable (the same
6
+ discipline as [[widgets3d-layout]], [[fly-by-wire]]). It is the substrate under
7
+ the first-class SVG UI surface (a resizable, scrollable `box` that lives in the
8
+ DOM **and** on a 3D texture, so we don't reinvent HTML on a plane).
9
+
10
+ The model, deliberately just HTML's flow — no flexbox, no bidi, no kerning:
11
+
12
+ - a **block** takes the full content width and a known height; blocks stack
13
+ top-to-bottom.
14
+ - an **inline** item has a known width × height; inline items flow left-to-right
15
+ and **wrap** to the next line when they'd overflow the width.
16
+ - **text** isn't handled here: wrap it to lines with [[widgets3d-layout]]'s
17
+ `measureTextWrap` and hand the result in as a block of known height.
18
+
19
+ Everything is measured in **layout units** (the container's own coordinate
20
+ space), NOT rasterized texture pixels — so a layout is resolution-independent and
21
+ bumping a panel's texture from 384→512px never re-flows it.
22
+
23
+ ## Example
24
+
25
+ ```javascript
26
+ import { flowLayout } from 'tosijs-3d'
27
+
28
+ // three inline chips then a full-width block, in a 200-wide box:
29
+ const { boxes, height } = flowLayout(
30
+ [
31
+ { kind: 'inline', width: 60, height: 24 },
32
+ { kind: 'inline', width: 60, height: 24 },
33
+ { kind: 'inline', width: 120, height: 24 }, // wraps — 60+60+120 > 200
34
+ { kind: 'block', height: 40 },
35
+ ],
36
+ { width: 200, gap: 8, rowGap: 8 }
37
+ )
38
+ // boxes[i] = { x, y, width, height } for each item; `height` is the total.
39
+ ```
40
+ */
41
+ /*{ "parent": "UI" }*/
42
+ /**
43
+ * Lay `items` out in flow order within `width`. Blocks break the line and fill
44
+ * the width; inline items pack left-to-right and wrap. Returns a box per item
45
+ * plus the total content size — the caller paints/positions from that, and
46
+ * re-runs this on resize (that's the whole point: width in → heights out).
47
+ */
48
+ export function flowLayout(items, opts) {
49
+ const { width: W, gap = 0, rowGap = gap, align = 'top' } = opts;
50
+ const boxes = items.map(() => ({
51
+ x: 0,
52
+ y: 0,
53
+ width: 0,
54
+ height: 0,
55
+ }));
56
+ let y = 0;
57
+ let line = []; // indices of inline items on the current (open) line
58
+ let lineX = 0; // running x for the current line
59
+ let lineH = 0; // tallest item on the current line
60
+ const flushLine = () => {
61
+ if (line.length === 0)
62
+ return;
63
+ for (const i of line) {
64
+ const b = boxes[i];
65
+ b.y =
66
+ align === 'middle'
67
+ ? y + (lineH - b.height) / 2
68
+ : align === 'bottom'
69
+ ? y + (lineH - b.height)
70
+ : y;
71
+ }
72
+ y += lineH + rowGap;
73
+ line = [];
74
+ lineX = 0;
75
+ lineH = 0;
76
+ };
77
+ for (let i = 0; i < items.length; i++) {
78
+ const it = items[i];
79
+ if (it.kind === 'block') {
80
+ flushLine();
81
+ boxes[i] = { x: 0, y, width: W, height: it.height };
82
+ y += it.height + rowGap;
83
+ }
84
+ else {
85
+ // Wrap before placing if this item won't fit and the line isn't empty
86
+ // (a lone item wider than W is kept whole — it overflows, never vanishes).
87
+ if (line.length > 0 && lineX + it.width > W)
88
+ flushLine();
89
+ boxes[i] = { x: lineX, y: 0, width: it.width, height: it.height };
90
+ lineX += it.width + gap;
91
+ lineH = Math.max(lineH, it.height);
92
+ line.push(i);
93
+ }
94
+ }
95
+ flushLine();
96
+ // `y` carries one trailing rowGap past the last row — trim it.
97
+ const height = items.length > 0 ? Math.max(0, y - rowGap) : 0;
98
+ return { boxes, width: W, height };
99
+ }
100
+ //# sourceMappingURL=flow-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-layout.js","sourceRoot":"","sources":["../src/flow-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface IconData {
2
+ [key: string]: string;
3
+ }
4
+ declare const _default: IconData;
5
+ export default _default;
6
+ //# sourceMappingURL=icon-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-data.d.ts","sourceRoot":"","sources":["../src/icon-data.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;wBA6DI,QAAQ;AA3Db,wBA2Da"}
@@ -0,0 +1,37 @@
1
+ export default {
2
+ earth: '<svg class="color" viewBox="0 0 48 48"><g><g><g><path style="fill:#a3d9ff;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M7,13.46 C5.1,16.52,4,20.13,4,24 C4,31.81,8.47,38.57,15,41.87 C15,41.87,15,31,15,31 C15,31,9,29,9,29 C9,29,9,19,9,19 C9,19,7,15,7,15 C7,15,7,13.46,7,13.46 z"/><path style="fill:#a3d9ff;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M18.4,4.79 C20.18,4.28,22.06,4,24,4 C27.57,4,30.92,4.93,33.82,6.57 C33.82,6.57,29,13,29,13 C29,13,31,19,31,19 C31,19,37,21,37,21 C37,21,39,29,39,29 C39,29,37.35,38.89,37.35,38.89 C33.81,42.07,29.13,44,24,44 C21.03,44,18.22,43.35,15.69,42.2 C15.69,42.2,27,29,27,29 C27,29,27,25,27,25 C27,25,21,23,21,23 C21,23,15,19,15,19 C15,19,11,19,11,19 C11,19,11,13,11,13 C11,13,13,11,13,11 C13,11,15,15,15,15 C15,15,17,15,17,15 C17,15,17,9,17,9 C17,9,18.4,4.79,18.4,4.79 z"/><path style="fill:#274e42;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M18.4,4.79 C18.4,4.79,17,9,17,9 C17,9,17,15,17,15 C17,15,15,15,15,15 C15,15,13,11,13,11 C13,11,11,13,11,13 C11,13,11,19,11,19 C11,19,15,19,15,19 C15,19,21,23,21,23 C21,23,27,25,27,25 C27,25,27,29,27,29 C27,29,15.69,42.2,15.69,42.2 C15.46,42.09,15.23,41.98,15,41.87 C15,41.87,15,31,15,31 C15,31,9,29,9,29 C9,29,9,19,9,19 C9,19,7,15,7,15 C7,15,7,13.46,7,13.46 C9.57,9.32,13.62,6.19,18.4,4.79 z"/><path style="fill:#274e42;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M33.82,6.57 C33.82,6.57,29,13,29,13 C29,13,31,19,31,19 C31,19,37,21,37,21 C37,21,39,29,39,29 C39,29,37.35,38.89,37.35,38.89 C41.43,35.23,44,29.91,44,24 C44,16.52,39.9,10,33.82,6.57 z"/></g></g></g></svg> ',
3
+ xrColor: '<svg class="color filled" viewBox="0 0 40 24"><g><g><g><path style="fill:#000000;fill-rule:evenodd;" d="M20,2 C19.99,2,19.98,2,19.98,2 C8.39,2,2,3.61,2,12 C2,18.41,5.32,22,10.54,22 C15.77,22,17.37,17.85,19.98,17.85 C19.98,17.85,19.99,17.85,20,17.85 C20.01,17.85,20.02,17.85,20.02,17.85 C22.63,17.85,24.23,22,29.46,22 C34.68,22,38,18.41,38,12 C38,3.61,31.61,2,20.02,2 C20.02,2,20.01,2,20,2 C20,2,20,2,20,2 z"/></g><path style="fill:#fbed21;fill-rule:evenodd;" d="M12.2,19.84 C15.79,19.39,17.07,16.46,19.07,16.46 C19.07,16.46,19.08,16.46,19.09,16.46 C19.09,16.46,19.1,16.46,19.11,16.46 C19.44,16.46,19.75,16.54,20.06,16.68 C20.37,16.54,20.68,16.46,21.01,16.46 C21.02,16.46,21.02,16.46,21.03,16.46 C21.04,16.46,21.04,16.46,21.05,16.46 C23.05,16.46,24.33,19.39,27.92,19.84 C31.66,19.4,33.98,16.5,33.98,11.62 C33.98,4.91,29.04,3.44,20.06,3.35 C11.07,3.44,6.14,4.91,6.14,11.62 C6.14,16.5,8.46,19.4,12.2,19.84 z"/><path style="fill:#8cc63f;fill-rule:evenodd;" d="M12.2,19.84 C12.52,19.87,12.86,19.89,13.21,19.89 C16.86,19.89,18.37,17.43,20.06,16.68 C19.75,16.54,19.44,16.46,19.11,16.46 C19.1,16.46,19.09,16.46,19.09,16.46 C19.08,16.46,19.07,16.46,19.07,16.46 C17.07,16.46,15.79,19.39,12.2,19.84 z"/><path style="fill:#8cc63f;fill-rule:evenodd;" d="M20.06,3.35 C20.37,3.35,20.69,3.35,21.01,3.35 C21.02,3.35,21.02,3.35,21.03,3.35 C21.03,3.35,21.03,3.35,21.03,3.35 C21.04,3.35,21.04,3.35,21.05,3.35 C30.64,3.35,35.92,4.68,35.92,11.62 C35.92,16.92,33.18,19.89,28.86,19.89 C28.53,19.89,28.22,19.87,27.92,19.84 C31.66,19.4,33.98,16.5,33.98,11.62 C33.98,4.91,29.04,3.44,20.06,3.35 C20.06,3.35,20.06,3.35,20.06,3.35 z"/><path style="fill:#ff1c23;fill-rule:evenodd;" d="M20.06,16.68 C21.74,17.43,23.25,19.89,26.91,19.89 C27.26,19.89,27.59,19.87,27.92,19.84 C24.33,19.39,23.05,16.46,21.05,16.46 C21.04,16.46,21.04,16.46,21.03,16.46 C21.02,16.46,21.02,16.46,21.01,16.46 C20.68,16.46,20.37,16.54,20.06,16.68 z"/><path style="fill:#ff1c23;fill-rule:evenodd;" d="M12.2,19.84 C11.9,19.87,11.59,19.89,11.26,19.89 C6.94,19.89,4.19,16.92,4.19,11.62 C4.19,4.68,9.48,3.35,19.07,3.35 C19.07,3.35,19.08,3.35,19.09,3.35 C19.09,3.35,19.09,3.35,19.09,3.35 C19.09,3.35,19.1,3.35,19.11,3.35 C19.43,3.35,19.75,3.35,20.06,3.35 C11.07,3.44,6.14,4.91,6.14,11.62 C6.14,16.5,8.46,19.4,12.2,19.84 z"/></g><g><path style="fill:#8cc63e;fill-rule:nonzero;" d="M22.55,8.63 C22.55,9.05,22.55,9.46,22.55,9.88 C22.54,10.25,22.85,10.56,23.2,10.55 C23.54,10.56,23.85,10.25,23.85,9.88 C23.85,9.46,23.85,9.05,23.85,8.63 C23.85,8.26,23.54,7.95,23.2,7.96 C22.85,7.95,22.54,8.26,22.55,8.63 z"/><path style="fill:#8cc63e;fill-rule:nonzero;" d="M17.32,8.63 C17.32,9.05,17.32,9.46,17.32,9.88 C17.31,10.25,17.62,10.56,17.97,10.55 C18.31,10.56,18.62,10.25,18.62,9.88 C18.62,9.46,18.62,9.05,18.62,8.63 C18.62,8.26,18.31,7.95,17.97,7.96 C17.62,7.95,17.31,8.26,17.32,8.63 z"/><path style="fill:#8cc63e;fill-rule:nonzero;" d="M19.99,4.39 C19.99,8.09,19.99,11.8,19.99,15.5 C19.99,15.87,20.3,16.18,20.64,16.17 C20.99,16.18,21.3,15.87,21.29,15.5 C21.29,11.8,21.29,8.09,21.29,4.39 C21.3,4.02,20.99,3.71,20.64,3.72 C20.3,3.71,19.99,4.02,19.99,4.39 z"/><path style="fill:#fe1a22;fill-rule:nonzero;" d="M21.43,8.63 C21.43,9.05,21.43,9.46,21.43,9.88 C21.42,10.25,21.73,10.56,22.08,10.55 C22.42,10.56,22.73,10.25,22.73,9.88 C22.73,9.46,22.73,9.05,22.73,8.63 C22.73,8.26,22.42,7.95,22.08,7.96 C21.73,7.95,21.42,8.26,21.43,8.63 z"/><path style="fill:#fe1a22;fill-rule:nonzero;" d="M16.2,8.63 C16.2,9.05,16.2,9.46,16.2,9.88 C16.19,10.25,16.5,10.56,16.85,10.55 C17.19,10.56,17.5,10.25,17.5,9.88 C17.5,9.46,17.5,9.05,17.5,8.63 C17.5,8.26,17.19,7.95,16.85,7.96 C16.5,7.95,16.19,8.26,16.2,8.63 z"/><path style="fill:#fe1a22;fill-rule:nonzero;" d="M18.87,4.39 C18.87,8.09,18.87,11.8,18.87,15.5 C18.87,15.87,19.18,16.18,19.52,16.17 C19.86,16.18,20.18,15.87,20.17,15.5 C20.17,11.8,20.17,8.09,20.17,4.39 C20.18,4.02,19.86,3.71,19.52,3.72 C19.18,3.71,18.87,4.02,18.87,4.39 z"/><path style="fill:#000000;fill-rule:nonzero;" d="M21.97,8.63 C21.97,9.05,21.97,9.46,21.97,9.88 C21.97,10.25,22.28,10.56,22.62,10.55 C22.97,10.56,23.28,10.25,23.27,9.88 C23.27,9.46,23.27,9.05,23.27,8.63 C23.28,8.26,22.97,7.95,22.62,7.96 C22.28,7.95,21.97,8.26,21.97,8.63 z"/><path style="fill:#000000;fill-rule:nonzero;" d="M16.74,8.63 C16.74,9.05,16.74,9.46,16.74,9.88 C16.74,10.25,17.05,10.56,17.39,10.55 C17.74,10.56,18.05,10.25,18.04,9.88 C18.04,9.46,18.04,9.05,18.04,8.63 C18.05,8.26,17.74,7.95,17.39,7.96 C17.05,7.95,16.74,8.26,16.74,8.63 z"/><path style="fill:#000000;fill-rule:nonzero;" d="M19.41,4.39 C19.41,8.09,19.41,11.8,19.41,15.5 C19.41,15.87,19.72,16.18,20.07,16.17 C20.41,16.18,20.72,15.87,20.72,15.5 C20.72,11.8,20.72,8.09,20.72,4.39 C20.72,4.02,20.41,3.71,20.07,3.72 C19.72,3.71,19.41,4.02,19.41,4.39 z"/></g></g></svg> ',
4
+ keyboard: '<svg class="color" viewBox="0 0 24 24"><g><path style="fill:currentColor;fill-rule:evenodd;" d="M23,16.5 C23,18.16,21.66,19.5,20,19.5 C20,19.5,4,19.5,4,19.5 C2.34,19.5,1,18.16,1,16.5 C1,16.5,1,7.5,1,7.5 C1,5.84,2.34,4.5,4,4.5 C4,4.5,20,4.5,20,4.5 C21.66,4.5,23,5.84,23,7.5 C23,7.5,23,16.5,23,16.5 z M6,16.5 C6,17.05,5.55,17.5,5,17.5 C5,17.5,4,17.5,4,17.5 C3.45,17.5,3,17.05,3,16.5 C3,16.5,3,15.5,3,15.5 C3,14.95,3.45,14.5,4,14.5 C4,14.5,5,14.5,5,14.5 C5.55,14.5,6,14.95,6,15.5 C6,15.5,6,16.5,6,16.5 z M5.7,12.5 C5.7,13.05,5.25,13.5,4.7,13.5 C4.7,13.5,4,13.5,4,13.5 C3.45,13.5,3,13.05,3,12.5 C3,12.5,3,11.5,3,11.5 C3,10.95,3.45,10.5,4,10.5 C4,10.5,4.7,10.5,4.7,10.5 C5.25,10.5,5.7,10.95,5.7,11.5 C5.7,11.5,5.7,12.5,5.7,12.5 z M12.9,12.5 C12.9,13.05,12.45,13.5,11.9,13.5 C11.9,13.5,11.2,13.5,11.2,13.5 C10.65,13.5,10.2,13.05,10.2,12.5 C10.2,12.5,10.2,11.5,10.2,11.5 C10.2,10.95,10.65,10.5,11.2,10.5 C11.2,10.5,11.9,10.5,11.9,10.5 C12.45,10.5,12.9,10.95,12.9,11.5 C12.9,11.5,12.9,12.5,12.9,12.5 z M9.3,12.5 C9.3,13.05,8.85,13.5,8.3,13.5 C8.3,13.5,7.6,13.5,7.6,13.5 C7.05,13.5,6.6,13.05,6.6,12.5 C6.6,12.5,6.6,11.5,6.6,11.5 C6.6,10.95,7.05,10.5,7.6,10.5 C7.6,10.5,8.3,10.5,8.3,10.5 C8.85,10.5,9.3,10.95,9.3,11.5 C9.3,11.5,9.3,12.5,9.3,12.5 z M5.84,8.5 C5.84,9.05,5.39,9.5,4.84,9.5 C4.84,9.5,4,9.5,4,9.5 C3.45,9.5,3,9.05,3,8.5 C3,8.5,3,7.5,3,7.5 C3,6.95,3.45,6.5,4,6.5 C4,6.5,4.84,6.5,4.84,6.5 C5.39,6.5,5.84,6.95,5.84,7.5 C5.84,7.5,5.84,8.5,5.84,8.5 z M9.63,8.5 C9.63,9.05,9.18,9.5,8.63,9.5 C8.63,9.5,7.79,9.5,7.79,9.5 C7.24,9.5,6.79,9.05,6.79,8.5 C6.79,8.5,6.79,7.5,6.79,7.5 C6.79,6.95,7.24,6.5,7.79,6.5 C7.79,6.5,8.63,6.5,8.63,6.5 C9.18,6.5,9.63,6.95,9.63,7.5 C9.63,7.5,9.63,8.5,9.63,8.5 z M13.42,8.5 C13.42,9.05,12.97,9.5,12.42,9.5 C12.42,9.5,11.58,9.5,11.58,9.5 C11.03,9.5,10.58,9.05,10.58,8.5 C10.58,8.5,10.58,7.5,10.58,7.5 C10.58,6.95,11.03,6.5,11.58,6.5 C11.58,6.5,12.42,6.5,12.42,6.5 C12.97,6.5,13.42,6.95,13.42,7.5 C13.42,7.5,13.42,8.5,13.42,8.5 z M17.21,8.5 C17.21,9.05,16.76,9.5,16.21,9.5 C16.21,9.5,15.37,9.5,15.37,9.5 C14.82,9.5,14.37,9.05,14.37,8.5 C14.37,8.5,14.37,7.5,14.37,7.5 C14.37,6.95,14.82,6.5,15.37,6.5 C15.37,6.5,16.21,6.5,16.21,6.5 C16.76,6.5,17.21,6.95,17.21,7.5 C17.21,7.5,17.21,8.5,17.21,8.5 z M21,8.5 C21,9.05,20.55,9.5,20,9.5 C20,9.5,19.16,9.5,19.16,9.5 C18.61,9.5,18.16,9.05,18.16,8.5 C18.16,8.5,18.16,7.5,18.16,7.5 C18.16,6.95,18.61,6.5,19.16,6.5 C19.16,6.5,20,6.5,20,6.5 C20.55,6.5,21,6.95,21,7.5 C21,7.5,21,8.5,21,8.5 z M16.5,12.5 C16.5,13.05,16.05,13.5,15.5,13.5 C15.5,13.5,14.8,13.5,14.8,13.5 C14.25,13.5,13.8,13.05,13.8,12.5 C13.8,12.5,13.8,11.5,13.8,11.5 C13.8,10.95,14.25,10.5,14.8,10.5 C14.8,10.5,15.5,10.5,15.5,10.5 C16.05,10.5,16.5,10.95,16.5,11.5 C16.5,11.5,16.5,12.5,16.5,12.5 z M21,12.5 C21,13.05,20.55,13.5,20,13.5 C20,13.5,18.4,13.5,18.4,13.5 C17.85,13.5,17.4,13.05,17.4,12.5 C17.4,12.5,17.4,11.5,17.4,11.5 C17.4,10.95,17.85,10.5,18.4,10.5 C18.4,10.5,20,10.5,20,10.5 C20.55,10.5,21,10.95,21,11.5 C21,11.5,21,12.5,21,12.5 z M17,16.5 C17,17.05,16.55,17.5,16,17.5 C16,17.5,8,17.5,8,17.5 C7.45,17.5,7,17.05,7,16.5 C7,16.5,7,15.5,7,15.5 C7,14.95,7.45,14.5,8,14.5 C8,14.5,16,14.5,16,14.5 C16.55,14.5,17,14.95,17,15.5 C17,15.5,17,16.5,17,16.5 z M21,16.5 C21,17.05,20.55,17.5,20,17.5 C20,17.5,19,17.5,19,17.5 C18.45,17.5,18,17.05,18,16.5 C18,16.5,18,15.5,18,15.5 C18,14.95,18.45,14.5,19,14.5 C19,14.5,20,14.5,20,14.5 C20.55,14.5,21,14.95,21,15.5 C21,15.5,21,16.5,21,16.5 z"/></g></svg> ',
5
+ tosiXr: '<svg class="color" viewBox="0 0 24 24"><g><path style="fill:#9e9e9e;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M8,14.25 C8,14.25,5,15.25,5,17.25 C5,19.25,8,19.25,8,19.25"/><path style="fill:#9e9e9e;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M16,14.25 C16,14.25,19,15.25,19,17.25 C19,19.25,16,19.25,16,19.25"/><path style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M4.5,4.85 C4.5,3.69,5.4,2.75,6.5,2.75 C6.5,2.75,17.5,2.75,17.5,2.75 C18.61,2.75,19.5,3.69,19.5,4.85 C19.5,4.85,19.5,12.16,19.5,12.16 C19.5,13.32,18.61,14.25,17.5,14.25 C17.5,14.25,6.5,14.25,6.5,14.25 C5.4,14.25,4.5,13.32,4.5,12.16 C4.5,12.16,4.5,4.85,4.5,4.85 z"/><path style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M12,5.25 C12,5.25,12,11.25,12,11.25"/><path style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M14,7.25 C14,7.25,14,8.25,14,8.25"/><path style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M10,7.25 C10,7.25,10,8.25,10,8.25"/><path style="fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M16,21.25 C16,21.25,15,20.25,15,20.25 C15,20.25,14,21.25,14,21.25"/><path style="fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M10,21.25 C10,21.25,9,20.25,9,20.25 C9,20.25,8,21.25,8,21.25"/><path style="fill:#e4e4e4;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M8,14.25 C8,14.25,16,14.25,16,14.25 C16,14.25,16,19.25,16,19.25 C16,19.25,8,19.25,8,19.25 C8,19.25,8,14.25,8,14.25 z"/><path style="fill:#ff7bac;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-width:1;" d="M12,4 C12,4,11.99,4,11.99,4 C6.19,4,3,4.73,3,8.5 C3,11.39,4.66,13,7.27,13 C9.88,13,10.68,11.13,11.99,11.13 C11.99,11.13,12,11.13,12,11.13 C12,11.13,12.01,11.13,12.01,11.13 C13.32,11.13,14.12,13,16.73,13 C19.34,13,21,11.39,21,8.5 C21,4.73,17.81,4,12.01,4 C12.01,4,12,4,12,4 C12,4,12,4,12,4 z"/></g></svg> ',
6
+ tosi: '<svg class="color" viewBox="0 0 48 48"><g><path style="fill:#9e9e9e;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M38.35,31.7 C39.78,34.37,38.78,37.69,36.11,39.13 C36.11,39.13,36.11,39.13,36.11,39.13 C33.92,40.31,31.18,39.48,29.99,37.29 C29.99,37.29,29.95,37.2,29.95,37.2 C29.58,36.53,28.75,36.27,28.08,36.64 C28.08,36.64,28.08,36.64,28.08,36.64 C25.83,37.84,23.03,37,21.82,34.76 C21.82,34.76,20.22,31.78,20.22,31.78 C18.99,29.5,19.85,26.67,22.12,25.44 C22.12,25.44,27.32,22.65,27.32,22.65 C29.96,21.23,33.24,22.22,34.66,24.85 C34.66,24.85,38.35,31.7,38.35,31.7 z"/><path style="fill:#9e9e9e;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M10.65,31.7 C9.22,34.37,10.22,37.69,12.89,39.13 C12.89,39.13,12.89,39.13,12.89,39.13 C15.08,40.31,17.82,39.48,19.01,37.29 C19.01,37.29,19.05,37.2,19.05,37.2 C19.42,36.53,20.25,36.27,20.92,36.64 C20.92,36.64,20.92,36.64,20.92,36.64 C23.17,37.84,25.97,37,27.18,34.76 C27.18,34.76,28.78,31.78,28.78,31.78 C30.01,29.5,29.15,26.67,26.88,25.44 C26.88,25.44,21.68,22.65,21.68,22.65 C19.04,21.23,15.76,22.22,14.34,24.85 C14.34,24.85,10.65,31.7,10.65,31.7 z"/><path style="fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M32.5,43 C32.5,43,30.5,41,30.5,41 C30.5,41,28.5,43,28.5,43"/><path style="fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M20.5,43 C20.5,43,18.5,41,18.5,41 C18.5,41,16.5,43,16.5,43"/><path style="fill:#e4e4e4;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M16.5,29 C16.5,29,32.5,29,32.5,29 C32.5,29,32.5,36,32.5,36 C32.5,37.66,31.16,39,29.5,39 C29.5,39,19.5,39,19.5,39 C17.84,39,16.5,37.66,16.5,36 C16.5,36,16.5,29,16.5,29 z"/><g><path style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M9.5,10.18 C9.5,7.87,11.29,6,13.5,6 C13.5,6,35.5,6,35.5,6 C37.71,6,39.5,7.87,39.5,10.18 C39.5,10.18,39.5,24.82,39.5,24.82 C39.5,27.13,37.71,29,35.5,29 C35.5,29,13.5,29,13.5,29 C11.29,29,9.5,27.13,9.5,24.82 C9.5,24.82,9.5,10.18,9.5,10.18 z"/><g><path style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M24.5,11 C24.5,11,24.5,23,24.5,23"/><path style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M28.5,15 C28.5,15,28.5,17,28.5,17"/><path style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:2;" d="M20.5,15 C20.5,15,20.5,17,20.5,17"/></g></g></g></svg> ',
7
+ tosijs3d: '<svg class="color" viewBox="0 0 24 24"><g><g><path style="fill:#00a79e;fill-opacity:0.7;fill-rule:evenodd;stroke:none;" d="M3,3 C3,3,21,3,21,3 C21,3,21,21,21,21 C21,21,3,21,3,21 C3,21,3,3,3,3 z"/><path style="fill:#00a79e;fill-opacity:0.3;fill-rule:nonzero;stroke:none;" d="M23,1 C23,1,21,3,21,3 C21,3,21,21,21,21 C21,21,23,23,23,23 C23,23,23,1,23,1 z"/><path style="fill:#00a79e;fill-opacity:0.4;fill-rule:nonzero;stroke:none;" d="M23,23 C23,23,21,21,21,21 C21,21,3,21,3,21 C3,21,1,23,1,23 C1,23,23,23,23,23 z"/><path style="fill:#00a79e;fill-opacity:0.2;fill-rule:nonzero;stroke:none;" d="M1.01,23 C1.01,23,3.01,21,3.01,21 C3.01,21,3.01,3,3.01,3 C3.01,3,1.01,1,1.01,1 C1.01,1,1.01,23,1.01,23 z"/><path style="fill:#00a79e;fill-opacity:0.1;fill-rule:nonzero;stroke:none;" d="M1,1 C1,1,3,3,3,3 C3,3,21,3,21,3 C21,3,23,1,23,1 C23,1,1,1,1,1 z"/></g><path style="fill:none;stroke:#00a79e;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:0.5;" d="M1,1 C1,1,3,3,3,3"/><path style="fill:none;stroke:#00a79e;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:0.5;" d="M3,21 C3,21,1,23,1,23"/><path style="fill:none;stroke:#00a79e;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:0.5;" d="M23,1 C23,1,21,3,21,3"/><path style="fill:none;stroke:#00a79e;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:0.5;" d="M21,21 C21,21,23,23,23,23"/><path style="fill:none;stroke:#00a79e;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:0.5;" d="M3,3 C3,3,21,3,21,3 C21,3,21,21,21,21 C21,21,3,21,3,21 C3,21,3,3,3,3 z"/><g><path style="fill:#9e9e9e;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M8,14.25 C8,14.25,5,15.25,5,17.25 C5,19.25,8,19.25,8,19.25"/><path style="fill:#9e9e9e;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M16,14.25 C16,14.25,19,15.25,19,17.25 C19,19.25,16,19.25,16,19.25"/><path style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M4.5,4.85 C4.5,3.69,5.4,2.75,6.5,2.75 C6.5,2.75,17.5,2.75,17.5,2.75 C18.61,2.75,19.5,3.69,19.5,4.85 C19.5,4.85,19.5,12.16,19.5,12.16 C19.5,13.32,18.61,14.25,17.5,14.25 C17.5,14.25,6.5,14.25,6.5,14.25 C5.4,14.25,4.5,13.32,4.5,12.16 C4.5,12.16,4.5,4.85,4.5,4.85 z"/><path style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M12,5.25 C12,5.25,12,11.25,12,11.25"/><path style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M14,7.25 C14,7.25,14,8.25,14,8.25"/><path style="fill:#ffffff;fill-rule:nonzero;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M10,7.25 C10,7.25,10,8.25,10,8.25"/><path style="fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M16,21.25 C16,21.25,15,20.25,15,20.25 C15,20.25,14,21.25,14,21.25"/><path style="fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M10,21.25 C10,21.25,9,20.25,9,20.25 C9,20.25,8,21.25,8,21.25"/><path style="fill:#e4e4e4;fill-rule:evenodd;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:1;" d="M8,14.25 C8,14.25,16,14.25,16,14.25 C16,14.25,16,19.25,16,19.25 C16,19.25,8,19.25,8,19.25 C8,19.25,8,14.25,8,14.25 z"/><path style="fill:#ff7bac;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-width:1;" d="M12,4 C12,4,11.99,4,11.99,4 C6.19,4,3,4.73,3,8.5 C3,11.39,4.66,13,7.27,13 C9.88,13,10.68,11.13,11.99,11.13 C11.99,11.13,12,11.13,12,11.13 C12,11.13,12.01,11.13,12.01,11.13 C13.32,11.13,14.12,13,16.73,13 C19.34,13,21,11.39,21,8.5 C21,4.73,17.81,4,12.01,4 C12.01,4,12,4,12,4 C12,4,12,4,12,4 z"/></g><path style="fill:none;stroke:#00a79e;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-width:0.5;" d="M1,1 C1,1,23,1,23,1 C23,1,23,23,23,23 C23,23,1,23,1,23 C1,23,1,1,1,1 z"/></g></svg> ',
8
+ game: '<svg class="filled" version="1" viewBox="0 0 704 512"><path d="M528 97v-1h-336c-88 0-160 72-160 160s72 160 160 160c52 0 99-25 128-64h64c29 39 76 64 128 64 88 0 160-72 160-160 0-83-63-151-144-159zM288 288h-64v64h-64v-64h-64v-64h64v-64h64v64h64v64zM480 288c-18 0-32-14-32-32s14-32 32-32 32 14 32 32-14 32-32 32zM576 288c-18 0-32-14-32-32 0-18 14-32 32-32s32 14 32 32c0 18-14 32-32 32z"></path></svg> ',
9
+ arrowUpRight: '<svg class="stroked" viewBox="0 0 24 24"><line x1="7" y1="17" x2="17" y2="7"/><polyline points="7 7 17 7 17 17"/></svg> ',
10
+ bug: '<svg class="stroked" viewBox="0 0 24 24"><g><path style="" d="M8,6 C8,3.79,9.79,2,12,2 C14.21,2,16,3.79,16,6 C16,6,8,6,8,6 z"/><path style="" d="M20,7 C20,7,18,9,18,9"/><path style="" d="M20,19 C20,19,18,17,18,17"/><path style="" d="M21,13 C21,13,18,13,18,13"/><path style="" d="M16.44,9 C17.3,9,18,9.7,18,10.56 C18,10.56,18,15,18,15 C18,18.31,15.31,21,12,21 C8.69,21,6,18.31,6,15 C6,15,6,10.56,6,10.56 C6,9.7,6.7,9,7.56,9 C7.56,9,16.44,9,16.44,9 z"/><path style="" d="M4,7 C4,7,6,9,6,9"/><path style="" d="M4,19 C4,19,6,17,6,17"/><path style="" d="M3,13 C3,13,6,13,6,13"/><path style="" d="M12,12 C12,12,12,17,12,17"/></g></svg> ',
11
+ camera: '<svg class="stroked" viewBox="0 0 24 24"><path d="M4 8h4l2-2h4l2 2h4v11H4z"/><circle cx="12" cy="13.5" r="3.5"/></svg> ',
12
+ chevron: '<svg class="stroked" viewBox="0 0 24 24"><polyline points="9 6 15 12 9 18"/></svg> ',
13
+ close: '<svg class="stroked" viewBox="0 0 24 24"><line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/></svg> ',
14
+ barChart2: '<svg class="stroked" viewBox="0 0 24 24"><line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line></svg>',
15
+ barChart: '<svg class="stroked" viewBox="0 0 24 24"><line x1="12" y1="20" x2="12" y2="10"></line><line x1="18" y1="20" x2="18" y2="4"></line><line x1="6" y1="20" x2="6" y2="16"></line></svg>',
16
+ checkCircle: '<svg class="stroked" viewBox="0 0 24 24"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>',
17
+ checkSquare: '<svg class="stroked" viewBox="0 0 24 24"><polyline points="9 11 12 14 22 4"></polyline><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"></path></svg>',
18
+ check: '<svg class="stroked" viewBox="0 0 24 24"><polyline points="20 6 9 17 4 12"></polyline></svg>',
19
+ cloud: '<svg class="stroked" viewBox="0 0 24 24"><path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"></path></svg>',
20
+ compass: '<svg class="stroked" viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"></circle><polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"></polygon></svg>',
21
+ downloadCloud: '<svg class="stroked" viewBox="0 0 24 24"><polyline points="8 17 12 21 16 17"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29"></path></svg>',
22
+ heart: '<svg class="stroked" viewBox="0 0 24 24"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path></svg>',
23
+ map: '<svg class="stroked" viewBox="0 0 24 24"><polygon points="1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6"></polygon><line x1="8" y1="2" x2="8" y2="18"></line><line x1="16" y1="6" x2="16" y2="22"></line></svg>',
24
+ menu: '<svg class="stroked" viewBox="0 0 24 24"><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg>',
25
+ messageSquare: '<svg class="stroked" viewBox="0 0 24 24"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>',
26
+ moreVertical: '<svg class="stroked" viewBox="0 0 24 24"><circle cx="12" cy="12" r="1"></circle><circle cx="12" cy="5" r="1"></circle><circle cx="12" cy="19" r="1"></circle></svg>',
27
+ settings: '<svg class="stroked" viewBox="0 0 24 24"><g><path style="" d="M4.78,6.75 C6.02,7.26,7.26,6.02,6.75,4.78 C6.75,4.78,6.24,3.57,6.24,3.57 C5.93,2.8,6.29,1.92,7.06,1.6 C7.06,1.6,8.14,1.15,8.14,1.15 C8.91,0.83,9.79,1.2,10.11,1.96 C10.11,1.96,10.61,3.18,10.61,3.18 C11.12,4.42,12.88,4.42,13.39,3.18 C13.39,3.18,13.89,1.97,13.89,1.97 C14.21,1.2,15.09,0.83,15.86,1.15 C15.86,1.15,16.94,1.6,16.94,1.6 C17.71,1.92,18.08,2.8,17.76,3.57 C17.76,3.57,17.15,5.03,17.15,5.03 C16.64,6.27,17.88,7.51,19.12,7 C19.12,7,20.51,6.42,20.51,6.42 C21.28,6.1,22.16,6.47,22.47,7.23 C22.47,7.23,22.92,8.32,22.92,8.32 C23.24,9.09,22.88,9.96,22.11,10.28 C22.11,10.28,21.07,10.71,21.07,10.71 C19.83,11.23,19.83,12.98,21.07,13.49 C21.07,13.49,22.04,13.89,22.04,13.89 C22.8,14.21,23.17,15.09,22.85,15.86 C22.85,15.86,22.4,16.94,22.4,16.94 C22.08,17.71,21.2,18.07,20.43,17.76 C20.43,17.76,19.22,17.25,19.22,17.25 C17.98,16.74,16.74,17.98,17.25,19.22 C17.25,19.22,17.76,20.43,17.76,20.43 C18.07,21.2,17.71,22.08,16.94,22.4 C16.94,22.4,15.86,22.85,15.86,22.85 C15.09,23.17,14.21,22.8,13.89,22.04 C13.89,22.04,13.39,20.82,13.39,20.82 C12.88,19.58,11.12,19.58,10.61,20.82 C10.61,20.82,10.11,22.04,10.11,22.04 C9.79,22.8,8.91,23.17,8.14,22.85 C8.14,22.85,7.06,22.4,7.06,22.4 C6.29,22.08,5.93,21.2,6.24,20.44 C6.24,20.44,6.64,19.47,6.64,19.47 C7.16,18.23,5.92,16.99,4.68,17.5 C4.68,17.5,3.64,17.93,3.64,17.93 C2.87,18.25,1.99,17.89,1.67,17.12 C1.67,17.12,1.22,16.04,1.22,16.04 C0.91,15.27,1.27,14.39,2.04,14.07 C2.04,14.07,3.43,13.49,3.43,13.49 C4.67,12.98,4.67,11.23,3.43,10.71 C3.43,10.71,1.96,10.11,1.96,10.11 C1.2,9.79,0.83,8.91,1.15,8.14 C1.15,8.14,1.6,7.06,1.6,7.06 C1.92,6.29,2.8,5.93,3.57,6.24 C3.57,6.24,4.78,6.75,4.78,6.75 z M14.31,11.04 C14.84,12.32,14.23,13.78,12.96,14.31 C11.68,14.84,10.22,14.23,9.69,12.96 C9.16,11.68,9.77,10.22,11.04,9.69 C12.32,9.16,13.78,9.77,14.31,11.04 z"/></g></svg> ',
28
+ square: '<svg class="stroked" viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect></svg>',
29
+ star: '<svg class="stroked" viewBox="0 0 24 24"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>',
30
+ thumbsUp: '<svg class="stroked" viewBox="0 0 24 24"><path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"></path></svg>',
31
+ uploadCloud: '<svg class="stroked" viewBox="0 0 24 24"><polyline points="16 16 12 12 8 16"></polyline><line x1="12" y1="12" x2="12" y2="21"></line><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"></path><polyline points="16 16 12 12 8 16"></polyline></svg>',
32
+ thumbsDown: 'thumbsUp1f',
33
+ arrowDownRight: 'arrowUpRight90r',
34
+ arrowDownLeft: 'arrowUpRight180r',
35
+ arrowUpLeft: 'arrowUpRight270r',
36
+ };
37
+ //# sourceMappingURL=icon-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-data.js","sourceRoot":"","sources":["../src/icon-data.ts"],"names":[],"mappings":"AAIA,eAAe;IACb,KAAK,EACH,kzDAAkzD;IACpzD,OAAO,EACL,2nJAA2nJ;IAC7nJ,QAAQ,EACN,+1GAA+1G;IACj2G,MAAM,EACJ,08EAA08E;IAC58E,IAAI,EAAE,2yFAA2yF;IACjzF,QAAQ,EACN,gtIAAgtI;IACltI,IAAI,EAAE,gZAAgZ;IACtZ,YAAY,EACV,0HAA0H;IAC5H,GAAG,EAAE,wnBAAwnB;IAC7nB,MAAM,EACJ,yHAAyH;IAC3H,OAAO,EACL,qFAAqF;IACvF,KAAK,EACH,4HAA4H;IAC9H,SAAS,EACP,qLAAqL;IACvL,QAAQ,EACN,qLAAqL;IACvL,WAAW,EACT,yJAAyJ;IAC3J,WAAW,EACT,0KAA0K;IAC5K,KAAK,EACH,8FAA8F;IAChG,KAAK,EACH,gHAAgH;IAClH,OAAO,EACL,4KAA4K;IAC9K,aAAa,EACX,kNAAkN;IACpN,KAAK,EACH,2MAA2M;IAC7M,GAAG,EAAE,+MAA+M;IACpN,IAAI,EAAE,mLAAmL;IACzL,aAAa,EACX,gIAAgI;IAClI,YAAY,EACV,qKAAqK;IACvK,QAAQ,EACN,00DAA00D;IAC50D,MAAM,EACJ,+GAA+G;IACjH,IAAI,EAAE,4KAA4K;IAClL,QAAQ,EACN,sLAAsL;IACxL,WAAW,EACT,gQAAgQ;IAClQ,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,iBAAiB;IACjC,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,kBAAkB;CACpB,CAAA"}
@@ -0,0 +1,27 @@
1
+ /** A CSS-style bag produced from a suffix chain — assigned onto an SVG's `.style`. */
2
+ export interface IconStyle {
3
+ transform?: string;
4
+ transformOrigin?: string;
5
+ opacity?: string;
6
+ fill?: string;
7
+ stroke?: string;
8
+ strokeWidth?: string;
9
+ }
10
+ export interface ParsedIconName {
11
+ baseName: string;
12
+ style: IconStyle;
13
+ }
14
+ /**
15
+ * Split a name into its base + the style implied by its trailing suffixes.
16
+ * Returns `null` if there are no suffixes (or nothing before them) — the caller
17
+ * then treats the whole string as a plain icon name.
18
+ */
19
+ export declare function parseStyleSuffixes(name: string): ParsedIconName | null;
20
+ /**
21
+ * Merge a suffix-derived style into an accumulator (for layered resolution —
22
+ * a redirect target may carry its own suffix, e.g. `arrowUpRight90r`). Transforms
23
+ * concatenate; scalar props are first-writer-wins so the outermost (caller's)
24
+ * suffix takes precedence over an inner redirect's.
25
+ */
26
+ export declare function mergeIconStyle(into: IconStyle, add: IconStyle): void;
27
+ //# sourceMappingURL=icon-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-name.d.ts","sourceRoot":"","sources":["../src/icon-name.ts"],"names":[],"mappings":"AA+BA,sFAAsF;AACtF,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;CACjB;AASD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqDtE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAUpE"}
@@ -0,0 +1,120 @@
1
+ /*#
2
+ # icon-name
3
+
4
+ Pure parsing of the **icon composition suffix grammar** — the tail modifiers that
5
+ [[svg-icons]] applies to a base icon name (`chevron90r`, `close_ff0000S`,
6
+ `camera50o`). No tosijs, no DOM: just string → a plain style object, so it is
7
+ unit-tested headless (like [[fly-by-wire]] / [[perlin-noise]]).
8
+
9
+ This is a deliberate **subset** of tosijs-ui's `icons` proxy grammar — the
10
+ *style suffixes* only. It does NOT implement `$` stacking or the rule-prefixes
11
+ (`spin`, `un`, `check`, `search`), which compose/overlay multiple icons.
12
+
13
+ ## Suffix codes
14
+
15
+ A suffix is `<value><code>`, chained, at the end of a name. `_` prefixing the
16
+ value means negative; a name ending in a digit needs a `_` separator
17
+ (`edit2_50o`).
18
+
19
+ | code | effect | example |
20
+ | ---- | ------------------------- | ------------ |
21
+ | `r` | rotate N° | `chevron90r` |
22
+ | `f` | flip (`0f` = H, `1f` = V) | `chevron0f` |
23
+ | `s` | scale N% | `star75s` |
24
+ | `x` | translateX N% | `plus20x` |
25
+ | `y` | translateY N% | `plus_10y` |
26
+ | `o` | opacity N% | `camera50o` |
27
+ | `W` | stroke-width N | `chevron3W` |
28
+ | `F` | fill (hex or `--var`) | `close_f00F` |
29
+ | `S` | stroke (hex or `--var`) | `chevron_accentS` |
30
+ */
31
+ // Trailing run of style suffixes. Mirrors tosijs-ui's SUFFIX_RE: transform/opacity
32
+ // codes must follow a letter or `_` (so digits inside a name aren't eaten), color
33
+ // suffixes are `_<hexOrVar><F|S>`.
34
+ const SUFFIX_RE = /(?:(?<=[a-zA-Z_])(?:_?\d+[osxyr]|[01]f|\d+W)|_[a-zA-Z0-9]+[FS])+$/;
35
+ const SUFFIX_TOKEN_RE = /_?\d+[osxyr]|[01]f|_[a-zA-Z0-9]+[FS]|\d+W/g;
36
+ /**
37
+ * Split a name into its base + the style implied by its trailing suffixes.
38
+ * Returns `null` if there are no suffixes (or nothing before them) — the caller
39
+ * then treats the whole string as a plain icon name.
40
+ */
41
+ export function parseStyleSuffixes(name) {
42
+ const match = name.match(SUFFIX_RE);
43
+ if (!match || match.index === undefined)
44
+ return null;
45
+ let baseName = name.slice(0, match.index);
46
+ // A trailing `_` separator (digit-ending base like `edit2_50o`) isn't part of the name.
47
+ if (baseName.endsWith('_'))
48
+ baseName = baseName.slice(0, -1);
49
+ if (!baseName)
50
+ return null;
51
+ const tokens = match[0].match(SUFFIX_TOKEN_RE);
52
+ if (!tokens)
53
+ return null;
54
+ const style = {};
55
+ const transforms = [];
56
+ for (const s of tokens) {
57
+ const code = s[s.length - 1];
58
+ if (code === 'F' || code === 'S') {
59
+ const raw = s.slice(1, -1);
60
+ const isHex = /^[0-9a-fA-F]{3,8}$/.test(raw);
61
+ // Named colors resolve to a CSS custom property (matches tosijs var naming).
62
+ const value = isHex ? '#' + raw : `var(--${raw})`;
63
+ if (code === 'F')
64
+ style.fill = value;
65
+ else
66
+ style.stroke = value;
67
+ }
68
+ else if (code === 'W') {
69
+ style.strokeWidth = s.slice(0, -1);
70
+ }
71
+ else {
72
+ const val = parseInt(s.replace('_', '-'), 10);
73
+ switch (code) {
74
+ case 'o':
75
+ style.opacity = String(val / 100);
76
+ break;
77
+ case 's':
78
+ transforms.push(`scale(${val / 100})`);
79
+ break;
80
+ case 'x':
81
+ transforms.push(`translateX(${val}%)`);
82
+ break;
83
+ case 'y':
84
+ transforms.push(`translateY(${val}%)`);
85
+ break;
86
+ case 'r':
87
+ transforms.push(`rotate(${val}deg)`);
88
+ break;
89
+ case 'f':
90
+ transforms.push(val === 0 ? 'scaleX(-1)' : 'scaleY(-1)');
91
+ break;
92
+ }
93
+ }
94
+ }
95
+ if (transforms.length > 0) {
96
+ style.transform = transforms.join(' ');
97
+ style.transformOrigin = '50% 50%';
98
+ }
99
+ return { baseName, style };
100
+ }
101
+ /**
102
+ * Merge a suffix-derived style into an accumulator (for layered resolution —
103
+ * a redirect target may carry its own suffix, e.g. `arrowUpRight90r`). Transforms
104
+ * concatenate; scalar props are first-writer-wins so the outermost (caller's)
105
+ * suffix takes precedence over an inner redirect's.
106
+ */
107
+ export function mergeIconStyle(into, add) {
108
+ if (add.transform) {
109
+ into.transform = into.transform
110
+ ? `${into.transform} ${add.transform}`
111
+ : add.transform;
112
+ into.transformOrigin = '50% 50%';
113
+ }
114
+ for (const k of ['opacity', 'fill', 'stroke', 'strokeWidth']) {
115
+ if (add[k] !== undefined && into[k] === undefined)
116
+ into[k] = add[k];
117
+ }
118
+ }
119
+ /*{ "parent": "Utilities" }*/
120
+ //# sourceMappingURL=icon-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-name.js","sourceRoot":"","sources":["../src/icon-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BE;AAiBF,mFAAmF;AACnF,kFAAkF;AAClF,mCAAmC;AACnC,MAAM,SAAS,GACb,mEAAmE,CAAA;AACrE,MAAM,eAAe,GAAG,4CAA4C,CAAA;AAEpE;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACpD,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACzC,wFAAwF;IACxF,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE1B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC9C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAExB,MAAM,KAAK,GAAc,EAAE,CAAA;IAC3B,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1B,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC5C,6EAA6E;YAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAA;YACjD,IAAI,IAAI,KAAK,GAAG;gBAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAA;;gBAC/B,KAAK,CAAC,MAAM,GAAG,KAAK,CAAA;QAC3B,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;YAC7C,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,GAAG;oBACN,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;oBACjC,MAAK;gBACP,KAAK,GAAG;oBACN,UAAU,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;oBACtC,MAAK;gBACP,KAAK,GAAG;oBACN,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;oBACtC,MAAK;gBACP,KAAK,GAAG;oBACN,UAAU,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;oBACtC,MAAK;gBACP,KAAK,GAAG;oBACN,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAA;oBACpC,MAAK;gBACP,KAAK,GAAG;oBACN,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;oBACxD,MAAK;YACT,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;IACnC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAe,EAAE,GAAc;IAC5D,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;YAC7B,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,EAAE;YACtC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAA;QACjB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;IAClC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAU,EAAE,CAAC;QACtE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC;AACH,CAAC;AAED,6BAA6B"}
package/dist/index.d.ts CHANGED
@@ -82,6 +82,9 @@ export type { StackLayout, FontSpec } from './widgets3d-layout';
82
82
  export { SvgTexture } from './svg-texture';
83
83
  export type { SvgTextureOptions } from './svg-texture';
84
84
  export { B3dSvgPlane, b3dSvgPlane } from './b3d-svg-plane';
85
+ export { svgIcons, createSvgIcons, iconGlyph, iconNames, iconAliases, iconData, type SvgIconCreator, } from './svg-icons';
86
+ export { parseStyleSuffixes, mergeIconStyle, type IconStyle, type ParsedIconName, } from './icon-name';
87
+ export { flowLayout, type FlowItem, type FlowOptions, type FlowBox, type FlowResult, } from './flow-layout';
85
88
  export { B3dParticles, b3dParticles } from './b3d-particles';
86
89
  export { B3dSound, b3dSound } from './b3d-sound';
87
90
  export { B3dTrigger, b3dTrigger } from './b3d-trigger';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -73,6 +73,11 @@ export { stackLayout, clampScroll, wrapText, wrapByMeasure, cssFont, textMeasure
73
73
  // SVG material system
74
74
  export { SvgTexture } from './svg-texture';
75
75
  export { B3dSvgPlane, b3dSvgPlane } from './b3d-svg-plane';
76
+ // Icon proxy (svgIcons.name() → SVG ElementCreator) over the generated icon set
77
+ export { svgIcons, createSvgIcons, iconGlyph, iconNames, iconAliases, iconData, } from './svg-icons';
78
+ export { parseStyleSuffixes, mergeIconStyle, } from './icon-name';
79
+ // Pure flow-layout core (block/inline-block) — substrate for the SVG UI surface
80
+ export { flowLayout, } from './flow-layout';
76
81
  // Effects & interaction
77
82
  export { B3dParticles, b3dParticles } from './b3d-particles';
78
83
  export { B3dSound, b3dSound } from './b3d-sound';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { type ElementPart } from 'tosijs';
2
+ import iconData from './icon-data';
3
+ export { iconData };
4
+ export type { IconStyle } from './icon-name';
5
+ type IconMap = Record<string, string>;
6
+ /** An SVG icon element creator: call with element parts, get an `<svg>` back. */
7
+ export type SvgIconCreator = (...parts: ElementPart[]) => SVGSVGElement;
8
+ /**
9
+ * Hand-authored redirects layered on top of the generated set — for aliases the
10
+ * icon generator can't express (a rotated/flipped variant under a different
11
+ * name). They're ordinary redirect entries, so they compose with suffixes just
12
+ * like the generator's own directional redirects, and they survive
13
+ * `bun run icons` (which only rewrites {@link icon-data}).
14
+ */
15
+ export declare const iconAliases: IconMap;
16
+ /**
17
+ * Build an icon proxy over a specific icon-data map. The default {@link svgIcons}
18
+ * binds this to tosijs-3d's generated set; pass your own map to make an
19
+ * independent proxy (this is also how the tests exercise it with a fixture).
20
+ * `aliases` are merged UNDER the data (real icons win any name clash).
21
+ */
22
+ export declare function createSvgIcons(data?: IconMap, aliases?: IconMap): Record<string, SvgIconCreator>;
23
+ /** Names of the icons with real artwork (excludes pure redirect entries). */
24
+ export declare function iconNames(data?: IconMap): string[];
25
+ /**
26
+ * A **texture-safe** icon: an `svgElements` `<g>` with EXPLICIT colours baked in
27
+ * (no `currentColor` / CSS vars), scaled and positioned for embedding directly in
28
+ * a [[widgets3d]] SVG tree. Those trees rasterize to a Babylon texture in VR,
29
+ * where `currentColor` and custom properties DON'T resolve — so use this, not
30
+ * {@link svgIcons}, for in-scene / in-panel glyphs.
31
+ *
32
+ * `color` icons keep their baked palette; `stroked`/`filled` icons are tinted to
33
+ * `color`. Base names only — composition suffixes (rotate/flip/…) stay DOM-only
34
+ * on {@link svgIcons}; passing one here warns rather than silently mis-rendering.
35
+ */
36
+ export declare function iconGlyph(name: string, opts?: {
37
+ color?: string;
38
+ size?: number;
39
+ x?: number;
40
+ y?: number;
41
+ strokeWidth?: number;
42
+ }): SVGGElement;
43
+ /** The default icon proxy, over tosijs-3d's generated icon set. */
44
+ export declare const svgIcons: Record<string, SvgIconCreator>;
45
+ //# sourceMappingURL=svg-icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-icons.d.ts","sourceRoot":"","sources":["../src/svg-icons.ts"],"names":[],"mappings":"AAmKA,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC5E,OAAO,QAAQ,MAAM,aAAa,CAAA;AAGlC,OAAO,EAAE,QAAQ,EAAE,CAAA;AACnB,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAmHrC,iFAAiF;AACjF,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,EAAE,WAAW,EAAE,KAAK,aAAa,CAAA;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,OAEzB,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,GAAE,OAAwC,EAC9C,OAAO,GAAE,OAAqB,GAC7B,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAiBhC;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CACvB,IAAI,GAAE,OAAwC,GAC7C,MAAM,EAAE,CAEV;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,MAAM,CAAA;CAChB,GACL,WAAW,CAwCb;AAED,mEAAmE;AACnE,eAAO,MAAM,QAAQ,gCAAmB,CAAA"}