@treely/strapi-slices 1.1.0 → 2.1.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.
@@ -1,18 +1,19 @@
1
- import { ReactNode } from 'react';
1
+ /// <reference types="react" />
2
2
  import StrapiBlogPost from '../../models/strapi/StrapiBlogPost';
3
3
  import IStrapiData from '../../models/strapi/IStrapiData';
4
4
  import PortfolioProject from '../../models/PortfolioProject';
5
5
  import StrapiCustomerStory from '../../models/strapi/StrapiCustomerStory';
6
6
  import Locale from '../../models/Locale';
7
+ export interface CustomSliceProps {
8
+ slice: any;
9
+ id: string;
10
+ }
7
11
  export interface SliceRendererProps {
8
12
  slices: any;
9
13
  blogPosts: IStrapiData<StrapiBlogPost>[];
10
14
  projects: PortfolioProject[];
11
15
  customerStories: IStrapiData<StrapiCustomerStory>[];
12
16
  locale?: Locale;
13
- additionalSlices?: {
14
- id: string;
15
- component: ReactNode;
16
- }[];
17
+ CustomSlice?: ({ slice, id }: CustomSliceProps) => JSX.Element;
17
18
  }
18
- export declare const SliceRenderer: ({ slices, blogPosts, projects, customerStories, locale, additionalSlices, }: SliceRendererProps) => JSX.Element;
19
+ export declare const SliceRenderer: ({ slices, blogPosts, projects, customerStories, locale, CustomSlice, }: SliceRendererProps) => JSX.Element;
package/dist/index.d.ts CHANGED
@@ -1 +1,37 @@
1
+ import IStrapi from './models/strapi/IStrapi';
2
+ import IStrapiData from './models/strapi/IStrapiData';
3
+ import IStrapiResponse from './models/strapi/IStrapiResponse';
4
+ import StrapiAuthor from './models/strapi/StrapiAuthor';
5
+ import StrapiAvatarWithName from './models/strapi/StrapiAvatarWithName';
6
+ import StrapiBanner from './models/strapi/StrapiBanner';
7
+ import StrapiBlogPost from './models/strapi/StrapiBlogPost';
8
+ import StrapiButtonWithVariant from './models/strapi/StrapiButtonWithVariant';
9
+ import StrapiCategory from './models/strapi/StrapiCategory';
10
+ import StrapiContactArea from './models/strapi/StrapiContactArea';
11
+ import StrapiCustomerStory from './models/strapi/StrapiCustomerStory';
12
+ import StrapiDefaultHeader from './models/strapi/StrapiDefaultHeader';
13
+ import StrapiGlobal from './models/strapi/StrapiGlobal';
14
+ import StrapiGlossaryItem from './models/strapi/StrapiGlossaryItem';
15
+ import StrapiHeroCard from './models/strapi/StrapiHeroCard';
16
+ import StrapiImage from './models/strapi/StrapiImage';
17
+ import StrapiImageFormat from './models/strapi/StrapiImageFormat';
18
+ import StrapiImageWithLink from './models/strapi/StrapiImageWithLink';
19
+ import StrapiLink from './models/strapi/StrapiLink';
20
+ import StrapiLinkList from './models/strapi/StrapiLinkList';
21
+ import StrapiLinkPage from './models/strapi/StrapiLinkPage';
22
+ import StrapiLinkWithIcon from './models/strapi/StrapiLinkWithIcon';
23
+ import StrapiLocalization from './models/strapi/StrapiLocalization';
24
+ import StrapiMedia from './models/strapi/StrapiMedia';
25
+ import StrapiMetadata from './models/strapi/StrapiMetadata';
26
+ import StrapiNavMenu from './models/strapi/StrapiNavMenu';
27
+ import StrapiPage from './models/strapi/StrapiPage';
28
+ import StrapiPortfolio from './models/strapi/StrapiPortfolio';
29
+ import StrapiPortfolioCard from './models/strapi/StrapiPortfolioCard';
30
+ import StrapiProject from './models/strapi/StrapiProject';
31
+ import StrapiProjectCard from './models/strapi/StrapiProjectCard';
32
+ import StrapiQuoteCard from './models/strapi/StrapiQuoteCard';
33
+ import StrapiShapesCard from './models/strapi/StrapiShapesCard';
34
+ import StrapiTextCardWithIcons from './models/strapi/StrapiTextCardWithIcons';
35
+ import StrapiTopBanner from './models/strapi/StrapiTopBanner';
1
36
  export * from './components/SliceRenderer';
37
+ export type { IStrapi, IStrapiData, IStrapiResponse, StrapiAuthor, StrapiAvatarWithName, StrapiBanner, StrapiBlogPost, StrapiButtonWithVariant, StrapiCategory, StrapiContactArea, StrapiCustomerStory, StrapiDefaultHeader, StrapiGlobal, StrapiGlossaryItem, StrapiHeroCard, StrapiImage, StrapiImageFormat, StrapiImageWithLink, StrapiLink, StrapiLinkList, StrapiLinkPage, StrapiLinkWithIcon, StrapiLocalization, StrapiMedia, StrapiMetadata, StrapiNavMenu, StrapiPage, StrapiPortfolio, StrapiPortfolioCard, StrapiProject, StrapiProjectCard, StrapiQuoteCard, StrapiShapesCard, StrapiTextCardWithIcons, StrapiTopBanner, };
@@ -4439,8 +4439,7 @@ var SliceRenderer = function SliceRenderer(_ref) {
4439
4439
  customerStories = _ref.customerStories,
4440
4440
  _ref$locale = _ref.locale,
4441
4441
  locale = _ref$locale === void 0 ? 'en' : _ref$locale,
4442
- _ref$additionalSlices = _ref.additionalSlices,
4443
- additionalSlices = _ref$additionalSlices === void 0 ? [] : _ref$additionalSlices;
4442
+ CustomSlice = _ref.CustomSlice;
4444
4443
  return React__default.default.createElement(ContextProvider, {
4445
4444
  locale: locale
4446
4445
  }, slices.map(function (slice) {
@@ -4636,13 +4635,12 @@ var SliceRenderer = function SliceRenderer(_ref) {
4636
4635
  slice: slice
4637
4636
  });
4638
4637
  default:
4639
- var additionalSlice = additionalSlices.find(function (additionalSlice) {
4640
- return additionalSlice.id === slice.__component;
4641
- });
4642
- if (additionalSlice) {
4643
- return React__default.default.createElement("div", {
4644
- key: slice.__component + "-" + slice.id
4645
- }, additionalSlice.component);
4638
+ if (CustomSlice) {
4639
+ return React__default.default.createElement(CustomSlice, {
4640
+ key: slice.__component + "-" + slice.id,
4641
+ id: slice.__component,
4642
+ slice: slice
4643
+ });
4646
4644
  }
4647
4645
  return React__default.default.createElement("div", {
4648
4646
  key: slice.__component + "-" + slice.id