@datocms/svelte 1.2.1 → 1.2.2

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 (70) hide show
  1. package/README.md +33 -6
  2. package/package.json +169 -24
  3. package/components/Head/Head.svelte +0 -14
  4. package/components/Head/Head.svelte.d.ts +0 -61
  5. package/components/Head/README.md +0 -68
  6. package/components/Head/__tests__/Head.test.d.ts +0 -1
  7. package/components/Head/__tests__/Head.test.js +0 -11
  8. package/components/Head/__tests__/__fixtures__/head.d.ts +0 -2
  9. package/components/Head/__tests__/__fixtures__/head.js +0 -280
  10. package/components/Head/__tests__/__snapshots__/Head.test.ts.snap +0 -221
  11. package/components/Image/Image.svelte +0 -172
  12. package/components/Image/Image.svelte.d.ts +0 -83
  13. package/components/Image/Placeholder.svelte +0 -30
  14. package/components/Image/Placeholder.svelte.d.ts +0 -22
  15. package/components/Image/README.md +0 -167
  16. package/components/Image/Sizer.svelte +0 -17
  17. package/components/Image/Sizer.svelte.d.ts +0 -19
  18. package/components/Image/Source.svelte +0 -6
  19. package/components/Image/Source.svelte.d.ts +0 -18
  20. package/components/Image/__tests__/Image.svelte.test.d.ts +0 -1
  21. package/components/Image/__tests__/Image.svelte.test.js +0 -44
  22. package/components/Image/__tests__/__fixtures__/image.d.ts +0 -40
  23. package/components/Image/__tests__/__fixtures__/image.js +0 -40
  24. package/components/Image/__tests__/__snapshots__/Image.svelte.test.ts.snap +0 -903
  25. package/components/StructuredText/Node.svelte +0 -112
  26. package/components/StructuredText/Node.svelte.d.ts +0 -22
  27. package/components/StructuredText/README.md +0 -201
  28. package/components/StructuredText/StructuredText.svelte +0 -15
  29. package/components/StructuredText/StructuredText.svelte.d.ts +0 -19
  30. package/components/StructuredText/__tests__/StructuredText.svelte.test.d.ts +0 -1
  31. package/components/StructuredText/__tests__/StructuredText.svelte.test.js +0 -171
  32. package/components/StructuredText/__tests__/__fixtures__/Block.svelte +0 -11
  33. package/components/StructuredText/__tests__/__fixtures__/Block.svelte.d.ts +0 -19
  34. package/components/StructuredText/__tests__/__fixtures__/CustomSpan.svelte +0 -49
  35. package/components/StructuredText/__tests__/__fixtures__/CustomSpan.svelte.d.ts +0 -19
  36. package/components/StructuredText/__tests__/__fixtures__/IncreasedLevelHeading.svelte +0 -8
  37. package/components/StructuredText/__tests__/__fixtures__/IncreasedLevelHeading.svelte.d.ts +0 -19
  38. package/components/StructuredText/__tests__/__fixtures__/InlineItem.svelte +0 -8
  39. package/components/StructuredText/__tests__/__fixtures__/InlineItem.svelte.d.ts +0 -19
  40. package/components/StructuredText/__tests__/__fixtures__/ItemLink.svelte +0 -15
  41. package/components/StructuredText/__tests__/__fixtures__/ItemLink.svelte.d.ts +0 -21
  42. package/components/StructuredText/__tests__/__fixtures__/structuredText.d.ts +0 -7
  43. package/components/StructuredText/__tests__/__fixtures__/structuredText.js +0 -575
  44. package/components/StructuredText/__tests__/__fixtures__/types.d.ts +0 -27
  45. package/components/StructuredText/__tests__/__fixtures__/types.js +0 -1
  46. package/components/StructuredText/__tests__/__snapshots__/StructuredText.svelte.test.ts.snap +0 -531
  47. package/components/StructuredText/nodes/Blockquote.svelte +0 -5
  48. package/components/StructuredText/nodes/Blockquote.svelte.d.ts +0 -19
  49. package/components/StructuredText/nodes/Code.svelte +0 -6
  50. package/components/StructuredText/nodes/Code.svelte.d.ts +0 -17
  51. package/components/StructuredText/nodes/Heading.svelte +0 -8
  52. package/components/StructuredText/nodes/Heading.svelte.d.ts +0 -19
  53. package/components/StructuredText/nodes/Link.svelte +0 -20
  54. package/components/StructuredText/nodes/Link.svelte.d.ts +0 -19
  55. package/components/StructuredText/nodes/List.svelte +0 -10
  56. package/components/StructuredText/nodes/List.svelte.d.ts +0 -19
  57. package/components/StructuredText/nodes/ListItem.svelte +0 -5
  58. package/components/StructuredText/nodes/ListItem.svelte.d.ts +0 -19
  59. package/components/StructuredText/nodes/Paragraph.svelte +0 -5
  60. package/components/StructuredText/nodes/Paragraph.svelte.d.ts +0 -19
  61. package/components/StructuredText/nodes/Root.svelte +0 -5
  62. package/components/StructuredText/nodes/Root.svelte.d.ts +0 -19
  63. package/components/StructuredText/nodes/Span.svelte +0 -49
  64. package/components/StructuredText/nodes/Span.svelte.d.ts +0 -19
  65. package/components/StructuredText/nodes/ThematicBreak.svelte +0 -5
  66. package/components/StructuredText/nodes/ThematicBreak.svelte.d.ts +0 -17
  67. package/components/StructuredText/utils/Lines.svelte +0 -11
  68. package/components/StructuredText/utils/Lines.svelte.d.ts +0 -16
  69. package/index.d.ts +0 -9
  70. package/index.js +0 -3
package/README.md CHANGED
@@ -1,3 +1,9 @@
1
+ <!--datocms-autoinclude-header start-->
2
+ <a href="https://www.datocms.com/"><img src="https://www.datocms.com/images/full_logo.svg" height="60"></a>
3
+
4
+ 👉 [Visit the DatoCMS homepage](https://www.datocms.com) or see [What is DatoCMS?](#what-is-datocms)
5
+ <!--datocms-autoinclude-header end-->
6
+
1
7
  # @datocms/svelte
2
8
 
3
9
  ![MIT](https://img.shields.io/npm/l/@datocms/svelte?style=for-the-badge) ![NPM](https://img.shields.io/npm/v/@datocms/svelte?style=for-the-badge) [![Build Status](https://img.shields.io/github/actions/workflow/status/datocms/datocms-svelte/node.js.yml?branch=main&style=for-the-badge)](https://github.com/datocms/datocms-svelte/actions/workflows/node.js.yml)
@@ -8,12 +14,6 @@ A set of components to work faster with [DatoCMS](https://www.datocms.com/) in S
8
14
  - Written in TypeScript;
9
15
  - Usable both client and server side;
10
16
 
11
- <br /><br />
12
- <a href="https://www.datocms.com/">
13
- <img src="https://www.datocms.com/images/full_logo.svg" height="60">
14
- </a>
15
- <br /><br />
16
-
17
17
  ## Table of Contents
18
18
 
19
19
  - [Features](#features)
@@ -49,3 +49,30 @@ To create a production version of this library:
49
49
  ```bash
50
50
  npm run build
51
51
  ```
52
+
53
+ <!--datocms-autoinclude-footer start-->
54
+ -----------------
55
+ # What is DatoCMS?
56
+ <a href="https://www.datocms.com/"><img src="https://www.datocms.com/images/full_logo.svg" height="60"></a>
57
+
58
+ [DatoCMS](https://www.datocms.com/) is the REST & GraphQL Headless CMS for the modern web.
59
+
60
+ Trusted by over 25,000 enterprise businesses, agency partners, and individuals across the world, DatoCMS users create online content at scale from a central hub and distribute it via API. We ❤️ our [developers](https://www.datocms.com/team/best-cms-for-developers), [content editors](https://www.datocms.com/team/content-creators) and [marketers](https://www.datocms.com/team/cms-digital-marketing)!
61
+
62
+ **Quick links:**
63
+
64
+ - ⚡️ Get started with a [free DatoCMS account](https://dashboard.datocms.com/signup)
65
+ - 🔖 Go through the [docs](https://www.datocms.com/docs)
66
+ - ⚙️ Get [support from us and the community](https://community.datocms.com/)
67
+ - 🆕 Stay up to date on new features and fixes on the [changelog](https://www.datocms.com/product-updates)
68
+
69
+ **Our featured repos:**
70
+ - [datocms/react-datocms](https://github.com/datocms/react-datocms): React helper components for images, Structured Text rendering, and more
71
+ - [datocms/js-rest-api-clients](https://github.com/datocms/js-rest-api-clients): Node and browser JavaScript clients for updating and administering your content. For frontend fetches, we recommend using our [GraphQL Content Delivery API](https://www.datocms.com/docs/content-delivery-api) instead.
72
+ - [datocms/cli](https://github.com/datocms/cli): Command-line interface that includes our [Contentful importer](https://github.com/datocms/cli/tree/main/packages/cli-plugin-contentful) and [Wordpress importer](https://github.com/datocms/cli/tree/main/packages/cli-plugin-wordpress)
73
+ - [datocms/plugins](https://github.com/datocms/plugins): Example plugins we've made that extend the editor/admin dashboard
74
+ - [datocms/gatsby-source-datocms](https://github.com/datocms/gatsby-source-datocms): Our Gatsby source plugin to pull data from DatoCMS
75
+ - Frontend examples in different frameworks: [Next.js](https://github.com/datocms/nextjs-demo), [Vue](https://github.com/datocms/vue-datocms) and [Nuxt](https://github.com/datocms/nuxtjs-demo), [Svelte](https://github.com/datocms/datocms-svelte) and [SvelteKit](https://github.com/datocms/sveltekit-demo), [Astro](https://github.com/datocms/datocms-astro-blog-demo), [Remix](https://github.com/datocms/remix-example). See [all our starter templates](https://www.datocms.com/marketplace/starters).
76
+
77
+ Or see [all our public repos](https://github.com/orgs/datocms/repositories?q=&type=public&language=&sort=stargazers)
78
+ <!--datocms-autoinclude-footer end-->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datocms/svelte",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "A set of components and utilities to work faster with DatoCMS in Svelte",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -16,7 +16,7 @@
16
16
  "devDependencies": {
17
17
  "@sveltejs/adapter-auto": "^1.0.3",
18
18
  "@sveltejs/kit": "^1.30.3",
19
- "@sveltejs/package": "^1.0.2",
19
+ "@sveltejs/package": "^1.0.0",
20
20
  "@testing-library/jest-dom": "^5.17.0",
21
21
  "@testing-library/svelte": "^3.2.2",
22
22
  "@typescript-eslint/eslint-plugin": "^5.62.0",
@@ -37,36 +37,181 @@
37
37
  "vite": "^4.5.1",
38
38
  "vitest": "^0.25.8"
39
39
  },
40
+ "peerDependencies": {
41
+ "svelte": "^3.59.2"
42
+ },
40
43
  "type": "module",
41
44
  "dependencies": {
42
45
  "datocms-structured-text-utils": "^2.0.4",
43
- "svelte-intersection-observer": "^0.10.1",
46
+ "svelte-intersection-observer": "^1.0.0",
44
47
  "universal-base64": "^2.1.0"
45
48
  },
46
49
  "exports": {
47
50
  "./package.json": "./package.json",
48
- "./components/Head/Head.svelte": "./components/Head/Head.svelte",
51
+ "./components/Head/Head.svelte": {
52
+ "types": "./package/components/Head/Head.svelte.d.ts",
53
+ "svelte": "./package/components/Head/Head.svelte",
54
+ "default": "./package/components/Head/Head.svelte"
55
+ },
56
+ "./components/Image/Image.svelte": {
57
+ "types": "./package/components/Image/Image.svelte.d.ts",
58
+ "svelte": "./package/components/Image/Image.svelte",
59
+ "default": "./package/components/Image/Image.svelte"
60
+ },
61
+ "./components/Image/Placeholder.svelte": {
62
+ "types": "./package/components/Image/Placeholder.svelte.d.ts",
63
+ "svelte": "./package/components/Image/Placeholder.svelte",
64
+ "default": "./package/components/Image/Placeholder.svelte"
65
+ },
66
+ "./components/Image/Sizer.svelte": {
67
+ "types": "./package/components/Image/Sizer.svelte.d.ts",
68
+ "svelte": "./package/components/Image/Sizer.svelte",
69
+ "default": "./package/components/Image/Sizer.svelte"
70
+ },
71
+ "./components/Image/Source.svelte": {
72
+ "types": "./package/components/Image/Source.svelte.d.ts",
73
+ "svelte": "./package/components/Image/Source.svelte",
74
+ "default": "./package/components/Image/Source.svelte"
75
+ },
76
+ "./components/StructuredText/Node.svelte": {
77
+ "types": "./package/components/StructuredText/Node.svelte.d.ts",
78
+ "svelte": "./package/components/StructuredText/Node.svelte",
79
+ "default": "./package/components/StructuredText/Node.svelte"
80
+ },
81
+ "./components/StructuredText/StructuredText.svelte": {
82
+ "types": "./package/components/StructuredText/StructuredText.svelte.d.ts",
83
+ "svelte": "./package/components/StructuredText/StructuredText.svelte",
84
+ "default": "./package/components/StructuredText/StructuredText.svelte"
85
+ },
86
+ "./components/StructuredText/nodes/Blockquote.svelte": {
87
+ "types": "./package/components/StructuredText/nodes/Blockquote.svelte.d.ts",
88
+ "svelte": "./package/components/StructuredText/nodes/Blockquote.svelte",
89
+ "default": "./package/components/StructuredText/nodes/Blockquote.svelte"
90
+ },
91
+ "./components/StructuredText/nodes/Code.svelte": {
92
+ "types": "./package/components/StructuredText/nodes/Code.svelte.d.ts",
93
+ "svelte": "./package/components/StructuredText/nodes/Code.svelte",
94
+ "default": "./package/components/StructuredText/nodes/Code.svelte"
95
+ },
96
+ "./components/StructuredText/nodes/Heading.svelte": {
97
+ "types": "./package/components/StructuredText/nodes/Heading.svelte.d.ts",
98
+ "svelte": "./package/components/StructuredText/nodes/Heading.svelte",
99
+ "default": "./package/components/StructuredText/nodes/Heading.svelte"
100
+ },
101
+ "./components/StructuredText/nodes/Link.svelte": {
102
+ "types": "./package/components/StructuredText/nodes/Link.svelte.d.ts",
103
+ "svelte": "./package/components/StructuredText/nodes/Link.svelte",
104
+ "default": "./package/components/StructuredText/nodes/Link.svelte"
105
+ },
106
+ "./components/StructuredText/nodes/List.svelte": {
107
+ "types": "./package/components/StructuredText/nodes/List.svelte.d.ts",
108
+ "svelte": "./package/components/StructuredText/nodes/List.svelte",
109
+ "default": "./package/components/StructuredText/nodes/List.svelte"
110
+ },
111
+ "./components/StructuredText/nodes/ListItem.svelte": {
112
+ "types": "./package/components/StructuredText/nodes/ListItem.svelte.d.ts",
113
+ "svelte": "./package/components/StructuredText/nodes/ListItem.svelte",
114
+ "default": "./package/components/StructuredText/nodes/ListItem.svelte"
115
+ },
116
+ "./components/StructuredText/nodes/Paragraph.svelte": {
117
+ "types": "./package/components/StructuredText/nodes/Paragraph.svelte.d.ts",
118
+ "svelte": "./package/components/StructuredText/nodes/Paragraph.svelte",
119
+ "default": "./package/components/StructuredText/nodes/Paragraph.svelte"
120
+ },
121
+ "./components/StructuredText/nodes/Root.svelte": {
122
+ "types": "./package/components/StructuredText/nodes/Root.svelte.d.ts",
123
+ "svelte": "./package/components/StructuredText/nodes/Root.svelte",
124
+ "default": "./package/components/StructuredText/nodes/Root.svelte"
125
+ },
126
+ "./components/StructuredText/nodes/Span.svelte": {
127
+ "types": "./package/components/StructuredText/nodes/Span.svelte.d.ts",
128
+ "svelte": "./package/components/StructuredText/nodes/Span.svelte",
129
+ "default": "./package/components/StructuredText/nodes/Span.svelte"
130
+ },
131
+ "./components/StructuredText/nodes/ThematicBreak.svelte": {
132
+ "types": "./package/components/StructuredText/nodes/ThematicBreak.svelte.d.ts",
133
+ "svelte": "./package/components/StructuredText/nodes/ThematicBreak.svelte",
134
+ "default": "./package/components/StructuredText/nodes/ThematicBreak.svelte"
135
+ },
136
+ "./components/StructuredText/utils/Lines.svelte": {
137
+ "types": "./package/components/StructuredText/utils/Lines.svelte.d.ts",
138
+ "svelte": "./package/components/StructuredText/utils/Lines.svelte",
139
+ "default": "./package/components/StructuredText/utils/Lines.svelte"
140
+ },
141
+ ".": {
142
+ "types": "./package/index.d.ts",
143
+ "svelte": "./package/index.js",
144
+ "default": "./package/index.js"
145
+ },
146
+ "./.DS_Store": "./.DS_Store",
147
+ "./components/.DS_Store": "./components/.DS_Store",
49
148
  "./components/Head/README.md": "./components/Head/README.md",
50
- "./components/Image/Image.svelte": "./components/Image/Image.svelte",
51
- "./components/Image/Placeholder.svelte": "./components/Image/Placeholder.svelte",
52
149
  "./components/Image/README.md": "./components/Image/README.md",
53
- "./components/Image/Sizer.svelte": "./components/Image/Sizer.svelte",
54
- "./components/Image/Source.svelte": "./components/Image/Source.svelte",
55
- "./components/StructuredText/Node.svelte": "./components/StructuredText/Node.svelte",
56
- "./components/StructuredText/README.md": "./components/StructuredText/README.md",
57
- "./components/StructuredText/StructuredText.svelte": "./components/StructuredText/StructuredText.svelte",
58
- "./components/StructuredText/nodes/Blockquote.svelte": "./components/StructuredText/nodes/Blockquote.svelte",
59
- "./components/StructuredText/nodes/Code.svelte": "./components/StructuredText/nodes/Code.svelte",
60
- "./components/StructuredText/nodes/Heading.svelte": "./components/StructuredText/nodes/Heading.svelte",
61
- "./components/StructuredText/nodes/Link.svelte": "./components/StructuredText/nodes/Link.svelte",
62
- "./components/StructuredText/nodes/List.svelte": "./components/StructuredText/nodes/List.svelte",
63
- "./components/StructuredText/nodes/ListItem.svelte": "./components/StructuredText/nodes/ListItem.svelte",
64
- "./components/StructuredText/nodes/Paragraph.svelte": "./components/StructuredText/nodes/Paragraph.svelte",
65
- "./components/StructuredText/nodes/Root.svelte": "./components/StructuredText/nodes/Root.svelte",
66
- "./components/StructuredText/nodes/Span.svelte": "./components/StructuredText/nodes/Span.svelte",
67
- "./components/StructuredText/nodes/ThematicBreak.svelte": "./components/StructuredText/nodes/ThematicBreak.svelte",
68
- "./components/StructuredText/utils/Lines.svelte": "./components/StructuredText/utils/Lines.svelte",
69
- ".": "./index.js"
150
+ "./components/StructuredText/README.md": "./components/StructuredText/README.md"
70
151
  },
71
- "svelte": "./index.js"
152
+ "files": [
153
+ "package"
154
+ ],
155
+ "svelte": "./package/index.js",
156
+ "typesVersions": {
157
+ ">4.0": {
158
+ "components/Head/Head.svelte": [
159
+ "./package/components/Head/Head.svelte.d.ts"
160
+ ],
161
+ "components/Image/Image.svelte": [
162
+ "./package/components/Image/Image.svelte.d.ts"
163
+ ],
164
+ "components/Image/Placeholder.svelte": [
165
+ "./package/components/Image/Placeholder.svelte.d.ts"
166
+ ],
167
+ "components/Image/Sizer.svelte": [
168
+ "./package/components/Image/Sizer.svelte.d.ts"
169
+ ],
170
+ "components/Image/Source.svelte": [
171
+ "./package/components/Image/Source.svelte.d.ts"
172
+ ],
173
+ "components/StructuredText/Node.svelte": [
174
+ "./package/components/StructuredText/Node.svelte.d.ts"
175
+ ],
176
+ "components/StructuredText/StructuredText.svelte": [
177
+ "./package/components/StructuredText/StructuredText.svelte.d.ts"
178
+ ],
179
+ "components/StructuredText/nodes/Blockquote.svelte": [
180
+ "./package/components/StructuredText/nodes/Blockquote.svelte.d.ts"
181
+ ],
182
+ "components/StructuredText/nodes/Code.svelte": [
183
+ "./package/components/StructuredText/nodes/Code.svelte.d.ts"
184
+ ],
185
+ "components/StructuredText/nodes/Heading.svelte": [
186
+ "./package/components/StructuredText/nodes/Heading.svelte.d.ts"
187
+ ],
188
+ "components/StructuredText/nodes/Link.svelte": [
189
+ "./package/components/StructuredText/nodes/Link.svelte.d.ts"
190
+ ],
191
+ "components/StructuredText/nodes/List.svelte": [
192
+ "./package/components/StructuredText/nodes/List.svelte.d.ts"
193
+ ],
194
+ "components/StructuredText/nodes/ListItem.svelte": [
195
+ "./package/components/StructuredText/nodes/ListItem.svelte.d.ts"
196
+ ],
197
+ "components/StructuredText/nodes/Paragraph.svelte": [
198
+ "./package/components/StructuredText/nodes/Paragraph.svelte.d.ts"
199
+ ],
200
+ "components/StructuredText/nodes/Root.svelte": [
201
+ "./package/components/StructuredText/nodes/Root.svelte.d.ts"
202
+ ],
203
+ "components/StructuredText/nodes/Span.svelte": [
204
+ "./package/components/StructuredText/nodes/Span.svelte.d.ts"
205
+ ],
206
+ "components/StructuredText/nodes/ThematicBreak.svelte": [
207
+ "./package/components/StructuredText/nodes/ThematicBreak.svelte.d.ts"
208
+ ],
209
+ "components/StructuredText/utils/Lines.svelte": [
210
+ "./package/components/StructuredText/utils/Lines.svelte.d.ts"
211
+ ],
212
+ "index.d.ts": [
213
+ "./package/index.d.ts"
214
+ ]
215
+ }
216
+ }
72
217
  }
@@ -1,14 +0,0 @@
1
- <script context="module"></script>
2
-
3
- <script>export let data = [];
4
- </script>
5
-
6
- <svelte:head>
7
- {#each data as { tag, attributes, content }}
8
- {#if content}
9
- <svelte:element this={tag} {...attributes}>{content}</svelte:element>
10
- {:else}
11
- <svelte:element this={tag} {...attributes} />
12
- {/if}
13
- {/each}
14
- </svelte:head>
@@ -1,61 +0,0 @@
1
- import { SvelteComponentTyped } from "svelte";
2
- export interface TitleMetaLinkTag {
3
- /** the tag for the meta information */
4
- tag: "title" | "meta" | "link";
5
- /** the inner content of the meta tag */
6
- content?: string | null | undefined;
7
- /** the HTML attributes to attach to the meta tag */
8
- attributes?: Record<string, string> | null | undefined;
9
- }
10
- export interface SeoTitleTag {
11
- tag: 'title';
12
- content: string | null;
13
- attributes?: null;
14
- }
15
- export interface RegularMetaAttributes {
16
- name: string;
17
- content: string;
18
- }
19
- export interface OgMetaAttributes {
20
- property: string;
21
- content: string;
22
- }
23
- export interface SeoMetaTag {
24
- tag: 'meta';
25
- content?: null;
26
- attributes: RegularMetaAttributes | OgMetaAttributes;
27
- }
28
- export interface FaviconAttributes {
29
- sizes: string;
30
- type: string;
31
- rel: string;
32
- href: string;
33
- }
34
- export interface AppleTouchIconAttributes {
35
- sizes: string;
36
- rel: 'apple-touch-icon';
37
- href: string;
38
- }
39
- export interface SeoLinkTag {
40
- tag: 'link';
41
- content?: null;
42
- attributes: FaviconAttributes | AppleTouchIconAttributes;
43
- }
44
- export type SeoTag = SeoTitleTag | SeoMetaTag;
45
- export type FaviconTag = SeoMetaTag | SeoLinkTag;
46
- export type SeoOrFaviconTag = SeoTag | FaviconTag;
47
- declare const __propDef: {
48
- props: {
49
- data?: (TitleMetaLinkTag | SeoOrFaviconTag)[] | undefined;
50
- };
51
- events: {
52
- [evt: string]: CustomEvent<any>;
53
- };
54
- slots: {};
55
- };
56
- export type HeadProps = typeof __propDef.props;
57
- export type HeadEvents = typeof __propDef.events;
58
- export type HeadSlots = typeof __propDef.slots;
59
- export default class Head extends SvelteComponentTyped<HeadProps, HeadEvents, HeadSlots> {
60
- }
61
- export {};
@@ -1,68 +0,0 @@
1
- ## Social share, SEO and Favicon meta tags
2
-
3
- Just like the image component, `<Head />` is a component specially designed to work seamlessly with DatoCMS’s [`_seoMetaTags` and `faviconMetaTags` GraphQL queries](https://www.datocms.com/docs/content-delivery-api/seo) so that you can handle proper SEO in your pages.
4
-
5
- You can use `<Head />` your components, and it will inject title, meta and link tags in the document's `<head></head>` tag.
6
-
7
- ### Table of contents
8
-
9
- - [Usage](#usage)
10
- - [Example](#example)
11
-
12
- ### Usage
13
-
14
- `<Head />`'s `data` prop takes an array of `Tag`s in the exact form they're returned by the following [DatoCMS GraphQL API](https://www.datocms.com/docs/content-delivery-api/seo) queries:
15
-
16
- - `_seoMetaTags` query on any record, or
17
- - `faviconMetaTags` on the global `_site` object.
18
-
19
- ### Example
20
-
21
- Here is an example:
22
-
23
- ```svelte
24
- <script>
25
- import { onMount } from 'svelte';
26
-
27
- import { Head } from '@datocms/svelte';
28
-
29
- const query = `
30
- query {
31
- page: homepage {
32
- title
33
- seo: _seoMetaTags {
34
- attributes
35
- content
36
- tag
37
- }
38
- }
39
- site: _site {
40
- favicon: faviconMetaTags {
41
- attributes
42
- content
43
- tag
44
- }
45
- }
46
- }
47
- `;
48
-
49
- export let data = null;
50
-
51
- onMount(async () => {
52
- const response = await fetch('https://graphql.datocms.com/', {
53
- method: 'POST',
54
- headers: {
55
- 'Content-Type': 'application/json',
56
- Authorization: 'Bearer faeb9172e232a75339242faafb9e56de8c8f13b735f7090964'
57
- },
58
- body: JSON.stringify({ query })
59
- });
60
-
61
- const json = await response.json();
62
-
63
- data = [...json.data.page.seo, ...json.data.site.favicon];
64
- });
65
- </script>
66
-
67
- <Head {data} />
68
- ```
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';
@@ -1,11 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import '@testing-library/jest-dom';
3
- import { render, } from '@testing-library/svelte';
4
- import { Head } from '../../..';
5
- import { metaTags } from './__fixtures__/head';
6
- describe('Head', () => {
7
- it('renders meta tags', () => {
8
- const { container } = render(Head, { props: { data: metaTags } });
9
- expect(container.ownerDocument.head).toMatchSnapshot();
10
- });
11
- });
@@ -1,2 +0,0 @@
1
- import type { TitleMetaLinkTag } from '../../Head.svelte';
2
- export declare const metaTags: TitleMetaLinkTag[];