@shadow-library/ui 0.1.0 → 0.1.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.
Files changed (80) hide show
  1. package/components/AppLayout/AppLayout.d.ts +9 -7
  2. package/components/AppLayout/AppLayout.js +28 -22
  3. package/components/AppLayout/AppLayout.js.map +1 -1
  4. package/components/AppLayout/AppLayout.module.css.js +4 -0
  5. package/components/AppLayout/AppLayout.module.css.js.map +1 -0
  6. package/components/AppLayout/ContentFooter.d.ts +3 -4
  7. package/components/AppLayout/ContentFooter.js +10 -15
  8. package/components/AppLayout/ContentFooter.js.map +1 -1
  9. package/components/AppLayout/SideNavbar.d.ts +8 -8
  10. package/components/AppLayout/SideNavbar.js +41 -17
  11. package/components/AppLayout/SideNavbar.js.map +1 -1
  12. package/components/AppLayout/SideNavbarGroup.d.ts +19 -0
  13. package/components/AppLayout/SideNavbarGroup.js +16 -0
  14. package/components/AppLayout/SideNavbarGroup.js.map +1 -0
  15. package/components/AppLayout/SideNavbarItem.d.ts +8 -3
  16. package/components/AppLayout/SideNavbarItem.js +71 -28
  17. package/components/AppLayout/SideNavbarItem.js.map +1 -1
  18. package/components/AppLayout/TopNavbar.d.ts +7 -3
  19. package/components/AppLayout/TopNavbar.js +37 -18
  20. package/components/AppLayout/TopNavbar.js.map +1 -1
  21. package/components/AppLayout/app-layout.utils.d.ts +14 -0
  22. package/components/AppLayout/app-layout.utils.js +6 -0
  23. package/components/AppLayout/app-layout.utils.js.map +1 -0
  24. package/components/AppLayout/hooks/use-active-nav-label.d.ts +2 -0
  25. package/components/AppLayout/hooks/use-active-nav-label.js +29 -0
  26. package/components/AppLayout/hooks/use-active-nav-label.js.map +1 -0
  27. package/components/AppLayout/hooks/use-layout-state.js +11 -13
  28. package/components/AppLayout/hooks/use-layout-state.js.map +1 -1
  29. package/components/AppLayout/hooks/use-side-navbar-item.d.ts +4 -4
  30. package/components/AppLayout/hooks/use-side-navbar-item.js +21 -32
  31. package/components/AppLayout/hooks/use-side-navbar-item.js.map +1 -1
  32. package/components/AppLayout/index.d.ts +1 -1
  33. package/components/AppLayout/layout.types.d.ts +9 -9
  34. package/components/Logo/Alphabets.d.ts +2 -7
  35. package/components/Logo/Alphabets.js +119 -31
  36. package/components/Logo/Alphabets.js.map +1 -1
  37. package/components/Logo/BrandMark.js +38 -16
  38. package/components/Logo/BrandMark.js.map +1 -1
  39. package/components/Logo/Logo.js +17 -13
  40. package/components/Logo/Logo.js.map +1 -1
  41. package/components/Logo/Logo.module.css.js +4 -0
  42. package/components/Logo/Logo.module.css.js.map +1 -0
  43. package/components/Logo/hooks/use-logo.js +13 -15
  44. package/components/Logo/hooks/use-logo.js.map +1 -1
  45. package/hooks/useSearchParams.js +16 -19
  46. package/hooks/useSearchParams.js.map +1 -1
  47. package/index.d.ts +6 -4
  48. package/index.js +10 -5
  49. package/index.js.map +1 -1
  50. package/lib/api-error.js +16 -20
  51. package/lib/api-error.js.map +1 -1
  52. package/lib/api-request.d.ts +2 -2
  53. package/lib/api-request.js +105 -117
  54. package/lib/api-request.js.map +1 -1
  55. package/lib/generate-api.js +193 -230
  56. package/lib/generate-api.js.map +1 -1
  57. package/lib/utils.js +5 -21
  58. package/lib/utils.js.map +1 -1
  59. package/package.json +22 -4
  60. package/styles/AppLayout.module.css +82 -0
  61. package/styles/Logo.module.css +51 -0
  62. package/styles.css +2 -0
  63. package/styles.css.map +1 -0
  64. package/styles.layer.css +4 -0
  65. package/theme.d.ts +6 -6
  66. package/theme.js +111 -114
  67. package/theme.js.map +1 -1
  68. package/types.d.ts +1 -0
  69. package/components/AppLayout/index.js +0 -3
  70. package/components/AppLayout/index.js.map +0 -1
  71. package/components/AppLayout/layout.types.js +0 -2
  72. package/components/AppLayout/layout.types.js.map +0 -1
  73. package/components/Logo/index.js +0 -3
  74. package/components/Logo/index.js.map +0 -1
  75. package/hooks/index.js +0 -2
  76. package/hooks/index.js.map +0 -1
  77. package/lib/index.js +0 -5
  78. package/lib/index.js.map +0 -1
  79. package/types.js +0 -5
  80. package/types.js.map +0 -1
@@ -1,259 +1,222 @@
1
- /**
2
- * Importing npm packages
3
- */
4
- /**
5
- * Declaring the constants
6
- */
7
- const HTTP_METHODS = ['get', 'post', 'put', 'patch', 'delete'];
1
+ const IMPORT_STATEMENT_PLACEHOLDER = "<IMPORT_STATEMENT_PLACEHOLDER>";
2
+ const HTTP_METHODS = ["get", "post", "put", "patch", "delete"];
8
3
  function isRef(obj) {
9
- return typeof obj === 'object' && obj !== null && '$ref' in obj;
4
+ return typeof obj === "object" && obj !== null && "$ref" in obj;
10
5
  }
11
6
  function resolveRefName(ref) {
12
- return ref.split('/').pop();
7
+ return ref.split("/").pop();
13
8
  }
14
9
  function resolveRef(ref, spec) {
15
- const segments = ref.replace(/^#\//, '').split('/');
16
- let current = spec;
17
- for (const segment of segments)
18
- current = current[segment];
19
- return current;
10
+ const segments = ref.replace(/^#\//, "").split("/");
11
+ let current = spec;
12
+ for (const segment of segments) current = current[segment];
13
+ return current;
20
14
  }
21
15
  function toCamelCase(str) {
22
- return str
23
- .trim()
24
- .split(/[^a-zA-Z0-9]+/)
25
- .filter(Boolean)
26
- .map((word, i) => (i === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()))
27
- .join('');
16
+ return str.trim().split(/[^a-zA-Z0-9]+/).filter(Boolean).map((word, i) => i === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join("");
28
17
  }
29
18
  function toPascalCase(str) {
30
- return str
31
- .trim()
32
- .split(/[^a-zA-Z0-9]+/)
33
- .filter(Boolean)
34
- .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
35
- .join('');
19
+ return str.trim().split(/[^a-zA-Z0-9]+/).filter(Boolean).map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join("");
36
20
  }
37
21
  function schemaToTs(schema, spec) {
38
- if (isRef(schema))
39
- return resolveRefName(schema.$ref);
40
- if (schema.allOf) {
41
- const types = schema.allOf.map(s => schemaToTs(s, spec));
42
- return types.length === 1 ? types[0] : types.join(' & ');
22
+ if (isRef(schema)) return resolveRefName(schema.$ref);
23
+ if (schema.allOf) {
24
+ const types = schema.allOf.map((s) => schemaToTs(s));
25
+ return types.length === 1 ? types[0] : types.join(" & ");
26
+ }
27
+ if (schema.oneOf) {
28
+ const types = schema.oneOf.map((s) => schemaToTs(s));
29
+ return types.length === 1 ? types[0] : types.join(" | ");
30
+ }
31
+ if (schema.anyOf) {
32
+ const types = schema.anyOf.map((s) => schemaToTs(s));
33
+ return types.length === 1 ? types[0] : types.join(" | ");
34
+ }
35
+ if (schema.enum) {
36
+ return schema.enum.map((v) => typeof v === "string" ? `'${v}'` : String(v)).join(" | ");
37
+ }
38
+ let type = schema.type;
39
+ let nullable = schema.nullable === true;
40
+ if (Array.isArray(type)) {
41
+ nullable = nullable || type.includes("null");
42
+ type = type.find((t) => t !== "null");
43
+ }
44
+ let result;
45
+ switch (type) {
46
+ case "string": {
47
+ result = "string";
48
+ break;
43
49
  }
44
- if (schema.oneOf) {
45
- const types = schema.oneOf.map(s => schemaToTs(s, spec));
46
- return types.length === 1 ? types[0] : types.join(' | ');
50
+ case "integer":
51
+ case "number": {
52
+ result = "number";
53
+ break;
47
54
  }
48
- if (schema.anyOf) {
49
- const types = schema.anyOf.map(s => schemaToTs(s, spec));
50
- return types.length === 1 ? types[0] : types.join(' | ');
55
+ case "boolean": {
56
+ result = "boolean";
57
+ break;
51
58
  }
52
- if (schema.enum) {
53
- return schema.enum.map(v => (typeof v === 'string' ? `'${v}'` : String(v))).join(' | ');
59
+ case "array": {
60
+ result = schema.items ? `Array<${schemaToTs(schema.items)}>` : "Array<unknown>";
61
+ break;
54
62
  }
55
- let type = schema.type;
56
- let nullable = schema.nullable === true;
57
- if (Array.isArray(type)) {
58
- nullable = nullable || type.includes('null');
59
- type = type.find(t => t !== 'null');
60
- }
61
- let result;
62
- switch (type) {
63
- case 'string': {
64
- result = 'string';
65
- break;
66
- }
67
- case 'integer':
68
- case 'number': {
69
- result = 'number';
70
- break;
71
- }
72
- case 'boolean': {
73
- result = 'boolean';
74
- break;
75
- }
76
- case 'array': {
77
- result = schema.items ? `Array<${schemaToTs(schema.items, spec)}>` : 'Array<unknown>';
78
- break;
79
- }
80
- case 'object': {
81
- if (schema.properties) {
82
- const req = new Set(schema.required ?? []);
83
- const props = Object.entries(schema.properties).map(([key, val]) => ` ${key}${req.has(key) ? '' : '?'}: ${schemaToTs(val, spec)};`);
84
- if (schema.additionalProperties) {
85
- const vt = typeof schema.additionalProperties === 'boolean' ? 'unknown' : schemaToTs(schema.additionalProperties, spec);
86
- props.push(` [key: string]: ${vt};`);
87
- }
88
- result = `{\n${props.join('\n')}\n}`;
89
- }
90
- else if (schema.additionalProperties) {
91
- const vt = typeof schema.additionalProperties === 'boolean' ? 'unknown' : schemaToTs(schema.additionalProperties, spec);
92
- result = `Record<string, ${vt}>`;
93
- }
94
- else
95
- result = 'Record<string, unknown>';
96
- break;
97
- }
98
- default: {
99
- result = 'unknown';
63
+ case "object": {
64
+ if (schema.properties) {
65
+ const req = new Set(schema.required ?? []);
66
+ const props = Object.entries(schema.properties).map(([key, val]) => ` ${key}${req.has(key) ? "" : "?"}: ${schemaToTs(val)};`);
67
+ if (schema.additionalProperties) {
68
+ const vt = typeof schema.additionalProperties === "boolean" ? "unknown" : schemaToTs(schema.additionalProperties);
69
+ props.push(` [key: string]: ${vt};`);
100
70
  }
71
+ result = `{
72
+ ${props.join("\n")}
73
+ }`;
74
+ } else if (schema.additionalProperties) {
75
+ const vt = typeof schema.additionalProperties === "boolean" ? "unknown" : schemaToTs(schema.additionalProperties);
76
+ result = `Record<string, ${vt}>`;
77
+ } else result = "JsonObject";
78
+ break;
101
79
  }
102
- return nullable ? `${result} | null` : result;
80
+ default: {
81
+ result = "unknown";
82
+ }
83
+ }
84
+ return nullable ? `${result} | null` : result;
103
85
  }
104
86
  function collectTypes(spec) {
105
- const schemas = spec.components?.schemas;
106
- if (!schemas)
107
- return '';
108
- const lines = [];
109
- for (const [name, schema] of Object.entries(schemas)) {
110
- if (isRef(schema)) {
111
- lines.push(`export type ${name} = ${resolveRefName(schema.$ref)};`);
112
- lines.push('');
113
- continue;
114
- }
115
- if (schema.type === 'object' && schema.properties && !schema.allOf && !schema.oneOf && !schema.anyOf) {
116
- const req = new Set(schema.required ?? []);
117
- const props = Object.entries(schema.properties).map(([key, val]) => ` ${key}${req.has(key) ? '' : '?'}: ${schemaToTs(val, spec)};`);
118
- if (schema.additionalProperties) {
119
- const vt = typeof schema.additionalProperties === 'boolean' ? 'unknown' : schemaToTs(schema.additionalProperties, spec);
120
- props.push(` [key: string]: ${vt};`);
121
- }
122
- lines.push(`export interface ${name} {\n${props.join('\n')}\n}`);
123
- }
124
- else
125
- lines.push(`export type ${name} = ${schemaToTs(schema, spec)};`);
126
- lines.push('');
87
+ const schemas = spec.components?.schemas;
88
+ if (!schemas) return "";
89
+ const lines = [];
90
+ for (const [name, schema] of Object.entries(schemas)) {
91
+ if (isRef(schema)) {
92
+ lines.push(`export type ${name} = ${resolveRefName(schema.$ref)};`);
93
+ lines.push("");
94
+ continue;
127
95
  }
128
- return lines.join('\n');
96
+ if (schema.type === "object" && schema.properties && !schema.allOf && !schema.oneOf && !schema.anyOf) {
97
+ const req = new Set(schema.required ?? []);
98
+ const props = Object.entries(schema.properties).map(([key, val]) => ` ${key}${req.has(key) ? "" : "?"}: ${schemaToTs(val)};`);
99
+ if (schema.additionalProperties) {
100
+ const vt = typeof schema.additionalProperties === "boolean" ? "unknown" : schemaToTs(schema.additionalProperties);
101
+ props.push(` [key: string]: ${vt};`);
102
+ }
103
+ lines.push(`export type ${name} = {
104
+ ${props.join("\n")}
105
+ };`);
106
+ } else lines.push(`export type ${name} = ${schemaToTs(schema)};`);
107
+ lines.push("");
108
+ }
109
+ return lines.join("\n");
129
110
  }
130
111
  function resolveParameter(param, spec) {
131
- return isRef(param) ? resolveRef(param.$ref, spec) : param;
112
+ return isRef(param) ? resolveRef(param.$ref, spec) : param;
132
113
  }
133
114
  function generateEndpoint(path, method, operation, pathLevelParams, spec) {
134
- const types = [];
135
- let hasBody = false;
136
- // Function name
137
- const summary = operation.summary ?? operation.operationId ?? `${method} ${path}`;
138
- const funcName = toCamelCase(summary);
139
- const pascalName = toPascalCase(summary);
140
- // Merge parameters (operation-level overrides path-level for same name+in)
141
- const allParams = [...pathLevelParams, ...(operation.parameters ?? [])].map(p => resolveParameter(p, spec));
142
- const paramMap = new Map();
143
- for (const param of allParams)
144
- paramMap.set(`${param.in}:${param.name}`, param);
145
- const params = Array.from(paramMap.values());
146
- // Path params sorted by URL appearance
147
- const pathParams = params.filter(p => p.in === 'path');
148
- const pathParamOrder = [...path.matchAll(/\{(\w+)\}/g)].map(m => m[1]);
149
- pathParams.sort((a, b) => pathParamOrder.indexOf(a.name) - pathParamOrder.indexOf(b.name));
150
- // Query params
151
- const queryParams = params.filter(p => p.in === 'query');
152
- let queryTypeName;
153
- if (queryParams.length > 0) {
154
- queryTypeName = `${pascalName}Query`;
155
- const props = queryParams.map(p => {
156
- const originalType = p.schema ? schemaToTs(p.schema, spec) : 'unknown';
157
- const tsType = originalType === 'string' ? 'string | undefined' : `string | ${originalType} | undefined`;
158
- return ` ${p.name}?: ${tsType};`;
159
- });
160
- types.push(`export interface ${queryTypeName} extends QueryParams {\n${props.join('\n')}\n}`);
161
- }
162
- // Request body
163
- let bodyTypeName;
164
- if (operation.requestBody) {
165
- const reqBody = isRef(operation.requestBody) ? resolveRef(operation.requestBody.$ref, spec) : operation.requestBody;
166
- const jsonSchema = reqBody.content?.['application/json']?.schema;
167
- if (jsonSchema) {
168
- hasBody = true;
169
- if (isRef(jsonSchema))
170
- bodyTypeName = resolveRefName(jsonSchema.$ref);
171
- else {
172
- bodyTypeName = `${pascalName}Body`;
173
- if (jsonSchema.type === 'object' && jsonSchema.properties && !jsonSchema.allOf && !jsonSchema.oneOf && !jsonSchema.anyOf) {
174
- const req = new Set(jsonSchema.required ?? []);
175
- const props = Object.entries(jsonSchema.properties).map(([key, val]) => ` ${key}${req.has(key) ? '' : '?'}: ${schemaToTs(val, spec)};`);
176
- types.push(`export interface ${bodyTypeName} {\n${props.join('\n')}\n}`);
177
- }
178
- else
179
- types.push(`export type ${bodyTypeName} = ${schemaToTs(jsonSchema, spec)};`);
180
- }
181
- }
115
+ const types = [];
116
+ let hasBody = false;
117
+ const summary = operation.summary ?? operation.operationId ?? `${method} ${path}`;
118
+ const funcName = toCamelCase(summary);
119
+ const pascalName = toPascalCase(summary);
120
+ const allParams = [...pathLevelParams, ...operation.parameters ?? []].map((p) => resolveParameter(p, spec));
121
+ const paramMap = /* @__PURE__ */ new Map();
122
+ for (const param of allParams) paramMap.set(`${param.in}:${param.name}`, param);
123
+ const params = Array.from(paramMap.values());
124
+ const pathParams = params.filter((p) => p.in === "path");
125
+ const pathParamOrder = [...path.matchAll(/\{(\w+)\}/g)].map((m) => m[1]);
126
+ pathParams.sort((a, b) => pathParamOrder.indexOf(a.name) - pathParamOrder.indexOf(b.name));
127
+ const queryParams = params.filter((p) => p.in === "query");
128
+ let queryTypeName;
129
+ if (queryParams.length > 0) {
130
+ queryTypeName = `${pascalName}Query`;
131
+ const props = queryParams.map((p) => {
132
+ const originalType = p.schema ? schemaToTs(p.schema) : "unknown";
133
+ const tsType = originalType === "string" ? "string | undefined" : `string | ${originalType} | undefined`;
134
+ return ` ${p.name}?: ${tsType};`;
135
+ });
136
+ types.push(`export type ${queryTypeName} = {
137
+ ${props.join("\n")}
138
+ };`);
139
+ }
140
+ let bodyTypeName;
141
+ if (operation.requestBody) {
142
+ const reqBody = isRef(operation.requestBody) ? resolveRef(operation.requestBody.$ref, spec) : operation.requestBody;
143
+ const jsonSchema = reqBody.content?.["application/json"]?.schema;
144
+ if (jsonSchema) {
145
+ hasBody = true;
146
+ if (isRef(jsonSchema)) bodyTypeName = resolveRefName(jsonSchema.$ref);
147
+ else {
148
+ bodyTypeName = `${pascalName}Body`;
149
+ if (jsonSchema.type === "object" && jsonSchema.properties && !jsonSchema.allOf && !jsonSchema.oneOf && !jsonSchema.anyOf) {
150
+ const req = new Set(jsonSchema.required ?? []);
151
+ const props = Object.entries(jsonSchema.properties).map(([key, val]) => ` ${key}${req.has(key) ? "" : "?"}: ${schemaToTs(val)};`);
152
+ types.push(`export type ${bodyTypeName} = {
153
+ ${props.join("\n")}
154
+ };`);
155
+ } else types.push(`export type ${bodyTypeName} = ${schemaToTs(jsonSchema)};`);
156
+ }
182
157
  }
183
- // Response type
184
- let returnType = 'unknown';
185
- if (operation.responses) {
186
- const successCode = ['200', '201', '204'].find(c => operation.responses?.[c]);
187
- if (successCode === '204')
188
- returnType = 'void';
189
- else if (successCode) {
190
- const resp = operation.responses[successCode];
191
- const resolved = isRef(resp) ? resolveRef(resp.$ref, spec) : resp;
192
- const jsonSchema = resolved.content?.['application/json']?.schema;
193
- if (jsonSchema) {
194
- if (isRef(jsonSchema))
195
- returnType = resolveRefName(jsonSchema.$ref);
196
- else
197
- types.push(`export type ${pascalName}Response = ${schemaToTs(jsonSchema, spec)};`);
198
- }
199
- }
158
+ }
159
+ let returnType = "unknown";
160
+ if (operation.responses) {
161
+ const successCode = ["200", "201", "204"].find((c) => operation.responses?.[c]);
162
+ if (successCode === "204") returnType = "void";
163
+ else if (successCode) {
164
+ const resp = operation.responses[successCode];
165
+ const resolved = isRef(resp) ? resolveRef(resp.$ref, spec) : resp;
166
+ const jsonSchema = resolved.content?.["application/json"]?.schema;
167
+ if (jsonSchema) {
168
+ if (isRef(jsonSchema)) returnType = resolveRefName(jsonSchema.$ref);
169
+ else types.push(`export type ${pascalName}Response = ${schemaToTs(jsonSchema)};`);
170
+ }
200
171
  }
201
- // Build function arguments
202
- const args = [];
203
- for (const p of pathParams)
204
- args.push(`${p.name}: string`);
205
- if (queryTypeName)
206
- args.push(`query: ${queryTypeName}`);
207
- if (bodyTypeName)
208
- args.push(`body: ${bodyTypeName}`);
209
- // Build URL string
210
- const urlPath = path.replace(/\{(\w+)\}/g, (_, name) => `\${${name}}`);
211
- const urlStr = urlPath !== path ? `\`${urlPath}\`` : `'${path}'`;
212
- // Build method chain
213
- let chain = `APIRequest.${method}(${urlStr})`;
214
- if (queryTypeName)
215
- chain += '.query(query)';
216
- if (bodyTypeName)
217
- chain += '.body(body)';
218
- chain += `.execute<${returnType}>()`;
219
- const func = `export async function ${funcName}(${args.join(', ')}): Promise<${returnType}> {\n return ${chain};\n}`;
220
- return { types, func, hasBody };
172
+ }
173
+ const args = [];
174
+ for (const p of pathParams) args.push(`${p.name}: string`);
175
+ if (queryTypeName) args.push(`query: ${queryTypeName}`);
176
+ if (bodyTypeName) args.push(`body: ${bodyTypeName}`);
177
+ const urlPath = path.replace(/\{(\w+)\}/g, (_, name) => `\${${name}}`);
178
+ const urlStr = urlPath !== path ? `\`${urlPath}\`` : `'${path}'`;
179
+ let chain = `APIRequest.${method}(${urlStr})`;
180
+ if (queryTypeName) chain += ".query(query)";
181
+ if (bodyTypeName) chain += ".body(body)";
182
+ chain += `.execute<${returnType}>()`;
183
+ const func = `export async function ${funcName}(${args.join(", ")}): Promise<${returnType}> {
184
+ return ${chain};
185
+ }`;
186
+ return { types, func, hasBody };
221
187
  }
222
- export async function generateApi(url) {
223
- const response = await fetch(url);
224
- const spec = await response.json();
225
- const allTypes = [];
226
- const allFuncs = [];
227
- for (const [path, pathItem] of Object.entries(spec.paths)) {
228
- const pathLevelParams = pathItem.parameters ?? [];
229
- for (const method of HTTP_METHODS) {
230
- const operation = pathItem[method];
231
- if (!operation)
232
- continue;
233
- const endpoint = generateEndpoint(path, method, operation, pathLevelParams, spec);
234
- allTypes.push(...endpoint.types);
235
- allFuncs.push(endpoint.func);
236
- }
237
- }
238
- const lines = [
239
- '/* eslint-disable */',
240
- '',
241
- '/** Auto-generated file — do not edit manually */',
242
- '',
243
- 'import { APIRequest, type QueryParams } from "@shadow-library/ui";',
244
- '',
245
- ];
246
- const schemaTypes = collectTypes(spec);
247
- if (schemaTypes.trim())
248
- lines.push(schemaTypes);
249
- if (allTypes.length > 0) {
250
- lines.push(allTypes.join('\n\n'));
251
- lines.push('');
252
- }
253
- if (allFuncs.length > 0) {
254
- lines.push(allFuncs.join('\n\n'));
255
- lines.push('');
188
+ async function generateApi(url) {
189
+ const response = await fetch(url);
190
+ const spec = await response.json();
191
+ const allTypes = [];
192
+ const allFuncs = [];
193
+ for (const [path, pathItem] of Object.entries(spec.paths)) {
194
+ const pathLevelParams = pathItem.parameters ?? [];
195
+ for (const method of HTTP_METHODS) {
196
+ const operation = pathItem[method];
197
+ if (!operation) continue;
198
+ const endpoint = generateEndpoint(path, method, operation, pathLevelParams, spec);
199
+ allTypes.push(...endpoint.types);
200
+ allFuncs.push(endpoint.func);
256
201
  }
257
- return lines.join('\n');
202
+ }
203
+ const lines = ["/** Auto-generated file \u2014 do not edit manually */", "", IMPORT_STATEMENT_PLACEHOLDER, ""];
204
+ const schemaTypes = collectTypes(spec);
205
+ if (schemaTypes.trim()) lines.push(schemaTypes);
206
+ if (allTypes.length > 0) {
207
+ lines.push(allTypes.join("\n\n"));
208
+ lines.push("");
209
+ }
210
+ if (allFuncs.length > 0) {
211
+ lines.push(allFuncs.join("\n\n"));
212
+ lines.push("");
213
+ }
214
+ const contents = lines.join("\n");
215
+ const imports = ["APIRequest"];
216
+ if (contents.includes("JsonObject")) imports.push("type JsonObject");
217
+ const importStatement = `import { ${imports.join(", ")} } from '@shadow-library/ui';`;
218
+ return contents.replace(IMPORT_STATEMENT_PLACEHOLDER, importStatement);
258
219
  }
259
- //# sourceMappingURL=generate-api.js.map
220
+
221
+ export { generateApi };
222
+ //# sourceMappingURL=generate-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-api.js","sourceRoot":"","sources":["../../src/lib/generate-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-api.js","sources":["../../src/lib/generate-api.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\n\n/**\n * Importing user defined packages\n */\n\n/**\n * Defining types\n */\n\ninterface OpenApiSpec {\n paths: Record<string, PathItem>;\n components?: {\n schemas?: Record<string, SchemaOrRef>;\n requestBodies?: Record<string, RequestBodyObject | ReferenceObject>;\n parameters?: Record<string, ParameterObject | ReferenceObject>;\n responses?: Record<string, ResponseObject | ReferenceObject>;\n };\n}\n\ninterface ReferenceObject {\n $ref: string;\n}\n\ninterface SchemaObject {\n type?: string | string[];\n properties?: Record<string, SchemaOrRef>;\n required?: string[];\n items?: SchemaOrRef;\n enum?: (string | number | boolean | null)[];\n allOf?: SchemaOrRef[];\n oneOf?: SchemaOrRef[];\n anyOf?: SchemaOrRef[];\n additionalProperties?: boolean | SchemaOrRef;\n nullable?: boolean;\n}\n\ntype SchemaOrRef = SchemaObject | ReferenceObject;\n\ninterface ParameterObject {\n name: string;\n in: 'path' | 'query' | 'header' | 'cookie';\n required?: boolean;\n schema?: SchemaOrRef;\n}\n\ninterface RequestBodyObject {\n content?: Record<string, { schema?: SchemaOrRef }>;\n required?: boolean;\n}\n\ninterface ResponseObject {\n content?: Record<string, { schema?: SchemaOrRef }>;\n}\n\ninterface OperationObject {\n summary?: string;\n operationId?: string;\n parameters?: (ParameterObject | ReferenceObject)[];\n requestBody?: RequestBodyObject | ReferenceObject;\n responses?: Record<string, ResponseObject | ReferenceObject>;\n}\n\ntype HttpMethod = 'get' | 'post' | 'put' | 'patch' | 'delete';\n\ninterface PathItem extends Partial<Record<HttpMethod, OperationObject>> {\n parameters?: (ParameterObject | ReferenceObject)[];\n}\n\ninterface GeneratedEndpoint {\n types: string[];\n func: string;\n hasBody: boolean;\n}\n\n/**\n * Declaring the constants\n */\nconst IMPORT_STATEMENT_PLACEHOLDER = '<IMPORT_STATEMENT_PLACEHOLDER>';\nconst HTTP_METHODS: HttpMethod[] = ['get', 'post', 'put', 'patch', 'delete'];\n\nfunction isRef(obj: unknown): obj is ReferenceObject {\n return typeof obj === 'object' && obj !== null && '$ref' in obj;\n}\n\nfunction resolveRefName(ref: string): string {\n return ref.split('/').pop() as string;\n}\n\nfunction resolveRef<T>(ref: string, spec: OpenApiSpec): T {\n const segments = ref.replace(/^#\\//, '').split('/');\n let current: unknown = spec;\n for (const segment of segments) current = (current as Record<string, unknown>)[segment];\n return current as T;\n}\n\nfunction toCamelCase(str: string): string {\n return str\n .trim()\n .split(/[^a-zA-Z0-9]+/)\n .filter(Boolean)\n .map((word, i) => (i === 0 ? word.toLowerCase() : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()))\n .join('');\n}\n\nfunction toPascalCase(str: string): string {\n return str\n .trim()\n .split(/[^a-zA-Z0-9]+/)\n .filter(Boolean)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join('');\n}\n\nfunction schemaToTs(schema: SchemaOrRef, spec: OpenApiSpec): string {\n if (isRef(schema)) return resolveRefName(schema.$ref);\n\n if (schema.allOf) {\n const types = schema.allOf.map(s => schemaToTs(s, spec));\n return types.length === 1 ? (types[0] as string) : types.join(' & ');\n }\n\n if (schema.oneOf) {\n const types = schema.oneOf.map(s => schemaToTs(s, spec));\n return types.length === 1 ? (types[0] as string) : types.join(' | ');\n }\n\n if (schema.anyOf) {\n const types = schema.anyOf.map(s => schemaToTs(s, spec));\n return types.length === 1 ? (types[0] as string) : types.join(' | ');\n }\n\n if (schema.enum) {\n return schema.enum.map(v => (typeof v === 'string' ? `'${v}'` : String(v))).join(' | ');\n }\n\n let type = schema.type;\n let nullable = schema.nullable === true;\n if (Array.isArray(type)) {\n nullable = nullable || type.includes('null');\n type = type.find(t => t !== 'null');\n }\n\n let result: string;\n switch (type) {\n case 'string': {\n result = 'string';\n break;\n }\n\n case 'integer':\n case 'number': {\n result = 'number';\n break;\n }\n\n case 'boolean': {\n result = 'boolean';\n break;\n }\n\n case 'array': {\n result = schema.items ? `Array<${schemaToTs(schema.items, spec)}>` : 'Array<unknown>';\n break;\n }\n\n case 'object': {\n if (schema.properties) {\n const req = new Set(schema.required ?? []);\n const props = Object.entries(schema.properties).map(([key, val]) => ` ${key}${req.has(key) ? '' : '?'}: ${schemaToTs(val, spec)};`);\n if (schema.additionalProperties) {\n const vt = typeof schema.additionalProperties === 'boolean' ? 'unknown' : schemaToTs(schema.additionalProperties, spec);\n props.push(` [key: string]: ${vt};`);\n }\n result = `{\\n${props.join('\\n')}\\n}`;\n } else if (schema.additionalProperties) {\n const vt = typeof schema.additionalProperties === 'boolean' ? 'unknown' : schemaToTs(schema.additionalProperties, spec);\n result = `Record<string, ${vt}>`;\n } else result = 'JsonObject';\n break;\n }\n\n default: {\n result = 'unknown';\n }\n }\n\n return nullable ? `${result} | null` : result;\n}\n\nfunction collectTypes(spec: OpenApiSpec): string {\n const schemas = spec.components?.schemas;\n if (!schemas) return '';\n\n const lines: string[] = [];\n\n for (const [name, schema] of Object.entries(schemas)) {\n if (isRef(schema)) {\n lines.push(`export type ${name} = ${resolveRefName(schema.$ref)};`);\n lines.push('');\n continue;\n }\n\n if (schema.type === 'object' && schema.properties && !schema.allOf && !schema.oneOf && !schema.anyOf) {\n const req = new Set(schema.required ?? []);\n const props = Object.entries(schema.properties).map(([key, val]) => ` ${key}${req.has(key) ? '' : '?'}: ${schemaToTs(val, spec)};`);\n if (schema.additionalProperties) {\n const vt = typeof schema.additionalProperties === 'boolean' ? 'unknown' : schemaToTs(schema.additionalProperties, spec);\n props.push(` [key: string]: ${vt};`);\n }\n lines.push(`export type ${name} = {\\n${props.join('\\n')}\\n};`);\n } else lines.push(`export type ${name} = ${schemaToTs(schema, spec)};`);\n lines.push('');\n }\n\n return lines.join('\\n');\n}\n\nfunction resolveParameter(param: ParameterObject | ReferenceObject, spec: OpenApiSpec): ParameterObject {\n return isRef(param) ? resolveRef<ParameterObject>(param.$ref, spec) : param;\n}\n\nfunction generateEndpoint(\n path: string,\n method: HttpMethod,\n operation: OperationObject,\n pathLevelParams: (ParameterObject | ReferenceObject)[],\n spec: OpenApiSpec,\n): GeneratedEndpoint {\n const types: string[] = [];\n let hasBody = false;\n\n // Function name\n const summary = operation.summary ?? operation.operationId ?? `${method} ${path}`;\n const funcName = toCamelCase(summary);\n const pascalName = toPascalCase(summary);\n\n // Merge parameters (operation-level overrides path-level for same name+in)\n const allParams = [...pathLevelParams, ...(operation.parameters ?? [])].map(p => resolveParameter(p, spec));\n const paramMap = new Map<string, ParameterObject>();\n for (const param of allParams) paramMap.set(`${param.in}:${param.name}`, param);\n const params = Array.from(paramMap.values());\n\n // Path params sorted by URL appearance\n const pathParams = params.filter(p => p.in === 'path');\n const pathParamOrder = [...path.matchAll(/\\{(\\w+)\\}/g)].map(m => m[1]);\n pathParams.sort((a, b) => pathParamOrder.indexOf(a.name) - pathParamOrder.indexOf(b.name));\n\n // Query params\n const queryParams = params.filter(p => p.in === 'query');\n let queryTypeName: string | undefined;\n if (queryParams.length > 0) {\n queryTypeName = `${pascalName}Query`;\n const props = queryParams.map(p => {\n const originalType = p.schema ? schemaToTs(p.schema, spec) : 'unknown';\n const tsType = originalType === 'string' ? 'string | undefined' : `string | ${originalType} | undefined`;\n return ` ${p.name}?: ${tsType};`;\n });\n types.push(`export type ${queryTypeName} = {\\n${props.join('\\n')}\\n};`);\n }\n\n // Request body\n let bodyTypeName: string | undefined;\n if (operation.requestBody) {\n const reqBody = isRef(operation.requestBody) ? resolveRef<RequestBodyObject>(operation.requestBody.$ref, spec) : operation.requestBody;\n const jsonSchema = reqBody.content?.['application/json']?.schema;\n if (jsonSchema) {\n hasBody = true;\n if (isRef(jsonSchema)) bodyTypeName = resolveRefName(jsonSchema.$ref);\n else {\n bodyTypeName = `${pascalName}Body`;\n if (jsonSchema.type === 'object' && jsonSchema.properties && !jsonSchema.allOf && !jsonSchema.oneOf && !jsonSchema.anyOf) {\n const req = new Set(jsonSchema.required ?? []);\n const props = Object.entries(jsonSchema.properties).map(([key, val]) => ` ${key}${req.has(key) ? '' : '?'}: ${schemaToTs(val, spec)};`);\n types.push(`export type ${bodyTypeName} = {\\n${props.join('\\n')}\\n};`);\n } else types.push(`export type ${bodyTypeName} = ${schemaToTs(jsonSchema, spec)};`);\n }\n }\n }\n\n // Response type\n let returnType = 'unknown';\n if (operation.responses) {\n const successCode = ['200', '201', '204'].find(c => operation.responses?.[c]);\n if (successCode === '204') returnType = 'void';\n else if (successCode) {\n const resp = operation.responses[successCode] as ResponseObject | ReferenceObject;\n const resolved = isRef(resp) ? resolveRef<ResponseObject>(resp.$ref, spec) : resp;\n const jsonSchema = resolved.content?.['application/json']?.schema;\n if (jsonSchema) {\n if (isRef(jsonSchema)) returnType = resolveRefName(jsonSchema.$ref);\n else types.push(`export type ${pascalName}Response = ${schemaToTs(jsonSchema, spec)};`);\n }\n }\n }\n\n // Build function arguments\n const args: string[] = [];\n for (const p of pathParams) args.push(`${p.name}: string`);\n if (queryTypeName) args.push(`query: ${queryTypeName}`);\n if (bodyTypeName) args.push(`body: ${bodyTypeName}`);\n\n // Build URL string\n const urlPath = path.replace(/\\{(\\w+)\\}/g, (_, name) => `\\${${name}}`);\n const urlStr = urlPath !== path ? `\\`${urlPath}\\`` : `'${path}'`;\n\n // Build method chain\n let chain = `APIRequest.${method}(${urlStr})`;\n if (queryTypeName) chain += '.query(query)';\n if (bodyTypeName) chain += '.body(body)';\n chain += `.execute<${returnType}>()`;\n\n const func = `export async function ${funcName}(${args.join(', ')}): Promise<${returnType}> {\\n return ${chain};\\n}`;\n\n return { types, func, hasBody };\n}\n\nexport async function generateApi(url: string): Promise<string> {\n const response = await fetch(url);\n const spec: OpenApiSpec = await response.json();\n\n const allTypes: string[] = [];\n const allFuncs: string[] = [];\n\n for (const [path, pathItem] of Object.entries(spec.paths)) {\n const pathLevelParams = pathItem.parameters ?? [];\n for (const method of HTTP_METHODS) {\n const operation = pathItem[method];\n if (!operation) continue;\n const endpoint = generateEndpoint(path, method, operation, pathLevelParams, spec);\n allTypes.push(...endpoint.types);\n allFuncs.push(endpoint.func);\n }\n }\n\n const lines: string[] = ['/** Auto-generated file — do not edit manually */', '', IMPORT_STATEMENT_PLACEHOLDER, ''];\n const schemaTypes = collectTypes(spec);\n if (schemaTypes.trim()) lines.push(schemaTypes);\n\n if (allTypes.length > 0) {\n lines.push(allTypes.join('\\n\\n'));\n lines.push('');\n }\n\n if (allFuncs.length > 0) {\n lines.push(allFuncs.join('\\n\\n'));\n lines.push('');\n }\n\n const contents = lines.join('\\n');\n const imports = ['APIRequest'];\n if (contents.includes('JsonObject')) imports.push('type JsonObject');\n const importStatement = `import { ${imports.join(', ')} } from '@shadow-library/ui';`;\n return contents.replace(IMPORT_STATEMENT_PLACEHOLDER, importStatement);\n}\n"],"names":[],"mappings":"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"}
package/lib/utils.js CHANGED
@@ -1,22 +1,6 @@
1
- /**
2
- * Importing npm packages
3
- */
4
- /**
5
- * Importing user defined packages
6
- */
7
- /**
8
- * Defining types
9
- */
10
- /**
11
- * Declaring the constants
12
- */
13
- export function getInitials(name) {
14
- return name
15
- .split(' ')
16
- .map(part => part[0])
17
- .filter(Boolean)
18
- .slice(0, 2)
19
- .join('')
20
- .toUpperCase();
1
+ function getInitials(name) {
2
+ return name.split(" ").map((part) => part[0]).filter(Boolean).slice(0, 2).join("").toUpperCase();
21
3
  }
22
- //# sourceMappingURL=utils.js.map
4
+
5
+ export { getInitials };
6
+ //# sourceMappingURL=utils.js.map
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;GAEG;AAEH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC;SACf,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,IAAI,CAAC,EAAE,CAAC;SACR,WAAW,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"utils.js","sources":["../../src/lib/utils.ts"],"sourcesContent":["/**\n * Importing npm packages\n */\n\n/**\n * Importing user defined packages\n */\n\n/**\n * Defining types\n */\n\n/**\n * Declaring the constants\n */\n\nexport function getInitials(name: string): string {\n return name\n .split(' ')\n .map(part => part[0])\n .filter(Boolean)\n .slice(0, 2)\n .join('')\n .toUpperCase();\n}\n"],"names":[],"mappings":"AAgBO,SAAS,YAAY,IAAA,EAAsB;AAChD,EAAA,OAAO,IAAA,CACJ,MAAM,GAAG,CAAA,CACT,IAAI,CAAA,IAAA,KAAQ,IAAA,CAAK,CAAC,CAAC,CAAA,CACnB,OAAO,OAAO,CAAA,CACd,MAAM,CAAA,EAAG,CAAC,EACV,IAAA,CAAK,EAAE,EACP,WAAA,EAAY;AACjB;;;;"}
package/package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "name": "@shadow-library/ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
- "sideEffects": false,
5
+ "sideEffects": [
6
+ "**/*.css"
7
+ ],
8
+ "description": "Shared React component library for the Shadow Apps ecosystem, built on Mantine with Storybook stories, and full TypeScript support",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+ssh://git@github.com/shadow-library/ui.git"
12
+ },
13
+ "author": "Leander Paul <leanderpaul97@outlook.com>",
14
+ "license": "MIT",
15
+ "bugs": {
16
+ "url": "https://github.com/shadow-library/ui/issues"
17
+ },
18
+ "homepage": "https://github.com/shadow-library/ui#readme",
6
19
  "peerDependencies": {
7
20
  "typescript": "^5.9.3",
8
21
  "@mantine/core": "^8.3.18",
@@ -16,9 +29,14 @@
16
29
  },
17
30
  "main": "./index.js",
18
31
  "module": "./index.js",
32
+ "types": "./index.d.ts",
19
33
  "exports": {
20
34
  ".": {
21
- "import": "./index.js"
22
- }
35
+ "types": "./index.d.ts",
36
+ "default": "./index.js"
37
+ },
38
+ "./styles.css": "./styles.css",
39
+ "./styles.layer.css": "./styles.layer.css",
40
+ "./styles/*": "./styles/*"
23
41
  }
24
42
  }