create-sitecore-jss 22.7.0-canary.9 → 22.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/LICENSE.MD +202 -202
  2. package/README.md +10 -10
  3. package/dist/templates/angular/src/assets/images/sc_logo.svg +52 -52
  4. package/dist/templates/angular-sxp/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  5. package/dist/templates/angular-sxp/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  6. package/dist/templates/angular-sxp/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  7. package/dist/templates/angular-sxp/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  8. package/dist/templates/angular-sxp/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  9. package/dist/templates/angular-sxp/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  10. package/dist/templates/angular-sxp/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  11. package/dist/templates/angular-sxp/data/dictionary/en.yml +4 -4
  12. package/dist/templates/angular-sxp/data/dictionary/{{language}}.yml +4 -4
  13. package/dist/templates/angular-sxp/data/routes/en.yml +61 -61
  14. package/dist/templates/angular-sxp/data/routes/graphql/en.yml +27 -27
  15. package/dist/templates/angular-sxp/data/routes/graphql/sample-1/en.yml +9 -9
  16. package/dist/templates/angular-sxp/data/routes/graphql/sample-2/en.yml +9 -9
  17. package/dist/templates/angular-sxp/data/routes/styleguide/custom-route-type/en.yml +12 -12
  18. package/dist/templates/angular-sxp/data/routes/styleguide/en.yml +271 -271
  19. package/dist/templates/angular-sxp/data/routes/styleguide/{{language}}.yml +25 -25
  20. package/dist/templates/angular-sxp/data/routes/{{language}}.yml +4 -4
  21. package/dist/templates/angular-sxp/sitecore/config/{{appName}}.config +90 -90
  22. package/dist/templates/angular-sxp/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.graphql +71 -71
  23. package/dist/templates/angular-sxp/sitecore/gitignore +2 -2
  24. package/dist/templates/nextjs/package.json +2 -15
  25. package/dist/templates/nextjs/public/sc_logo.svg +52 -52
  26. package/dist/templates/nextjs/src/temp/gitignore +0 -1
  27. package/dist/templates/nextjs/tsconfig.json +0 -1
  28. package/dist/templates/nextjs-styleguide/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  29. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  30. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  31. package/dist/templates/nextjs-styleguide/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  32. package/dist/templates/nextjs-styleguide/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  33. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  34. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  35. package/dist/templates/nextjs-styleguide/data/dictionary/en.yml +4 -4
  36. package/dist/templates/nextjs-styleguide/data/dictionary/{{language}}.yml +4 -4
  37. package/dist/templates/nextjs-styleguide/data/routes/en.yml +63 -63
  38. package/dist/templates/nextjs-styleguide/data/routes/graphql/en.yml +27 -27
  39. package/dist/templates/nextjs-styleguide/data/routes/graphql/sample-1/en.yml +9 -9
  40. package/dist/templates/nextjs-styleguide/data/routes/graphql/sample-2/en.yml +9 -9
  41. package/dist/templates/nextjs-styleguide/data/routes/styleguide/custom-route-type/en.yml +12 -12
  42. package/dist/templates/nextjs-styleguide/data/routes/styleguide/en.yml +259 -259
  43. package/dist/templates/nextjs-styleguide/data/routes/styleguide/{{language}}.yml +25 -25
  44. package/dist/templates/nextjs-styleguide/data/routes/{{language}}.yml +4 -4
  45. package/dist/templates/nextjs-styleguide/graphql.d.ts +5 -0
  46. package/dist/templates/nextjs-styleguide/package.json +3 -1
  47. package/dist/templates/nextjs-styleguide/src/components/graphql/GraphQL-ConnectedDemo.dynamic.tsx +58 -15
  48. package/dist/templates/nextjs-styleguide/src/components/styleguide/Styleguide-Layout-Tabs-Tab.tsx +3 -1
  49. package/dist/templates/nextjs-styleguide/src/components/styleguide/Styleguide-Layout-Tabs.tsx +4 -3
  50. package/dist/templates/{nextjs → nextjs-styleguide}/src/lib/next-config/plugins/graphql.js +2 -14
  51. package/dist/templates/nextjs-styleguide-tracking/data/dictionary/en.yml +5 -5
  52. package/dist/templates/nextjs-styleguide-tracking/data/routes/tracking/en.yml +8 -8
  53. package/dist/templates/nextjs-styleguide-tracking/src/components/styleguide/Styleguide-Tracking.tsx +7 -7
  54. package/dist/templates/react/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  55. package/dist/templates/react/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  56. package/dist/templates/react/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  57. package/dist/templates/react/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  58. package/dist/templates/react/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  59. package/dist/templates/react/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  60. package/dist/templates/react/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  61. package/dist/templates/react/data/dictionary/en.yml +4 -4
  62. package/dist/templates/react/data/dictionary/{{language}}.yml +4 -4
  63. package/dist/templates/react/data/routes/en.yml +61 -61
  64. package/dist/templates/react/data/routes/graphql/en.yml +27 -27
  65. package/dist/templates/react/data/routes/graphql/sample-1/en.yml +9 -9
  66. package/dist/templates/react/data/routes/graphql/sample-2/en.yml +9 -9
  67. package/dist/templates/react/data/routes/styleguide/custom-route-type/en.yml +12 -12
  68. package/dist/templates/react/data/routes/styleguide/en.yml +263 -263
  69. package/dist/templates/react/data/routes/styleguide/{{language}}.yml +26 -26
  70. package/dist/templates/react/data/routes/{{language}}.yml +4 -4
  71. package/dist/templates/react-native/.buckconfig +6 -6
  72. package/dist/templates/react-native/.eslintrc +74 -74
  73. package/dist/templates/react-native/.gitattributes +1 -1
  74. package/dist/templates/react-native/.prettierrc +9 -9
  75. package/dist/templates/react-native/.vscode/launch.json +42 -42
  76. package/dist/templates/react-native/.vscode/settings.json +1 -1
  77. package/dist/templates/react-native/LICENSE.txt +202 -202
  78. package/dist/templates/react-native/README.MD +115 -115
  79. package/dist/templates/react-native/android/app/BUCK +55 -55
  80. package/dist/templates/react-native/android/app/build.gradle +201 -201
  81. package/dist/templates/react-native/android/app/build_defs.bzl +19 -19
  82. package/dist/templates/react-native/android/app/proguard-rules.pro +10 -10
  83. package/dist/templates/react-native/android/app/src/debug/AndroidManifest.xml +8 -8
  84. package/dist/templates/react-native/android/app/src/main/AndroidManifest.xml +26 -26
  85. package/dist/templates/react-native/android/app/src/main/java/com/{{appName}}/MainActivity.java +15 -15
  86. package/dist/templates/react-native/android/app/src/main/java/com/{{appName}}/MainApplication.java +74 -74
  87. package/dist/templates/react-native/android/app/src/main/res/values/strings.xml +3 -3
  88. package/dist/templates/react-native/android/app/src/main/res/values/styles.xml +9 -9
  89. package/dist/templates/react-native/android/build.gradle +38 -38
  90. package/dist/templates/react-native/android/gradle/wrapper/gradle-wrapper.properties +5 -5
  91. package/dist/templates/react-native/android/gradle.properties +21 -21
  92. package/dist/templates/react-native/android/gradlew +188 -188
  93. package/dist/templates/react-native/android/gradlew.bat +100 -100
  94. package/dist/templates/react-native/android/settings.gradle +3 -3
  95. package/dist/templates/react-native/app.json +3 -3
  96. package/dist/templates/react-native/assets/img/sc_logo.svg +52 -52
  97. package/dist/templates/react-native/data/content/Styleguide/ItemLinkField/Item1/en.json +10 -10
  98. package/dist/templates/react-native/data/routes/en.json +22 -22
  99. package/dist/templates/react-native/data/routes/styleguide/en.json +227 -227
  100. package/dist/templates/react-native/data/routes/styleguide/{{language}}.json +31 -31
  101. package/dist/templates/react-native/data/routes/{{language}}.json +7 -7
  102. package/dist/templates/react-native/gitignore +60 -60
  103. package/dist/templates/react-native/ios/Podfile +53 -53
  104. package/dist/templates/react-native/ios/{{appName}}/AppDelegate.h +15 -15
  105. package/dist/templates/react-native/ios/{{appName}}/AppDelegate.m +42 -42
  106. package/dist/templates/react-native/ios/{{appName}}/Base.lproj/LaunchScreen.xib +42 -42
  107. package/dist/templates/react-native/ios/{{appName}}/Images.xcassets/AppIcon.appiconset/Contents.json +38 -38
  108. package/dist/templates/react-native/ios/{{appName}}/Images.xcassets/Contents.json +6 -6
  109. package/dist/templates/react-native/ios/{{appName}}/Info.plist +57 -57
  110. package/dist/templates/react-native/ios/{{appName}}/main.m +16 -16
  111. package/dist/templates/react-native/ios/{{appName}}-tvOS/Info.plist +53 -53
  112. package/dist/templates/react-native/ios/{{appName}}-tvOSTests/Info.plist +24 -24
  113. package/dist/templates/react-native/ios/{{appName}}.xcodeproj/xcshareddata/xcschemes/BasicSampleReactNative-tvOS.xcscheme +129 -129
  114. package/dist/templates/react-native/ios/{{appName}}.xcodeproj/xcshareddata/xcschemes/BasicSampleReactNative.xcscheme +129 -129
  115. package/dist/templates/react-native/ios/{{appName}}Tests/BasicSampleReactNativeTests.m +72 -72
  116. package/dist/templates/react-native/ios/{{appName}}Tests/Info.plist +24 -24
  117. package/dist/templates/react-native/package.json +78 -78
  118. package/dist/templates/react-native/sitecore/config/{{appName}}.config +47 -47
  119. package/dist/templates/react-native/sitecore/gitignore +2 -2
  120. package/dist/templates/vue/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  121. package/dist/templates/vue/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  122. package/dist/templates/vue/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  123. package/dist/templates/vue/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  124. package/dist/templates/vue/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  125. package/dist/templates/vue/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  126. package/dist/templates/vue/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  127. package/dist/templates/vue/data/dictionary/en.yml +7 -7
  128. package/dist/templates/vue/data/dictionary/{{language}}.yml +7 -7
  129. package/dist/templates/vue/data/routes/en.yml +63 -63
  130. package/dist/templates/vue/data/routes/graphql/en.yml +34 -34
  131. package/dist/templates/vue/data/routes/graphql/sample-1/en.yml +9 -9
  132. package/dist/templates/vue/data/routes/graphql/sample-2/en.yml +9 -9
  133. package/dist/templates/vue/data/routes/styleguide/custom-route-type/en.yml +12 -12
  134. package/dist/templates/vue/data/routes/styleguide/en.yml +264 -264
  135. package/dist/templates/vue/data/routes/styleguide/{{language}}.yml +26 -26
  136. package/dist/templates/vue/data/routes/{{language}}.yml +4 -4
  137. package/dist/templates/vue/public/img/icons/safari-pinned-tab.svg +75 -75
  138. package/dist/templates/vue/src/assets/sc_logo.svg +52 -52
  139. package/package.json +2 -2
  140. package/dist/templates/nextjs/.graphql-let.yml +0 -8
  141. package/dist/templates/nextjs/scripts/fetch-graphql-introspection-data.ts +0 -46
  142. package/dist/templates/nextjs/src/temp/GraphQLIntrospectionResult.json +0 -22216
@@ -8,24 +8,67 @@ import {
8
8
  withDatasourceCheck,
9
9
  } from '@sitecore-jss/sitecore-jss-nextjs';
10
10
  import { GraphQLRequestClient } from '@sitecore-jss/sitecore-jss-nextjs/graphql';
11
- import {
12
- resetEditorChromes
13
- } from '@sitecore-jss/sitecore-jss-nextjs/utils';
11
+ import { resetEditorChromes } from '@sitecore-jss/sitecore-jss-nextjs/utils';
14
12
  import NextLink from 'next/link';
15
- import { ConnectedDemoQueryDocument } from './GraphQL-ConnectedDemo.dynamic.graphql';
16
- import {
17
- <%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute as AppRoute,
18
- Item,
19
- <%- helper.getAppPrefix(appPrefix, appName, false) %>GraphQlConnectedDemo as GrapQLConnectedDemoDatasource,
20
- } from 'graphql-types';
13
+ import ConnectedDemoQuery from './GraphQL-ConnectedDemo.dynamic.graphql';
21
14
  import { ComponentProps } from 'lib/component-props';
22
15
  import config from 'temp/config';
23
16
 
24
- type RouteItem = AppRoute & Item;
17
+ type GraphQLConnectedDemoDataSource = {
18
+ sample1: {
19
+ jsonValue: {
20
+ value: string;
21
+ };
22
+ value: string;
23
+ };
24
+ sample2: {
25
+ definition: {
26
+ type: string;
27
+ shared: boolean;
28
+ };
29
+ jsonValue: {
30
+ value: {
31
+ href: string;
32
+ linktype: string;
33
+ target: string;
34
+ text: string;
35
+ url: string;
36
+ };
37
+ };
38
+ target: string;
39
+ text: string;
40
+ url: string;
41
+ };
42
+ name: string;
43
+ id: string;
44
+ };
45
+
46
+ type Item = {
47
+ id: string;
48
+ url: {
49
+ path: string;
50
+ };
51
+ pageTitle: {
52
+ value: string;
53
+ jsonValue: {
54
+ value: string;
55
+ };
56
+ };
57
+ };
58
+
59
+ type ItemSearchResults = {
60
+ results: Item[];
61
+ };
25
62
 
26
63
  type GraphQLConnectedDemoData = {
27
- datasource: GrapQLConnectedDemoDatasource;
28
- contextItem: RouteItem;
64
+ datasource: GraphQLConnectedDemoDataSource;
65
+ contextItem: {
66
+ id: string;
67
+ children: ItemSearchResults;
68
+ pageTitle: {
69
+ value: string;
70
+ };
71
+ };
29
72
  };
30
73
 
31
74
  type GraphQLConnectedDemoProps = ComponentProps & GraphQLConnectedDemoData;
@@ -82,7 +125,7 @@ const GraphQLConnectedDemo = (props: GraphQLConnectedDemoProps): JSX.Element =>
82
125
  children:
83
126
  <ul>
84
127
  {props.contextItem.children.results.map((child) => {
85
- const routeItem = child as RouteItem;
128
+ const routeItem = child as Item;
86
129
 
87
130
  return (
88
131
  <li key={routeItem.id}>
@@ -115,7 +158,7 @@ export const getStaticProps: GetStaticComponentProps = async (rendering, layoutD
115
158
 
116
159
  const result = await graphQLClient.request<GraphQLConnectedDemoData>(
117
160
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
- ConnectedDemoQueryDocument as any,
161
+ ConnectedDemoQuery,
119
162
  {
120
163
  datasource: rendering.dataSource,
121
164
  contextItem: layoutData?.sitecore?.route?.itemId,
@@ -143,7 +186,7 @@ export const getServerSideProps: GetServerSideComponentProps = async (rendering,
143
186
 
144
187
  const result = await graphQLClient.request<GraphQLConnectedDemoData>(
145
188
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
146
- ConnectedDemoQueryDocument as any,
189
+ ConnectedDemoQuery,
147
190
  {
148
191
  datasource: rendering.dataSource,
149
192
  contextItem: layoutData?.sitecore?.route?.itemId,
@@ -8,13 +8,15 @@ import {
8
8
  } from '@sitecore-jss/sitecore-jss-nextjs';
9
9
  import { ComponentProps } from 'lib/component-props';
10
10
 
11
- type StyleguideLayoutTabsTabProps = ComponentProps & {
11
+ export type TabProps = {
12
12
  fields: {
13
13
  content: Field<string>;
14
14
  title: Field<string>;
15
15
  };
16
16
  };
17
17
 
18
+ type StyleguideLayoutTabsTabProps = ComponentProps & TabProps;
19
+
18
20
  /**
19
21
  * This is a single tab within the tabs sample component. These are added to the tabs placeholder.
20
22
  * This component demonstrates conditionally altering rendering when in the Sitecore Experience Editor to improve
@@ -3,6 +3,7 @@ import { withPlaceholder, withSitecoreContext, Text } from '@sitecore-jss/siteco
3
3
  import StyleguideSpecimen from './Styleguide-Specimen';
4
4
  import { ComponentWithContextProps } from 'lib/component-props';
5
5
  import { StyleguideSpecimenFields } from 'lib/component-props/styleguide';
6
+ import { TabProps } from './Styleguide-Layout-Tabs-Tab';
6
7
 
7
8
  interface StyleguideLayoutTabsState {
8
9
  activeTabIndex: number;
@@ -55,7 +56,7 @@ class StyleguideLayoutTabs extends React.Component<
55
56
  */}
56
57
  {!isEditing &&
57
58
  (tabsPlaceholder || [])
58
- .filter((tab: ReactElement) => tab.props && tab.props.fields)
59
+ .filter((tab: ReactElement) => tab.props && (tab.props as TabProps).fields)
59
60
  .map((tab: ReactElement, index: number) => (
60
61
  <li className="nav-item" key={`tab${index}`}>
61
62
  <a
@@ -63,14 +64,14 @@ class StyleguideLayoutTabs extends React.Component<
63
64
  onClick={() => this.setActiveTab(index)}
64
65
  href="#t"
65
66
  >
66
- <Text field={tab.props.fields.title} />
67
+ <Text field={(tab.props as TabProps).fields.title} />
67
68
  </a>
68
69
  </li>
69
70
  ))}
70
71
  </ul>
71
72
  <div className="p-3 border-left border-right border-bottom">
72
73
  {(tabsPlaceholder || []).map((tab: ReactElement) => {
73
- const isValid = tab.props && tab.props.fields;
74
+ const isValid = tab.props && (tab.props as TabProps).fields;
74
75
 
75
76
  // allow experience editor markup components to render
76
77
  if (!isValid && isEditing) return tab;
@@ -7,19 +7,7 @@ const graphqlPlugin = (nextConfig = {}) => {
7
7
  config.module.rules.push({
8
8
  test: /\.graphql$/,
9
9
  exclude: /node_modules/,
10
- use: [options.defaultLoaders.babel, { loader: 'graphql-let/loader' }],
11
- });
12
-
13
- config.module.rules.push({
14
- test: /\.graphqls$/,
15
- exclude: /node_modules/,
16
- use: ['graphql-let/schema/loader'],
17
- });
18
-
19
- config.module.rules.push({
20
- test: /\.ya?ml$/,
21
- type: 'json',
22
- use: 'yaml-loader',
10
+ loader: 'graphql-tag/loader',
23
11
  });
24
12
 
25
13
  // Overload the Webpack config if it was already overloaded
@@ -28,7 +16,7 @@ const graphqlPlugin = (nextConfig = {}) => {
28
16
  }
29
17
 
30
18
  return config;
31
- }
19
+ },
32
20
  });
33
21
  };
34
22
 
@@ -1,5 +1,5 @@
1
- styleguide-sample: This is a dictionary entry in English as a demonstration
2
- Documentation: Documentation
3
- Styleguide: Styleguide
4
- GraphQL: GraphQL
5
- Tracking: Tracking
1
+ styleguide-sample: This is a dictionary entry in English as a demonstration
2
+ Documentation: Documentation
3
+ Styleguide: Styleguide
4
+ GraphQL: GraphQL
5
+ Tracking: Tracking
@@ -1,8 +1,8 @@
1
- fields:
2
- pageTitle: Styleguide Tracking | Sitecore JSS
3
- placeholders:
4
- <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
5
- - componentName: Styleguide-Tracking
6
- fields:
7
- heading: Tracking
8
- description: <p><small>JSS supports tracking Sitecore analytics events from within apps. Give it a try with this handy interactive demo.</small></p>
1
+ fields:
2
+ pageTitle: Styleguide Tracking | Sitecore JSS
3
+ placeholders:
4
+ <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
5
+ - componentName: Styleguide-Tracking
6
+ fields:
7
+ heading: Tracking
8
+ description: <p><small>JSS supports tracking Sitecore analytics events from within apps. Give it a try with this handy interactive demo.</small></p>
@@ -18,13 +18,13 @@ type StyleguideTrackingProps = ComponentWithContextProps & StyleguideSpecimenFie
18
18
  * Demonstrates analytics tracking patterns (xDB)
19
19
  */
20
20
  class StyleguideTracking extends React.Component<StyleguideTrackingProps> {
21
- private event: RefObject<HTMLInputElement>;
22
- private goal: RefObject<HTMLInputElement>;
23
- private outcomeName: RefObject<HTMLInputElement>;
24
- private outcomeValue: RefObject<HTMLInputElement>;
25
- private campaign: RefObject<HTMLInputElement>;
26
- private pageId: RefObject<HTMLInputElement>;
27
- private pageUrl: RefObject<HTMLInputElement>;
21
+ private event: RefObject<HTMLInputElement | null>;
22
+ private goal: RefObject<HTMLInputElement | null>;
23
+ private outcomeName: RefObject<HTMLInputElement | null>;
24
+ private outcomeValue: RefObject<HTMLInputElement | null>;
25
+ private campaign: RefObject<HTMLInputElement | null>;
26
+ private pageId: RefObject<HTMLInputElement | null>;
27
+ private pageUrl: RefObject<HTMLInputElement | null>;
28
28
 
29
29
  private trackingApiOptions: TrackingRequestOptions;
30
30
 
@@ -1,9 +1,9 @@
1
- # We can reuse this content definition in multiple places because it:
2
- # - has an ID
3
- # - is under component-content (normally) or content
4
- # Reuse is accomplished by referencing the content by ID in a route definition.
5
- id: lorem-ipsum-content-block
6
- componentName: ContentBlock
7
- displayName: Lorem Ipsum Dolor Sit Amet
8
- fields:
9
- content: <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque felis mauris, pretium id neque vitae, vulputate pellentesque tortor. Mauris hendrerit dolor et ipsum lobortis bibendum non finibus neque. Morbi volutpat aliquam magna id posuere. Duis commodo cursus dui, nec interdum velit congue nec. Aliquam erat volutpat. Aliquam facilisis, sapien quis fringilla tincidunt, magna nulla feugiat neque, a consectetur arcu orci eu augue.</p>
1
+ # We can reuse this content definition in multiple places because it:
2
+ # - has an ID
3
+ # - is under component-content (normally) or content
4
+ # Reuse is accomplished by referencing the content by ID in a route definition.
5
+ id: lorem-ipsum-content-block
6
+ componentName: ContentBlock
7
+ displayName: Lorem Ipsum Dolor Sit Amet
8
+ fields:
9
+ content: <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque felis mauris, pretium id neque vitae, vulputate pellentesque tortor. Mauris hendrerit dolor et ipsum lobortis bibendum non finibus neque. Morbi volutpat aliquam magna id posuere. Duis commodo cursus dui, nec interdum velit congue nec. Aliquam erat volutpat. Aliquam facilisis, sapien quis fringilla tincidunt, magna nulla feugiat neque, a consectetur arcu orci eu augue.</p>
@@ -1,6 +1,6 @@
1
- id: styleguide-content-list-field-shared-1
2
- displayName: Styleguide Content List Item 1 (Shared)
3
- # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-ContentList-Template.sitecore.js
4
- template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-ContentList-Item-Template
5
- fields:
6
- textField: ContentList Demo (Shared) Item 1 Text Field
1
+ id: styleguide-content-list-field-shared-1
2
+ displayName: Styleguide Content List Item 1 (Shared)
3
+ # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-ContentList-Template.sitecore.js
4
+ template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-ContentList-Item-Template
5
+ fields:
6
+ textField: ContentList Demo (Shared) Item 1 Text Field
@@ -1,6 +1,6 @@
1
- id: styleguide-content-list-field-shared-2
2
- displayName: Styleguide Content List Item 2 (Shared)
3
- # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-ContentList-Template.sitecore.js
4
- template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-ContentList-Item-Template
5
- fields:
6
- textField: ContentList Demo (Shared) Item 2 Text Field
1
+ id: styleguide-content-list-field-shared-2
2
+ displayName: Styleguide Content List Item 2 (Shared)
3
+ # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-ContentList-Template.sitecore.js
4
+ template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-ContentList-Item-Template
5
+ fields:
6
+ textField: ContentList Demo (Shared) Item 2 Text Field
@@ -1,6 +1,6 @@
1
- id: styleguide-edit-frame-list-item-1
2
- displayName: EditFrame Demo List Item 1
3
- # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-EditFrame-ListItem-Template.js
4
- template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-EditFrame-ListItem-Template
5
- fields:
6
- title: Edit Frame Demo List Item 1
1
+ id: styleguide-edit-frame-list-item-1
2
+ displayName: EditFrame Demo List Item 1
3
+ # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-EditFrame-ListItem-Template.js
4
+ template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-EditFrame-ListItem-Template
5
+ fields:
6
+ title: Edit Frame Demo List Item 1
@@ -1,6 +1,6 @@
1
- id: styleguide-edit-frame-list-item-2
2
- displayName: EditFrame Demo List Item 2
3
- # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-EditFrame-ListItem-Template.js
4
- template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-EditFrame-ListItem-Template
5
- fields:
6
- title: Edit Frame Demo List Item 2
1
+ id: styleguide-edit-frame-list-item-2
2
+ displayName: EditFrame Demo List Item 2
3
+ # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-EditFrame-ListItem-Template.js
4
+ template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-EditFrame-ListItem-Template
5
+ fields:
6
+ title: Edit Frame Demo List Item 2
@@ -1,6 +1,6 @@
1
- id: styleguide-item-link-field-shared-1
2
- displayName: Styleguide Item Link Item 1 (Shared)
3
- # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-ItemLink-Template.sitecore.js
4
- template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-ItemLink-Item-Template
5
- fields:
6
- textField: ItemLink Demo (Shared) Item 1 Text Field
1
+ id: styleguide-item-link-field-shared-1
2
+ displayName: Styleguide Item Link Item 1 (Shared)
3
+ # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-ItemLink-Template.sitecore.js
4
+ template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-ItemLink-Item-Template
5
+ fields:
6
+ textField: ItemLink Demo (Shared) Item 1 Text Field
@@ -1,6 +1,6 @@
1
- id: styleguide-item-link-field-shared-2
2
- displayName: Styleguide Item Link Item 2 (Shared)
3
- # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-ItemLink-Template.sitecore.js
4
- template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-ItemLink-Item-Template
5
- fields:
6
- textField: ItemLink Demo (Shared) Item 2 Text Field
1
+ id: styleguide-item-link-field-shared-2
2
+ displayName: Styleguide Item Link Item 2 (Shared)
3
+ # Template defines the available fields. See /sitecore/definitions/templates/Styleguide-ItemLink-Template.sitecore.js
4
+ template: <%- helper.getAppPrefix(appPrefix, appName) %>Styleguide-ItemLink-Item-Template
5
+ fields:
6
+ textField: ItemLink Demo (Shared) Item 2 Text Field
@@ -1,4 +1,4 @@
1
- styleguide-sample: This is a dictionary entry in English as a demonstration
2
- Documentation: Documentation
3
- Styleguide: Styleguide
4
- GraphQL: GraphQL
1
+ styleguide-sample: This is a dictionary entry in English as a demonstration
2
+ Documentation: Documentation
3
+ Styleguide: Styleguide
4
+ GraphQL: GraphQL
@@ -1,4 +1,4 @@
1
- styleguide-sample: '[<%- language %>] This is a dictionary entry in English as a demonstration'
2
- Documentation: '[<%- language %>] Documentation'
3
- Styleguide: '[<%- language %>] Styleguide'
4
- GraphQL: '[<%- language %>] GraphQL'
1
+ styleguide-sample: '[<%- language %>] This is a dictionary entry in English as a demonstration'
2
+ Documentation: '[<%- language %>] Documentation'
3
+ Styleguide: '[<%- language %>] Styleguide'
4
+ GraphQL: '[<%- language %>] GraphQL'
@@ -1,61 +1,61 @@
1
- # This is a route layout definition.
2
- # The route definition defines which Sitecore components are present on a route,
3
- # what their content data is, and which _placeholder_ they are placed in.
4
-
5
- # This particular route definition is for the home route - '/', so it defines the
6
- # components shown on the initial page of the app.
7
-
8
- # You may use equivalent JSON files instead of YAML if you prefer;
9
- # however YAML is simpler to read and allows comments like this one :)
10
-
11
- # Setting an ID is optional, but it will allow referring to this item in internal links
12
- # the ID can be a app-wide-unique string, or a GUID value.
13
- id: home-page
14
-
15
- # Route-level fields are appropriate for page level data like <title> contents
16
- # Define route level fields in /sitecore/definitions/routes.sitecore
17
- fields:
18
- pageTitle: Welcome to Sitecore JSS
19
- # Define the page layout starting at the root placeholder - in this case, '<%- helper.getAppPrefix(appPrefix, appName) %>main'
20
- # root placeholder names are defined in the package.json config section (required for Sitecore deployment)
21
- placeholders:
22
- <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
23
- - componentName: ContentBlock
24
- fields:
25
- heading: Welcome to Sitecore JSS
26
- # to author content in YAML, use _multi-line values_ (prefixed with | + endline)
27
- # as long as the same indent is preserved at the beginning of each line, no escaping
28
- # is required at all in the value, making it easy to read
29
- content: |
30
- <p>Thanks for using JSS!! Here are some resources to get you started:</p>
31
-
32
- <h3><a href="https://jss.sitecore.com" rel="noopener noreferrer">Documentation</a></h3>
33
- <p>The official JSS documentation can help you with any JSS task from getting started to advanced techniques.</p>
34
-
35
- <h3><a href="/styleguide">Styleguide</a></h3>
36
- <p>The JSS styleguide is a living example of how to use JSS, hosted right in this app.
37
- It demonstrates most of the common patterns that JSS implementations may need to use,
38
- as well as useful architectural patterns.</p>
39
-
40
- <h3><a href="/graphql">GraphQL</a></h3>
41
- <p>JSS features integration with the Sitecore GraphQL API to enable fetching non-route data from Sitecore - or from other internal backends as an API aggregator or proxy.
42
- This route is a living example of how to use an integrate with GraphQL data in a JSS app.</p>
43
-
44
- <div class="alert alert-dark">
45
- <h4>This app is a boilerplate</h4>
46
- <p>The JSS samples are a boilerplate, not a library. That means that any code in this app is meant for you to own and customize to your own requirements.</p>
47
- <p>Want to change the lint settings? Do it. Want to read manifest data from a MongoDB database? Go for it. This app is yours.</p>
48
- </div>
49
-
50
- <div class="alert alert-dark">
51
- <h4>How to start with an empty app</h4>
52
- <p>To remove all of the default sample content (the Styleguide and GraphQL routes) and start out with an empty JSS app:</p>
53
- <ol>
54
- <li>Delete <code>/src/components/Styleguide*</code> and <code>/src/components/GraphQL*</code></li>
55
- <li>Delete <code>/sitecore/definitions/components/Styleguide*</code>, <code>/sitecore/definitions/templates/Styleguide*</code>, and <code>/sitecore/definitions/components/GraphQL*</code></li>
56
- <li>Delete <code>/data/component-content/Styleguide</code></li>
57
- <li>Delete <code>/data/content/Styleguide</code></li>
58
- <li>Delete <code>/data/routes/styleguide</code> and <code>/data/routes/graphql</code></li>
59
- <li>Delete <code>/data/dictionary/*.yml</code></li>
60
- </ol>
61
- </div>
1
+ # This is a route layout definition.
2
+ # The route definition defines which Sitecore components are present on a route,
3
+ # what their content data is, and which _placeholder_ they are placed in.
4
+
5
+ # This particular route definition is for the home route - '/', so it defines the
6
+ # components shown on the initial page of the app.
7
+
8
+ # You may use equivalent JSON files instead of YAML if you prefer;
9
+ # however YAML is simpler to read and allows comments like this one :)
10
+
11
+ # Setting an ID is optional, but it will allow referring to this item in internal links
12
+ # the ID can be a app-wide-unique string, or a GUID value.
13
+ id: home-page
14
+
15
+ # Route-level fields are appropriate for page level data like <title> contents
16
+ # Define route level fields in /sitecore/definitions/routes.sitecore
17
+ fields:
18
+ pageTitle: Welcome to Sitecore JSS
19
+ # Define the page layout starting at the root placeholder - in this case, '<%- helper.getAppPrefix(appPrefix, appName) %>main'
20
+ # root placeholder names are defined in the package.json config section (required for Sitecore deployment)
21
+ placeholders:
22
+ <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
23
+ - componentName: ContentBlock
24
+ fields:
25
+ heading: Welcome to Sitecore JSS
26
+ # to author content in YAML, use _multi-line values_ (prefixed with | + endline)
27
+ # as long as the same indent is preserved at the beginning of each line, no escaping
28
+ # is required at all in the value, making it easy to read
29
+ content: |
30
+ <p>Thanks for using JSS!! Here are some resources to get you started:</p>
31
+
32
+ <h3><a href="https://jss.sitecore.com" rel="noopener noreferrer">Documentation</a></h3>
33
+ <p>The official JSS documentation can help you with any JSS task from getting started to advanced techniques.</p>
34
+
35
+ <h3><a href="/styleguide">Styleguide</a></h3>
36
+ <p>The JSS styleguide is a living example of how to use JSS, hosted right in this app.
37
+ It demonstrates most of the common patterns that JSS implementations may need to use,
38
+ as well as useful architectural patterns.</p>
39
+
40
+ <h3><a href="/graphql">GraphQL</a></h3>
41
+ <p>JSS features integration with the Sitecore GraphQL API to enable fetching non-route data from Sitecore - or from other internal backends as an API aggregator or proxy.
42
+ This route is a living example of how to use an integrate with GraphQL data in a JSS app.</p>
43
+
44
+ <div class="alert alert-dark">
45
+ <h4>This app is a boilerplate</h4>
46
+ <p>The JSS samples are a boilerplate, not a library. That means that any code in this app is meant for you to own and customize to your own requirements.</p>
47
+ <p>Want to change the lint settings? Do it. Want to read manifest data from a MongoDB database? Go for it. This app is yours.</p>
48
+ </div>
49
+
50
+ <div class="alert alert-dark">
51
+ <h4>How to start with an empty app</h4>
52
+ <p>To remove all of the default sample content (the Styleguide and GraphQL routes) and start out with an empty JSS app:</p>
53
+ <ol>
54
+ <li>Delete <code>/src/components/Styleguide*</code> and <code>/src/components/GraphQL*</code></li>
55
+ <li>Delete <code>/sitecore/definitions/components/Styleguide*</code>, <code>/sitecore/definitions/templates/Styleguide*</code>, and <code>/sitecore/definitions/components/GraphQL*</code></li>
56
+ <li>Delete <code>/data/component-content/Styleguide</code></li>
57
+ <li>Delete <code>/data/content/Styleguide</code></li>
58
+ <li>Delete <code>/data/routes/styleguide</code> and <code>/data/routes/graphql</code></li>
59
+ <li>Delete <code>/data/dictionary/*.yml</code></li>
60
+ </ol>
61
+ </div>
@@ -1,27 +1,27 @@
1
- fields:
2
- pageTitle: GraphQL | Sitecore JSS
3
- placeholders:
4
- <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
5
- - componentName: ContentBlock
6
- fields:
7
- heading: Using GraphQL with JSS
8
- content: |
9
- <p>This is a live example of using Integrated GraphQL and Connected GraphQL with a JSS app.
10
- For more information on GraphQL use in JSS, please see <a href="https://jss.sitecore.com" target="_blank" rel="noopener noreferrer">the documentation</a>.</p>
11
- - componentName: GraphQL-Layout
12
- placeholders:
13
- <%- helper.getAppPrefix(appPrefix, appName) %>jss-graphql-layout:
14
- - componentName: GraphQL-IntegratedDemo
15
- fields:
16
- sample1: Hello integrated GraphQL world!
17
- sample2:
18
- href: https://www.sitecore.com
19
- target: _blank
20
- text: GraphQL lets you get structured field data too
21
- - componentName: GraphQL-ConnectedDemo
22
- fields:
23
- sample1: Hello connected GraphQL world!
24
- sample2:
25
- href: https://www.sitecore.com
26
- target: _blank
27
- text: GraphQL lets you get structured field data too
1
+ fields:
2
+ pageTitle: GraphQL | Sitecore JSS
3
+ placeholders:
4
+ <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
5
+ - componentName: ContentBlock
6
+ fields:
7
+ heading: Using GraphQL with JSS
8
+ content: |
9
+ <p>This is a live example of using Integrated GraphQL and Connected GraphQL with a JSS app.
10
+ For more information on GraphQL use in JSS, please see <a href="https://jss.sitecore.com" target="_blank" rel="noopener noreferrer">the documentation</a>.</p>
11
+ - componentName: GraphQL-Layout
12
+ placeholders:
13
+ <%- helper.getAppPrefix(appPrefix, appName) %>jss-graphql-layout:
14
+ - componentName: GraphQL-IntegratedDemo
15
+ fields:
16
+ sample1: Hello integrated GraphQL world!
17
+ sample2:
18
+ href: https://www.sitecore.com
19
+ target: _blank
20
+ text: GraphQL lets you get structured field data too
21
+ - componentName: GraphQL-ConnectedDemo
22
+ fields:
23
+ sample1: Hello connected GraphQL world!
24
+ sample2:
25
+ href: https://www.sitecore.com
26
+ target: _blank
27
+ text: GraphQL lets you get structured field data too
@@ -1,9 +1,9 @@
1
- fields:
2
- pageTitle: Sample 1 Page Title
3
- placeholders:
4
- <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
5
- - componentName: ContentBlock
6
- fields:
7
- heading: GraphQL Sample 1
8
- content: |
9
- <p>A child route here to illustrate the power of GraphQL queries. <a href="/graphql">Back to GraphQL route</a></p>
1
+ fields:
2
+ pageTitle: Sample 1 Page Title
3
+ placeholders:
4
+ <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
5
+ - componentName: ContentBlock
6
+ fields:
7
+ heading: GraphQL Sample 1
8
+ content: |
9
+ <p>A child route here to illustrate the power of GraphQL queries. <a href="/graphql">Back to GraphQL route</a></p>
@@ -1,9 +1,9 @@
1
- fields:
2
- pageTitle: Sample 2 Page Title
3
- placeholders:
4
- <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
5
- - componentName: ContentBlock
6
- fields:
7
- heading: GraphQL Sample 2
8
- content: |
9
- <p>A child route here to illustrate the power of GraphQL queries. <a href="/graphql">Back to GraphQL route</a></p>
1
+ fields:
2
+ pageTitle: Sample 2 Page Title
3
+ placeholders:
4
+ <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
5
+ - componentName: ContentBlock
6
+ fields:
7
+ heading: GraphQL Sample 2
8
+ content: |
9
+ <p>A child route here to illustrate the power of GraphQL queries. <a href="/graphql">Back to GraphQL route</a></p>
@@ -1,12 +1,12 @@
1
- # Using a Custom Route Type enables adding more field data to the route level.
2
- template: <%- helper.getAppPrefix(appPrefix, appName) %>ExampleCustomRouteType
3
- fields:
4
- # Note that custom route types inherit from the default route type automatically.
5
- # This is what makes the `pageTitle` field available here, when it's not defined on the custom route type.
6
- pageTitle: Custom Route Type | Sitecore JSS
7
- headline: A Treatise on Route-Level Fields in JSS
8
- author: Myrtle
9
- content: <p>Custom route type fields are good for things like articles, where you may wish to have a filter UI on content fields, such as author or category. Route level fields are easy to query against, whereas component-level fields are not because it's possible to remove a component from a route. Note that route level fields <em>cannot be personalized</em> because you cannot conditionally swap out the route item for a different content item.</p>
10
- placeholders:
11
- <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
12
- - componentName: Styleguide-CustomRouteType
1
+ # Using a Custom Route Type enables adding more field data to the route level.
2
+ template: <%- helper.getAppPrefix(appPrefix, appName) %>ExampleCustomRouteType
3
+ fields:
4
+ # Note that custom route types inherit from the default route type automatically.
5
+ # This is what makes the `pageTitle` field available here, when it's not defined on the custom route type.
6
+ pageTitle: Custom Route Type | Sitecore JSS
7
+ headline: A Treatise on Route-Level Fields in JSS
8
+ author: Myrtle
9
+ content: <p>Custom route type fields are good for things like articles, where you may wish to have a filter UI on content fields, such as author or category. Route level fields are easy to query against, whereas component-level fields are not because it's possible to remove a component from a route. Note that route level fields <em>cannot be personalized</em> because you cannot conditionally swap out the route item for a different content item.</p>
10
+ placeholders:
11
+ <%- helper.getAppPrefix(appPrefix, appName) %>jss-main:
12
+ - componentName: Styleguide-CustomRouteType