@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,327 @@
1
+ ---
2
+ id: slds.guidance.hooks
3
+ title: SLDS Styling Hooks - Agent Guidance
4
+ description: Comprehensive guidance for using SLDS styling hooks in component development
5
+ summary: "Entry point for all styling hooks guidance. Covers the three-tier hook hierarchy (global, shared, component), core categories (color, spacing, typography, shadows, borders), usage patterns, decision trees, and accessibility requirements. Use styling hooks instead of hard-coded values for theme-aware, maintainable components."
6
+
7
+ artifact_type: index
8
+ domain: styling-hooks
9
+
10
+ content_format: structured
11
+ complexity: intermediate
12
+ audience: [implementer]
13
+
14
+ tasks: [choose, implement, troubleshoot]
15
+
16
+ children:
17
+ - slds.guidance.hooks.color
18
+ - slds.guidance.hooks.typography
19
+ - slds.guidance.hooks.spacing
20
+ - slds.guidance.hooks.borders
21
+ - slds.guidance.hooks.shadows
22
+
23
+ refs:
24
+ - slds.guidance.hooks.shadows
25
+ - slds.guidance.hooks.borders
26
+ tags: [styling-hooks, index, color, spacing, typography, shadows, borders, theming]
27
+ keywords: [styling hooks, CSS custom properties, theming, accessibility, design tokens, SLDS]
28
+ ---
29
+
30
+ # SLDS Styling Hooks: Guidance for Coding Agents
31
+
32
+ ## Overview
33
+
34
+ The Salesforce Lightning Design System (SLDS) styling hooks are CSS custom properties that provide a theme-aware, maintainable styling system. When generating or optimizing SLDS components, **always use styling hooks instead of hard-coded values** to ensure components adapt automatically to:
35
+
36
+ - Brand themes and customizations
37
+ - Light/dark mode switches
38
+ - Density settings (compact, comfy, spacious)
39
+ - Accessibility requirements
40
+ - Future design system updates
41
+
42
+ **Critical Rule:** Reference styling hooks using `var()` — never reassign their values. Salesforce controls these values and can change them at any time.
43
+
44
+ ---
45
+
46
+ ## Styling Hook Hierarchy
47
+
48
+ SLDS styling hooks follow a three-tier naming convention:
49
+
50
+ 1. **Global Semantic** (`--slds-g-*`): System-wide hooks for universal use across all components
51
+ 2. **Shared** (`--slds-s-*`): Private/internal hooks — **DO NOT USE** (reserved for Salesforce)
52
+ 3. **Component-Specific** (`--slds-c-*`): Hooks scoped to individual component types for fine-tuning
53
+
54
+ **Always use global hooks (`--slds-g-*`) unless component-specific hooks exist for your use case.**
55
+
56
+ ---
57
+
58
+ ## Core Categories
59
+
60
+ ### 1. Color Hooks (`--slds-g-color-*`)
61
+
62
+ SLDS provides a comprehensive color system organized into three tiers:
63
+
64
+ #### **Tier 1: Semantic UI Colors (PREFERRED)**
65
+
66
+ Purpose-driven colors that automatically adapt to themes and modes:
67
+
68
+ - **Surface** (`surface-*`): Page backgrounds, panels, modal overlays
69
+ - **Container** (`container-*`): Buttons, cards, tabs, input fields
70
+ - **Accent** (`accent-*`): Brand emphasis and selection states
71
+ - **Border** (`border-*`): Component borders, dividers, separators
72
+ - **Feedback** (`feedback-*`): Alerts, notifications, validation states
73
+ - **On-Colors** (`on-*`): Text and icons on colored backgrounds
74
+
75
+ #### **Tier 2: System Colors**
76
+
77
+ Accessible, system-wide colors for edge cases where semantic colors don't apply.
78
+
79
+ #### **Tier 3: Palette Colors (Use Sparingly)**
80
+
81
+ Raw color values for data visualization and custom scenarios.
82
+
83
+ > **💡 Detailed color guidance:** See [Color Styling Hooks Index](ref:slds.guidance.hooks.color) for the complete color system documentation.
84
+
85
+ ---
86
+
87
+ ### 2. Spacing Hooks (`--slds-g-spacing-*`)
88
+
89
+ SLDS uses a numbered scale (NOT named like "small/medium/large"):
90
+
91
+ | Hook Name | Value | Pixels | Legacy Equivalent |
92
+ | --------------------- | ------- | ------ | ----------------- |
93
+ | `--slds-g-spacing-1` | 0.25rem | 4px | xx-small |
94
+ | `--slds-g-spacing-2` | 0.5rem | 8px | x-small |
95
+ | `--slds-g-spacing-3` | 0.75rem | 12px | small |
96
+ | `--slds-g-spacing-4` | 1rem | 16px | medium |
97
+ | `--slds-g-spacing-5` | 1.5rem | 24px | large |
98
+ | `--slds-g-spacing-6` | 2rem | 32px | x-large |
99
+ | `--slds-g-spacing-7` | 2.5rem | 40px | xx-large |
100
+ | `--slds-g-spacing-8` | 3rem | 48px | xxx-large |
101
+ | `--slds-g-spacing-9` | 3.5rem | 56px | - |
102
+ | `--slds-g-spacing-10` | 4rem | 64px | - |
103
+ | `--slds-g-spacing-11` | 4.5rem | 72px | - |
104
+ | `--slds-g-spacing-12` | 5rem | 80px | - |
105
+
106
+ **Usage:**
107
+
108
+ ```css
109
+ /* Use numbered hooks - NOT named ones */
110
+ margin: var(--slds-g-spacing-4); /* ✅ Correct */
111
+ padding: var(--slds-g-spacing-2) var(--slds-g-spacing-4); /* ✅ Correct */
112
+
113
+ /* DON'T use named hooks - they don't exist */
114
+ margin: var(--slds-g-spacing-medium); /* ❌ Wrong - hook doesn't exist */
115
+ ```
116
+
117
+ > **💡 Detailed spacing guidance:** See [Spacing and Sizing Hooks](ref:slds.guidance.hooks.spacing) for complete documentation.
118
+
119
+ ---
120
+
121
+ ### 3. Typography Hooks (`--slds-g-font-*`)
122
+
123
+ #### Font Families
124
+
125
+ - `--slds-g-font-family` - Default font family
126
+ - `--slds-g-font-family-base` - Base font family
127
+ - `--slds-g-font-family-monospace` - For code snippets
128
+
129
+ #### Font Weights (Numbered 1-7)
130
+
131
+ | Hook Name | Typical Value | Common Name |
132
+ | ------------------------ | ------------- | ----------- |
133
+ | `--slds-g-font-weight-1` | 300 | Light |
134
+ | `--slds-g-font-weight-2` | 300 | Light |
135
+ | `--slds-g-font-weight-3` | 400 | Regular |
136
+ | `--slds-g-font-weight-4` | 400 | Regular |
137
+ | `--slds-g-font-weight-5` | 500 | Medium |
138
+ | `--slds-g-font-weight-6` | 600 | Semi-Bold |
139
+ | `--slds-g-font-weight-7` | 700 | Bold |
140
+
141
+ **Usage:**
142
+
143
+ ```css
144
+ /* Use numbered hooks */
145
+ font-weight: var(--slds-g-font-weight-7); /* Bold */
146
+
147
+ /* DON'T use named hooks - they don't exist */
148
+ font-weight: var(--slds-g-font-weight-bold); /* ❌ Wrong */
149
+ ```
150
+
151
+ > **💡 Detailed typography guidance:** See [Typography Styling Hooks](ref:slds.guidance.hooks.typography) for complete documentation.
152
+
153
+ ---
154
+
155
+ ### 4. Other Styling Hooks
156
+
157
+ - **Sizing** (`--slds-g-sizing-*`): Component dimensions, icon sizes, border widths
158
+ - **Shadow** (`--slds-g-shadow-*`): Elevation and depth effects
159
+ - **Radius** (`--slds-g-radius-*`): Border radius values for rounded corners
160
+
161
+ ---
162
+
163
+ ## Usage Patterns
164
+
165
+ ### Pattern 1: Interactive Component States (Accent Colors)
166
+
167
+ ```css
168
+ .button {
169
+ background: var(--slds-g-color-accent-container-1);
170
+ color: var(--slds-g-color-on-accent-1);
171
+ border: 1px solid var(--slds-g-color-border-accent-1);
172
+ padding: var(--slds-g-spacing-2) var(--slds-g-spacing-4);
173
+ border-radius: var(--slds-g-radius-border-1);
174
+ }
175
+
176
+ .button:hover {
177
+ background: var(--slds-g-color-accent-container-2);
178
+ color: var(--slds-g-color-on-accent-2);
179
+ border-color: var(--slds-g-color-border-accent-2);
180
+ }
181
+
182
+ .button:active {
183
+ background: var(--slds-g-color-accent-container-3);
184
+ color: var(--slds-g-color-on-accent-3);
185
+ border-color: var(--slds-g-color-border-accent-3);
186
+ }
187
+ ```
188
+
189
+ ### Pattern 2: Semantic Surfaces
190
+
191
+ ```css
192
+ .card {
193
+ background: var(--slds-g-color-surface-container-1);
194
+ color: var(--slds-g-color-on-surface-1);
195
+ padding: var(--slds-g-spacing-4);
196
+ border: 1px solid var(--slds-g-color-border-1);
197
+ border-radius: var(--slds-g-radius-border-1);
198
+ }
199
+ ```
200
+
201
+ ### Pattern 3: Feedback States
202
+
203
+ ```css
204
+ .alert-error {
205
+ background: var(--slds-g-color-error-container-1);
206
+ color: var(--slds-g-color-on-error-1);
207
+ border-left: 4px solid var(--slds-g-color-error-1);
208
+ padding: var(--slds-g-spacing-2) var(--slds-g-spacing-4);
209
+ }
210
+
211
+ .alert-success {
212
+ background: var(--slds-g-color-success-container-1);
213
+ color: var(--slds-g-color-on-success-1);
214
+ border-left: 4px solid var(--slds-g-color-success-1);
215
+ }
216
+ ```
217
+
218
+ ---
219
+
220
+ ## Decision Tree for Coding Agents
221
+
222
+ ### Step 1: Check for Component-Specific Hooks
223
+
224
+ Search for `--slds-c-[component-name]-*` hooks first (highest specificity).
225
+
226
+ ### Step 2: Use Semantic UI Colors (Preferred)
227
+
228
+ For colors, prefer semantic hooks:
229
+
230
+ - **Surface/Container**: `surface-1/2/3`, `surface-container-1/2/3`, `on-surface-1/2/3`
231
+ - **Accent**: `accent-1/2/3`, `accent-container-1/2/3`, `border-accent-1/2/3`, `on-accent-1/2/3`
232
+ - **Feedback**: `error-1`, `success-1`, `warning-1`, `info-1` with their container and on-color variants
233
+
234
+ ### Step 3: Use Numbered Spacing & Typography
235
+
236
+ Always use numbered hooks where available:
237
+
238
+ ```css
239
+ padding: var(--slds-g-spacing-4);
240
+ font-weight: var(--slds-g-font-weight-5);
241
+ font-size: var(--slds-g-font-size-base); /* Or use rem values */
242
+ ```
243
+
244
+ ---
245
+
246
+ ## Critical Rules
247
+
248
+ ### ✅ DO:
249
+
250
+ - Reference hooks with `var()`: `color: var(--slds-g-color-accent-1);`
251
+ - Use numbered spacing: `spacing-4` not `spacing-medium`
252
+ - Use numbered font weights: `font-weight-5` not `font-weight-medium`
253
+ - Prefer semantic UI colors over system colors and palette colors
254
+ - Pair container colors with on-colors for text/icons
255
+ - Follow the 50-point rule for text contrast, 40-point rule for UI elements
256
+
257
+ ### ❌ DON'T:
258
+
259
+ - Reassign hook values: `--slds-g-color-accent-1: #ff0000;` ❌
260
+ - Use private hooks (`--_slds-*` or `--slds-s-*`)
261
+ - Use `@layer` syntax (reserved for Salesforce)
262
+ - Use named spacing hooks (`spacing-small`, `spacing-medium`) - they don't exist
263
+ - Use named font hooks (`font-weight-medium`, `font-weight-bold`) - they don't exist
264
+ - Hard-code values when hooks exist
265
+
266
+ ---
267
+
268
+ ## Accessibility Compliance
269
+
270
+ ### Color Contrast Rules
271
+
272
+ | Separation | Contrast Ratio | Use Case |
273
+ | ---------- | -------------- | -------------------------- |
274
+ | 50 points | 4.5:1 | Text (WCAG AA) |
275
+ | 40 points | 3:1 | UI elements, borders |
276
+
277
+ ### Automatic Compliance with Semantic Colors
278
+
279
+ When using semantic accent colors, SLDS ensures contrast automatically:
280
+
281
+ ```css
282
+ /* ✅ ALWAYS COMPLIANT when using matching pairs */
283
+ .accent-button {
284
+ background: var(--slds-g-color-accent-container-1);
285
+ color: var(--slds-g-color-on-accent-1); /* Pre-validated pairing */
286
+ }
287
+ ```
288
+
289
+ ---
290
+
291
+ ## Troubleshooting
292
+
293
+ ### Problem: Hook name not working
294
+
295
+ **Solution:** Verify naming convention:
296
+
297
+ - Use numbered spacing: `spacing-4` NOT `spacing-medium`
298
+ - Use numbered fonts: `font-weight-5` NOT `font-weight-medium`
299
+
300
+ ### Problem: Colors have poor contrast
301
+
302
+ **Solution:**
303
+
304
+ - Use semantic hooks with paired on-colors
305
+ - For palette: 50-point separation for text, 40-point for UI elements
306
+
307
+ ### Problem: Spacing inconsistent
308
+
309
+ **Solution:**
310
+
311
+ - Use numbered spacing hooks: `spacing-2`, `spacing-4`
312
+ - Check spacing scale: 8px=spacing-2, 16px=spacing-4, 24px=spacing-5
313
+
314
+ ---
315
+
316
+ ## Summary
317
+
318
+ When generating or optimizing SLDS components:
319
+
320
+ 1. **Use semantic hooks first** — Prefer semantic UI colors over system/palette
321
+ 2. **Use numbered hooks** — spacing-4, font-weight-5 (NOT named like "medium")
322
+ 3. **Font sizes** — Use `font-size-base` or rem values
323
+ 4. **Follow the three-tier color system** — Semantic UI → System Colors → Expressive Palette
324
+ 5. **Pair containers with on-colors** — Use `on-surface-*`, `on-accent-*`, `on-error-*` for text/icons
325
+ 6. **Test accessibility** — Verify contrast ratios and keyboard navigation
326
+
327
+ **The goal:** Build theme-aware, accessible components that adapt automatically to brand customizations, light/dark modes, and density settings.
@@ -0,0 +1,238 @@
1
+ ---
2
+ id: slds.guidance.hooks.shadows
3
+ title: Shadows Styling Hooks
4
+ description: Styling hooks for depth shadows, directional shadows, and inset shadows
5
+ summary: "Guidance for shadow styling hooks that establish visual hierarchy and elevation. Covers depth shadows (1-4), directional shadows, and inset shadows for pressed/focused states."
6
+
7
+ artifact_type: reference
8
+ domain: styling-hooks
9
+ topic: shadows
10
+
11
+ content_format: structured
12
+ complexity: intermediate
13
+ audience: [implementer]
14
+
15
+ tasks: [choose, implement, troubleshoot]
16
+
17
+ refs:
18
+ - slds.guidance.hooks
19
+ - slds.guidance.hooks.borders
20
+ - slds.guidance.hooks.color.surface
21
+ tags: [styling-hooks, shadows, elevation, depth, visual-hierarchy]
22
+ keywords: [shadow depth, elevation, stacking order, directional shadow, inset shadow, focus shadow]
23
+ ---
24
+
25
+ # Shadows Styling Hooks
26
+
27
+ ## Overview
28
+
29
+ Shadow styling hooks establish visual hierarchy, depth, and elevation in UI interfaces. All shadow styling hooks are prefixed with `--slds-g-` for global scope, `--slds-s-` for shared scope, or `--slds-c-` for component scope, followed by the shadow name. For example, `--slds-g-shadow-1` is the styling hook for a shadow depth of 1.
30
+
31
+ ---
32
+
33
+ ## `--slds-g-shadow-*`
34
+
35
+ ### Description
36
+
37
+ Depth shadow hooks communicate elevation and visual hierarchy. Use these hooks to indicate which elements appear above others in the stacking order. Higher shadow values indicate elements that are visually higher in the stacking order.
38
+
39
+ **Hook Pattern:** `--slds-g-shadow-{n}` where `{n}` is the depth level
40
+
41
+ ### Usage
42
+
43
+ #### Do
44
+
45
+ - Match shadow values to stacking order — elements with higher stacking order should have higher shadow values
46
+ - Leverage z-index to manage stacking order alongside shadow values
47
+ - Use depth shadows for elements that need to appear above the base surface
48
+
49
+ #### Don't
50
+
51
+ - Avoid applying shadows to base level components — components that sit on the surface and don't cover other components should not have shadows in SLDS 2
52
+
53
+ #### Context
54
+
55
+ | Shadow Hook | Components |
56
+ |-------------|------------|
57
+ | `--slds-g-shadow-1` | Page headers, joined tables, filter panels, dropdowns, inline edit, images, slider handles |
58
+ | `--slds-g-shadow-2` | Menu, docked form footer, docked utility bar, color picker, notifications |
59
+ | `--slds-g-shadow-3` | Panel, docked composer, tooltip, toast |
60
+ | `--slds-g-shadow-4` | Modal, popover, App Launcher |
61
+
62
+ **Note:** `shadow-5` and `shadow-6` are aliases that inherit from `shadow-4`.
63
+
64
+ ---
65
+
66
+ ## `--slds-g-shadow-{direction}-*`
67
+
68
+ ### Description
69
+
70
+ Directional shadow hooks allow shadows to be cast in specific directions. Use these hooks for components positioned against edges of the screen where the shadow direction matters.
71
+
72
+ **Hook Pattern:** `--slds-g-shadow-{direction}-{n}` where `{direction}` is the shadow direction and `{n}` is the depth level
73
+
74
+ **Available Directions:**
75
+ - `block-start` — Upward shadow
76
+ - `block-end` — Downward shadow (inherits from base `shadow-{n}`)
77
+ - `inline-start` — Left shadow
78
+ - `inline-end` — Right shadow
79
+
80
+ ### Usage
81
+
82
+ #### Do
83
+
84
+ - Use directional shadows for panels and side-docked components
85
+ - Use directional shadows when components are positioned against screen edges
86
+ - Use `shadow-3 left` or `shadow-3 right` on panels depending on screen position
87
+
88
+ #### Context
89
+
90
+ - Panels use directional shadows based on which side of the screen they are placed
91
+ - `block-start` and `block-end` follow CSS logical properties (vertical axis)
92
+ - `inline-start` and `inline-end` follow CSS logical properties (horizontal axis)
93
+
94
+ ---
95
+
96
+ ## `--slds-g-shadow-{type}-focus-*`
97
+
98
+ ### Description
99
+
100
+ Focus shadow hooks provide visual feedback for keyboard navigation and accessibility. Use these hooks to ensure focus states meet accessibility requirements across all backgrounds.
101
+
102
+ **Hook Pattern:** `--slds-g-shadow-{type}-focus-{n}` where `{type}` is the focus style and `{n}` is the focus level
103
+
104
+ **Available Types:**
105
+ - `outline-focus` — Simple outline focus
106
+ - `outset-focus` — Double ring outset focus (white inner ring, brand outer ring)
107
+ - `inset-focus` — Single ring inset focus
108
+ - `inset-inverse-focus` — Double ring inset focus (brand inner, white outer)
109
+
110
+ ### Usage
111
+
112
+ #### Do
113
+
114
+ - Focus states within SLDS 2 consist of a white border outline surrounded by a dark blue border outline
115
+ - This style ensures that the focus state passes accessibility requirements on any background
116
+
117
+ #### Context
118
+
119
+ - Focus states within enhanced Lightning UI are applied via shadow
120
+ - The double-ring focus pattern provides sufficient contrast on both light and dark backgrounds
121
+
122
+ ### Accessibility
123
+
124
+ - Focus shadows ensure minimum 3:1 contrast against any background color
125
+ - The white + dark blue double-ring pattern guarantees visibility on both light and dark backgrounds
126
+ - Focus visibility is required for WCAG 2.1 keyboard navigation compliance
127
+ - Accessibility requirements apply — consult your project's accessibility standards
128
+
129
+ ---
130
+
131
+ ## `--slds-s-button-shadow-*`
132
+
133
+ ### Description
134
+
135
+ Button shadow hooks control the visual states for button interactions. Use these hooks for focus, active (pressed), and hover states on buttons.
136
+
137
+ **Available Hooks:**
138
+ - `--slds-s-button-shadow-focus` — Focus state for neutral buttons
139
+ - `--slds-s-button-shadow-focus-inverse` — Focus state for inverse buttons
140
+ - `--slds-s-button-shadow-active` — Pressed/active state (inset shadow)
141
+ - `--slds-s-button-brand-shadow-hover` — Hover lift effect for brand buttons
142
+ - `--slds-s-button-bordered-shadow-hover` — Hover lift effect for bordered/neutral buttons
143
+
144
+ ### Usage
145
+
146
+ #### Do
147
+
148
+ - Button components use a hover bevel and inner shadow on click that is separate from the elevation system
149
+ - `button-shadow-active` is used on all buttons when pressed, regardless of color or border
150
+
151
+ #### Don't
152
+
153
+ - Avoid using bevel and inset shadows in custom situations — they are only used on buttons and inputs where specified
154
+
155
+ #### Context
156
+
157
+ - Active state uses inset shadows to create a "pressed in" appearance
158
+ - Hover state uses drop shadows with transform for a "lift" effect
159
+ - Focus state uses the standard focus ring pattern
160
+
161
+ ---
162
+
163
+ ## `--slds-s-input-shadow-*`
164
+
165
+ ### Description
166
+
167
+ Input shadow hooks control the visual states for input field interactions. Use these hooks for focus and validation states on input containers.
168
+
169
+ **Available Hooks:**
170
+ - `--slds-s-input-shadow-focus` — Focus state for input containers (includes inset shadow + focus ring)
171
+ - `--slds-s-input-shadow-invalid` — Error state for input containers
172
+
173
+ ### Usage
174
+
175
+ #### Do
176
+
177
+ - Input focus combines an inset shadow with the standard focus ring
178
+ - Use input shadow hooks for text inputs, comboboxes, and text areas
179
+
180
+ #### Don't
181
+
182
+ - Avoid using input inset shadows in custom situations — they are only used where specified in the design system
183
+
184
+ #### Context
185
+
186
+ - Focus state combines visual depth (inset shadow) with accessibility (focus ring)
187
+ - Invalid state may remove shadows to emphasize the error border treatment
188
+
189
+ ---
190
+
191
+ ## `--slds-s-mark-shadow-*`
192
+
193
+ ### Description
194
+
195
+ Mark shadow hooks control the visual states for checkbox, radio button, and toggle interactions. Use these hooks for focus and checked states on mark elements.
196
+
197
+ **Available Hooks:**
198
+ - `--slds-s-mark-shadow-focus` — Focus state for checkboxes, radios, and toggles
199
+ - `--slds-s-mark-shadow-checked` — Checked/selected state (inset shadow)
200
+
201
+ ### Usage
202
+
203
+ #### Do
204
+
205
+ - `mark-shadow-checked` is used on selected or active checkboxes, radio buttons, and checkbox toggles
206
+ - Use mark shadow hooks for indicating the selected state with visual depth
207
+
208
+ #### Don't
209
+
210
+ - Avoid using mark inset shadows in custom situations — they are only used on marks where specified
211
+
212
+ #### Context
213
+
214
+ - Checked state uses inset shadow to create visual depth indicating selection
215
+ - Focus state uses the standard focus ring pattern for accessibility
216
+
217
+ ---
218
+
219
+ ## `--slds-c-button-{variant}-shadow-hover`
220
+
221
+ ### Description
222
+
223
+ Component-level button variant shadow hooks provide hover effects for specific button variants. Use these hooks when implementing success, destructive, or inverse button variants.
224
+
225
+ **Available Hooks:**
226
+ - `--slds-c-button-success-shadow-hover` — Hover shadow for success buttons
227
+ - `--slds-c-button-destructive-shadow-hover` — Hover shadow for destructive buttons
228
+ - `--slds-c-button-inverse-shadow-hover` — Hover shadow for inverse buttons
229
+
230
+ ### Usage
231
+
232
+ #### Context
233
+
234
+ - These hooks provide variant-specific hover lift effects
235
+ - Each uses a tinted shadow that matches the button's color scheme
236
+ - Used in combination with transform for the lift animation effect
237
+
238
+