@pixelated-tech/components 3.2.4 → 3.2.6

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 (53) hide show
  1. package/README.md +6 -0
  2. package/dist/components/callout/callout.js +20 -2
  3. package/dist/components/callout/callout.scss +9 -2
  4. package/dist/components/cms/contentful.items.components.js +2 -2
  5. package/dist/components/cms/wordpress.components.js +14 -9
  6. package/dist/components/general/accordion.css +114 -0
  7. package/dist/components/general/accordion.js +13 -0
  8. package/dist/components/menu/menu-expando.js +1 -6
  9. package/dist/components/seo/schema-blogposting.js +53 -0
  10. package/dist/components/seo/schema-localbusiness.js +27 -0
  11. package/dist/components/seo/schema-recipe.js +5 -0
  12. package/dist/components/seo/schema-services.js +24 -0
  13. package/dist/components/seo/schema-website.js +13 -0
  14. package/dist/components/shoppingcart/shoppingcart.css +10 -0
  15. package/dist/components/structured/recipe.css +1 -1
  16. package/dist/components/structured/recipe.js +58 -8
  17. package/dist/data/recipes.json +3157 -1821
  18. package/dist/index.js +6 -0
  19. package/dist/types/components/callout/callout.d.ts +1 -1
  20. package/dist/types/components/callout/callout.d.ts.map +1 -1
  21. package/dist/types/components/cms/wordpress.components.d.ts +1 -0
  22. package/dist/types/components/cms/wordpress.components.d.ts.map +1 -1
  23. package/dist/types/components/general/accordion.d.ts +18 -0
  24. package/dist/types/components/general/accordion.d.ts.map +1 -0
  25. package/dist/types/components/menu/menu-expando.d.ts.map +1 -1
  26. package/dist/types/components/seo/schema-blogposting.d.ts +31 -0
  27. package/dist/types/components/seo/schema-blogposting.d.ts.map +1 -0
  28. package/dist/types/components/seo/schema-localbusiness.d.ts +25 -0
  29. package/dist/types/components/seo/schema-localbusiness.d.ts.map +1 -0
  30. package/dist/types/components/seo/schema-recipe.d.ts +34 -0
  31. package/dist/types/components/seo/schema-recipe.d.ts.map +1 -0
  32. package/dist/types/components/seo/schema-services.d.ts +25 -0
  33. package/dist/types/components/seo/schema-services.d.ts.map +1 -0
  34. package/dist/types/components/seo/schema-website.d.ts +21 -0
  35. package/dist/types/components/seo/schema-website.d.ts.map +1 -0
  36. package/dist/types/components/structured/recipe.d.ts +34 -13
  37. package/dist/types/components/structured/recipe.d.ts.map +1 -1
  38. package/dist/types/index.d.ts +6 -0
  39. package/dist/types/stories/general/accordion.stories.d.ts +10 -0
  40. package/dist/types/stories/general/accordion.stories.d.ts.map +1 -0
  41. package/dist/types/tests/accordion.test.d.ts +2 -0
  42. package/dist/types/tests/accordion.test.d.ts.map +1 -0
  43. package/dist/types/tests/schema-blogposting.test.d.ts +2 -0
  44. package/dist/types/tests/schema-blogposting.test.d.ts.map +1 -0
  45. package/dist/types/tests/schema-localbusiness.test.d.ts +2 -0
  46. package/dist/types/tests/schema-localbusiness.test.d.ts.map +1 -0
  47. package/dist/types/tests/schema-recipe.test.d.ts +2 -0
  48. package/dist/types/tests/schema-recipe.test.d.ts.map +1 -0
  49. package/dist/types/tests/schema-services.test.d.ts +2 -0
  50. package/dist/types/tests/schema-services.test.d.ts.map +1 -0
  51. package/dist/types/tests/schema-website.test.d.ts +2 -0
  52. package/dist/types/tests/schema-website.test.d.ts.map +1 -0
  53. package/package.json +10 -10
package/dist/index.js CHANGED
@@ -25,6 +25,7 @@ export * from './components/config/config.server';
25
25
  export * from './components/config/config';
26
26
  export * from './components/config/config.types';
27
27
  export * from './components/general/css';
28
+ export * from './components/general/accordion';
28
29
  export * from './components/general/image';
29
30
  export * from './components/general/loading';
30
31
  export * from './components/general/microinteractions';
@@ -59,6 +60,11 @@ export * from './components/seo/404';
59
60
  export * from './components/seo/googleanalytics';
60
61
  export * from './components/seo/googlemap';
61
62
  export * from './components/seo/googlesearch';
63
+ export * from './components/seo/schema-localbusiness';
64
+ export * from './components/seo/schema-recipe';
65
+ export * from './components/seo/schema-services';
66
+ export * from './components/seo/schema-website';
67
+ export * from './components/seo/schema-blogposting';
62
68
  export * from './components/seo/metadata'; // server-side
63
69
  export * from './components/seo/metadata.components';
64
70
  export * from './components/seo/sitemap'; // server-side
@@ -46,7 +46,7 @@ export declare function CalloutButton({ title, url, target }: CalloutButtonType)
46
46
  export declare namespace CalloutButton {
47
47
  var propTypes: {
48
48
  title: PropTypes.Validator<string>;
49
- url: PropTypes.Requireable<string>;
49
+ url: PropTypes.Validator<string>;
50
50
  target: PropTypes.Requireable<string>;
51
51
  };
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../../../src/components/callout/callout.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,gBAAgB,CAAC;AAiBxB,eAAO,MAAM,QAAQ,iFAAkF,CAAC;AACxG,eAAO,MAAM,MAAM,mDAAoD,CAAC;AACxE,eAAO,MAAM,OAAO,qCAAsC,CAAC;AAC3D,eAAO,MAAM,UAAU,4BAA6B,CAAC;AAGrD,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AA0BtD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;AAC/D,wBAAgB,OAAO,CAAC,EACvB,OAAmB,EACnB,QAAqB,EACrB,MAAqB,EACrB,SAAkB,EAClB,WAAiC,EACjC,GAAG,EAAE,GAAG,EAAE,MAAM,EAChB,QAAmB,EACnB,QAAQ,EACR,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EACpC,SAAS,GAGgB,EAAE,WAAW,2CA2EtC;yBAxFe,OAAO;;;;;;;;;;;;;;;;;;;;;;AAkGvB,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAE,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAC,EAAE,iBAAiB,2CASrE;yBATe,aAAa;;;;;;;AAmB7B,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAG,iBAAiB,2CASxE;yBATe,aAAa"}
1
+ {"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../../../src/components/callout/callout.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,gBAAgB,CAAC;AAiBxB,eAAO,MAAM,QAAQ,iFAAkF,CAAC;AACxG,eAAO,MAAM,MAAM,mDAAoD,CAAC;AACxE,eAAO,MAAM,OAAO,qCAAsC,CAAC;AAC3D,eAAO,MAAM,UAAU,4BAA6B,CAAC;AAGrD,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAC9C,MAAM,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AA0BtD,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;AAC/D,wBAAgB,OAAO,CAAC,EACvB,OAAmB,EACnB,QAAqB,EACrB,MAAqB,EACrB,SAAkB,EAClB,WAAiC,EACjC,GAAG,EAAE,GAAG,EAAE,MAAM,EAChB,QAAmB,EACnB,QAAQ,EACR,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EACpC,SAAS,GAGgB,EAAE,WAAW,2CA2EtC;yBAxFe,OAAO;;;;;;;;;;;;;;;;;;;;;;AAkGvB,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3E,wBAAgB,aAAa,CAAE,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAC,EAAE,iBAAiB,2CASrE;yBATe,aAAa;;;;;;;AAmB7B,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAW3E,wBAAgB,aAAa,CAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAG,iBAAiB,2CAgBxE;yBAhBe,aAAa"}
@@ -3,6 +3,7 @@ import "./wordpress.css";
3
3
  export declare function BlogPostList(props: {
4
4
  site: string;
5
5
  count?: number;
6
+ posts?: BlogPostType[];
6
7
  }): import("react/jsx-runtime").JSX.Element;
7
8
  export declare function BlogPostSummary(props: BlogPostType): import("react/jsx-runtime").JSX.Element;
8
9
  export declare function BlogPostCategories(props: {
@@ -1 +1 @@
1
- {"version":3,"file":"wordpress.components.d.ts","sourceRoot":"","sources":["../../../../src/components/cms/wordpress.components.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,OAAO,iBAAiB,CAAC;AAazB,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAiCnE;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,2CA+ClD;AAID,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,kDA0BjE"}
1
+ {"version":3,"file":"wordpress.components.d.ts","sourceRoot":"","sources":["../../../../src/components/cms/wordpress.components.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,OAAO,iBAAiB,CAAC;AAWzB,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;CAAE,2CAyC3F;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,2CA+ClD;AAID,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,kDA0BjE"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import PropTypes, { InferProps } from 'prop-types';
3
+ import './accordion.css';
4
+ export interface AccordionItem {
5
+ title: string;
6
+ content: string | React.ReactNode;
7
+ }
8
+ export type AccordionType = InferProps<typeof Accordion.propTypes>;
9
+ export declare function Accordion({ items }: AccordionType): import("react/jsx-runtime").JSX.Element;
10
+ export declare namespace Accordion {
11
+ var propTypes: {
12
+ items: PropTypes.Validator<(PropTypes.InferProps<{
13
+ title: PropTypes.Validator<string>;
14
+ content: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
15
+ }> | null | undefined)[]>;
16
+ };
17
+ }
18
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/general/accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,iBAAiB,CAAC;AAEzB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;CACnC;AAUD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;AACnE,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,2CA2BjD;yBA3Be,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"menu-expando.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/menu-expando.tsx"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,CAAC;AAE5B,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,2CA2JrC;yBA3Je,WAAW;;;;;AAwK3B,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,2CAIzC;yBAJe,eAAe;;;;;;AAW/B,wBAAgB,iBAAiB,4CAahC;yBAbe,iBAAiB"}
1
+ {"version":3,"file":"menu-expando.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/menu-expando.tsx"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,CAAC;AAE5B,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,2CAkJrC;yBAlJe,WAAW;;;;;AA+J3B,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,2CAIzC;yBAJe,eAAe;;;;;;AAW/B,wBAAgB,iBAAiB,4CAahC;yBAbe,iBAAiB"}
@@ -0,0 +1,31 @@
1
+ import type { BlogPostType } from '../cms/wordpress.functions';
2
+ export interface BlogPostingSchema {
3
+ '@context': string;
4
+ '@type': string;
5
+ headline: string;
6
+ description?: string;
7
+ image?: string;
8
+ datePublished: string;
9
+ dateModified?: string;
10
+ author?: {
11
+ '@type': string;
12
+ name: string;
13
+ url?: string;
14
+ };
15
+ articleBody?: string;
16
+ articleSection?: string;
17
+ keywords?: string[];
18
+ wordCount?: number;
19
+ }
20
+ interface SchemaBlogPostingProps {
21
+ post: BlogPostingSchema;
22
+ }
23
+ /**
24
+ * Converts WordPress REST API blog post to schema.org BlogPosting format
25
+ * @param post WordPress blog post
26
+ * @param includeFullContent Whether to include articleBody (true) or just description (false)
27
+ */
28
+ export declare function mapWordPressToBlogPosting(post: BlogPostType, includeFullContent?: boolean): BlogPostingSchema;
29
+ export declare function SchemaBlogPosting({ post }: SchemaBlogPostingProps): import("react/jsx-runtime").JSX.Element;
30
+ export default SchemaBlogPosting;
31
+ //# sourceMappingURL=schema-blogposting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-blogposting.d.ts","sourceRoot":"","sources":["../../../../src/components/seo/schema-blogposting.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC/B,IAAI,EAAE,iBAAiB,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,YAAY,EAClB,kBAAkB,GAAE,OAAe,GACjC,iBAAiB,CA8CnB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,sBAAsB,2CASjE;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * LocalBusiness Schema Component
3
+ * Generates JSON-LD structured data for SEO
4
+ * https://schema.org/LocalBusiness
5
+ */
6
+ export interface LocalBusinessSchemaProps {
7
+ name: string;
8
+ streetAddress: string;
9
+ addressLocality: string;
10
+ addressRegion: string;
11
+ postalCode: string;
12
+ addressCountry?: string;
13
+ telephone: string;
14
+ url: string;
15
+ logo?: string;
16
+ image?: string;
17
+ openingHours?: string | string[];
18
+ description?: string;
19
+ email?: string;
20
+ priceRange?: string;
21
+ sameAs?: string[];
22
+ }
23
+ export declare function LocalBusinessSchema({ name, streetAddress, addressLocality, addressRegion, postalCode, addressCountry, telephone, url, logo, image, openingHours, description, email, priceRange, sameAs }: LocalBusinessSchemaProps): import("react/jsx-runtime").JSX.Element;
24
+ export default LocalBusinessSchema;
25
+ //# sourceMappingURL=schema-localbusiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-localbusiness.d.ts","sourceRoot":"","sources":["../../../../src/components/seo/schema-localbusiness.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAE,EACpC,IAAI,EACJ,aAAa,EACb,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAgC,EAChC,SAAS,EACT,GAAG,EACH,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,WAAW,EACX,KAAK,EACL,UAAU,EACV,MAAM,EACN,EAAE,wBAAwB,2CA8B1B;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Recipe Schema Component
3
+ * Generates JSON-LD structured data for recipes
4
+ * https://schema.org/Recipe
5
+ */
6
+ export interface RecipeSchemaProps {
7
+ recipe: {
8
+ '@context': string;
9
+ '@type': string;
10
+ name: string;
11
+ description?: string;
12
+ author?: {
13
+ '@type': string;
14
+ name: string;
15
+ };
16
+ datePublished?: string;
17
+ image?: string;
18
+ recipeYield?: string;
19
+ prepTime?: string;
20
+ cookTime?: string;
21
+ totalTime?: string;
22
+ recipeCategory?: string;
23
+ recipeCuisine?: string;
24
+ recipeIngredient?: string[];
25
+ recipeInstructions?: Array<{
26
+ '@type': string;
27
+ text: string;
28
+ }>;
29
+ license?: string;
30
+ };
31
+ }
32
+ export declare function RecipeSchema({ recipe }: RecipeSchemaProps): import("react/jsx-runtime").JSX.Element;
33
+ export default RecipeSchema;
34
+ //# sourceMappingURL=schema-recipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-recipe.d.ts","sourceRoot":"","sources":["../../../../src/components/seo/schema-recipe.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE;YACR,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;SACb,CAAC;QACF,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,kBAAkB,CAAC,EAAE,KAAK,CAAC;YAC1B,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;SACb,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACF;AAED,wBAAgB,YAAY,CAAE,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAO1D;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Services Schema Component
3
+ * Generates JSON-LD structured data for services
4
+ * https://schema.org/Service
5
+ */
6
+ export interface ServiceItem {
7
+ name: string;
8
+ description: string;
9
+ url?: string;
10
+ image?: string;
11
+ areaServed?: string | string[];
12
+ }
13
+ export interface ServicesSchemaProps {
14
+ provider: {
15
+ name: string;
16
+ url: string;
17
+ logo?: string;
18
+ telephone?: string;
19
+ email?: string;
20
+ };
21
+ services: ServiceItem[];
22
+ }
23
+ export declare function ServicesSchema({ provider, services }: ServicesSchemaProps): import("react/jsx-runtime").JSX.Element;
24
+ export default ServicesSchema;
25
+ //# sourceMappingURL=schema-services.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-services.d.ts","sourceRoot":"","sources":["../../../../src/components/seo/schema-services.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,wBAAgB,cAAc,CAAE,EAC/B,QAAQ,EACR,QAAQ,EACR,EAAE,mBAAmB,2CAgCrB;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Website Schema Component
3
+ * Generates JSON-LD structured data for websites
4
+ * https://schema.org/WebSite
5
+ */
6
+ export interface WebsiteSchemaProps {
7
+ name: string;
8
+ url: string;
9
+ description?: string;
10
+ potentialAction?: {
11
+ '@type': 'SearchAction';
12
+ target: {
13
+ '@type': 'EntryPoint';
14
+ urlTemplate: string;
15
+ };
16
+ query?: string;
17
+ };
18
+ }
19
+ export declare function WebsiteSchema({ name, url, description, potentialAction }: WebsiteSchemaProps): import("react/jsx-runtime").JSX.Element;
20
+ export default WebsiteSchema;
21
+ //# sourceMappingURL=schema-website.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-website.d.ts","sourceRoot":"","sources":["../../../../src/components/seo/schema-website.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE;QACjB,OAAO,EAAE,cAAc,CAAC;QACxB,MAAM,EAAE;YACP,OAAO,EAAE,YAAY,CAAC;YACtB,WAAW,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACF;AAED,wBAAgB,aAAa,CAAE,EAC9B,IAAI,EACJ,GAAG,EACH,WAAW,EACX,eAAe,EACf,EAAE,kBAAkB,2CAgBpB;AAED,eAAe,aAAa,CAAC"}
@@ -1,21 +1,42 @@
1
1
  import PropTypes, { InferProps } from 'prop-types';
2
2
  import './recipe.css';
3
+ export type RecipeOutputType = {
4
+ name: string;
5
+ photo: string;
6
+ summary: string;
7
+ author: string;
8
+ published: string;
9
+ duration: string;
10
+ yield: string;
11
+ ingredients: string[];
12
+ instructions: string[];
13
+ category: string[];
14
+ license: string;
15
+ };
16
+ export declare function mapSchemaRecipeToDisplay(schemaRecipe: any): RecipeOutputType;
3
17
  type RecipeType = {
4
- type: string;
5
- properties: {
18
+ '@context': string;
19
+ '@type': string;
20
+ name: string;
21
+ description: string;
22
+ author: {
23
+ '@type': string;
6
24
  name: string;
7
- summary: string;
8
- author: string;
9
- published: string;
10
- yield: string;
11
- duration: string;
12
- ingredients: string[];
13
- instructions: string[];
14
- nutrition: any[];
15
- photo: string;
16
- category: string[];
17
- license: string;
18
25
  };
26
+ recipeYield: string;
27
+ prepTime: string;
28
+ cookTime: string;
29
+ totalTime: string;
30
+ recipeCategory: string;
31
+ recipeCuisine: string;
32
+ recipeIngredient: string[];
33
+ recipeInstructions: Array<{
34
+ '@type': string;
35
+ text: string;
36
+ }>;
37
+ license?: string;
38
+ image?: string;
39
+ datePublished?: string;
19
40
  };
20
41
  type RecipeDataType = {
21
42
  items: RecipeType[];
@@ -1 +1 @@
1
- {"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../../../src/components/structured/recipe.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,cAAc,CAAC;AAWtB,KAAK,UAAU,GAAG;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,EAAE,GAAG,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;CACF,CAAC;AAYF,KAAK,cAAc,GAAG;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,cAAc,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,2CAyE/C;yBAzEe,UAAU;;;;;;;;AAoF1B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CAOvD;yBAPe,cAAc;;;;;;;;AAiB9B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAE,KAAK,EAAE,kBAAkB,2CA4CxD;yBA5Ce,cAAc;;;;;;;AAqD9B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CA6CvD;yBA7Ce,cAAc;;;;;;;AAgD9B,wBAAgB,SAAS,4CAyBxB"}
1
+ {"version":3,"file":"recipe.d.ts","sourceRoot":"","sources":["../../../../src/components/structured/recipe.tsx"],"names":[],"mappings":"AACA,OAAO,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,cAAc,CAAC;AAetB,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,GAAG,GAAG,gBAAgB,CAuD5E;AAKD,KAAK,UAAU,GAAG;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,EAAE,KAAK,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAYF,KAAK,cAAc,GAAG;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;CACpB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,cAAc,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,2CA0E/C;yBA1Ee,UAAU;;;;;;;;AAqF1B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CAOvD;yBAPe,cAAc;;;;;;;;AAiB9B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAE,KAAK,EAAE,kBAAkB,2CA2CxD;yBA3Ce,cAAc;;;;;;;AAoD9B,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,2CA8CvD;yBA9Ce,cAAc;;;;;;;AAiD9B,wBAAgB,SAAS,4CAyBxB"}
@@ -23,6 +23,7 @@ export * from "./components/config/config.server";
23
23
  export * from "./components/config/config";
24
24
  export * from "./components/config/config.types";
25
25
  export * from "./components/general/css";
26
+ export * from "./components/general/accordion";
26
27
  export * from "./components/general/image";
27
28
  export * from "./components/general/loading";
28
29
  export * from "./components/general/microinteractions";
@@ -57,6 +58,11 @@ export * from "./components/seo/404";
57
58
  export * from "./components/seo/googleanalytics";
58
59
  export * from "./components/seo/googlemap";
59
60
  export * from "./components/seo/googlesearch";
61
+ export * from "./components/seo/schema-localbusiness";
62
+ export * from "./components/seo/schema-recipe";
63
+ export * from "./components/seo/schema-services";
64
+ export * from "./components/seo/schema-website";
65
+ export * from "./components/seo/schema-blogposting";
60
66
  export * from "./components/seo/metadata";
61
67
  export * from "./components/seo/metadata.components";
62
68
  export * from "./components/seo/sitemap";
@@ -0,0 +1,10 @@
1
+ declare namespace _default {
2
+ export let title: string;
3
+ export { Accordion as component };
4
+ }
5
+ export default _default;
6
+ export function Default(): import("react/jsx-runtime").JSX.Element;
7
+ export function WithHTMLContent(): import("react/jsx-runtime").JSX.Element;
8
+ export function SingleItem(): import("react/jsx-runtime").JSX.Element;
9
+ import { Accordion } from '@/components/general/accordion';
10
+ //# sourceMappingURL=accordion.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/general/accordion.stories.js"],"names":[],"mappings":";;;;;AAuBO,mEAEN;AAEM,2EAeN;AAEM,sEAON;0BAlDyB,gCAAgC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=accordion.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.test.d.ts","sourceRoot":"","sources":["../../../src/tests/accordion.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-blogposting.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-blogposting.test.d.ts","sourceRoot":"","sources":["../../../src/tests/schema-blogposting.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-localbusiness.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-localbusiness.test.d.ts","sourceRoot":"","sources":["../../../src/tests/schema-localbusiness.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-recipe.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-recipe.test.d.ts","sourceRoot":"","sources":["../../../src/tests/schema-recipe.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-services.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-services.test.d.ts","sourceRoot":"","sources":["../../../src/tests/schema-services.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-website.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-website.test.d.ts","sourceRoot":"","sources":["../../../src/tests/schema-website.test.tsx"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelated-tech/components",
3
- "version": "3.2.4",
3
+ "version": "3.2.6",
4
4
  "private": false,
5
5
  "author": {
6
6
  "name": "Pixelated Technologies",
@@ -91,12 +91,12 @@
91
91
  "@eslint/markdown": "^7.5.1",
92
92
  "@storybook/addon-webpack5-compiler-babel": "^4.0.0",
93
93
  "@storybook/preset-scss": "^1.0.3",
94
- "@storybook/react-webpack5": "^10.1.6",
94
+ "@storybook/react-webpack5": "^10.1.8",
95
95
  "@testing-library/dom": "^10.4.1",
96
96
  "@testing-library/react": "^16.3.0",
97
97
  "@testing-library/user-event": "^14.6.1",
98
98
  "@types/md5": "^2.3.6",
99
- "@types/node": "^25.0.0",
99
+ "@types/node": "^25.0.1",
100
100
  "@types/prop-types": "^15.7.15",
101
101
  "@types/react": "^19.2.7",
102
102
  "@types/react-dom": "^19.2.3",
@@ -110,28 +110,28 @@
110
110
  "clean-webpack-plugin": "^4.0.0",
111
111
  "copy-webpack-plugin": "^13.0.1",
112
112
  "css-loader": "^7.1.2",
113
- "eslint": "^9.39.1",
113
+ "eslint": "^9.39.2",
114
114
  "eslint-config-standard": "^17.0.0",
115
115
  "eslint-plugin-import": "^2.32.0",
116
116
  "eslint-plugin-jsx-a11y": "^6.10.2",
117
117
  "eslint-plugin-n": "^17.23.1",
118
118
  "eslint-plugin-promise": "^7.2.1",
119
119
  "eslint-plugin-react": "^7.37.4",
120
- "eslint-plugin-storybook": "^10.1.6",
120
+ "eslint-plugin-storybook": "^10.1.8",
121
121
  "file-loader": "^6.2.0",
122
122
  "happy-dom": "^20.0.11",
123
123
  "jsdom": "^27.3.0",
124
124
  "less-loader": "^12.3.0",
125
125
  "mini-css-extract-plugin": "^2.9.4",
126
- "next": "^16.0.8",
126
+ "next": "^16.0.10",
127
127
  "null-loader": "^4.0.1",
128
128
  "prop-types": "^15.8.1",
129
- "react": "^19.2.1",
130
- "react-dom": "^19.2.1",
131
- "react-test-renderer": "^19.2.1",
129
+ "react": "^19.2.3",
130
+ "react-dom": "^19.2.3",
131
+ "react-test-renderer": "^19.2.3",
132
132
  "sass": "^1.96.0",
133
133
  "sass-loader": "^16.0.6",
134
- "storybook": "^10.1.6",
134
+ "storybook": "^10.1.8",
135
135
  "style-loader": "^4.0.0",
136
136
  "ts-loader": "^9.5.4",
137
137
  "typescript": "^5.9.3",