@zentto/studio-core 0.5.1 → 0.6.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/dist/codegen/index.d.ts +33 -0
- package/dist/codegen/index.d.ts.map +1 -0
- package/dist/codegen/index.js +70 -0
- package/dist/codegen/index.js.map +1 -0
- package/dist/codegen/utils.d.ts +16 -0
- package/dist/codegen/utils.d.ts.map +1 -0
- package/dist/codegen/utils.js +52 -0
- package/dist/codegen/utils.js.map +1 -0
- package/dist/icons/index.d.ts +2 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +3 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/icons/material-icons.d.ts +2 -0
- package/dist/icons/material-icons.d.ts.map +1 -0
- package/dist/icons/material-icons.js +122 -0
- package/dist/icons/material-icons.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/providers.d.ts +3 -2
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +23 -8
- package/dist/providers.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { StudioSchema } from '../types.js';
|
|
2
|
+
import type { AppConfig } from '../app-types.js';
|
|
3
|
+
export interface CodegenOptions {
|
|
4
|
+
/** Component name (default: derived from schema.title) */
|
|
5
|
+
componentName?: string;
|
|
6
|
+
/** Emit TypeScript (default: true) */
|
|
7
|
+
typescript?: boolean;
|
|
8
|
+
/** Add "use client" directive for Next.js (default: true) */
|
|
9
|
+
useClientDirective?: boolean;
|
|
10
|
+
/** API base URL for data sources (default: '/api') */
|
|
11
|
+
apiBaseUrl?: string;
|
|
12
|
+
/** Include TypeScript type annotations (default: true) */
|
|
13
|
+
includeTypes?: boolean;
|
|
14
|
+
/** Target framework (default: 'nextjs') */
|
|
15
|
+
framework?: 'react' | 'nextjs';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Generate a React/Next.js client component that renders a StudioSchema
|
|
19
|
+
* via <zentto-studio-renderer>.
|
|
20
|
+
*/
|
|
21
|
+
export declare function generateReactComponent(schema: StudioSchema, options?: CodegenOptions): string;
|
|
22
|
+
/**
|
|
23
|
+
* Generate a Next.js page.tsx that exports metadata and renders the
|
|
24
|
+
* schema component.
|
|
25
|
+
*/
|
|
26
|
+
export declare function generateNextPage(schema: StudioSchema, options?: CodegenOptions): string;
|
|
27
|
+
/**
|
|
28
|
+
* Generate a React/Next.js component that renders a full AppConfig
|
|
29
|
+
* via <zentto-studio-app>.
|
|
30
|
+
*/
|
|
31
|
+
export declare function generateAppPage(config: AppConfig, options?: CodegenOptions): string;
|
|
32
|
+
export { toComponentName, formatJson, escapeForJsx } from './utils.js';
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAChC;AAiBD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,CAmCR;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,CAgDR;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,CAoCR;AAGD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// @zentto/studio-core — Code generation from StudioSchema / AppConfig
|
|
2
|
+
// Generates React/Next.js components that embed the schema and use
|
|
3
|
+
// <zentto-studio-renderer> / <zentto-studio-app> web components.
|
|
4
|
+
import { toComponentName, formatJson } from './utils.js';
|
|
5
|
+
const DEFAULT_OPTIONS = {
|
|
6
|
+
componentName: '',
|
|
7
|
+
typescript: true,
|
|
8
|
+
useClientDirective: true,
|
|
9
|
+
apiBaseUrl: '/api',
|
|
10
|
+
includeTypes: true,
|
|
11
|
+
framework: 'nextjs',
|
|
12
|
+
};
|
|
13
|
+
function resolveOptions(opts) {
|
|
14
|
+
return { ...DEFAULT_OPTIONS, ...opts };
|
|
15
|
+
}
|
|
16
|
+
// ─── React Component ──────────────────────────────────────────────
|
|
17
|
+
/**
|
|
18
|
+
* Generate a React/Next.js client component that renders a StudioSchema
|
|
19
|
+
* via <zentto-studio-renderer>.
|
|
20
|
+
*/
|
|
21
|
+
export function generateReactComponent(schema, options) {
|
|
22
|
+
const o = resolveOptions(options);
|
|
23
|
+
const name = o.componentName || toComponentName(schema.title) || 'StudioForm';
|
|
24
|
+
const useClient = o.framework === 'nextjs' && o.useClientDirective;
|
|
25
|
+
const refType = o.typescript && o.includeTypes ? '<any>' : '';
|
|
26
|
+
const schemaJson = formatJson(schema, 2, 4);
|
|
27
|
+
const lines = [];
|
|
28
|
+
if (useClient)
|
|
29
|
+
lines.push('"use client";', '');
|
|
30
|
+
lines.push('import { useEffect, useState, useRef } from "react";', '', `export default function ${name}() {`, ` const [ready, setReady] = useState(false);`, ` const ref = useRef${refType}(null);`, '', ' useEffect(() => {', ' import("@zentto/studio").then(() => setReady(true));', ' }, []);', '', ' useEffect(() => {', ' if (!ready || !ref.current) return;', ` ref.current.schema = ${schemaJson};`, ' }, [ready]);', '', ' return ready', ' ? <zentto-studio-renderer ref={ref} />', ' : <div>Cargando...</div>;', '}');
|
|
31
|
+
return lines.join('\n');
|
|
32
|
+
}
|
|
33
|
+
// ─── Next.js Page ─────────────────────────────────────────────────
|
|
34
|
+
/**
|
|
35
|
+
* Generate a Next.js page.tsx that exports metadata and renders the
|
|
36
|
+
* schema component.
|
|
37
|
+
*/
|
|
38
|
+
export function generateNextPage(schema, options) {
|
|
39
|
+
const o = resolveOptions({ ...options, framework: 'nextjs', useClientDirective: true });
|
|
40
|
+
const name = o.componentName || toComponentName(schema.title) || 'StudioForm';
|
|
41
|
+
const refType = o.typescript && o.includeTypes ? '<any>' : '';
|
|
42
|
+
const metaTitle = schema.title || name;
|
|
43
|
+
const metaDesc = schema.description || `Pagina generada por Zentto Studio`;
|
|
44
|
+
const schemaJson = formatJson(schema, 2, 6);
|
|
45
|
+
const lines = [];
|
|
46
|
+
// Metadata export (server part — re-exported from client file as static)
|
|
47
|
+
lines.push('"use client";', '', 'import { useEffect, useState, useRef } from "react";', '', `// Metadata — move to a separate layout.tsx or use generateMetadata()`, `// if you need server-side metadata:`, `// export const metadata = { title: "${metaTitle}", description: "${metaDesc}" };`, '', `export default function ${name}Page() {`, ` const [ready, setReady] = useState(false);`, ` const ref = useRef${refType}(null);`, '', ' useEffect(() => {', ' import("@zentto/studio").then(() => setReady(true));', ' }, []);', '', ' useEffect(() => {', ' if (!ready || !ref.current) return;', ` ref.current.schema = ${schemaJson};`, ' }, [ready]);', '', ' return (', ' <main>', ` <h1>${metaTitle}</h1>`, ' {ready', ' ? <zentto-studio-renderer ref={ref} />', ' : <div>Cargando...</div>', ' }', ' </main>', ' );', '}');
|
|
48
|
+
return lines.join('\n');
|
|
49
|
+
}
|
|
50
|
+
// ─── App Page (AppConfig) ─────────────────────────────────────────
|
|
51
|
+
/**
|
|
52
|
+
* Generate a React/Next.js component that renders a full AppConfig
|
|
53
|
+
* via <zentto-studio-app>.
|
|
54
|
+
*/
|
|
55
|
+
export function generateAppPage(config, options) {
|
|
56
|
+
const o = resolveOptions(options);
|
|
57
|
+
const name = o.componentName
|
|
58
|
+
|| toComponentName(config.branding?.title || '') || 'StudioApp';
|
|
59
|
+
const useClient = o.framework === 'nextjs' && o.useClientDirective;
|
|
60
|
+
const refType = o.typescript && o.includeTypes ? '<any>' : '';
|
|
61
|
+
const configJson = formatJson(config, 2, 4);
|
|
62
|
+
const lines = [];
|
|
63
|
+
if (useClient)
|
|
64
|
+
lines.push('"use client";', '');
|
|
65
|
+
lines.push('import { useEffect, useState, useRef } from "react";', '', `export default function ${name}() {`, ` const [ready, setReady] = useState(false);`, ` const ref = useRef${refType}(null);`, '', ' useEffect(() => {', ' import("@zentto/studio").then(() => setReady(true));', ' }, []);', '', ' useEffect(() => {', ' if (!ready || !ref.current) return;', ` ref.current.config = ${configJson};`, ' }, [ready]);', '', ' return ready', ' ? <zentto-studio-app ref={ref} />', ' : <div>Cargando aplicacion...</div>;', '}');
|
|
66
|
+
return lines.join('\n');
|
|
67
|
+
}
|
|
68
|
+
// Re-export utilities
|
|
69
|
+
export { toComponentName, formatJson, escapeForJsx } from './utils.js';
|
|
70
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a title string to a valid PascalCase component name.
|
|
3
|
+
* "Mi Formulario" → "MiFormulario"
|
|
4
|
+
* "customer-list" → "CustomerList"
|
|
5
|
+
*/
|
|
6
|
+
export declare function toComponentName(title: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Pretty-print a JSON object with configurable indent,
|
|
9
|
+
* adding the given base indent to every line after the first.
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatJson(obj: unknown, indent?: number, baseIndent?: number): string;
|
|
12
|
+
/**
|
|
13
|
+
* Escape a string for safe embedding inside JSX/TSX.
|
|
14
|
+
*/
|
|
15
|
+
export declare function escapeForJsx(str: string): string;
|
|
16
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/codegen/utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,MAAU,EAAE,UAAU,GAAE,MAAU,GAAG,MAAM,CAQ3F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAShD"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// @zentto/studio-core — Codegen utilities
|
|
2
|
+
/**
|
|
3
|
+
* Convert a title string to a valid PascalCase component name.
|
|
4
|
+
* "Mi Formulario" → "MiFormulario"
|
|
5
|
+
* "customer-list" → "CustomerList"
|
|
6
|
+
*/
|
|
7
|
+
export function toComponentName(title) {
|
|
8
|
+
if (!title)
|
|
9
|
+
return 'StudioComponent';
|
|
10
|
+
return title
|
|
11
|
+
.replace(/[^a-zA-Z0-9\s\-_áéíóúñÁÉÍÓÚÑ]/g, '')
|
|
12
|
+
.replace(/[-_]/g, ' ')
|
|
13
|
+
.replace(/\s+/g, ' ')
|
|
14
|
+
.trim()
|
|
15
|
+
.split(' ')
|
|
16
|
+
.map(word => {
|
|
17
|
+
// Strip accents for valid JS identifiers
|
|
18
|
+
const clean = word
|
|
19
|
+
.normalize('NFD')
|
|
20
|
+
.replace(/[\u0300-\u036f]/g, '');
|
|
21
|
+
return clean.charAt(0).toUpperCase() + clean.slice(1);
|
|
22
|
+
})
|
|
23
|
+
.join('');
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Pretty-print a JSON object with configurable indent,
|
|
27
|
+
* adding the given base indent to every line after the first.
|
|
28
|
+
*/
|
|
29
|
+
export function formatJson(obj, indent = 2, baseIndent = 0) {
|
|
30
|
+
const raw = JSON.stringify(obj, null, indent);
|
|
31
|
+
if (baseIndent === 0)
|
|
32
|
+
return raw;
|
|
33
|
+
const pad = ' '.repeat(baseIndent);
|
|
34
|
+
return raw
|
|
35
|
+
.split('\n')
|
|
36
|
+
.map((line, i) => (i === 0 ? line : pad + line))
|
|
37
|
+
.join('\n');
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Escape a string for safe embedding inside JSX/TSX.
|
|
41
|
+
*/
|
|
42
|
+
export function escapeForJsx(str) {
|
|
43
|
+
return str
|
|
44
|
+
.replace(/&/g, '&')
|
|
45
|
+
.replace(/</g, '<')
|
|
46
|
+
.replace(/>/g, '>')
|
|
47
|
+
.replace(/"/g, '"')
|
|
48
|
+
.replace(/'/g, ''')
|
|
49
|
+
.replace(/{/g, '{')
|
|
50
|
+
.replace(/}/g, '}');
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/codegen/utils.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,iBAAiB,CAAC;IACrC,OAAO,KAAK;SACT,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC;SAC7C,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,yCAAyC;QACzC,MAAM,KAAK,GAAG,IAAI;aACf,SAAS,CAAC,KAAK,CAAC;aAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAY,EAAE,SAAiB,CAAC,EAAE,aAAqB,CAAC;IACjF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IACjC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,GAAG;SACP,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;SAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG;SACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-icons.d.ts","sourceRoot":"","sources":["../../src/icons/material-icons.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4HjD,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
// @zentto/studio-core — Material Design Icons (SVG inline)
|
|
2
|
+
// 80+ icons from Google Material Design Icons
|
|
3
|
+
// All SVGs: viewBox="0 0 24 24", fill="currentColor", no xmlns
|
|
4
|
+
export const MATERIAL_ICONS = {
|
|
5
|
+
// ─── Navigation ──────────────────────────────────────────────────
|
|
6
|
+
home: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/></svg>',
|
|
7
|
+
dashboard: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/></svg>',
|
|
8
|
+
menu: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>',
|
|
9
|
+
arrow_back: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>',
|
|
10
|
+
arrow_forward: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg>',
|
|
11
|
+
chevron_left: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/></svg>',
|
|
12
|
+
chevron_right: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>',
|
|
13
|
+
expand_more: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg>',
|
|
14
|
+
expand_less: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"/></svg>',
|
|
15
|
+
close: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>',
|
|
16
|
+
fullscreen: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>',
|
|
17
|
+
// ─── Actions ─────────────────────────────────────────────────────
|
|
18
|
+
add: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/></svg>',
|
|
19
|
+
edit: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1.001 1.001 0 000-1.41l-2.34-2.34a1.001 1.001 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"/></svg>',
|
|
20
|
+
delete: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"/></svg>',
|
|
21
|
+
save: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M17 3H5a2 2 0 00-2 2v14a2 2 0 002 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"/></svg>',
|
|
22
|
+
search: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>',
|
|
23
|
+
refresh: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M17.65 6.35A7.958 7.958 0 0012 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0112 18c-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/></svg>',
|
|
24
|
+
download: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M5 20h14v-2H5v2zM19 9h-4V3H9v6H5l7 7 7-7z"/></svg>',
|
|
25
|
+
upload: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M5 20h14v-2H5v2zM9 16h6v-6h4l-7-7-7 7h4v6z"/></svg>',
|
|
26
|
+
print: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"/></svg>',
|
|
27
|
+
copy: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>',
|
|
28
|
+
share: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z"/></svg>',
|
|
29
|
+
settings: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 00.12-.61l-1.92-3.32a.488.488 0 00-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 00-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.07.62-.07.94s.02.64.07.94l-2.03 1.58a.49.49 0 00-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"/></svg>',
|
|
30
|
+
filter: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/></svg>',
|
|
31
|
+
sort: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"/></svg>',
|
|
32
|
+
undo: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12.5 8c-2.65 0-5.05 1.04-6.83 2.73L3 8v9h9l-2.83-2.83A7.004 7.004 0 0119 12c0-.73-.11-1.43-.32-2.09l1.87-.79C20.84 10.27 21 11.11 21 12c0 4.97-4.03 9-9 9s-9-4.03-9-9h2c0 3.87 3.13 7 7 7s7-3.13 7-7A6.995 6.995 0 0012.5 8z"/></svg>',
|
|
33
|
+
redo: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16a8.002 8.002 0 017.6-5.5c1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"/></svg>',
|
|
34
|
+
check: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>',
|
|
35
|
+
clear: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>',
|
|
36
|
+
// ─── Content ─────────────────────────────────────────────────────
|
|
37
|
+
person: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>',
|
|
38
|
+
people: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>',
|
|
39
|
+
email: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>',
|
|
40
|
+
phone: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z"/></svg>',
|
|
41
|
+
calendar: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19a2 2 0 002 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM9 10H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2z"/></svg>',
|
|
42
|
+
clock: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>',
|
|
43
|
+
attach_file: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5a2.5 2.5 0 015 0v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5a2.5 2.5 0 005 0V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"/></svg>',
|
|
44
|
+
image: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"/></svg>',
|
|
45
|
+
description: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"/></svg>',
|
|
46
|
+
folder: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"/></svg>',
|
|
47
|
+
cloud: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19.35 10.04A7.49 7.49 0 0012 4C9.11 4 6.6 5.64 5.35 8.04A5.994 5.994 0 000 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"/></svg>',
|
|
48
|
+
notifications: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2zm-2 1H8v-6c0-2.48 1.51-4.5 4-4.5s4 2.02 4 4.5v6z"/></svg>',
|
|
49
|
+
star: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/></svg>',
|
|
50
|
+
favorite: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>',
|
|
51
|
+
bookmark: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z"/></svg>',
|
|
52
|
+
flag: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z"/></svg>',
|
|
53
|
+
label: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16z"/></svg>',
|
|
54
|
+
// ─── Data ────────────────────────────────────────────────────────
|
|
55
|
+
chart: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M3.5 18.49l6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"/></svg>',
|
|
56
|
+
bar_chart: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M5 9.2h3V19H5zM10.6 5h2.8v14h-2.8zm5.6 8H19v6h-2.8z"/></svg>',
|
|
57
|
+
pie_chart: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M11 2v20c-5.07-.5-9-4.79-9-10s3.93-9.5 9-10zm2.03 0v8.99H22c-.47-4.74-4.24-8.52-8.97-8.99zm0 11.01V22c4.74-.47 8.5-4.25 8.97-8.99h-8.97z"/></svg>',
|
|
58
|
+
trending_up: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M16 6l2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z"/></svg>',
|
|
59
|
+
trending_down: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M16 18l2.29-2.29-4.88-4.88-4 4L2 7.41 3.41 6l6 6 4-4 6.3 6.29L22 12v6z"/></svg>',
|
|
60
|
+
analytics: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/></svg>',
|
|
61
|
+
table_chart: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H4c-1.1 0-2 .9-2 2v3h20V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"/></svg>',
|
|
62
|
+
grid_view: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M3 3v8h8V3H3zm6 6H5V5h4v4zm-6 4v8h8v-8H3zm6 6H5v-4h4v4zm4-16v8h8V3h-8zm6 6h-4V5h4v4zm-6 4v8h8v-8h-8zm6 6h-4v-4h4v4z"/></svg>',
|
|
63
|
+
list: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z"/></svg>',
|
|
64
|
+
view_module: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M4 11h5V5H4v6zm0 7h5v-6H4v6zm6 0h5v-6h-5v6zm6 0h5v-6h-5v6zm-6-7h5V5h-5v6zm6-6v6h5V5h-5z"/></svg>',
|
|
65
|
+
// ─── Commerce ────────────────────────────────────────────────────
|
|
66
|
+
shopping_cart: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49A1.003 1.003 0 0020 4H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"/></svg>',
|
|
67
|
+
store: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20 4H4v2h16V4zm1 10v-2l-1-5H4l-1 5v2h1v6h10v-6h4v6h2v-6h1zm-9 4H6v-4h6v4z"/></svg>',
|
|
68
|
+
payment: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z"/></svg>',
|
|
69
|
+
receipt: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M18 17H6v-2h12v2zm0-4H6v-2h12v2zm0-4H6V7h12v2zM3 22l1.5-1.5L6 22l1.5-1.5L9 22l1.5-1.5L12 22l1.5-1.5L15 22l1.5-1.5L18 22l1.5-1.5L21 22V2l-1.5 1.5L18 2l-1.5 1.5L15 2l-1.5 1.5L12 2l-1.5 1.5L9 2 7.5 3.5 6 2 4.5 3.5 3 2v20z"/></svg>',
|
|
70
|
+
inventory: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20 2H4c-1 0-2 .9-2 2v3.01c0 .72.43 1.34 1 1.69V20c0 1.1 1.1 2 2 2h14c.9 0 2-.9 2-2V8.7c.57-.35 1-.97 1-1.69V4c0-1.1-1-2-2-2zm-5 12H9v-2h6v2zm5-7H4V4h16v3z"/></svg>',
|
|
71
|
+
local_shipping: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm13.5-9l1.96 2.5H17V9.5h2.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"/></svg>',
|
|
72
|
+
category: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 2l-5.5 9h11L12 2zm0 3.84L13.93 9h-3.87L12 5.84zM17.5 13c-2.49 0-4.5 2.01-4.5 4.5s2.01 4.5 4.5 4.5 4.5-2.01 4.5-4.5-2.01-4.5-4.5-4.5zm0 7a2.5 2.5 0 010-5 2.5 2.5 0 010 5zM3 21.5h8v-8H3v8zm2-6h4v4H5v-4z"/></svg>',
|
|
73
|
+
// ─── Status ──────────────────────────────────────────────────────
|
|
74
|
+
check_circle: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>',
|
|
75
|
+
error: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg>',
|
|
76
|
+
warning: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg>',
|
|
77
|
+
info: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/></svg>',
|
|
78
|
+
help: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"/></svg>',
|
|
79
|
+
visibility: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>',
|
|
80
|
+
visibility_off: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 001 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"/></svg>',
|
|
81
|
+
lock: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"/></svg>',
|
|
82
|
+
lock_open: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"/></svg>',
|
|
83
|
+
// ─── Layout ──────────────────────────────────────────────────────
|
|
84
|
+
view_sidebar: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M2 4v16h20V4H2zm6 14H4V6h4v12zm12 0H10V6h10v12z"/></svg>',
|
|
85
|
+
view_column: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M10 18h5V5h-5v13zm-6 0h5V5H4v13zM16 5v13h5V5h-5z"/></svg>',
|
|
86
|
+
tab: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h10v4h8v10z"/></svg>',
|
|
87
|
+
widgets: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M13 13v8h8v-8h-8zM3 21h8v-8H3v8zM3 3v8h8V3H3zm13.66-1.31L11 7.34 16.66 13l5.66-5.66-5.66-5.65z"/></svg>',
|
|
88
|
+
apps: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"/></svg>',
|
|
89
|
+
extension: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5S21.88 11 20.5 11z"/></svg>',
|
|
90
|
+
code: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"/></svg>',
|
|
91
|
+
palette: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.21-.64-1.67a.528.528 0 01-.13-.33c0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9zm-5.5 9c-.83 0-1.5-.67-1.5-1.5S5.67 8 6.5 8 8 8.67 8 9.5 7.33 11 6.5 11zm3-4C8.67 7 8 6.33 8 5.5S8.67 4 9.5 4s1.5.67 1.5 1.5S10.33 7 9.5 7zm5 0c-.83 0-1.5-.67-1.5-1.5S13.67 4 14.5 4s1.5.67 1.5 1.5S15.33 7 14.5 7zm3 4c-.83 0-1.5-.67-1.5-1.5S16.67 8 17.5 8s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"/></svg>',
|
|
92
|
+
// ─── Aliases (map existing BUILTIN_ICONS names to material) ────
|
|
93
|
+
cancel: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"/></svg>',
|
|
94
|
+
success: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/></svg>',
|
|
95
|
+
loading: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46A7.93 7.93 0 0020 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74A7.93 7.93 0 004 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"/></svg>',
|
|
96
|
+
user: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>',
|
|
97
|
+
users: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z"/></svg>',
|
|
98
|
+
company: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z"/></svg>',
|
|
99
|
+
map: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM15 19l-6-2.11V5l6 2.11V19z"/></svg>',
|
|
100
|
+
location: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 010-5 2.5 2.5 0 010 5z"/></svg>',
|
|
101
|
+
invoice: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"/></svg>',
|
|
102
|
+
order: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"/></svg>',
|
|
103
|
+
product: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20 2H4c-1 0-2 .9-2 2v3.01c0 .72.43 1.34 1 1.69V20c0 1.1 1.1 2 2 2h14c.9 0 2-.9 2-2V8.7c.57-.35 1-.97 1-1.69V4c0-1.1-1-2-2-2zm-5 12H9v-2h6v2zm5-7H4V4h16v3z"/></svg>',
|
|
104
|
+
cart: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49A1.003 1.003 0 0020 4H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"/></svg>',
|
|
105
|
+
money: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z"/></svg>',
|
|
106
|
+
bank: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M4 10v7h3v-7H4zm6 0v7h3v-7h-3zM2 22h19v-3H2v3zm14-12v7h3v-7h-3zm-4.5-9L2 6v2h19V6l-9.5-5z"/></svg>',
|
|
107
|
+
report: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/></svg>',
|
|
108
|
+
file: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"/></svg>',
|
|
109
|
+
heart: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>',
|
|
110
|
+
tag: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/></svg>',
|
|
111
|
+
unlock: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"/></svg>',
|
|
112
|
+
eye: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>',
|
|
113
|
+
notification: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 22c1.1 0 2-.9 2-2h-4c0 1.1.89 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2zm-2 1H8v-6c0-2.48 1.51-4.5 4-4.5s4 2.02 4 4.5v6z"/></svg>',
|
|
114
|
+
link: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>',
|
|
115
|
+
arrowUp: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"/></svg>',
|
|
116
|
+
arrowDown: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"/></svg>',
|
|
117
|
+
arrowLeft: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>',
|
|
118
|
+
arrowRight: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg>',
|
|
119
|
+
chevronDown: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"/></svg>',
|
|
120
|
+
chevronUp: '<svg viewBox="0 0 24 24" fill="currentColor" width="24" height="24"><path d="M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"/></svg>',
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=material-icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"material-icons.js","sourceRoot":"","sources":["../../src/icons/material-icons.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export { resolveFlavor, applyFlavor, applyFlavorToSchema, } from './persistence/
|
|
|
21
21
|
export type { NavItem, NavItemKind, PageConfig, PageContentType, GridPageConfig, GridColumnDef, CrudConfig, ReportPageConfig, CardsPageConfig, CardItem, TabsPageConfig, SplitPageConfig, ChartPageConfig, BrandingConfig, UserContext, AppConfig, NotificationConfig, } from './app-types.js';
|
|
22
22
|
export { TEMPLATE_BLANK, TEMPLATE_CRM, TEMPLATE_ECOMMERCE, TEMPLATE_HR, APP_TEMPLATES, getAppTemplate, listAppTemplates, } from './templates/app-templates.js';
|
|
23
23
|
export type { AppTemplateId } from './templates/app-templates.js';
|
|
24
|
+
export { generateReactComponent, generateNextPage, generateAppPage, toComponentName, formatJson, escapeForJsx, } from './codegen/index.js';
|
|
25
|
+
export type { CodegenOptions } from './codegen/index.js';
|
|
24
26
|
export type { IconResolver, ComponentResolver, PageRenderer, ActionHandler, DataFetcher, NotificationHandler, ConfirmHandler, StudioProvider, } from './providers.js';
|
|
25
27
|
export { DEFAULT_PROVIDER, mergeProviders, resolveIcon } from './providers.js';
|
|
26
28
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -28,5 +28,7 @@ export { saveSchemaLocal, loadSchemaLocal, deleteSchemaLocal, listSchemasLocal,
|
|
|
28
28
|
export { resolveFlavor, applyFlavor, applyFlavorToSchema, } from './persistence/flavor-manager.js';
|
|
29
29
|
// App templates
|
|
30
30
|
export { TEMPLATE_BLANK, TEMPLATE_CRM, TEMPLATE_ECOMMERCE, TEMPLATE_HR, APP_TEMPLATES, getAppTemplate, listAppTemplates, } from './templates/app-templates.js';
|
|
31
|
+
// Code generation
|
|
32
|
+
export { generateReactComponent, generateNextPage, generateAppPage, toComponentName, formatJson, escapeForJsx, } from './codegen/index.js';
|
|
31
33
|
export { DEFAULT_PROVIDER, mergeProviders, resolveIcon } from './providers.js';
|
|
32
34
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAmBnC,oBAAoB;AACpB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,eAAe;AACf,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC,aAAa;AACb,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,cAAc;AACd,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,gBAAgB;AAChB,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,2BAA2B,CAAC;AAGnC,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,SAAS;AACT,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO;AACP,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEzE,eAAe;AACf,OAAO,EACL,mBAAmB,EACnB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,eAAe,EACf,UAAU,GACX,MAAM,4BAA4B,CAAC;AAEpC,cAAc;AACd,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAGvC,UAAU;AACV,OAAO,EACL,aAAa,EACb,WAAW,EACX,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAczC,gBAAgB;AAChB,OAAO,EACL,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAC7D,aAAa,EAAE,cAAc,EAAE,gBAAgB,GAChD,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAmBnC,oBAAoB;AACpB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,eAAe;AACf,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,GACb,MAAM,0BAA0B,CAAC;AAElC,aAAa;AACb,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,cAAc;AACd,OAAO,EACL,aAAa,EACb,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,gBAAgB;AAChB,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,2BAA2B,CAAC;AAGnC,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,iBAAiB;AACjB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,SAAS;AACT,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAGjC,OAAO;AACP,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEzE,eAAe;AACf,OAAO,EACL,mBAAmB,EACnB,YAAY,GACb,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,eAAe,EACf,UAAU,GACX,MAAM,4BAA4B,CAAC;AAEpC,cAAc;AACd,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAGvC,UAAU;AACV,OAAO,EACL,aAAa,EACb,WAAW,EACX,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAczC,gBAAgB;AAChB,OAAO,EACL,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAC7D,aAAa,EAAE,cAAc,EAAE,gBAAgB,GAChD,MAAM,8BAA8B,CAAC;AAGtC,kBAAkB;AAClB,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/providers.d.ts
CHANGED
|
@@ -121,8 +121,9 @@ export declare function mergeProviders(...providers: (StudioProvider | undefined
|
|
|
121
121
|
/**
|
|
122
122
|
* Resolve an icon name using the provider chain:
|
|
123
123
|
* 1. Provider's resolveIcon (MUI, FontAwesome, etc.)
|
|
124
|
-
* 2.
|
|
125
|
-
* 3.
|
|
124
|
+
* 2. Material Design SVG icons (built-in)
|
|
125
|
+
* 3. Emoji fallback
|
|
126
|
+
* 4. Raw string passthrough (emoji/text/SVG)
|
|
126
127
|
*/
|
|
127
128
|
export declare function resolveIcon(name: string | undefined, provider?: StudioProvider, props?: {
|
|
128
129
|
size?: number;
|
package/dist/providers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/dist/providers.js
CHANGED
|
@@ -19,7 +19,9 @@ export function mergeProviders(...providers) {
|
|
|
19
19
|
return merged;
|
|
20
20
|
}
|
|
21
21
|
// ─── Icon resolution with fallback chain ──────────────────────────
|
|
22
|
-
|
|
22
|
+
import { MATERIAL_ICONS } from './icons';
|
|
23
|
+
/** Emoji fallback map for environments that cannot render SVG */
|
|
24
|
+
const EMOJI_FALLBACK = {
|
|
23
25
|
// Navigation
|
|
24
26
|
home: '🏠', dashboard: '📊', settings: '⚙️', search: '🔍', menu: '☰',
|
|
25
27
|
// Actions
|
|
@@ -43,22 +45,35 @@ const BUILTIN_ICONS = {
|
|
|
43
45
|
/**
|
|
44
46
|
* Resolve an icon name using the provider chain:
|
|
45
47
|
* 1. Provider's resolveIcon (MUI, FontAwesome, etc.)
|
|
46
|
-
* 2.
|
|
47
|
-
* 3.
|
|
48
|
+
* 2. Material Design SVG icons (built-in)
|
|
49
|
+
* 3. Emoji fallback
|
|
50
|
+
* 4. Raw string passthrough (emoji/text/SVG)
|
|
48
51
|
*/
|
|
49
52
|
export function resolveIcon(name, provider, props) {
|
|
50
53
|
if (!name)
|
|
51
54
|
return '';
|
|
52
|
-
// 1. Try provider
|
|
55
|
+
// 1. Try provider (host app's MUI, FontAwesome, custom SVGs)
|
|
53
56
|
if (provider?.resolveIcon) {
|
|
54
57
|
const result = provider.resolveIcon(name, props);
|
|
55
58
|
if (result)
|
|
56
59
|
return result;
|
|
57
60
|
}
|
|
58
|
-
// 2. Built-in
|
|
59
|
-
if (name in
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
// 2. Built-in Material Design SVG icons
|
|
62
|
+
if (name in MATERIAL_ICONS) {
|
|
63
|
+
let svg = MATERIAL_ICONS[name];
|
|
64
|
+
// Apply size/color props if provided
|
|
65
|
+
if (props?.size) {
|
|
66
|
+
svg = svg.replace(/width="24"/, `width="${props.size}"`).replace(/height="24"/, `height="${props.size}"`);
|
|
67
|
+
}
|
|
68
|
+
if (props?.color) {
|
|
69
|
+
svg = svg.replace(/fill="currentColor"/, `fill="${props.color}"`);
|
|
70
|
+
}
|
|
71
|
+
return svg;
|
|
72
|
+
}
|
|
73
|
+
// 3. Emoji fallback
|
|
74
|
+
if (name in EMOJI_FALLBACK)
|
|
75
|
+
return EMOJI_FALLBACK[name];
|
|
76
|
+
// 4. Passthrough (emoji, SVG string, or text)
|
|
62
77
|
return name;
|
|
63
78
|
}
|
|
64
79
|
//# sourceMappingURL=providers.js.map
|
package/dist/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,wEAAwE;AACxE,qEAAqE;AACrE,uDAAuD;AA+IvD,qEAAqE;AAErE,MAAM,CAAC,MAAM,gBAAgB,GAAmB,EAAE,CAAC;AAEnD,qEAAqE;AAErE,MAAM,UAAU,cAAc,CAAC,GAAG,SAAyC;IACzE,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzB,4BAA4B;QAC5B,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,CAAC,YAAY,GAAG,EAAE,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qEAAqE;AAErE,MAAM,
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zentto/studio-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Core logic engine for Zentto Studio — runtime UI builder. Schema validation, expression engine, data binding, and rule evaluation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|