@dani-builder/strapi-client 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/AGENTS.md +9 -5
  2. package/LICENSE +21 -0
  3. package/README.md +50 -0
  4. package/dist/api/articles.d.ts +3 -0
  5. package/dist/api/articles.d.ts.map +1 -1
  6. package/dist/api/articles.js +8 -5
  7. package/dist/api/articles.js.map +1 -1
  8. package/dist/api/authors.d.ts +2 -0
  9. package/dist/api/authors.d.ts.map +1 -1
  10. package/dist/api/authors.js +5 -2
  11. package/dist/api/authors.js.map +1 -1
  12. package/dist/api/categories.d.ts +2 -0
  13. package/dist/api/categories.d.ts.map +1 -1
  14. package/dist/api/categories.js +4 -1
  15. package/dist/api/categories.js.map +1 -1
  16. package/dist/api/faqs.d.ts +2 -0
  17. package/dist/api/faqs.d.ts.map +1 -1
  18. package/dist/api/faqs.js +4 -1
  19. package/dist/api/faqs.js.map +1 -1
  20. package/dist/api/global.js +1 -1
  21. package/dist/api/global.js.map +1 -1
  22. package/dist/api/inquiry.js +1 -1
  23. package/dist/api/inquiry.js.map +1 -1
  24. package/dist/api/navigation.js +1 -1
  25. package/dist/api/navigation.js.map +1 -1
  26. package/dist/api/pages.d.ts +9 -1
  27. package/dist/api/pages.d.ts.map +1 -1
  28. package/dist/api/pages.js +26 -9
  29. package/dist/api/pages.js.map +1 -1
  30. package/dist/api/series.d.ts +2 -0
  31. package/dist/api/series.d.ts.map +1 -1
  32. package/dist/api/series.js +5 -2
  33. package/dist/api/series.js.map +1 -1
  34. package/dist/api/site-settings.js +1 -1
  35. package/dist/api/site-settings.js.map +1 -1
  36. package/dist/api/tags.d.ts +2 -0
  37. package/dist/api/tags.d.ts.map +1 -1
  38. package/dist/api/tags.js +4 -1
  39. package/dist/api/tags.js.map +1 -1
  40. package/dist/client/create-client.d.ts +7 -3
  41. package/dist/client/create-client.d.ts.map +1 -1
  42. package/dist/client/create-client.js +13 -5
  43. package/dist/client/create-client.js.map +1 -1
  44. package/dist/client/index.d.ts +2 -2
  45. package/dist/client/index.d.ts.map +1 -1
  46. package/dist/client/index.js +1 -1
  47. package/dist/client/index.js.map +1 -1
  48. package/dist/index.d.ts +7 -7
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +4 -4
  51. package/dist/index.js.map +1 -1
  52. package/dist/populate/builders.d.ts +12 -0
  53. package/dist/populate/builders.d.ts.map +1 -1
  54. package/dist/populate/builders.js +10 -0
  55. package/dist/populate/builders.js.map +1 -1
  56. package/dist/populate/core-blocks.d.ts.map +1 -1
  57. package/dist/populate/core-blocks.js +15 -9
  58. package/dist/populate/core-blocks.js.map +1 -1
  59. package/dist/types/components/blocks.d.ts +12 -11
  60. package/dist/types/components/blocks.d.ts.map +1 -1
  61. package/dist/types/components/index.d.ts +1 -1
  62. package/dist/types/components/index.d.ts.map +1 -1
  63. package/dist/types/components/shared.d.ts +14 -3
  64. package/dist/types/components/shared.d.ts.map +1 -1
  65. package/dist/types/components/shared.js +1 -1
  66. package/dist/types/content-types/article.d.ts +3 -1
  67. package/dist/types/content-types/article.d.ts.map +1 -1
  68. package/dist/types/content-types/article.js +1 -1
  69. package/dist/types/content-types/article.js.map +1 -1
  70. package/dist/types/content-types/author.js +1 -1
  71. package/dist/types/content-types/author.js.map +1 -1
  72. package/dist/types/content-types/category.js +1 -1
  73. package/dist/types/content-types/category.js.map +1 -1
  74. package/dist/types/content-types/faq.js +1 -1
  75. package/dist/types/content-types/faq.js.map +1 -1
  76. package/dist/types/content-types/global.js +1 -1
  77. package/dist/types/content-types/global.js.map +1 -1
  78. package/dist/types/content-types/inquiry.js +1 -1
  79. package/dist/types/content-types/inquiry.js.map +1 -1
  80. package/dist/types/content-types/navigation.js +1 -1
  81. package/dist/types/content-types/navigation.js.map +1 -1
  82. package/dist/types/content-types/page.d.ts +12 -3
  83. package/dist/types/content-types/page.d.ts.map +1 -1
  84. package/dist/types/content-types/page.js +1 -1
  85. package/dist/types/content-types/page.js.map +1 -1
  86. package/dist/types/content-types/series.js +1 -1
  87. package/dist/types/content-types/series.js.map +1 -1
  88. package/dist/types/content-types/site-settings.js +1 -1
  89. package/dist/types/content-types/site-settings.js.map +1 -1
  90. package/dist/types/content-types/tag.js +1 -1
  91. package/dist/types/content-types/tag.js.map +1 -1
  92. package/dist/types/index.d.ts +2 -2
  93. package/dist/types/index.d.ts.map +1 -1
  94. package/dist/types/strapi.d.ts +10 -0
  95. package/dist/types/strapi.d.ts.map +1 -1
  96. package/docs/api-guide.md +22 -22
  97. package/docs/block-reference.md +147 -554
  98. package/docs/components.md +234 -0
  99. package/docs/content-types.md +173 -382
  100. package/docs/elements.md +50 -0
  101. package/package.json +25 -8
@@ -1,4 +1,4 @@
1
1
  // FAQ content type
2
- // Source: packages/strapi-plugin-builder/schemas/api/faq/content-types/faq/schema.json
2
+ // Source: packages/strapi-plugin-builder/server/src/content-types/faq/schema.json
3
3
  export {};
4
4
  //# sourceMappingURL=faq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"faq.js","sourceRoot":"","sources":["../../../src/types/content-types/faq.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,uFAAuF"}
1
+ {"version":3,"file":"faq.js","sourceRoot":"","sources":["../../../src/types/content-types/faq.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,kFAAkF"}
@@ -1,4 +1,4 @@
1
1
  // Global single type
2
- // Source: packages/strapi-plugin-builder/schemas/api/global/content-types/global/schema.json
2
+ // Source: packages/strapi-plugin-builder/server/src/content-types/global/schema.json
3
3
  export {};
4
4
  //# sourceMappingURL=global.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"global.js","sourceRoot":"","sources":["../../../src/types/content-types/global.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,6FAA6F"}
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../../src/types/content-types/global.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,qFAAqF"}
@@ -1,4 +1,4 @@
1
1
  // Inquiry content type (draftAndPublish: false)
2
- // Source: packages/strapi-plugin-builder/schemas/api/inquiry/content-types/inquiry/schema.json
2
+ // Source: packages/strapi-plugin-builder/server/src/content-types/inquiry/schema.json
3
3
  export {};
4
4
  //# sourceMappingURL=inquiry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inquiry.js","sourceRoot":"","sources":["../../../src/types/content-types/inquiry.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,+FAA+F"}
1
+ {"version":3,"file":"inquiry.js","sourceRoot":"","sources":["../../../src/types/content-types/inquiry.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,sFAAsF"}
@@ -1,4 +1,4 @@
1
1
  // Navigation single type
2
- // Source: packages/strapi-plugin-builder/schemas/api/navigation/content-types/navigation/schema.json
2
+ // Source: packages/strapi-plugin-builder/server/src/content-types/navigation/schema.json
3
3
  export {};
4
4
  //# sourceMappingURL=navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/types/content-types/navigation.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,qGAAqG"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/types/content-types/navigation.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,yFAAyF"}
@@ -1,15 +1,24 @@
1
- import type { StrapiI18nDocument } from '../strapi.js';
1
+ import type { StrapiI18nDocument, LocalizationRef } from '../strapi.js';
2
2
  import type { Seo } from '../components/shared.js';
3
3
  import type { Section } from '../components/elements.js';
4
4
  import type { HeroBlock, FeaturesBlock, CtaBlock, SliderBlock, InquiryFormBlock, FaqBlock, HighlightsBlock, BentoGridBlock, TestimonialsBlock, LogoCloudBlock, StatsBlock, PricingBlock, ContentBlock, TeamBlock } from '../components/blocks.js';
5
- /** Dynamic zone union — all blocks that can appear in Page.blocks (15 including Section) */
6
- export type PageBlocks = Section | HeroBlock | FeaturesBlock | CtaBlock | SliderBlock | InquiryFormBlock | FaqBlock | HighlightsBlock | BentoGridBlock | TestimonialsBlock | LogoCloudBlock | StatsBlock | PricingBlock | ContentBlock | TeamBlock;
5
+ type BuiltInPageBlocks = Section | HeroBlock | FeaturesBlock | CtaBlock | SliderBlock | InquiryFormBlock | FaqBlock | HighlightsBlock | BentoGridBlock | TestimonialsBlock | LogoCloudBlock | StatsBlock | PricingBlock | ContentBlock | TeamBlock;
6
+ /** Dynamic zone union, optionally extended or overridden by consumer blocks. */
7
+ export type PageBlocks<CustomBlock extends {
8
+ id: number;
9
+ __component: string;
10
+ } = never> = Exclude<BuiltInPageBlocks, {
11
+ __component: CustomBlock['__component'];
12
+ }> | CustomBlock;
7
13
  export interface Page {
8
14
  title: string;
9
15
  slug: string;
10
16
  seo: Seo | null;
11
17
  blocks: PageBlocks[];
12
18
  headerMode: 'overlay' | 'offset';
19
+ /** Sibling-locale refs — only present when `localizations` is populated. */
20
+ localizations?: LocalizationRef[];
13
21
  }
14
22
  export type PageDocument = StrapiI18nDocument & Page;
23
+ export {};
15
24
  //# sourceMappingURL=page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/types/content-types/page.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACV,MAAM,yBAAyB,CAAC;AAEjC,4FAA4F;AAC5F,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,SAAS,GACT,aAAa,GACb,QAAQ,GACR,WAAW,GACX,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../src/types/content-types/page.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACV,MAAM,yBAAyB,CAAC;AAEjC,KAAK,iBAAiB,GAClB,OAAO,GACP,SAAS,GACT,aAAa,GACb,QAAQ,GACR,WAAW,GACX,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,SAAS,CAAC;AAEd,gFAAgF;AAChF,MAAM,MAAM,UAAU,CACpB,WAAW,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,IAE7D,OAAO,CAAC,iBAAiB,EAAE;IAAE,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;CAAE,CAAC,GACvE,WAAW,CAAC;AAEhB,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,IAAI,CAAC"}
@@ -1,4 +1,4 @@
1
1
  // Page content type
2
- // Source: packages/strapi-plugin-builder/schemas/api/page/content-types/page/schema.json
2
+ // Source: packages/strapi-plugin-builder/server/src/content-types/page/schema.json
3
3
  export {};
4
4
  //# sourceMappingURL=page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/types/content-types/page.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,yFAAyF"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/types/content-types/page.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,mFAAmF"}
@@ -1,4 +1,4 @@
1
1
  // Series content type (draftAndPublish: false)
2
- // Source: packages/strapi-plugin-builder/schemas/api/series/content-types/series/schema.json
2
+ // Source: packages/strapi-plugin-builder/server/src/content-types/series/schema.json
3
3
  export {};
4
4
  //# sourceMappingURL=series.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"series.js","sourceRoot":"","sources":["../../../src/types/content-types/series.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,6FAA6F"}
1
+ {"version":3,"file":"series.js","sourceRoot":"","sources":["../../../src/types/content-types/series.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,qFAAqF"}
@@ -1,4 +1,4 @@
1
1
  // Site Settings single type (draftAndPublish: false)
2
- // Source: packages/strapi-plugin-builder/schemas/api/site-setting/content-types/site-setting/schema.json
2
+ // Source: packages/strapi-plugin-builder/server/src/content-types/site-setting/schema.json
3
3
  export {};
4
4
  //# sourceMappingURL=site-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"site-settings.js","sourceRoot":"","sources":["../../../src/types/content-types/site-settings.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,yGAAyG"}
1
+ {"version":3,"file":"site-settings.js","sourceRoot":"","sources":["../../../src/types/content-types/site-settings.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,2FAA2F"}
@@ -1,4 +1,4 @@
1
1
  // Tag content type (draftAndPublish: false)
2
- // Source: packages/strapi-plugin-builder/schemas/api/tag/content-types/tag/schema.json
2
+ // Source: packages/strapi-plugin-builder/server/src/content-types/tag/schema.json
3
3
  export {};
4
4
  //# sourceMappingURL=tag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/types/content-types/tag.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,uFAAuF"}
1
+ {"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../src/types/content-types/tag.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,kFAAkF"}
@@ -1,4 +1,4 @@
1
- export type { StrapiDocument, StrapiI18nDocument, StrapiComponent, StrapiResponse, StrapiCollectionResponse, StrapiPagination, StrapiError, StrapiMedia, StrapiMediaFormat, BlocksContent, BlockNode, BlockParagraph, BlockHeading, BlockList, BlockListItem, BlockQuote, BlockCode, BlockImage, BlockInlineNode, BlockTextChild, BlockLinkChild, } from './strapi.js';
2
- export type { Link, NavigationGroup, Seo, FeatureItem, HighlightItem, SliderItem, BentoItem, TestimonialItem, LogoItem, StatItem, PricingTier, TeamMember, AnalyticsSetting, ChatbotSetting, SiteVerification, BrandColors, Section, Footer, HeroBlock, FeaturesBlock, CtaBlock, SliderBlock, InquiryFormBlock, FaqBlock, HighlightsBlock, BentoGridBlock, TestimonialsBlock, LogoCloudBlock, StatsBlock, PricingBlock, ContentBlock, TeamBlock, } from './components/index.js';
1
+ export type { StrapiDocument, StrapiI18nDocument, LocalizationRef, StrapiComponent, StrapiResponse, StrapiCollectionResponse, StrapiPagination, StrapiError, StrapiMedia, StrapiMediaFormat, BlocksContent, BlockNode, BlockParagraph, BlockHeading, BlockList, BlockListItem, BlockQuote, BlockCode, BlockImage, BlockInlineNode, BlockTextChild, BlockLinkChild, } from './strapi.js';
2
+ export type { Link, NavigationGroup, Image, Seo, FeatureItem, HighlightItem, SliderItem, BentoItem, TestimonialItem, LogoItem, StatItem, PricingTier, TeamMember, AnalyticsSetting, ChatbotSetting, SiteVerification, BrandColors, Section, Footer, HeroBlock, FeaturesBlock, CtaBlock, SliderBlock, InquiryFormBlock, FaqBlock, HighlightsBlock, BentoGridBlock, TestimonialsBlock, LogoCloudBlock, StatsBlock, PricingBlock, ContentBlock, TeamBlock, } from './components/index.js';
3
3
  export type { Page, PageDocument, PageBlocks, Article, ArticleDocument, Faq, FaqDocument, Inquiry, InquiryDocument, InquiryFormData, Category, CategoryDocument, Tag, TagDocument, Author, AuthorDocument, Series, SeriesDocument, Navigation, NavigationDocument, Global, GlobalDocument, SiteWideBlocks, SiteSettings, SiteSettingsDocument, } from './content-types/index.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,IAAI,EACJ,eAAe,EACf,GAAG,EACH,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,eAAe,EACf,GAAG,EACH,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,GAAG,EACH,WAAW,EACX,MAAM,EACN,cAAc,EACd,MAAM,EACN,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,IAAI,EACJ,eAAe,EACf,KAAK,EACL,GAAG,EACH,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,MAAM,EACN,SAAS,EACT,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,OAAO,EACP,eAAe,EACf,GAAG,EACH,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,GAAG,EACH,WAAW,EACX,MAAM,EACN,cAAc,EACd,MAAM,EACN,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
@@ -8,6 +8,16 @@ export interface StrapiDocument {
8
8
  export interface StrapiI18nDocument extends StrapiDocument {
9
9
  locale: string;
10
10
  }
11
+ /**
12
+ * A sibling-locale reference, surfaced when a document's `localizations` are
13
+ * populated. `slug` is a localized field, so a document's translation may carry
14
+ * a different slug — consumers use this to build hreflang / locale-switcher URLs.
15
+ * Only present when the query populates `localizations` (see populate builders).
16
+ */
17
+ export interface LocalizationRef {
18
+ locale: string;
19
+ slug: string;
20
+ }
11
21
  export interface StrapiComponent<Name extends string = string> {
12
22
  id: number;
13
23
  __component: Name;
@@ -1 +1 @@
1
- {"version":3,"file":"strapi.d.ts","sourceRoot":"","sources":["../../src/types/strapi.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,IAAI,CAAC;CACnB;AAMD,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE;QACJ,UAAU,EAAE,gBAAgB,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAMD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;CACH;AAMD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,iBAAiB,CAAC;QAC7B,KAAK,EAAE,iBAAiB,CAAC;QACzB,MAAM,EAAE,iBAAiB,CAAC;QAC1B,KAAK,EAAE,iBAAiB,CAAC;KAC1B,CAAC,CAAC;IACH,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;CACxC;AAED,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,YAAY,GACZ,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,CAAC;AAEf,wCAAwC;AACxC,MAAM,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"strapi.d.ts","sourceRoot":"","sources":["../../src/types/strapi.ts"],"names":[],"mappings":"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"}
package/docs/api-guide.md CHANGED
@@ -23,24 +23,24 @@ const client = createStrapiClient({
23
23
  | Function | Method | Endpoint | Returns | Notes |
24
24
  |----------|--------|----------|---------|-------|
25
25
  | `getPage(client, docId, opts?)` | GET | `/api/builder/pages/:docId` | `PageDocument` | Smart endpoint |
26
- | `getPageBySlug(client, slug, opts?)` | GET | `/api/pages` | `PageDocument \| null` | REST, filter by slug |
27
- | `listPages(client, opts?)` | GET | `/api/builder/pages` | `{ data, meta }` | Smart, no blocks |
28
- | `listPagesRest(client, opts?)` | GET | `/api/pages` | `{ data, meta }` | REST, with SEO populate |
29
- | `getArticle(client, docId, opts?)` | GET | `/api/articles/:docId` | `ArticleDocument` | REST, full populate |
30
- | `getArticleBySlug(client, slug, opts?)` | GET | `/api/articles` | `ArticleDocument \| null` | REST, filter by slug |
31
- | `listArticles(client, opts?)` | GET | `/api/articles` | `{ data, meta }` | Filter: category, tag, author, series |
26
+ | `getPageBySlug(client, slug, opts?)` | GET | `/api/builder/pages`, then `/api/builder/pages/:docId` | `PageDocument \| null` | Slug lookup, then deep Smart read |
27
+ | `listPages(client, opts?)` | GET | `/api/builder/pages` | `{ data, meta }` | Smart, no blocks; pagination: `page`, `pageSize` |
28
+ | `listPagesRest(client, opts?)` | GET | `/api/builder/pages` | `{ data, meta }` | REST, with SEO populate; pagination: `page`, `pageSize` |
29
+ | `getArticle(client, docId, opts?)` | GET | `/api/builder/articles/:docId` | `ArticleDocument` | REST, full populate |
30
+ | `getArticleBySlug(client, slug, opts?)` | GET | `/api/builder/articles` | `ArticleDocument \| null` | REST, filter by slug |
31
+ | `listArticles(client, opts?)` | GET | `/api/builder/articles` | `{ data, meta }` | Filter: category, tag, author, series; pagination: `page`, `pageSize` |
32
32
  | `getGlobal(client, opts?)` | GET | `/api/builder/global` | `GlobalDocument` | Smart endpoint |
33
- | `getGlobalRest(client, opts?)` | GET | `/api/global` | `GlobalDocument` | REST, client-side populate |
34
- | `getNavigation(client, opts?)` | GET | `/api/navigation` | `NavigationDocument` | REST |
35
- | `getSiteSettings(client)` | GET | `/api/site-setting` | `SiteSettingsDocument` | No locale, no draftAndPublish |
36
- | `listFaqs(client, opts?)` | GET | `/api/faqs` | `{ data, meta }` | Filter: category; sort: sortOrder:asc |
37
- | `listCategories(client, opts?)` | GET | `/api/categories` | `{ data, meta }` | Sort: sortOrder:asc |
38
- | `listTags(client, opts?)` | GET | `/api/tags` | `{ data, meta }` | Sort: name:asc |
39
- | `listAuthors(client, opts?)` | GET | `/api/authors` | `{ data, meta }` | With avatar populate |
40
- | `getAuthorBySlug(client, slug)` | GET | `/api/authors` | `AuthorDocument \| null` | Filter by slug |
41
- | `listSeries(client, opts?)` | GET | `/api/all-series` | `{ data, meta }` | Note: `/all-series` not `/series` |
42
- | `getSeriesBySlug(client, slug, locale?)` | GET | `/api/all-series` | `SeriesDocument \| null` | Filter by slug |
43
- | `postInquiry(client, data)` | POST | `/api/inquiries` | `InquiryDocument` | Body: `InquiryFormData` |
33
+ | `getGlobalRest(client, opts?)` | GET | `/api/builder/global` | `GlobalDocument` | REST, client-side populate |
34
+ | `getNavigation(client, opts?)` | GET | `/api/builder/navigation` | `NavigationDocument` | REST |
35
+ | `getSiteSettings(client)` | GET | `/api/builder/site-setting` | `SiteSettingsDocument` | No locale, no draftAndPublish |
36
+ | `listFaqs(client, opts?)` | GET | `/api/builder/faqs` | `{ data, meta }` | Filter: category; sort: sortOrder:asc; pagination: `page`, `pageSize` |
37
+ | `listCategories(client, opts?)` | GET | `/api/builder/categories` | `{ data, meta }` | Sort: sortOrder:asc; pagination: `page`, `pageSize` |
38
+ | `listTags(client, opts?)` | GET | `/api/builder/tags` | `{ data, meta }` | Sort: name:asc; pagination: `page`, `pageSize` |
39
+ | `listAuthors(client, opts?)` | GET | `/api/builder/authors` | `{ data, meta }` | With avatar populate; pagination: `page`, `pageSize` |
40
+ | `getAuthorBySlug(client, slug)` | GET | `/api/builder/authors` | `AuthorDocument \| null` | Filter by slug |
41
+ | `listSeries(client, opts?)` | GET | `/api/builder/all-series` | `{ data, meta }` | Note: `/all-series` not `/series`; pagination: `page`, `pageSize` |
42
+ | `getSeriesBySlug(client, slug, locale?)` | GET | `/api/builder/all-series` | `SeriesDocument \| null` | Filter by slug |
43
+ | `postInquiry(client, data)` | POST | `/api/builder/inquiries` | `InquiryDocument` | Body: `InquiryFormData` |
44
44
 
45
45
  ## Smart vs REST
46
46
 
@@ -48,15 +48,15 @@ const client = createStrapiClient({
48
48
 
49
49
  | Smart Endpoint | Equivalent REST |
50
50
  |---------------|----------------|
51
- | `/api/builder/pages` | `/api/pages` (list, no blocks) |
52
- | `/api/builder/pages/:docId` | `/api/pages/:docId` (single, full blocks) |
53
- | `/api/builder/global` | `/api/global` (full populate) |
51
+ | `/api/builder/pages` | `/api/builder/pages` (list, no blocks) |
52
+ | `/api/builder/pages/:docId` | `/api/builder/pages/:docId` (single, full blocks) |
53
+ | `/api/builder/global` | `/api/builder/global` (full populate) |
54
54
 
55
55
  **When to use which:**
56
56
  - **Smart** — Default choice. Populate is optimized server-side; smaller payloads.
57
- - **REST** — When you need slug-based lookup (`getPageBySlug`), custom populate, or the Smart endpoint is unavailable.
57
+ - **REST** — When you need direct core REST access or client-controlled populate.
58
58
 
59
- `getPageBySlug` uses REST because Smart endpoints only support documentId lookup, not slug filters.
59
+ `getPageBySlug` first uses the limited list endpoint to resolve the slug, then loads the document through the Smart detail endpoint. This keeps list reads inexpensive while returning deeply populated core and server-registered custom blocks.
60
60
 
61
61
  ## Populate Builders
62
62