@salesforce/afv-skills 1.14.0 → 1.16.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 (365) hide show
  1. package/package.json +1 -1
  2. package/skills/activating-datacloud/SKILL.md +0 -1
  3. package/skills/analyzing-omnistudio-dependencies/SKILL.md +0 -1
  4. package/skills/applying-slds/SKILL.md +322 -0
  5. package/skills/applying-slds/checklists.md +83 -0
  6. package/skills/applying-slds/examples.md +283 -0
  7. package/skills/applying-slds/guidance/README.md +83 -0
  8. package/skills/applying-slds/guidance/blueprints-index.md +213 -0
  9. package/skills/applying-slds/guidance/icons-guidance.md +186 -0
  10. package/skills/applying-slds/guidance/overviews/borders.md +236 -0
  11. package/skills/applying-slds/guidance/overviews/color.md +266 -0
  12. package/skills/applying-slds/guidance/overviews/display-density.md +366 -0
  13. package/skills/applying-slds/guidance/overviews/icons.md +240 -0
  14. package/skills/applying-slds/guidance/overviews/illustrations.md +235 -0
  15. package/skills/applying-slds/guidance/overviews/shadows.md +176 -0
  16. package/skills/applying-slds/guidance/overviews/spacing.md +216 -0
  17. package/skills/applying-slds/guidance/overviews/typography.md +323 -0
  18. package/skills/applying-slds/guidance/overviews/utilities.md +542 -0
  19. package/skills/applying-slds/guidance/slds-development-guide.md +288 -0
  20. package/skills/applying-slds/guidance/styling-hooks/borders.md +202 -0
  21. package/skills/applying-slds/guidance/styling-hooks/color/expressive-palette-hooks.md +153 -0
  22. package/skills/applying-slds/guidance/styling-hooks/color/index.md +171 -0
  23. package/skills/applying-slds/guidance/styling-hooks/color/semantic/accent-hooks.md +204 -0
  24. package/skills/applying-slds/guidance/styling-hooks/color/semantic/feedback-hooks.md +768 -0
  25. package/skills/applying-slds/guidance/styling-hooks/color/semantic/surface-hooks.md +337 -0
  26. package/skills/applying-slds/guidance/styling-hooks/color/system-hooks.md +132 -0
  27. package/skills/applying-slds/guidance/styling-hooks/index.md +327 -0
  28. package/skills/applying-slds/guidance/styling-hooks/shadows.md +238 -0
  29. package/skills/applying-slds/guidance/styling-hooks/spacing.md +254 -0
  30. package/skills/applying-slds/guidance/styling-hooks/typography.md +448 -0
  31. package/skills/applying-slds/guidance/utilities/alignment.md +119 -0
  32. package/skills/applying-slds/guidance/utilities/borders.md +131 -0
  33. package/skills/applying-slds/guidance/utilities/box.md +125 -0
  34. package/skills/applying-slds/guidance/utilities/color.md +165 -0
  35. package/skills/applying-slds/guidance/utilities/dark-mode.md +111 -0
  36. package/skills/applying-slds/guidance/utilities/description-list.md +168 -0
  37. package/skills/applying-slds/guidance/utilities/floats.md +117 -0
  38. package/skills/applying-slds/guidance/utilities/grid.md +264 -0
  39. package/skills/applying-slds/guidance/utilities/horizontal-list.md +110 -0
  40. package/skills/applying-slds/guidance/utilities/hyphenation.md +84 -0
  41. package/skills/applying-slds/guidance/utilities/index.md +205 -0
  42. package/skills/applying-slds/guidance/utilities/interactions.md +89 -0
  43. package/skills/applying-slds/guidance/utilities/layout.md +109 -0
  44. package/skills/applying-slds/guidance/utilities/line-clamp.md +131 -0
  45. package/skills/applying-slds/guidance/utilities/margin.md +155 -0
  46. package/skills/applying-slds/guidance/utilities/media-object.md +161 -0
  47. package/skills/applying-slds/guidance/utilities/name-value-list.md +152 -0
  48. package/skills/applying-slds/guidance/utilities/padding.md +155 -0
  49. package/skills/applying-slds/guidance/utilities/position.md +177 -0
  50. package/skills/applying-slds/guidance/utilities/print.md +114 -0
  51. package/skills/applying-slds/guidance/utilities/scrollable.md +126 -0
  52. package/skills/applying-slds/guidance/utilities/sizing.md +190 -0
  53. package/skills/applying-slds/guidance/utilities/themes.md +121 -0
  54. package/skills/applying-slds/guidance/utilities/truncate.md +127 -0
  55. package/skills/applying-slds/guidance/utilities/typography.md +166 -0
  56. package/skills/applying-slds/guidance/utilities/vertical-list.md +166 -0
  57. package/skills/applying-slds/guidance/utilities/visibility.md +228 -0
  58. package/skills/applying-slds/metadata/README.md +84 -0
  59. package/skills/applying-slds/metadata/blueprints/components/accordion.yaml +304 -0
  60. package/skills/applying-slds/metadata/blueprints/components/activity-timeline.yaml +92 -0
  61. package/skills/applying-slds/metadata/blueprints/components/alert.yaml +103 -0
  62. package/skills/applying-slds/metadata/blueprints/components/app-launcher.yaml +94 -0
  63. package/skills/applying-slds/metadata/blueprints/components/avatar-group.yaml +81 -0
  64. package/skills/applying-slds/metadata/blueprints/components/avatar.yaml +97 -0
  65. package/skills/applying-slds/metadata/blueprints/components/badges.yaml +102 -0
  66. package/skills/applying-slds/metadata/blueprints/components/brand-band.yaml +198 -0
  67. package/skills/applying-slds/metadata/blueprints/components/breadcrumbs.yaml +95 -0
  68. package/skills/applying-slds/metadata/blueprints/components/builder-header.yaml +192 -0
  69. package/skills/applying-slds/metadata/blueprints/components/button-groups.yaml +82 -0
  70. package/skills/applying-slds/metadata/blueprints/components/button-icons.yaml +295 -0
  71. package/skills/applying-slds/metadata/blueprints/components/buttons.yaml +230 -0
  72. package/skills/applying-slds/metadata/blueprints/components/cards.yaml +124 -0
  73. package/skills/applying-slds/metadata/blueprints/components/carousel.yaml +140 -0
  74. package/skills/applying-slds/metadata/blueprints/components/chat.yaml +179 -0
  75. package/skills/applying-slds/metadata/blueprints/components/checkbox-button-group.yaml +192 -0
  76. package/skills/applying-slds/metadata/blueprints/components/checkbox-button.yaml +204 -0
  77. package/skills/applying-slds/metadata/blueprints/components/checkbox-toggle.yaml +177 -0
  78. package/skills/applying-slds/metadata/blueprints/components/checkbox.yaml +108 -0
  79. package/skills/applying-slds/metadata/blueprints/components/color-picker.yaml +172 -0
  80. package/skills/applying-slds/metadata/blueprints/components/combobox.yaml +136 -0
  81. package/skills/applying-slds/metadata/blueprints/components/counter.yaml +147 -0
  82. package/skills/applying-slds/metadata/blueprints/components/data-tables.yaml +157 -0
  83. package/skills/applying-slds/metadata/blueprints/components/datepickers.yaml +130 -0
  84. package/skills/applying-slds/metadata/blueprints/components/datetime-picker.yaml +155 -0
  85. package/skills/applying-slds/metadata/blueprints/components/docked-composer.yaml +201 -0
  86. package/skills/applying-slds/metadata/blueprints/components/docked-form-footer.yaml +161 -0
  87. package/skills/applying-slds/metadata/blueprints/components/docked-utility-bar.yaml +175 -0
  88. package/skills/applying-slds/metadata/blueprints/components/drop-zone.yaml +115 -0
  89. package/skills/applying-slds/metadata/blueprints/components/dueling-picklist.yaml +196 -0
  90. package/skills/applying-slds/metadata/blueprints/components/dynamic-icons.yaml +128 -0
  91. package/skills/applying-slds/metadata/blueprints/components/dynamic-menu.yaml +141 -0
  92. package/skills/applying-slds/metadata/blueprints/components/expandable-section.yaml +115 -0
  93. package/skills/applying-slds/metadata/blueprints/components/expression.yaml +143 -0
  94. package/skills/applying-slds/metadata/blueprints/components/feeds.yaml +125 -0
  95. package/skills/applying-slds/metadata/blueprints/components/file-selector.yaml +154 -0
  96. package/skills/applying-slds/metadata/blueprints/components/files.yaml +119 -0
  97. package/skills/applying-slds/metadata/blueprints/components/form-element.yaml +145 -0
  98. package/skills/applying-slds/metadata/blueprints/components/global-header.yaml +120 -0
  99. package/skills/applying-slds/metadata/blueprints/components/global-navigation.yaml +100 -0
  100. package/skills/applying-slds/metadata/blueprints/components/icons.yaml +138 -0
  101. package/skills/applying-slds/metadata/blueprints/components/illustration.yaml +205 -0
  102. package/skills/applying-slds/metadata/blueprints/components/input.yaml +151 -0
  103. package/skills/applying-slds/metadata/blueprints/components/list-builder.yaml +127 -0
  104. package/skills/applying-slds/metadata/blueprints/components/lookups.yaml +132 -0
  105. package/skills/applying-slds/metadata/blueprints/components/map.yaml +118 -0
  106. package/skills/applying-slds/metadata/blueprints/components/menus.yaml +134 -0
  107. package/skills/applying-slds/metadata/blueprints/components/modals.yaml +152 -0
  108. package/skills/applying-slds/metadata/blueprints/components/notifications.yaml +88 -0
  109. package/skills/applying-slds/metadata/blueprints/components/page-headers.yaml +135 -0
  110. package/skills/applying-slds/metadata/blueprints/components/panels.yaml +149 -0
  111. package/skills/applying-slds/metadata/blueprints/components/path.yaml +154 -0
  112. package/skills/applying-slds/metadata/blueprints/components/picklist.yaml +125 -0
  113. package/skills/applying-slds/metadata/blueprints/components/pills.yaml +154 -0
  114. package/skills/applying-slds/metadata/blueprints/components/popovers.yaml +120 -0
  115. package/skills/applying-slds/metadata/blueprints/components/progress-bar.yaml +110 -0
  116. package/skills/applying-slds/metadata/blueprints/components/progress-indicator.yaml +133 -0
  117. package/skills/applying-slds/metadata/blueprints/components/progress-ring.yaml +102 -0
  118. package/skills/applying-slds/metadata/blueprints/components/prompt.yaml +126 -0
  119. package/skills/applying-slds/metadata/blueprints/components/publishers.yaml +178 -0
  120. package/skills/applying-slds/metadata/blueprints/components/radio-button-group.yaml +172 -0
  121. package/skills/applying-slds/metadata/blueprints/components/radio-group.yaml +112 -0
  122. package/skills/applying-slds/metadata/blueprints/components/rich-text-editor.yaml +135 -0
  123. package/skills/applying-slds/metadata/blueprints/components/scoped-notifications.yaml +188 -0
  124. package/skills/applying-slds/metadata/blueprints/components/scoped-tabs.yaml +97 -0
  125. package/skills/applying-slds/metadata/blueprints/components/select.yaml +127 -0
  126. package/skills/applying-slds/metadata/blueprints/components/setup-assistant.yaml +152 -0
  127. package/skills/applying-slds/metadata/blueprints/components/slider.yaml +111 -0
  128. package/skills/applying-slds/metadata/blueprints/components/spinners.yaml +135 -0
  129. package/skills/applying-slds/metadata/blueprints/components/split-view.yaml +112 -0
  130. package/skills/applying-slds/metadata/blueprints/components/summary-detail.yaml +103 -0
  131. package/skills/applying-slds/metadata/blueprints/components/tabs.yaml +138 -0
  132. package/skills/applying-slds/metadata/blueprints/components/textarea.yaml +116 -0
  133. package/skills/applying-slds/metadata/blueprints/components/tiles.yaml +108 -0
  134. package/skills/applying-slds/metadata/blueprints/components/timepicker.yaml +111 -0
  135. package/skills/applying-slds/metadata/blueprints/components/toast.yaml +154 -0
  136. package/skills/applying-slds/metadata/blueprints/components/tooltips.yaml +107 -0
  137. package/skills/applying-slds/metadata/blueprints/components/tree-grid.yaml +116 -0
  138. package/skills/applying-slds/metadata/blueprints/components/trees.yaml +116 -0
  139. package/skills/applying-slds/metadata/blueprints/components/trial-bar.yaml +112 -0
  140. package/skills/applying-slds/metadata/blueprints/components/vertical-navigation.yaml +130 -0
  141. package/skills/applying-slds/metadata/blueprints/components/vertical-tabs.yaml +140 -0
  142. package/skills/applying-slds/metadata/blueprints/components/visual-picker.yaml +150 -0
  143. package/skills/applying-slds/metadata/blueprints/components/welcome-mat.yaml +136 -0
  144. package/skills/applying-slds/metadata/hooks-index.json +6272 -0
  145. package/skills/applying-slds/metadata/icon-metadata.json +38466 -0
  146. package/skills/applying-slds/metadata/utilities-index.json +21912 -0
  147. package/skills/applying-slds/references/component-selection.md +112 -0
  148. package/skills/applying-slds/references/icons-decision-guide.md +124 -0
  149. package/skills/applying-slds/references/styling-decision-guide.md +228 -0
  150. package/skills/applying-slds/references/utilities-quick-ref.md +125 -0
  151. package/skills/applying-slds/scripts/search-blueprints.cjs +117 -0
  152. package/skills/applying-slds/scripts/search-hooks.cjs +139 -0
  153. package/skills/applying-slds/scripts/search-icons.cjs +174 -0
  154. package/skills/applying-slds/scripts/search-utilities.cjs +161 -0
  155. package/skills/building-mobile-apps/SKILL.md +0 -1
  156. package/skills/building-omnistudio-callable-apex/SKILL.md +0 -1
  157. package/skills/building-omnistudio-datamapper/SKILL.md +0 -1
  158. package/skills/building-omnistudio-flexcard/SKILL.md +0 -1
  159. package/skills/building-omnistudio-integration-procedure/SKILL.md +0 -1
  160. package/skills/building-omnistudio-omniscript/SKILL.md +0 -1
  161. package/skills/building-sf-integrations/SKILL.md +0 -1
  162. package/skills/configuring-connected-apps/SKILL.md +0 -1
  163. package/skills/connecting-datacloud/SKILL.md +0 -1
  164. package/skills/creating-b2b-commerce-store/SKILL.md +0 -1
  165. package/skills/debugging-apex-logs/SKILL.md +0 -1
  166. package/skills/deploying-metadata/SKILL.md +0 -1
  167. package/skills/deploying-omnistudio-datapacks/SKILL.md +0 -1
  168. package/skills/developing-agentforce/SKILL.md +0 -1
  169. package/skills/fetching-salesforce-docs/SKILL.md +0 -1
  170. package/skills/generating-custom-lightning-type/SKILL.md +17 -39
  171. package/skills/generating-custom-lightning-type/assets/primitive-types-and-constraints.md +41 -0
  172. package/skills/generating-custom-lightning-type/references/widget-rendition.md +124 -0
  173. package/skills/generating-lwc-components/SKILL.md +0 -1
  174. package/skills/generating-mermaid-diagrams/SKILL.md +0 -1
  175. package/skills/generating-visual-diagrams/SKILL.md +0 -1
  176. package/skills/handling-sf-data/SKILL.md +0 -1
  177. package/skills/harmonizing-datacloud/SKILL.md +0 -1
  178. package/skills/integrating-b2b-commerce-open-code-components/SKILL.md +0 -1
  179. package/skills/investigating-agentforce-architecture/README.md +156 -0
  180. package/skills/investigating-agentforce-architecture/SKILL.md +230 -0
  181. package/skills/investigating-agentforce-architecture/assets/cli/describe_sobject.yaml +16 -0
  182. package/skills/investigating-agentforce-architecture/assets/cli/describe_tooling_sobject.yaml +17 -0
  183. package/skills/investigating-agentforce-architecture/assets/cli/list_metadata_genaiprompttemplate.yaml +17 -0
  184. package/skills/investigating-agentforce-architecture/assets/cli/org_display.yaml +15 -0
  185. package/skills/investigating-agentforce-architecture/assets/cli/retrieve_genai_plugin.yaml +18 -0
  186. package/skills/investigating-agentforce-architecture/assets/cli/show_access_token.yaml +27 -0
  187. package/skills/investigating-agentforce-architecture/assets/mermaid/action_tree.mmd +20 -0
  188. package/skills/investigating-agentforce-architecture/assets/mermaid/data_flow.mmd +19 -0
  189. package/skills/investigating-agentforce-architecture/assets/mermaid/dependency_graph.mmd +19 -0
  190. package/skills/investigating-agentforce-architecture/assets/mermaid/invocation_sequence.mmd +20 -0
  191. package/skills/investigating-agentforce-architecture/assets/mermaid/planner_state.mmd +18 -0
  192. package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_ids.soql +3 -0
  193. package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_names.soql +3 -0
  194. package/skills/investigating-agentforce-architecture/assets/soql/bot_definition_details.soql +3 -0
  195. package/skills/investigating-agentforce-architecture/assets/soql/bot_version_lookup.soql +4 -0
  196. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_by_ids.soql +3 -0
  197. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_ids_by_names.soql +3 -0
  198. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_view_by_durable_ids.soql +4 -0
  199. package/skills/investigating-agentforce-architecture/assets/soql/flow_metadata_by_id.soql +3 -0
  200. package/skills/investigating-agentforce-architecture/assets/soql/functions_by_plugins.soql +5 -0
  201. package/skills/investigating-agentforce-architecture/assets/soql/planner_attrs_by_parent_ids.soql +3 -0
  202. package/skills/investigating-agentforce-architecture/assets/soql/planner_bundle_functions.soql +3 -0
  203. package/skills/investigating-agentforce-architecture/assets/soql/planner_definition_by_agent_chain.soql +3 -0
  204. package/skills/investigating-agentforce-architecture/assets/soql/plugin_functions_by_plugin_ids.soql +3 -0
  205. package/skills/investigating-agentforce-architecture/assets/soql/plugin_instructions_by_plugin_ids.soql +3 -0
  206. package/skills/investigating-agentforce-architecture/assets/soql/plugins_by_planner.soql +4 -0
  207. package/skills/investigating-agentforce-architecture/references/architecture_sections.md +243 -0
  208. package/skills/investigating-agentforce-architecture/references/contract.json +244 -0
  209. package/skills/investigating-agentforce-architecture/references/soql_fields.md +512 -0
  210. package/skills/investigating-agentforce-architecture/scripts/_shared/__init__.py +1 -0
  211. package/skills/investigating-agentforce-architecture/scripts/_shared/fs_guard.py +329 -0
  212. package/skills/investigating-agentforce-architecture/scripts/_shared/paths.py +110 -0
  213. package/skills/investigating-agentforce-architecture/scripts/_shared/runtime.py +59 -0
  214. package/skills/investigating-agentforce-architecture/scripts/_shared/sql.py +10 -0
  215. package/skills/investigating-agentforce-architecture/scripts/cache_check.py +234 -0
  216. package/skills/investigating-agentforce-architecture/scripts/config.py +131 -0
  217. package/skills/investigating-agentforce-architecture/scripts/fetch_soql.py +689 -0
  218. package/skills/investigating-agentforce-architecture/scripts/finalize.py +295 -0
  219. package/skills/investigating-agentforce-architecture/scripts/main.py +2835 -0
  220. package/skills/investigating-agentforce-architecture/scripts/metadata_listing.py +265 -0
  221. package/skills/investigating-agentforce-architecture/scripts/parallel_retrieve.py +69 -0
  222. package/skills/investigating-agentforce-architecture/scripts/parse_bundle.py +215 -0
  223. package/skills/investigating-agentforce-architecture/scripts/parse_wave.py +845 -0
  224. package/skills/investigating-agentforce-architecture/scripts/probe_channels.py +302 -0
  225. package/skills/investigating-agentforce-architecture/scripts/render_architecture.py +1043 -0
  226. package/skills/investigating-agentforce-architecture/scripts/resolve_bot.py +255 -0
  227. package/skills/investigating-agentforce-architecture/scripts/resolve_invocation_target.py +130 -0
  228. package/skills/investigating-agentforce-architecture/scripts/rest_client.py +763 -0
  229. package/skills/investigating-agentforce-architecture/scripts/retrieve_planner.py +13 -0
  230. package/skills/investigating-agentforce-architecture/scripts/sf_cli.py +242 -0
  231. package/skills/investigating-agentforce-architecture/scripts/soql_loader.py +253 -0
  232. package/skills/investigating-agentforce-architecture/scripts/summarize_tree.py +143 -0
  233. package/skills/investigating-agentforce-architecture/scripts/tests/__init__.py +0 -0
  234. package/skills/investigating-agentforce-architecture/scripts/tests/_bootstrap.py +23 -0
  235. package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/__init__.py +0 -0
  236. package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/genai_payloads.py +400 -0
  237. package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check.py +307 -0
  238. package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check_main.py +283 -0
  239. package/skills/investigating-agentforce-architecture/scripts/tests/test_config.py +115 -0
  240. package/skills/investigating-agentforce-architecture/scripts/tests/test_end_to_end_fixture.py +651 -0
  241. package/skills/investigating-agentforce-architecture/scripts/tests/test_finalize.py +278 -0
  242. package/skills/investigating-agentforce-architecture/scripts/tests/test_flow_children_inflation.py +582 -0
  243. package/skills/investigating-agentforce-architecture/scripts/tests/test_fs_guard.py +113 -0
  244. package/skills/investigating-agentforce-architecture/scripts/tests/test_iterative_wave_b.py +478 -0
  245. package/skills/investigating-agentforce-architecture/scripts/tests/test_main_pipeline.py +3359 -0
  246. package/skills/investigating-agentforce-architecture/scripts/tests/test_parallel_retrieve.py +131 -0
  247. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_bundle.py +400 -0
  248. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave.py +644 -0
  249. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_classifiers.py +224 -0
  250. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_helpers.py +380 -0
  251. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_main.py +397 -0
  252. package/skills/investigating-agentforce-architecture/scripts/tests/test_per_branch_visited.py +244 -0
  253. package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_channels.py +359 -0
  254. package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_cli_recipes.py +185 -0
  255. package/skills/investigating-agentforce-architecture/scripts/tests/test_render_architecture.py +810 -0
  256. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_bot.py +203 -0
  257. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_creds.py +157 -0
  258. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_invocation_target.py +145 -0
  259. package/skills/investigating-agentforce-architecture/scripts/tests/test_rest_client.py +1253 -0
  260. package/skills/investigating-agentforce-architecture/scripts/tests/test_runtime_override.py +100 -0
  261. package/skills/investigating-agentforce-architecture/scripts/tests/test_sf_cli.py +261 -0
  262. package/skills/investigating-agentforce-architecture/scripts/tests/test_signature_stamping.py +466 -0
  263. package/skills/investigating-agentforce-architecture/scripts/tests/test_soql_loader.py +501 -0
  264. package/skills/investigating-agentforce-architecture/scripts/tests/test_summarize_tree.py +241 -0
  265. package/skills/investigating-agentforce-architecture/scripts/tests/test_write_emit_ctx.py +480 -0
  266. package/skills/investigating-agentforce-architecture/tools/emit_env.py +157 -0
  267. package/skills/investigating-agentforce-architecture/tools/emit_result.py +262 -0
  268. package/skills/investigating-agentforce-architecture/tools/sanitize.py +33 -0
  269. package/skills/investigating-agentforce-architecture/tools/write_emit_ctx.py +332 -0
  270. package/skills/investigating-agentforce-d360/README.md +123 -0
  271. package/skills/investigating-agentforce-d360/SKILL.md +163 -0
  272. package/skills/investigating-agentforce-d360/assets/dc/app_generation.sql +51 -0
  273. package/skills/investigating-agentforce-d360/assets/dc/content_category.sql +44 -0
  274. package/skills/investigating-agentforce-d360/assets/dc/content_quality.sql +41 -0
  275. package/skills/investigating-agentforce-d360/assets/dc/discover_sessions.sql +36 -0
  276. package/skills/investigating-agentforce-d360/assets/dc/feedback.sql +47 -0
  277. package/skills/investigating-agentforce-d360/assets/dc/feedback_details.sql +38 -0
  278. package/skills/investigating-agentforce-d360/assets/dc/gateway_records.sql +45 -0
  279. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_llm.sql +50 -0
  280. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_metadata.sql +44 -0
  281. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_tags.sql +42 -0
  282. package/skills/investigating-agentforce-d360/assets/dc/gateway_requests.sql +89 -0
  283. package/skills/investigating-agentforce-d360/assets/dc/gateway_responses.sql +43 -0
  284. package/skills/investigating-agentforce-d360/assets/dc/generations.sql +52 -0
  285. package/skills/investigating-agentforce-d360/assets/dc/interactions.sql +53 -0
  286. package/skills/investigating-agentforce-d360/assets/dc/messages.sql +53 -0
  287. package/skills/investigating-agentforce-d360/assets/dc/messaging_session.sql +37 -0
  288. package/skills/investigating-agentforce-d360/assets/dc/moment_interactions.sql +34 -0
  289. package/skills/investigating-agentforce-d360/assets/dc/moments.sql +39 -0
  290. package/skills/investigating-agentforce-d360/assets/dc/participants.sql +48 -0
  291. package/skills/investigating-agentforce-d360/assets/dc/sessions.sql +78 -0
  292. package/skills/investigating-agentforce-d360/assets/dc/steps.sql +64 -0
  293. package/skills/investigating-agentforce-d360/assets/dc/tag_associations.sql +46 -0
  294. package/skills/investigating-agentforce-d360/assets/dc/tag_definition_associations.sql +37 -0
  295. package/skills/investigating-agentforce-d360/assets/dc/tag_definitions.sql +50 -0
  296. package/skills/investigating-agentforce-d360/assets/dc/tags.sql +37 -0
  297. package/skills/investigating-agentforce-d360/assets/dc/telemetry_spans.sql +55 -0
  298. package/skills/investigating-agentforce-d360/references/artifacts.md +50 -0
  299. package/skills/investigating-agentforce-d360/references/dc_dmo_fields.md +823 -0
  300. package/skills/investigating-agentforce-d360/references/dc_pipeline_contract.md +608 -0
  301. package/skills/investigating-agentforce-d360/scripts/_shared/__init__.py +2 -0
  302. package/skills/investigating-agentforce-d360/scripts/_shared/cli_override.py +98 -0
  303. package/skills/investigating-agentforce-d360/scripts/_shared/fs_guard.py +334 -0
  304. package/skills/investigating-agentforce-d360/scripts/_shared/paths.py +155 -0
  305. package/skills/investigating-agentforce-d360/scripts/_shared/runtime.py +59 -0
  306. package/skills/investigating-agentforce-d360/scripts/_shared/sql.py +14 -0
  307. package/skills/investigating-agentforce-d360/scripts/assemble_dc.py +1624 -0
  308. package/skills/investigating-agentforce-d360/scripts/config.py +45 -0
  309. package/skills/investigating-agentforce-d360/scripts/dc.py +188 -0
  310. package/skills/investigating-agentforce-d360/scripts/discover_sessions.py +556 -0
  311. package/skills/investigating-agentforce-d360/scripts/fetch_dc.py +1045 -0
  312. package/skills/investigating-agentforce-d360/scripts/render_dc.py +1750 -0
  313. package/skills/investigating-agentforce-d360/scripts/resolve_session.py +264 -0
  314. package/skills/investigating-agentforce-d360/scripts/storage.py +92 -0
  315. package/skills/investigating-agentforce-d360/scripts/tests/__init__.py +0 -0
  316. package/skills/investigating-agentforce-d360/scripts/tests/_bootstrap.py +15 -0
  317. package/skills/investigating-agentforce-d360/scripts/tests/fixtures/__init__.py +0 -0
  318. package/skills/investigating-agentforce-d360/scripts/tests/fixtures/synthetic_session.py +424 -0
  319. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_bootstrap_and_mode.py +115 -0
  320. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct.py +220 -0
  321. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct_integration.py +158 -0
  322. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_helpers.py +287 -0
  323. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_integration.py +247 -0
  324. package/skills/investigating-agentforce-d360/scripts/tests/test_dc_and_resolve_session.py +433 -0
  325. package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions.py +458 -0
  326. package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions_grep_ci.py +193 -0
  327. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_helpers.py +266 -0
  328. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_identity.py +528 -0
  329. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_main.py +251 -0
  330. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall.py +229 -0
  331. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall_full.py +283 -0
  332. package/skills/investigating-agentforce-d360/scripts/tests/test_identity_coherence.py +327 -0
  333. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_branches.py +256 -0
  334. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_gateway_direct.py +130 -0
  335. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_helpers.py +291 -0
  336. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_integration.py +220 -0
  337. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_planner_llm_calls.py +284 -0
  338. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_show_prompts_gating.py +215 -0
  339. package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_from_disk.py +100 -0
  340. package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_session_main.py +149 -0
  341. package/skills/investigating-agentforce-d360/scripts/tests/test_runtime_override.py +104 -0
  342. package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape.py +95 -0
  343. package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape_dropped_by_stdm.py +85 -0
  344. package/skills/managing-managed-event-subscription/SKILL.md +152 -0
  345. package/skills/managing-managed-event-subscription/assets/managed-event-subscription-template.xml +20 -0
  346. package/skills/managing-managed-event-subscription/references/delete-guide.md +57 -0
  347. package/skills/managing-managed-event-subscription/references/topic-name-formats.md +26 -0
  348. package/skills/managing-managed-event-subscription/references/update-constraints.md +30 -0
  349. package/skills/modeling-omnistudio-epc-catalog/SKILL.md +0 -1
  350. package/skills/observing-agentforce/SKILL.md +0 -1
  351. package/skills/orchestrating-datacloud/SKILL.md +0 -1
  352. package/skills/preparing-datacloud/SKILL.md +0 -1
  353. package/skills/querying-soql/SKILL.md +0 -1
  354. package/skills/retrieving-datacloud/SKILL.md +0 -1
  355. package/skills/running-apex-tests/SKILL.md +0 -1
  356. package/skills/running-code-analyzer/SKILL.md +0 -1
  357. package/skills/segmenting-datacloud/SKILL.md +0 -1
  358. package/skills/testing-agentforce/SKILL.md +0 -1
  359. package/skills/uplifting-components-to-slds2/SKILL.md +3 -2
  360. package/skills/uplifting-components-to-slds2/references/color-hooks-decision-guide.md +30 -9
  361. package/skills/uplifting-components-to-slds2/references/examples.md +24 -6
  362. package/skills/validating-slds/SKILL.md +262 -0
  363. package/skills/validating-slds/references/quality-checks.md +308 -0
  364. package/skills/validating-slds/references/report-format.md +302 -0
  365. package/skills/validating-slds/scripts/analyze-quality.cjs +521 -0
@@ -0,0 +1,337 @@
1
+ ---
2
+
3
+ id: slds.guidance.hooks.color.surface
4
+ title: Surface Color Styling Hooks
5
+ description: Semantic hooks for page backgrounds, containers, and visual stacking contexts
6
+ summary: "Guidance for surface color hooks that express visual stacking context. Covers surface vs surface-container decision guide, elevation patterns, and dark mode compatibility."
7
+
8
+ artifact_type: reference
9
+ domain: styling-hooks
10
+ topic: color
11
+ subtopic: semantic
12
+
13
+ content_format: structured
14
+ complexity: intermediate
15
+ audience: [implementer]
16
+
17
+ tasks: [choose, implement, troubleshoot]
18
+
19
+ refs:
20
+
21
+ - slds.guidance.hooks.color.accent
22
+ - slds.guidance.hooks.color
23
+ - slds.guidance.hooks.color.feedback
24
+ - slds.guidance.hooks.color.system
25
+ - slds.guidance.utilities.dark-mode
26
+
27
+ ## tags: [styling-hooks, color, semantic, surface, container, backgrounds, dark-mode]
28
+ keywords: [surface color, container color, page background, modal background, stacking context, elevation, dark mode]
29
+
30
+ # Surface Color Styling Hooks
31
+
32
+ > **Hook Selection:** Semantic hooks like surface are the first choice (85% of use cases). See [Hook Selection Hierarchy](ref:slds.guidance.hooks.color).
33
+
34
+ ## Overview
35
+
36
+ A surface is a canvas that UI elements sit on. Surface colors express the visual stacking context of an app. Surface colors work together to enable sweeping changes, like dark mode. Surface colors are reserved for the bottom layer of a surface and establish the foundation for visual depth in the application.
37
+
38
+ ---
39
+
40
+ ## Surface vs Surface-Container: Decision Guide
41
+
42
+ ### The Core Question
43
+
44
+ **Does this element create a visually isolated context, or does it exist within an existing context?**
45
+
46
+
47
+ | Characteristic | Use `surface-`* | Use `surface-container-*` |
48
+ | ------------------------------------- | --------------- | ------------------------- |
49
+ | Creates new stacking context | Yes | No |
50
+ | Elevated/overlays other content | Yes | No |
51
+ | Acts as foundation for child elements | Yes | No |
52
+ | Exists within page's content flow | No | Yes |
53
+ | Sits on top of an existing surface | No | Yes |
54
+
55
+
56
+ ### Quick Decision Tree
57
+
58
+ 1. **Is this a page-level background or app canvas?** → `surface-`*
59
+ 2. **Does this element overlay/elevate above the page (modal, popover, dropdown)?** → `surface-`*
60
+ 3. **Does this element sit within the normal content flow on an existing background?** → `surface-container-`*
61
+
62
+ ### Common Patterns
63
+
64
+
65
+ | Element | Hook | Reasoning |
66
+ | ------------------- | --------------------- | ------------------------------- |
67
+ | Page background | `surface-*` | Foundational canvas |
68
+ | Modal dialog | `surface-*` | Creates isolated visual context |
69
+ | Popover | `surface-*` | Elevated, creates new context |
70
+ | Dropdown menu | `surface-*` | Elevated overlay |
71
+ | Card on a page | `surface-container-*` | Sits on page surface |
72
+ | Card inside a modal | `surface-container-*` | Sits on modal surface |
73
+ | Button | `surface-container-*` | Sits on a surface |
74
+ | List item | `surface-container-*` | Part of content flow |
75
+
76
+
77
+ ### Edge Cases
78
+
79
+ - **Full-page card layout**: If a card-like element serves as the entire page background (no parent surface beneath it), use `surface-`* despite its card-like appearance.
80
+ - **Panel that overlays**: A slide-out panel that overlays page content creates a new context → `surface-`*. A panel embedded in the page flow → `surface-container-*`.
81
+ - **Nested modals**: Each modal creates its own surface. A confirmation dialog inside a modal uses `surface-`* for its background.
82
+
83
+ ### Warning: CSS Class Names Are Irrelevant
84
+
85
+ The element's class name (e.g., `.card-container`, `.modal-content`, `.panel-wrapper`) does **not** determine hook choice. An element named `.card-container` might use `surface-`* if it's the page-level background, or `surface-container-*` if it's a card sitting on a surface.
86
+
87
+ **Always base the decision on visual stacking context, not naming conventions.**
88
+
89
+ ---
90
+
91
+ ## `--slds-g-color-surface-`*
92
+
93
+ ### Description
94
+
95
+ Surface colors used for backgrounds and large areas of the application that express a new visual stacking context to create visual depth.
96
+
97
+ ### Available Hooks
98
+
99
+ - `--slds-g-color-surface-1` - Primary page background (lightest, typically white)
100
+ - `--slds-g-color-surface-2` - Secondary page background (light gray, for visual distinction)
101
+ - `--slds-g-color-surface-3` - Tertiary page background (medium gray, for additional hierarchy)
102
+ - `--slds-g-color-surface-inverse-1` - Primary inverse surface background color
103
+ - `--slds-g-color-surface-inverse-2` - Secondary inverse surface background color
104
+
105
+ > **Note on Inverse Hooks:** Inverse hooks provide dark background colors designed for dark mode or inverted color schemes. They enable light content on dark backgrounds, as opposed to standard hooks which provide dark content on light backgrounds. Use inverse hooks for dark mode implementations, high-contrast sections, or visual emphasis through color inversion.
106
+
107
+ ### Understanding Surface Numbering: NOT State-Based
108
+
109
+ **Critical Distinction**: Unlike accent or feedback hooks, surface variant numbers (1-2-3) do **NOT** represent interaction states (default/hover/active). They represent:
110
+
111
+ 1. **Color progression from light to dark** (1 = lightest, 3 = darkest)
112
+ 2. **Designer's aesthetic choice** for visual hierarchy or separation
113
+ 3. **Contextual background needs** (e.g., white cards need gray backgrounds to stand out)
114
+
115
+ **When to choose which:**
116
+
117
+ - `**surface-1` (white)**: Clean, high-contrast base; use when cards/containers need strong definition
118
+ - `**surface-2` (light gray)**: Softer separation; use when layering elements without harsh white backgrounds
119
+ - `**surface-3` (medium gray)**: Additional depth; rare in practice, used for specific hierarchical needs
120
+
121
+ **NOT a rule**: There is no algorithmic decision tree. Designers choose based on composition, not function.
122
+
123
+ ### Usage
124
+
125
+ #### Do
126
+
127
+ - Use surface colors for application backgrounds to establish the base canvas
128
+ - Use surface colors for panels that create new visual contexts
129
+ - Use surface colors for modal/dialog backgrounds (modals create isolated visual contexts, making them surfaces despite containing content)
130
+ - Apply surface colors to docked surfaces that establish surfaces
131
+ - Use surface colors for popovers and other elevated UI elements
132
+ - Anything that comes into the application's view with a higher stacking context establishes a new surface
133
+
134
+ #### Don't
135
+
136
+ - Avoid applying any decoration, brand bands, or textures to application backgrounds
137
+ - Avoid using for container elements that sit on top of surfaces (use surface-container instead)
138
+ - Avoid mixing surface colors with container colors in the same layer
139
+ - Don't use surface colors for text or icon fills
140
+ - **Don't assume numbering indicates states**: Surface variants are NOT for hover/active states—those typically use surface-container variants, accent colors, or component-level styling hooks depending on the theme
141
+
142
+ #### Context
143
+
144
+ - Application background (base canvas)
145
+ - Panels that establish new surfaces
146
+ - Modals and dialog backgrounds
147
+ - Docked containers
148
+ - Popovers and elevated UI elements
149
+ - Any element with a higher stacking context than previous surfaces
150
+
151
+ ### Accessibility
152
+
153
+ - Surface colors are designed to work with on-surface colors for proper contrast
154
+ - Ensure WCAG 2.1 color contrast requirements by pairing with appropriate on-surface values
155
+ - Use `--slds-g-color-on-surface-`* for text and icons on surface backgrounds. Choose on-surface level based on content importance and required contrast, not strict number matching. For example, pair `--slds-g-color-surface-1` with `--slds-g-color-on-surface-1` for consistency, though other on-surface levels may be used based on emphasis needs while maintaining accessibility compliance
156
+
157
+ ---
158
+
159
+ ## `--slds-g-color-surface-container-*`
160
+
161
+ ### Description
162
+
163
+ Surface container colors reserved for elements that sit on top of a surface and contain other UI elements or artifacts, such as text or icons.
164
+
165
+ ### Available Hooks
166
+
167
+ - `--slds-g-color-surface-container-1` - Lightest container background (typically white)
168
+ - `--slds-g-color-surface-container-2` - Light gray container background
169
+ - `--slds-g-color-surface-container-3` - Medium gray container background for additional hierarchy
170
+ - `--slds-g-color-surface-container-inverse-1` - Primary inverse surface container background
171
+ - `--slds-g-color-surface-container-inverse-2` - Secondary inverse surface container background
172
+
173
+ > **Note on Inverse Hooks:** Inverse hooks provide dark background colors for containers in dark mode or inverted color schemes. They work with on-surface-inverse hooks to maintain proper contrast for light content on dark container backgrounds.
174
+
175
+ ### Overlap with Surface Hooks
176
+
177
+ Surface and surface-container hooks use the **same color values** (e.g., `surface-1` and `surface-container-1` are both white). The distinction is **semantic**, not visual.
178
+
179
+ See [Surface vs Surface-Container: Decision Guide](#surface-vs-surface-container-decision-guide) for comprehensive guidance on when to use each.
180
+
181
+ ### State Progression Logic
182
+
183
+ **Design Intent-Dependent Patterns**: Unlike semantic accent or feedback containers with universal state progressions, surface-container state behavior varies based on design intent and interaction context:
184
+
185
+ - **For neutral hover states**: Use `surface-container-2` for hover states when default is `surface-container-1`
186
+ - **For brand-emphasized hover states**: Use brand colors (e.g., `brand-base-90` from the color palette) instead of surface-container variants
187
+ - **Context-Dependent**: Choice also depends on parent surface color and desired contrast level
188
+
189
+ **Why the variation**: Surface containers serve as neutral, foundational backgrounds for UI elements. Interactive hover states can either maintain neutral emphasis (using surface-container progression) or add brand emphasis (using brand colors from the palette), depending on the design's intent for that specific component.
190
+
191
+ **Best Practice**: Refer to component-level styling hooks for specific interactive patterns. Button, card, and list item components each have their own hover state definitions that may use surface-container variants, brand colors, accent colors, or component-specific styling hooks based on design requirements.
192
+
193
+ ### Usage
194
+
195
+ #### Do
196
+
197
+ - Use surface container colors for cards that sit on an established surface (page, modal, panel)
198
+ - Apply surface container colors to button icons that contain content
199
+ - Use surface container colors for button backgrounds
200
+ - Use surface container colors for tabset backgrounds
201
+ - One of the clearest signals for using surface container colors is if the element contains text or icons
202
+
203
+ #### Don't
204
+
205
+ - Avoid using for the base application background
206
+ - Avoid using for elements that don't contain other UI elements
207
+ - Avoid mixing with surface colors on the same visual layer
208
+ - Avoid using for decorative elements that don't establish containers
209
+
210
+ #### Context
211
+
212
+ - Cards within a page or modal (not full-page card layouts)
213
+ - Button backgrounds
214
+ - Button icon containers
215
+ - Tabset backgrounds
216
+ - Any element that contains text, icons, or other UI artifacts
217
+ - Interactive containers that sit above surfaces
218
+
219
+ ### Accessibility
220
+
221
+ - All surface container colors are designed to work with `--slds-g-color-on-surface-`* values for proper contrast
222
+ - Ensures proper WCAG 2.1 color contrast requirements are met
223
+ - Choose on-surface level based on content importance and required contrast, not strict number matching. For example, pair `--slds-g-color-surface-container-3` with `--slds-g-color-on-surface-3` for consistency, though other on-surface levels may be used based on emphasis needs while maintaining accessibility compliance
224
+ - Valid to use accent or feedback colors for text/icons on top of surface containers as alternatives (e.g., `--slds-g-color-accent-1`)
225
+
226
+ ---
227
+
228
+ ## `--slds-g-color-on-surface-*`
229
+
230
+ ### Description
231
+
232
+ Foreground colors for text or icons that appear on top of a surface or surface container, ensuring proper color contrast requirements.
233
+
234
+ ### Available Hooks
235
+
236
+ - `--slds-g-color-on-surface-1` - De-emphasized text (lowest emphasis, for captions and secondary content)
237
+ - `--slds-g-color-on-surface-2` - Body text (medium emphasis, for standard content and labels)
238
+ - `--slds-g-color-on-surface-3` - High-emphasis text (highest emphasis, for headings and primary content)
239
+ - `--slds-g-color-on-surface-inverse-1` - Primary inverse foreground color for inverse surfaces
240
+ - `--slds-g-color-on-surface-inverse-2` - Secondary inverse foreground color for inverse surfaces
241
+
242
+ > **Note on Inverse Hooks:** Inverse hooks provide light foreground colors (text/icons) designed for use on dark surface or surface-container inverse backgrounds. They ensure proper contrast when displaying content in dark mode or inverted color schemes.
243
+
244
+ ### Pairing Logic: Contrast Over Number-Matching
245
+
246
+ While the naming suggests pairing `on-surface-1` with `surface-1`, this is **NOT a strict rule**. Choose on-surface variants based on:
247
+
248
+ 1. **Content importance**: Headlines use `on-surface-3` (highest contrast), body text uses `on-surface-2`, labels/captions use `on-surface-1`
249
+ 2. **Accessibility requirements**: Always maintain 4.5:1 contrast ratio
250
+ 3. **Visual hierarchy needs**: NOT the surface variant number
251
+
252
+ All three `on-surface` variants can appear on the same `surface-container-1` background.
253
+
254
+ ### Usage
255
+
256
+ #### Do
257
+
258
+ - Use on-surface colors for text that appears on surface or surface container backgrounds
259
+ - Use on-surface colors for icons displayed on surfaces
260
+ - Use on-surface colors for any content that needs to meet WCAG 2.1 color contrast requirements
261
+
262
+ #### Don't
263
+
264
+ - Avoid using on accent color backgrounds (use on-accent colors instead)
265
+ - Avoid using on feedback color backgrounds (use on-feedback colors instead)
266
+ - Avoid using for large background areas
267
+ - Avoid using as standalone colors without appropriate surface backgrounds
268
+
269
+ #### Context
270
+
271
+ - Text on surface backgrounds
272
+ - Icons on surface or container backgrounds
273
+ - Body copy and content text
274
+ - UI labels and descriptive text
275
+ - Any foreground content requiring readability
276
+
277
+ #### Typography-Specific Usage
278
+
279
+
280
+ | Use Case | Description |
281
+ | ---------------- | ----------------------------------- |
282
+ | Body text | Standard paragraph text and content |
283
+ | Placeholder text | Input field placeholders |
284
+ | Field labels | Form field labels and descriptions |
285
+ | Sub-headings | Minor headings below primary titles |
286
+ | Taglines | Supporting text and captions |
287
+
288
+
289
+ **Background Requirements**: Use on backgrounds with lightness values 90-100 for optimal contrast.
290
+
291
+ **Applies to**: `--slds-g-color-on-surface-1`
292
+
293
+
294
+ | Use Case | Description |
295
+ | ------------------- | ------------------------------------------------- |
296
+ | Secondary text | Supporting content and descriptions |
297
+ | Tertiary headings | Lower-hierarchy headings |
298
+ | Dark body copy | Content requiring more emphasis than on-surface-1 |
299
+ | Filled input fields | Text entered by users in form fields |
300
+
301
+
302
+ **Background Requirements**: Use on backgrounds with lightness values 70-100 for optimal contrast.
303
+
304
+ **Applies to**: `--slds-g-color-on-surface-2`
305
+
306
+
307
+ | Use Case | Description |
308
+ | --------------------- | ------------------------------------------ |
309
+ | Page titles | Primary titles for pages or major sections |
310
+ | Component titles | Headings for cards, modals, and containers |
311
+ | High-emphasis content | Content requiring maximum visual weight |
312
+
313
+
314
+ **Background Requirements**: Use on backgrounds with lightness values 65-100 for optimal contrast.
315
+
316
+ **Applies to**: `--slds-g-color-on-surface-3`
317
+
318
+
319
+ | Use Case | Description |
320
+ | ------------------------------ | ------------------------------------------- |
321
+ | Title text on dark backgrounds | Page and component titles on dark surfaces |
322
+ | Body text on dark backgrounds | Content text on dark or colored backgrounds |
323
+
324
+
325
+ **Background Requirements**: Use on backgrounds with lightness values 0-50 for optimal contrast.
326
+
327
+ **Applies to**: `--slds-g-color-on-surface-inverse-1`
328
+
329
+ ### Accessibility
330
+
331
+ - All on-surface colors are AA compliant and maintain a 4.5:1 contrast ratio with their corresponding surface backgrounds
332
+ - Designed specifically to meet Web Content Accessibility Guidelines (WCAG) 2.1
333
+ - Best paired with matching surface or surface-container colors. Choose on-surface level based on content importance and required contrast, not strict number matching. For example, pair `--slds-g-color-on-surface-1` with `--slds-g-color-surface-1` or `--slds-g-color-surface-container-1` for consistency, though other pairings may be used based on emphasis needs while maintaining accessibility compliance
334
+ - Text links use `--slds-g-color-accent-2` (not accent-1) on surface backgrounds for accessibility compliance
335
+ - Disabled text uses `--slds-g-color-on-disabled-2`
336
+ - Feedback text uses appropriate `--slds-g-color-on-error-`*, `--slds-g-color-on-warning-*`, etc.
337
+
@@ -0,0 +1,132 @@
1
+ ---
2
+ id: slds.guidance.hooks.color.system
3
+ title: System Color Styling Hooks
4
+ description: Direct access to brand, neutral, and feedback color palettes for edge cases
5
+ summary: "Guidance for system color hooks providing direct palette access. Covers neutral, brand, error, warning, and success base colors. Use only when semantic hooks don't apply (5-10% of cases)."
6
+
7
+ artifact_type: reference
8
+ domain: styling-hooks
9
+ topic: color
10
+ subtopic: system
11
+
12
+ content_format: structured
13
+ complexity: advanced
14
+ audience: [implementer]
15
+
16
+ tasks: [choose, implement, troubleshoot]
17
+
18
+ refs:
19
+ - slds.guidance.hooks.color
20
+ - slds.guidance.hooks.color.accent
21
+ - slds.guidance.hooks.color.surface
22
+ - slds.guidance.hooks.color.feedback
23
+ - slds.guidance.uplift
24
+ - slds.guidance.hooks.color.expressive-palette
25
+ tags: [styling-hooks, color, system, neutral, brand, feedback, palette]
26
+ keywords: [system colors, neutral palette, brand colors, error colors, warning colors, success colors, edge cases]
27
+ ---
28
+
29
+ # System Color Styling Hooks
30
+
31
+ > **Hook Selection:** System hooks are for edge cases (5-10% of use). For standard UI, use semantic hooks first. See [Hook Selection Hierarchy](ref:slds.guidance.hooks.color).
32
+
33
+ ## Overview
34
+
35
+ System color styling hooks contain the complete set of values based on their semantics: brand, neutral, and feedback colors. These hooks provide direct access to the underlying color palette values and should only be used in edge cases where a semantic UI color does not make sense.
36
+
37
+ ### Internal Hooks (Not for External Use)
38
+
39
+ | Prefix | Audience |
40
+ |--------|----------|
41
+ | `--slds-s-*` | Internal Salesforce only |
42
+ | `--slds-c-*` | Internal Salesforce only |
43
+
44
+ ---
45
+
46
+ ## Available System Color Categories
47
+
48
+ ### Neutral Colors
49
+ Used for various UI elements such as text, surfaces, and non-functional UI.
50
+
51
+ **Hook Pattern:** `--slds-g-color-neutral-base-{grade}`
52
+
53
+ ### Brand Colors
54
+ Electric-blue colors used for buttons, hover states, and selected or active states. Do not use for decorative purposes.
55
+
56
+ **Hook Pattern:** `--slds-g-color-brand-base-{grade}`
57
+
58
+ ### Feedback Colors
59
+
60
+ #### Error Colors
61
+ Pink colors only to be used for error feedback or alert states.
62
+
63
+ **Hook Pattern:** `--slds-g-color-error-base-{grade}`
64
+
65
+ #### Warning Colors
66
+ Yellow colors only to be used for warning feedback or alert states.
67
+
68
+ **Hook Pattern:** `--slds-g-color-warning-base-{grade}`
69
+
70
+ #### Success Colors
71
+ Teal colors only to be used for success feedback or alert states.
72
+
73
+ **Hook Pattern:** `--slds-g-color-success-base-{grade}`
74
+
75
+ ---
76
+
77
+ ## Usage
78
+
79
+ ### Do
80
+ - Use system colors only in edge cases where semantic UI colors (accent, surface, feedback) do not make sense
81
+ - Use neutral-base colors for various UI elements such as text, surfaces, and non-functional UI
82
+ - Use brand-base colors (electric-blue) for buttons, hover states, and selected or active states
83
+ - Use feedback colors (error-base, warning-base, success-base) for their intended feedback or alert states
84
+ - Use system colors when building custom components that need direct palette access
85
+ - System colors provide precise color control for specific design scenarios
86
+
87
+ ### Don't
88
+ - Avoid using system colors as a first choice—always prefer semantic UI colors (accent, surface, feedback) when available
89
+ - Avoid using brand-base colors for decorative purposes
90
+ - Avoid using error-base, warning-base, or success-base colors outside of their designated feedback contexts
91
+ - Avoid mixing system colors with semantic colors unnecessarily
92
+ - Avoid using system colors when a semantic color hook would provide the same result
93
+ - Avoid overriding the design system's intended color semantics
94
+
95
+ ### Context: When to Use System Colors
96
+
97
+ **System colors are appropriate for:**
98
+
99
+ | Scenario | Example | Why System Colors |
100
+ |----------|---------|-------------------|
101
+ | Data visualization | Charts, graphs, heatmaps | Need precise color control beyond semantic meaning |
102
+ | Custom brand elements | Product-specific features | Require exact palette values |
103
+ | Legacy migration | Updating older components | Matching specific existing colors |
104
+ | Edge case UI | Specialized indicators | No semantic color fits the use case |
105
+
106
+ **Decision flow:** Before using a system color, verify that no semantic color (accent, surface, feedback) serves the same purpose. System colors bypass the design system's built-in accessibility guarantees.
107
+
108
+ ## When to Use Semantic Colors Instead
109
+
110
+ Before using system colors, always consider if one of these semantic options would be more appropriate:
111
+
112
+ - **For brand elements and interactive states:** Use `--slds-g-color-accent-*` instead of `--slds-g-color-brand-base-*`
113
+ - **For backgrounds and surfaces:** Use `--slds-g-color-surface-*` or `--slds-g-color-surface-container-*` instead of `--slds-g-color-neutral-base-*`
114
+ - **For feedback states:** Use `--slds-g-color-error-*`, `--slds-g-color-warning-*`, or `--slds-g-color-success-*` instead of the base feedback colors
115
+ - **For text and icons:** Use `--slds-g-color-on-surface-*`, `--slds-g-color-on-accent-*`, or appropriate on-feedback colors
116
+
117
+ ## Accessibility
118
+
119
+ - System colors do not inherently guarantee accessible contrast ratios
120
+ - **Manual verification required:** Ensure 50-point separation for text (4.5:1) and 40-point for UI (3:1)
121
+ - When using system colors, you must manually verify WCAG 2.1 color contrast requirements
122
+ - Semantic color hooks (accent, surface, feedback) are designed to maintain proper contrast when used as intended
123
+ - Always test custom combinations of system colors for accessibility compliance
124
+ - Prefer semantic color hooks which handle contrast ratios automatically
125
+
126
+ ## Color Grade Scale
127
+
128
+ > **Grade Scale:** SLDS uses a 0-100 grade scale where 0 is darkest and 100 is lightest. Point separations guarantee accessibility: 50-point = 4.5:1 contrast (text), 40-point = 3:1 contrast (UI).
129
+ >
130
+ > For complete grade scale documentation and the numerical color system, see the [Color Hooks Index](ref:slds.guidance.hooks.color).
131
+
132
+