@platecms/delta-smart-text 0.6.0 → 0.7.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 (142) hide show
  1. package/.env.example +7 -0
  2. package/__generated__/fragment-masking.ts +87 -0
  3. package/__generated__/gql.ts +238 -0
  4. package/__generated__/graphql.ts +3441 -0
  5. package/__generated__/index.ts +2 -0
  6. package/codegen.config.ts +24 -0
  7. package/eslint.config.mjs +43 -0
  8. package/i18n.js +28 -0
  9. package/package.json +5 -5
  10. package/project.json +54 -0
  11. package/src/components/DeltaSlateEditor.vue +74 -0
  12. package/src/components/icon/FontAwesomeIcon.vue +21 -0
  13. package/src/graphql/apiTokens/apiTokens.fragments.gql +8 -0
  14. package/src/graphql/assets/assets.fragments.gql +10 -0
  15. package/src/graphql/blueprints/blueprints.fragments.gql +52 -0
  16. package/src/graphql/buildingBlockFieldFulfillments/buildingBlockFieldFullfillment.fragements.gql +6 -0
  17. package/src/graphql/buildingBlockFields/buildingBlockField.fragments.gql +8 -0
  18. package/src/graphql/buildingBlocks/buildingBlocks.fragments.gql +11 -0
  19. package/src/graphql/channels/channels.fragments.gql +9 -0
  20. package/src/graphql/contentExperiences/allContentExperiences.query.gql +24 -0
  21. package/src/graphql/contentExperiences/contentExperience.query.gql +20 -0
  22. package/src/graphql/contentExperiences/contentExperiences.fragments.gql +14 -0
  23. package/src/graphql/contentFields/contentFields.fragments.gql +7 -0
  24. package/src/graphql/contentItems/allContentItems.query.gql +48 -0
  25. package/src/graphql/contentItems/contentItems.fragments.gql +11 -0
  26. package/src/graphql/contentTypes/allContentTypes.query.gql +26 -0
  27. package/src/graphql/contentTypes/contentTypes.fragments.gql +11 -0
  28. package/src/graphql/contentValidations/contentValidationRule.fragments.gql +34 -0
  29. package/src/graphql/contentValues/allContentValues.query.gql +41 -0
  30. package/src/graphql/contentValues/contentValues.fragments.gql +9 -0
  31. package/src/graphql/contentValues/createContentValue.mutation.gql +17 -0
  32. package/src/graphql/experienceComponents/experienceComponent.fragments.gql +13 -0
  33. package/src/graphql/fragments.gql +6 -0
  34. package/src/graphql/gridDefinition/gridDefinition.fragments.gql +5 -0
  35. package/src/graphql/gridPlacements/gridPlacement.fragments.gql +7 -0
  36. package/src/graphql/grids/grid.fragments.gql +7 -0
  37. package/src/graphql/invitations/invitations.fragments.gql +7 -0
  38. package/src/graphql/organizations/organizations.fragments.gql +13 -0
  39. package/src/graphql/pathParts/pathParts.fragments.gql +19 -0
  40. package/src/graphql/plateMaintainers/plateMaintainer.fragements.gql +10 -0
  41. package/src/graphql/roleAssignments/roleAssignment.fragments.gql +9 -0
  42. package/src/graphql/roles/roles.fragments.gql +7 -0
  43. package/src/graphql/subject/subject.fragments.gql +8 -0
  44. package/src/graphql/tags/tags.fragments.gql +17 -0
  45. package/src/graphql/themes/themes.fragments.gql +8 -0
  46. package/src/index.css +1 -0
  47. package/src/index.ts +21 -0
  48. package/src/locales/en.json +52 -0
  49. package/src/locales/nl.json +52 -0
  50. package/src/react/components/DeltaSlateEditor.tsx +243 -0
  51. package/src/react/components/DeltaSlateEditorConnector.tsx +50 -0
  52. package/src/react/components/Element.spec.tsx +244 -0
  53. package/src/react/components/Element.tsx +151 -0
  54. package/src/react/components/FontAwesomeIcon.tsx +17 -0
  55. package/src/react/components/Leaf.spec.tsx +61 -0
  56. package/src/react/components/Leaf.tsx +22 -0
  57. package/src/react/components/elements/CodeElement.tsx +16 -0
  58. package/src/react/components/elements/ContentValueElement.tsx +33 -0
  59. package/src/react/components/elements/LinkElement.tsx +44 -0
  60. package/src/react/components/inputs/SearchInput.tsx +22 -0
  61. package/src/react/components/inputs/TextInput.tsx +30 -0
  62. package/src/react/components/menus/ContentAndFormatMenu.tsx +272 -0
  63. package/src/react/components/menus/ContentLibraryMenu.tsx +48 -0
  64. package/src/react/components/menus/ReusableContentMenu.tsx +190 -0
  65. package/src/react/components/menus/content/ContentItemsMenu.tsx +215 -0
  66. package/src/react/components/menus/content/ContentTypesMenu.tsx +129 -0
  67. package/src/react/components/menus/content/partials/ContentFieldMenuItem.tsx +11 -0
  68. package/src/react/components/menus/content/partials/ContentValueMenuItem.tsx +58 -0
  69. package/src/react/components/menus/link/AnchorInput.tsx +123 -0
  70. package/src/react/components/menus/link/LinkInput.tsx +195 -0
  71. package/src/react/components/menus/link/LinkMenu.spec.tsx +145 -0
  72. package/src/react/components/menus/link/LinkMenu.tsx +289 -0
  73. package/src/react/components/menus/partials/MenuButton.tsx +52 -0
  74. package/src/react/components/menus/partials/MenuContainer.tsx +9 -0
  75. package/src/react/components/menus/partials/MenuHeader.tsx +11 -0
  76. package/src/react/components/toolbar/Toolbar.tsx +249 -0
  77. package/src/react/components/toolbar/ToolbarBlockButton.tsx +31 -0
  78. package/src/react/components/toolbar/ToolbarHeadingDropdownButton.tsx +76 -0
  79. package/src/react/components/toolbar/ToolbarLinkButton.tsx +33 -0
  80. package/src/react/components/toolbar/ToolbarMarkButton.tsx +25 -0
  81. package/src/react/components/toolbar/content/ContentExtractToolbarButton.tsx +68 -0
  82. package/src/react/components/toolbar/content/ContentLibraryToolbarButton.tsx +43 -0
  83. package/src/react/components/toolbar/content/ContentToolbar.tsx +37 -0
  84. package/src/react/components/toolbar/link/ToolbarDisplayLink.tsx +36 -0
  85. package/src/react/components/toolbar/link/UnlinkButton.tsx +25 -0
  86. package/src/react/config/hotkeys.ts +8 -0
  87. package/src/react/plugins/index.ts +59 -0
  88. package/src/react/store/editorSlice.ts +124 -0
  89. package/src/react/store/store.ts +12 -0
  90. package/src/react/types.ts +87 -0
  91. package/src/react/utils/decorator.ts +61 -0
  92. package/src/react/utils/index.ts +110 -0
  93. package/src/vue-shims.d.ts +5 -0
  94. package/tsconfig.json +26 -0
  95. package/tsconfig.lib.json +25 -0
  96. package/tsconfig.spec.json +22 -0
  97. package/vite.config.ts +67 -0
  98. package/components/DeltaSlateEditor.vue.d.ts +0 -26
  99. package/index.cjs +0 -381
  100. package/index.css +0 -1
  101. package/index.d.ts +0 -12
  102. package/index.js +0 -49254
  103. package/react/components/DeltaSlateEditor.d.ts +0 -7
  104. package/react/components/DeltaSlateEditorConnector.d.ts +0 -12
  105. package/react/components/Element.d.ts +0 -8
  106. package/react/components/FontAwesomeIcon.d.ts +0 -6
  107. package/react/components/Leaf.d.ts +0 -3
  108. package/react/components/elements/CodeElement.d.ts +0 -8
  109. package/react/components/elements/ContentValueElement.d.ts +0 -8
  110. package/react/components/elements/LinkElement.d.ts +0 -8
  111. package/react/components/inputs/SearchInput.d.ts +0 -5
  112. package/react/components/inputs/TextInput.d.ts +0 -7
  113. package/react/components/menus/ContentAndFormatMenu.d.ts +0 -10
  114. package/react/components/menus/ContentLibraryMenu.d.ts +0 -4
  115. package/react/components/menus/ReusableContentMenu.d.ts +0 -3
  116. package/react/components/menus/content/ContentItemsMenu.d.ts +0 -5
  117. package/react/components/menus/content/ContentTypesMenu.d.ts +0 -6
  118. package/react/components/menus/content/partials/ContentFieldMenuItem.d.ts +0 -6
  119. package/react/components/menus/content/partials/ContentValueMenuItem.d.ts +0 -7
  120. package/react/components/menus/link/AnchorInput.d.ts +0 -8
  121. package/react/components/menus/link/LinkInput.d.ts +0 -11
  122. package/react/components/menus/link/LinkMenu.d.ts +0 -18
  123. package/react/components/menus/partials/MenuButton.d.ts +0 -7
  124. package/react/components/menus/partials/MenuContainer.d.ts +0 -4
  125. package/react/components/menus/partials/MenuHeader.d.ts +0 -5
  126. package/react/components/toolbar/Toolbar.d.ts +0 -6
  127. package/react/components/toolbar/ToolbarBlockButton.d.ts +0 -12
  128. package/react/components/toolbar/ToolbarHeadingDropdownButton.d.ts +0 -2
  129. package/react/components/toolbar/ToolbarLinkButton.d.ts +0 -6
  130. package/react/components/toolbar/ToolbarMarkButton.d.ts +0 -6
  131. package/react/components/toolbar/content/ContentExtractToolbarButton.d.ts +0 -2
  132. package/react/components/toolbar/content/ContentLibraryToolbarButton.d.ts +0 -5
  133. package/react/components/toolbar/content/ContentToolbar.d.ts +0 -4
  134. package/react/components/toolbar/link/ToolbarDisplayLink.d.ts +0 -2
  135. package/react/components/toolbar/link/UnlinkButton.d.ts +0 -2
  136. package/react/config/hotkeys.d.ts +0 -2
  137. package/react/plugins/index.d.ts +0 -3
  138. package/react/store/editorSlice.d.ts +0 -169
  139. package/react/store/store.d.ts +0 -5
  140. package/react/types.d.ts +0 -65
  141. package/react/utils/decorator.d.ts +0 -15
  142. package/react/utils/index.d.ts +0 -17
@@ -0,0 +1,2 @@
1
+ export * from "./fragment-masking";
2
+ export * from "./gql";
@@ -0,0 +1,24 @@
1
+ import { CodegenConfig } from "@graphql-codegen/cli";
2
+
3
+ if (import.meta.env.VITE_OATHKEEPER_ENDPOINT === undefined || import.meta.env.CODEGEN_COOKIE === undefined) {
4
+ throw new Error("Missing 'VITE_OATHKEEPER_ENDPOINT' and/or 'CODEGEN_COOKIE' environment variables");
5
+ }
6
+
7
+ const CONFIG: CodegenConfig = {
8
+ overwrite: true,
9
+ schema: {
10
+ [import.meta.env.VITE_OATHKEEPER_ENDPOINT]: {
11
+ headers: {
12
+ Cookie: import.meta.env.CODEGEN_COOKIE,
13
+ },
14
+ },
15
+ },
16
+ generates: {
17
+ "./packages/delta-smart-text/__generated__/": {
18
+ preset: "client",
19
+ documents: "packages/delta-smart-text/src/graphql/**/*.gql",
20
+ },
21
+ },
22
+ };
23
+
24
+ export default CONFIG;
@@ -0,0 +1,43 @@
1
+ import {
2
+ defineConfigWithVueTs,
3
+ vueTsConfigs,
4
+ } from '@vue/eslint-config-typescript'
5
+ import { globalIgnores } from 'eslint/config'
6
+ import { FlatCompat } from "@eslint/eslintrc";
7
+ import { dirname } from "path";
8
+ import { fileURLToPath } from "url";
9
+ import baseConfig from "../../eslint.base.config.mjs";
10
+ import js from "@eslint/js";
11
+ import pluginVue from 'eslint-plugin-vue'
12
+
13
+ const compat = new FlatCompat({
14
+ baseDirectory: dirname(fileURLToPath(import.meta.url)),
15
+ recommendedConfig: js.configs.recommended,
16
+ });
17
+
18
+ export default defineConfigWithVueTs(
19
+ js.configs.recommended,
20
+ ...baseConfig,
21
+ pluginVue.configs['flat/essential'],
22
+ vueTsConfigs.recommended,
23
+ ...compat.extends(
24
+ "@vue/eslint-config-prettier/skip-formatting",
25
+ ),
26
+ {
27
+ languageOptions: {
28
+ parserOptions: {
29
+ project: "packages/delta-smart-text/tsconfig.*?.json",
30
+ },
31
+ },
32
+ },
33
+ {
34
+ files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx", "**/*.vue"],
35
+ rules: {
36
+ "vue/multi-word-component-names": "off",
37
+ "@typescript-eslint/naming-convention": "off",
38
+ "@typescript-eslint/strict-boolean-expressions": "off",
39
+ "@typescript-eslint/no-use-before-define": "off",
40
+ },
41
+ },
42
+ globalIgnores(["**/dist", "__generated__/**/*", "**/vite.config.*.timestamp*", "**/vitest.config.*.timestamp*", "package.json", "**/*.json"]),
43
+ )
package/i18n.js ADDED
@@ -0,0 +1,28 @@
1
+ import i18n from "i18next";
2
+ import { initReactI18next } from "react-i18next";
3
+ import enTranslations from "./src/locales/en.json";
4
+ import nlTranslations from "./src/locales/nl.json";
5
+
6
+ i18n.use(initReactI18next).init({
7
+ resources: {
8
+ en: {
9
+ translation: enTranslations
10
+ },
11
+ nl: {
12
+ translation: nlTranslations
13
+ },
14
+ },
15
+ lng: localStorage.getItem("locale") ?? "en",
16
+ fallbackLng: "en",
17
+ interpolation: {
18
+ escapeValue: false,
19
+ },
20
+ defaultNS: false,
21
+ react: { useSuspense: false },
22
+ });
23
+
24
+ window.addEventListener("change-locale", (event) => {
25
+ i18n.changeLanguage(event.detail);
26
+ });
27
+
28
+ export default i18n;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platecms/delta-smart-text",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Provides a component to display smart text by using slate.",
5
5
  "license": "UNLICENSED",
6
6
  "publishConfig": {
@@ -23,11 +23,11 @@
23
23
  "./index.css": "./index.css"
24
24
  },
25
25
  "dependencies": {
26
- "@platecms/delta-cast": "0.6.0",
27
- "@platecms/delta-plate-resource-notation": "0.6.0",
26
+ "@platecms/delta-cast": "0.7.0",
27
+ "@platecms/delta-plate-resource-notation": "0.7.0",
28
28
  "@graphql-codegen/cli": "5.0.7",
29
29
  "@graphql-typed-document-node/core": "3.2.0",
30
- "@platecms/delta-cast-util-to-plaintext": "0.6.0",
30
+ "@platecms/delta-cast-util-to-plaintext": "0.7.0",
31
31
  "@reduxjs/toolkit": "2.8.2",
32
32
  "class-transformer": "0.5.1",
33
33
  "graphql": "16.11.0",
@@ -53,4 +53,4 @@
53
53
  "@testing-library/react": "16.3.0",
54
54
  "react-tooltip": "5.29.1"
55
55
  }
56
- }
56
+ }
package/project.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "delta-smart-text",
3
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
+ "sourceRoot": "packages/delta-smart-text/src",
5
+ "projectType": "library",
6
+ "tags": [
7
+ "package",
8
+ "delta-smart-text"
9
+ ],
10
+ "// targets": "to see all targets run: nx show project delta-smart-text --web",
11
+ "targets": {
12
+ "codegen": {
13
+ "outputs": [
14
+ "{projectRoot}/app/graphql/generated.ts"
15
+ ],
16
+ "command": "graphql-codegen --config {projectRoot}/codegen.config.ts"
17
+ },
18
+ "build": {
19
+ "executor": "@nx/vite:build",
20
+ "outputs": [
21
+ "{options.outputPath}"
22
+ ],
23
+ "defaultConfiguration": "production",
24
+ "options": {
25
+ "outputPath": "generated/dist/{projectRoot}"
26
+ },
27
+ "configurations": {
28
+ "development": {
29
+ "mode": "development"
30
+ },
31
+ "production": {
32
+ "mode": "production"
33
+ }
34
+ }
35
+ },
36
+ "deploy": {
37
+ "executor": "nx:run-commands",
38
+ "dependsOn": [
39
+ "build"
40
+ ],
41
+ "configurations": {
42
+ "dev": {
43
+ "command": "is-ci && echo 'Not deployed on dev.'"
44
+ },
45
+ "acc": {
46
+ "command": "echo 'Packages will be published via nx release publish'"
47
+ },
48
+ "prod": {
49
+ "command": "is-ci && echo 'Not deployed on prod.'"
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,74 @@
1
+ <script setup lang="ts">
2
+ import {onMounted} from "vue";
3
+ import {DeltaSlateEditorConnector} from "../react/components/DeltaSlateEditorConnector";
4
+ import { v4 as uuidv4 } from 'uuid'
5
+ import {
6
+ selectById,
7
+ setInitialValue,
8
+ } from "../react/store/editorSlice";
9
+ import { store } from "../react/store/store";
10
+ import { setState } from "../react/store/editorSlice";
11
+ import {Descendant} from "slate";
12
+ import watch from "redux-watch";
13
+ import { ApolloClient, NormalizedCacheObject } from "@apollo/client";
14
+ import { Organization } from "../../__generated__/graphql";
15
+
16
+ let connector: DeltaSlateEditorConnector;
17
+
18
+ const props = withDefaults(defineProps<{
19
+ uuid?: string
20
+ initialValue?: Descendant[]
21
+ context: HTMLElement | null
22
+ client: ApolloClient<NormalizedCacheObject>
23
+ organization: Organization | undefined
24
+ isDisabled?: boolean
25
+ }>(), {
26
+ uuid: () => uuidv4(),
27
+ initialValue: () => [
28
+ {
29
+ type: 'paragraph',
30
+ children: [{ text: '' }],
31
+ }
32
+ ],
33
+ })
34
+
35
+ const tree = defineModel('tree')
36
+
37
+ defineExpose({
38
+ setValue: (value: Descendant[]) => {
39
+ store.dispatch(setState({ uuid: props.uuid, state: { value, initialValue: value } }))
40
+ },
41
+ setInitialValue: (value: Descendant[]) => {
42
+ store.dispatch(setInitialValue({ uuid: props.uuid, initialValue: value }))
43
+ }
44
+ })
45
+
46
+ function mountReduxWatchers() {
47
+ const treeWatcher = watch(() => selectById(store.getState(), props.uuid).value)
48
+
49
+ store.subscribe(treeWatcher((newValue) => {
50
+ tree.value = newValue
51
+ }))
52
+ }
53
+
54
+ function setup() {
55
+ connector = new DeltaSlateEditorConnector(document.getElementById(props.uuid)!, props.uuid, props.client, props.context, props.organization, props.isDisabled)
56
+ connector.render()
57
+
58
+ store.dispatch(setState({ uuid: props.uuid, state: { initialValue: props.initialValue, value: props.initialValue } }))
59
+
60
+ mountReduxWatchers()
61
+ }
62
+
63
+ onMounted(() => {
64
+ setup()
65
+ })
66
+ </script>
67
+
68
+ <template>
69
+ <div :id="uuid" />
70
+ </template>
71
+
72
+ <style scoped>
73
+
74
+ </style>
@@ -0,0 +1,21 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue';
3
+
4
+ const props = defineProps<{
5
+ icon: [string, string]
6
+ className?: string
7
+ size?: string
8
+ spin?: boolean
9
+ }>()
10
+
11
+ const iconStyle = computed(() => {
12
+ return props.icon[0] === 'fas' ? 'fa-solid' : 'fa-light'
13
+ })
14
+
15
+ </script>
16
+
17
+ <template>
18
+ <i
19
+ :class="`${iconStyle} fa-${icon[1]} ${className ?? ''} ${size && size !== 'md' ? `text-${size}` : 'text-[16px]'} ${spin ? 'fa-spin' : ''}`"
20
+ ></i>
21
+ </template>
@@ -0,0 +1,8 @@
1
+ fragment apiTokenFragment on ApiToken {
2
+ _id: prn
3
+ prn
4
+ name
5
+ stage
6
+ createdAt
7
+ updatedAt
8
+ }
@@ -0,0 +1,10 @@
1
+ fragment assetFragment on Asset {
2
+ _id: prn
3
+ prn
4
+ fileName
5
+ fileSize
6
+ mimeType
7
+ url
8
+ createdAt
9
+ updatedAt
10
+ }
@@ -0,0 +1,52 @@
1
+ fragment blueprintFragment on Blueprint {
2
+ _id: prn
3
+ prn
4
+ name
5
+ definedBy {
6
+ prn
7
+ createdAt
8
+ updatedAt
9
+ grid {
10
+ ...gridFragment,
11
+ gridPlacements {
12
+ ...gridPlacementFragment
13
+ experienceComponent {
14
+ ...experienceComponentFragment
15
+ buildingBlock {
16
+ ...buildingBlockFragment
17
+ buildingBlockFields {
18
+ ...buildingBlockFieldFragment
19
+ }
20
+ }
21
+ buildingBlockFieldFulfillments {
22
+ ...buildingBlockFieldFulfillmentFragment
23
+ buildingBlockField {
24
+ ...buildingBlockFieldFragment
25
+ }
26
+ contentValue {
27
+ ...contentValueFragment
28
+ relatedAsset {
29
+ ...assetFragment
30
+ }
31
+ relatedContentItem {
32
+ ...contentItemFragment
33
+ contentValues {
34
+ ...contentValueFragment
35
+ contentField {
36
+ ...contentFieldFragment
37
+ }
38
+ }
39
+ }
40
+ contentItem {
41
+ prn
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ isFixed
50
+ createdAt
51
+ updatedAt
52
+ }
@@ -0,0 +1,6 @@
1
+ fragment buildingBlockFieldFulfillmentFragment on BuildingBlockFieldFulfillment {
2
+ _id: prn
3
+ prn
4
+ createdAt
5
+ updatedAt
6
+ }
@@ -0,0 +1,8 @@
1
+ fragment buildingBlockFieldFragment on BuildingBlockField {
2
+ _id: prn
3
+ prn
4
+ slug
5
+ title
6
+ createdAt
7
+ updatedAt
8
+ }
@@ -0,0 +1,11 @@
1
+ fragment buildingBlockFragment on BuildingBlock {
2
+ _id: prn
3
+ prn
4
+ slug
5
+ title
6
+ preview {
7
+ ...assetFragment
8
+ }
9
+ createdAt
10
+ updatedAt
11
+ }
@@ -0,0 +1,9 @@
1
+ fragment channelFragment on Channel {
2
+ _id: prn
3
+ name
4
+ domain
5
+ slug
6
+ prn
7
+ updatedAt
8
+ createdAt
9
+ }
@@ -0,0 +1,24 @@
1
+ query allContentExperiences(
2
+ $paginate: PaginationOptionsInput!
3
+ $where: [ContentExperiencesFilterInput!]
4
+ $orderBy: OrderOptionsInput
5
+ ) {
6
+ contentExperiences(paginate: $paginate, where: $where, orderBy: $orderBy) {
7
+ pageInfo {
8
+ ...pagination
9
+ }
10
+ totalCount
11
+ edges {
12
+ cursor
13
+ node {
14
+ ...contentExperienceFragment
15
+ pathPart {
16
+ ...pathPartFragment,
17
+ channel {
18
+ ...channelFragment
19
+ }
20
+ }
21
+ }
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,20 @@
1
+ query contentExperience($prn: [PRN!]!) {
2
+ contentExperience(prn: $prn) {
3
+ ...contentExperienceFragment
4
+ pathPart {
5
+ ...pathPartFragment,
6
+ channel {
7
+ ...channelFragment
8
+ }
9
+ }
10
+ experienceComponent {
11
+ ...experienceComponentFragment
12
+ grid {
13
+ ...gridFragment
14
+ gridPlacements {
15
+ ...gridPlacementFragment
16
+ }
17
+ }
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,14 @@
1
+ fragment contentExperienceFragment on ContentExperience {
2
+ _id: prn
3
+ slug
4
+ prn
5
+ tags {
6
+ ...tagFragment
7
+ }
8
+ title
9
+ createdAt
10
+ updatedAt
11
+ preview {
12
+ ...assetFragment
13
+ }
14
+ }
@@ -0,0 +1,7 @@
1
+ fragment contentFieldFragment on ContentField {
2
+ _id: prn
3
+ prn
4
+ name
5
+ createdAt
6
+ updatedAt
7
+ }
@@ -0,0 +1,48 @@
1
+ query allContentItems(
2
+ $paginate: PaginationOptionsInput!
3
+ $where: [ContentItemsFilterInput!]
4
+ $orderBy: OrderOptionsInput
5
+ ) {
6
+ contentItems(paginate: $paginate, where: $where, orderBy: $orderBy) {
7
+ pageInfo {
8
+ ...pagination
9
+ }
10
+ totalCount
11
+ edges {
12
+ cursor
13
+ node {
14
+ ...contentItemFragment
15
+ displayImage {
16
+ ...assetFragment
17
+ }
18
+ contentValues {
19
+ ...contentValueFragment
20
+ contentField {
21
+ ...contentFieldFragment
22
+ contentValidationRules {
23
+ ...contentValidationRuleFragment
24
+ }
25
+ }
26
+ relatedAsset {
27
+ ...assetFragment
28
+ }
29
+ relatedContentItem {
30
+ ...contentItemFragment
31
+ contentValues {
32
+ ...contentValueFragment
33
+ }
34
+ }
35
+ }
36
+ contentType {
37
+ ...contentTypeFragment
38
+ contentFields {
39
+ ...contentFieldFragment
40
+ }
41
+ }
42
+ tags {
43
+ ...tagFragment
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,11 @@
1
+ fragment contentItemFragment on ContentItem {
2
+ _id: prn
3
+ prn
4
+ isDraft
5
+ displayName
6
+ displayImage {
7
+ ...assetFragment
8
+ }
9
+ updatedAt
10
+ createdAt
11
+ }
@@ -0,0 +1,26 @@
1
+ query allContentTypes(
2
+ $paginate: PaginationOptionsInput!, $where: [ContentTypesFilterInput!], $orderBy: OrderOptionsInput!
3
+ ) {
4
+ contentTypes(
5
+ paginate: $paginate
6
+ where: $where
7
+ orderBy: $orderBy
8
+ ) {
9
+ pageInfo {
10
+ ...pagination
11
+ }
12
+ totalCount
13
+ edges {
14
+ cursor
15
+ node {
16
+ ...contentTypeFragment
17
+ contentFields {
18
+ ...contentFieldFragment
19
+ contentValidationRules {
20
+ ...contentValidationRuleFragment
21
+ }
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,11 @@
1
+ fragment contentTypeFragment on ContentType {
2
+ _id: prn
3
+ prn
4
+ name
5
+ displayNameTemplate
6
+ displayImageField {
7
+ ...contentFieldFragment
8
+ }
9
+ createdAt
10
+ updatedAt
11
+ }
@@ -0,0 +1,34 @@
1
+ fragment contentValidationRuleFragment on ContentValidationRule {
2
+ _id: prn
3
+ prn
4
+ ruleType
5
+ settings {
6
+ ... on CountContentValidationRuleSettings {
7
+ min
8
+ max
9
+ }
10
+ ... on ValueTypeContentValidationRuleSettings {
11
+ allowedTypes
12
+ }
13
+ ... on AllowedValuesContentValidationRuleSettings {
14
+ allowedValues
15
+ }
16
+ ... on DateBetweenContentValidationRuleSettings {
17
+ start
18
+ end
19
+ }
20
+ ... on DecimalCountContentValidationRuleSettings {
21
+ max
22
+ }
23
+ ... on NumberBetweenContentValidationRuleSettings {
24
+ min
25
+ max
26
+ }
27
+ ... on RelatableContentTypesContentValidationRuleSettings {
28
+ allowedContentTypes
29
+ }
30
+ ... on StringFormatContentValidationRuleSettings {
31
+ allowedFormat
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,41 @@
1
+ query allContentValues(
2
+ $paginate: PaginationOptionsInput!, $where: [ContentValuesFilterInput!], $orderBy: OrderOptionsInput
3
+ ) {
4
+ contentValues(
5
+ paginate: $paginate
6
+ where: $where
7
+ orderBy: $orderBy
8
+ ) {
9
+ pageInfo {
10
+ ...pagination
11
+ }
12
+ totalCount
13
+ edges {
14
+ cursor
15
+ node {
16
+ ...contentValueFragment
17
+ contentField {
18
+ ...contentFieldFragment
19
+ }
20
+ contentItem {
21
+ ...contentItemFragment
22
+ contentType {
23
+ ...contentTypeFragment
24
+ }
25
+ }
26
+ relatedAsset {
27
+ ...assetFragment
28
+ }
29
+ linkedGridPlacement {
30
+ ...gridPlacementFragment
31
+ }
32
+ linkedPathPart {
33
+ ...pathPartFragment
34
+ }
35
+ relatedContentItem {
36
+ ...contentItemFragment
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,9 @@
1
+ fragment contentValueFragment on ContentValue {
2
+ _id: prn
3
+ prn
4
+ primitiveValue
5
+ interpolatedSmartText
6
+ isReusable
7
+ createdAt
8
+ updatedAt
9
+ }
@@ -0,0 +1,17 @@
1
+ mutation createContentValue($createContentValueInput: [CreateContentValueInput!]!) {
2
+ createContentValue(input: $createContentValueInput) {
3
+ ...contentValueFragment
4
+ relatedAsset {
5
+ ...assetFragment
6
+ }
7
+ relatedContentItem {
8
+ ...contentItemFragment
9
+ },
10
+ linkedGridPlacement {
11
+ ...gridPlacementFragment
12
+ }
13
+ linkedPathPart {
14
+ ...pathPartFragment
15
+ }
16
+ }
17
+ }