@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 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: 5 * 1024 * 1024
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) if (Array.isArray(value)) value.forEach((v) => query.append(key, String(v)));
215
- else query.append(key, String(value));
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: number;
37
- site_id: number;
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: number;
59
- site_id: number;
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: number;
94
- site_id: number;
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?: any | null;
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: any | null;
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?: any | null;
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; /** Comma-separated list of collection IDs (e.g., "id1,id2") */
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
@@ -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: number;
37
- site_id: number;
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: number;
59
- site_id: number;
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: number;
94
- site_id: number;
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?: any | null;
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: any | null;
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?: any | null;
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; /** Comma-separated list of collection IDs (e.g., "id1,id2") */
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
@@ -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: 5 * 1024 * 1024
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) if (Array.isArray(value)) value.forEach((v) => query.append(key, String(v)));
191
- else query.append(key, String(value));
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
  }
@@ -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.6",
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.14.0"
42
+ "lucide-react": "^1.32.0"
42
43
  },
43
44
  "devDependencies": {
44
- "@types/react": "^19.2.14",
45
+ "@types/react": "^19.2.18",
45
46
  "tsdown": "latest",
46
47
  "typescript": "^6.0.3"
47
48
  },