@trebired/frontend 0.3.0 → 0.4.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.
Files changed (102) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +87 -3
  3. package/dist/config/index.d.ts +54 -0
  4. package/dist/config/index.d.ts.map +1 -0
  5. package/dist/config/index.js +303 -0
  6. package/dist/config/index.js.map +1 -0
  7. package/dist/flash/dialogs.d.ts.map +1 -1
  8. package/dist/flash/dialogs.js +23 -14
  9. package/dist/flash/dialogs.js.map +1 -1
  10. package/dist/fullscreen/index.d.ts +15 -0
  11. package/dist/fullscreen/index.d.ts.map +1 -0
  12. package/dist/fullscreen/index.js +62 -0
  13. package/dist/fullscreen/index.js.map +1 -0
  14. package/dist/icons/index.d.ts +44 -0
  15. package/dist/icons/index.d.ts.map +1 -0
  16. package/dist/icons/index.js +180 -0
  17. package/dist/icons/index.js.map +1 -0
  18. package/dist/icons/middleware/index.d.ts +19 -0
  19. package/dist/icons/middleware/index.d.ts.map +1 -0
  20. package/dist/icons/middleware/index.js +46 -0
  21. package/dist/icons/middleware/index.js.map +1 -0
  22. package/dist/icons/react/index.d.ts +16 -0
  23. package/dist/icons/react/index.d.ts.map +1 -0
  24. package/dist/icons/react/index.js +70 -0
  25. package/dist/icons/react/index.js.map +1 -0
  26. package/dist/icons/server/index.d.ts +70 -0
  27. package/dist/icons/server/index.d.ts.map +1 -0
  28. package/dist/icons/server/index.js +310 -0
  29. package/dist/icons/server/index.js.map +1 -0
  30. package/dist/icons/server-context.d.ts +12 -0
  31. package/dist/icons/server-context.d.ts.map +1 -0
  32. package/dist/icons/server-context.js +25 -0
  33. package/dist/icons/server-context.js.map +1 -0
  34. package/dist/icons/shared.d.ts +29 -0
  35. package/dist/icons/shared.d.ts.map +1 -0
  36. package/dist/icons/shared.js +151 -0
  37. package/dist/icons/shared.js.map +1 -0
  38. package/dist/icons/styles/index.scss +76 -0
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +6 -0
  42. package/dist/index.js.map +1 -1
  43. package/dist/layer/index.d.ts.map +1 -1
  44. package/dist/layer/index.js +27 -2
  45. package/dist/layer/index.js.map +1 -1
  46. package/dist/modal/index.d.ts +1 -0
  47. package/dist/modal/index.d.ts.map +1 -1
  48. package/dist/modal/index.js +72 -7
  49. package/dist/modal/index.js.map +1 -1
  50. package/dist/src/config/index.d.ts +54 -0
  51. package/dist/src/config/index.d.ts.map +1 -0
  52. package/dist/src/config/index.js +303 -0
  53. package/dist/src/config/index.js.map +1 -0
  54. package/dist/src/flash/dialogs.d.ts.map +1 -1
  55. package/dist/src/flash/dialogs.js +23 -14
  56. package/dist/src/flash/dialogs.js.map +1 -1
  57. package/dist/src/fullscreen/index.d.ts +15 -0
  58. package/dist/src/fullscreen/index.d.ts.map +1 -0
  59. package/dist/src/fullscreen/index.js +62 -0
  60. package/dist/src/fullscreen/index.js.map +1 -0
  61. package/dist/src/icons/index.d.ts +44 -0
  62. package/dist/src/icons/index.d.ts.map +1 -0
  63. package/dist/src/icons/index.js +180 -0
  64. package/dist/src/icons/index.js.map +1 -0
  65. package/dist/src/icons/middleware/index.d.ts +19 -0
  66. package/dist/src/icons/middleware/index.d.ts.map +1 -0
  67. package/dist/src/icons/middleware/index.js +46 -0
  68. package/dist/src/icons/middleware/index.js.map +1 -0
  69. package/dist/src/icons/react/index.d.ts +16 -0
  70. package/dist/src/icons/react/index.d.ts.map +1 -0
  71. package/dist/src/icons/react/index.js +70 -0
  72. package/dist/src/icons/react/index.js.map +1 -0
  73. package/dist/src/icons/server/index.d.ts +70 -0
  74. package/dist/src/icons/server/index.d.ts.map +1 -0
  75. package/dist/src/icons/server/index.js +310 -0
  76. package/dist/src/icons/server/index.js.map +1 -0
  77. package/dist/src/icons/server-context.d.ts +12 -0
  78. package/dist/src/icons/server-context.d.ts.map +1 -0
  79. package/dist/src/icons/server-context.js +25 -0
  80. package/dist/src/icons/server-context.js.map +1 -0
  81. package/dist/src/icons/shared.d.ts +29 -0
  82. package/dist/src/icons/shared.d.ts.map +1 -0
  83. package/dist/src/icons/shared.js +151 -0
  84. package/dist/src/icons/shared.js.map +1 -0
  85. package/dist/src/index.d.ts +2 -0
  86. package/dist/src/index.d.ts.map +1 -1
  87. package/dist/src/index.js +6 -0
  88. package/dist/src/index.js.map +1 -1
  89. package/dist/src/layer/index.d.ts.map +1 -1
  90. package/dist/src/layer/index.js +27 -2
  91. package/dist/src/layer/index.js.map +1 -1
  92. package/dist/src/modal/index.d.ts +1 -0
  93. package/dist/src/modal/index.d.ts.map +1 -1
  94. package/dist/src/modal/index.js +72 -7
  95. package/dist/src/modal/index.js.map +1 -1
  96. package/dist/src/styles/index.d.ts.map +1 -1
  97. package/dist/src/styles/index.js +1 -0
  98. package/dist/src/styles/index.js.map +1 -1
  99. package/dist/styles/index.d.ts.map +1 -1
  100. package/dist/styles/index.js +1 -0
  101. package/dist/styles/index.js.map +1 -1
  102. package/package.json +35 -4
@@ -0,0 +1,310 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ import { createRequire } from "node:module";
4
+ import { applySvgColor, classNames, derivePrimarySvgColor, escapeHtml, normalizeHexColor, normalizeIconName, normalizeIconPack, normalizeSvgMarkup, parseIconSpec, text, } from "../../../icons/shared.js";
5
+ export { withIconServerRenderer } from "../../../icons/server-context.js";
6
+ const packIndexCache = new Map();
7
+ const svgMarkupCache = new Map();
8
+ let simpleIconColorCache = null;
9
+ function listSvgFiles(rootDir) {
10
+ const out = [];
11
+ const stack = [rootDir];
12
+ while (stack.length) {
13
+ const current = stack.pop();
14
+ let entries = [];
15
+ try {
16
+ entries = fs.readdirSync(current, { withFileTypes: true });
17
+ }
18
+ catch {
19
+ entries = [];
20
+ }
21
+ for (const entry of entries) {
22
+ const abs = path.join(current, entry.name);
23
+ if (entry.isDirectory())
24
+ stack.push(abs);
25
+ else if (entry.isFile() && entry.name.toLowerCase().endsWith(".svg"))
26
+ out.push(abs);
27
+ }
28
+ }
29
+ return out.sort((a, b) => a.localeCompare(b));
30
+ }
31
+ function findPackageRootFromResolvedFile(filePath, pack) {
32
+ let current = path.dirname(filePath);
33
+ for (;;) {
34
+ const packageJsonPath = path.join(current, "package.json");
35
+ if (fs.existsSync(packageJsonPath)) {
36
+ try {
37
+ const parsed = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
38
+ if (parsed?.name === pack)
39
+ return current;
40
+ }
41
+ catch { }
42
+ }
43
+ const parent = path.dirname(current);
44
+ if (parent === current)
45
+ return null;
46
+ current = parent;
47
+ }
48
+ }
49
+ function resolveIconPackRoot(pack, options = {}) {
50
+ const normalizedPack = normalizeIconPack(pack);
51
+ if (!normalizedPack)
52
+ return "";
53
+ if (options.packageRoot)
54
+ return path.resolve(options.packageRoot);
55
+ const roots = [options.rootDir, process.cwd()].filter(Boolean);
56
+ for (const root of roots) {
57
+ const requireFromRoot = createRequire(path.join(path.resolve(root), "package.json"));
58
+ try {
59
+ const packageJsonPath = requireFromRoot.resolve(`${normalizedPack}/package.json`);
60
+ return path.dirname(packageJsonPath);
61
+ }
62
+ catch { }
63
+ try {
64
+ const resolved = requireFromRoot.resolve(normalizedPack);
65
+ const packageRoot = findPackageRootFromResolvedFile(resolved, normalizedPack);
66
+ if (packageRoot)
67
+ return packageRoot;
68
+ }
69
+ catch { }
70
+ }
71
+ const requireFromPackage = createRequire(import.meta.url);
72
+ try {
73
+ return path.dirname(requireFromPackage.resolve(`${normalizedPack}/package.json`));
74
+ }
75
+ catch { }
76
+ try {
77
+ const resolved = requireFromPackage.resolve(normalizedPack);
78
+ return findPackageRootFromResolvedFile(resolved, normalizedPack) || "";
79
+ }
80
+ catch {
81
+ return "";
82
+ }
83
+ }
84
+ function buildPackIndex(pack, options = {}) {
85
+ const cacheKey = `${pack}:${options.packageRoot || options.rootDir || ""}`;
86
+ if (packIndexCache.has(cacheKey))
87
+ return packIndexCache.get(cacheKey) || null;
88
+ const packRoot = resolveIconPackRoot(pack, options);
89
+ if (!packRoot || !fs.existsSync(packRoot) || !fs.statSync(packRoot).isDirectory()) {
90
+ packIndexCache.set(cacheKey, null);
91
+ return null;
92
+ }
93
+ const byName = new Map();
94
+ const duplicates = new Map();
95
+ for (const filePath of listSvgFiles(packRoot)) {
96
+ const icon = normalizeIconName(path.basename(filePath));
97
+ if (!icon)
98
+ continue;
99
+ const existing = byName.get(icon);
100
+ if (existing) {
101
+ if (!duplicates.has(icon))
102
+ duplicates.set(icon, [existing]);
103
+ duplicates.get(icon).push(filePath);
104
+ continue;
105
+ }
106
+ byName.set(icon, filePath);
107
+ }
108
+ const index = { byName, duplicates, packRoot };
109
+ packIndexCache.set(cacheKey, index);
110
+ return index;
111
+ }
112
+ function shouldPreserveSourceColors(pack, options = {}) {
113
+ if (options.preserveSourceColors === true)
114
+ return true;
115
+ if (Array.isArray(options.preserveSourceColors))
116
+ return options.preserveSourceColors.includes(pack);
117
+ return false;
118
+ }
119
+ function failure(parsed, statusCode, status = 404) {
120
+ return {
121
+ icon: parsed?.icon,
122
+ ok: false,
123
+ pack: parsed?.pack,
124
+ spec: parsed?.spec || "",
125
+ status,
126
+ statusCode,
127
+ };
128
+ }
129
+ function readSimpleIconColorMap(options = {}) {
130
+ if (simpleIconColorCache)
131
+ return simpleIconColorCache;
132
+ const colors = new Map();
133
+ const packRoot = resolveIconPackRoot("simple-icons", options);
134
+ const dataPath = path.join(packRoot, "data", "simple-icons.json");
135
+ try {
136
+ const parsed = JSON.parse(fs.readFileSync(dataPath, "utf8"));
137
+ const entries = Array.isArray(parsed) ? parsed : [];
138
+ for (const entry of entries) {
139
+ const slug = normalizeIconName(entry?.slug);
140
+ const color = normalizeHexColor(entry?.hex);
141
+ if (slug && color && color.toLowerCase() !== "#000000")
142
+ colors.set(slug, color);
143
+ }
144
+ }
145
+ catch { }
146
+ simpleIconColorCache = colors;
147
+ return colors;
148
+ }
149
+ function simpleIconColor(icon, options = {}) {
150
+ return readSimpleIconColorMap(options).get(normalizeIconName(icon)) || "";
151
+ }
152
+ function resolveIconSvg(spec, options = {}) {
153
+ const parsed = parseIconSpec(spec);
154
+ if (!parsed)
155
+ return failure(null, "invalid-spec", 400);
156
+ const cacheKey = `${parsed.spec}:${JSON.stringify(options.preserveSourceColors || false)}`;
157
+ const cached = svgMarkupCache.get(cacheKey);
158
+ if (cached)
159
+ return cached;
160
+ const index = buildPackIndex(parsed.pack, options);
161
+ if (!index)
162
+ return failure(parsed, "pack-not-found");
163
+ if (index.duplicates.has(parsed.icon))
164
+ return failure(parsed, "duplicate-icon-name", 409);
165
+ const file = index.byName.get(parsed.icon);
166
+ if (!file)
167
+ return failure(parsed, "icon-not-found");
168
+ let source = "";
169
+ try {
170
+ source = fs.readFileSync(file, "utf8");
171
+ }
172
+ catch {
173
+ return failure(parsed, "icon-not-found");
174
+ }
175
+ const svg = normalizeSvgMarkup(source, {
176
+ preserveSourceColors: shouldPreserveSourceColors(parsed.pack, options),
177
+ });
178
+ if (!svg)
179
+ return failure(parsed, "invalid-svg", 500);
180
+ const result = {
181
+ file,
182
+ icon: parsed.icon,
183
+ ok: true,
184
+ pack: parsed.pack,
185
+ spec: parsed.spec,
186
+ statusCode: "success",
187
+ svg,
188
+ };
189
+ svgMarkupCache.set(cacheKey, result);
190
+ return result;
191
+ }
192
+ function resolveIconColor(spec, options = {}) {
193
+ const parsed = parseIconSpec(spec);
194
+ if (!parsed)
195
+ return "";
196
+ if (parsed.pack === "simple-icons")
197
+ return simpleIconColor(parsed.icon, options);
198
+ const svg = resolveIconSvg(parsed.spec, options);
199
+ if (!svg.ok || !svg.file)
200
+ return "";
201
+ try {
202
+ return derivePrimarySvgColor(fs.readFileSync(svg.file, "utf8"));
203
+ }
204
+ catch {
205
+ return "";
206
+ }
207
+ }
208
+ function classifyIconColorMode(value) {
209
+ const color = normalizeHexColor(value);
210
+ if (!color)
211
+ return "";
212
+ const rgb = [color.slice(1, 3), color.slice(3, 5), color.slice(5, 7)].map((part) => parseInt(part, 16));
213
+ const spread = Math.max(...rgb) - Math.min(...rgb);
214
+ return spread <= 24 ? "monochrome" : "brand";
215
+ }
216
+ function buildRenderedIconCacheEntry(spec, options = {}) {
217
+ const parsed = parseIconSpec(spec);
218
+ if (!parsed)
219
+ return null;
220
+ const svg = resolveIconSvg(parsed.spec, options);
221
+ if (!svg.ok)
222
+ return null;
223
+ const colorValue = resolveIconColor(parsed.spec, options);
224
+ return {
225
+ colorMode: classifyIconColorMode(colorValue),
226
+ colorValue,
227
+ normalizedSpec: parsed.spec,
228
+ svg: svg.svg,
229
+ };
230
+ }
231
+ function createServerIconRenderer(cache = {}, options = {}) {
232
+ return function renderServerIcon(spec) {
233
+ const entry = buildRenderedIconCacheEntry(spec, options);
234
+ if (!entry)
235
+ return null;
236
+ cache[entry.normalizedSpec] = {
237
+ colorMode: entry.colorMode,
238
+ colorValue: entry.colorValue,
239
+ svg: entry.svg,
240
+ };
241
+ return entry;
242
+ };
243
+ }
244
+ function renderHostAttrs(attrs, parsed) {
245
+ const pairs = new Map();
246
+ const className = classNames("tbf-icon", "icon-glyph", text(attrs.class || attrs.className));
247
+ pairs.set("class", className);
248
+ pairs.set("data-tbf-icon", parsed.spec);
249
+ const label = text(attrs.label || attrs["aria-label"]);
250
+ if (label)
251
+ pairs.set("aria-label", label);
252
+ else
253
+ pairs.set("aria-hidden", "true");
254
+ for (const [keyRaw, value] of Object.entries(attrs)) {
255
+ const key = text(keyRaw);
256
+ if (!key || ["class", "className", "color", "label", "preserveSourceColors", "tag"].includes(key) || value == null || value === false) {
257
+ continue;
258
+ }
259
+ if (key === "aria-label" && label)
260
+ continue;
261
+ pairs.set(key, value === true ? true : String(value));
262
+ }
263
+ const color = text(attrs.color);
264
+ if (color)
265
+ pairs.set("style", `--tbf-icon-color: ${color}; --icon-custom-color: ${color};`);
266
+ return Array.from(pairs.entries())
267
+ .map(([key, value]) => value === true ? key : `${key}="${escapeHtml(value)}"`)
268
+ .join(" ");
269
+ }
270
+ function renderIconHtml(spec, attrs = {}, options = {}) {
271
+ const parsed = parseIconSpec(spec);
272
+ const tag = text(attrs.tag) || "i";
273
+ if (!parsed)
274
+ return `<${tag} class="tbf-icon icon-glyph" aria-hidden="true"></${tag}>`;
275
+ const svgResult = resolveIconSvg(parsed.spec, {
276
+ ...options,
277
+ preserveSourceColors: attrs.preserveSourceColors ?? options.preserveSourceColors,
278
+ });
279
+ const explicitColor = text(attrs.color);
280
+ const brandColor = explicitColor ? "" : resolveIconColor(parsed.spec, options);
281
+ const svg = svgResult.ok
282
+ ? explicitColor
283
+ ? applySvgColor(svgResult.svg, explicitColor)
284
+ : brandColor
285
+ ? applySvgColor(svgResult.svg, brandColor)
286
+ : svgResult.svg
287
+ : "";
288
+ return `<${tag} ${renderHostAttrs(attrs, parsed)}>${svg}</${tag}>`;
289
+ }
290
+ function createIconSvgResponse(spec, options = {}) {
291
+ const svgResult = resolveIconSvg(spec, options);
292
+ if (svgResult.ok !== true) {
293
+ return {
294
+ body: svgResult.statusCode,
295
+ headers: { "Content-Type": "text/plain; charset=utf-8" },
296
+ status: svgResult.status,
297
+ };
298
+ }
299
+ const color = resolveIconColor(svgResult.spec, options);
300
+ return {
301
+ body: color ? applySvgColor(svgResult.svg, color) : svgResult.svg,
302
+ headers: {
303
+ "Cache-Control": "public, max-age=3600",
304
+ "Content-Type": "image/svg+xml; charset=utf-8",
305
+ },
306
+ status: 200,
307
+ };
308
+ }
309
+ export { buildPackIndex, buildRenderedIconCacheEntry, createIconSvgResponse, createServerIconRenderer, renderIconHtml, resolveIconColor, resolveIconPackRoot, resolveIconSvg, simpleIconColor, };
310
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/icons/server/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ type ServerIconCacheEntry = {
2
+ colorMode?: string;
3
+ colorValue?: string;
4
+ normalizedSpec?: string;
5
+ svg?: string;
6
+ };
7
+ type ServerIconRenderer = (spec: string) => ServerIconCacheEntry | null | undefined;
8
+ declare function withIconServerRenderer<T>(renderer: ServerIconRenderer | null | undefined, render: () => T): T;
9
+ declare function getActiveIconServerRenderer(): ServerIconRenderer | null;
10
+ export { getActiveIconServerRenderer, withIconServerRenderer };
11
+ export type { ServerIconCacheEntry, ServerIconRenderer };
12
+ //# sourceMappingURL=server-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-context.d.ts","sourceRoot":"","sources":["../../../src/icons/server-context.ts"],"names":[],"mappings":"AAAA,KAAK,oBAAoB,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,oBAAoB,GAAG,IAAI,GAAG,SAAS,CAAC;AAYpF,iBAAS,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAStG;AAED,iBAAS,2BAA2B,IAAI,kBAAkB,GAAG,IAAI,CAEhE;AAED,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ const GLOBAL_HOLDER_KEY = Symbol.for("trebired.frontend.icon.active_server_renderer");
2
+ function activeRendererHolder() {
3
+ const holder = globalThis[GLOBAL_HOLDER_KEY];
4
+ if (holder)
5
+ return holder;
6
+ const created = { current: null };
7
+ globalThis[GLOBAL_HOLDER_KEY] = created;
8
+ return created;
9
+ }
10
+ function withIconServerRenderer(renderer, render) {
11
+ const holder = activeRendererHolder();
12
+ const previous = holder.current;
13
+ holder.current = renderer || null;
14
+ try {
15
+ return render();
16
+ }
17
+ finally {
18
+ holder.current = previous;
19
+ }
20
+ }
21
+ function getActiveIconServerRenderer() {
22
+ return activeRendererHolder().current;
23
+ }
24
+ export { getActiveIconServerRenderer, withIconServerRenderer };
25
+ //# sourceMappingURL=server-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-context.js","sourceRoot":"","sources":["../../../src/icons/server-context.ts"],"names":[],"mappings":"AASA,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;AAEtF,SAAS,oBAAoB;IAC3B,MAAM,MAAM,GAAI,UAAiF,CAAC,iBAAiB,CAAC,CAAC;IACrH,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjC,UAAiF,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC;IAChH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAI,QAA+C,EAAE,MAAe;IACjG,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,MAAM,CAAC,OAAO,GAAG,QAAQ,IAAI,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO,oBAAoB,EAAE,CAAC,OAAO,CAAC;AACxC,CAAC;AAED,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,29 @@
1
+ type IconPack = "remixicon" | "simple-icons";
2
+ type ParsedIconSpec = {
3
+ icon: string;
4
+ pack: IconPack;
5
+ spec: string;
6
+ };
7
+ declare const SUPPORTED_ICON_PACKS: IconPack[];
8
+ declare function text(value: unknown): string;
9
+ declare function normalizeSpace(value: unknown): string;
10
+ declare function normalizeIconName(value: unknown): string;
11
+ declare function normalizeIconPack(value: unknown): IconPack | "";
12
+ declare function iconSpec(pack: unknown, name: unknown): string;
13
+ declare function parseIconSpec(value: unknown): ParsedIconSpec | null;
14
+ declare function escapeHtml(value: unknown): string;
15
+ declare function normalizeHexColor(value: unknown): string;
16
+ declare function derivePrimarySvgColor(source: unknown): string;
17
+ declare function applySvgColor(svgMarkup: unknown, color: unknown, options?: {
18
+ important?: boolean;
19
+ }): string;
20
+ declare function normalizeSvgMarkup(svgMarkup: unknown, options?: {
21
+ ariaHidden?: boolean;
22
+ className?: string;
23
+ preserveSourceColors?: boolean;
24
+ }): string;
25
+ declare function buildIconUrl(spec: unknown, endpoint?: string): string;
26
+ declare function classNames(...values: Array<string | false | null | undefined>): string;
27
+ export { SUPPORTED_ICON_PACKS, applySvgColor, buildIconUrl, classNames, derivePrimarySvgColor, escapeHtml, iconSpec, normalizeHexColor, normalizeIconName, normalizeIconPack, normalizeSpace, normalizeSvgMarkup, parseIconSpec, text, };
28
+ export type { IconPack, ParsedIconSpec };
29
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/icons/shared.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAC;AAE7C,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,QAAQ,EAAkC,CAAC;AAEvE,iBAAS,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpC;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE9C;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIjD;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,EAAE,CAIxD;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAItD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI,CAmB5D;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO1C;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGjD;AAuBD,iBAAS,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAqBtD;AAED,iBAAS,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAkBxG;AAED,iBAAS,kBAAkB,CACzB,SAAS,EAAE,OAAO,EAClB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAC3B,GACL,MAAM,CAqBR;AAED,iBAAS,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,SAAiB,GAAG,MAAM,CAKtE;AAED,iBAAS,UAAU,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,CAE/E;AAED,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,IAAI,GACL,CAAC;AACF,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,151 @@
1
+ const SUPPORTED_ICON_PACKS = ["remixicon", "simple-icons"];
2
+ function text(value) {
3
+ return String(value == null ? "" : value).trim();
4
+ }
5
+ function normalizeSpace(value) {
6
+ return text(value).replace(/\s+/gu, " ");
7
+ }
8
+ function normalizeIconName(value) {
9
+ return text(value)
10
+ .replace(/\.svg$/iu, "")
11
+ .toLowerCase();
12
+ }
13
+ function normalizeIconPack(value) {
14
+ const pack = text(value).toLowerCase().replace(/_/gu, "-");
15
+ if (pack === "simpleicons")
16
+ return "simple-icons";
17
+ return SUPPORTED_ICON_PACKS.includes(pack) ? pack : "";
18
+ }
19
+ function iconSpec(pack, name) {
20
+ const normalizedPack = normalizeIconPack(pack);
21
+ const icon = normalizeIconName(name);
22
+ return normalizedPack && icon ? `${normalizedPack}:${icon}` : "";
23
+ }
24
+ function parseIconSpec(value) {
25
+ const spec = normalizeSpace(value);
26
+ if (!spec)
27
+ return null;
28
+ const colonIndex = spec.indexOf(":");
29
+ if (colonIndex > 0 && colonIndex < spec.length - 1) {
30
+ const pack = normalizeIconPack(spec.slice(0, colonIndex));
31
+ const icon = normalizeIconName(spec.slice(colonIndex + 1));
32
+ return pack && icon ? { icon, pack, spec: `${pack}:${icon}` } : null;
33
+ }
34
+ const spaceIndex = spec.indexOf(" ");
35
+ if (spaceIndex > 0 && spaceIndex < spec.length - 1) {
36
+ const pack = normalizeIconPack(spec.slice(0, spaceIndex));
37
+ const icon = normalizeIconName(spec.slice(spaceIndex + 1));
38
+ return pack && icon ? { icon, pack, spec: `${pack}:${icon}` } : null;
39
+ }
40
+ return null;
41
+ }
42
+ function escapeHtml(value) {
43
+ return String(value == null ? "" : value)
44
+ .replace(/&/gu, "&amp;")
45
+ .replace(/</gu, "&lt;")
46
+ .replace(/>/gu, "&gt;")
47
+ .replace(/"/gu, "&quot;")
48
+ .replace(/'/gu, "&#39;");
49
+ }
50
+ function normalizeHexColor(value) {
51
+ const hex = text(value).replace(/^#/u, "");
52
+ return /^[0-9a-f]{6}$/iu.test(hex) ? `#${hex}` : "";
53
+ }
54
+ function normalizeDerivedColor(value) {
55
+ const raw = text(value);
56
+ if (!raw || raw === "none" || raw === "currentColor" || raw === "transparent")
57
+ return "";
58
+ const full = normalizeHexColor(raw);
59
+ if (full)
60
+ return full;
61
+ const shortHex = raw.replace(/^#/u, "");
62
+ if (/^[0-9a-f]{3}$/iu.test(shortHex)) {
63
+ return `#${shortHex.split("").map((char) => `${char}${char}`).join("")}`;
64
+ }
65
+ const rgbMatch = raw.match(/^rgba?\(([^)]+)\)$/iu);
66
+ if (!rgbMatch)
67
+ return "";
68
+ const parts = String(rgbMatch[1] || "")
69
+ .split(",")
70
+ .map((part) => Number(String(part || "").trim()))
71
+ .slice(0, 3);
72
+ if (parts.length !== 3 || parts.some((part) => !Number.isFinite(part) || part < 0 || part > 255)) {
73
+ return "";
74
+ }
75
+ return `#${parts.map((part) => Math.round(part).toString(16).padStart(2, "0")).join("")}`;
76
+ }
77
+ function derivePrimarySvgColor(source) {
78
+ const svg = String(source || "");
79
+ if (!svg)
80
+ return "";
81
+ const counts = new Map();
82
+ const regex = /(?:fill|stroke)\s*=\s*["']([^"']+)["']|(?:fill|stroke)\s*:\s*([^;"']+)/giu;
83
+ let match = null;
84
+ while ((match = regex.exec(svg))) {
85
+ const color = normalizeDerivedColor(match[1] || match[2] || "");
86
+ if (color)
87
+ counts.set(color, (counts.get(color) || 0) + 1);
88
+ }
89
+ let winner = "";
90
+ let winnerCount = -1;
91
+ for (const [color, count] of counts.entries()) {
92
+ if (count > winnerCount) {
93
+ winner = color;
94
+ winnerCount = count;
95
+ }
96
+ }
97
+ return winner;
98
+ }
99
+ function applySvgColor(svgMarkup, color, options = {}) {
100
+ const svg = String(svgMarkup || "").trim();
101
+ const colorValue = text(color);
102
+ if (!svg || !colorValue || !/^<svg\b/iu.test(svg))
103
+ return svg;
104
+ const suffix = options.important === false ? "" : " !important";
105
+ return svg.replace(/^<svg\b([^>]*)>/iu, (_match, attrsRaw) => {
106
+ const attrs = String(attrsRaw || "");
107
+ const styleMatch = attrs.match(/\sstyle=(["'])([\s\S]*?)\1/iu);
108
+ if (!styleMatch) {
109
+ return `<svg${attrs} style="color: ${escapeHtml(colorValue)}${suffix}">`;
110
+ }
111
+ const quote = styleMatch[1];
112
+ const currentStyle = text(styleMatch[2]);
113
+ const nextStyle = currentStyle
114
+ ? `${currentStyle.replace(/;?\s*$/u, "")}; color: ${colorValue}${suffix}`
115
+ : `color: ${colorValue}${suffix}`;
116
+ return `<svg${attrs.replace(styleMatch[0], ` style=${quote}${escapeHtml(nextStyle)}${quote}`)}>`;
117
+ });
118
+ }
119
+ function normalizeSvgMarkup(svgMarkup, options = {}) {
120
+ const raw = String(svgMarkup || "")
121
+ .replace(/^\uFEFF/u, "")
122
+ .replace(/<\?xml[\s\S]*?\?>/giu, "")
123
+ .replace(/<!DOCTYPE[\s\S]*?>/giu, "")
124
+ .trim();
125
+ if (!/^<svg\b/iu.test(raw))
126
+ return "";
127
+ const openTagMatch = raw.match(/^<svg\b([^>]*)>/iu);
128
+ if (!openTagMatch)
129
+ return "";
130
+ const removableAttrs = options.preserveSourceColors
131
+ ? "width|height|role|focusable|aria-hidden|class"
132
+ : "width|height|fill|role|focusable|aria-hidden|class";
133
+ const removableAttrRx = new RegExp(`\\s(?:${removableAttrs})=("[\\s\\S]*?"|'[\\s\\S]*?'|[^\\s>]+)`, "giu");
134
+ const openTag = String(openTagMatch[1] || "").replace(removableAttrRx, "").trim();
135
+ const classAttr = options.className ? ` class="${escapeHtml(options.className)}"` : "";
136
+ const fillAttr = options.preserveSourceColors ? "" : ' fill="currentColor"';
137
+ const ariaHidden = options.ariaHidden === false ? "" : ' aria-hidden="true"';
138
+ const nextOpen = `<svg${openTag ? ` ${openTag}` : ""}${classAttr} width="1em" height="1em"${fillAttr} focusable="false"${ariaHidden}>`;
139
+ return raw.replace(/^<svg\b[^>]*>/iu, nextOpen);
140
+ }
141
+ function buildIconUrl(spec, endpoint = "/__icons/svg") {
142
+ const parsed = parseIconSpec(spec);
143
+ const normalizedSpec = parsed ? parsed.spec : normalizeSpace(spec);
144
+ const separator = endpoint.includes("?") ? "&" : "?";
145
+ return `${endpoint}${separator}spec=${encodeURIComponent(normalizedSpec)}`;
146
+ }
147
+ function classNames(...values) {
148
+ return values.filter(Boolean).join(" ");
149
+ }
150
+ export { SUPPORTED_ICON_PACKS, applySvgColor, buildIconUrl, classNames, derivePrimarySvgColor, escapeHtml, iconSpec, normalizeHexColor, normalizeIconName, normalizeIconPack, normalizeSpace, normalizeSvgMarkup, parseIconSpec, text, };
151
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/icons/shared.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,9 @@ export type { FrontendLoggingOptions, FrontendRuntimeAdapters, FrontendRuntimeBi
27
27
  export * from "./actions/index.js";
28
28
  export * from "./dom/index.js";
29
29
  export * from "./flash/index.js";
30
+ export * from "./fullscreen/index.js";
30
31
  export * from "./http/index.js";
32
+ export * from "./icons/index.js";
31
33
  export * from "./inputs/index.js";
32
34
  export * from "./layer/index.js";
33
35
  export * from "./live/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAmB,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG/E,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG9E,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAE5B,KAAK,uBAAuB,GAAG,cAAc,GAAG,sBAAsB,GAAG;IACvE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;CAClD,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAiDF,iBAAS,mBAAmB,CAC1B,IAAI,GAAE,QAAmB,EACzB,OAAO,GAAE,sBAA2B,GACnC,sBAAsB,CAgCxB;AAED,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC;AAC1C,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,CAAC;AACF,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,OAAO,EAAmB,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG/E,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAoB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG9E,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAE5B,KAAK,uBAAuB,GAAG,cAAc,GAAG,sBAAsB,GAAG;IACvE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;CAClD,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAmDF,iBAAS,mBAAmB,CAC1B,IAAI,GAAE,QAAmB,EACzB,OAAO,GAAE,sBAA2B,GACnC,sBAAsB,CAgCxB;AAED,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC;AAC1C,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,CAAC;AACF,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { bindActionButtons, bindActionForms, bindActionTriggers } from "./actions/index.js";
2
2
  import { bindInputControllers } from "./inputs/index.js";
3
+ import { bindIcons } from "./icons/index.js";
4
+ import { bindFullscreen } from "./fullscreen/index.js";
3
5
  import { bindLiveRefresh, rehydrate } from "./live/index.js";
4
6
  import { bindModals } from "./modal/index.js";
5
7
  import { bindPopovers } from "./popover/index.js";
@@ -31,6 +33,7 @@ function bindFrontendRuntimeOnce(root, options) {
31
33
  ensureLayerRoot();
32
34
  bindPortals(scope);
33
35
  bindProgress();
36
+ bindIcons(scope);
34
37
  bindInputControllers(scope, {
35
38
  flash: adapters.flash,
36
39
  logging: {
@@ -45,6 +48,7 @@ function bindFrontendRuntimeOnce(root, options) {
45
48
  bindActionTriggers(scope, { navigation: adapters.navigation });
46
49
  bindActionForms(scope, { adapters });
47
50
  bindActionButtons(scope, { adapters });
51
+ bindFullscreen(scope);
48
52
  bindLiveRefresh(scope, {
49
53
  ...(options.live || {}),
50
54
  bind(nextRoot) {
@@ -91,7 +95,9 @@ export { bindFrontendRuntime, rehydrate };
91
95
  export * from "./actions/index.js";
92
96
  export * from "./dom/index.js";
93
97
  export * from "./flash/index.js";
98
+ export * from "./fullscreen/index.js";
94
99
  export * from "./http/index.js";
100
+ export * from "./icons/index.js";
95
101
  export * from "./inputs/index.js";
96
102
  export * from "./layer/index.js";
97
103
  export * from "./live/index.js";