@crayonscodetech/cms-sdk 1.0.6 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/index.cjs +8 -5
- package/dist/index.d.cts +37 -27
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +37 -27
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +6 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -2174,6 +2174,8 @@ The CMS supports managed redirects (301/302/307/308) configured through the dash
|
|
|
2174
2174
|
|
|
2175
2175
|
`resolveRedirect` supports both **manual** redirects (exact path match) and **pattern** redirects (e.g. `/blog/:slug → /news/:slug`). When a pattern matches, `ResolvedRedirect.params` contains the captured values and `destinationPath` already has them substituted in.
|
|
2176
2176
|
|
|
2177
|
+
> **Feature gate**: redirects and 404 logging are enabled **per site by a super admin** in the CMS dashboard (Super User → Sites). When a site has redirects disabled, those endpoints answer `403`, so `resolveRedirect` returns `null` and `fetchRedirects` returns `[]` — your middleware falls through to normal rendering. When 404 logging is disabled, `reportRedirect404` resolves to `null` and nothing is recorded. No code changes are needed on your side for either case.
|
|
2178
|
+
|
|
2177
2179
|
---
|
|
2178
2180
|
|
|
2179
2181
|
### Option A — Middleware (Recommended)
|
package/dist/index.cjs
CHANGED
|
@@ -16,13 +16,13 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
}
|
|
17
17
|
return to;
|
|
18
18
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
20
20
|
value: mod,
|
|
21
21
|
enumerable: true
|
|
22
22
|
}) : target, mod));
|
|
23
23
|
//#endregion
|
|
24
24
|
let react = require("react");
|
|
25
|
-
react = __toESM(react);
|
|
25
|
+
react = __toESM(react, 1);
|
|
26
26
|
let lucide_react = require("lucide-react");
|
|
27
27
|
//#region src/constants/pageTypes.ts
|
|
28
28
|
const pageTypes = [
|
|
@@ -103,7 +103,7 @@ const MEDIA = {
|
|
|
103
103
|
".webm",
|
|
104
104
|
".ogg"
|
|
105
105
|
],
|
|
106
|
-
MAX_IMAGE_SIZE:
|
|
106
|
+
MAX_IMAGE_SIZE: 5242880
|
|
107
107
|
};
|
|
108
108
|
//#endregion
|
|
109
109
|
//#region src/core/client.ts
|
|
@@ -151,6 +151,7 @@ function createCmsClient(config) {
|
|
|
151
151
|
}
|
|
152
152
|
return null;
|
|
153
153
|
}
|
|
154
|
+
if (response.status === 204) return null;
|
|
154
155
|
const result = await response.json();
|
|
155
156
|
return result.data ?? result;
|
|
156
157
|
} catch (error) {
|
|
@@ -211,8 +212,10 @@ function createCmsClient(config) {
|
|
|
211
212
|
function buildQueryString(params) {
|
|
212
213
|
const query = new URLSearchParams();
|
|
213
214
|
Object.entries(params).forEach(([key, value]) => {
|
|
214
|
-
if (value !== void 0 && value !== null)
|
|
215
|
-
|
|
215
|
+
if (value !== void 0 && value !== null) {
|
|
216
|
+
if (Array.isArray(value)) value.forEach((v) => query.append(key, String(v)));
|
|
217
|
+
else query.append(key, String(value));
|
|
218
|
+
}
|
|
216
219
|
});
|
|
217
220
|
return query.toString();
|
|
218
221
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { LucideProps } from "lucide-react";
|
|
3
|
-
|
|
4
3
|
//#region src/types/pagination.d.ts
|
|
5
4
|
interface PaginationMeta {
|
|
6
5
|
page: number;
|
|
@@ -33,8 +32,8 @@ interface Cta {
|
|
|
33
32
|
title_url: string;
|
|
34
33
|
}
|
|
35
34
|
interface Header {
|
|
36
|
-
id:
|
|
37
|
-
site_id:
|
|
35
|
+
id: string;
|
|
36
|
+
site_id: string;
|
|
38
37
|
nav_links: NavLink[];
|
|
39
38
|
ctas: Cta[];
|
|
40
39
|
extra: Record<string, any>;
|
|
@@ -55,8 +54,8 @@ interface FooterNavGroup {
|
|
|
55
54
|
links: FooterNavGroupLink[];
|
|
56
55
|
}
|
|
57
56
|
interface Footer {
|
|
58
|
-
id:
|
|
59
|
-
site_id:
|
|
57
|
+
id: string;
|
|
58
|
+
site_id: string;
|
|
60
59
|
nav_groups: FooterNavGroup[];
|
|
61
60
|
extra: Record<string, any>;
|
|
62
61
|
}
|
|
@@ -90,15 +89,15 @@ interface ContactConfig {
|
|
|
90
89
|
working_hours?: WorkingHours | null;
|
|
91
90
|
}
|
|
92
91
|
interface SiteConfig {
|
|
93
|
-
id:
|
|
94
|
-
site_id:
|
|
92
|
+
id: string;
|
|
93
|
+
site_id: string;
|
|
95
94
|
site_name: string;
|
|
96
|
-
site_description: string;
|
|
95
|
+
site_description: string | null;
|
|
97
96
|
logo: Branding;
|
|
98
97
|
contact: ContactConfig;
|
|
99
98
|
}
|
|
100
99
|
//#endregion
|
|
101
|
-
//#region src/types/page.d.ts
|
|
100
|
+
//#region src/types/cms-page.d.ts
|
|
102
101
|
interface CTA {
|
|
103
102
|
type: string;
|
|
104
103
|
text: string;
|
|
@@ -364,6 +363,7 @@ interface Page {
|
|
|
364
363
|
status: "draft" | "published" | "archived";
|
|
365
364
|
seo: SEO | null;
|
|
366
365
|
settings: Record<string, any> | null;
|
|
366
|
+
extra?: Record<string, any> | null;
|
|
367
367
|
created_at: string;
|
|
368
368
|
updated_at: string;
|
|
369
369
|
}
|
|
@@ -396,6 +396,15 @@ interface AboutUsData {
|
|
|
396
396
|
extra?: Record<string, unknown> | null;
|
|
397
397
|
}
|
|
398
398
|
//#endregion
|
|
399
|
+
//#region src/types/seo.d.ts
|
|
400
|
+
interface ProductSEO {
|
|
401
|
+
title?: string | null;
|
|
402
|
+
description?: string | null;
|
|
403
|
+
tags?: string[] | null;
|
|
404
|
+
image?: string | null;
|
|
405
|
+
}
|
|
406
|
+
interface ProductExtraData extends Record<string, unknown> {}
|
|
407
|
+
//#endregion
|
|
399
408
|
//#region src/types/service.d.ts
|
|
400
409
|
interface Service {
|
|
401
410
|
id: string;
|
|
@@ -413,6 +422,7 @@ interface Service {
|
|
|
413
422
|
order: number;
|
|
414
423
|
created_at: string;
|
|
415
424
|
updated_at: string;
|
|
425
|
+
seo: ProductSEO | null;
|
|
416
426
|
extra?: {
|
|
417
427
|
sections: Section[];
|
|
418
428
|
} | null;
|
|
@@ -426,6 +436,8 @@ interface Blog {
|
|
|
426
436
|
title: string;
|
|
427
437
|
image_url?: string | null;
|
|
428
438
|
image_alt?: string | null;
|
|
439
|
+
thumbnail_url?: string | null;
|
|
440
|
+
thumbnail_alt?: string | null;
|
|
429
441
|
author: string;
|
|
430
442
|
description?: string | null;
|
|
431
443
|
excerpt?: string | null;
|
|
@@ -436,7 +448,7 @@ interface Blog {
|
|
|
436
448
|
order: number;
|
|
437
449
|
seo_title?: string | null;
|
|
438
450
|
seo_description?: string | null;
|
|
439
|
-
seo_keywords?:
|
|
451
|
+
seo_keywords?: string[] | null;
|
|
440
452
|
seo_image?: string | null;
|
|
441
453
|
extra?: {
|
|
442
454
|
sections: Section[];
|
|
@@ -454,7 +466,7 @@ interface Category {
|
|
|
454
466
|
site_id: string;
|
|
455
467
|
name: string;
|
|
456
468
|
slug: string;
|
|
457
|
-
description?: string;
|
|
469
|
+
description?: string | null;
|
|
458
470
|
order: number;
|
|
459
471
|
extra?: Record<string, unknown>;
|
|
460
472
|
created_at: string;
|
|
@@ -498,7 +510,8 @@ interface Album {
|
|
|
498
510
|
order: number;
|
|
499
511
|
seo_title: string | null;
|
|
500
512
|
seo_description: string | null;
|
|
501
|
-
seo_keywords:
|
|
513
|
+
seo_keywords: string[] | null;
|
|
514
|
+
seo_image: string | null;
|
|
502
515
|
created_at: string;
|
|
503
516
|
updated_at: string;
|
|
504
517
|
items?: AlbumItem[];
|
|
@@ -572,6 +585,8 @@ interface Event {
|
|
|
572
585
|
organizer_email?: string | null;
|
|
573
586
|
start_date: string;
|
|
574
587
|
end_date?: string | null;
|
|
588
|
+
application_start_date?: string | null;
|
|
589
|
+
application_end_date?: string | null;
|
|
575
590
|
time?: string | null;
|
|
576
591
|
location_name?: string | null;
|
|
577
592
|
address?: string | null;
|
|
@@ -588,7 +603,7 @@ interface Event {
|
|
|
588
603
|
order: number;
|
|
589
604
|
seo_title?: string | null;
|
|
590
605
|
seo_description?: string | null;
|
|
591
|
-
seo_keywords?:
|
|
606
|
+
seo_keywords?: string[] | null;
|
|
592
607
|
seo_image?: string | null;
|
|
593
608
|
extra?: {
|
|
594
609
|
sections: Section[];
|
|
@@ -665,14 +680,6 @@ interface Contact extends ContactPayload {
|
|
|
665
680
|
updated_at: string;
|
|
666
681
|
}
|
|
667
682
|
//#endregion
|
|
668
|
-
//#region src/types/seo.d.ts
|
|
669
|
-
interface ProductSEO {
|
|
670
|
-
title?: string | null;
|
|
671
|
-
description?: string | null;
|
|
672
|
-
tags?: string[] | null;
|
|
673
|
-
}
|
|
674
|
-
interface ProductExtraData extends Record<string, unknown> {}
|
|
675
|
-
//#endregion
|
|
676
683
|
//#region src/types/product.d.ts
|
|
677
684
|
type ProductStatus = "draft" | "published" | "archived" | "out_of_stock";
|
|
678
685
|
interface ProductImage {
|
|
@@ -832,6 +839,8 @@ interface Order {
|
|
|
832
839
|
discount: number | null;
|
|
833
840
|
notes: string | null;
|
|
834
841
|
metadata: unknown;
|
|
842
|
+
/** False for inquiry-mode orders (site had price_visibility off) — stock was neither checked nor decremented. */
|
|
843
|
+
inventory_tracked: boolean;
|
|
835
844
|
deleted_at: string | null;
|
|
836
845
|
created_at: string;
|
|
837
846
|
updated_at: string;
|
|
@@ -1017,7 +1026,8 @@ declare function createCmsClient(config: CmsClientConfig): {
|
|
|
1017
1026
|
fetchCollections: (siteId: string, params?: {
|
|
1018
1027
|
page?: number;
|
|
1019
1028
|
limit?: number;
|
|
1020
|
-
search?: string;
|
|
1029
|
+
search?: string;
|
|
1030
|
+
/** Comma-separated list of collection IDs (e.g., "id1,id2") */
|
|
1021
1031
|
id?: string;
|
|
1022
1032
|
}, options?: FetchOptions) => Promise<PaginatedResponse<Collection>>;
|
|
1023
1033
|
fetchCollectionDetail: (siteId: string, slug: string, params?: {
|
|
@@ -1143,6 +1153,10 @@ interface Site {
|
|
|
1143
1153
|
domain: string;
|
|
1144
1154
|
is_published: boolean;
|
|
1145
1155
|
is_store_enabled: boolean;
|
|
1156
|
+
is_static_build_enabled: boolean;
|
|
1157
|
+
is_redirect_enabled: boolean;
|
|
1158
|
+
is_redirect_log_enabled: boolean;
|
|
1159
|
+
deploy_hook_url: string | null;
|
|
1146
1160
|
is_deleted: boolean;
|
|
1147
1161
|
created_at: string;
|
|
1148
1162
|
updated_at: string;
|
|
@@ -1170,11 +1184,7 @@ interface IconProps extends LucideProps {
|
|
|
1170
1184
|
* Dynamic Icon component that renders Lucide icons by name.
|
|
1171
1185
|
* Useful for CMS-driven icons where names are stored as strings.
|
|
1172
1186
|
*/
|
|
1173
|
-
declare function Icon({
|
|
1174
|
-
name,
|
|
1175
|
-
fallback,
|
|
1176
|
-
...props
|
|
1177
|
-
}: IconProps): React.ReactElement<LucideProps, string | React.JSXElementConstructor<any>>;
|
|
1187
|
+
declare function Icon({ name, fallback, ...props }: IconProps): React.ReactElement<LucideProps, string | React.JSXElementConstructor<any>>;
|
|
1178
1188
|
//#endregion
|
|
1179
1189
|
export { ANIMATION, APIResponse, AboutSection, AboutStat, AboutUsData, AboutValue, Album, AlbumItem, Blog, BlogSection, Brand, BrandGroup, Branding, CACHE, CONTACT_SUBJECTS, CTA, CTAContent, CartItem, Category, ClientsSection, CmsClientConfig, CmsError, Collection, CollectionDetail, CollectionGroupSection, CollectionItem, CollectionListItem, CompanyInfo, Contact, ContactConfig, ContactPayload, CreateSitePayload, Cta, CustomContent, Event, Faq, FaqGroup, FaqSection, FetchOptions, Footer, FooterNavChild, FooterNavGroup, FooterNavGroupLink, GallerySection, GenericSection, HTTP_STATUS, Header, HeroContent, HistoryItem, HistorySection, ICON_MAP, Icon, IconProps, Image, LocationConfig, MEDIA, MarqueeItem, MarqueeSection, MultiValueItem, MultiValueSection, NavChild, NavGrandChild, NavLink, Order, OrderItem, OrderStatus, PAGINATION, Page, PageListItem, PaginatedResponse, PaginationInfo, PaginationMeta, PlaceOrderPayload, Product, ProductBrand, ProductCategory, ProductExtraData, ProductImage, ProductListItem, ProductSEO, ProductSectionFilter, ProductStatus, ProductVariant, ProductVariantListItem, ProductsSection, PublicProductVariant, Redirect, Redirect404Log, RedirectStatusCode, ResolvedRedirect, RichContentSection, SEARCH, SEO, Section, Service, ServicesSection, ShippingAddress, SingleDataAPIResponse, Site, SiteConfig, SitemapBlogItem, SitemapCollectionItem, SitemapPageItem, SitemapProductItem, Social, SocialLink, StoreSettings, TeamMember, TeamSection, Testimonial, TestimonialsSection, UpdateSitePayload, UserSiteRole, WorkingHours, allPageTypes, createCmsClient, defaultPageTypes, pageTypes };
|
|
1180
1190
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/pagination.ts","../src/types/header.ts","../src/types/footer.ts","../src/types/site-config.ts","../src/types/page.ts","../src/types/about.ts","../src/types/service.ts","../src/types/blog.ts","../src/types/category.ts","../src/types/team-member.ts","../src/types/album.ts","../src/types/brand.ts","../src/types/testimonials.ts","../src/types/event.ts","../src/types/faq.ts","../src/types/faq-group.ts","../src/types/redirect.ts","../src/types/contact.ts","../src/types/seo.ts","../src/types/product.ts","../src/types/product-category.ts","../src/types/product-brand.ts","../src/types/collection.ts","../src/types/order.ts","../src/types/store-setting.ts","../src/types/sitemap.ts","../src/core/client.ts","../src/constants/pageTypes.ts","../src/constants/index.ts","../src/types/api-response.ts","../src/types/company-info.ts","../src/types/site.ts","../src/components/Icon.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/pagination.ts","../src/types/header.ts","../src/types/footer.ts","../src/types/site-config.ts","../src/types/cms-page.ts","../src/types/about.ts","../src/types/seo.ts","../src/types/service.ts","../src/types/blog.ts","../src/types/category.ts","../src/types/team-member.ts","../src/types/album.ts","../src/types/brand.ts","../src/types/testimonials.ts","../src/types/event.ts","../src/types/faq.ts","../src/types/faq-group.ts","../src/types/redirect.ts","../src/types/contact.ts","../src/types/product.ts","../src/types/product-category.ts","../src/types/product-brand.ts","../src/types/collection.ts","../src/types/order.ts","../src/types/store-setting.ts","../src/types/sitemap.ts","../src/core/client.ts","../src/constants/pageTypes.ts","../src/constants/index.ts","../src/types/api-response.ts","../src/types/company-info.ts","../src/types/site.ts","../src/components/Icon.tsx"],"mappings":";;;UAAiB;EACf;EACA;EACA;;KAIU,iBAAiB;UAEZ,kBAAkB;EACjC,MAAM;EACN,YAAY;;;;UCXG;EACf;EACA;;UAGe;EACf;EACA;EACA,WAAW;;UAGI;EACf;EACA;EACA,WAAW;;UAGI;EACf;EACA;;UAGe;EACf;EACA;EACA,WAAW;EACX,MAAM;EACN,OAAO;;;;UC3BQ;EACf;EACA;;UAGe;EACf;EACA;EACA,UAAU;;UAGK;EACf;EACA,OAAO;;UAGQ;EACf;EACA;EACA,YAAY;EACZ,OAAO;;;;UCpBQ;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAWe;EACf;EACA;EACA,SAAS;EACT,WAAW;EACX,gBAAgB;;UAGD;EACf;EACA;EACA;EACA;EACA,MAAM;EACN,SAAS;;;;UC9CM;EACf;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA,KAAK;EACL;EACA;IACE;IACA;;;UAIa;EACf;EACA;EACA;EACA;EACA;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;IACN;IACA;IACA;IACA;IACA;;;UAIa;EACf;EACA;EACA;EACA;EACA,KAAK;EACL,OAAO;EACP;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe,oBAAoB;EACnC;EACA;;UAGe,uBAAuB;EACtC;;UAGe,mBAAmB;EAClC;;UAGe,oBAAoB;EACnC;;UAGe,uBAAuB;EACtC;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA,KAAK;;UAGU;EACf;EACA;EACA,OAAO;EACP,MAAM,QAAQ;EACd;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA,QAAQ;EACR,QAAQ;;UAGO;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,OAAO;;UAGQ;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,OAAO;;KAGG;UAEK;EACf;EACA;EACA;EACA,SAAS;EACT;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;KAGU;EACN;EAAY;EAAyB;EAAc,SAAS;;EAC5D;EAAY;EAAyB;EAAgB,SAAS;;EAC9D;EAAY;EAAyB;EAAa,SAAS;;EAC3D;EAAY;EAAyB;EAAqB,SAAS;;EACnE;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAqB,SAAS;;EACnE;EAAY;EAAyB;EAAc,SAAS;;EAC5D;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAe,SAAS;;EAC7D;EAAY;EAAyB;EAAc,SAAS;;EAC5D;EAAY;EAAyB;EAAsB,SAAS;;EACpE;EAAY;EAAyB;EAAe,SAAS;;EAC7D;EAAY;EAAyB;EAAa,SAAS;;EAC3D;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAkB,SAAS;;EAEhE;EACA;EACA;EACA,SAAS;;UAGE;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA,KAAK;EACL,UAAU;EACV,QAAQ;EACR;EACA;;KAIU,eAAe,KAAK;;;UCtOf;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR,QAAQ;EACR,QAAQ;;;;UCzBO;EACf;EACA;EACA;EACA;;UAGe,yBAAyB;;;UCJzB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL;IACE,UAAU;;;;;UCnBG;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE,UAAU;IACV;MACE;MACA;MACA;;;;;;UC5BW;EACf;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;;;;UCTe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA,QAAQ;EACR;EACA;;;;UCrBe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UC5Be;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;;UAGM;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UCxBe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UCde;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE,UAAU;;;;;UChCG;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UCNe;EACf;EACA;EACA;EACA;EACA;EACA,MAAM;EACN;EACA;;;;KCVU;UAEK;EACf;EACA;EACA;EACA;EACA,aAAa;EACb;EACA;EACA;EACA;;UAGe;EACf,UAAU;EACV;EACA,QAAQ;EACR;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UC7Be;EACf;EACA;EACA;EACA;EACA;;UAGe,gBAAgB;EAC/B;EACA;EACA;EACA;EACA;;;;KCXU;UAEK;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aAAa;EACb;EACA,iBAAiB,eAAe;EAChC;EACA;EACA;EACA;EACA,QAAQ;;KAIE,uBAAuB,KAAK;EACtC;EACA;;KAIU,yBAAyB,KACnC;UAIe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;EACA,KAAK;EACL,OAAO;EACP;EACA,WAAW;;UAGI,gBAAgB,KAAK;EACpC;EACA;EACA;EACA;EACA;EACA,WAAW;;;;UCtEI;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL,OAAO;EACP;EACA;EACA;;;;UCZe;EACf;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL,OAAO;EACP;EACA;;;;UCRe;EACf;EACA;EACA;EACA;EACA,SAAS;;UAGM;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL,OAAO;EACP;EACA;EACA;EACA;IAAW;;;UAGI,yBAAyB,KAAK;EAC7C,OAAO;EACP,aAAa;;KAGH,aAAa;;;KChCb;UAQK;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA,kBAAkB;EAClB,QAAQ;EACR;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA,OAAO;;UAGQ;EACf;EACA;EACA,kBAAkB;EAClB,OAAO;IACL;IACA;;EAEF;EACA;EACA;EACA;;UAGe;EACf,SAAS;EACT,SAAS;EACT;;;;UCrEe;EACf;EACA;EACA;;;;UCHe;EACf;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;;;UCYe,qBAAqB;EACpC;EACA;;UAGe;EACf;EACA,iBAAiB;;cAGN,iBAAiB;EAEnB;EACA;EACA;EAFA,YAAA,iBACA,6BACA;;iBASK,gBAAgB,QAAQ;;EA4J5B,cAAA,gBAAM,UACJ,iBACT,QAAQ;EASD,cAAA,gBAAM,UACJ,iBACT,QAAQ;EASD,kBAAA,gBAAM,UACJ,iBACT,QAAQ;EAaD,aAAA,gBAAM;IACJ;KAAe,UACf,iBACT,QAAQ,kBAAkB;EAanB,iBAAA,gBAAM,iBACC,UACL,iBACT,QAAQ;EA0BD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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { LucideProps } from "lucide-react";
|
|
3
|
-
|
|
4
3
|
//#region src/types/pagination.d.ts
|
|
5
4
|
interface PaginationMeta {
|
|
6
5
|
page: number;
|
|
@@ -33,8 +32,8 @@ interface Cta {
|
|
|
33
32
|
title_url: string;
|
|
34
33
|
}
|
|
35
34
|
interface Header {
|
|
36
|
-
id:
|
|
37
|
-
site_id:
|
|
35
|
+
id: string;
|
|
36
|
+
site_id: string;
|
|
38
37
|
nav_links: NavLink[];
|
|
39
38
|
ctas: Cta[];
|
|
40
39
|
extra: Record<string, any>;
|
|
@@ -55,8 +54,8 @@ interface FooterNavGroup {
|
|
|
55
54
|
links: FooterNavGroupLink[];
|
|
56
55
|
}
|
|
57
56
|
interface Footer {
|
|
58
|
-
id:
|
|
59
|
-
site_id:
|
|
57
|
+
id: string;
|
|
58
|
+
site_id: string;
|
|
60
59
|
nav_groups: FooterNavGroup[];
|
|
61
60
|
extra: Record<string, any>;
|
|
62
61
|
}
|
|
@@ -90,15 +89,15 @@ interface ContactConfig {
|
|
|
90
89
|
working_hours?: WorkingHours | null;
|
|
91
90
|
}
|
|
92
91
|
interface SiteConfig {
|
|
93
|
-
id:
|
|
94
|
-
site_id:
|
|
92
|
+
id: string;
|
|
93
|
+
site_id: string;
|
|
95
94
|
site_name: string;
|
|
96
|
-
site_description: string;
|
|
95
|
+
site_description: string | null;
|
|
97
96
|
logo: Branding;
|
|
98
97
|
contact: ContactConfig;
|
|
99
98
|
}
|
|
100
99
|
//#endregion
|
|
101
|
-
//#region src/types/page.d.ts
|
|
100
|
+
//#region src/types/cms-page.d.ts
|
|
102
101
|
interface CTA {
|
|
103
102
|
type: string;
|
|
104
103
|
text: string;
|
|
@@ -364,6 +363,7 @@ interface Page {
|
|
|
364
363
|
status: "draft" | "published" | "archived";
|
|
365
364
|
seo: SEO | null;
|
|
366
365
|
settings: Record<string, any> | null;
|
|
366
|
+
extra?: Record<string, any> | null;
|
|
367
367
|
created_at: string;
|
|
368
368
|
updated_at: string;
|
|
369
369
|
}
|
|
@@ -396,6 +396,15 @@ interface AboutUsData {
|
|
|
396
396
|
extra?: Record<string, unknown> | null;
|
|
397
397
|
}
|
|
398
398
|
//#endregion
|
|
399
|
+
//#region src/types/seo.d.ts
|
|
400
|
+
interface ProductSEO {
|
|
401
|
+
title?: string | null;
|
|
402
|
+
description?: string | null;
|
|
403
|
+
tags?: string[] | null;
|
|
404
|
+
image?: string | null;
|
|
405
|
+
}
|
|
406
|
+
interface ProductExtraData extends Record<string, unknown> {}
|
|
407
|
+
//#endregion
|
|
399
408
|
//#region src/types/service.d.ts
|
|
400
409
|
interface Service {
|
|
401
410
|
id: string;
|
|
@@ -413,6 +422,7 @@ interface Service {
|
|
|
413
422
|
order: number;
|
|
414
423
|
created_at: string;
|
|
415
424
|
updated_at: string;
|
|
425
|
+
seo: ProductSEO | null;
|
|
416
426
|
extra?: {
|
|
417
427
|
sections: Section[];
|
|
418
428
|
} | null;
|
|
@@ -426,6 +436,8 @@ interface Blog {
|
|
|
426
436
|
title: string;
|
|
427
437
|
image_url?: string | null;
|
|
428
438
|
image_alt?: string | null;
|
|
439
|
+
thumbnail_url?: string | null;
|
|
440
|
+
thumbnail_alt?: string | null;
|
|
429
441
|
author: string;
|
|
430
442
|
description?: string | null;
|
|
431
443
|
excerpt?: string | null;
|
|
@@ -436,7 +448,7 @@ interface Blog {
|
|
|
436
448
|
order: number;
|
|
437
449
|
seo_title?: string | null;
|
|
438
450
|
seo_description?: string | null;
|
|
439
|
-
seo_keywords?:
|
|
451
|
+
seo_keywords?: string[] | null;
|
|
440
452
|
seo_image?: string | null;
|
|
441
453
|
extra?: {
|
|
442
454
|
sections: Section[];
|
|
@@ -454,7 +466,7 @@ interface Category {
|
|
|
454
466
|
site_id: string;
|
|
455
467
|
name: string;
|
|
456
468
|
slug: string;
|
|
457
|
-
description?: string;
|
|
469
|
+
description?: string | null;
|
|
458
470
|
order: number;
|
|
459
471
|
extra?: Record<string, unknown>;
|
|
460
472
|
created_at: string;
|
|
@@ -498,7 +510,8 @@ interface Album {
|
|
|
498
510
|
order: number;
|
|
499
511
|
seo_title: string | null;
|
|
500
512
|
seo_description: string | null;
|
|
501
|
-
seo_keywords:
|
|
513
|
+
seo_keywords: string[] | null;
|
|
514
|
+
seo_image: string | null;
|
|
502
515
|
created_at: string;
|
|
503
516
|
updated_at: string;
|
|
504
517
|
items?: AlbumItem[];
|
|
@@ -572,6 +585,8 @@ interface Event {
|
|
|
572
585
|
organizer_email?: string | null;
|
|
573
586
|
start_date: string;
|
|
574
587
|
end_date?: string | null;
|
|
588
|
+
application_start_date?: string | null;
|
|
589
|
+
application_end_date?: string | null;
|
|
575
590
|
time?: string | null;
|
|
576
591
|
location_name?: string | null;
|
|
577
592
|
address?: string | null;
|
|
@@ -588,7 +603,7 @@ interface Event {
|
|
|
588
603
|
order: number;
|
|
589
604
|
seo_title?: string | null;
|
|
590
605
|
seo_description?: string | null;
|
|
591
|
-
seo_keywords?:
|
|
606
|
+
seo_keywords?: string[] | null;
|
|
592
607
|
seo_image?: string | null;
|
|
593
608
|
extra?: {
|
|
594
609
|
sections: Section[];
|
|
@@ -665,14 +680,6 @@ interface Contact extends ContactPayload {
|
|
|
665
680
|
updated_at: string;
|
|
666
681
|
}
|
|
667
682
|
//#endregion
|
|
668
|
-
//#region src/types/seo.d.ts
|
|
669
|
-
interface ProductSEO {
|
|
670
|
-
title?: string | null;
|
|
671
|
-
description?: string | null;
|
|
672
|
-
tags?: string[] | null;
|
|
673
|
-
}
|
|
674
|
-
interface ProductExtraData extends Record<string, unknown> {}
|
|
675
|
-
//#endregion
|
|
676
683
|
//#region src/types/product.d.ts
|
|
677
684
|
type ProductStatus = "draft" | "published" | "archived" | "out_of_stock";
|
|
678
685
|
interface ProductImage {
|
|
@@ -832,6 +839,8 @@ interface Order {
|
|
|
832
839
|
discount: number | null;
|
|
833
840
|
notes: string | null;
|
|
834
841
|
metadata: unknown;
|
|
842
|
+
/** False for inquiry-mode orders (site had price_visibility off) — stock was neither checked nor decremented. */
|
|
843
|
+
inventory_tracked: boolean;
|
|
835
844
|
deleted_at: string | null;
|
|
836
845
|
created_at: string;
|
|
837
846
|
updated_at: string;
|
|
@@ -1017,7 +1026,8 @@ declare function createCmsClient(config: CmsClientConfig): {
|
|
|
1017
1026
|
fetchCollections: (siteId: string, params?: {
|
|
1018
1027
|
page?: number;
|
|
1019
1028
|
limit?: number;
|
|
1020
|
-
search?: string;
|
|
1029
|
+
search?: string;
|
|
1030
|
+
/** Comma-separated list of collection IDs (e.g., "id1,id2") */
|
|
1021
1031
|
id?: string;
|
|
1022
1032
|
}, options?: FetchOptions) => Promise<PaginatedResponse<Collection>>;
|
|
1023
1033
|
fetchCollectionDetail: (siteId: string, slug: string, params?: {
|
|
@@ -1143,6 +1153,10 @@ interface Site {
|
|
|
1143
1153
|
domain: string;
|
|
1144
1154
|
is_published: boolean;
|
|
1145
1155
|
is_store_enabled: boolean;
|
|
1156
|
+
is_static_build_enabled: boolean;
|
|
1157
|
+
is_redirect_enabled: boolean;
|
|
1158
|
+
is_redirect_log_enabled: boolean;
|
|
1159
|
+
deploy_hook_url: string | null;
|
|
1146
1160
|
is_deleted: boolean;
|
|
1147
1161
|
created_at: string;
|
|
1148
1162
|
updated_at: string;
|
|
@@ -1170,11 +1184,7 @@ interface IconProps extends LucideProps {
|
|
|
1170
1184
|
* Dynamic Icon component that renders Lucide icons by name.
|
|
1171
1185
|
* Useful for CMS-driven icons where names are stored as strings.
|
|
1172
1186
|
*/
|
|
1173
|
-
declare function Icon({
|
|
1174
|
-
name,
|
|
1175
|
-
fallback,
|
|
1176
|
-
...props
|
|
1177
|
-
}: IconProps): React.ReactElement<LucideProps, string | React.JSXElementConstructor<any>>;
|
|
1187
|
+
declare function Icon({ name, fallback, ...props }: IconProps): React.ReactElement<LucideProps, string | React.JSXElementConstructor<any>>;
|
|
1178
1188
|
//#endregion
|
|
1179
1189
|
export { ANIMATION, APIResponse, AboutSection, AboutStat, AboutUsData, AboutValue, Album, AlbumItem, Blog, BlogSection, Brand, BrandGroup, Branding, CACHE, CONTACT_SUBJECTS, CTA, CTAContent, CartItem, Category, ClientsSection, CmsClientConfig, CmsError, Collection, CollectionDetail, CollectionGroupSection, CollectionItem, CollectionListItem, CompanyInfo, Contact, ContactConfig, ContactPayload, CreateSitePayload, Cta, CustomContent, Event, Faq, FaqGroup, FaqSection, FetchOptions, Footer, FooterNavChild, FooterNavGroup, FooterNavGroupLink, GallerySection, GenericSection, HTTP_STATUS, Header, HeroContent, HistoryItem, HistorySection, ICON_MAP, Icon, IconProps, Image, LocationConfig, MEDIA, MarqueeItem, MarqueeSection, MultiValueItem, MultiValueSection, NavChild, NavGrandChild, NavLink, Order, OrderItem, OrderStatus, PAGINATION, Page, PageListItem, PaginatedResponse, PaginationInfo, PaginationMeta, PlaceOrderPayload, Product, ProductBrand, ProductCategory, ProductExtraData, ProductImage, ProductListItem, ProductSEO, ProductSectionFilter, ProductStatus, ProductVariant, ProductVariantListItem, ProductsSection, PublicProductVariant, Redirect, Redirect404Log, RedirectStatusCode, ResolvedRedirect, RichContentSection, SEARCH, SEO, Section, Service, ServicesSection, ShippingAddress, SingleDataAPIResponse, Site, SiteConfig, SitemapBlogItem, SitemapCollectionItem, SitemapPageItem, SitemapProductItem, Social, SocialLink, StoreSettings, TeamMember, TeamSection, Testimonial, TestimonialsSection, UpdateSitePayload, UserSiteRole, WorkingHours, allPageTypes, createCmsClient, defaultPageTypes, pageTypes };
|
|
1180
1190
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/pagination.ts","../src/types/header.ts","../src/types/footer.ts","../src/types/site-config.ts","../src/types/page.ts","../src/types/about.ts","../src/types/service.ts","../src/types/blog.ts","../src/types/category.ts","../src/types/team-member.ts","../src/types/album.ts","../src/types/brand.ts","../src/types/testimonials.ts","../src/types/event.ts","../src/types/faq.ts","../src/types/faq-group.ts","../src/types/redirect.ts","../src/types/contact.ts","../src/types/seo.ts","../src/types/product.ts","../src/types/product-category.ts","../src/types/product-brand.ts","../src/types/collection.ts","../src/types/order.ts","../src/types/store-setting.ts","../src/types/sitemap.ts","../src/core/client.ts","../src/constants/pageTypes.ts","../src/constants/index.ts","../src/types/api-response.ts","../src/types/company-info.ts","../src/types/site.ts","../src/components/Icon.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/pagination.ts","../src/types/header.ts","../src/types/footer.ts","../src/types/site-config.ts","../src/types/cms-page.ts","../src/types/about.ts","../src/types/seo.ts","../src/types/service.ts","../src/types/blog.ts","../src/types/category.ts","../src/types/team-member.ts","../src/types/album.ts","../src/types/brand.ts","../src/types/testimonials.ts","../src/types/event.ts","../src/types/faq.ts","../src/types/faq-group.ts","../src/types/redirect.ts","../src/types/contact.ts","../src/types/product.ts","../src/types/product-category.ts","../src/types/product-brand.ts","../src/types/collection.ts","../src/types/order.ts","../src/types/store-setting.ts","../src/types/sitemap.ts","../src/core/client.ts","../src/constants/pageTypes.ts","../src/constants/index.ts","../src/types/api-response.ts","../src/types/company-info.ts","../src/types/site.ts","../src/components/Icon.tsx"],"mappings":";;;UAAiB;EACf;EACA;EACA;;KAIU,iBAAiB;UAEZ,kBAAkB;EACjC,MAAM;EACN,YAAY;;;;UCXG;EACf;EACA;;UAGe;EACf;EACA;EACA,WAAW;;UAGI;EACf;EACA;EACA,WAAW;;UAGI;EACf;EACA;;UAGe;EACf;EACA;EACA,WAAW;EACX,MAAM;EACN,OAAO;;;;UC3BQ;EACf;EACA;;UAGe;EACf;EACA;EACA,UAAU;;UAGK;EACf;EACA,OAAO;;UAGQ;EACf;EACA;EACA,YAAY;EACZ,OAAO;;;;UCpBQ;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAWe;EACf;EACA;EACA,SAAS;EACT,WAAW;EACX,gBAAgB;;UAGD;EACf;EACA;EACA;EACA;EACA,MAAM;EACN,SAAS;;;;UC9CM;EACf;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA,KAAK;EACL;EACA;IACE;IACA;;;UAIa;EACf;EACA;EACA;EACA;EACA;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;IACN;IACA;IACA;IACA;IACA;;;UAIa;EACf;EACA;EACA;EACA;EACA,KAAK;EACL,OAAO;EACP;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;UAGe,oBAAoB;EACnC;EACA;;UAGe,uBAAuB;EACtC;;UAGe,mBAAmB;EAClC;;UAGe,oBAAoB;EACnC;;UAGe,uBAAuB;EACtC;;UAGe;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA,KAAK;;UAGU;EACf;EACA;EACA,OAAO;EACP,MAAM,QAAQ;EACd;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA,QAAQ;EACR,QAAQ;;UAGO;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,OAAO;;UAGQ;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA,OAAO;;KAGG;UAEK;EACf;EACA;EACA;EACA,SAAS;EACT;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;;KAGU;EACN;EAAY;EAAyB;EAAc,SAAS;;EAC5D;EAAY;EAAyB;EAAgB,SAAS;;EAC9D;EAAY;EAAyB;EAAa,SAAS;;EAC3D;EAAY;EAAyB;EAAqB,SAAS;;EACnE;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAqB,SAAS;;EACnE;EAAY;EAAyB;EAAc,SAAS;;EAC5D;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAe,SAAS;;EAC7D;EAAY;EAAyB;EAAc,SAAS;;EAC5D;EAAY;EAAyB;EAAsB,SAAS;;EACpE;EAAY;EAAyB;EAAe,SAAS;;EAC7D;EAAY;EAAyB;EAAa,SAAS;;EAC3D;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAiB,SAAS;;EAC/D;EAAY;EAAyB;EAAkB,SAAS;;EAEhE;EACA;EACA;EACA,SAAS;;UAGE;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA,KAAK;EACL,UAAU;EACV,QAAQ;EACR;EACA;;KAIU,eAAe,KAAK;;;UCtOf;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR,QAAQ;EACR,QAAQ;;;;UCzBO;EACf;EACA;EACA;EACA;;UAGe,yBAAyB;;;UCJzB;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL;IACE,UAAU;;;;;UCnBG;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE,UAAU;IACV;MACE;MACA;MACA;;;;;;UC5BW;EACf;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;;;;UCTe;EACf;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU;EACV;EACA;EACA,QAAQ;EACR;EACA;;;;UCrBe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UC5Be;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;;UAGM;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UCxBe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UCde;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;IACE,UAAU;;;;;UChCG;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UCNe;EACf;EACA;EACA;EACA;EACA;EACA,MAAM;EACN;EACA;;;;KCVU;UAEK;EACf;EACA;EACA;EACA;EACA,aAAa;EACb;EACA;EACA;EACA;;UAGe;EACf,UAAU;EACV;EACA,QAAQ;EACR;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;UC7Be;EACf;EACA;EACA;EACA;EACA;;UAGe,gBAAgB;EAC/B;EACA;EACA;EACA;EACA;;;;KCXU;UAEK;EACf;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aAAa;EACb;EACA,iBAAiB,eAAe;EAChC;EACA;EACA;EACA;EACA,QAAQ;;KAIE,uBAAuB,KAAK;EACtC;EACA;;KAIU,yBAAyB,KACnC;UAIe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;EACA;EACA,KAAK;EACL,OAAO;EACP;EACA,WAAW;;UAGI,gBAAgB,KAAK;EACpC;EACA;EACA;EACA;EACA;EACA,WAAW;;;;UCtEI;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL,OAAO;EACP;EACA;EACA;;;;UCZe;EACf;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL,OAAO;EACP;EACA;;;;UCRe;EACf;EACA;EACA;EACA;EACA,SAAS;;UAGM;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,KAAK;EACL,OAAO;EACP;EACA;EACA;EACA;IAAW;;;UAGI,yBAAyB,KAAK;EAC7C,OAAO;EACP,aAAa;;KAGH,aAAa;;;KChCb;UAQK;EACf;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAGe;EACf;EACA;EACA;EACA;EACA;EACA,kBAAkB;EAClB,QAAQ;EACR;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA,OAAO;;UAGQ;EACf;EACA;EACA,kBAAkB;EAClB,OAAO;IACL;IACA;;EAEF;EACA;EACA;EACA;;UAGe;EACf,SAAS;EACT,SAAS;EACT;;;;UCrEe;EACf;EACA;EACA;;;;UCHe;EACf;EACA;EACA;;UAGe;EACf;EACA;;UAGe;EACf;EACA;EACA;;UAGe;EACf;EACA;EACA;;;;UCYe,qBAAqB;EACpC;EACA;;UAGe;EACf;EACA,iBAAiB;;cAGN,iBAAiB;EAEnB;EACA;EACA;EAFA,YAAA,iBACA,6BACA;;iBASK,gBAAgB,QAAQ;;EA4J5B,cAAA,gBAAM,UACJ,iBACT,QAAQ;EASD,cAAA,gBAAM,UACJ,iBACT,QAAQ;EASD,kBAAA,gBAAM,UACJ,iBACT,QAAQ;EAaD,aAAA,gBAAM;IACJ;KAAe,UACf,iBACT,QAAQ,kBAAkB;EAanB,iBAAA,gBAAM,iBACC,UACL,iBACT,QAAQ;EA0BD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"}
|
package/dist/index.mjs
CHANGED
|
@@ -79,7 +79,7 @@ const MEDIA = {
|
|
|
79
79
|
".webm",
|
|
80
80
|
".ogg"
|
|
81
81
|
],
|
|
82
|
-
MAX_IMAGE_SIZE:
|
|
82
|
+
MAX_IMAGE_SIZE: 5242880
|
|
83
83
|
};
|
|
84
84
|
//#endregion
|
|
85
85
|
//#region src/core/client.ts
|
|
@@ -127,6 +127,7 @@ function createCmsClient(config) {
|
|
|
127
127
|
}
|
|
128
128
|
return null;
|
|
129
129
|
}
|
|
130
|
+
if (response.status === 204) return null;
|
|
130
131
|
const result = await response.json();
|
|
131
132
|
return result.data ?? result;
|
|
132
133
|
} catch (error) {
|
|
@@ -187,8 +188,10 @@ function createCmsClient(config) {
|
|
|
187
188
|
function buildQueryString(params) {
|
|
188
189
|
const query = new URLSearchParams();
|
|
189
190
|
Object.entries(params).forEach(([key, value]) => {
|
|
190
|
-
if (value !== void 0 && value !== null)
|
|
191
|
-
|
|
191
|
+
if (value !== void 0 && value !== null) {
|
|
192
|
+
if (Array.isArray(value)) value.forEach((v) => query.append(key, String(v)));
|
|
193
|
+
else query.append(key, String(value));
|
|
194
|
+
}
|
|
192
195
|
});
|
|
193
196
|
return query.toString();
|
|
194
197
|
}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/constants/pageTypes.ts","../src/constants/index.ts","../src/core/client.ts","../src/components/Icon.tsx"],"sourcesContent":["export const pageTypes = [\"home\", \"about\", \"contact\"] as const;\n\nexport const defaultPageTypes = [\n ...pageTypes,\n \"services\",\n \"blog\",\n \"team\",\n \"gallery\",\n \"events\",\n] as const;\n\nexport const allPageTypes = [\n ...pageTypes,\n \"custom\",\n \"services\",\n \"blog\",\n \"team\",\n \"gallery\",\n \"events\",\n] as const;\n","export * from \"./pageTypes\";\n\nexport const PAGINATION = {\n DEFAULT_PAGE: 1,\n DEFAULT_LIMIT: 10,\n LIST_DEFAULT_LIMIT: 20,\n BLOGS_PER_PAGE: 9,\n EVENTS_PER_PAGE: 9,\n ALBUMS_PER_PAGE: 9,\n MAX_ITEMS_FOR_SSG: 200,\n} as const;\n\nexport const SEARCH = {\n DEBOUNCE_MS: 500,\n MIN_QUERY_LENGTH: 2,\n} as const;\n\nexport const CACHE = {\n NO_CACHE: 0,\n SHORT: 60, // 1 minute\n MEDIUM: 300, // 5 minutes\n LONG: 3600, // 1 hour\n STATIC: 86400, // 24 hours\n} as const;\n\nexport const ANIMATION = {\n FAST: 0.2,\n NORMAL: 0.3,\n SLOW: 0.6,\n} as const;\n\nexport const CONTACT_SUBJECTS = [\n \"General Inquiry\",\n \"Project Proposal\",\n \"Careers\",\n \"Other\",\n] as const;\n\nexport const HTTP_STATUS = {\n OK: 200,\n CREATED: 201,\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n INTERNAL_ERROR: 500,\n} as const;\n\nexport const MEDIA = {\n IMAGE_EXTENSIONS: [\".jpg\", \".jpeg\", \".png\", \".gif\", \".webp\", \".svg\"],\n VIDEO_EXTENSIONS: [\".mp4\", \".webm\", \".ogg\"],\n MAX_IMAGE_SIZE: 5 * 1024 * 1024,\n} as const;\n","import { CACHE, PAGINATION } from \"../constants\";\nimport type { PaginatedResponse } from \"../types/pagination\";\nimport type { Header } from \"../types/header\";\nimport type { Footer } from \"../types/footer\";\nimport type { SiteConfig } from \"../types/site-config\";\nimport type { Page, PageListItem } from \"../types/page\";\nimport type { AboutUsData } from \"../types/about\";\nimport type { Service } from \"../types/service\";\nimport type { Blog } from \"../types/blog\";\nimport type { Category } from \"../types/category\";\nimport type { TeamMember } from \"../types/team-member\";\nimport type { Album, AlbumItem } from \"../types/album\";\nimport type { BrandGroup, Brand } from \"../types/brand\";\nimport type { Testimonial } from \"../types/testimonials\";\nimport type { Event } from \"../types/event\";\nimport type { Faq } from \"../types/faq\";\nimport type { FaqGroup } from \"../types/faq-group\";\nimport type { Redirect, Redirect404Log, ResolvedRedirect } from \"../types/redirect\";\nimport type { ContactPayload, Contact } from \"../types/contact\";\nimport type { Product, ProductListItem, ProductVariant } from \"../types/product\";\nimport type { ProductCategory } from \"../types/product-category\";\nimport type { ProductBrand } from \"../types/product-brand\";\nimport type { Collection, CollectionDetail } from \"../types/collection\";\nimport type { Order, PlaceOrderPayload } from \"../types/order\";\nimport type { StoreSettings } from \"../types/store-setting\";\nimport type {\n SitemapBlogItem,\n SitemapPageItem,\n SitemapProductItem,\n SitemapCollectionItem,\n} from \"../types/sitemap\";\n\nexport interface FetchOptions extends RequestInit {\n revalidate?: number;\n tags?: string[];\n}\n\nexport interface CmsClientConfig {\n baseUrl: string;\n defaultOptions?: FetchOptions;\n}\n\nexport class CmsError extends Error {\n constructor(\n public message: string,\n public status?: number,\n public url?: string,\n ) {\n super(message);\n this.name = \"CmsError\";\n }\n}\n\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nexport function createCmsClient(config: CmsClientConfig) {\n const { baseUrl, defaultOptions = {} } = config;\n\n async function cmsFetch<T>(\n endpoint: string,\n options: FetchOptions = {},\n retries = 2,\n ): Promise<T | null> {\n const url = `${baseUrl}${endpoint}`;\n const {\n revalidate = CACHE.NO_CACHE,\n tags,\n ...rest\n } = { ...defaultOptions, ...options };\n\n const fetchConfig: RequestInit & {\n next?: { revalidate?: number; tags?: string[] };\n } = {\n ...rest,\n next: {\n revalidate,\n ...(tags && { tags }),\n },\n };\n\n let lastError: Error | null = null;\n\n for (let attempt = 0; attempt <= retries; attempt++) {\n try {\n const response = await fetch(url, fetchConfig);\n\n if (!response.ok) {\n const errorMsg = `API request failed: ${response.status} ${url}`;\n console.error(errorMsg);\n\n // Retry on transient server errors (502, 503, 504)\n if (attempt < retries && [502, 503, 504].includes(response.status)) {\n await sleep(Math.pow(2, attempt) * 1000);\n continue;\n }\n\n return null;\n }\n\n const result = await response.json();\n return result.data ?? result;\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error));\n console.error(\n `API request error (attempt ${attempt + 1}/${retries + 1}): ${url}`,\n lastError,\n );\n\n if (attempt < retries) {\n await sleep(Math.pow(2, attempt) * 1000);\n continue;\n }\n }\n }\n\n return null;\n }\n\n async function cmsFetchPaginated<T>(\n endpoint: string,\n options: FetchOptions = {},\n retries = 2,\n ): Promise<PaginatedResponse<T>> {\n const emptyResponse: PaginatedResponse<T> = {\n data: [],\n pagination: {\n page: 1,\n limit: PAGINATION.DEFAULT_LIMIT,\n total: 0,\n },\n };\n\n const url = `${baseUrl}${endpoint}`;\n const {\n revalidate = CACHE.NO_CACHE,\n tags,\n ...rest\n } = { ...defaultOptions, ...options };\n\n const fetchConfig: RequestInit & {\n next?: { revalidate?: number; tags?: string[] };\n } = {\n ...rest,\n next: {\n revalidate,\n ...(tags && { tags }),\n },\n };\n\n for (let attempt = 0; attempt <= retries; attempt++) {\n try {\n const response = await fetch(url, fetchConfig);\n\n if (!response.ok) {\n console.error(`API request failed: ${response.status} ${url}`);\n\n if (attempt < retries && [502, 503, 504].includes(response.status)) {\n await sleep(Math.pow(2, attempt) * 1000);\n continue;\n }\n\n return emptyResponse;\n }\n\n return await response.json();\n } catch (error) {\n console.error(\n `API request error (attempt ${attempt + 1}/${retries + 1}): ${url}`,\n error,\n );\n\n if (attempt < retries) {\n await sleep(Math.pow(2, attempt) * 1000);\n continue;\n }\n }\n }\n\n return emptyResponse;\n }\n\n function buildQueryString(\n params: Record<string, string | number | string[] | number[] | undefined | null>,\n ): string {\n const query = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n value.forEach((v) => query.append(key, String(v)));\n } else {\n query.append(key, String(value));\n }\n }\n });\n return query.toString();\n }\n\n // Default page size for list endpoints (categories, team, brands, testimonials,\n // faq-groups, faqs, album-items). Matches the backend's getPaginationParamsWithoutLimit(c, 20).\n const LIST_DEFAULT_LIMIT = PAGINATION.LIST_DEFAULT_LIMIT;\n\n // ============================================================================\n // Header, Footer, Site Config\n // ============================================================================\n\n function fetchHeader(\n siteId: string,\n options?: FetchOptions,\n ): Promise<Header | null> {\n return cmsFetch<Header>(`/api/public/cms/${siteId}/header/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"header\"],\n ...options,\n });\n }\n\n function fetchFooter(\n siteId: string,\n options?: FetchOptions,\n ): Promise<Footer | null> {\n return cmsFetch<Footer>(`/api/public/cms/${siteId}/footer/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"footer\"],\n ...options,\n });\n }\n\n function fetchSiteConfig(\n siteId: string,\n options?: FetchOptions,\n ): Promise<SiteConfig | null> {\n return cmsFetch<SiteConfig>(`/api/public/cms/${siteId}/site-config/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"site-config\"],\n ...options,\n });\n }\n\n // ============================================================================\n // Pages\n // ============================================================================\n\n function fetchPages(\n siteId: string,\n params: { page?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<PageListItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<PageListItem>(\n `/api/public/cms/${siteId}/page/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"pages\"],\n ...options,\n },\n );\n }\n\n async function fetchPageByUrl(\n siteId: string,\n urlPath: string,\n options?: FetchOptions,\n ): Promise<Page | null> {\n try {\n const targetUrl =\n urlPath === \"/\" || urlPath === \"\"\n ? \"/\"\n : `/${urlPath.replace(/^\\/|\\/$/g, \"\")}`;\n\n return await cmsFetch<Page>(\n `/api/public/cms/${siteId}/page/by-url/?url=${encodeURIComponent(targetUrl)}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"pages\", `page-${targetUrl || \"root\"}`],\n ...options,\n },\n );\n } catch (error) {\n console.error(`Error in fetchPageByUrl for ${urlPath}:`, error);\n return null;\n }\n }\n\n // ============================================================================\n // About Us\n // ============================================================================\n\n function fetchAboutUs(\n siteId: string,\n options?: FetchOptions,\n ): Promise<AboutUsData | null> {\n return cmsFetch<AboutUsData>(`/api/public/cms/${siteId}/about-us/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"about\"],\n ...options,\n });\n }\n\n // ============================================================================\n // Services\n // ============================================================================\n\n async function fetchServices(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Service>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Service>(\n `/api/public/cms/${siteId}/services/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"services\"],\n ...options,\n },\n );\n }\n\n function fetchServiceBySlug(\n siteId: string,\n slug: string,\n options?: FetchOptions,\n ): Promise<Service | null> {\n return cmsFetch<Service>(`/api/public/cms/${siteId}/services/${slug}`, {\n revalidate: CACHE.SHORT,\n tags: [\"services\", `service-${slug}`],\n ...options,\n });\n }\n\n // ============================================================================\n // Blogs\n // ============================================================================\n\n function fetchBlogs(\n siteId: string,\n params: { page?: number; limit?: number; search?: string } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Blog>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Blog>(`/api/public/cms/${siteId}/blog/?${query}`, {\n revalidate: CACHE.SHORT,\n tags: [\"blogs\"],\n ...options,\n });\n }\n\n function fetchBlogBySlug(\n siteId: string,\n slug: string,\n options?: FetchOptions,\n ): Promise<Blog | null> {\n return cmsFetch<Blog>(`/api/public/cms/${siteId}/blog/${slug}`, {\n revalidate: CACHE.SHORT,\n tags: [\"blogs\", `blog-${slug}`],\n ...options,\n });\n }\n\n // Backwards-compatible alias. Backend route resolves by slug.\n function fetchBlogById(\n siteId: string,\n idOrSlug: number | string,\n options?: FetchOptions,\n ): Promise<Blog | null> {\n return fetchBlogBySlug(siteId, String(idOrSlug), options);\n }\n\n // ============================================================================\n // Categories\n // ============================================================================\n\n function fetchCategories(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Category>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Category>(\n `/api/public/cms/${siteId}/categories/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"categories\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Team Members\n // ============================================================================\n\n function fetchTeamMembers(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<TeamMember>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<TeamMember>(\n `/api/public/cms/${siteId}/team-members/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"team\"],\n ...options,\n },\n );\n }\n\n function fetchTeamMembersByCategory(\n siteId: string,\n params: { categoryId: string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<TeamMember>> {\n const query = buildQueryString({\n category_id: params.categoryId,\n page: params.page,\n limit: params.limit,\n });\n return cmsFetchPaginated<TeamMember>(\n `/api/public/cms/${siteId}/team-members/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"team\", `team-category-${params.categoryId}`],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Albums\n // ============================================================================\n\n function fetchAlbums(\n siteId: string,\n params: { page?: number; limit?: number; search?: string } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Album>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Album>(\n `/api/public/cms/${siteId}/albums/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"albums\"],\n ...options,\n },\n );\n }\n\n function fetchAlbumItems(\n siteId: string,\n params: { album?: string; album_id?: string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<AlbumItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<AlbumItem>(\n `/api/public/cms/${siteId}/albums/album-items/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"album-items\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Brands\n // ============================================================================\n\n function fetchBrandGroups(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<BrandGroup>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<BrandGroup>(\n `/api/public/cms/${siteId}/brand-groups/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"brand-groups\"],\n ...options,\n },\n );\n }\n\n function fetchBrands(\n siteId: string,\n params: { group?: string; group_id?: string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Brand>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Brand>(\n `/api/public/cms/${siteId}/brand-groups/brands/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"brands\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Testimonials\n // ============================================================================\n\n function fetchTestimonials(\n siteId: string,\n params?: { type?: \"testimonial\" | \"review\" | string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Testimonial>> {\n const query = buildQueryString({\n type: params?.type,\n page: params?.page,\n limit: params?.limit,\n });\n return cmsFetchPaginated<Testimonial>(\n `/api/public/cms/${siteId}/testimonials/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"testimonials\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Events\n // ============================================================================\n\n function fetchEvents(\n siteId: string,\n params: { page?: number; limit?: number; search?: string } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Event>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Event>(\n `/api/public/cms/${siteId}/events/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"events\"],\n ...options,\n },\n );\n }\n\n function fetchEventBySlug(\n siteId: string,\n slug: string,\n options?: FetchOptions,\n ): Promise<Event | null> {\n return cmsFetch<Event>(`/api/public/cms/${siteId}/events/${slug}`, {\n revalidate: CACHE.SHORT,\n tags: [\"events\", `event-${slug}`],\n ...options,\n });\n }\n\n // ============================================================================\n // FAQ Groups\n // ============================================================================\n\n function fetchFaqGroups(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<FaqGroup>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<FaqGroup>(\n `/api/public/cms/${siteId}/faq-groups/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"faq-groups\"],\n ...options,\n },\n );\n }\n\n async function submitContactForm(\n siteId: string,\n payload: ContactPayload,\n options?: FetchOptions,\n ): Promise<Contact | null> {\n return cmsFetch<Contact>(`/api/public/cms/${siteId}/contact/`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(payload),\n revalidate: CACHE.NO_CACHE, // Never cache form submissions\n ...options,\n });\n }\n\n function fetchFaqs(\n siteId: string,\n params?: { group_id?: string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Faq>> {\n const query = buildQueryString({\n group_id: params?.group_id,\n page: params?.page,\n limit: params?.limit,\n });\n return cmsFetchPaginated<Faq>(\n `/api/public/cms/${siteId}/faqs/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"faqs\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Redirects\n // ============================================================================\n\n async function fetchRedirects(\n siteId: string,\n options?: FetchOptions,\n ): Promise<Redirect[]> {\n const result = await cmsFetch<Redirect[]>(\n `/api/public/cms/${siteId}/redirects/`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"redirects\"],\n ...options,\n },\n );\n return result ?? [];\n }\n\n function resolveRedirect(\n siteId: string,\n sourcePath: string,\n options?: FetchOptions,\n ): Promise<ResolvedRedirect | null> {\n return cmsFetch<ResolvedRedirect>(\n `/api/public/cms/${siteId}/redirects/resolve/?sourcePath=${encodeURIComponent(sourcePath)}`,\n {\n revalidate: CACHE.NO_CACHE,\n tags: [\"redirects\", `redirect-${sourcePath}`],\n ...options,\n },\n );\n }\n\n function reportRedirect404(\n siteId: string,\n sourcePath: string,\n referrer?: string,\n options?: FetchOptions,\n ): Promise<Redirect404Log | null> {\n const headers = {\n \"Content-Type\": \"application/json\",\n ...(options?.headers ?? {}),\n };\n\n return cmsFetch<Redirect404Log>(\n `/api/public/cms/${siteId}/redirects/404-logs/`,\n {\n method: \"POST\",\n ...options,\n headers,\n body: JSON.stringify({\n source_path: sourcePath,\n referrer,\n }),\n revalidate: CACHE.NO_CACHE,\n tags: [\"redirects\", \"redirect-404-logs\"],\n },\n 0,\n );\n }\n\n // ============================================================================\n // Store — Products, Categories, Brands, Collections, Orders\n // Note: Uses /api/public/store/ prefix (NOT /api/public/cms/)\n // ============================================================================\n\n function fetchStoreSettings(\n siteId: string,\n options?: FetchOptions,\n ): Promise<StoreSettings | null> {\n return cmsFetch<StoreSettings>(`/api/public/store/${siteId}/settings/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"store-settings\"],\n ...options,\n });\n }\n\n function fetchProductCategories(\n siteId: string,\n params: {\n page?: number;\n limit?: number;\n search?: string;\n ordering?: string;\n parent_id?: string | null;\n } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<ProductCategory>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<ProductCategory>(\n `/api/public/store/${siteId}/categories/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"product-categories\"],\n ...options,\n },\n );\n }\n\n function fetchProductBrands(\n siteId: string,\n params: {\n page?: number;\n limit?: number;\n search?: string;\n ordering?: string;\n } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<ProductBrand>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<ProductBrand>(\n `/api/public/store/${siteId}/brands/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"product-brands\"],\n ...options,\n },\n );\n }\n\n function fetchProducts(\n siteId: string,\n params: {\n page?: number;\n limit?: number;\n search?: string;\n category_id?: string;\n tag_id?: string;\n brand_id?: string;\n is_featured?: \"true\" | \"false\";\n sort?: \"price_asc\" | \"price_desc\";\n min_price?: number;\n max_price?: number;\n availability?: \"in_stock\" | \"out_of_stock\";\n } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<ProductListItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<ProductListItem>(\n `/api/public/store/${siteId}/products/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"products\"],\n ...options,\n },\n );\n }\n\n function fetchProductDetail(\n siteId: string,\n slug: string,\n options?: FetchOptions,\n ): Promise<Product | null> {\n return cmsFetch<Product>(`/api/public/store/${siteId}/products/${slug}/`, {\n revalidate: CACHE.SHORT,\n tags: [\"products\", `product-${slug}`],\n ...options,\n });\n }\n\n function fetchProductsByTag(\n siteId: string,\n tag: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<{ item: unknown; product: Product }> | null> {\n const query = buildQueryString({ tag, ...params });\n return cmsFetch<PaginatedResponse<{ item: unknown; product: Product }>>(\n `/api/public/store/${siteId}/products/by-tag/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"products\", `products-tag-${tag}`],\n ...options,\n },\n );\n }\n\n function fetchCollections(\n siteId: string,\n params: {\n page?: number;\n limit?: number;\n search?: string;\n /** Comma-separated list of collection IDs (e.g., \"id1,id2\") */\n id?: string;\n } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Collection>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Collection>(\n `/api/public/store/${siteId}/collections/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"collections\"],\n ...options,\n },\n );\n }\n\n function fetchCollectionDetail(\n siteId: string,\n slug: string,\n params: {\n page?: number;\n limit?: number;\n category_id?: string;\n sort?: \"name_asc\" | \"name_desc\";\n availability?: \"in_stock\" | \"out_of_stock\";\n } = {},\n options?: FetchOptions,\n ): Promise<CollectionDetail | null> {\n const query = buildQueryString(params);\n return cmsFetch<CollectionDetail>(\n `/api/public/store/${siteId}/collections/${slug}/${\n query ? `?${query}` : \"\"\n }`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"collections\", `collection-${slug}`],\n ...options,\n },\n );\n }\n\n function fetchCollectionDetailById(\n siteId: string,\n id: string,\n params: {\n page?: number;\n limit?: number;\n category_id?: string;\n sort?: \"name_asc\" | \"name_desc\";\n availability?: \"in_stock\" | \"out_of_stock\";\n } = {},\n options?: FetchOptions,\n ): Promise<CollectionDetail | null> {\n const query = buildQueryString(params);\n return cmsFetch<CollectionDetail>(\n `/api/public/store/${siteId}/collections/id/${id}/${\n query ? `?${query}` : \"\"\n }`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"collections\", `collection-${id}`],\n ...options,\n },\n );\n }\n\n function placeOrder(\n siteId: string,\n payload: PlaceOrderPayload,\n options?: FetchOptions,\n ): Promise<Order | null> {\n return cmsFetch<Order>(`/api/public/store/${siteId}/orders/`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(payload),\n revalidate: CACHE.NO_CACHE,\n ...options,\n });\n }\n\n // ============================================================================\n // Sitemap — public endpoints for XML sitemap generation (fetch once per day)\n // ============================================================================\n\n function fetchSitemapBlogs(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<SitemapBlogItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<SitemapBlogItem>(\n `/api/public/cms/${siteId}/sitemap/blogs/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.STATIC,\n tags: [\"sitemap\", \"sitemap-blogs\"],\n ...options,\n },\n );\n }\n\n function fetchSitemapPages(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<SitemapPageItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<SitemapPageItem>(\n `/api/public/cms/${siteId}/sitemap/pages/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.STATIC,\n tags: [\"sitemap\", \"sitemap-pages\"],\n ...options,\n },\n );\n }\n\n function fetchSitemapProducts(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<SitemapProductItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<SitemapProductItem>(\n `/api/public/store/${siteId}/sitemap/products/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.STATIC,\n tags: [\"sitemap\", \"sitemap-products\"],\n ...options,\n },\n );\n }\n\n function fetchSitemapCollections(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<SitemapCollectionItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<SitemapCollectionItem>(\n `/api/public/store/${siteId}/sitemap/collections/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.STATIC,\n tags: [\"sitemap\", \"sitemap-collections\"],\n ...options,\n },\n );\n }\n\n return {\n // Default page size for list endpoints (categories, team, brands, testimonials, etc.)\n LIST_DEFAULT_LIMIT,\n // Header, Footer, Site Config\n fetchHeader,\n fetchFooter,\n fetchSiteConfig,\n // Pages\n fetchPages,\n fetchPageByUrl,\n // About\n fetchAboutUs,\n // Services\n fetchServices,\n fetchServiceBySlug,\n // Blogs\n fetchBlogs,\n fetchBlogBySlug,\n fetchBlogById,\n // Categories\n fetchCategories,\n // Team Members\n fetchTeamMembers,\n fetchTeamMembersByCategory,\n // Albums\n fetchAlbums,\n fetchAlbumItems,\n // Brands\n fetchBrandGroups,\n fetchBrands,\n // Testimonials\n fetchTestimonials,\n // Events\n fetchEvents,\n fetchEventBySlug,\n // FAQ Groups\n fetchFaqGroups,\n fetchFaqs,\n // Redirects\n fetchRedirects,\n resolveRedirect,\n reportRedirect404,\n // Contact\n submitContactForm,\n // Store\n fetchStoreSettings,\n fetchProductCategories,\n fetchProductBrands,\n fetchProducts,\n fetchProductDetail,\n fetchProductsByTag,\n fetchCollections,\n fetchCollectionDetail,\n fetchCollectionDetailById,\n placeOrder,\n // Sitemap\n fetchSitemapBlogs,\n fetchSitemapPages,\n fetchSitemapProducts,\n fetchSitemapCollections,\n // Generic fetch utilities\n fetch: cmsFetch,\n fetchPaginated: cmsFetchPaginated,\n utils: {\n buildQueryString,\n },\n };\n}\n","import React from \"react\";\nimport type { LucideProps } from \"lucide-react\";\nimport {\n Home,\n User,\n Settings,\n Mail,\n Bell,\n Calendar,\n Star,\n Heart,\n Bookmark,\n Search,\n Filter,\n Download,\n Upload,\n Trash,\n Edit,\n Plus,\n Minus,\n Check,\n X,\n ChevronRight,\n ChevronLeft,\n ChevronUp,\n ChevronDown,\n ChevronsUpDown,\n ArrowRight,\n ArrowLeft,\n ArrowUp,\n ArrowDown,\n File,\n Folder,\n Image,\n Video,\n Music,\n Lock,\n Unlock,\n Eye,\n EyeOff,\n Sun,\n Moon,\n Cloud,\n Zap,\n Activity,\n TrendingUp,\n TrendingDown,\n BarChart,\n PieChart,\n Database,\n Server,\n Wifi,\n Battery,\n Camera,\n Mic,\n Phone,\n MessageSquare,\n Send,\n Share,\n Link,\n ExternalLink,\n Globe,\n MapPin,\n Users,\n ShoppingCart,\n CreditCard,\n Package,\n Briefcase,\n Target,\n Flag,\n Clipboard,\n List,\n Grid,\n Layout,\n Layers,\n Copy,\n Save,\n RefreshCw,\n Maximize,\n Code,\n AlertCircle,\n Info,\n HelpCircle,\n CheckCircle,\n XCircle,\n Menu,\n MoreVertical,\n MoreHorizontal,\n PlayCircle,\n PauseCircle,\n LogIn,\n LogOut,\n UserPlus,\n UserMinus,\n Tag,\n Award,\n Gift,\n Truck,\n Clock,\n Handshake,\n Stethoscope,\n Microscope,\n GraduationCap,\n BookOpen,\n Building2,\n Trees,\n HeartHandshake,\n Brain,\n Lightbulb,\n} from \"lucide-react\";\n\n/**\n * A exhaustive map of Lucide icons commonly used in the CMS.\n */\nexport const ICON_MAP: Record<string, React.ComponentType<LucideProps>> = {\n Home,\n User,\n Settings,\n Mail,\n Bell,\n Calendar,\n Star,\n Heart,\n Bookmark,\n Search,\n Filter,\n Download,\n Upload,\n Trash,\n Edit,\n Plus,\n Minus,\n Check,\n X,\n ChevronRight,\n ChevronLeft,\n ChevronUp,\n ChevronDown,\n ChevronsUpDown,\n ArrowRight,\n ArrowLeft,\n ArrowUp,\n ArrowDown,\n File,\n Folder,\n Image,\n Video,\n Music,\n Lock,\n Unlock,\n Eye,\n EyeOff,\n Sun,\n Moon,\n Cloud,\n Zap,\n Activity,\n TrendingUp,\n TrendingDown,\n BarChart,\n PieChart,\n Database,\n Server,\n Wifi,\n Battery,\n Camera,\n Mic,\n Phone,\n MessageSquare,\n Send,\n Share,\n Link,\n ExternalLink,\n Globe,\n MapPin,\n Users,\n ShoppingCart,\n CreditCard,\n Package,\n Briefcase,\n Target,\n Flag,\n Clipboard,\n List,\n Grid,\n Layout,\n Layers,\n Copy,\n Save,\n RefreshCw,\n Maximize,\n Code,\n AlertCircle,\n Info,\n HelpCircle,\n CheckCircle,\n XCircle,\n Menu,\n MoreVertical,\n MoreHorizontal,\n PlayCircle,\n PauseCircle,\n LogIn,\n LogOut,\n UserPlus,\n UserMinus,\n Tag,\n Award,\n Gift,\n Truck,\n Clock,\n Handshake,\n Stethoscope,\n Microscope,\n GraduationCap,\n BookOpen,\n Building2,\n Trees,\n HeartHandshake,\n Brain,\n Lightbulb,\n};\n\nexport interface IconProps extends LucideProps {\n /** The name of the icon (from the ICON_MAP keys) */\n name: string;\n /** Fallback icon name if the provided name is not found */\n fallback?: string;\n}\n\n/**\n * Dynamic Icon component that renders Lucide icons by name.\n * Useful for CMS-driven icons where names are stored as strings.\n */\nexport function Icon({ name, fallback = \"HelpCircle\", ...props }: IconProps) {\n const IconComponent = ICON_MAP[name] ?? ICON_MAP[fallback] ?? HelpCircle;\n return React.createElement(IconComponent, props);\n}\n"],"mappings":"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B,QAAQ,IAAI,UAAU,MACzE;GACE,YAAY,MAAM;GAClB,MAAM,CAAC,WAAW,sBAAsB;GACxC,GAAG;GACJ,CACF;;CAGH,OAAO;EAEL;EAEA;EACA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA,OAAO;EACP,gBAAgB;EAChB,OAAO,EACL,kBACD;EACF;;;;;;;ACh4BH,MAAa,WAA6D;CACxE;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;;;;;AAaD,SAAgB,KAAK,EAAE,MAAM,WAAW,cAAc,GAAG,SAAoB;CAC3E,MAAM,gBAAgB,SAAS,SAAS,SAAS,aAAa;CAC9D,OAAO,MAAM,cAAc,eAAe,MAAM"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/constants/pageTypes.ts","../src/constants/index.ts","../src/core/client.ts","../src/components/Icon.tsx"],"sourcesContent":["export const pageTypes = [\"home\", \"about\", \"contact\"] as const;\n\nexport const defaultPageTypes = [\n ...pageTypes,\n \"services\",\n \"blog\",\n \"team\",\n \"gallery\",\n \"events\",\n] as const;\n\nexport const allPageTypes = [\n ...pageTypes,\n \"custom\",\n \"services\",\n \"blog\",\n \"team\",\n \"gallery\",\n \"events\",\n] as const;\n","export * from \"./pageTypes\";\n\nexport const PAGINATION = {\n DEFAULT_PAGE: 1,\n DEFAULT_LIMIT: 10,\n LIST_DEFAULT_LIMIT: 20,\n BLOGS_PER_PAGE: 9,\n EVENTS_PER_PAGE: 9,\n ALBUMS_PER_PAGE: 9,\n MAX_ITEMS_FOR_SSG: 200,\n} as const;\n\nexport const SEARCH = {\n DEBOUNCE_MS: 500,\n MIN_QUERY_LENGTH: 2,\n} as const;\n\nexport const CACHE = {\n NO_CACHE: 0,\n SHORT: 60, // 1 minute\n MEDIUM: 300, // 5 minutes\n LONG: 3600, // 1 hour\n STATIC: 86400, // 24 hours\n} as const;\n\nexport const ANIMATION = {\n FAST: 0.2,\n NORMAL: 0.3,\n SLOW: 0.6,\n} as const;\n\nexport const CONTACT_SUBJECTS = [\n \"General Inquiry\",\n \"Project Proposal\",\n \"Careers\",\n \"Other\",\n] as const;\n\nexport const HTTP_STATUS = {\n OK: 200,\n CREATED: 201,\n BAD_REQUEST: 400,\n UNAUTHORIZED: 401,\n FORBIDDEN: 403,\n NOT_FOUND: 404,\n INTERNAL_ERROR: 500,\n} as const;\n\nexport const MEDIA = {\n IMAGE_EXTENSIONS: [\".jpg\", \".jpeg\", \".png\", \".gif\", \".webp\", \".svg\"],\n VIDEO_EXTENSIONS: [\".mp4\", \".webm\", \".ogg\"],\n MAX_IMAGE_SIZE: 5 * 1024 * 1024,\n} as const;\n","import { CACHE, PAGINATION } from \"../constants\";\nimport type { PaginatedResponse } from \"../types/pagination\";\nimport type { Header } from \"../types/header\";\nimport type { Footer } from \"../types/footer\";\nimport type { SiteConfig } from \"../types/site-config\";\nimport type { Page, PageListItem } from \"../types/cms-page\";\nimport type { AboutUsData } from \"../types/about\";\nimport type { Service } from \"../types/service\";\nimport type { Blog } from \"../types/blog\";\nimport type { Category } from \"../types/category\";\nimport type { TeamMember } from \"../types/team-member\";\nimport type { Album, AlbumItem } from \"../types/album\";\nimport type { BrandGroup, Brand } from \"../types/brand\";\nimport type { Testimonial } from \"../types/testimonials\";\nimport type { Event } from \"../types/event\";\nimport type { Faq } from \"../types/faq\";\nimport type { FaqGroup } from \"../types/faq-group\";\nimport type { Redirect, Redirect404Log, ResolvedRedirect } from \"../types/redirect\";\nimport type { ContactPayload, Contact } from \"../types/contact\";\nimport type { Product, ProductListItem, ProductVariant } from \"../types/product\";\nimport type { ProductCategory } from \"../types/product-category\";\nimport type { ProductBrand } from \"../types/product-brand\";\nimport type { Collection, CollectionDetail } from \"../types/collection\";\nimport type { Order, PlaceOrderPayload } from \"../types/order\";\nimport type { StoreSettings } from \"../types/store-setting\";\nimport type {\n SitemapBlogItem,\n SitemapPageItem,\n SitemapProductItem,\n SitemapCollectionItem,\n} from \"../types/sitemap\";\n\nexport interface FetchOptions extends RequestInit {\n revalidate?: number;\n tags?: string[];\n}\n\nexport interface CmsClientConfig {\n baseUrl: string;\n defaultOptions?: FetchOptions;\n}\n\nexport class CmsError extends Error {\n constructor(\n public message: string,\n public status?: number,\n public url?: string,\n ) {\n super(message);\n this.name = \"CmsError\";\n }\n}\n\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nexport function createCmsClient(config: CmsClientConfig) {\n const { baseUrl, defaultOptions = {} } = config;\n\n async function cmsFetch<T>(\n endpoint: string,\n options: FetchOptions = {},\n retries = 2,\n ): Promise<T | null> {\n const url = `${baseUrl}${endpoint}`;\n const {\n revalidate = CACHE.NO_CACHE,\n tags,\n ...rest\n } = { ...defaultOptions, ...options };\n\n const fetchConfig: RequestInit & {\n next?: { revalidate?: number; tags?: string[] };\n } = {\n ...rest,\n next: {\n revalidate,\n ...(tags && { tags }),\n },\n };\n\n let lastError: Error | null = null;\n\n for (let attempt = 0; attempt <= retries; attempt++) {\n try {\n const response = await fetch(url, fetchConfig);\n\n if (!response.ok) {\n const errorMsg = `API request failed: ${response.status} ${url}`;\n console.error(errorMsg);\n\n // Retry on transient server errors (502, 503, 504)\n if (attempt < retries && [502, 503, 504].includes(response.status)) {\n await sleep(Math.pow(2, attempt) * 1000);\n continue;\n }\n\n return null;\n }\n\n // 204 / empty body — nothing to parse\n if (response.status === 204) {\n return null;\n }\n\n const result = await response.json();\n return result.data ?? result;\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error));\n console.error(\n `API request error (attempt ${attempt + 1}/${retries + 1}): ${url}`,\n lastError,\n );\n\n if (attempt < retries) {\n await sleep(Math.pow(2, attempt) * 1000);\n continue;\n }\n }\n }\n\n return null;\n }\n\n async function cmsFetchPaginated<T>(\n endpoint: string,\n options: FetchOptions = {},\n retries = 2,\n ): Promise<PaginatedResponse<T>> {\n const emptyResponse: PaginatedResponse<T> = {\n data: [],\n pagination: {\n page: 1,\n limit: PAGINATION.DEFAULT_LIMIT,\n total: 0,\n },\n };\n\n const url = `${baseUrl}${endpoint}`;\n const {\n revalidate = CACHE.NO_CACHE,\n tags,\n ...rest\n } = { ...defaultOptions, ...options };\n\n const fetchConfig: RequestInit & {\n next?: { revalidate?: number; tags?: string[] };\n } = {\n ...rest,\n next: {\n revalidate,\n ...(tags && { tags }),\n },\n };\n\n for (let attempt = 0; attempt <= retries; attempt++) {\n try {\n const response = await fetch(url, fetchConfig);\n\n if (!response.ok) {\n console.error(`API request failed: ${response.status} ${url}`);\n\n if (attempt < retries && [502, 503, 504].includes(response.status)) {\n await sleep(Math.pow(2, attempt) * 1000);\n continue;\n }\n\n return emptyResponse;\n }\n\n return await response.json();\n } catch (error) {\n console.error(\n `API request error (attempt ${attempt + 1}/${retries + 1}): ${url}`,\n error,\n );\n\n if (attempt < retries) {\n await sleep(Math.pow(2, attempt) * 1000);\n continue;\n }\n }\n }\n\n return emptyResponse;\n }\n\n function buildQueryString(\n params: Record<string, string | number | string[] | number[] | undefined | null>,\n ): string {\n const query = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n value.forEach((v) => query.append(key, String(v)));\n } else {\n query.append(key, String(value));\n }\n }\n });\n return query.toString();\n }\n\n // Default page size for list endpoints (categories, team, brands, testimonials,\n // faq-groups, faqs, album-items). Matches the backend's getPaginationParamsWithoutLimit(c, 20).\n const LIST_DEFAULT_LIMIT = PAGINATION.LIST_DEFAULT_LIMIT;\n\n // ============================================================================\n // Header, Footer, Site Config\n // ============================================================================\n\n function fetchHeader(\n siteId: string,\n options?: FetchOptions,\n ): Promise<Header | null> {\n return cmsFetch<Header>(`/api/public/cms/${siteId}/header/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"header\"],\n ...options,\n });\n }\n\n function fetchFooter(\n siteId: string,\n options?: FetchOptions,\n ): Promise<Footer | null> {\n return cmsFetch<Footer>(`/api/public/cms/${siteId}/footer/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"footer\"],\n ...options,\n });\n }\n\n function fetchSiteConfig(\n siteId: string,\n options?: FetchOptions,\n ): Promise<SiteConfig | null> {\n return cmsFetch<SiteConfig>(`/api/public/cms/${siteId}/site-config/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"site-config\"],\n ...options,\n });\n }\n\n // ============================================================================\n // Pages\n // ============================================================================\n\n function fetchPages(\n siteId: string,\n params: { page?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<PageListItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<PageListItem>(\n `/api/public/cms/${siteId}/page/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"pages\"],\n ...options,\n },\n );\n }\n\n async function fetchPageByUrl(\n siteId: string,\n urlPath: string,\n options?: FetchOptions,\n ): Promise<Page | null> {\n try {\n const targetUrl =\n urlPath === \"/\" || urlPath === \"\"\n ? \"/\"\n : `/${urlPath.replace(/^\\/|\\/$/g, \"\")}`;\n\n return await cmsFetch<Page>(\n `/api/public/cms/${siteId}/page/by-url/?url=${encodeURIComponent(targetUrl)}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"pages\", `page-${targetUrl || \"root\"}`],\n ...options,\n },\n );\n } catch (error) {\n console.error(`Error in fetchPageByUrl for ${urlPath}:`, error);\n return null;\n }\n }\n\n // ============================================================================\n // About Us\n // ============================================================================\n\n function fetchAboutUs(\n siteId: string,\n options?: FetchOptions,\n ): Promise<AboutUsData | null> {\n return cmsFetch<AboutUsData>(`/api/public/cms/${siteId}/about-us/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"about\"],\n ...options,\n });\n }\n\n // ============================================================================\n // Services\n // ============================================================================\n\n async function fetchServices(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Service>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Service>(\n `/api/public/cms/${siteId}/services/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"services\"],\n ...options,\n },\n );\n }\n\n function fetchServiceBySlug(\n siteId: string,\n slug: string,\n options?: FetchOptions,\n ): Promise<Service | null> {\n return cmsFetch<Service>(`/api/public/cms/${siteId}/services/${slug}`, {\n revalidate: CACHE.SHORT,\n tags: [\"services\", `service-${slug}`],\n ...options,\n });\n }\n\n // ============================================================================\n // Blogs\n // ============================================================================\n\n function fetchBlogs(\n siteId: string,\n params: { page?: number; limit?: number; search?: string } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Blog>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Blog>(`/api/public/cms/${siteId}/blog/?${query}`, {\n revalidate: CACHE.SHORT,\n tags: [\"blogs\"],\n ...options,\n });\n }\n\n function fetchBlogBySlug(\n siteId: string,\n slug: string,\n options?: FetchOptions,\n ): Promise<Blog | null> {\n return cmsFetch<Blog>(`/api/public/cms/${siteId}/blog/${slug}`, {\n revalidate: CACHE.SHORT,\n tags: [\"blogs\", `blog-${slug}`],\n ...options,\n });\n }\n\n // Backwards-compatible alias. Backend route resolves by slug.\n function fetchBlogById(\n siteId: string,\n idOrSlug: number | string,\n options?: FetchOptions,\n ): Promise<Blog | null> {\n return fetchBlogBySlug(siteId, String(idOrSlug), options);\n }\n\n // ============================================================================\n // Categories\n // ============================================================================\n\n function fetchCategories(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Category>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Category>(\n `/api/public/cms/${siteId}/categories/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"categories\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Team Members\n // ============================================================================\n\n function fetchTeamMembers(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<TeamMember>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<TeamMember>(\n `/api/public/cms/${siteId}/team-members/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"team\"],\n ...options,\n },\n );\n }\n\n function fetchTeamMembersByCategory(\n siteId: string,\n params: { categoryId: string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<TeamMember>> {\n const query = buildQueryString({\n category_id: params.categoryId,\n page: params.page,\n limit: params.limit,\n });\n return cmsFetchPaginated<TeamMember>(\n `/api/public/cms/${siteId}/team-members/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"team\", `team-category-${params.categoryId}`],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Albums\n // ============================================================================\n\n function fetchAlbums(\n siteId: string,\n params: { page?: number; limit?: number; search?: string } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Album>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Album>(\n `/api/public/cms/${siteId}/albums/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"albums\"],\n ...options,\n },\n );\n }\n\n function fetchAlbumItems(\n siteId: string,\n params: { album?: string; album_id?: string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<AlbumItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<AlbumItem>(\n `/api/public/cms/${siteId}/albums/album-items/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"album-items\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Brands\n // ============================================================================\n\n function fetchBrandGroups(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<BrandGroup>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<BrandGroup>(\n `/api/public/cms/${siteId}/brand-groups/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"brand-groups\"],\n ...options,\n },\n );\n }\n\n function fetchBrands(\n siteId: string,\n params: { group?: string; group_id?: string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Brand>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Brand>(\n `/api/public/cms/${siteId}/brand-groups/brands/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"brands\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Testimonials\n // ============================================================================\n\n function fetchTestimonials(\n siteId: string,\n params?: { type?: \"testimonial\" | \"review\" | string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Testimonial>> {\n const query = buildQueryString({\n type: params?.type,\n page: params?.page,\n limit: params?.limit,\n });\n return cmsFetchPaginated<Testimonial>(\n `/api/public/cms/${siteId}/testimonials/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"testimonials\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Events\n // ============================================================================\n\n function fetchEvents(\n siteId: string,\n params: { page?: number; limit?: number; search?: string } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Event>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Event>(\n `/api/public/cms/${siteId}/events/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"events\"],\n ...options,\n },\n );\n }\n\n function fetchEventBySlug(\n siteId: string,\n slug: string,\n options?: FetchOptions,\n ): Promise<Event | null> {\n return cmsFetch<Event>(`/api/public/cms/${siteId}/events/${slug}`, {\n revalidate: CACHE.SHORT,\n tags: [\"events\", `event-${slug}`],\n ...options,\n });\n }\n\n // ============================================================================\n // FAQ Groups\n // ============================================================================\n\n function fetchFaqGroups(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<FaqGroup>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<FaqGroup>(\n `/api/public/cms/${siteId}/faq-groups/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"faq-groups\"],\n ...options,\n },\n );\n }\n\n async function submitContactForm(\n siteId: string,\n payload: ContactPayload,\n options?: FetchOptions,\n ): Promise<Contact | null> {\n return cmsFetch<Contact>(`/api/public/cms/${siteId}/contact/`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(payload),\n revalidate: CACHE.NO_CACHE, // Never cache form submissions\n ...options,\n });\n }\n\n function fetchFaqs(\n siteId: string,\n params?: { group_id?: string; page?: number; limit?: number },\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Faq>> {\n const query = buildQueryString({\n group_id: params?.group_id,\n page: params?.page,\n limit: params?.limit,\n });\n return cmsFetchPaginated<Faq>(\n `/api/public/cms/${siteId}/faqs/?${query}`,\n {\n revalidate: CACHE.MEDIUM,\n tags: [\"faqs\"],\n ...options,\n },\n );\n }\n\n // ============================================================================\n // Redirects\n // ============================================================================\n\n async function fetchRedirects(\n siteId: string,\n options?: FetchOptions,\n ): Promise<Redirect[]> {\n const result = await cmsFetch<Redirect[]>(\n `/api/public/cms/${siteId}/redirects/`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"redirects\"],\n ...options,\n },\n );\n return result ?? [];\n }\n\n function resolveRedirect(\n siteId: string,\n sourcePath: string,\n options?: FetchOptions,\n ): Promise<ResolvedRedirect | null> {\n return cmsFetch<ResolvedRedirect>(\n `/api/public/cms/${siteId}/redirects/resolve/?sourcePath=${encodeURIComponent(sourcePath)}`,\n {\n revalidate: CACHE.NO_CACHE,\n tags: [\"redirects\", `redirect-${sourcePath}`],\n ...options,\n },\n );\n }\n\n function reportRedirect404(\n siteId: string,\n sourcePath: string,\n referrer?: string,\n options?: FetchOptions,\n ): Promise<Redirect404Log | null> {\n const headers = {\n \"Content-Type\": \"application/json\",\n ...(options?.headers ?? {}),\n };\n\n return cmsFetch<Redirect404Log>(\n `/api/public/cms/${siteId}/redirects/404-logs/`,\n {\n method: \"POST\",\n ...options,\n headers,\n body: JSON.stringify({\n source_path: sourcePath,\n referrer,\n }),\n revalidate: CACHE.NO_CACHE,\n tags: [\"redirects\", \"redirect-404-logs\"],\n },\n 0,\n );\n }\n\n // ============================================================================\n // Store — Products, Categories, Brands, Collections, Orders\n // Note: Uses /api/public/store/ prefix (NOT /api/public/cms/)\n // ============================================================================\n\n function fetchStoreSettings(\n siteId: string,\n options?: FetchOptions,\n ): Promise<StoreSettings | null> {\n return cmsFetch<StoreSettings>(`/api/public/store/${siteId}/settings/`, {\n revalidate: CACHE.MEDIUM,\n tags: [\"store-settings\"],\n ...options,\n });\n }\n\n function fetchProductCategories(\n siteId: string,\n params: {\n page?: number;\n limit?: number;\n search?: string;\n ordering?: string;\n parent_id?: string | null;\n } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<ProductCategory>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<ProductCategory>(\n `/api/public/store/${siteId}/categories/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"product-categories\"],\n ...options,\n },\n );\n }\n\n function fetchProductBrands(\n siteId: string,\n params: {\n page?: number;\n limit?: number;\n search?: string;\n ordering?: string;\n } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<ProductBrand>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<ProductBrand>(\n `/api/public/store/${siteId}/brands/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"product-brands\"],\n ...options,\n },\n );\n }\n\n function fetchProducts(\n siteId: string,\n params: {\n page?: number;\n limit?: number;\n search?: string;\n category_id?: string;\n tag_id?: string;\n brand_id?: string;\n is_featured?: \"true\" | \"false\";\n sort?: \"price_asc\" | \"price_desc\";\n min_price?: number;\n max_price?: number;\n availability?: \"in_stock\" | \"out_of_stock\";\n } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<ProductListItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<ProductListItem>(\n `/api/public/store/${siteId}/products/?${query}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"products\"],\n ...options,\n },\n );\n }\n\n function fetchProductDetail(\n siteId: string,\n slug: string,\n options?: FetchOptions,\n ): Promise<Product | null> {\n return cmsFetch<Product>(`/api/public/store/${siteId}/products/${slug}/`, {\n revalidate: CACHE.SHORT,\n tags: [\"products\", `product-${slug}`],\n ...options,\n });\n }\n\n function fetchProductsByTag(\n siteId: string,\n tag: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<{ item: unknown; product: Product }> | null> {\n const query = buildQueryString({ tag, ...params });\n return cmsFetch<PaginatedResponse<{ item: unknown; product: Product }>>(\n `/api/public/store/${siteId}/products/by-tag/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"products\", `products-tag-${tag}`],\n ...options,\n },\n );\n }\n\n function fetchCollections(\n siteId: string,\n params: {\n page?: number;\n limit?: number;\n search?: string;\n /** Comma-separated list of collection IDs (e.g., \"id1,id2\") */\n id?: string;\n } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<Collection>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<Collection>(\n `/api/public/store/${siteId}/collections/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"collections\"],\n ...options,\n },\n );\n }\n\n function fetchCollectionDetail(\n siteId: string,\n slug: string,\n params: {\n page?: number;\n limit?: number;\n category_id?: string;\n sort?: \"name_asc\" | \"name_desc\";\n availability?: \"in_stock\" | \"out_of_stock\";\n } = {},\n options?: FetchOptions,\n ): Promise<CollectionDetail | null> {\n const query = buildQueryString(params);\n return cmsFetch<CollectionDetail>(\n `/api/public/store/${siteId}/collections/${slug}/${\n query ? `?${query}` : \"\"\n }`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"collections\", `collection-${slug}`],\n ...options,\n },\n );\n }\n\n function fetchCollectionDetailById(\n siteId: string,\n id: string,\n params: {\n page?: number;\n limit?: number;\n category_id?: string;\n sort?: \"name_asc\" | \"name_desc\";\n availability?: \"in_stock\" | \"out_of_stock\";\n } = {},\n options?: FetchOptions,\n ): Promise<CollectionDetail | null> {\n const query = buildQueryString(params);\n return cmsFetch<CollectionDetail>(\n `/api/public/store/${siteId}/collections/id/${id}/${\n query ? `?${query}` : \"\"\n }`,\n {\n revalidate: CACHE.SHORT,\n tags: [\"collections\", `collection-${id}`],\n ...options,\n },\n );\n }\n\n function placeOrder(\n siteId: string,\n payload: PlaceOrderPayload,\n options?: FetchOptions,\n ): Promise<Order | null> {\n return cmsFetch<Order>(`/api/public/store/${siteId}/orders/`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(payload),\n revalidate: CACHE.NO_CACHE,\n ...options,\n });\n }\n\n // ============================================================================\n // Sitemap — public endpoints for XML sitemap generation (fetch once per day)\n // ============================================================================\n\n function fetchSitemapBlogs(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<SitemapBlogItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<SitemapBlogItem>(\n `/api/public/cms/${siteId}/sitemap/blogs/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.STATIC,\n tags: [\"sitemap\", \"sitemap-blogs\"],\n ...options,\n },\n );\n }\n\n function fetchSitemapPages(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<SitemapPageItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<SitemapPageItem>(\n `/api/public/cms/${siteId}/sitemap/pages/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.STATIC,\n tags: [\"sitemap\", \"sitemap-pages\"],\n ...options,\n },\n );\n }\n\n function fetchSitemapProducts(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<SitemapProductItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<SitemapProductItem>(\n `/api/public/store/${siteId}/sitemap/products/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.STATIC,\n tags: [\"sitemap\", \"sitemap-products\"],\n ...options,\n },\n );\n }\n\n function fetchSitemapCollections(\n siteId: string,\n params: { page?: number; limit?: number } = {},\n options?: FetchOptions,\n ): Promise<PaginatedResponse<SitemapCollectionItem>> {\n const query = buildQueryString(params);\n return cmsFetchPaginated<SitemapCollectionItem>(\n `/api/public/store/${siteId}/sitemap/collections/${query ? `?${query}` : \"\"}`,\n {\n revalidate: CACHE.STATIC,\n tags: [\"sitemap\", \"sitemap-collections\"],\n ...options,\n },\n );\n }\n\n return {\n // Default page size for list endpoints (categories, team, brands, testimonials, etc.)\n LIST_DEFAULT_LIMIT,\n // Header, Footer, Site Config\n fetchHeader,\n fetchFooter,\n fetchSiteConfig,\n // Pages\n fetchPages,\n fetchPageByUrl,\n // About\n fetchAboutUs,\n // Services\n fetchServices,\n fetchServiceBySlug,\n // Blogs\n fetchBlogs,\n fetchBlogBySlug,\n fetchBlogById,\n // Categories\n fetchCategories,\n // Team Members\n fetchTeamMembers,\n fetchTeamMembersByCategory,\n // Albums\n fetchAlbums,\n fetchAlbumItems,\n // Brands\n fetchBrandGroups,\n fetchBrands,\n // Testimonials\n fetchTestimonials,\n // Events\n fetchEvents,\n fetchEventBySlug,\n // FAQ Groups\n fetchFaqGroups,\n fetchFaqs,\n // Redirects\n fetchRedirects,\n resolveRedirect,\n reportRedirect404,\n // Contact\n submitContactForm,\n // Store\n fetchStoreSettings,\n fetchProductCategories,\n fetchProductBrands,\n fetchProducts,\n fetchProductDetail,\n fetchProductsByTag,\n fetchCollections,\n fetchCollectionDetail,\n fetchCollectionDetailById,\n placeOrder,\n // Sitemap\n fetchSitemapBlogs,\n fetchSitemapPages,\n fetchSitemapProducts,\n fetchSitemapCollections,\n // Generic fetch utilities\n fetch: cmsFetch,\n fetchPaginated: cmsFetchPaginated,\n utils: {\n buildQueryString,\n },\n };\n}\n","import React from \"react\";\nimport type { LucideProps } from \"lucide-react\";\nimport {\n Home,\n User,\n Settings,\n Mail,\n Bell,\n Calendar,\n Star,\n Heart,\n Bookmark,\n Search,\n Filter,\n Download,\n Upload,\n Trash,\n Edit,\n Plus,\n Minus,\n Check,\n X,\n ChevronRight,\n ChevronLeft,\n ChevronUp,\n ChevronDown,\n ChevronsUpDown,\n ArrowRight,\n ArrowLeft,\n ArrowUp,\n ArrowDown,\n File,\n Folder,\n Image,\n Video,\n Music,\n Lock,\n Unlock,\n Eye,\n EyeOff,\n Sun,\n Moon,\n Cloud,\n Zap,\n Activity,\n TrendingUp,\n TrendingDown,\n BarChart,\n PieChart,\n Database,\n Server,\n Wifi,\n Battery,\n Camera,\n Mic,\n Phone,\n MessageSquare,\n Send,\n Share,\n Link,\n ExternalLink,\n Globe,\n MapPin,\n Users,\n ShoppingCart,\n CreditCard,\n Package,\n Briefcase,\n Target,\n Flag,\n Clipboard,\n List,\n Grid,\n Layout,\n Layers,\n Copy,\n Save,\n RefreshCw,\n Maximize,\n Code,\n AlertCircle,\n Info,\n HelpCircle,\n CheckCircle,\n XCircle,\n Menu,\n MoreVertical,\n MoreHorizontal,\n PlayCircle,\n PauseCircle,\n LogIn,\n LogOut,\n UserPlus,\n UserMinus,\n Tag,\n Award,\n Gift,\n Truck,\n Clock,\n Handshake,\n Stethoscope,\n Microscope,\n GraduationCap,\n BookOpen,\n Building2,\n Trees,\n HeartHandshake,\n Brain,\n Lightbulb,\n} from \"lucide-react\";\n\n/**\n * A exhaustive map of Lucide icons commonly used in the CMS.\n */\nexport const ICON_MAP: Record<string, React.ComponentType<LucideProps>> = {\n Home,\n User,\n Settings,\n Mail,\n Bell,\n Calendar,\n Star,\n Heart,\n Bookmark,\n Search,\n Filter,\n Download,\n Upload,\n Trash,\n Edit,\n Plus,\n Minus,\n Check,\n X,\n ChevronRight,\n ChevronLeft,\n ChevronUp,\n ChevronDown,\n ChevronsUpDown,\n ArrowRight,\n ArrowLeft,\n ArrowUp,\n ArrowDown,\n File,\n Folder,\n Image,\n Video,\n Music,\n Lock,\n Unlock,\n Eye,\n EyeOff,\n Sun,\n Moon,\n Cloud,\n Zap,\n Activity,\n TrendingUp,\n TrendingDown,\n BarChart,\n PieChart,\n Database,\n Server,\n Wifi,\n Battery,\n Camera,\n Mic,\n Phone,\n MessageSquare,\n Send,\n Share,\n Link,\n ExternalLink,\n Globe,\n MapPin,\n Users,\n ShoppingCart,\n CreditCard,\n Package,\n Briefcase,\n Target,\n Flag,\n Clipboard,\n List,\n Grid,\n Layout,\n Layers,\n Copy,\n Save,\n RefreshCw,\n Maximize,\n Code,\n AlertCircle,\n Info,\n HelpCircle,\n CheckCircle,\n XCircle,\n Menu,\n MoreVertical,\n MoreHorizontal,\n PlayCircle,\n PauseCircle,\n LogIn,\n LogOut,\n UserPlus,\n UserMinus,\n Tag,\n Award,\n Gift,\n Truck,\n Clock,\n Handshake,\n Stethoscope,\n Microscope,\n GraduationCap,\n BookOpen,\n Building2,\n Trees,\n HeartHandshake,\n Brain,\n Lightbulb,\n};\n\nexport interface IconProps extends LucideProps {\n /** The name of the icon (from the ICON_MAP keys) */\n name: string;\n /** Fallback icon name if the provided name is not found */\n fallback?: string;\n}\n\n/**\n * Dynamic Icon component that renders Lucide icons by name.\n * Useful for CMS-driven icons where names are stored as strings.\n */\nexport function Icon({ name, fallback = \"HelpCircle\", ...props }: IconProps) {\n const IconComponent = ICON_MAP[name] ?? ICON_MAP[fallback] ?? HelpCircle;\n return React.createElement(IconComponent, props);\n}\n"],"mappings":"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C,GAC7C,SACgD;EAChD,MAAM,QAAQ,iBAAiB,MAAM;EACrC,OAAO,kBACL,qBAAqB,OAAO,oBAAoB,QAAQ,IAAI,UAAU,MACtE;GACE,YAAY,MAAM;GAClB,MAAM,CAAC,WAAW,kBAAkB;GACpC,GAAG;EACL,CACF;CACF;CAEA,SAAS,wBACP,QACA,SAA4C,CAAC,GAC7C,SACmD;EACnD,MAAM,QAAQ,iBAAiB,MAAM;EACrC,OAAO,kBACL,qBAAqB,OAAO,uBAAuB,QAAQ,IAAI,UAAU,MACzE;GACE,YAAY,MAAM;GAClB,MAAM,CAAC,WAAW,qBAAqB;GACvC,GAAG;EACL,CACF;CACF;CAEA,OAAO;EAEL;EAEA;EACA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA,OAAO;EACP,gBAAgB;EAChB,OAAO,EACL,iBACF;CACF;AACF;;;;;;ACt4BA,MAAa,WAA6D;CACxE;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;AAaA,SAAgB,KAAK,EAAE,MAAM,WAAW,cAAc,GAAG,SAAoB;CAC3E,MAAM,gBAAgB,SAAS,SAAS,SAAS,aAAa;CAC9D,OAAO,MAAM,cAAc,eAAe,KAAK;AACjD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crayonscodetech/cms-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"description": "CMS SDK for fetching data and shared types",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cms",
|
|
@@ -35,13 +35,14 @@
|
|
|
35
35
|
"build": "tsdown",
|
|
36
36
|
"dev": "tsdown --watch",
|
|
37
37
|
"prepare": "pnpm build",
|
|
38
|
-
"lint": "eslint src/**/*.ts"
|
|
38
|
+
"lint": "eslint src/**/*.ts",
|
|
39
|
+
"doctor": "npx react-doctor@latest"
|
|
39
40
|
},
|
|
40
41
|
"dependencies": {
|
|
41
|
-
"lucide-react": "^1.
|
|
42
|
+
"lucide-react": "^1.32.0"
|
|
42
43
|
},
|
|
43
44
|
"devDependencies": {
|
|
44
|
-
"@types/react": "^19.2.
|
|
45
|
+
"@types/react": "^19.2.18",
|
|
45
46
|
"tsdown": "latest",
|
|
46
47
|
"typescript": "^6.0.3"
|
|
47
48
|
},
|