create-sitecore-jss 22.2.1 → 22.2.2-canary.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/LICENSE.MD +202 -202
  2. package/README.md +10 -10
  3. package/dist/common/processes/transform.js +6 -1
  4. package/dist/templates/angular/.eslintignore +3 -3
  5. package/dist/templates/angular/.eslintrc +65 -65
  6. package/dist/templates/angular/LICENSE.txt +202 -202
  7. package/dist/templates/angular/README.md +53 -53
  8. package/dist/templates/angular/angular.json +177 -177
  9. package/dist/templates/angular/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  10. package/dist/templates/angular/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  11. package/dist/templates/angular/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  12. package/dist/templates/angular/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  13. package/dist/templates/angular/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  14. package/dist/templates/angular/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  15. package/dist/templates/angular/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  16. package/dist/templates/angular/data/dictionary/en.yml +4 -4
  17. package/dist/templates/angular/data/dictionary/{{language}}.yml +4 -4
  18. package/dist/templates/angular/data/routes/en.yml +61 -61
  19. package/dist/templates/angular/data/routes/graphql/en.yml +27 -27
  20. package/dist/templates/angular/data/routes/graphql/sample-1/en.yml +9 -9
  21. package/dist/templates/angular/data/routes/graphql/sample-2/en.yml +9 -9
  22. package/dist/templates/angular/data/routes/styleguide/custom-route-type/en.yml +12 -12
  23. package/dist/templates/angular/data/routes/styleguide/en.yml +271 -271
  24. package/dist/templates/angular/data/routes/styleguide/{{language}}.yml +25 -25
  25. package/dist/templates/angular/data/routes/{{language}}.yml +4 -4
  26. package/dist/templates/angular/e2e/tsconfig.e2e.json +15 -15
  27. package/dist/templates/angular/gitignore +47 -47
  28. package/dist/templates/angular/package.json +127 -127
  29. package/dist/templates/angular/sitecore/config/{{appName}}.config +90 -90
  30. package/dist/templates/angular/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.graphql +71 -71
  31. package/dist/templates/angular/sitecore/gitignore +2 -2
  32. package/dist/templates/angular/src/app/app.component.html +1 -1
  33. package/dist/templates/angular/src/app/components/content-block/content-block.component.html +4 -4
  34. package/dist/templates/angular/src/app/components/gitignore +7 -7
  35. package/dist/templates/angular/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.graphql +69 -69
  36. package/dist/templates/angular/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.html +55 -55
  37. package/dist/templates/angular/src/app/components/graph-ql-integrated-demo/graph-ql-integrated-demo.component.html +47 -47
  38. package/dist/templates/angular/src/app/components/graph-ql-layout/graph-ql-layout.component.html +22 -22
  39. package/dist/templates/angular/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.component.html +5 -5
  40. package/dist/templates/angular/src/app/components/styleguide-component-params/styleguide-component-params.component.html +19 -19
  41. package/dist/templates/angular/src/app/components/styleguide-custom-route-type/styleguide-custom-route-type.component.html +14 -14
  42. package/dist/templates/angular/src/app/components/styleguide-edit-frame/styleguide-edit-frame.component.html +19 -19
  43. package/dist/templates/angular/src/app/components/styleguide-field-usage-checkbox/styleguide-field-usage-checkbox.component.html +11 -11
  44. package/dist/templates/angular/src/app/components/styleguide-field-usage-content-list/styleguide-field-usage-content-list.component.html +26 -26
  45. package/dist/templates/angular/src/app/components/styleguide-field-usage-custom/styleguide-field-usage-custom.component.html +4 -4
  46. package/dist/templates/angular/src/app/components/styleguide-field-usage-date/styleguide-field-usage-date.component.html +27 -27
  47. package/dist/templates/angular/src/app/components/styleguide-field-usage-file/styleguide-field-usage-file.component.html +10 -10
  48. package/dist/templates/angular/src/app/components/styleguide-field-usage-image/styleguide-field-usage-image.component.html +30 -30
  49. package/dist/templates/angular/src/app/components/styleguide-field-usage-item-link/styleguide-field-usage-item-link.component.html +17 -17
  50. package/dist/templates/angular/src/app/components/styleguide-field-usage-link/styleguide-field-usage-link.component.html +44 -44
  51. package/dist/templates/angular/src/app/components/styleguide-field-usage-number/styleguide-field-usage-number.component.html +11 -11
  52. package/dist/templates/angular/src/app/components/styleguide-field-usage-rich-text/styleguide-field-usage-rich-text.component.html +11 -11
  53. package/dist/templates/angular/src/app/components/styleguide-field-usage-text/styleguide-field-usage-text.component.html +13 -13
  54. package/dist/templates/angular/src/app/components/styleguide-layout/styleguide-layout.component.html +20 -20
  55. package/dist/templates/angular/src/app/components/styleguide-layout-reuse/styleguide-layout-reuse.component.html +52 -52
  56. package/dist/templates/angular/src/app/components/styleguide-layout-tabs/styleguide-layout-tabs.component.html +37 -37
  57. package/dist/templates/angular/src/app/components/styleguide-layout-tabs-tab/styleguide-layout-tabs-tab.component.html +12 -12
  58. package/dist/templates/angular/src/app/components/styleguide-multilingual/styleguide-multilingual.component.html +15 -15
  59. package/dist/templates/angular/src/app/components/styleguide-route-fields/styleguide-route-fields.component.html +8 -8
  60. package/dist/templates/angular/src/app/components/styleguide-section/styleguide-section.component.html +7 -7
  61. package/dist/templates/angular/src/app/components/styleguide-sitecore-context/styleguide-sitecore-context.component.html +3 -3
  62. package/dist/templates/angular/src/app/components/styleguide-tracking/styleguide-tracking.component.html +175 -175
  63. package/dist/templates/angular/src/app/routing/layout/layout.component.html +17 -17
  64. package/dist/templates/angular/src/app/routing/navigation/navigation.component.html +21 -21
  65. package/dist/templates/angular/src/app/routing/not-found/not-found.component.html +7 -7
  66. package/dist/templates/angular/src/app/routing/server-error/server-error.component.html +3 -3
  67. package/dist/templates/angular/src/assets/images/sc_logo.svg +52 -52
  68. package/dist/templates/angular/src/index.html +12 -12
  69. package/dist/templates/angular/src/styles.css +34 -34
  70. package/dist/templates/angular/src/tsconfig.app.json +22 -22
  71. package/dist/templates/angular/src/tsconfig.server.json +21 -21
  72. package/dist/templates/angular/src/tsconfig.spec.json +24 -24
  73. package/dist/templates/angular/src/tsconfig.webpack-server.json +6 -6
  74. package/dist/templates/angular/tsconfig.json +31 -31
  75. package/dist/templates/nextjs/.eslintrc +26 -26
  76. package/dist/templates/nextjs/.gitattributes +11 -11
  77. package/dist/templates/nextjs/.graphql-let.yml +8 -8
  78. package/dist/templates/nextjs/.prettierrc +8 -8
  79. package/dist/templates/nextjs/.vscode/launch.json +15 -15
  80. package/dist/templates/nextjs/LICENSE.txt +202 -202
  81. package/dist/templates/nextjs/README.md +8 -8
  82. package/dist/templates/nextjs/gitignore +32 -32
  83. package/dist/templates/nextjs/package.json +87 -87
  84. package/dist/templates/nextjs/public/sc_logo.svg +52 -52
  85. package/dist/templates/nextjs/scripts/temp/gitignore +2 -2
  86. package/dist/templates/nextjs/sitecore/config/{{appName}}.config +165 -165
  87. package/dist/templates/nextjs/src/assets/app.css +36 -36
  88. package/dist/templates/nextjs/src/temp/GraphQLIntrospectionResult.json +22215 -22215
  89. package/dist/templates/nextjs/src/temp/gitignore +3 -3
  90. package/dist/templates/nextjs/tsconfig.json +37 -37
  91. package/dist/templates/nextjs/tsconfig.scripts.json +11 -11
  92. package/dist/templates/nextjs-styleguide/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  93. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  94. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  95. package/dist/templates/nextjs-styleguide/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  96. package/dist/templates/nextjs-styleguide/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  97. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  98. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  99. package/dist/templates/nextjs-styleguide/data/dictionary/en.yml +4 -4
  100. package/dist/templates/nextjs-styleguide/data/dictionary/{{language}}.yml +4 -4
  101. package/dist/templates/nextjs-styleguide/data/routes/en.yml +63 -63
  102. package/dist/templates/nextjs-styleguide/data/routes/graphql/en.yml +27 -27
  103. package/dist/templates/nextjs-styleguide/data/routes/graphql/sample-1/en.yml +9 -9
  104. package/dist/templates/nextjs-styleguide/data/routes/graphql/sample-2/en.yml +9 -9
  105. package/dist/templates/nextjs-styleguide/data/routes/styleguide/custom-route-type/en.yml +12 -12
  106. package/dist/templates/nextjs-styleguide/data/routes/styleguide/en.yml +259 -259
  107. package/dist/templates/nextjs-styleguide/data/routes/styleguide/{{language}}.yml +25 -25
  108. package/dist/templates/nextjs-styleguide/data/routes/{{language}}.yml +4 -4
  109. package/dist/templates/nextjs-styleguide/package.json +14 -14
  110. package/dist/templates/nextjs-styleguide/sitecore/definitions/components/graphql/GraphQL-IntegratedDemo.sitecore.graphql +71 -71
  111. package/dist/templates/nextjs-styleguide/sitecore/gitignore +3 -3
  112. package/dist/templates/nextjs-styleguide/src/components/graphql/GraphQL-ConnectedDemo.dynamic.graphql +69 -69
  113. package/dist/templates/nextjs-styleguide-tracking/data/dictionary/en.yml +5 -5
  114. package/dist/templates/nextjs-styleguide-tracking/data/routes/tracking/en.yml +8 -8
  115. package/dist/templates/nextjs-sxa/package.json +11 -11
  116. package/dist/templates/nextjs-sxa/src/assets/basic/_component.scss +48 -48
  117. package/dist/templates/nextjs-sxa/src/assets/basic/_container.scss +64 -64
  118. package/dist/templates/nextjs-sxa/src/assets/basic/_fonts.scss +3 -3
  119. package/dist/templates/nextjs-sxa/src/assets/basic/_footer.scss +31 -31
  120. package/dist/templates/nextjs-sxa/src/assets/basic/_header.scss +49 -49
  121. package/dist/templates/nextjs-sxa/src/assets/basic/_navigation.scss +150 -150
  122. package/dist/templates/nextjs-sxa/src/assets/basic/_promo.scss +58 -58
  123. package/dist/templates/nextjs-sxa/src/assets/basic/_rich-text.scss +11 -11
  124. package/dist/templates/nextjs-sxa/src/assets/basic/_variables.scss +9 -9
  125. package/dist/templates/nextjs-sxa/src/assets/basic/main.scss +8 -8
  126. package/dist/templates/nextjs-sxa/src/assets/main.scss +4 -4
  127. package/dist/templates/nextjs-sxa/src/assets/sass/_app.scss +103 -103
  128. package/dist/templates/nextjs-sxa/src/assets/sass/abstracts/_functions.scss +8 -8
  129. package/dist/templates/nextjs-sxa/src/assets/sass/abstracts/_mixins.scss +121 -121
  130. package/dist/templates/nextjs-sxa/src/assets/sass/abstracts/_vars.scss +3 -3
  131. package/dist/templates/nextjs-sxa/src/assets/sass/abstracts/vars/_colors.scss +283 -283
  132. package/dist/templates/nextjs-sxa/src/assets/sass/abstracts/vars/_fontSizes.scss +16 -16
  133. package/dist/templates/nextjs-sxa/src/assets/sass/abstracts/vars/_margins.scss +10 -10
  134. package/dist/templates/nextjs-sxa/src/assets/sass/base/fonts/_fonts.scss +1 -1
  135. package/dist/templates/nextjs-sxa/src/assets/sass/base/fonts/index.scss +1 -1
  136. package/dist/templates/nextjs-sxa/src/assets/sass/base/index.scss +3 -3
  137. package/dist/templates/nextjs-sxa/src/assets/sass/base/links/_link-button.scss +26 -26
  138. package/dist/templates/nextjs-sxa/src/assets/sass/base/links/index.scss +1 -1
  139. package/dist/templates/nextjs-sxa/src/assets/sass/base/reset/_inputs.scss +58 -58
  140. package/dist/templates/nextjs-sxa/src/assets/sass/base/reset/_links.scss +14 -14
  141. package/dist/templates/nextjs-sxa/src/assets/sass/base/reset/_ui-datepicker.scss +7 -7
  142. package/dist/templates/nextjs-sxa/src/assets/sass/base/richtext/_richtext-files-icons.scss +86 -86
  143. package/dist/templates/nextjs-sxa/src/assets/sass/base/richtext/_richtext.scss +101 -101
  144. package/dist/templates/nextjs-sxa/src/assets/sass/base/richtext/index.scss +2 -2
  145. package/dist/templates/nextjs-sxa/src/assets/sass/base/typehead/_typehead.scss +95 -95
  146. package/dist/templates/nextjs-sxa/src/assets/sass/base/typehead/index.scss +1 -1
  147. package/dist/templates/nextjs-sxa/src/assets/sass/components/_component-column-splitter.scss +14 -14
  148. package/dist/templates/nextjs-sxa/src/assets/sass/components/_component-container.scss +27 -27
  149. package/dist/templates/nextjs-sxa/src/assets/sass/components/_component-image.scss +18 -18
  150. package/dist/templates/nextjs-sxa/src/assets/sass/components/_component-navigation.scss +51 -51
  151. package/dist/templates/nextjs-sxa/src/assets/sass/components/_component-promo.scss +42 -42
  152. package/dist/templates/nextjs-sxa/src/assets/sass/components/_component-richtext-content.scss +19 -19
  153. package/dist/templates/nextjs-sxa/src/assets/sass/components/common/_alignment.scss +25 -25
  154. package/dist/templates/nextjs-sxa/src/assets/sass/components/common/_boxed.scss +16 -16
  155. package/dist/templates/nextjs-sxa/src/assets/sass/components/common/_clearfix.scss +11 -11
  156. package/dist/templates/nextjs-sxa/src/assets/sass/components/common/_highlighted.scss +62 -62
  157. package/dist/templates/nextjs-sxa/src/assets/sass/components/common/_link-button.scss +16 -16
  158. package/dist/templates/nextjs-sxa/src/assets/sass/components/common/_promoted-box.scss +3 -3
  159. package/dist/templates/nextjs-sxa/src/assets/sass/components/common/index.scss +5 -5
  160. package/dist/templates/nextjs-sxa/src/assets/sass/components/container/_bordered.scss +23 -23
  161. package/dist/templates/nextjs-sxa/src/assets/sass/components/container/_title-row-box.scss +66 -66
  162. package/dist/templates/nextjs-sxa/src/assets/sass/components/container/index.scss +1 -1
  163. package/dist/templates/nextjs-sxa/src/assets/sass/components/image/_image-default-size.scss +6 -6
  164. package/dist/templates/nextjs-sxa/src/assets/sass/components/image/index.scss +1 -1
  165. package/dist/templates/nextjs-sxa/src/assets/sass/components/image-alignment/_image-left.scss +3 -3
  166. package/dist/templates/nextjs-sxa/src/assets/sass/components/image-alignment/_image-right.scss +3 -3
  167. package/dist/templates/nextjs-sxa/src/assets/sass/components/index.scss +17 -17
  168. package/dist/templates/nextjs-sxa/src/assets/sass/components/layout/_acaindent.scss +5 -5
  169. package/dist/templates/nextjs-sxa/src/assets/sass/components/layout/_background.scss +27 -27
  170. package/dist/templates/nextjs-sxa/src/assets/sass/components/layout/index.scss +1 -1
  171. package/dist/templates/nextjs-sxa/src/assets/sass/components/link-list/_component-link-list.scss +45 -45
  172. package/dist/templates/nextjs-sxa/src/assets/sass/components/link-list/_list-vertical.scss +20 -20
  173. package/dist/templates/nextjs-sxa/src/assets/sass/components/link-list/index.scss +2 -2
  174. package/dist/templates/nextjs-sxa/src/assets/sass/components/navigation/_navigation-fat.scss +58 -58
  175. package/dist/templates/nextjs-sxa/src/assets/sass/components/navigation/_navigation-main-horizontal-vertical.scss +176 -176
  176. package/dist/templates/nextjs-sxa/src/assets/sass/components/navigation/_navigation-mobile.scss +85 -85
  177. package/dist/templates/nextjs-sxa/src/assets/sass/components/navigation/_navigation-sidebar.scss +29 -29
  178. package/dist/templates/nextjs-sxa/src/assets/sass/components/navigation/_sitemap-navigation.scss +20 -20
  179. package/dist/templates/nextjs-sxa/src/assets/sass/components/navigation/index.scss +5 -5
  180. package/dist/templates/nextjs-sxa/src/assets/sass/components/promo/_absolute-bottom-link.scss +8 -8
  181. package/dist/templates/nextjs-sxa/src/assets/sass/components/promo/_promo-hero.scss +40 -40
  182. package/dist/templates/nextjs-sxa/src/assets/sass/components/promo/_promo-shadow.scss +42 -42
  183. package/dist/templates/nextjs-sxa/src/assets/sass/components/promo/index.scss +3 -3
  184. package/dist/templates/nextjs-sxa/src/assets/sass/components/rich-text/_rich-text-lists.scss +63 -63
  185. package/dist/templates/nextjs-sxa/src/assets/sass/components/rich-text/index.scss +1 -1
  186. package/dist/templates/nextjs-sxa/src/assets/sass/components/spacing/_background-colors.scss +14 -14
  187. package/dist/templates/nextjs-sxa/src/assets/sass/components/spacing/_indent.scss +13 -13
  188. package/dist/templates/nextjs-sxa/src/assets/sass/components/spacing/index.scss +2 -2
  189. package/dist/templates/nextjs-sxa/src/assets/sass/components/title/_component-title.scss +30 -30
  190. package/dist/templates/nextjs-sxa/src/assets/sass/components/title/index.scss +1 -1
  191. package/dist/templates/nextjs-sxa/src/assets/sass/main.scss +4 -4
  192. package/dist/templates/nextjs-sxa/src/assets/sass/variants/index.scss +5 -5
  193. package/dist/templates/nextjs-xmcloud/.env +19 -19
  194. package/dist/templates/nextjs-xmcloud/package.json +8 -8
  195. package/dist/templates/node-headless-ssr-experience-edge/README.md +56 -56
  196. package/dist/templates/node-headless-ssr-experience-edge/package.json +34 -34
  197. package/dist/templates/node-headless-ssr-experience-edge/tsconfig.json +22 -22
  198. package/dist/templates/node-headless-ssr-proxy/.vscode/launch.json +47 -47
  199. package/dist/templates/node-headless-ssr-proxy/LICENSE.txt +202 -202
  200. package/dist/templates/node-headless-ssr-proxy/README.md +65 -65
  201. package/dist/templates/node-headless-ssr-proxy/package.json +39 -39
  202. package/dist/templates/node-headless-ssr-proxy/src/error.html +200 -200
  203. package/dist/templates/node-headless-ssr-proxy/tsconfig.json +22 -22
  204. package/dist/templates/react/.prettierrc +9 -9
  205. package/dist/templates/react/LICENSE.txt +202 -202
  206. package/dist/templates/react/README.md +2402 -2402
  207. package/dist/templates/react/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  208. package/dist/templates/react/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  209. package/dist/templates/react/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  210. package/dist/templates/react/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  211. package/dist/templates/react/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  212. package/dist/templates/react/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  213. package/dist/templates/react/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  214. package/dist/templates/react/data/dictionary/en.yml +4 -4
  215. package/dist/templates/react/data/dictionary/{{language}}.yml +4 -4
  216. package/dist/templates/react/data/routes/en.yml +61 -61
  217. package/dist/templates/react/data/routes/graphql/en.yml +27 -27
  218. package/dist/templates/react/data/routes/graphql/sample-1/en.yml +9 -9
  219. package/dist/templates/react/data/routes/graphql/sample-2/en.yml +9 -9
  220. package/dist/templates/react/data/routes/styleguide/custom-route-type/en.yml +12 -12
  221. package/dist/templates/react/data/routes/styleguide/en.yml +263 -263
  222. package/dist/templates/react/data/routes/styleguide/{{language}}.yml +26 -26
  223. package/dist/templates/react/data/routes/{{language}}.yml +4 -4
  224. package/dist/templates/react/gitignore +25 -25
  225. package/dist/templates/react/package.json +5 -5
  226. package/dist/templates/react/public/index.html +35 -35
  227. package/dist/templates/react/sitecore/config/{{appName}}.config +90 -90
  228. package/dist/templates/react/sitecore/definitions/components/graphql/GraphQL-IntegratedDemo.sitecore.graphql +71 -71
  229. package/dist/templates/react/sitecore/gitignore +2 -2
  230. package/dist/templates/react/src/assets/sc_logo.svg +52 -52
  231. package/dist/templates/react/src/components/graphql/query.graphql +69 -69
  232. package/dist/templates/react/src/temp/GraphQLFragmentTypes.json +207 -207
  233. package/dist/templates/react/src/temp/gitignore +3 -3
  234. package/dist/templates/react-native/.buckconfig +6 -6
  235. package/dist/templates/react-native/.eslintrc +74 -74
  236. package/dist/templates/react-native/.gitattributes +1 -1
  237. package/dist/templates/react-native/.prettierrc +9 -9
  238. package/dist/templates/react-native/.vscode/launch.json +42 -42
  239. package/dist/templates/react-native/.vscode/settings.json +1 -1
  240. package/dist/templates/react-native/LICENSE.txt +202 -202
  241. package/dist/templates/react-native/README.MD +115 -115
  242. package/dist/templates/react-native/android/app/BUCK +55 -55
  243. package/dist/templates/react-native/android/app/build.gradle +201 -201
  244. package/dist/templates/react-native/android/app/build_defs.bzl +19 -19
  245. package/dist/templates/react-native/android/app/proguard-rules.pro +10 -10
  246. package/dist/templates/react-native/android/app/src/debug/AndroidManifest.xml +8 -8
  247. package/dist/templates/react-native/android/app/src/main/AndroidManifest.xml +26 -26
  248. package/dist/templates/react-native/android/app/src/main/java/com/{{appName}}/MainActivity.java +15 -15
  249. package/dist/templates/react-native/android/app/src/main/java/com/{{appName}}/MainApplication.java +74 -74
  250. package/dist/templates/react-native/android/app/src/main/res/values/strings.xml +3 -3
  251. package/dist/templates/react-native/android/app/src/main/res/values/styles.xml +9 -9
  252. package/dist/templates/react-native/android/build.gradle +38 -38
  253. package/dist/templates/react-native/android/gradle/wrapper/gradle-wrapper.properties +5 -5
  254. package/dist/templates/react-native/android/gradle.properties +21 -21
  255. package/dist/templates/react-native/android/gradlew +188 -188
  256. package/dist/templates/react-native/android/gradlew.bat +100 -100
  257. package/dist/templates/react-native/android/settings.gradle +3 -3
  258. package/dist/templates/react-native/app.json +3 -3
  259. package/dist/templates/react-native/assets/img/sc_logo.svg +52 -52
  260. package/dist/templates/react-native/data/content/Styleguide/ItemLinkField/Item1/en.json +10 -10
  261. package/dist/templates/react-native/data/routes/en.json +22 -22
  262. package/dist/templates/react-native/data/routes/styleguide/en.json +227 -227
  263. package/dist/templates/react-native/data/routes/styleguide/{{language}}.json +31 -31
  264. package/dist/templates/react-native/data/routes/{{language}}.json +7 -7
  265. package/dist/templates/react-native/gitignore +60 -60
  266. package/dist/templates/react-native/ios/Podfile +53 -53
  267. package/dist/templates/react-native/ios/{{appName}}/AppDelegate.h +15 -15
  268. package/dist/templates/react-native/ios/{{appName}}/AppDelegate.m +42 -42
  269. package/dist/templates/react-native/ios/{{appName}}/Base.lproj/LaunchScreen.xib +42 -42
  270. package/dist/templates/react-native/ios/{{appName}}/Images.xcassets/AppIcon.appiconset/Contents.json +38 -38
  271. package/dist/templates/react-native/ios/{{appName}}/Images.xcassets/Contents.json +6 -6
  272. package/dist/templates/react-native/ios/{{appName}}/Info.plist +57 -57
  273. package/dist/templates/react-native/ios/{{appName}}/main.m +16 -16
  274. package/dist/templates/react-native/ios/{{appName}}-tvOS/Info.plist +53 -53
  275. package/dist/templates/react-native/ios/{{appName}}-tvOSTests/Info.plist +24 -24
  276. package/dist/templates/react-native/ios/{{appName}}.xcodeproj/xcshareddata/xcschemes/BasicSampleReactNative-tvOS.xcscheme +129 -129
  277. package/dist/templates/react-native/ios/{{appName}}.xcodeproj/xcshareddata/xcschemes/BasicSampleReactNative.xcscheme +129 -129
  278. package/dist/templates/react-native/ios/{{appName}}Tests/BasicSampleReactNativeTests.m +72 -72
  279. package/dist/templates/react-native/ios/{{appName}}Tests/Info.plist +24 -24
  280. package/dist/templates/react-native/package.json +78 -78
  281. package/dist/templates/react-native/sitecore/config/{{appName}}.config +47 -47
  282. package/dist/templates/react-native/sitecore/gitignore +2 -2
  283. package/dist/templates/vue/.browserslistrc +2 -2
  284. package/dist/templates/vue/.prettierrc +9 -9
  285. package/dist/templates/vue/LICENSE.txt +202 -202
  286. package/dist/templates/vue/README.md +36 -36
  287. package/dist/templates/vue/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  288. package/dist/templates/vue/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  289. package/dist/templates/vue/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  290. package/dist/templates/vue/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  291. package/dist/templates/vue/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  292. package/dist/templates/vue/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  293. package/dist/templates/vue/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  294. package/dist/templates/vue/data/dictionary/en.yml +7 -7
  295. package/dist/templates/vue/data/dictionary/{{language}}.yml +7 -7
  296. package/dist/templates/vue/data/routes/en.yml +63 -63
  297. package/dist/templates/vue/data/routes/graphql/en.yml +34 -34
  298. package/dist/templates/vue/data/routes/graphql/sample-1/en.yml +9 -9
  299. package/dist/templates/vue/data/routes/graphql/sample-2/en.yml +9 -9
  300. package/dist/templates/vue/data/routes/styleguide/custom-route-type/en.yml +12 -12
  301. package/dist/templates/vue/data/routes/styleguide/en.yml +264 -264
  302. package/dist/templates/vue/data/routes/styleguide/{{language}}.yml +26 -26
  303. package/dist/templates/vue/data/routes/{{language}}.yml +4 -4
  304. package/dist/templates/vue/gitignore +25 -25
  305. package/dist/templates/vue/package.json +90 -90
  306. package/dist/templates/vue/public/img/icons/safari-pinned-tab.svg +75 -75
  307. package/dist/templates/vue/public/index.html +27 -27
  308. package/dist/templates/vue/public/manifest.json +14 -14
  309. package/dist/templates/vue/public/robots.txt +2 -2
  310. package/dist/templates/vue/sitecore/config/{{appName}}.config +89 -89
  311. package/dist/templates/vue/sitecore/definitions/components/GraphQL-IntegratedDemo.sitecore.graphql +71 -71
  312. package/dist/templates/vue/sitecore/gitignore +4 -4
  313. package/dist/templates/vue/src/assets/app.css +30 -30
  314. package/dist/templates/vue/src/assets/sc_logo.svg +52 -52
  315. package/dist/templates/vue/src/components/GraphQL/GraphQL-ConnectedDemo.query.graphql +69 -69
  316. package/dist/templates/vue/src/temp/GraphQLFragmentTypes.json +273 -273
  317. package/dist/templates/vue/src/temp/gitignore +3 -3
  318. package/package.json +4 -2
@@ -1,71 +1,71 @@
1
- # This file contains a GraphQL query that will be executed and the result provided to
2
- # your JSS component. You can run this query in GraphiQL ($endpoint/ui) for a nice editing experience.
3
-
4
- # Note that we're executing _two queries_ (datasource and contextItem)
5
- # within the context of the IntegratedDemoQuery _operation_. This makes it
6
- # very efficient at gathering data from multiple sources.
7
-
8
- query IntegratedDemoQuery($datasource: String!, $contextItem: String!, $language: String!) {
9
- # Datasource query
10
- # $datasource will always be set to the ID of the rendering's datasource item
11
- # (as long as the GraphQLData helper is used)
12
- datasource: item(path: $datasource, language: $language) {
13
- id
14
- name
15
- # Strongly-typed querying on known templates is possible!
16
- ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>GraphQLIntegratedDemo {
17
- # Single-line text field
18
- sample1 {
19
- # the 'jsonValue' field is a JSON blob that represents the object that
20
- # should be passed to JSS field rendering helpers (i.e. text, image, link)
21
- jsonValue
22
- value
23
- }
24
- # General Link field
25
- sample2 {
26
- jsonValue
27
- # Structured querying of the field's values is possible
28
- text
29
- target
30
- url
31
- # Access to the template definition is possible
32
- definition {
33
- type
34
- shared
35
- }
36
- }
37
- }
38
- }
39
-
40
- # Context/route item query
41
- # $contextItem will always be set to the ID of the current context item (the route item)
42
- # (as long as the GraphQLData helper is used)
43
- contextItem: item(path: $contextItem, language: $language) {
44
- id
45
- # Get the page title from the app route template
46
- ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute {
47
- pageTitle {
48
- value
49
- }
50
- }
51
-
52
- # List the children of the current route
53
- children(hasLayout: true) {
54
- results {
55
- id
56
- # typing fragments can be used anywhere!
57
- # so in this case, we're grabbing the 'pageTitle'
58
- # field on all child route items.
59
- ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute {
60
- pageTitle {
61
- jsonValue
62
- value
63
- }
64
- }
65
- url{
66
- path
67
- }
68
- }
69
- }
70
- }
71
- }
1
+ # This file contains a GraphQL query that will be executed and the result provided to
2
+ # your JSS component. You can run this query in GraphiQL ($endpoint/ui) for a nice editing experience.
3
+
4
+ # Note that we're executing _two queries_ (datasource and contextItem)
5
+ # within the context of the IntegratedDemoQuery _operation_. This makes it
6
+ # very efficient at gathering data from multiple sources.
7
+
8
+ query IntegratedDemoQuery($datasource: String!, $contextItem: String!, $language: String!) {
9
+ # Datasource query
10
+ # $datasource will always be set to the ID of the rendering's datasource item
11
+ # (as long as the GraphQLData helper is used)
12
+ datasource: item(path: $datasource, language: $language) {
13
+ id
14
+ name
15
+ # Strongly-typed querying on known templates is possible!
16
+ ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>GraphQLIntegratedDemo {
17
+ # Single-line text field
18
+ sample1 {
19
+ # the 'jsonValue' field is a JSON blob that represents the object that
20
+ # should be passed to JSS field rendering helpers (i.e. text, image, link)
21
+ jsonValue
22
+ value
23
+ }
24
+ # General Link field
25
+ sample2 {
26
+ jsonValue
27
+ # Structured querying of the field's values is possible
28
+ text
29
+ target
30
+ url
31
+ # Access to the template definition is possible
32
+ definition {
33
+ type
34
+ shared
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ # Context/route item query
41
+ # $contextItem will always be set to the ID of the current context item (the route item)
42
+ # (as long as the GraphQLData helper is used)
43
+ contextItem: item(path: $contextItem, language: $language) {
44
+ id
45
+ # Get the page title from the app route template
46
+ ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute {
47
+ pageTitle {
48
+ value
49
+ }
50
+ }
51
+
52
+ # List the children of the current route
53
+ children(hasLayout: true) {
54
+ results {
55
+ id
56
+ # typing fragments can be used anywhere!
57
+ # so in this case, we're grabbing the 'pageTitle'
58
+ # field on all child route items.
59
+ ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute {
60
+ pageTitle {
61
+ jsonValue
62
+ value
63
+ }
64
+ }
65
+ url{
66
+ path
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }
@@ -1,3 +1,3 @@
1
- manifest
2
- package
3
- update-package
1
+ manifest
2
+ package
3
+ update-package
@@ -1,69 +1,69 @@
1
- # This file contains a GraphQL query that will be executed and the result provided to
2
- # your JSS component. You can run this query in GraphiQL ($endpoint/ui) for a nice editing experience.
3
-
4
- # Note that we're executing _two queries_ (datasource and contextItem)
5
- # within the context of the ConnectedDemoQuery _operation_. This makes it
6
- # very efficient at gathering data from multiple sources.
7
-
8
- query ConnectedDemoQuery($datasource: String!, $contextItem: String!, $language: String!) {
9
- # Datasource query
10
- # $datasource should be set to the ID of the rendering's datasource item
11
- datasource: item(path: $datasource, language: $language) {
12
- id
13
- name
14
- # Strongly-typed querying on known templates is possible!
15
- ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>GraphQLConnectedDemo {
16
- # Single-line text field
17
- sample1 {
18
- # the 'jsonValue' field is a JSON blob that represents the object that
19
- # should be passed to JSS field rendering helpers (i.e. text, image, link)
20
- jsonValue
21
- value
22
- }
23
- # General Link field
24
- sample2 {
25
- jsonValue
26
- # Structured querying of the field's values is possible
27
- text
28
- target
29
- url
30
- # Access to the template definition is possible
31
- definition {
32
- type
33
- shared
34
- }
35
- }
36
- }
37
- }
38
-
39
- # Context/route item query
40
- # $contextItem should be set to the ID of the current context item (the route item)
41
- contextItem: item(path: $contextItem, language: $language) {
42
- id
43
- # Get the page title from the app route template
44
- ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute {
45
- pageTitle {
46
- value
47
- }
48
- }
49
-
50
- # List the children of the current route
51
- children(hasLayout: true) {
52
- results {
53
- id
54
- # typing fragments can be used anywhere!
55
- # so in this case, we're grabbing the 'pageTitle'
56
- # field on all child route items.
57
- ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute {
58
- pageTitle {
59
- jsonValue
60
- value
61
- }
62
- }
63
- url{
64
- path
65
- }
66
- }
67
- }
68
- }
69
- }
1
+ # This file contains a GraphQL query that will be executed and the result provided to
2
+ # your JSS component. You can run this query in GraphiQL ($endpoint/ui) for a nice editing experience.
3
+
4
+ # Note that we're executing _two queries_ (datasource and contextItem)
5
+ # within the context of the ConnectedDemoQuery _operation_. This makes it
6
+ # very efficient at gathering data from multiple sources.
7
+
8
+ query ConnectedDemoQuery($datasource: String!, $contextItem: String!, $language: String!) {
9
+ # Datasource query
10
+ # $datasource should be set to the ID of the rendering's datasource item
11
+ datasource: item(path: $datasource, language: $language) {
12
+ id
13
+ name
14
+ # Strongly-typed querying on known templates is possible!
15
+ ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>GraphQLConnectedDemo {
16
+ # Single-line text field
17
+ sample1 {
18
+ # the 'jsonValue' field is a JSON blob that represents the object that
19
+ # should be passed to JSS field rendering helpers (i.e. text, image, link)
20
+ jsonValue
21
+ value
22
+ }
23
+ # General Link field
24
+ sample2 {
25
+ jsonValue
26
+ # Structured querying of the field's values is possible
27
+ text
28
+ target
29
+ url
30
+ # Access to the template definition is possible
31
+ definition {
32
+ type
33
+ shared
34
+ }
35
+ }
36
+ }
37
+ }
38
+
39
+ # Context/route item query
40
+ # $contextItem should be set to the ID of the current context item (the route item)
41
+ contextItem: item(path: $contextItem, language: $language) {
42
+ id
43
+ # Get the page title from the app route template
44
+ ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute {
45
+ pageTitle {
46
+ value
47
+ }
48
+ }
49
+
50
+ # List the children of the current route
51
+ children(hasLayout: true) {
52
+ results {
53
+ id
54
+ # typing fragments can be used anywhere!
55
+ # so in this case, we're grabbing the 'pageTitle'
56
+ # field on all child route items.
57
+ ...on <%- helper.getAppPrefix(appPrefix, appName, false) %>AppRoute {
58
+ pageTitle {
59
+ jsonValue
60
+ value
61
+ }
62
+ }
63
+ url{
64
+ path
65
+ }
66
+ }
67
+ }
68
+ }
69
+ }
@@ -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>
@@ -1,11 +1,11 @@
1
- {
2
- "dependencies": {
3
- "bootstrap": "^5.1.3",
4
- "font-awesome": "^4.7.0",
5
- "sass": "^1.52.3",
6
- "sass-alias": "^1.0.5"
7
- },
8
- "scripts": {
9
- "scaffold": "ts-node --project tsconfig.scripts.json scripts/scaffold-component/index.ts"
10
- }
11
- }
1
+ {
2
+ "dependencies": {
3
+ "bootstrap": "^5.1.3",
4
+ "font-awesome": "^4.7.0",
5
+ "sass": "^1.52.3",
6
+ "sass-alias": "^1.0.5"
7
+ },
8
+ "scripts": {
9
+ "scaffold": "ts-node --project tsconfig.scripts.json scripts/scaffold-component/index.ts"
10
+ }
11
+ }
@@ -1,48 +1,48 @@
1
- .component-content {
2
- @include respond-to(mobile-large) {
3
- .row {
4
- padding: 0;
5
- margin: 0;
6
- }
7
- }
8
- }
9
- @include respond-to(mobile-large) {
10
- .row {
11
- margin: 0;
12
- padding: 0;
13
- > * {
14
- padding: 0;
15
- margin: 0;
16
- }
17
- }
18
- }
19
-
20
- .hero-banner {
21
- .component-content {
22
- background-position: center;
23
- background-repeat: no-repeat;
24
- background-size: cover;
25
- height: 800px;
26
-
27
- @include respond-to(mobile-large) {
28
- height: 300px;
29
- }
30
- }
31
- .sc-image-wrapper {
32
- opacity: 0;
33
- }
34
- &.scEnabledChrome {
35
- &.hero-banner-empty {
36
- .sc-image-wrapper {
37
- display: block;
38
- width: 100%;
39
-
40
- .scEmptyImage {
41
- max-height: 800px;
42
- max-width: 100%;
43
- width: 100%;
44
- }
45
- }
46
- }
47
- }
48
- }
1
+ .component-content {
2
+ @include respond-to(mobile-large) {
3
+ .row {
4
+ padding: 0;
5
+ margin: 0;
6
+ }
7
+ }
8
+ }
9
+ @include respond-to(mobile-large) {
10
+ .row {
11
+ margin: 0;
12
+ padding: 0;
13
+ > * {
14
+ padding: 0;
15
+ margin: 0;
16
+ }
17
+ }
18
+ }
19
+
20
+ .hero-banner {
21
+ .component-content {
22
+ background-position: center;
23
+ background-repeat: no-repeat;
24
+ background-size: cover;
25
+ height: 800px;
26
+
27
+ @include respond-to(mobile-large) {
28
+ height: 300px;
29
+ }
30
+ }
31
+ .sc-image-wrapper {
32
+ opacity: 0;
33
+ }
34
+ &.scEnabledChrome {
35
+ &.hero-banner-empty {
36
+ .sc-image-wrapper {
37
+ display: block;
38
+ width: 100%;
39
+
40
+ .scEmptyImage {
41
+ max-height: 800px;
42
+ max-width: 100%;
43
+ width: 100%;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
@@ -1,64 +1,64 @@
1
- @import "@sass/abstracts/mixins";
2
- @import "variables";
3
-
4
- body {
5
- font-family: Roboto;
6
- color: $main-color;
7
- }
8
-
9
-
10
- @media (min-width: 1400px) {
11
- .container {
12
- max-width: 1250px;
13
- }
14
- }
15
-
16
- main {
17
- .main-header {
18
- margin-top: 55px;
19
- margin-bottom: 30px;
20
-
21
- @include respond-to(mobile-large) {
22
- margin-bottom: 0;
23
- }
24
-
25
- h4 {
26
- font-size: $text-size-50;
27
- font-weight: 500;
28
- line-height: 70px;
29
- }
30
- }
31
-
32
- .main-news-header {
33
- margin-top: 60px;
34
-
35
- h2 {
36
- font-size: $text-size-36;
37
- line-height: 43px;
38
- }
39
- }
40
-
41
- @include respond-to(mobile-large) {
42
- padding-top: 0;
43
- margin-bottom: 0;
44
-
45
- .main-header {
46
- margin-top: 10px;
47
-
48
- h4 {
49
- font-size: $text-size-24;
50
- line-height: 32px;
51
- }
52
- }
53
-
54
- .main-news-header {
55
- padding-bottom: 35px;
56
-
57
- h2 {
58
- margin-top: 0;
59
- font-size: $text-size-18;
60
- line-height: 22px;
61
- }
62
- }
63
- }
64
- }
1
+ @import "@sass/abstracts/mixins";
2
+ @import "variables";
3
+
4
+ body {
5
+ font-family: Roboto;
6
+ color: $main-color;
7
+ }
8
+
9
+
10
+ @media (min-width: 1400px) {
11
+ .container {
12
+ max-width: 1250px;
13
+ }
14
+ }
15
+
16
+ main {
17
+ .main-header {
18
+ margin-top: 55px;
19
+ margin-bottom: 30px;
20
+
21
+ @include respond-to(mobile-large) {
22
+ margin-bottom: 0;
23
+ }
24
+
25
+ h4 {
26
+ font-size: $text-size-50;
27
+ font-weight: 500;
28
+ line-height: 70px;
29
+ }
30
+ }
31
+
32
+ .main-news-header {
33
+ margin-top: 60px;
34
+
35
+ h2 {
36
+ font-size: $text-size-36;
37
+ line-height: 43px;
38
+ }
39
+ }
40
+
41
+ @include respond-to(mobile-large) {
42
+ padding-top: 0;
43
+ margin-bottom: 0;
44
+
45
+ .main-header {
46
+ margin-top: 10px;
47
+
48
+ h4 {
49
+ font-size: $text-size-24;
50
+ line-height: 32px;
51
+ }
52
+ }
53
+
54
+ .main-news-header {
55
+ padding-bottom: 35px;
56
+
57
+ h2 {
58
+ margin-top: 0;
59
+ font-size: $text-size-18;
60
+ line-height: 22px;
61
+ }
62
+ }
63
+ }
64
+ }
@@ -1,3 +1,3 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
2
- /* FontAwesome */
3
- @import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');
1
+ @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
2
+ /* FontAwesome */
3
+ @import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');
@@ -1,31 +1,31 @@
1
- @import "@sass/abstracts/mixins";
2
- @import "variables";
3
-
4
- footer {
5
- @include respond-to(mobile-large) {
6
- padding-top: 0;
7
- }
8
- .container-dark-background {
9
- background-color: #262626;
10
- }
11
-
12
- .contacts {
13
- font-size: $text-size-14;
14
-
15
- a {
16
- color: $text-white;
17
- }
18
-
19
- p, span {
20
- color: $text-white;
21
- }
22
- }
23
-
24
- .indent-inner {
25
- padding: 65px;
26
-
27
- @include respond-to(mobile-large) {
28
- padding: 40px 0;
29
- }
30
- }
31
- }
1
+ @import "@sass/abstracts/mixins";
2
+ @import "variables";
3
+
4
+ footer {
5
+ @include respond-to(mobile-large) {
6
+ padding-top: 0;
7
+ }
8
+ .container-dark-background {
9
+ background-color: #262626;
10
+ }
11
+
12
+ .contacts {
13
+ font-size: $text-size-14;
14
+
15
+ a {
16
+ color: $text-white;
17
+ }
18
+
19
+ p, span {
20
+ color: $text-white;
21
+ }
22
+ }
23
+
24
+ .indent-inner {
25
+ padding: 65px;
26
+
27
+ @include respond-to(mobile-large) {
28
+ padding: 40px 0;
29
+ }
30
+ }
31
+ }