@datocms/svelte 1.2.0 → 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.
- package/README.md +33 -6
- package/package.json +186 -41
- package/components/Head/Head.svelte +0 -14
- package/components/Head/Head.svelte.d.ts +0 -61
- package/components/Head/README.md +0 -68
- package/components/Head/__tests__/Head.test.d.ts +0 -1
- package/components/Head/__tests__/Head.test.js +0 -11
- package/components/Head/__tests__/__fixtures__/head.d.ts +0 -2
- package/components/Head/__tests__/__fixtures__/head.js +0 -280
- package/components/Head/__tests__/__snapshots__/Head.test.ts.snap +0 -221
- package/components/Image/Image.svelte +0 -172
- package/components/Image/Image.svelte.d.ts +0 -83
- package/components/Image/Placeholder.svelte +0 -30
- package/components/Image/Placeholder.svelte.d.ts +0 -22
- package/components/Image/README.md +0 -167
- package/components/Image/Sizer.svelte +0 -17
- package/components/Image/Sizer.svelte.d.ts +0 -19
- package/components/Image/Source.svelte +0 -6
- package/components/Image/Source.svelte.d.ts +0 -18
- package/components/Image/__tests__/Image.svelte.test.d.ts +0 -1
- package/components/Image/__tests__/Image.svelte.test.js +0 -44
- package/components/Image/__tests__/__fixtures__/image.d.ts +0 -40
- package/components/Image/__tests__/__fixtures__/image.js +0 -40
- package/components/Image/__tests__/__snapshots__/Image.svelte.test.ts.snap +0 -903
- package/components/StructuredText/Node.svelte +0 -112
- package/components/StructuredText/Node.svelte.d.ts +0 -22
- package/components/StructuredText/README.md +0 -201
- package/components/StructuredText/StructuredText.svelte +0 -15
- package/components/StructuredText/StructuredText.svelte.d.ts +0 -19
- package/components/StructuredText/__tests__/StructuredText.svelte.test.d.ts +0 -1
- package/components/StructuredText/__tests__/StructuredText.svelte.test.js +0 -171
- package/components/StructuredText/__tests__/__fixtures__/Block.svelte +0 -11
- package/components/StructuredText/__tests__/__fixtures__/Block.svelte.d.ts +0 -19
- package/components/StructuredText/__tests__/__fixtures__/CustomSpan.svelte +0 -49
- package/components/StructuredText/__tests__/__fixtures__/CustomSpan.svelte.d.ts +0 -19
- package/components/StructuredText/__tests__/__fixtures__/IncreasedLevelHeading.svelte +0 -8
- package/components/StructuredText/__tests__/__fixtures__/IncreasedLevelHeading.svelte.d.ts +0 -19
- package/components/StructuredText/__tests__/__fixtures__/InlineItem.svelte +0 -8
- package/components/StructuredText/__tests__/__fixtures__/InlineItem.svelte.d.ts +0 -19
- package/components/StructuredText/__tests__/__fixtures__/ItemLink.svelte +0 -15
- package/components/StructuredText/__tests__/__fixtures__/ItemLink.svelte.d.ts +0 -21
- package/components/StructuredText/__tests__/__fixtures__/structuredText.d.ts +0 -7
- package/components/StructuredText/__tests__/__fixtures__/structuredText.js +0 -575
- package/components/StructuredText/__tests__/__fixtures__/types.d.ts +0 -27
- package/components/StructuredText/__tests__/__fixtures__/types.js +0 -1
- package/components/StructuredText/__tests__/__snapshots__/StructuredText.svelte.test.ts.snap +0 -531
- package/components/StructuredText/nodes/Blockquote.svelte +0 -5
- package/components/StructuredText/nodes/Blockquote.svelte.d.ts +0 -19
- package/components/StructuredText/nodes/Code.svelte +0 -6
- package/components/StructuredText/nodes/Code.svelte.d.ts +0 -17
- package/components/StructuredText/nodes/Heading.svelte +0 -8
- package/components/StructuredText/nodes/Heading.svelte.d.ts +0 -19
- package/components/StructuredText/nodes/Link.svelte +0 -20
- package/components/StructuredText/nodes/Link.svelte.d.ts +0 -19
- package/components/StructuredText/nodes/List.svelte +0 -10
- package/components/StructuredText/nodes/List.svelte.d.ts +0 -19
- package/components/StructuredText/nodes/ListItem.svelte +0 -5
- package/components/StructuredText/nodes/ListItem.svelte.d.ts +0 -19
- package/components/StructuredText/nodes/Paragraph.svelte +0 -5
- package/components/StructuredText/nodes/Paragraph.svelte.d.ts +0 -19
- package/components/StructuredText/nodes/Root.svelte +0 -5
- package/components/StructuredText/nodes/Root.svelte.d.ts +0 -19
- package/components/StructuredText/nodes/Span.svelte +0 -49
- package/components/StructuredText/nodes/Span.svelte.d.ts +0 -19
- package/components/StructuredText/nodes/ThematicBreak.svelte +0 -5
- package/components/StructuredText/nodes/ThematicBreak.svelte.d.ts +0 -17
- package/components/StructuredText/utils/Lines.svelte +0 -11
- package/components/StructuredText/utils/Lines.svelte.d.ts +0 -16
- package/index.d.ts +0 -9
- 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
|
  [](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.
|
|
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": {
|
|
@@ -14,59 +14,204 @@
|
|
|
14
14
|
"datocms"
|
|
15
15
|
],
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@sveltejs/adapter-auto": "^1.0.
|
|
18
|
-
"@sveltejs/kit": "
|
|
17
|
+
"@sveltejs/adapter-auto": "^1.0.3",
|
|
18
|
+
"@sveltejs/kit": "^1.30.3",
|
|
19
19
|
"@sveltejs/package": "^1.0.0",
|
|
20
|
-
"@testing-library/jest-dom": "^5.
|
|
20
|
+
"@testing-library/jest-dom": "^5.17.0",
|
|
21
21
|
"@testing-library/svelte": "^3.2.2",
|
|
22
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
23
|
-
"@typescript-eslint/parser": "^5.
|
|
24
|
-
"csstype": "^3.1.
|
|
22
|
+
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
23
|
+
"@typescript-eslint/parser": "^5.62.0",
|
|
24
|
+
"csstype": "^3.1.3",
|
|
25
25
|
"datocms-structured-text-generic-html-renderer": "^2.0.4",
|
|
26
|
-
"eslint": "^8.
|
|
27
|
-
"eslint-config-prettier": "^8.
|
|
26
|
+
"eslint": "^8.56.0",
|
|
27
|
+
"eslint-config-prettier": "^8.10.0",
|
|
28
28
|
"eslint-plugin-svelte3": "^4.0.0",
|
|
29
|
-
"jsdom": "^21.1.
|
|
30
|
-
"jsdom-testing-mocks": "^1.
|
|
31
|
-
"prettier": "^2.8.
|
|
32
|
-
"prettier-plugin-svelte": "^2.
|
|
33
|
-
"svelte": "^3.
|
|
34
|
-
"svelte-check": "^3.
|
|
35
|
-
"tslib": "^2.
|
|
36
|
-
"typescript": "^4.9.
|
|
37
|
-
"vite": "^4.
|
|
38
|
-
"vitest": "^0.25.
|
|
29
|
+
"jsdom": "^21.1.2",
|
|
30
|
+
"jsdom-testing-mocks": "^1.11.0",
|
|
31
|
+
"prettier": "^2.8.8",
|
|
32
|
+
"prettier-plugin-svelte": "^2.10.1",
|
|
33
|
+
"svelte": "^3.59.2",
|
|
34
|
+
"svelte-check": "^3.6.2",
|
|
35
|
+
"tslib": "^2.6.2",
|
|
36
|
+
"typescript": "^4.9.5",
|
|
37
|
+
"vite": "^4.5.1",
|
|
38
|
+
"vitest": "^0.25.8"
|
|
39
|
+
},
|
|
40
|
+
"peerDependencies": {
|
|
41
|
+
"svelte": "^3.59.2"
|
|
39
42
|
},
|
|
40
43
|
"type": "module",
|
|
41
44
|
"dependencies": {
|
|
42
45
|
"datocms-structured-text-utils": "^2.0.4",
|
|
43
|
-
"svelte-intersection-observer": "^0.
|
|
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":
|
|
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/
|
|
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
|
-
"
|
|
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: string;
|
|
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
|
-
});
|