@underpeaks/generator-nextjs 1.0.29 → 1.0.32
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/components/registry-display.d.ts.map +1 -1
- package/dist/components/registry-display.js +3 -7
- package/dist/components/registry-display.js.map +1 -1
- package/dist/generator.d.ts +0 -7
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +90 -40
- package/dist/generator.js.map +1 -1
- package/dist/templates/api-builder.d.ts +1 -1
- package/dist/templates/api-builder.d.ts.map +1 -1
- package/dist/templates/api-builder.js +7 -4
- package/dist/templates/api-builder.js.map +1 -1
- package/dist/templates/app-nav.d.ts +3 -20
- package/dist/templates/app-nav.d.ts.map +1 -1
- package/dist/templates/app-nav.js +55 -22
- package/dist/templates/app-nav.js.map +1 -1
- package/dist/templates/layout.d.ts.map +1 -1
- package/dist/templates/layout.js +16 -9
- package/dist/templates/layout.js.map +1 -1
- package/dist/templates/page-auth.d.ts +1 -1
- package/dist/templates/page-auth.d.ts.map +1 -1
- package/dist/templates/page-auth.js +20 -7
- package/dist/templates/page-auth.js.map +1 -1
- package/dist/templates/page-blog-post.d.ts +2 -2
- package/dist/templates/page-blog-post.d.ts.map +1 -1
- package/dist/templates/page-blog-post.js +38 -1
- package/dist/templates/page-blog-post.js.map +1 -1
- package/dist/templates/page-calendar.d.ts +2 -2
- package/dist/templates/page-calendar.d.ts.map +1 -1
- package/dist/templates/page-calendar.js +31 -3
- package/dist/templates/page-calendar.js.map +1 -1
- package/dist/templates/page-cart.d.ts +2 -2
- package/dist/templates/page-cart.d.ts.map +1 -1
- package/dist/templates/page-cart.js +27 -2
- package/dist/templates/page-cart.js.map +1 -1
- package/dist/templates/page-checkout.d.ts +2 -2
- package/dist/templates/page-checkout.d.ts.map +1 -1
- package/dist/templates/page-checkout.js +19 -2
- package/dist/templates/page-checkout.js.map +1 -1
- package/dist/templates/page-contact.d.ts +0 -2
- package/dist/templates/page-contact.d.ts.map +1 -1
- package/dist/templates/page-contact.js +83 -84
- package/dist/templates/page-contact.js.map +1 -1
- package/dist/templates/page-dashboard.d.ts +2 -2
- package/dist/templates/page-dashboard.d.ts.map +1 -1
- package/dist/templates/page-dashboard.js +30 -3
- package/dist/templates/page-dashboard.js.map +1 -1
- package/dist/templates/page-detail.d.ts +2 -2
- package/dist/templates/page-detail.d.ts.map +1 -1
- package/dist/templates/page-detail.js +156 -8
- package/dist/templates/page-detail.js.map +1 -1
- package/dist/templates/page-feed.d.ts +2 -2
- package/dist/templates/page-feed.d.ts.map +1 -1
- package/dist/templates/page-feed.js +44 -3
- package/dist/templates/page-feed.js.map +1 -1
- package/dist/templates/page-form.d.ts.map +1 -1
- package/dist/templates/page-form.js +341 -43
- package/dist/templates/page-form.js.map +1 -1
- package/dist/templates/page-gallery.d.ts +2 -2
- package/dist/templates/page-gallery.d.ts.map +1 -1
- package/dist/templates/page-gallery.js +36 -2
- package/dist/templates/page-gallery.js.map +1 -1
- package/dist/templates/page-invoice.d.ts +2 -2
- package/dist/templates/page-invoice.d.ts.map +1 -1
- package/dist/templates/page-invoice.js +40 -1
- package/dist/templates/page-invoice.js.map +1 -1
- package/dist/templates/page-kanban.d.ts +2 -2
- package/dist/templates/page-kanban.d.ts.map +1 -1
- package/dist/templates/page-kanban.js +29 -4
- package/dist/templates/page-kanban.js.map +1 -1
- package/dist/templates/page-landing-hero-cta.d.ts +3 -0
- package/dist/templates/page-landing-hero-cta.d.ts.map +1 -0
- package/dist/templates/page-landing-hero-cta.js +54 -0
- package/dist/templates/page-landing-hero-cta.js.map +1 -0
- package/dist/templates/page-landing-hero-features.d.ts +3 -0
- package/dist/templates/page-landing-hero-features.d.ts.map +1 -0
- package/dist/templates/page-landing-hero-features.js +45 -0
- package/dist/templates/page-landing-hero-features.js.map +1 -0
- package/dist/templates/page-landing-hero-pricing.d.ts +3 -0
- package/dist/templates/page-landing-hero-pricing.d.ts.map +1 -0
- package/dist/templates/page-landing-hero-pricing.js +46 -0
- package/dist/templates/page-landing-hero-pricing.js.map +1 -0
- package/dist/templates/page-landing-minimal.d.ts +3 -0
- package/dist/templates/page-landing-minimal.d.ts.map +1 -0
- package/dist/templates/page-landing-minimal.js +26 -0
- package/dist/templates/page-landing-minimal.js.map +1 -0
- package/dist/templates/page-list.d.ts +2 -2
- package/dist/templates/page-list.d.ts.map +1 -1
- package/dist/templates/page-list.js +96 -11
- package/dist/templates/page-list.js.map +1 -1
- package/dist/templates/page-otp-entry.d.ts +2 -2
- package/dist/templates/page-otp-entry.d.ts.map +1 -1
- package/dist/templates/page-otp-entry.js +23 -2
- package/dist/templates/page-otp-entry.js.map +1 -1
- package/dist/templates/page-otp-request.d.ts +2 -2
- package/dist/templates/page-otp-request.d.ts.map +1 -1
- package/dist/templates/page-otp-request.js +18 -2
- package/dist/templates/page-otp-request.js.map +1 -1
- package/dist/templates/page-profile.d.ts +2 -2
- package/dist/templates/page-profile.d.ts.map +1 -1
- package/dist/templates/page-profile.js +37 -1
- package/dist/templates/page-profile.js.map +1 -1
- package/dist/templates/page-reset-password.d.ts +3 -0
- package/dist/templates/page-reset-password.d.ts.map +1 -0
- package/dist/templates/page-reset-password.js +122 -0
- package/dist/templates/page-reset-password.js.map +1 -0
- package/dist/templates/page-search.d.ts +2 -2
- package/dist/templates/page-search.d.ts.map +1 -1
- package/dist/templates/page-search.js +22 -2
- package/dist/templates/page-search.js.map +1 -1
- package/dist/templates/page-settings.d.ts +2 -2
- package/dist/templates/page-settings.d.ts.map +1 -1
- package/dist/templates/page-settings.js +48 -4
- package/dist/templates/page-settings.js.map +1 -1
- package/dist/templates/page-wallet.d.ts +2 -2
- package/dist/templates/page-wallet.d.ts.map +1 -1
- package/dist/templates/page-wallet.js +44 -2
- package/dist/templates/page-wallet.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-display.d.ts","sourceRoot":"","sources":["../../src/components/registry-display.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry-display.d.ts","sourceRoot":"","sources":["../../src/components/registry-display.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAgE/D,MAAM,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAA;AAEpD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CA8DpE,CAAA;AAED,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAE5F"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// File: underpeaks_codegen/packages/generator-nextjs/src/components/registry-display.ts
|
|
3
3
|
//
|
|
4
|
-
//
|
|
5
|
-
// to
|
|
6
|
-
//
|
|
7
|
-
// NOTE: reconstructed from this session's build history. Keys are
|
|
8
|
-
// authoritative (sourced from uitypes.ts), but verify each import path
|
|
9
|
-
// resolves to the actual file on disk before relying on this in a build.
|
|
4
|
+
// FIX: 'json-viewer-display' was the wrong key (see Flutter's matching fix) —
|
|
5
|
+
// renamed to 'json-viewer' to match default-display-types.ts.
|
|
10
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
7
|
exports.nextjsDisplayRegistry = void 0;
|
|
12
8
|
exports.getNextjsDisplayWidget = getNextjsDisplayWidget;
|
|
@@ -93,7 +89,7 @@ exports.nextjsDisplayRegistry = {
|
|
|
93
89
|
'qr-code-display': nxf_qr_code_display_1.generateNxfQrCodeDisplayWidget,
|
|
94
90
|
'barcode-display': nxf_barcode_display_1.generateNxfBarcodeDisplayWidget,
|
|
95
91
|
'key-value-display': nxf_key_value_display_1.generateNxfKeyValueDisplayWidget,
|
|
96
|
-
'json-viewer
|
|
92
|
+
'json-viewer': nxf_json_viewer_display_1.generateNxfJsonViewerDisplayWidget,
|
|
97
93
|
'list-display': nxf_list_display_1.generateNxfListDisplayWidget,
|
|
98
94
|
'ordered-list-display': nxf_ordered_list_display_1.generateNxfOrderedListDisplayWidget,
|
|
99
95
|
'file-list-display': nxf_file_list_display_1.generateNxfFileListDisplayWidget,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-display.js","sourceRoot":"","sources":["../../src/components/registry-display.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"registry-display.js","sourceRoot":"","sources":["../../src/components/registry-display.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,EAAE;AACF,8EAA8E;AAC9E,8DAA8D;;;AAoI9D,wDAEC;AAlID,wDAA8E;AAC9E,4DAAgF;AAChF,wDAA8E;AAC9E,gEAAkF;AAClF,0EAAuF;AACvF,wEAAsF;AACtF,gFAA0F;AAC1F,kEAAmF;AACnF,sDAA6E;AAC7E,oEAAoF;AACpF,8DAAiF;AACjF,sEAAqF;AACrF,sEAAqF;AAErF,wDAA+E;AAC/E,gFAA2F;AAC3F,0EAAwF;AACxF,sEAAsF;AACtF,kEAAoF;AACpF,kFAA4F;AAE5F,yEAAwF;AACxF,yEAAwF;AACxF,yFAAkG;AAClG,qFAAgG;AAChG,6EAA4F;AAE5F,qEAAsF;AAEtF,sFAAiG;AACjG,4EAA4F;AAC5F,8EAA6F;AAC7F,8EAA6F;AAC7F,0FAAmG;AAEnG,kFAA8F;AAC9F,kFAA8F;AAE9F,2FAAqG;AACrG,+FAAuG;AAEvG,uEAAsF;AACtF,uFAA8F;AAC9F,iFAA2F;AAE3F,4EAAyF;AACzF,wEAAuF;AACvF,oEAAqF;AACrF,kEAAoF;AACpF,4EAAyF;AACzF,wEAAuF;AAEvF,uEAAsF;AACtF,uEAAsF;AAEtF,uFAAgG;AAEhG,iFAA2F;AAE3F,wEAAwF;AACxF,4EAA0F;AAI7E,QAAA,qBAAqB,GAAuC;IACvE,OAAO,EAAmB,mCAAuB;IACjD,SAAS,EAAiB,uCAAyB;IACnD,OAAO,EAAmB,mCAAuB;IACjD,WAAW,EAAe,2CAA2B;IACrD,gBAAgB,EAAU,oDAA+B;IACzD,eAAe,EAAW,kDAA8B;IACxD,mBAAmB,EAAO,0DAAkC;IAC5D,YAAY,EAAc,4CAA2B;IACrD,MAAM,EAAoB,iCAAsB;IAChD,aAAa,EAAa,8CAA4B;IACtD,UAAU,EAAgB,wCAAyB;IACnD,cAAc,EAAY,gDAA6B;IACvD,cAAc,EAAY,gDAA6B;IAEvD,MAAM,EAAoB,iCAAsB;IAChD,kBAAkB,EAAQ,iDAA0B;IACpD,eAAe,EAAW,2CAAuB;IACjD,aAAa,EAAa,8CAA4B;IACtD,WAAW,EAAe,0CAA0B;IACpD,mBAAmB,EAAO,mDAA2B;IAErD,cAAc,EAAY,yCAAsB;IAChD,cAAc,EAAY,gDAA6B;IACvD,sBAAsB,EAAI,gEAAqC;IAC/D,oBAAoB,EAAM,4DAAmC;IAC7D,gBAAgB,EAAU,oDAA+B;IAEzD,YAAY,EAAc,4CAA2B;IAErD,oBAAoB,EAAM,4DAAmC;IAC7D,eAAe,EAAW,kDAA8B;IACxD,gBAAgB,EAAU,oDAA+B;IACzD,gBAAgB,EAAU,oDAA+B;IACzD,sBAAsB,EAAI,+DAAoC;IAE9D,iBAAiB,EAAS,oDAA8B;IACxD,iBAAiB,EAAS,qDAA+B;IAEzD,mBAAmB,EAAO,wDAAgC;IAC1D,aAAa,EAAa,4DAAkC;IAE5D,cAAc,EAAY,+CAA4B;IACtD,sBAAsB,EAAI,8DAAmC;IAC7D,mBAAmB,EAAO,wDAAgC;IAE1D,gBAAgB,EAAU,oDAA+B;IACzD,cAAc,EAAY,gDAA6B;IACvD,YAAY,EAAc,4CAA2B;IACrD,WAAW,EAAe,2CAA2B;IACrD,gBAAgB,EAAU,mDAA8B;IACxD,cAAc,EAAY,+CAA4B;IAEtD,cAAc,EAAY,gDAA6B;IACvD,cAAc,EAAY,gDAA6B;IAEvD,oBAAoB,EAAM,2DAAkC;IAE5D,mBAAmB,EAAO,yDAAiC;IAE3D,aAAa,EAAa,8CAA4B;IACtD,eAAe,EAAW,kDAA8B;CACzD,CAAA;AAED,SAAgB,sBAAsB,CAAC,aAAqB;IAC1D,OAAO,6BAAqB,CAAC,aAAa,CAAC,CAAA;AAC7C,CAAC"}
|
package/dist/generator.d.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import type { ProjectData, GeneratedFile } from '@underpeaks/generator-core';
|
|
2
|
-
/**
|
|
3
|
-
* NOTE on widget dedup: see the matching comment in generator-flutter's
|
|
4
|
-
* generator.ts — this only decides WHICH unique ui_type widgets the
|
|
5
|
-
* project needs, always generating all of them fresh. Whether a
|
|
6
|
-
* developer has hand-edited a widget file locally is checked in the
|
|
7
|
-
* CLI's extraction step, not here.
|
|
8
|
-
*/
|
|
9
2
|
export declare function generateNextjs(data: ProjectData): Promise<{
|
|
10
3
|
files: GeneratedFile[];
|
|
11
4
|
widgetWarnings: {
|
package/dist/generator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAoE5E,wBAAsB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAAC,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,CAAC,CAwLlI"}
|
package/dist/generator.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// File: underpeaks_codegen/packages/generator-nextjs/src/generator.ts
|
|
3
|
+
//
|
|
4
|
+
// ⚠️ RECONSTRUCTED FILE — see chat: this was rebuilt from an old base copy
|
|
5
|
+
// plus every fix made today, because the current version of this file was
|
|
6
|
+
// never actually provided despite being requested three times. Diff this
|
|
7
|
+
// against the real file before trusting it — anything that changed in the
|
|
8
|
+
// real file since the last time it WAS shared here will be missing.
|
|
3
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
10
|
exports.generateNextjs = generateNextjs;
|
|
5
11
|
const generator_core_1 = require("@underpeaks/generator-core");
|
|
@@ -12,11 +18,21 @@ const page_list_1 = require("./templates/page-list");
|
|
|
12
18
|
const page_detail_1 = require("./templates/page-detail");
|
|
13
19
|
const page_form_1 = require("./templates/page-form");
|
|
14
20
|
const page_auth_1 = require("./templates/page-auth");
|
|
15
|
-
|
|
21
|
+
// FIX: page-landing.ts was a single generic function used for every
|
|
22
|
+
// landing template_type, ignoring which one was actually selected — all
|
|
23
|
+
// four rendered identically. Split into 4 real generators matching
|
|
24
|
+
// Flutter's structure; page-landing.ts is now dead code (not imported).
|
|
25
|
+
const page_landing_hero_cta_1 = require("./templates/page-landing-hero-cta");
|
|
26
|
+
const page_landing_hero_features_1 = require("./templates/page-landing-hero-features");
|
|
27
|
+
const page_landing_hero_pricing_1 = require("./templates/page-landing-hero-pricing");
|
|
28
|
+
const page_landing_minimal_1 = require("./templates/page-landing-minimal");
|
|
16
29
|
const page_dashboard_1 = require("./templates/page-dashboard");
|
|
17
30
|
const page_profile_1 = require("./templates/page-profile");
|
|
18
31
|
const page_blog_post_1 = require("./templates/page-blog-post");
|
|
19
|
-
|
|
32
|
+
// REMOVED: generateContactPage — page-contact.ts is now commented out
|
|
33
|
+
// (posted to a nonexistent '/api/contact' route). 'contact' template_type
|
|
34
|
+
// now routes through the generic model-driven form generator instead,
|
|
35
|
+
// matching how Flutter already handles it.
|
|
20
36
|
const page_cart_1 = require("./templates/page-cart");
|
|
21
37
|
const page_checkout_1 = require("./templates/page-checkout");
|
|
22
38
|
const page_wallet_1 = require("./templates/page-wallet");
|
|
@@ -33,7 +49,6 @@ const page_calendar_1 = require("./templates/page-calendar");
|
|
|
33
49
|
const page_otp_request_1 = require("./templates/page-otp-request");
|
|
34
50
|
const page_otp_entry_1 = require("./templates/page-otp-entry");
|
|
35
51
|
const page_custom_1 = require("./templates/page-custom");
|
|
36
|
-
const navigation_1 = require("./templates/navigation");
|
|
37
52
|
const tailwind_1 = require("./templates/tailwind");
|
|
38
53
|
const theme_1 = require("./templates/theme");
|
|
39
54
|
const nxf_client_1 = require("./templates/nxf-client");
|
|
@@ -45,29 +60,29 @@ const api_builder_1 = require("./templates/api-builder");
|
|
|
45
60
|
const index_1 = require("./integrations/index");
|
|
46
61
|
const storage_1 = require("./integrations/storage");
|
|
47
62
|
const validators_1 = require("./templates/validators");
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
*/
|
|
63
|
+
// NOTE: 'reset_password' has NO Next.js handler anywhere in this file —
|
|
64
|
+
// unlike Flutter, which has a real generateResetPasswordPage. There is no
|
|
65
|
+
// page-reset-password.ts in this package. Flagged rather than guessed at;
|
|
66
|
+
// needs a decision on whether to build one or handle reset another way
|
|
67
|
+
// (e.g. a query param on the sign-in page) before this template_type can
|
|
68
|
+
// be used on the Next.js side.
|
|
55
69
|
async function generateNextjs(data) {
|
|
56
70
|
const filtered = (0, generator_core_1.filterProjectData)(data);
|
|
57
71
|
const files = [];
|
|
58
|
-
// ── Widget library (scanned + deduplicated by ui_type) ────────────────────
|
|
59
72
|
const usage = (0, generator_core_1.scanUsedUiTypes)(filtered.models, filtered.pages);
|
|
60
73
|
const resolved = (0, generator_core_1.resolveRequiredWidgets)(usage, { editRegistry: registry_edit_1.nextjsEditRegistry, displayRegistry: registry_display_1.nextjsDisplayRegistry });
|
|
61
74
|
files.push(...resolved.files);
|
|
62
75
|
if (resolved.missing.length > 0) {
|
|
63
76
|
console.warn(`[nxf] No component registered for ui_type(s): ${resolved.missing.join(', ')} — these fields will not render.`);
|
|
64
77
|
}
|
|
65
|
-
// ── Generated layer (always regenerated) ──────────────────────────────────
|
|
66
78
|
files.push((0, nxf_client_1.generateNxfClient)(data.source));
|
|
67
79
|
files.push((0, layout_1.generateLayout)(filtered.pages, data.project_name));
|
|
68
|
-
if (filtered.pages.some((p) =>
|
|
80
|
+
if (filtered.pages.some((p) => (0, app_nav_1.effectiveWebHeader)(p) !== 'none')) {
|
|
69
81
|
files.push((0, app_nav_1.generateAppNav)(filtered.pages));
|
|
70
82
|
}
|
|
83
|
+
if (filtered.pages.some((p) => (0, app_nav_1.effectiveWebFooter)(p) === 'footer')) {
|
|
84
|
+
files.push((0, app_nav_1.generateAppFooter)(filtered.pages));
|
|
85
|
+
}
|
|
71
86
|
files.push((0, env_1.generateEnvTemplate)(data.project_id));
|
|
72
87
|
for (const model of filtered.models) {
|
|
73
88
|
files.push((0, types_1.generateTypes)(model));
|
|
@@ -78,62 +93,75 @@ async function generateNextjs(data) {
|
|
|
78
93
|
files.push((0, tailwind_1.generateTailwindConfig)(data.theme));
|
|
79
94
|
files.push((0, theme_1.generateTheme)(data.theme));
|
|
80
95
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
96
|
+
// CORE PARITY: API Builder and third-party Integrations are not a Core
|
|
97
|
+
// feature — explicitly gated on source !== 'core' rather than relying
|
|
98
|
+
// on data.endpoints/data.integrations happening to be empty for Core
|
|
99
|
+
// projects. Matches the same guard added to generator-flutter today.
|
|
100
|
+
if (data.source !== 'core') {
|
|
101
|
+
const apiBuilderFile = (0, api_builder_1.generateApiBuilderNextjs)(data.endpoints ?? []);
|
|
102
|
+
if (apiBuilderFile)
|
|
103
|
+
files.push(apiBuilderFile);
|
|
104
|
+
if (data.integrations && data.integrations.length > 0) {
|
|
105
|
+
files.push(...(0, index_1.generateNextjsIntegrations)(data.integrations));
|
|
106
|
+
}
|
|
85
107
|
}
|
|
86
108
|
files.push((0, storage_1.generateStorageNextjs)({}));
|
|
87
109
|
files.push((0, readme_1.generateReadme)(data.project_name));
|
|
88
110
|
files.push((0, validators_1.generateValidators)());
|
|
89
|
-
// ── Presentation layer (generated once, user owns) ────────────────────────
|
|
90
111
|
for (const page of filtered.pages) {
|
|
91
112
|
const model = filtered.models.find((m) => m.sm_id === page.model_id);
|
|
92
113
|
if (generator_core_1.AUTH_TEMPLATE_TYPES.includes(page.template_type)) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (generator_core_1.LANDING_TEMPLATE_TYPES.includes(page.template_type)) {
|
|
97
|
-
files.push((0, page_landing_1.generateLandingPage)(page));
|
|
114
|
+
// NAVIGATOR: pages passed through so sign-in/sign-up/forgot-password
|
|
115
|
+
// links resolve to real slugs instead of hardcoded literals.
|
|
116
|
+
files.push(...(0, page_auth_1.generateNextjsAuthPages)(page, filtered.pages));
|
|
98
117
|
continue;
|
|
99
118
|
}
|
|
100
119
|
switch (page.template_type) {
|
|
101
120
|
case 'list':
|
|
102
121
|
case 'grid':
|
|
122
|
+
// NAVIGATOR: routes + pages passed through for card-tap/button triggers.
|
|
103
123
|
if (model)
|
|
104
|
-
files.push((0, page_list_1.generateListPage)(page, model));
|
|
124
|
+
files.push((0, page_list_1.generateListPage)(page, model, data.project_type, filtered.routes, filtered.pages));
|
|
105
125
|
break;
|
|
106
126
|
case 'detail':
|
|
127
|
+
// NAVIGATOR: routes + pages passed through for back/button triggers.
|
|
107
128
|
if (model)
|
|
108
|
-
files.push((0, page_detail_1.generateDetailPage)(page, model));
|
|
129
|
+
files.push((0, page_detail_1.generateDetailPage)(page, model, filtered.routes, filtered.pages));
|
|
109
130
|
break;
|
|
110
131
|
case 'form':
|
|
132
|
+
case 'contact':
|
|
133
|
+
// FIX: 'contact' now routes through the generic model-driven form
|
|
134
|
+
// generator instead of the disabled page-contact.ts — matches Flutter.
|
|
111
135
|
if (model)
|
|
112
136
|
files.push((0, page_form_1.generateFormPage)(page, model));
|
|
113
137
|
break;
|
|
114
138
|
case 'dashboard':
|
|
115
|
-
|
|
139
|
+
// NAVIGATOR: routes + pages passed through for card-tap trigger.
|
|
140
|
+
files.push((0, page_dashboard_1.generateDashboardPage)(page, model, filtered.routes, filtered.pages));
|
|
116
141
|
break;
|
|
117
142
|
case 'profile':
|
|
118
|
-
|
|
143
|
+
// NAVIGATOR: routes + pages passed through for back/button triggers.
|
|
144
|
+
files.push((0, page_profile_1.generateProfilePage)(page, model, filtered.routes, filtered.pages));
|
|
119
145
|
break;
|
|
120
146
|
case 'blog-post':
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
case 'contact':
|
|
124
|
-
files.push((0, page_contact_1.generateContactPage)(page));
|
|
147
|
+
// NAVIGATOR: routes + pages passed through for back/button triggers.
|
|
148
|
+
files.push((0, page_blog_post_1.generateBlogPostPage)(page, model, filtered.routes, filtered.pages));
|
|
125
149
|
break;
|
|
126
150
|
case 'cart':
|
|
127
|
-
|
|
151
|
+
// NAVIGATOR: routes + pages passed through for back-trigger override.
|
|
152
|
+
files.push((0, page_cart_1.generateCartPage)(page, filtered.routes, filtered.pages));
|
|
128
153
|
break;
|
|
129
154
|
case 'checkout':
|
|
130
|
-
|
|
155
|
+
// NAVIGATOR: routes + pages passed through for button-trigger override.
|
|
156
|
+
files.push((0, page_checkout_1.generateCheckoutPage)(page, filtered.routes, filtered.pages));
|
|
131
157
|
break;
|
|
132
158
|
case 'wallet':
|
|
133
|
-
|
|
159
|
+
// NAVIGATOR: routes + pages passed through for label-matched button routes.
|
|
160
|
+
files.push((0, page_wallet_1.generateWalletPage)(page, filtered.routes, filtered.pages));
|
|
134
161
|
break;
|
|
135
162
|
case 'invoice':
|
|
136
|
-
|
|
163
|
+
// NAVIGATOR: routes + pages passed through for back/button triggers.
|
|
164
|
+
files.push((0, page_invoice_1.generateInvoicePage)(page, model, filtered.routes, filtered.pages));
|
|
137
165
|
break;
|
|
138
166
|
case 'chat':
|
|
139
167
|
files.push((0, page_chat_1.generateChatPage)(page));
|
|
@@ -142,7 +170,8 @@ async function generateNextjs(data) {
|
|
|
142
170
|
files.push((0, page_messages_1.generateMessagesPage)(page));
|
|
143
171
|
break;
|
|
144
172
|
case 'feed':
|
|
145
|
-
|
|
173
|
+
// NAVIGATOR: routes + pages passed through for card-tap/button triggers.
|
|
174
|
+
files.push((0, page_feed_1.generateFeedPage)(page, model, filtered.routes, filtered.pages));
|
|
146
175
|
break;
|
|
147
176
|
case 'map':
|
|
148
177
|
files.push((0, page_map_1.generateMapPage)(page));
|
|
@@ -154,16 +183,20 @@ async function generateNextjs(data) {
|
|
|
154
183
|
files.push((0, page_settings_1.generateSettingsPage)(page));
|
|
155
184
|
break;
|
|
156
185
|
case 'gallery':
|
|
157
|
-
|
|
186
|
+
// NAVIGATOR: routes + pages passed through for card-tap/button triggers.
|
|
187
|
+
files.push((0, page_gallery_1.generateGalleryPage)(page, model, filtered.routes, filtered.pages));
|
|
158
188
|
break;
|
|
159
189
|
case 'kanban':
|
|
160
|
-
|
|
190
|
+
// NAVIGATOR: routes + pages passed through for card-tap trigger.
|
|
191
|
+
files.push((0, page_kanban_1.generateKanbanPage)(page, model, filtered.routes, filtered.pages));
|
|
161
192
|
break;
|
|
162
193
|
case 'calendar':
|
|
163
|
-
|
|
194
|
+
// NAVIGATOR: routes + pages passed through for card-tap trigger.
|
|
195
|
+
files.push((0, page_calendar_1.generateCalendarPage)(page, model, filtered.routes, filtered.pages));
|
|
164
196
|
break;
|
|
165
197
|
case 'otp_request':
|
|
166
|
-
|
|
198
|
+
// NAVIGATOR: routes + pages passed through for button-trigger override.
|
|
199
|
+
files.push((0, page_otp_request_1.generateOtpRequestPage)(page, filtered.routes, filtered.pages));
|
|
167
200
|
break;
|
|
168
201
|
case 'otp_entry':
|
|
169
202
|
files.push((0, page_otp_entry_1.generateOtpEntryPage)(page));
|
|
@@ -171,6 +204,22 @@ async function generateNextjs(data) {
|
|
|
171
204
|
case 'custom':
|
|
172
205
|
files.push((0, page_custom_1.generateCustomPage)(page));
|
|
173
206
|
break;
|
|
207
|
+
// NAVIGATOR: landing types now each get their own real generator
|
|
208
|
+
// (previously all four fell into one generic template that ignored
|
|
209
|
+
// which type was actually selected).
|
|
210
|
+
case 'landing-hero-cta':
|
|
211
|
+
files.push((0, page_landing_hero_cta_1.generateLandingHeroCta)(page, filtered.routes, filtered.pages));
|
|
212
|
+
break;
|
|
213
|
+
case 'landing-hero-features':
|
|
214
|
+
files.push((0, page_landing_hero_features_1.generateLandingHeroFeatures)(page));
|
|
215
|
+
break;
|
|
216
|
+
case 'landing-hero-pricing':
|
|
217
|
+
files.push((0, page_landing_hero_pricing_1.generateLandingHeroPricing)(page));
|
|
218
|
+
break;
|
|
219
|
+
case 'landing-minimal':
|
|
220
|
+
files.push((0, page_landing_minimal_1.generateLandingMinimal)(page));
|
|
221
|
+
break;
|
|
222
|
+
// 'reset_password' deliberately has no case — see NOTE at top of file.
|
|
174
223
|
default:
|
|
175
224
|
if (generator_core_1.STANDARD_TEMPLATE_TYPES.includes(page.template_type)) {
|
|
176
225
|
console.warn(`[nxf] template_type '${page.template_type}' is listed as standard but has no generator wired in generator.ts.`);
|
|
@@ -178,6 +227,7 @@ async function generateNextjs(data) {
|
|
|
178
227
|
break;
|
|
179
228
|
}
|
|
180
229
|
}
|
|
230
|
+
files.push((0, generator_core_1.buildManifestFile)(data.project_id, files));
|
|
181
231
|
return {
|
|
182
232
|
files,
|
|
183
233
|
widgetWarnings: { missing: resolved.missing },
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";AAAA,sEAAsE;;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,6 @@ interface Endpoint {
|
|
|
7
7
|
model_name: string;
|
|
8
8
|
operation: string;
|
|
9
9
|
}
|
|
10
|
-
export declare function generateApiBuilderNextjs(endpoints: Endpoint[]): GeneratedFile;
|
|
10
|
+
export declare function generateApiBuilderNextjs(endpoints: Endpoint[]): GeneratedFile | null;
|
|
11
11
|
export {};
|
|
12
12
|
//# sourceMappingURL=api-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-builder.d.ts","sourceRoot":"","sources":["../../src/templates/api-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,UAAU,QAAQ;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,MAAM,EAAO,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,SAAS,EAAI,MAAM,CAAA;CACpB;
|
|
1
|
+
{"version":3,"file":"api-builder.d.ts","sourceRoot":"","sources":["../../src/templates/api-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,UAAU,QAAQ;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,MAAM,EAAO,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,SAAS,EAAI,MAAM,CAAA;CACpB;AAOD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,GAAG,IAAI,CAoEpF"}
|
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
// File: underpeaks_codegen/packages/generator-nextjs/src/templates/api-builder.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.generateApiBuilderNextjs = generateApiBuilderNextjs;
|
|
5
|
+
// FIX: previously always generated custom-endpoints.ts, even with zero
|
|
6
|
+
// endpoints — an empty shell file (base URL/headers constants, a comment
|
|
7
|
+
// saying "no endpoints yet"). Per the anti-bloat rule, a project with no
|
|
8
|
+
// API Builder endpoints should get no file at all. Returns null in that
|
|
9
|
+
// case; the caller must check.
|
|
5
10
|
function generateApiBuilderNextjs(endpoints) {
|
|
11
|
+
if (endpoints.length === 0)
|
|
12
|
+
return null;
|
|
6
13
|
const lines = [];
|
|
7
14
|
lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
|
|
8
15
|
lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
|
|
@@ -22,10 +29,6 @@ function generateApiBuilderNextjs(endpoints) {
|
|
|
22
29
|
lines.push(` 'Authorization': \`Bearer \${API_KEY}\`,`);
|
|
23
30
|
lines.push(`}`);
|
|
24
31
|
lines.push(``);
|
|
25
|
-
if (endpoints.length === 0) {
|
|
26
|
-
lines.push(`// No custom endpoints defined yet.`);
|
|
27
|
-
lines.push(`// Add endpoints in Studio → API Builder to generate functions here.`);
|
|
28
|
-
}
|
|
29
32
|
for (const ep of endpoints) {
|
|
30
33
|
const fnName = toCamelCase(ep.name);
|
|
31
34
|
const method = ep.method.toUpperCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-builder.js","sourceRoot":"","sources":["../../src/templates/api-builder.ts"],"names":[],"mappings":";AAAA,kFAAkF;;
|
|
1
|
+
{"version":3,"file":"api-builder.js","sourceRoot":"","sources":["../../src/templates/api-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,6 @@
|
|
|
1
1
|
import type { PageDef, GeneratedFile } from '@underpeaks/generator-core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
*
|
|
5
|
-
* Was referenced by layout.ts ('../components/AppNav') but never actually
|
|
6
|
-
* generated by any template — every project with a nav page would fail to
|
|
7
|
-
* build. This is the missing piece.
|
|
8
|
-
*
|
|
9
|
-
* Mirrors Flutter's navigation.ts shell/drawer split, adapted for the web:
|
|
10
|
-
* - top-nav / bottom-nav → a horizontal nav bar (bottom-nav has no native
|
|
11
|
-
* web equivalent as a persistent OS-level bar the way it does on mobile;
|
|
12
|
-
* rendered as a top bar here, same as top-nav, since both express "the
|
|
13
|
-
* same links are always visible" intent).
|
|
14
|
-
* - sidebar-nav / drawer-nav → a collapsible side panel (drawer becomes a
|
|
15
|
-
* toggleable off-canvas panel on mobile widths, persistent sidebar on
|
|
16
|
-
* desktop — matches how most Next.js dashboard layouts behave).
|
|
17
|
-
* If pages mix nav types, sidebar/drawer takes visual priority (rendered
|
|
18
|
-
* as the persistent panel) and top/bottom pages are folded into it as
|
|
19
|
-
* regular links, rather than trying to render two separate nav structures
|
|
20
|
-
* at once.
|
|
21
|
-
*/
|
|
2
|
+
export declare function effectiveWebHeader(page: PageDef): 'none' | 'top-nav' | 'sidebar-nav';
|
|
3
|
+
export declare function effectiveWebFooter(page: PageDef): 'none' | 'footer';
|
|
22
4
|
export declare function generateAppNav(pages: PageDef[]): GeneratedFile;
|
|
5
|
+
export declare function generateAppFooter(pages: PageDef[]): GeneratedFile;
|
|
23
6
|
//# sourceMappingURL=app-nav.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-nav.d.ts","sourceRoot":"","sources":["../../src/templates/app-nav.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAExE
|
|
1
|
+
{"version":3,"file":"app-nav.d.ts","sourceRoot":"","sources":["../../src/templates/app-nav.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAExE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAKpF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAEnE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CA6G9D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAwCjE"}
|
|
@@ -1,30 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// File: underpeaks_codegen/packages/generator-nextjs/src/templates/app-nav.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.effectiveWebHeader = effectiveWebHeader;
|
|
5
|
+
exports.effectiveWebFooter = effectiveWebFooter;
|
|
4
6
|
exports.generateAppNav = generateAppNav;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* toggleable off-canvas panel on mobile widths, persistent sidebar on
|
|
19
|
-
* desktop — matches how most Next.js dashboard layouts behave).
|
|
20
|
-
* If pages mix nav types, sidebar/drawer takes visual priority (rendered
|
|
21
|
-
* as the persistent panel) and top/bottom pages are folded into it as
|
|
22
|
-
* regular links, rather than trying to render two separate nav structures
|
|
23
|
-
* at once.
|
|
24
|
-
*/
|
|
7
|
+
exports.generateAppFooter = generateAppFooter;
|
|
8
|
+
function effectiveWebHeader(page) {
|
|
9
|
+
if (page.nav_settings?.web?.header)
|
|
10
|
+
return page.nav_settings.web.header;
|
|
11
|
+
if (page.nav_type === 'sidebar-nav' || page.nav_type === 'drawer-nav')
|
|
12
|
+
return 'sidebar-nav';
|
|
13
|
+
if (page.nav_type === 'top-nav' || page.nav_type === 'bottom-nav')
|
|
14
|
+
return 'top-nav';
|
|
15
|
+
return 'none';
|
|
16
|
+
}
|
|
17
|
+
function effectiveWebFooter(page) {
|
|
18
|
+
return page.nav_settings?.web?.footer ?? 'none';
|
|
19
|
+
}
|
|
25
20
|
function generateAppNav(pages) {
|
|
26
|
-
const navPages = pages.filter((p) =>
|
|
27
|
-
const useSidebar = navPages.some((p) => p
|
|
21
|
+
const navPages = pages.filter((p) => effectiveWebHeader(p) !== 'none');
|
|
22
|
+
const useSidebar = navPages.some((p) => effectiveWebHeader(p) === 'sidebar-nav');
|
|
28
23
|
const lines = [];
|
|
29
24
|
lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
|
|
30
25
|
lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
|
|
@@ -129,4 +124,42 @@ function generateAppNav(pages) {
|
|
|
129
124
|
category: 'customizable',
|
|
130
125
|
};
|
|
131
126
|
}
|
|
127
|
+
function generateAppFooter(pages) {
|
|
128
|
+
const footerPages = pages.filter((p) => effectiveWebFooter(p) === 'footer');
|
|
129
|
+
const lines = [];
|
|
130
|
+
lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
|
|
131
|
+
lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
|
|
132
|
+
lines.push(`// Regenerate: nxf generate nextjs`);
|
|
133
|
+
lines.push(``);
|
|
134
|
+
lines.push(`import Link from 'next/link'`);
|
|
135
|
+
lines.push(``);
|
|
136
|
+
lines.push(`const FOOTER_LINKS = [`);
|
|
137
|
+
for (const page of footerPages) {
|
|
138
|
+
const path = page.slug.replace(/^\//, '');
|
|
139
|
+
lines.push(` { href: '/${path}', label: '${page.name}' },`);
|
|
140
|
+
}
|
|
141
|
+
lines.push(`]`);
|
|
142
|
+
lines.push(``);
|
|
143
|
+
lines.push(`export default function AppFooter() {`);
|
|
144
|
+
lines.push(` return (`);
|
|
145
|
+
lines.push(` <footer className="border-t border-border mt-auto py-6 px-4">`);
|
|
146
|
+
lines.push(` <div className="container mx-auto flex flex-wrap items-center justify-between gap-4 text-sm text-nxf-text-muted">`);
|
|
147
|
+
lines.push(` <span>© {new Date().getFullYear()}</span>`);
|
|
148
|
+
lines.push(` <div className="flex gap-4">`);
|
|
149
|
+
lines.push(` {FOOTER_LINKS.map((link) => (`);
|
|
150
|
+
lines.push(` <Link key={link.href} href={link.href} className="hover:text-nxf-text">`);
|
|
151
|
+
lines.push(` {link.label}`);
|
|
152
|
+
lines.push(` </Link>`);
|
|
153
|
+
lines.push(` ))}`);
|
|
154
|
+
lines.push(` </div>`);
|
|
155
|
+
lines.push(` </div>`);
|
|
156
|
+
lines.push(` </footer>`);
|
|
157
|
+
lines.push(` )`);
|
|
158
|
+
lines.push(`}`);
|
|
159
|
+
return {
|
|
160
|
+
path: 'components/AppFooter.tsx',
|
|
161
|
+
content: lines.join('\n'),
|
|
162
|
+
category: 'customizable',
|
|
163
|
+
};
|
|
164
|
+
}
|
|
132
165
|
//# sourceMappingURL=app-nav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-nav.js","sourceRoot":"","sources":["../../src/templates/app-nav.ts"],"names":[],"mappings":";AAAA,8EAA8E;;
|
|
1
|
+
{"version":3,"file":"app-nav.js","sourceRoot":"","sources":["../../src/templates/app-nav.ts"],"names":[],"mappings":";AAAA,8EAA8E;;AAI9E,gDAKC;AAED,gDAEC;AAED,wCA6GC;AAED,8CAwCC;AAlKD,SAAgB,kBAAkB,CAAC,IAAa;IAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAA;IACvE,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO,aAAa,CAAA;IAC3F,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO,SAAS,CAAA;IACnF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAa;IAC9C,OAAO,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,IAAI,MAAM,CAAA;AACjD,CAAC;AAED,SAAgB,cAAc,CAAC,KAAgB;IAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;IACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAA;IAEhF,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;IAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACzC,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,cAAc,IAAI,CAAC,IAAI,MAAM,CAAC,CAAA;IAC9D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAChD,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpB,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;QAC3D,KAAK,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAA;QAClH,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;QACjE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7B,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC1D,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;QACtD,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACvC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACvB,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAC1C,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC/B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;QACjF,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACnC,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAA;QACvG,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;QACvE,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;QACxE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACzB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrB,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;QAC9D,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;QAClD,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACjC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;QAC5D,KAAK,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAA;QAClF,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;QACtD,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;QAC3D,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAA;QACpE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QAClC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7B,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAC1C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACnC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAC/B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;QACnE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC9B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC1B,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAA;QAC5E,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;QACtD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAChD,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACd,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAA;QAC5F,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QACvC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;QACxC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;QACtE,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAChD,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;QACrD,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAA;QAC9D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACvB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACpC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACvB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC;IAED,OAAO;QACL,IAAI,EAAM,uBAAuB;QACjC,OAAO,EAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,cAAc;KACzB,CAAA;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAgB;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA;IAE3E,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;IAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACzC,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,cAAc,IAAI,CAAC,IAAI,MAAM,CAAC,CAAA;IAC9D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACf,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;IACnD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACxB,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;IAC/E,KAAK,CAAC,IAAI,CAAC,yHAAyH,CAAC,CAAA;IACrI,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;IAC/D,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;IAClD,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;IACrD,KAAK,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAA;IACjG,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;IACxC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC5B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEf,OAAO;QACL,IAAI,EAAM,0BAA0B;QACpC,OAAO,EAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,cAAc;KACzB,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/templates/layout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/templates/layout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAGxE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAqDnF"}
|