create-sitecore-jss 22.10.0-canary.9 → 22.10.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 (229) hide show
  1. package/LICENSE.MD +202 -202
  2. package/README.md +10 -10
  3. package/dist/templates/angular/package.json +24 -25
  4. package/dist/templates/angular/scripts/generate-component-factory/template.ts +1 -3
  5. package/dist/templates/angular/server.bundle.ts +3 -2
  6. package/dist/templates/angular/src/app/ViewBag.ts +4 -0
  7. package/dist/templates/angular/src/app/app.component.ts +10 -9
  8. package/dist/templates/angular/src/app/app.module.ts +3 -1
  9. package/dist/templates/angular/src/app/app.server.module.ts +4 -5
  10. package/dist/templates/angular/src/app/components/app-components.shared.module.ts +16 -3
  11. package/dist/templates/angular/src/app/components/content-block/content-block.component.ts +2 -1
  12. package/dist/templates/angular/src/app/i18n/jss-translation-client-loader.service.ts +3 -2
  13. package/dist/templates/angular/src/app/i18n/jss-translation-server-loader.service.ts +6 -4
  14. package/dist/templates/angular/src/app/injection-tokens.ts +13 -0
  15. package/dist/templates/angular/src/app/jss-context.server-side.service.ts +8 -10
  16. package/dist/templates/angular/src/app/jss-context.service.ts +6 -4
  17. package/dist/templates/angular/src/app/jss-graphql.module.ts +58 -48
  18. package/dist/templates/angular/src/app/jss-graphql.service.ts +6 -6
  19. package/dist/templates/angular/src/app/jss-meta.service.ts +3 -2
  20. package/dist/templates/angular/src/app/routing/layout/layout.component.ts +10 -4
  21. package/dist/templates/angular/src/app/routing/navigation/navigation.component.ts +3 -0
  22. package/dist/templates/angular/src/app/routing/not-found/not-found.component.ts +1 -1
  23. package/dist/templates/angular/src/app/routing/routing.module.ts +3 -4
  24. package/dist/templates/angular/src/app/routing/scripts/scripts.module.ts +1 -1
  25. package/dist/templates/angular/src/assets/images/sc_logo.svg +52 -52
  26. package/dist/templates/angular-sxp/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  27. package/dist/templates/angular-sxp/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  28. package/dist/templates/angular-sxp/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  29. package/dist/templates/angular-sxp/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  30. package/dist/templates/angular-sxp/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  31. package/dist/templates/angular-sxp/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  32. package/dist/templates/angular-sxp/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  33. package/dist/templates/angular-sxp/data/dictionary/en.yml +4 -4
  34. package/dist/templates/angular-sxp/data/dictionary/{{language}}.yml +4 -4
  35. package/dist/templates/angular-sxp/data/routes/en.yml +61 -61
  36. package/dist/templates/angular-sxp/data/routes/graphql/en.yml +27 -27
  37. package/dist/templates/angular-sxp/data/routes/graphql/sample-1/en.yml +9 -9
  38. package/dist/templates/angular-sxp/data/routes/graphql/sample-2/en.yml +9 -9
  39. package/dist/templates/angular-sxp/data/routes/styleguide/custom-route-type/en.yml +12 -12
  40. package/dist/templates/angular-sxp/data/routes/styleguide/en.yml +271 -271
  41. package/dist/templates/angular-sxp/data/routes/styleguide/{{language}}.yml +25 -25
  42. package/dist/templates/angular-sxp/data/routes/{{language}}.yml +4 -4
  43. package/dist/templates/angular-sxp/sitecore/config/{{appName}}.config +90 -90
  44. package/dist/templates/angular-sxp/sitecore/definitions/components/graph-ql-integrated-demo.sitecore.graphql +71 -71
  45. package/dist/templates/angular-sxp/sitecore/gitignore +2 -2
  46. package/dist/templates/angular-sxp/src/app/components/app-components.shared.module.ts +1 -3
  47. package/dist/templates/angular-sxp/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.html +41 -39
  48. package/dist/templates/angular-sxp/src/app/components/graph-ql-connected-demo/graph-ql-connected-demo.component.ts +5 -3
  49. package/dist/templates/angular-sxp/src/app/components/graph-ql-integrated-demo/graph-ql-integrated-demo.component.html +6 -4
  50. package/dist/templates/angular-sxp/src/app/components/graph-ql-integrated-demo/graph-ql-integrated-demo.component.ts +4 -4
  51. package/dist/templates/angular-sxp/src/app/components/graph-ql-layout/graph-ql-layout.component.html +3 -4
  52. package/dist/templates/angular-sxp/src/app/components/graph-ql-layout/graph-ql-layout.component.ts +4 -4
  53. package/dist/templates/angular-sxp/src/app/components/shared/styleguide-specimen/styleguide-specimen.component.ts +3 -4
  54. package/dist/templates/angular-sxp/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.component.ts +5 -5
  55. package/dist/templates/angular-sxp/src/app/components/styleguide-angular-lazy-loading/styleguide-angular-lazy-loading.module.ts +2 -5
  56. package/dist/templates/angular-sxp/src/app/components/styleguide-component-params/styleguide-component-params.component.html +8 -4
  57. package/dist/templates/angular-sxp/src/app/components/styleguide-component-params/styleguide-component-params.component.ts +2 -2
  58. package/dist/templates/angular-sxp/src/app/components/styleguide-custom-route-type/styleguide-custom-route-type.component.ts +5 -5
  59. package/dist/templates/angular-sxp/src/app/components/styleguide-edit-frame/styleguide-edit-frame.component.html +7 -3
  60. package/dist/templates/angular-sxp/src/app/components/styleguide-edit-frame/styleguide-edit-frame.component.ts +13 -4
  61. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-checkbox/styleguide-field-usage-checkbox.component.ts +2 -2
  62. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-content-list/styleguide-field-usage-content-list.component.html +20 -16
  63. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-content-list/styleguide-field-usage-content-list.component.ts +20 -3
  64. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-custom/styleguide-field-usage-custom.component.ts +2 -0
  65. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-date/styleguide-field-usage-date.component.ts +4 -1
  66. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-file/styleguide-field-usage-file.component.ts +3 -1
  67. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-image/styleguide-field-usage-image.component.ts +3 -1
  68. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-item-link/styleguide-field-usage-item-link.component.html +4 -4
  69. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-item-link/styleguide-field-usage-item-link.component.ts +4 -1
  70. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-link/styleguide-field-usage-link.component.ts +3 -1
  71. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-number/styleguide-field-usage-number.component.ts +2 -0
  72. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-rich-text/styleguide-field-usage-rich-text.component.ts +3 -1
  73. package/dist/templates/angular-sxp/src/app/components/styleguide-field-usage-text/styleguide-field-usage-text.component.ts +3 -1
  74. package/dist/templates/angular-sxp/src/app/components/styleguide-layout/styleguide-layout.component.html +12 -8
  75. package/dist/templates/angular-sxp/src/app/components/styleguide-layout/styleguide-layout.component.ts +2 -4
  76. package/dist/templates/angular-sxp/src/app/components/styleguide-layout-reuse/styleguide-layout-reuse.component.ts +3 -1
  77. package/dist/templates/angular-sxp/src/app/components/styleguide-layout-tabs/styleguide-layout-tabs.component.html +18 -15
  78. package/dist/templates/angular-sxp/src/app/components/styleguide-layout-tabs/styleguide-layout-tabs.component.ts +6 -4
  79. package/dist/templates/angular-sxp/src/app/components/styleguide-layout-tabs-tab/styleguide-layout-tabs-tab.component.html +2 -2
  80. package/dist/templates/angular-sxp/src/app/components/styleguide-layout-tabs-tab/styleguide-layout-tabs-tab.component.ts +4 -4
  81. package/dist/templates/angular-sxp/src/app/components/styleguide-multilingual/styleguide-multilingual.component.ts +7 -3
  82. package/dist/templates/angular-sxp/src/app/components/styleguide-route-fields/styleguide-route-fields.component.ts +5 -4
  83. package/dist/templates/angular-sxp/src/app/components/styleguide-section/styleguide-section.component.ts +2 -1
  84. package/dist/templates/angular-sxp/src/app/components/styleguide-sitecore-context/styleguide-sitecore-context.component.ts +7 -4
  85. package/dist/templates/angular-sxp/src/app/components/styleguide-tracking/styleguide-tracking.component.html +6 -2
  86. package/dist/templates/angular-sxp/src/app/components/styleguide-tracking/styleguide-tracking.component.ts +12 -12
  87. package/dist/templates/angular-sxp/src/app/jss-data-fetcher.service.ts +4 -2
  88. package/dist/templates/angular-sxp/src/app/routing/scripts/scripts.component.ts +10 -0
  89. package/dist/templates/angular-sxp/src/app/routing/scripts/scripts.module.ts +1 -1
  90. package/dist/templates/angular-sxp/src/app/routing/scripts/visitor-identification/visitor-identification.component.ts +6 -3
  91. package/dist/templates/angular-xmcloud/scripts/generate-component-factory/template.ts +1 -3
  92. package/dist/templates/angular-xmcloud/src/app/components/app-components.shared.module.ts +1 -2
  93. package/dist/templates/angular-xmcloud/src/app/components/column-splitter/column-splitter.component.html +6 -4
  94. package/dist/templates/angular-xmcloud/src/app/components/column-splitter/column-splitter.component.ts +4 -1
  95. package/dist/templates/angular-xmcloud/src/app/components/container/container.component.html +14 -5
  96. package/dist/templates/angular-xmcloud/src/app/components/container/container.component.ts +3 -0
  97. package/dist/templates/angular-xmcloud/src/app/components/image/image.component.html +21 -23
  98. package/dist/templates/angular-xmcloud/src/app/components/image/image.component.ts +5 -5
  99. package/dist/templates/angular-xmcloud/src/app/components/link-list/link-list.component.html +11 -10
  100. package/dist/templates/angular-xmcloud/src/app/components/link-list/link-list.component.ts +3 -0
  101. package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation-item.component.html +14 -17
  102. package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation-item.component.ts +3 -3
  103. package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation.component.html +3 -6
  104. package/dist/templates/angular-xmcloud/src/app/components/navigation/navigation.component.ts +8 -5
  105. package/dist/templates/angular-xmcloud/src/app/components/page-content/page-content.component.ts +4 -4
  106. package/dist/templates/angular-xmcloud/src/app/components/partial-design-dynamic-placeholder/partial-design-dynamic-placeholder.component.ts +2 -0
  107. package/dist/templates/angular-xmcloud/src/app/components/promo/promo.component.html +4 -6
  108. package/dist/templates/angular-xmcloud/src/app/components/promo/promo.component.ts +3 -0
  109. package/dist/templates/angular-xmcloud/src/app/components/richtext/richtext.component.html +3 -4
  110. package/dist/templates/angular-xmcloud/src/app/components/richtext/richtext.component.ts +3 -0
  111. package/dist/templates/angular-xmcloud/src/app/components/row-splitter/row-splitter.component.html +10 -9
  112. package/dist/templates/angular-xmcloud/src/app/components/row-splitter/row-splitter.component.ts +3 -0
  113. package/dist/templates/angular-xmcloud/src/app/components/title/title.component.html +4 -5
  114. package/dist/templates/angular-xmcloud/src/app/components/title/title.component.ts +5 -5
  115. package/dist/templates/angular-xmcloud/src/app/jss-link.service.ts +2 -2
  116. package/dist/templates/angular-xmcloud/src/app/routing/layout/layout.component.html +38 -36
  117. package/dist/templates/angular-xmcloud/src/app/routing/layout/layout.component.ts +10 -6
  118. package/dist/templates/angular-xmcloud/src/app/routing/scripts/cdp-page-view.component.ts +2 -3
  119. package/dist/templates/angular-xmcloud/src/app/routing/scripts/cloud-sdk-init.component.ts +2 -2
  120. package/dist/templates/angular-xmcloud/src/app/routing/scripts/scripts.component.ts +13 -0
  121. package/dist/templates/angular-xmcloud/src/app/routing/scripts/scripts.module.ts +1 -2
  122. package/dist/templates/nextjs/public/sc_logo.svg +52 -52
  123. package/dist/templates/nextjs-styleguide/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  124. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  125. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  126. package/dist/templates/nextjs-styleguide/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  127. package/dist/templates/nextjs-styleguide/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  128. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  129. package/dist/templates/nextjs-styleguide/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  130. package/dist/templates/nextjs-styleguide/data/dictionary/en.yml +4 -4
  131. package/dist/templates/nextjs-styleguide/data/dictionary/{{language}}.yml +4 -4
  132. package/dist/templates/nextjs-styleguide/data/routes/en.yml +63 -63
  133. package/dist/templates/nextjs-styleguide/data/routes/graphql/en.yml +27 -27
  134. package/dist/templates/nextjs-styleguide/data/routes/graphql/sample-1/en.yml +9 -9
  135. package/dist/templates/nextjs-styleguide/data/routes/graphql/sample-2/en.yml +9 -9
  136. package/dist/templates/nextjs-styleguide/data/routes/styleguide/custom-route-type/en.yml +12 -12
  137. package/dist/templates/nextjs-styleguide/data/routes/styleguide/en.yml +259 -259
  138. package/dist/templates/nextjs-styleguide/data/routes/styleguide/{{language}}.yml +25 -25
  139. package/dist/templates/nextjs-styleguide/data/routes/{{language}}.yml +4 -4
  140. package/dist/templates/nextjs-styleguide-tracking/data/dictionary/en.yml +5 -5
  141. package/dist/templates/nextjs-styleguide-tracking/data/routes/tracking/en.yml +8 -8
  142. package/dist/templates/nextjs-sxa/src/assets/sass/components/_component-column-splitter.scss +14 -14
  143. package/dist/templates/nextjs-sxa/src/assets/sass/components/promo/_promo-shadow.scss +42 -42
  144. package/dist/templates/react/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  145. package/dist/templates/react/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  146. package/dist/templates/react/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  147. package/dist/templates/react/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  148. package/dist/templates/react/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  149. package/dist/templates/react/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  150. package/dist/templates/react/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  151. package/dist/templates/react/data/dictionary/en.yml +4 -4
  152. package/dist/templates/react/data/dictionary/{{language}}.yml +4 -4
  153. package/dist/templates/react/data/routes/en.yml +61 -61
  154. package/dist/templates/react/data/routes/graphql/en.yml +27 -27
  155. package/dist/templates/react/data/routes/graphql/sample-1/en.yml +9 -9
  156. package/dist/templates/react/data/routes/graphql/sample-2/en.yml +9 -9
  157. package/dist/templates/react/data/routes/styleguide/custom-route-type/en.yml +12 -12
  158. package/dist/templates/react/data/routes/styleguide/en.yml +263 -263
  159. package/dist/templates/react/data/routes/styleguide/{{language}}.yml +26 -26
  160. package/dist/templates/react/data/routes/{{language}}.yml +4 -4
  161. package/dist/templates/react-native/.buckconfig +6 -6
  162. package/dist/templates/react-native/.eslintrc +74 -74
  163. package/dist/templates/react-native/.gitattributes +1 -1
  164. package/dist/templates/react-native/.prettierrc +9 -9
  165. package/dist/templates/react-native/.vscode/launch.json +42 -42
  166. package/dist/templates/react-native/.vscode/settings.json +1 -1
  167. package/dist/templates/react-native/LICENSE.txt +202 -202
  168. package/dist/templates/react-native/README.MD +115 -115
  169. package/dist/templates/react-native/android/app/BUCK +55 -55
  170. package/dist/templates/react-native/android/app/build.gradle +201 -201
  171. package/dist/templates/react-native/android/app/build_defs.bzl +19 -19
  172. package/dist/templates/react-native/android/app/proguard-rules.pro +10 -10
  173. package/dist/templates/react-native/android/app/src/debug/AndroidManifest.xml +8 -8
  174. package/dist/templates/react-native/android/app/src/main/AndroidManifest.xml +26 -26
  175. package/dist/templates/react-native/android/app/src/main/java/com/{{appName}}/MainActivity.java +15 -15
  176. package/dist/templates/react-native/android/app/src/main/java/com/{{appName}}/MainApplication.java +74 -74
  177. package/dist/templates/react-native/android/app/src/main/res/values/strings.xml +3 -3
  178. package/dist/templates/react-native/android/app/src/main/res/values/styles.xml +9 -9
  179. package/dist/templates/react-native/android/build.gradle +38 -38
  180. package/dist/templates/react-native/android/gradle/wrapper/gradle-wrapper.properties +5 -5
  181. package/dist/templates/react-native/android/gradle.properties +21 -21
  182. package/dist/templates/react-native/android/gradlew +188 -188
  183. package/dist/templates/react-native/android/gradlew.bat +100 -100
  184. package/dist/templates/react-native/android/settings.gradle +3 -3
  185. package/dist/templates/react-native/app.json +3 -3
  186. package/dist/templates/react-native/assets/img/sc_logo.svg +52 -52
  187. package/dist/templates/react-native/data/content/Styleguide/ItemLinkField/Item1/en.json +10 -10
  188. package/dist/templates/react-native/data/routes/en.json +22 -22
  189. package/dist/templates/react-native/data/routes/styleguide/en.json +227 -227
  190. package/dist/templates/react-native/data/routes/styleguide/{{language}}.json +31 -31
  191. package/dist/templates/react-native/data/routes/{{language}}.json +7 -7
  192. package/dist/templates/react-native/gitignore +60 -60
  193. package/dist/templates/react-native/ios/Podfile +53 -53
  194. package/dist/templates/react-native/ios/{{appName}}/AppDelegate.h +15 -15
  195. package/dist/templates/react-native/ios/{{appName}}/AppDelegate.m +42 -42
  196. package/dist/templates/react-native/ios/{{appName}}/Base.lproj/LaunchScreen.xib +42 -42
  197. package/dist/templates/react-native/ios/{{appName}}/Images.xcassets/AppIcon.appiconset/Contents.json +38 -38
  198. package/dist/templates/react-native/ios/{{appName}}/Images.xcassets/Contents.json +6 -6
  199. package/dist/templates/react-native/ios/{{appName}}/Info.plist +57 -57
  200. package/dist/templates/react-native/ios/{{appName}}/main.m +16 -16
  201. package/dist/templates/react-native/ios/{{appName}}-tvOS/Info.plist +53 -53
  202. package/dist/templates/react-native/ios/{{appName}}-tvOSTests/Info.plist +24 -24
  203. package/dist/templates/react-native/ios/{{appName}}.xcodeproj/xcshareddata/xcschemes/BasicSampleReactNative-tvOS.xcscheme +129 -129
  204. package/dist/templates/react-native/ios/{{appName}}.xcodeproj/xcshareddata/xcschemes/BasicSampleReactNative.xcscheme +129 -129
  205. package/dist/templates/react-native/ios/{{appName}}Tests/BasicSampleReactNativeTests.m +72 -72
  206. package/dist/templates/react-native/ios/{{appName}}Tests/Info.plist +24 -24
  207. package/dist/templates/react-native/package.json +78 -78
  208. package/dist/templates/react-native/sitecore/config/{{appName}}.config +47 -47
  209. package/dist/templates/react-native/sitecore/gitignore +2 -2
  210. package/dist/templates/vue/data/component-content/Styleguide/ContentReuse/LoremIpsumContentBlock/en.yml +9 -9
  211. package/dist/templates/vue/data/content/Styleguide/ContentListField/Item1/en.yml +6 -6
  212. package/dist/templates/vue/data/content/Styleguide/ContentListField/Item2/en.yml +6 -6
  213. package/dist/templates/vue/data/content/Styleguide/EditFrameDemo/Item1/en.yml +6 -6
  214. package/dist/templates/vue/data/content/Styleguide/EditFrameDemo/Item2/en.yml +6 -6
  215. package/dist/templates/vue/data/content/Styleguide/ItemLinkField/Item1/en.yml +6 -6
  216. package/dist/templates/vue/data/content/Styleguide/ItemLinkField/Item2/en.yml +6 -6
  217. package/dist/templates/vue/data/dictionary/en.yml +7 -7
  218. package/dist/templates/vue/data/dictionary/{{language}}.yml +7 -7
  219. package/dist/templates/vue/data/routes/en.yml +63 -63
  220. package/dist/templates/vue/data/routes/graphql/en.yml +34 -34
  221. package/dist/templates/vue/data/routes/graphql/sample-1/en.yml +9 -9
  222. package/dist/templates/vue/data/routes/graphql/sample-2/en.yml +9 -9
  223. package/dist/templates/vue/data/routes/styleguide/custom-route-type/en.yml +12 -12
  224. package/dist/templates/vue/data/routes/styleguide/en.yml +264 -264
  225. package/dist/templates/vue/data/routes/styleguide/{{language}}.yml +26 -26
  226. package/dist/templates/vue/data/routes/{{language}}.yml +4 -4
  227. package/dist/templates/vue/public/img/icons/safari-pinned-tab.svg +75 -75
  228. package/dist/templates/vue/src/assets/sc_logo.svg +52 -52
  229. package/package.json +2 -2
@@ -1,9 +1,11 @@
1
1
  import { Component, OnInit, Input } from '@angular/core';
2
2
  import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  @Component({
5
6
  selector: 'app-styleguide-component-params',
6
7
  templateUrl: './styleguide-component-params.component.html',
8
+ imports: [StyleguideSpecimenComponent]
7
9
  })
8
10
  export class StyleguideComponentParamsComponent implements OnInit {
9
11
  @Input() rendering: ComponentRendering;
@@ -13,8 +15,6 @@ export class StyleguideComponentParamsComponent implements OnInit {
13
15
  columns: number;
14
16
  columnsArray: number[];
15
17
 
16
- constructor() { }
17
-
18
18
  ngOnInit() {
19
19
  this.cssClass = this.rendering.params.cssClass;
20
20
  this.useCta = this.rendering.params.useCallToAction;
@@ -1,22 +1,22 @@
1
- import { Component, OnInit, OnDestroy, Input } from '@angular/core';
1
+ import { Component, OnInit, OnDestroy, Input, inject } from '@angular/core';
2
2
  import { Subscription } from 'rxjs';
3
3
  import { JssContextService } from '../../jss-context.service';
4
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
4
+ import { ComponentRendering, JssModule, LayoutServiceData } from '@sitecore-jss/sitecore-jss-angular';
5
5
 
6
6
  @Component({
7
7
  selector: 'app-styleguide-custom-route-type',
8
8
  templateUrl: './styleguide-custom-route-type.component.html',
9
+ imports: [JssModule]
9
10
  })
10
11
  export class StyleguideCustomRouteTypeComponent implements OnInit, OnDestroy {
11
12
  @Input() rendering: ComponentRendering;
12
13
  contextFields: { [name: string]: unknown };
13
14
 
14
15
  private contextSubscription: Subscription;
15
-
16
- constructor(private jssContext: JssContextService) { }
16
+ private jssContext = inject(JssContextService);
17
17
 
18
18
  ngOnInit() {
19
- this.contextSubscription = this.jssContext.state.subscribe((state) => {
19
+ this.contextSubscription = this.jssContext.state.subscribe((state: LayoutServiceData) => {
20
20
  this.contextFields = state.sitecore.route.fields;
21
21
  });
22
22
  }
@@ -12,9 +12,13 @@
12
12
  <br/>
13
13
  <p [ngStyle]="{'color': (applyRed ? 'red': 'blue')}">This text will change color. Use the field edit button to change its appearance</p>
14
14
  This list can be changed via field editor:
15
- <ul>
16
- <li *ngFor="let contentItem of rendering.fields.sampleList">{{contentItem.fields.title?.value}}</li>
17
- </ul>
15
+ @if (sampleListKeys.length > 0) {
16
+ <ul>
17
+ @for (key of sampleListKeys; track key) {
18
+ <li>{{rendering.fields.sampleList[key].fields.title?.value}}</li>
19
+ }
20
+ </ul>
21
+ }
18
22
  <ng-content></ng-content>
19
23
  </sc-edit-frame>
20
24
  </app-styleguide-specimen>
@@ -1,4 +1,5 @@
1
- import { Component, OnInit, Input } from '@angular/core';
1
+ import { Component, OnInit, Input, inject } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
2
3
  import {
3
4
  ComponentRendering,
4
5
  EditFrameDataSource,
@@ -6,9 +7,11 @@ import {
6
7
  getFieldValue,
7
8
  LayoutServiceContextData,
8
9
  RouteData,
9
- WebEditButton
10
+ WebEditButton,
11
+ JssModule
10
12
  } from '@sitecore-jss/sitecore-jss-angular';
11
13
  import { JssContextService } from '../../jss-context.service';
14
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
12
15
 
13
16
  interface EditFrameProps {
14
17
  dataSource: EditFrameDataSource;
@@ -28,6 +31,7 @@ interface EditFrameProps {
28
31
  @Component({
29
32
  selector: 'app-styleguide-edit-frame',
30
33
  templateUrl: './styleguide-edit-frame.component.html',
34
+ imports: [CommonModule, JssModule, StyleguideSpecimenComponent]
31
35
  })
32
36
  export class StyleguideEditFrameComponent implements OnInit {
33
37
  @Input() rendering: ComponentRendering;
@@ -38,6 +42,7 @@ export class StyleguideEditFrameComponent implements OnInit {
38
42
  editFrameProps: EditFrameProps;
39
43
 
40
44
  applyRed: boolean;
45
+ sampleListKeys: string[] = [];
41
46
 
42
47
  editFrameButtons = [
43
48
  {
@@ -53,8 +58,7 @@ export class StyleguideEditFrameComponent implements OnInit {
53
58
  tooltip: 'Allows you to open field editor for specified fields',
54
59
  }, // or use field edit buttons to open Field Editor
55
60
  ];
56
-
57
- constructor(private jssContext: JssContextService) { }
61
+ private jssContext = inject(JssContextService);
58
62
 
59
63
  ngOnInit() {
60
64
  this.jssContext.state.subscribe((state) => {
@@ -62,6 +66,11 @@ export class StyleguideEditFrameComponent implements OnInit {
62
66
  });
63
67
  this.applyRed = getFieldValue<number>(this.rendering, 'applyRedToText') ? true: false;
64
68
  this.editFrameProps = this.getEditFrameProps(this.rendering.dataSource);
69
+
70
+ const sampleList = this.rendering?.fields?.sampleList;
71
+ if (sampleList && Array.isArray(sampleList)) {
72
+ this.sampleListKeys = sampleList.map((_, index) => index.toString());
73
+ }
65
74
  }
66
75
 
67
76
  getEditFrameProps(dataSource?: string) {
@@ -1,5 +1,6 @@
1
1
  import { Component, OnInit, Input } from '@angular/core';
2
2
  import { ComponentRendering, getFieldValue } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  /**
5
6
  * Demonstrates usage of a Checkbox (boolean) content field within JSS.
@@ -7,14 +8,13 @@ import { ComponentRendering, getFieldValue } from '@sitecore-jss/sitecore-jss-an
7
8
  @Component({
8
9
  selector: 'app-styleguide-field-usage-checkbox',
9
10
  templateUrl: './styleguide-field-usage-checkbox.component.html',
11
+ imports: [StyleguideSpecimenComponent]
10
12
  })
11
13
  export class StyleguideFieldUsageCheckboxComponent implements OnInit {
12
14
  @Input() rendering: ComponentRendering;
13
15
  checkbox1Value: boolean;
14
16
  checkbox2Value: boolean;
15
17
 
16
- constructor() { }
17
-
18
18
  ngOnInit() {
19
19
  /*
20
20
  The getFieldValue helper allows safely extracting a field value that could be undefined,
@@ -5,22 +5,26 @@
5
5
  So we can use the .map() array function to traverse them. Ensure a `key` attribute is set
6
6
  on each element to make React's DOM updating happy:
7
7
  -->
8
- <ng-container *ngIf="rendering.fields.sharedContentList">
9
- <div *ngFor="let listItem of rendering.fields.sharedContentList">
10
- <!-- The referenced item's fields can be rendered and edited using normal helper components: -->
11
- <p>
12
- Field: <span *scText="listItem.fields.textField"></span>
13
- </p>
14
- </div>
15
- </ng-container>
8
+ @if (sharedContentListKeys.length > 0) {
9
+ @for (key of sharedContentListKeys; track key) {
10
+ <div>
11
+ <!-- The referenced item's fields can be rendered and edited using normal helper components: -->
12
+ <p>
13
+ Field: <span *scText="rendering.fields.sharedContentList[key].fields.textField"></span>
14
+ </p>
15
+ </div>
16
+ }
17
+ }
16
18
 
17
19
  <h5>Local Content List</h5>
18
- <ng-container *ngIf="rendering.fields.localContentList">
19
- <div *ngFor="let listItem of rendering.fields.localContentList">
20
- <!-- The referenced item's fields can be rendered and edited using normal helper components: -->
21
- <p>
22
- Field: <span *scText="listItem.fields.textField"></span>
23
- </p>
24
- </div>
25
- </ng-container>
20
+ @if (localContentListKeys.length > 0) {
21
+ @for (key of localContentListKeys; track key) {
22
+ <div>
23
+ <!-- The referenced item's fields can be rendered and edited using normal helper components: -->
24
+ <p>
25
+ Field: <span *scText="rendering.fields.localContentList[key].fields.textField"></span>
26
+ </p>
27
+ </div>
28
+ }
29
+ }
26
30
  </app-styleguide-specimen>
@@ -1,5 +1,7 @@
1
- import { Component, Input } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
4
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
5
 
4
6
  /**
5
7
  * Demonstrates usage of a Content List field type within JSS.
@@ -9,7 +11,22 @@ import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
9
11
  @Component({
10
12
  selector: 'app-styleguide-field-usage-content-list',
11
13
  templateUrl: './styleguide-field-usage-content-list.component.html',
14
+ imports: [CommonModule, JssModule, StyleguideSpecimenComponent]
12
15
  })
13
- export class StyleguideFieldUsageContentListComponent {
16
+ export class StyleguideFieldUsageContentListComponent implements OnInit {
14
17
  @Input() rendering: ComponentRendering;
18
+ sharedContentListKeys: string[] = [];
19
+ localContentListKeys: string[] = [];
20
+
21
+ ngOnInit() {
22
+ const sharedList = this.rendering?.fields?.sharedContentList;
23
+ if (sharedList && Array.isArray(sharedList)) {
24
+ this.sharedContentListKeys = sharedList.map((_, index) => index.toString());
25
+ }
26
+
27
+ const localList = this.rendering?.fields?.localContentList;
28
+ if (localList && Array.isArray(localList)) {
29
+ this.localContentListKeys = localList.map((_, index) => index.toString());
30
+ }
31
+ }
15
32
  }
@@ -1,5 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  /**
5
6
  * Demonstrates usage of a custom content field type within JSS.
@@ -9,6 +10,7 @@ import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
9
10
  @Component({
10
11
  selector: 'app-styleguide-field-usage-custom',
11
12
  templateUrl: './styleguide-field-usage-custom.component.html',
13
+ imports: [StyleguideSpecimenComponent]
12
14
  })
13
15
  export class StyleguideFieldUsageCustomComponent {
14
16
  @Input() rendering: ComponentRendering;
@@ -1,5 +1,7 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
4
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
5
 
4
6
  /**
5
7
  * Demonstrates usage of date and time content field types within JSS.
@@ -10,6 +12,7 @@ import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
10
12
  @Component({
11
13
  selector: 'app-styleguide-field-usage-date',
12
14
  templateUrl: './styleguide-field-usage-date.component.html',
15
+ imports: [CommonModule, JssModule, StyleguideSpecimenComponent]
13
16
  })
14
17
  export class StyleguideFieldUsageDateComponent {
15
18
  @Input() rendering: ComponentRendering;
@@ -1,5 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
2
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  /**
5
6
  * Demonstrates usage of a File content field within JSS.
@@ -8,6 +9,7 @@ import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
8
9
  @Component({
9
10
  selector: 'app-styleguide-field-usage-file',
10
11
  templateUrl: './styleguide-field-usage-file.component.html',
12
+ imports: [JssModule, StyleguideSpecimenComponent]
11
13
  })
12
14
  export class StyleguideFieldUsageFileComponent {
13
15
  @Input() rendering: ComponentRendering;
@@ -1,5 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
2
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  /**
5
6
  * Demonstrates usage of an Image content field within JSS.
@@ -8,6 +9,7 @@ import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
8
9
  @Component({
9
10
  selector: 'app-styleguide-field-usage-image',
10
11
  templateUrl: './styleguide-field-usage-image.component.html',
12
+ imports: [JssModule, StyleguideSpecimenComponent]
11
13
  })
12
14
  export class StyleguideFieldUsageImageComponent {
13
15
  @Input() rendering: ComponentRendering;
@@ -1,17 +1,17 @@
1
1
  <app-styleguide-specimen [rendering]="rendering" e2eId="styleguide-fieldusage-itemlink">
2
2
  <h5>Shared Item Link</h5>
3
3
  <!-- Item link fields are returned with their value as the referenced item value. -->
4
- <ng-container *ngIf="rendering.fields.sharedItemLink">
4
+ @if (rendering.fields.sharedItemLink) {
5
5
  <!-- The referenced item's fields can be rendered and edited using normal helper components: -->
6
6
  <p>
7
7
  Field: <span *scText="rendering.fields.sharedItemLink.fields.textField"></span>
8
8
  </p>
9
- </ng-container>
9
+ }
10
10
 
11
11
  <h5>Local Item Link</h5>
12
- <ng-container *ngIf="rendering.fields.localItemLink">
12
+ @if (rendering.fields.localItemLink) {
13
13
  <p>
14
14
  Field: <span *scText="rendering.fields.localItemLink.fields.textField"></span>
15
15
  </p>
16
- </ng-container>
16
+ }
17
17
  </app-styleguide-specimen>
@@ -1,5 +1,7 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
2
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
4
+ import { CommonModule } from '@angular/common';
3
5
 
4
6
  /**
5
7
  * Demonstrates usage of a Content Link content field within JSS.
@@ -8,6 +10,7 @@ import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
8
10
  @Component({
9
11
  selector: 'app-styleguide-field-usage-item-link',
10
12
  templateUrl: './styleguide-field-usage-item-link.component.html',
13
+ imports: [CommonModule, JssModule, StyleguideSpecimenComponent]
11
14
  })
12
15
  export class StyleguideFieldUsageItemLinkComponent {
13
16
  @Input() rendering: ComponentRendering;
@@ -1,5 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
2
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  /**
5
6
  * Demonstrates usage of a General Link (hyperlink) content field within JSS.
@@ -7,6 +8,7 @@ import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
7
8
  @Component({
8
9
  selector: 'app-styleguide-field-usage-link',
9
10
  templateUrl: './styleguide-field-usage-link.component.html',
11
+ imports: [JssModule, StyleguideSpecimenComponent]
10
12
  })
11
13
  export class StyleguideFieldUsageLinkComponent {
12
14
  @Input() rendering: ComponentRendering;
@@ -1,5 +1,6 @@
1
1
  import { Component, OnInit, Input } from '@angular/core';
2
2
  import { ComponentRendering, getFieldValue } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  /**
5
6
  * Demonstrates usage of a Number (decimal) content field within JSS.
@@ -7,6 +8,7 @@ import { ComponentRendering, getFieldValue } from '@sitecore-jss/sitecore-jss-an
7
8
  @Component({
8
9
  selector: 'app-styleguide-field-usage-number',
9
10
  templateUrl: './styleguide-field-usage-number.component.html',
11
+ imports: [StyleguideSpecimenComponent]
10
12
  })
11
13
  export class StyleguideFieldUsageNumberComponent implements OnInit {
12
14
  @Input() rendering: ComponentRendering;
@@ -1,5 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
2
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  /**
5
6
  * Demonstrates usage of a Rich Text (HTML) content field within JSS.
@@ -7,6 +8,7 @@ import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
7
8
  @Component({
8
9
  selector: 'app-styleguide-field-usage-rich-text',
9
10
  templateUrl: './styleguide-field-usage-rich-text.component.html',
11
+ imports: [JssModule, StyleguideSpecimenComponent]
10
12
  })
11
13
  export class StyleguideFieldUsageRichTextComponent {
12
14
  @Input() rendering: ComponentRendering;
@@ -1,5 +1,6 @@
1
1
  import { Component, Input, OnInit } from '@angular/core';
2
- import { ComponentRendering, getFieldValue } from '@sitecore-jss/sitecore-jss-angular';
2
+ import { ComponentRendering, getFieldValue, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  /**
5
6
  * Demonstrates usage of a Text content field within JSS.
@@ -8,6 +9,7 @@ import { ComponentRendering, getFieldValue } from '@sitecore-jss/sitecore-jss-an
8
9
  @Component({
9
10
  selector: 'app-styleguide-field-usage-text',
10
11
  templateUrl: './styleguide-field-usage-text.component.html',
12
+ imports: [JssModule, StyleguideSpecimenComponent]
11
13
  })
12
14
  export class StyleguideFieldUsageTextComponent implements OnInit {
13
15
  @Input() rendering: ComponentRendering;
@@ -6,15 +6,19 @@
6
6
  ></sc-placeholder>
7
7
  </div>
8
8
  <div class="col-sm-4 col-lg-2 order-sm-first pt-2">
9
- <nav *ngFor="let section of navigation" class="nav flex-column pt-2">
10
- <a [href]="'/styleguide#' + section.id" class="nav-item fw-bold">
11
- {{ section.heading }}
12
- </a>
13
- <nav *ngFor="let topic of section.children" class="nav flex-column">
14
- <a [href]="'/styleguide#' + topic.id">
15
- {{ topic.heading }}
9
+ @for (section of navigation; track section.id) {
10
+ <nav class="nav flex-column pt-2">
11
+ <a [href]="'/styleguide#' + section.id" class="nav-item fw-bold">
12
+ {{ section.heading }}
16
13
  </a>
14
+ @for (topic of section.children; track topic.id) {
15
+ <nav class="nav flex-column">
16
+ <a [href]="'/styleguide#' + topic.id">
17
+ {{ topic.heading }}
18
+ </a>
19
+ </nav>
20
+ }
17
21
  </nav>
18
- </nav>
22
+ }
19
23
  </div>
20
24
  </div>
@@ -1,6 +1,5 @@
1
1
  import { Component, OnInit, Input } from '@angular/core';
2
- import { ComponentRendering, getFieldValue } from '@sitecore-jss/sitecore-jss-angular';
3
- import { getChildPlaceholder } from '@sitecore-jss/sitecore-jss-angular';
2
+ import { ComponentRendering, getFieldValue, getChildPlaceholder, JssModule } from '@sitecore-jss/sitecore-jss-angular';
4
3
 
5
4
  interface StyleguideNavigationData {
6
5
  heading: string;
@@ -19,13 +18,12 @@ interface StyleguideNavigationData {
19
18
  @Component({
20
19
  selector: 'app-styleguide-layout',
21
20
  templateUrl: './styleguide-layout.component.html',
21
+ imports: [JssModule]
22
22
  })
23
23
  export class StyleguideLayoutComponent implements OnInit {
24
24
  @Input() rendering: ComponentRendering;
25
25
  navigation: StyleguideNavigationData[];
26
26
 
27
- constructor() {}
28
-
29
27
  ngOnInit() {
30
28
  // this code reads the components in the child placeholders of this component,
31
29
  // and projects them into the left navigation column for the styleguide
@@ -1,5 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
2
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
3
4
 
4
5
  /**
5
6
  * Demonstrates how to reuse content within JSS. See /data/routes/styleguide/en.yml
@@ -10,6 +11,7 @@ import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
10
11
  @Component({
11
12
  selector: 'app-styleguide-layout-reuse',
12
13
  templateUrl: './styleguide-layout-reuse.component.html',
14
+ imports: [JssModule, StyleguideSpecimenComponent]
13
15
  })
14
16
  export class StyleguideLayoutReuseComponent {
15
17
  @Input() rendering: ComponentRendering;
@@ -3,19 +3,23 @@
3
3
  When the page is editing, we hide the tab headings, because they are not updated when xEditor adds or removes a tab rendering.
4
4
  Instead, we show the tab header inline with the tab contents (see styleguide-layout-tabs-tab).
5
5
  -->
6
- <ul class="nav nav-tabs" *ngIf="!isEditing">
7
- <li class="nav-item" *ngFor="let tab of tabs">
8
- <a
9
- [ngClass]="{ 'nav-link': true, active: tab === activeTab }"
10
- (click)="activeTab = tab; (false)"
11
- href="#"
12
- >
13
- <span *scText="tab.fields.title"></span>
14
- </a>
15
- </li>
16
- </ul>
6
+ @if (!isEditing) {
7
+ <ul class="nav nav-tabs">
8
+ @for (tab of tabs; track tab) {
9
+ <li class="nav-item">
10
+ <a
11
+ [ngClass]="{ 'nav-link': true, active: tab === activeTab }"
12
+ (click)="activeTab = tab; (false)"
13
+ href="#"
14
+ >
15
+ <span *scText="tab.fields.title"></span>
16
+ </a>
17
+ </li>
18
+ }
19
+ </ul>
20
+ }
17
21
  <div class="p-3 border-left border-right border-bottom">
18
- <ng-container *ngIf="isEditing">
22
+ @if (isEditing) {
19
23
  <!--
20
24
  When experience editor is active we want to render all tabs in a stack,
21
25
  to simplify editing.
@@ -24,14 +28,13 @@
24
28
  name="<%- helper.getAppPrefix(appPrefix, appName) %>jss-tabs"
25
29
  [rendering]="rendering"
26
30
  ></sc-placeholder>
27
- </ng-container>
28
- <ng-container *ngIf="!isEditing">
31
+ } @else {
29
32
  <!--
30
33
  We only want to render the _active_ tab when we're not editing.
31
34
  sc-render-component renders a _single_ component given its data,
32
35
  allowing us to partially render the placeholder contents.
33
36
  -->
34
37
  <sc-render-component [rendering]="activeTab"></sc-render-component>
35
- </ng-container>
38
+ }
36
39
  </div>
37
40
  </app-styleguide-specimen>
@@ -1,7 +1,9 @@
1
- import { Component, OnInit, Input, OnDestroy } from '@angular/core';
2
- import { ComponentRendering, getChildPlaceholder } from '@sitecore-jss/sitecore-jss-angular';
1
+ import { Component, OnInit, Input, OnDestroy, inject } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ComponentRendering, getChildPlaceholder, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
4
  import { JssContextService } from '../../jss-context.service';
4
5
  import { Subscription } from 'rxjs';
6
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
5
7
 
6
8
  /**
7
9
  * Demonstrates advanced component techniques in JSS.
@@ -15,6 +17,7 @@ import { Subscription } from 'rxjs';
15
17
  @Component({
16
18
  selector: 'app-styleguide-layout-tabs',
17
19
  templateUrl: './styleguide-layout-tabs.component.html',
20
+ imports: [CommonModule, JssModule, StyleguideSpecimenComponent]
18
21
  })
19
22
  export class StyleguideLayoutTabsComponent implements OnInit, OnDestroy {
20
23
  @Input() rendering: ComponentRendering;
@@ -22,8 +25,7 @@ export class StyleguideLayoutTabsComponent implements OnInit, OnDestroy {
22
25
  activeTab: ComponentRendering;
23
26
  isEditing = false;
24
27
  private contextSubscription: Subscription;
25
-
26
- constructor(private jssContext: JssContextService) {}
28
+ private jssContext = inject(JssContextService);
27
29
 
28
30
  ngOnInit() {
29
31
  // to get access to route-level data from Sitecore such as route item fields or
@@ -4,9 +4,9 @@
4
4
  So we conditionally render the tab title here, when editing.
5
5
  -->
6
6
  <div data-e2e-class="styleguide-layout-tabs-tab">
7
- <ng-container *ngIf="isEditing">
7
+ @if (isEditing) {
8
8
  <h5 *scText="rendering.fields.title"></h5>
9
- </ng-container>
9
+ }
10
10
 
11
11
  <div *scRichText="rendering.fields.content"></div>
12
12
  </div>
@@ -1,5 +1,5 @@
1
- import { Component, OnInit, Input, OnDestroy } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
1
+ import { Component, OnInit, Input, OnDestroy, inject } from '@angular/core';
2
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
3
  import { JssContextService } from '../../jss-context.service';
4
4
  import { Subscription } from 'rxjs';
5
5
 
@@ -11,13 +11,13 @@ import { Subscription } from 'rxjs';
11
11
  @Component({
12
12
  selector: 'app-styleguide-layout-tabs-tab',
13
13
  templateUrl: './styleguide-layout-tabs-tab.component.html',
14
+ imports: [JssModule]
14
15
  })
15
16
  export class StyleguideLayoutTabsTabComponent implements OnInit, OnDestroy {
16
17
  @Input() rendering: ComponentRendering;
17
18
  isEditing = false;
18
19
  private contextSubscription: Subscription;
19
-
20
- constructor(private jssContext: JssContextService) { }
20
+ private jssContext = inject(JssContextService);
21
21
 
22
22
  ngOnInit() {
23
23
  // to get access to route-level data from Sitecore such as route item fields or
@@ -1,7 +1,9 @@
1
- import { Component, Input } from '@angular/core';
2
- import { ComponentRendering } from '@sitecore-jss/sitecore-jss-angular';
1
+ import { Component, Input, inject } from '@angular/core';
2
+ import { ComponentRendering, JssModule } from '@sitecore-jss/sitecore-jss-angular';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
+ import { TranslateModule } from '@ngx-translate/core';
4
5
  import { JssContextService } from '../../jss-context.service';
6
+ import { StyleguideSpecimenComponent } from '../shared/styleguide-specimen/styleguide-specimen.component';
5
7
 
6
8
  /**
7
9
  * Demonstrates using the dictionary functionality and defining route data in
@@ -10,6 +12,7 @@ import { JssContextService } from '../../jss-context.service';
10
12
  @Component({
11
13
  selector: 'app-styleguide-multilingual',
12
14
  templateUrl: './styleguide-multilingual.component.html',
15
+ imports: [JssModule, TranslateModule, StyleguideSpecimenComponent]
13
16
  })
14
17
  export class StyleguideMultilingualComponent {
15
18
  @Input() rendering: ComponentRendering;
@@ -17,7 +20,8 @@ export class StyleguideMultilingualComponent {
17
20
  LANG_REGEXP = /^\/([a-zA-Z]{2}(-[a-zA-Z]{2})?)/;
18
21
  // inject ngx-translate service to get translation state
19
22
  // (in this example, the current language)
20
- constructor(public translate: TranslateService, private jssService: JssContextService) { }
23
+ public translate = inject(TranslateService);
24
+ private jssService = inject(JssContextService);
21
25
 
22
26
  switchLanguage(ev: Event) {
23
27
  const href = (ev.target as HTMLAnchorElement).getAttribute('href');