@salesforce/afv-skills 1.13.0 → 1.15.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 (359) hide show
  1. package/package.json +3 -3
  2. package/skills/applying-slds/SKILL.md +322 -0
  3. package/skills/applying-slds/checklists.md +83 -0
  4. package/skills/applying-slds/examples.md +283 -0
  5. package/skills/applying-slds/guidance/README.md +83 -0
  6. package/skills/applying-slds/guidance/blueprints-index.md +213 -0
  7. package/skills/applying-slds/guidance/icons-guidance.md +186 -0
  8. package/skills/applying-slds/guidance/overviews/borders.md +236 -0
  9. package/skills/applying-slds/guidance/overviews/color.md +266 -0
  10. package/skills/applying-slds/guidance/overviews/display-density.md +366 -0
  11. package/skills/applying-slds/guidance/overviews/icons.md +240 -0
  12. package/skills/applying-slds/guidance/overviews/illustrations.md +235 -0
  13. package/skills/applying-slds/guidance/overviews/shadows.md +176 -0
  14. package/skills/applying-slds/guidance/overviews/spacing.md +216 -0
  15. package/skills/applying-slds/guidance/overviews/typography.md +323 -0
  16. package/skills/applying-slds/guidance/overviews/utilities.md +542 -0
  17. package/skills/applying-slds/guidance/slds-development-guide.md +288 -0
  18. package/skills/applying-slds/guidance/styling-hooks/borders.md +202 -0
  19. package/skills/applying-slds/guidance/styling-hooks/color/expressive-palette-hooks.md +153 -0
  20. package/skills/applying-slds/guidance/styling-hooks/color/index.md +171 -0
  21. package/skills/applying-slds/guidance/styling-hooks/color/semantic/accent-hooks.md +204 -0
  22. package/skills/applying-slds/guidance/styling-hooks/color/semantic/feedback-hooks.md +768 -0
  23. package/skills/applying-slds/guidance/styling-hooks/color/semantic/surface-hooks.md +337 -0
  24. package/skills/applying-slds/guidance/styling-hooks/color/system-hooks.md +132 -0
  25. package/skills/applying-slds/guidance/styling-hooks/index.md +327 -0
  26. package/skills/applying-slds/guidance/styling-hooks/shadows.md +238 -0
  27. package/skills/applying-slds/guidance/styling-hooks/spacing.md +254 -0
  28. package/skills/applying-slds/guidance/styling-hooks/typography.md +448 -0
  29. package/skills/applying-slds/guidance/utilities/alignment.md +119 -0
  30. package/skills/applying-slds/guidance/utilities/borders.md +131 -0
  31. package/skills/applying-slds/guidance/utilities/box.md +125 -0
  32. package/skills/applying-slds/guidance/utilities/color.md +165 -0
  33. package/skills/applying-slds/guidance/utilities/dark-mode.md +111 -0
  34. package/skills/applying-slds/guidance/utilities/description-list.md +168 -0
  35. package/skills/applying-slds/guidance/utilities/floats.md +117 -0
  36. package/skills/applying-slds/guidance/utilities/grid.md +264 -0
  37. package/skills/applying-slds/guidance/utilities/horizontal-list.md +110 -0
  38. package/skills/applying-slds/guidance/utilities/hyphenation.md +84 -0
  39. package/skills/applying-slds/guidance/utilities/index.md +205 -0
  40. package/skills/applying-slds/guidance/utilities/interactions.md +89 -0
  41. package/skills/applying-slds/guidance/utilities/layout.md +109 -0
  42. package/skills/applying-slds/guidance/utilities/line-clamp.md +131 -0
  43. package/skills/applying-slds/guidance/utilities/margin.md +155 -0
  44. package/skills/applying-slds/guidance/utilities/media-object.md +161 -0
  45. package/skills/applying-slds/guidance/utilities/name-value-list.md +152 -0
  46. package/skills/applying-slds/guidance/utilities/padding.md +155 -0
  47. package/skills/applying-slds/guidance/utilities/position.md +177 -0
  48. package/skills/applying-slds/guidance/utilities/print.md +114 -0
  49. package/skills/applying-slds/guidance/utilities/scrollable.md +126 -0
  50. package/skills/applying-slds/guidance/utilities/sizing.md +190 -0
  51. package/skills/applying-slds/guidance/utilities/themes.md +121 -0
  52. package/skills/applying-slds/guidance/utilities/truncate.md +127 -0
  53. package/skills/applying-slds/guidance/utilities/typography.md +166 -0
  54. package/skills/applying-slds/guidance/utilities/vertical-list.md +166 -0
  55. package/skills/applying-slds/guidance/utilities/visibility.md +228 -0
  56. package/skills/applying-slds/metadata/README.md +84 -0
  57. package/skills/applying-slds/metadata/blueprints/components/accordion.yaml +304 -0
  58. package/skills/applying-slds/metadata/blueprints/components/activity-timeline.yaml +92 -0
  59. package/skills/applying-slds/metadata/blueprints/components/alert.yaml +103 -0
  60. package/skills/applying-slds/metadata/blueprints/components/app-launcher.yaml +94 -0
  61. package/skills/applying-slds/metadata/blueprints/components/avatar-group.yaml +81 -0
  62. package/skills/applying-slds/metadata/blueprints/components/avatar.yaml +97 -0
  63. package/skills/applying-slds/metadata/blueprints/components/badges.yaml +102 -0
  64. package/skills/applying-slds/metadata/blueprints/components/brand-band.yaml +198 -0
  65. package/skills/applying-slds/metadata/blueprints/components/breadcrumbs.yaml +95 -0
  66. package/skills/applying-slds/metadata/blueprints/components/builder-header.yaml +192 -0
  67. package/skills/applying-slds/metadata/blueprints/components/button-groups.yaml +82 -0
  68. package/skills/applying-slds/metadata/blueprints/components/button-icons.yaml +295 -0
  69. package/skills/applying-slds/metadata/blueprints/components/buttons.yaml +230 -0
  70. package/skills/applying-slds/metadata/blueprints/components/cards.yaml +124 -0
  71. package/skills/applying-slds/metadata/blueprints/components/carousel.yaml +140 -0
  72. package/skills/applying-slds/metadata/blueprints/components/chat.yaml +179 -0
  73. package/skills/applying-slds/metadata/blueprints/components/checkbox-button-group.yaml +192 -0
  74. package/skills/applying-slds/metadata/blueprints/components/checkbox-button.yaml +204 -0
  75. package/skills/applying-slds/metadata/blueprints/components/checkbox-toggle.yaml +177 -0
  76. package/skills/applying-slds/metadata/blueprints/components/checkbox.yaml +108 -0
  77. package/skills/applying-slds/metadata/blueprints/components/color-picker.yaml +172 -0
  78. package/skills/applying-slds/metadata/blueprints/components/combobox.yaml +136 -0
  79. package/skills/applying-slds/metadata/blueprints/components/counter.yaml +147 -0
  80. package/skills/applying-slds/metadata/blueprints/components/data-tables.yaml +157 -0
  81. package/skills/applying-slds/metadata/blueprints/components/datepickers.yaml +130 -0
  82. package/skills/applying-slds/metadata/blueprints/components/datetime-picker.yaml +155 -0
  83. package/skills/applying-slds/metadata/blueprints/components/docked-composer.yaml +201 -0
  84. package/skills/applying-slds/metadata/blueprints/components/docked-form-footer.yaml +161 -0
  85. package/skills/applying-slds/metadata/blueprints/components/docked-utility-bar.yaml +175 -0
  86. package/skills/applying-slds/metadata/blueprints/components/drop-zone.yaml +115 -0
  87. package/skills/applying-slds/metadata/blueprints/components/dueling-picklist.yaml +196 -0
  88. package/skills/applying-slds/metadata/blueprints/components/dynamic-icons.yaml +128 -0
  89. package/skills/applying-slds/metadata/blueprints/components/dynamic-menu.yaml +141 -0
  90. package/skills/applying-slds/metadata/blueprints/components/expandable-section.yaml +115 -0
  91. package/skills/applying-slds/metadata/blueprints/components/expression.yaml +143 -0
  92. package/skills/applying-slds/metadata/blueprints/components/feeds.yaml +125 -0
  93. package/skills/applying-slds/metadata/blueprints/components/file-selector.yaml +154 -0
  94. package/skills/applying-slds/metadata/blueprints/components/files.yaml +119 -0
  95. package/skills/applying-slds/metadata/blueprints/components/form-element.yaml +145 -0
  96. package/skills/applying-slds/metadata/blueprints/components/global-header.yaml +120 -0
  97. package/skills/applying-slds/metadata/blueprints/components/global-navigation.yaml +100 -0
  98. package/skills/applying-slds/metadata/blueprints/components/icons.yaml +138 -0
  99. package/skills/applying-slds/metadata/blueprints/components/illustration.yaml +205 -0
  100. package/skills/applying-slds/metadata/blueprints/components/input.yaml +151 -0
  101. package/skills/applying-slds/metadata/blueprints/components/list-builder.yaml +127 -0
  102. package/skills/applying-slds/metadata/blueprints/components/lookups.yaml +132 -0
  103. package/skills/applying-slds/metadata/blueprints/components/map.yaml +118 -0
  104. package/skills/applying-slds/metadata/blueprints/components/menus.yaml +134 -0
  105. package/skills/applying-slds/metadata/blueprints/components/modals.yaml +152 -0
  106. package/skills/applying-slds/metadata/blueprints/components/notifications.yaml +88 -0
  107. package/skills/applying-slds/metadata/blueprints/components/page-headers.yaml +135 -0
  108. package/skills/applying-slds/metadata/blueprints/components/panels.yaml +149 -0
  109. package/skills/applying-slds/metadata/blueprints/components/path.yaml +154 -0
  110. package/skills/applying-slds/metadata/blueprints/components/picklist.yaml +125 -0
  111. package/skills/applying-slds/metadata/blueprints/components/pills.yaml +154 -0
  112. package/skills/applying-slds/metadata/blueprints/components/popovers.yaml +120 -0
  113. package/skills/applying-slds/metadata/blueprints/components/progress-bar.yaml +110 -0
  114. package/skills/applying-slds/metadata/blueprints/components/progress-indicator.yaml +133 -0
  115. package/skills/applying-slds/metadata/blueprints/components/progress-ring.yaml +102 -0
  116. package/skills/applying-slds/metadata/blueprints/components/prompt.yaml +126 -0
  117. package/skills/applying-slds/metadata/blueprints/components/publishers.yaml +178 -0
  118. package/skills/applying-slds/metadata/blueprints/components/radio-button-group.yaml +172 -0
  119. package/skills/applying-slds/metadata/blueprints/components/radio-group.yaml +112 -0
  120. package/skills/applying-slds/metadata/blueprints/components/rich-text-editor.yaml +135 -0
  121. package/skills/applying-slds/metadata/blueprints/components/scoped-notifications.yaml +188 -0
  122. package/skills/applying-slds/metadata/blueprints/components/scoped-tabs.yaml +97 -0
  123. package/skills/applying-slds/metadata/blueprints/components/select.yaml +127 -0
  124. package/skills/applying-slds/metadata/blueprints/components/setup-assistant.yaml +152 -0
  125. package/skills/applying-slds/metadata/blueprints/components/slider.yaml +111 -0
  126. package/skills/applying-slds/metadata/blueprints/components/spinners.yaml +135 -0
  127. package/skills/applying-slds/metadata/blueprints/components/split-view.yaml +112 -0
  128. package/skills/applying-slds/metadata/blueprints/components/summary-detail.yaml +103 -0
  129. package/skills/applying-slds/metadata/blueprints/components/tabs.yaml +138 -0
  130. package/skills/applying-slds/metadata/blueprints/components/textarea.yaml +116 -0
  131. package/skills/applying-slds/metadata/blueprints/components/tiles.yaml +108 -0
  132. package/skills/applying-slds/metadata/blueprints/components/timepicker.yaml +111 -0
  133. package/skills/applying-slds/metadata/blueprints/components/toast.yaml +154 -0
  134. package/skills/applying-slds/metadata/blueprints/components/tooltips.yaml +107 -0
  135. package/skills/applying-slds/metadata/blueprints/components/tree-grid.yaml +116 -0
  136. package/skills/applying-slds/metadata/blueprints/components/trees.yaml +116 -0
  137. package/skills/applying-slds/metadata/blueprints/components/trial-bar.yaml +112 -0
  138. package/skills/applying-slds/metadata/blueprints/components/vertical-navigation.yaml +130 -0
  139. package/skills/applying-slds/metadata/blueprints/components/vertical-tabs.yaml +140 -0
  140. package/skills/applying-slds/metadata/blueprints/components/visual-picker.yaml +150 -0
  141. package/skills/applying-slds/metadata/blueprints/components/welcome-mat.yaml +136 -0
  142. package/skills/applying-slds/metadata/hooks-index.json +6272 -0
  143. package/skills/applying-slds/metadata/icon-metadata.json +38466 -0
  144. package/skills/applying-slds/metadata/utilities-index.json +21912 -0
  145. package/skills/applying-slds/references/component-selection.md +112 -0
  146. package/skills/applying-slds/references/icons-decision-guide.md +124 -0
  147. package/skills/applying-slds/references/styling-decision-guide.md +228 -0
  148. package/skills/applying-slds/references/utilities-quick-ref.md +125 -0
  149. package/skills/applying-slds/scripts/search-blueprints.cjs +117 -0
  150. package/skills/applying-slds/scripts/search-hooks.cjs +139 -0
  151. package/skills/applying-slds/scripts/search-icons.cjs +174 -0
  152. package/skills/applying-slds/scripts/search-utilities.cjs +161 -0
  153. package/skills/building-ui-bundle-app/SKILL.md +33 -8
  154. package/skills/generating-custom-application/SKILL.md +1 -1
  155. package/skills/generating-custom-lightning-type/SKILL.md +17 -39
  156. package/skills/generating-custom-lightning-type/assets/primitive-types-and-constraints.md +41 -0
  157. package/skills/generating-custom-lightning-type/references/widget-rendition.md +124 -0
  158. package/skills/generating-ui-bundle-custom-app/SKILL.md +93 -0
  159. package/skills/generating-ui-bundle-custom-app/docs/configure-metadata-custom-application.md +70 -0
  160. package/skills/generating-ui-bundle-metadata/SKILL.md +39 -1
  161. package/skills/investigating-agentforce-architecture/README.md +156 -0
  162. package/skills/investigating-agentforce-architecture/SKILL.md +230 -0
  163. package/skills/investigating-agentforce-architecture/assets/cli/describe_sobject.yaml +16 -0
  164. package/skills/investigating-agentforce-architecture/assets/cli/describe_tooling_sobject.yaml +17 -0
  165. package/skills/investigating-agentforce-architecture/assets/cli/list_metadata_genaiprompttemplate.yaml +17 -0
  166. package/skills/investigating-agentforce-architecture/assets/cli/org_display.yaml +15 -0
  167. package/skills/investigating-agentforce-architecture/assets/cli/retrieve_genai_plugin.yaml +18 -0
  168. package/skills/investigating-agentforce-architecture/assets/cli/show_access_token.yaml +27 -0
  169. package/skills/investigating-agentforce-architecture/assets/mermaid/action_tree.mmd +20 -0
  170. package/skills/investigating-agentforce-architecture/assets/mermaid/data_flow.mmd +19 -0
  171. package/skills/investigating-agentforce-architecture/assets/mermaid/dependency_graph.mmd +19 -0
  172. package/skills/investigating-agentforce-architecture/assets/mermaid/invocation_sequence.mmd +20 -0
  173. package/skills/investigating-agentforce-architecture/assets/mermaid/planner_state.mmd +18 -0
  174. package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_ids.soql +3 -0
  175. package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_names.soql +3 -0
  176. package/skills/investigating-agentforce-architecture/assets/soql/bot_definition_details.soql +3 -0
  177. package/skills/investigating-agentforce-architecture/assets/soql/bot_version_lookup.soql +4 -0
  178. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_by_ids.soql +3 -0
  179. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_ids_by_names.soql +3 -0
  180. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_view_by_durable_ids.soql +4 -0
  181. package/skills/investigating-agentforce-architecture/assets/soql/flow_metadata_by_id.soql +3 -0
  182. package/skills/investigating-agentforce-architecture/assets/soql/functions_by_plugins.soql +5 -0
  183. package/skills/investigating-agentforce-architecture/assets/soql/planner_attrs_by_parent_ids.soql +3 -0
  184. package/skills/investigating-agentforce-architecture/assets/soql/planner_bundle_functions.soql +3 -0
  185. package/skills/investigating-agentforce-architecture/assets/soql/planner_definition_by_agent_chain.soql +3 -0
  186. package/skills/investigating-agentforce-architecture/assets/soql/plugin_functions_by_plugin_ids.soql +3 -0
  187. package/skills/investigating-agentforce-architecture/assets/soql/plugin_instructions_by_plugin_ids.soql +3 -0
  188. package/skills/investigating-agentforce-architecture/assets/soql/plugins_by_planner.soql +4 -0
  189. package/skills/investigating-agentforce-architecture/references/architecture_sections.md +243 -0
  190. package/skills/investigating-agentforce-architecture/references/contract.json +244 -0
  191. package/skills/investigating-agentforce-architecture/references/soql_fields.md +512 -0
  192. package/skills/investigating-agentforce-architecture/scripts/_shared/__init__.py +1 -0
  193. package/skills/investigating-agentforce-architecture/scripts/_shared/fs_guard.py +329 -0
  194. package/skills/investigating-agentforce-architecture/scripts/_shared/paths.py +110 -0
  195. package/skills/investigating-agentforce-architecture/scripts/_shared/runtime.py +59 -0
  196. package/skills/investigating-agentforce-architecture/scripts/_shared/sql.py +10 -0
  197. package/skills/investigating-agentforce-architecture/scripts/cache_check.py +234 -0
  198. package/skills/investigating-agentforce-architecture/scripts/config.py +131 -0
  199. package/skills/investigating-agentforce-architecture/scripts/fetch_soql.py +689 -0
  200. package/skills/investigating-agentforce-architecture/scripts/finalize.py +295 -0
  201. package/skills/investigating-agentforce-architecture/scripts/main.py +2835 -0
  202. package/skills/investigating-agentforce-architecture/scripts/metadata_listing.py +265 -0
  203. package/skills/investigating-agentforce-architecture/scripts/parallel_retrieve.py +69 -0
  204. package/skills/investigating-agentforce-architecture/scripts/parse_bundle.py +215 -0
  205. package/skills/investigating-agentforce-architecture/scripts/parse_wave.py +845 -0
  206. package/skills/investigating-agentforce-architecture/scripts/probe_channels.py +302 -0
  207. package/skills/investigating-agentforce-architecture/scripts/render_architecture.py +1043 -0
  208. package/skills/investigating-agentforce-architecture/scripts/resolve_bot.py +255 -0
  209. package/skills/investigating-agentforce-architecture/scripts/resolve_invocation_target.py +130 -0
  210. package/skills/investigating-agentforce-architecture/scripts/rest_client.py +763 -0
  211. package/skills/investigating-agentforce-architecture/scripts/retrieve_planner.py +13 -0
  212. package/skills/investigating-agentforce-architecture/scripts/sf_cli.py +242 -0
  213. package/skills/investigating-agentforce-architecture/scripts/soql_loader.py +253 -0
  214. package/skills/investigating-agentforce-architecture/scripts/summarize_tree.py +143 -0
  215. package/skills/investigating-agentforce-architecture/scripts/tests/__init__.py +0 -0
  216. package/skills/investigating-agentforce-architecture/scripts/tests/_bootstrap.py +23 -0
  217. package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/__init__.py +0 -0
  218. package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/genai_payloads.py +400 -0
  219. package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check.py +307 -0
  220. package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check_main.py +283 -0
  221. package/skills/investigating-agentforce-architecture/scripts/tests/test_config.py +115 -0
  222. package/skills/investigating-agentforce-architecture/scripts/tests/test_end_to_end_fixture.py +651 -0
  223. package/skills/investigating-agentforce-architecture/scripts/tests/test_finalize.py +278 -0
  224. package/skills/investigating-agentforce-architecture/scripts/tests/test_flow_children_inflation.py +582 -0
  225. package/skills/investigating-agentforce-architecture/scripts/tests/test_fs_guard.py +113 -0
  226. package/skills/investigating-agentforce-architecture/scripts/tests/test_iterative_wave_b.py +478 -0
  227. package/skills/investigating-agentforce-architecture/scripts/tests/test_main_pipeline.py +3359 -0
  228. package/skills/investigating-agentforce-architecture/scripts/tests/test_parallel_retrieve.py +131 -0
  229. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_bundle.py +400 -0
  230. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave.py +644 -0
  231. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_classifiers.py +224 -0
  232. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_helpers.py +380 -0
  233. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_main.py +397 -0
  234. package/skills/investigating-agentforce-architecture/scripts/tests/test_per_branch_visited.py +244 -0
  235. package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_channels.py +359 -0
  236. package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_cli_recipes.py +185 -0
  237. package/skills/investigating-agentforce-architecture/scripts/tests/test_render_architecture.py +810 -0
  238. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_bot.py +203 -0
  239. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_creds.py +157 -0
  240. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_invocation_target.py +145 -0
  241. package/skills/investigating-agentforce-architecture/scripts/tests/test_rest_client.py +1253 -0
  242. package/skills/investigating-agentforce-architecture/scripts/tests/test_runtime_override.py +100 -0
  243. package/skills/investigating-agentforce-architecture/scripts/tests/test_sf_cli.py +261 -0
  244. package/skills/investigating-agentforce-architecture/scripts/tests/test_signature_stamping.py +466 -0
  245. package/skills/investigating-agentforce-architecture/scripts/tests/test_soql_loader.py +501 -0
  246. package/skills/investigating-agentforce-architecture/scripts/tests/test_summarize_tree.py +241 -0
  247. package/skills/investigating-agentforce-architecture/scripts/tests/test_write_emit_ctx.py +480 -0
  248. package/skills/investigating-agentforce-architecture/tools/emit_env.py +157 -0
  249. package/skills/investigating-agentforce-architecture/tools/emit_result.py +262 -0
  250. package/skills/investigating-agentforce-architecture/tools/sanitize.py +33 -0
  251. package/skills/investigating-agentforce-architecture/tools/write_emit_ctx.py +332 -0
  252. package/skills/investigating-agentforce-d360/README.md +123 -0
  253. package/skills/investigating-agentforce-d360/SKILL.md +163 -0
  254. package/skills/investigating-agentforce-d360/assets/dc/app_generation.sql +51 -0
  255. package/skills/investigating-agentforce-d360/assets/dc/content_category.sql +44 -0
  256. package/skills/investigating-agentforce-d360/assets/dc/content_quality.sql +41 -0
  257. package/skills/investigating-agentforce-d360/assets/dc/discover_sessions.sql +36 -0
  258. package/skills/investigating-agentforce-d360/assets/dc/feedback.sql +47 -0
  259. package/skills/investigating-agentforce-d360/assets/dc/feedback_details.sql +38 -0
  260. package/skills/investigating-agentforce-d360/assets/dc/gateway_records.sql +45 -0
  261. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_llm.sql +50 -0
  262. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_metadata.sql +44 -0
  263. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_tags.sql +42 -0
  264. package/skills/investigating-agentforce-d360/assets/dc/gateway_requests.sql +89 -0
  265. package/skills/investigating-agentforce-d360/assets/dc/gateway_responses.sql +43 -0
  266. package/skills/investigating-agentforce-d360/assets/dc/generations.sql +52 -0
  267. package/skills/investigating-agentforce-d360/assets/dc/interactions.sql +53 -0
  268. package/skills/investigating-agentforce-d360/assets/dc/messages.sql +53 -0
  269. package/skills/investigating-agentforce-d360/assets/dc/messaging_session.sql +37 -0
  270. package/skills/investigating-agentforce-d360/assets/dc/moment_interactions.sql +34 -0
  271. package/skills/investigating-agentforce-d360/assets/dc/moments.sql +39 -0
  272. package/skills/investigating-agentforce-d360/assets/dc/participants.sql +48 -0
  273. package/skills/investigating-agentforce-d360/assets/dc/sessions.sql +78 -0
  274. package/skills/investigating-agentforce-d360/assets/dc/steps.sql +64 -0
  275. package/skills/investigating-agentforce-d360/assets/dc/tag_associations.sql +46 -0
  276. package/skills/investigating-agentforce-d360/assets/dc/tag_definition_associations.sql +37 -0
  277. package/skills/investigating-agentforce-d360/assets/dc/tag_definitions.sql +50 -0
  278. package/skills/investigating-agentforce-d360/assets/dc/tags.sql +37 -0
  279. package/skills/investigating-agentforce-d360/assets/dc/telemetry_spans.sql +55 -0
  280. package/skills/investigating-agentforce-d360/references/artifacts.md +50 -0
  281. package/skills/investigating-agentforce-d360/references/dc_dmo_fields.md +823 -0
  282. package/skills/investigating-agentforce-d360/references/dc_pipeline_contract.md +608 -0
  283. package/skills/investigating-agentforce-d360/scripts/_shared/__init__.py +2 -0
  284. package/skills/investigating-agentforce-d360/scripts/_shared/cli_override.py +98 -0
  285. package/skills/investigating-agentforce-d360/scripts/_shared/fs_guard.py +334 -0
  286. package/skills/investigating-agentforce-d360/scripts/_shared/paths.py +155 -0
  287. package/skills/investigating-agentforce-d360/scripts/_shared/runtime.py +59 -0
  288. package/skills/investigating-agentforce-d360/scripts/_shared/sql.py +14 -0
  289. package/skills/investigating-agentforce-d360/scripts/assemble_dc.py +1624 -0
  290. package/skills/investigating-agentforce-d360/scripts/config.py +45 -0
  291. package/skills/investigating-agentforce-d360/scripts/dc.py +188 -0
  292. package/skills/investigating-agentforce-d360/scripts/discover_sessions.py +556 -0
  293. package/skills/investigating-agentforce-d360/scripts/fetch_dc.py +1045 -0
  294. package/skills/investigating-agentforce-d360/scripts/render_dc.py +1750 -0
  295. package/skills/investigating-agentforce-d360/scripts/resolve_session.py +264 -0
  296. package/skills/investigating-agentforce-d360/scripts/storage.py +92 -0
  297. package/skills/investigating-agentforce-d360/scripts/tests/__init__.py +0 -0
  298. package/skills/investigating-agentforce-d360/scripts/tests/_bootstrap.py +15 -0
  299. package/skills/investigating-agentforce-d360/scripts/tests/fixtures/__init__.py +0 -0
  300. package/skills/investigating-agentforce-d360/scripts/tests/fixtures/synthetic_session.py +424 -0
  301. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_bootstrap_and_mode.py +115 -0
  302. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct.py +220 -0
  303. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct_integration.py +158 -0
  304. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_helpers.py +287 -0
  305. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_integration.py +247 -0
  306. package/skills/investigating-agentforce-d360/scripts/tests/test_dc_and_resolve_session.py +433 -0
  307. package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions.py +458 -0
  308. package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions_grep_ci.py +193 -0
  309. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_helpers.py +266 -0
  310. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_identity.py +528 -0
  311. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_main.py +251 -0
  312. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall.py +229 -0
  313. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall_full.py +283 -0
  314. package/skills/investigating-agentforce-d360/scripts/tests/test_identity_coherence.py +327 -0
  315. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_branches.py +256 -0
  316. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_gateway_direct.py +130 -0
  317. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_helpers.py +291 -0
  318. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_integration.py +220 -0
  319. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_planner_llm_calls.py +284 -0
  320. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_show_prompts_gating.py +215 -0
  321. package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_from_disk.py +100 -0
  322. package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_session_main.py +149 -0
  323. package/skills/investigating-agentforce-d360/scripts/tests/test_runtime_override.py +104 -0
  324. package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape.py +95 -0
  325. package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape_dropped_by_stdm.py +85 -0
  326. package/skills/managing-managed-event-subscription/SKILL.md +152 -0
  327. package/skills/managing-managed-event-subscription/assets/managed-event-subscription-template.xml +20 -0
  328. package/skills/managing-managed-event-subscription/references/delete-guide.md +57 -0
  329. package/skills/managing-managed-event-subscription/references/topic-name-formats.md +26 -0
  330. package/skills/managing-managed-event-subscription/references/update-constraints.md +30 -0
  331. package/skills/reviewing-lwc-mobile-offline/SKILL.md +168 -0
  332. package/skills/reviewing-lwc-mobile-offline/references/grounding.md +7 -0
  333. package/skills/reviewing-lwc-mobile-offline/references/inline-graphql.md +43 -0
  334. package/skills/reviewing-lwc-mobile-offline/references/komaci-eslint.md +125 -0
  335. package/skills/reviewing-lwc-mobile-offline/references/lwc-if.md +78 -0
  336. package/skills/reviewing-lwc-mobile-offline/scripts/komaci.config.mjs +18 -0
  337. package/skills/reviewing-lwc-mobile-offline/scripts/package.json +10 -0
  338. package/skills/reviewing-lwc-mobile-offline/scripts/run-komaci.sh +69 -0
  339. package/skills/uplifting-components-to-slds2/SKILL.md +3 -2
  340. package/skills/uplifting-components-to-slds2/references/color-hooks-decision-guide.md +30 -9
  341. package/skills/uplifting-components-to-slds2/references/examples.md +24 -6
  342. package/skills/using-mobile-native-capabilities/SKILL.md +182 -0
  343. package/skills/using-mobile-native-capabilities/references/app-review.md +68 -0
  344. package/skills/using-mobile-native-capabilities/references/ar-space-capture.md +125 -0
  345. package/skills/using-mobile-native-capabilities/references/barcode-scanner.md +219 -0
  346. package/skills/using-mobile-native-capabilities/references/base-capability.md +22 -0
  347. package/skills/using-mobile-native-capabilities/references/biometrics.md +90 -0
  348. package/skills/using-mobile-native-capabilities/references/calendar.md +213 -0
  349. package/skills/using-mobile-native-capabilities/references/contacts.md +232 -0
  350. package/skills/using-mobile-native-capabilities/references/document-scanner.md +342 -0
  351. package/skills/using-mobile-native-capabilities/references/geofencing.md +123 -0
  352. package/skills/using-mobile-native-capabilities/references/location.md +158 -0
  353. package/skills/using-mobile-native-capabilities/references/mobile-capabilities.md +30 -0
  354. package/skills/using-mobile-native-capabilities/references/nfc.md +181 -0
  355. package/skills/using-mobile-native-capabilities/references/payments.md +95 -0
  356. package/skills/validating-slds/SKILL.md +262 -0
  357. package/skills/validating-slds/references/quality-checks.md +308 -0
  358. package/skills/validating-slds/references/report-format.md +302 -0
  359. package/skills/validating-slds/scripts/analyze-quality.cjs +521 -0
@@ -0,0 +1,235 @@
1
+ ---
2
+ id: slds.guidance.overview.illustrations
3
+ title: Illustrations Overview
4
+ description: Foundational guidance for implementing illustrations in SLDS interfaces
5
+ summary: "Comprehensive illustration guidance covering empty states, informational states, and error states. Includes placement rules, sizing guidelines, accessibility requirements, and the one-illustration-per-page principle."
6
+
7
+ artifact_type: overview
8
+ domain: overviews
9
+ topic: illustrations
10
+
11
+ content_format: narrative
12
+ complexity: foundational
13
+ audience: [implementer, designer]
14
+
15
+ tasks: [learn, choose, implement]
16
+
17
+ refs:
18
+ - slds.guidance.accessibility.overview
19
+
20
+ tags: [illustrations, empty-states, visual-design, user-experience]
21
+ keywords: [illustrations, empty states, error states, informational states, visual messaging, actionable guidance]
22
+ ---
23
+
24
+ # Illustrations Guidance for SLDS Implementation
25
+
26
+ **Purpose:** This document provides the foundational principles and guidance for implementing illustrations in Salesforce Lightning Design System. When working with SLDS components and interfaces, follow these guidelines to ensure illustrations are used purposefully to enhance clarity, personality, and user engagement.
27
+
28
+ ---
29
+
30
+ ## About Illustrations
31
+
32
+ Illustrations are engaging visuals that guide, inform, and delight users. In the Salesforce Lightning Design System (SLDS), they help communicate complex ideas, reinforce brand identity, and guide users through key moments in their journey. Illustrations are approachable and inclusive, reflecting the diversity of our users while aligning with the Salesforce brand.
33
+
34
+ **Key Requirement:** To ensure accessibility best practices, illustrations must always enhance the textual content, not replace it. Use them sparingly and align with the purpose and tone of the screen or message.
35
+
36
+ ---
37
+
38
+ ## Core Principles
39
+
40
+ When working with illustrations in UI interfaces, adhere to these four foundational principles:
41
+
42
+ 1. **Prioritize clarity and purpose.** Illustrations should soften negative impressions and provide context. Use them to help users understand the state of the system or to guide them through a workflow.
43
+ 2. **Accessibility is mandatory.** Illustrations must enhance textual content, never replace it. Always provide meaningful text alongside illustrations to ensure the experience is accessible to all users.
44
+ 3. **Maintain visual restraint.** Use illustrations sparingly to avoid distracting users. Follow the "one illustration per page" rule to maintain focus on the primary task.
45
+ 4. **Include actionable guidance.** Pair illustrations with clear, actionable UI text. If a page is empty, provide a link or button to help the user take the next step.
46
+
47
+ ---
48
+
49
+ ## Illustration Types
50
+
51
+ Illustrations in SLDS generally communicate one of three conditions: empty, informational, or error. The specific illustration and accompanying text vary depending on the context.
52
+
53
+ ### Empty States
54
+ Empty state illustrations provide context when a page or component has no data to display.
55
+
56
+ **Use for:**
57
+ - Empty object list views (opportunities, leads, cases, contacts)
58
+ - Empty feeds (activity feeds, Chatter feeds)
59
+ - Empty dashboards or reports
60
+ - Blank canvas states requiring user action
61
+
62
+ ### Informational
63
+ Informational illustrations support users as they explore new features, learn workflows, or encounter maintenance states.
64
+
65
+ **Use for:**
66
+ - System maintenance or scheduled downtime
67
+ - Authentication or connection prompts
68
+ - Onboarding and setup workflows
69
+ - Feature discovery or walkthrough introductions
70
+
71
+ ### Error States
72
+ Error state illustrations offer reassurance and guidance when something goes wrong.
73
+
74
+ **Use for:**
75
+ - Page not found (404 errors)
76
+ - Access denied or permission errors
77
+ - Data unavailable or loading failures
78
+ - Lightning Experience compatibility issues
79
+ - Broken links or deleted content
80
+ - System failures or service disruptions
81
+
82
+ ---
83
+
84
+ ## Mobile Guidelines
85
+
86
+ When using illustrations on mobile devices, adjustments are necessary to ensure a consistent experience within smaller viewports.
87
+
88
+ - **Maximum Width:** 300px
89
+ - **Maximum Height:** 180px
90
+ - **UI Text:** Labels and body text must be shorter and use smaller font scales.
91
+
92
+ ---
93
+
94
+ ## Layouts
95
+
96
+ Illustrations can surface within Salesforce products in three primary layout contexts:
97
+
98
+ ### Full Page
99
+ Used for major system states like 404 errors or initial onboarding where the illustration is the primary focus of the entire viewport.
100
+
101
+ ### Main Body
102
+ Used within the main content area of a page, often for empty states in list views or dashboards.
103
+
104
+ ### Panel or Sidebar
105
+ Used in narrower containers like utility panels, sidebars, or docked composers.
106
+
107
+ ---
108
+
109
+ ## Recommended Specs
110
+
111
+ The following specifications define the typography and sizing constraints for illustrations across desktop and mobile platforms.
112
+
113
+ ### Desktop Specs
114
+
115
+ | Description | Styling Hooks | Value |
116
+ |-------------|---------------|-------|
117
+ | Title text | `--slds-g-font-scale-4` | - |
118
+ | Body text | `--slds-g-font-scale-2` | - |
119
+ | Text color | `--slds-g-color-on-surface-1` | - |
120
+ | Maximum image width | - | 600px |
121
+ | Maximum image height | - | 360px |
122
+
123
+ ### Mobile Specs
124
+
125
+ | Description | Styling Hooks | Value |
126
+ |-------------|---------------|-------|
127
+ | Title text | `--slds-g-font-scale-3` | - |
128
+ | Body text | `--slds-g-font-size-base` | - |
129
+ | Text color | `--slds-g-color-on-surface-1` | - |
130
+ | Maximum image width | - | 300px |
131
+ | Maximum image height | - | 180px |
132
+
133
+ ---
134
+
135
+ ## UI Text Guidelines
136
+
137
+ UI text for illustrations must be clear, concise, and helpful. While these examples serve as guidelines, text should always be adapted to the specific context.
138
+
139
+ | State | Title | Body |
140
+ |-------|-------|------|
141
+ | Empty | Hmm… | No opportunities to display. |
142
+ | Empty | Collaborate with others | No updates here yet. |
143
+ | Informational | We are down for maintenance | Sorry for the inconvenience. We’ll be back shortly. |
144
+ | Informational | You’re not connected to Google Drive | Let’s get you authenticated. [Connect to Google Drive] |
145
+ | Error | Page not available | Maybe the page was deleted, the URL is incorrect, or something else went wrong. |
146
+ | Error | You don’t have access to this page | If you think you should have access, ask your admin for help. |
147
+ | Error | Data not available | The data you’re trying to access isn’t available. It might be due to a system error. |
148
+
149
+ ---
150
+
151
+ ## Usage and Best Practices
152
+
153
+ ### Recommended Usage (Where & Why)
154
+
155
+ Illustrations are used to enhance scannability and provide visual context in specific scenarios. They are typically implemented in:
156
+
157
+ - **Empty states:** To provide context and reduce the "dead end" feeling of a blank page, guiding users on how to populate data (e.g., list views, dashboards).
158
+ - **Informational moments:** To support users during system maintenance, exploration of new features, or onboarding/setup workflows.
159
+ - **Error states:** To soften the impact of system failures or restricted access and provide a clear path forward (e.g., 404 pages, lack of permissions).
160
+ - **Feeds:** To encourage collaboration within activity or Chatter feeds.
161
+
162
+ ### Implementation Constraints
163
+
164
+ To maintain SLDS visual consistency and performance, adhere to these constraints:
165
+
166
+ - **One per page:** Use only one illustration per page. Multiple illustrations create visual clutter and distract from the primary task.
167
+ - **Avoid small containers:** Do not use illustrations inside related lists, cards, or narrow components. Use plain inline text or icons for these areas.
168
+ - **No direct action feedback:** Do not use illustrations as feedback for direct user actions. Toasts, popovers, or banners are better suited for these interactions.
169
+
170
+ ### Visual Standards
171
+
172
+ #### Character Positioning
173
+
174
+ Characters add personality but must not dominate the visual hierarchy of an illustration.
175
+
176
+ ##### Do
177
+
178
+ - Keep characters in the background to maintain focus on the message and system state.
179
+ - Integrate characters as supporting elements that enhance the context without becoming the primary focal point.
180
+
181
+ ##### Don't
182
+
183
+ - Avoid placing characters at the forefront of an illustration, as it can distract from the functional purpose of the screen.
184
+ - Never use characters as the sole indicator of the illustration's meaning.
185
+
186
+ ---
187
+
188
+ ## Implementation Workflow
189
+
190
+ Follow this sequence when implementing illustrations in your components:
191
+
192
+ ### Step 1: Identify Illustration Need
193
+ Determine the state you are communicating:
194
+ - **Is the container empty?** (list views, feeds, dashboards)
195
+ - **Is the state informational?** (maintenance, onboarding, configuration)
196
+ - **Is there an error?** (page not found, no access, system failure)
197
+
198
+ ### Step 2: Select Illustration Type
199
+ Choose an illustration that matches the tone and purpose identified in Step 1. Ensure the visual style is consistent with SLDS standards.
200
+
201
+ ### Step 3: Apply Recommended Specs
202
+ Use the appropriate styling hooks for typography and respect the maximum dimensions for the target platform (Desktop vs. Mobile).
203
+
204
+ ### Step 4: Add Accompanying UI Text
205
+ Write clear, concise, and actionable text. Ensure the body text includes a resolution path (e.g., a link to create a record or contact support).
206
+
207
+ ### Step 5: Validate Accessibility
208
+ Ensure the illustration enhances the text and that all essential information is available via text. Verify that the layout works across different screen sizes and density settings.
209
+
210
+ ---
211
+
212
+ ## Pre-Implementation Checklist
213
+
214
+ Before finalizing any illustration implementation, verify:
215
+
216
+ | Requirement | Status |
217
+ |-------------|--------|
218
+ | **Classification & Selection** | |
219
+ | Illustration type matches the system state (empty/informational/error) | [ ] |
220
+ | Illustration chosen aligns with Salesforce approachable/inclusive brand | [ ] |
221
+ | **Styling & Specs** | |
222
+ | Typography uses recommended styling hooks (`--slds-g-font-scale-*`) | [ ] |
223
+ | Maximum dimensions respected for target platform (600x360 desktop, 300x180 mobile) | [ ] |
224
+ | One illustration per page limit maintained | [ ] |
225
+ | **Content & Copy** | |
226
+ | UI text provides clear title and helpful body content | [ ] |
227
+ | Actionable resolution path provided (e.g., links or buttons) | [ ] |
228
+ | **Accessibility** | |
229
+ | Illustration enhances rather than replaces textual content | [ ] |
230
+ | Sufficient contrast between text and background | [ ] |
231
+ | **Context & Placement** | |
232
+ | Layout context correctly identified (full page, main body, panel) | [ ] |
233
+ | Illustration used outside of related lists and cards | [ ] |
234
+
235
+ **Target outcome:** Purposeful, engaging illustrations that guide users through the Salesforce experience while maintaining brand consistency and accessibility standards.
@@ -0,0 +1,176 @@
1
+ ---
2
+ id: slds.guidance.overview.shadows
3
+ title: Shadows and Elevation Overview
4
+ description: Foundational guidance for implementing shadows and visual depth in SLDS
5
+ summary: "Comprehensive shadow guidance covering elevation levels, component shadow mappings, directional shadows, and accessibility considerations. Explains box-shadow concepts and stacking order relationships."
6
+
7
+ artifact_type: overview
8
+ domain: overviews
9
+ topic: shadows
10
+
11
+ content_format: narrative
12
+ complexity: foundational
13
+ audience: [implementer, designer]
14
+
15
+ tasks: [learn, choose, implement]
16
+
17
+ refs:
18
+ - slds.guidance.hooks.shadows
19
+
20
+ tags: [shadows, elevation, depth, visual-hierarchy, stacking]
21
+ keywords: [box shadow, elevation levels, visual depth, stacking order, z-index, component shadows]
22
+ ---
23
+
24
+ # Shadows and Elevation Guidance for SLDS Implementation
25
+
26
+ **Purpose:** This document provides guidance for implementing shadows in Salesforce Lightning Design System. Shadows add depth and dynamic layers to the UI, making it look more interesting and less static. When implementing components and layouts, follow these guidelines to ensure visual hierarchy and elevation are communicated effectively.
27
+
28
+ ---
29
+
30
+ ## About Shadows
31
+
32
+ ### What is Box Shadow?
33
+
34
+ The `box-shadow` CSS property adds a shadow effect to an element. This property sets values for horizontal and vertical offsets, blur radius, spread radius, and shadow color. The combination of these properties creates a shadow around the frame of an element.
35
+
36
+ Box shadows indicate elevation and are applied to elements to show which elements are on top of one another. Elevation is applied to elements to show that surfaces can move on top of one another.
37
+
38
+ The SLDS 2 design uses soft shadows to create a sense of depth and dimension in the user interface. They also help separate components from each other and create a more realistic look.
39
+
40
+ The styling hook for shadows uses the label `shadow`.
41
+
42
+ ### Elevation System
43
+
44
+ When applying a shadow, match the priority or stacking order of the elements. Elements with a higher stacking order or which appear on top of others on the page should have higher shadow values. Leverage the z-index property to manage stacking order, and ensure that the elements with the highest shadow value appear above others on the page.
45
+
46
+ **Elevation Levels:**
47
+
48
+ | Level | Shadow Hook | Description |
49
+ |-------|-------------|-------------|
50
+ | Base Level | No shadow | Components on the surface that don't cover other components |
51
+ | Elevation Level 1 | `--slds-g-shadow-1` | Subtle depth |
52
+ | Elevation Level 2 | `--slds-g-shadow-2` | Moderate depth |
53
+ | Elevation Level 3 | `--slds-g-shadow-3` | Prominent depth |
54
+ | Elevation Level 4 | `--slds-g-shadow-4` | Maximum depth |
55
+
56
+ ### Component Shadow Usage
57
+
58
+ | Shadow Hook | Components |
59
+ |-------------|------------|
60
+ | `--slds-g-shadow-1` | Page headers, joined tables, filter panels, dropdowns, inline edit, images, slider handles |
61
+ | `--slds-g-shadow-2` | Menu, docked form footer, docked utility bar, color picker, notifications |
62
+ | `--slds-g-shadow-3` | Panel, docked composer, tooltip, toast |
63
+ | `--slds-g-shadow-4` | Modal, popover, App Launcher |
64
+
65
+ ### Base Level (No Shadow)
66
+
67
+ Components that are **base level** sit on the surface and don't cover up other components. Base level components do not have shadows in the SLDS 2 design.
68
+
69
+ The background color of a base level component depends on the color of the surface it sits on:
70
+ - On a gray surface: A base level component has a white background
71
+ - On a white surface: A base level component has a white background with a border
72
+
73
+ ---
74
+
75
+ ## Shadow Types
76
+
77
+ ### Depth Shadows
78
+
79
+ Depth shadows communicate elevation and visual hierarchy. They indicate which elements appear above others in the stacking order.
80
+
81
+ **Hook Pattern:** `--slds-g-shadow-{n}` where `{n}` is the depth level
82
+
83
+ - `shadow-1` through `shadow-4` provide increasing depth levels
84
+ - `shadow-5` and `shadow-6` are aliases that inherit from `shadow-4`
85
+
86
+ ### Directional Shadows
87
+
88
+ Directional shadow variants allow shadows to be cast in specific directions. These are useful for components that are positioned against edges of the screen.
89
+
90
+ **Hook Pattern:** `--slds-g-shadow-{direction}-{n}` where `{direction}` is the shadow direction and `{n}` is the depth level
91
+
92
+ **Directions:**
93
+ - `block-start` — Upward shadow
94
+ - `block-end` — Downward shadow (default direction, inherits from base shadow)
95
+ - `inline-start` — Left shadow
96
+ - `inline-end` — Right shadow
97
+
98
+ ### Focus Shadows
99
+
100
+ Focus shadows provide visual feedback for keyboard navigation and accessibility. Focus states within the SLDS 2 design consist of a white border outline surrounded by a dark blue border outline. This style ensures that the focus state meets accessibility requirements for any background.
101
+
102
+ **Hook Pattern:** `--slds-g-shadow-{type}-focus-1` where `{type}` is the focus style
103
+
104
+ **Types:**
105
+ - `outline-focus` — Simple outline focus
106
+ - `outset-focus` — Double ring outset focus
107
+ - `inset-focus` — Single ring inset focus
108
+ - `inset-inverse-focus` — Double ring inset focus (inverse)
109
+
110
+ ### Inset Shadows (Component-Level)
111
+
112
+ Button components use a hover bevel and inner shadow on click that is separate from the elevation system. Bevels and insets are only used on buttons and inputs where specified and shouldn't be used in custom situations.
113
+
114
+ **Button shadows:**
115
+ - `--slds-s-button-shadow-active` — Used on all buttons when pressed, regardless of color or border
116
+ - `--slds-s-button-shadow-focus` — Focus state for buttons
117
+ - `--slds-s-button-brand-shadow-hover` — Hover effect for brand buttons
118
+ - `--slds-s-button-bordered-shadow-hover` — Hover effect for bordered/neutral buttons
119
+
120
+ **Input shadows:**
121
+ - `--slds-s-input-shadow-focus` — Used on active/focused input fields
122
+
123
+ **Mark shadows (checkboxes, radios, toggles):**
124
+ - `--slds-s-mark-shadow-checked` — Used on selected or active checkboxes, radio buttons, and checkbox toggles
125
+ - `--slds-s-mark-shadow-focus` — Focus state for mark elements
126
+
127
+ ---
128
+
129
+ ## Available Styling Hooks
130
+
131
+ > **For detailed usage patterns**, refer to the Shadows Styling Hooks documentation.
132
+
133
+ ### Global Shadow Hooks (`--slds-g-`)
134
+
135
+ **Depth Shadows:**
136
+ - `--slds-g-shadow-{1-6}`
137
+
138
+ **Directional Shadows:**
139
+ - `--slds-g-shadow-block-start-{1-4}`
140
+ - `--slds-g-shadow-block-end-{1-4}`
141
+ - `--slds-g-shadow-inline-start-{1-4}`
142
+ - `--slds-g-shadow-inline-end-{1-4}`
143
+
144
+ **Focus Shadows:**
145
+ - `--slds-g-shadow-outline-focus-1`
146
+ - `--slds-g-shadow-outset-focus-1`
147
+ - `--slds-g-shadow-inset-focus-1`
148
+ - `--slds-g-shadow-inset-inverse-focus-1`
149
+
150
+ ### Shared Shadow Hooks (`--slds-s-`)
151
+
152
+ **Button Shadows:**
153
+ - `--slds-s-button-shadow-focus`
154
+ - `--slds-s-button-shadow-focus-inverse`
155
+ - `--slds-s-button-shadow-active`
156
+ - `--slds-s-button-brand-shadow-hover`
157
+ - `--slds-s-button-bordered-shadow-hover`
158
+
159
+ **Input Shadows:**
160
+ - `--slds-s-input-shadow-focus`
161
+ - `--slds-s-input-shadow-invalid`
162
+
163
+ **Mark Shadows:**
164
+ - `--slds-s-mark-shadow-focus`
165
+ - `--slds-s-mark-shadow-checked`
166
+
167
+ ### Component Shadow Hooks (`--slds-c-`)
168
+
169
+ **Button Variant Shadows:**
170
+ - `--slds-c-button-success-shadow-hover`
171
+ - `--slds-c-button-destructive-shadow-hover`
172
+ - `--slds-c-button-inverse-shadow-hover`
173
+
174
+
175
+
176
+
@@ -0,0 +1,216 @@
1
+ ---
2
+ id: slds.guidance.overview.spacing-and-sizing
3
+ title: Spacing and Sizing Overview
4
+ description: Foundational principles for spacing and sizing decisions in SLDS
5
+ summary: "Comprehensive spacing and sizing guidance covering the 4-point grid system, spacing scales, sizing scales, and responsive design patterns. Includes implementation workflow and pre-implementation checklist."
6
+
7
+ artifact_type: overview
8
+ domain: overviews
9
+ topic: spacing-and-sizing
10
+
11
+ content_format: narrative
12
+ complexity: foundational
13
+ audience: [implementer, designer]
14
+
15
+ tasks: [learn, choose, implement]
16
+
17
+ refs:
18
+ - slds.guidance.hooks.spacing
19
+
20
+ tags: [spacing, sizing, layout, grid, margins, padding, dimensions]
21
+ keywords: [4-point grid, spacing scale, sizing scale, margins, padding, gaps, responsive design, layout]
22
+ ---
23
+
24
+ # Spacing and Sizing Guidance for SLDS Implementation
25
+
26
+ **Purpose:** This document provides the foundational principles and constraints for all spacing and sizing decisions in Salesforce Lightning Design System. When implementing components and layouts, follow these guidelines to ensure visual harmony, hierarchy, and consistency across all experiences.
27
+
28
+ ---
29
+
30
+ ## Core Principles
31
+
32
+ When working with spacing and sizing in UI interfaces, adhere to these foundational principles:
33
+
34
+ 1. **Establish harmony through consistency.** Spacing and sizing create predictable patterns that help users navigate interfaces efficiently. Use the spacing and sizing styling hooks consistently to create visual rhythm and balance.
35
+
36
+ 2. **Create hierarchy through deliberate spacing.** Strategic use of space directs user attention, differentiates grouped elements from unrelated ones, and establishes clear relationships between components.
37
+
38
+ 3. **Ensure scalability and responsiveness.** Components must adapt seamlessly across devices and screen sizes. Use relative units and the SLDS styling hooks to support responsive design patterns.
39
+
40
+ ---
41
+
42
+ ## Spacing Fundamentals
43
+
44
+ ### What is Spacing?
45
+
46
+ Spacing controls the empty areas around or within components, such as margins, padding, and gaps between elements. In the context of styling hooks, spacing refers to padding or margins applied around an element.
47
+
48
+ **Spacing defines these visual aspects:**
49
+ - Proper alignment of components
50
+ - Clear differentiation of grouped and unrelated elements
51
+ - White space that directs user attention to key content or actions
52
+
53
+ ### Benefits of Effective Spacing
54
+
55
+ Effective spacing provides these benefits:
56
+ - **Improves readability** by preventing visual clutter and creating breathing room
57
+ - **Reduces cognitive load** by establishing clear visual relationships
58
+ - **Enhances usability** by making interactive elements easier to target and distinguish
59
+
60
+ ### The 4-Point Grid System
61
+
62
+ SLDS spacing follows a modular scale based on multiples of 4, aligning with the 4-point grid system. This mathematical foundation ensures consistent spacing relationships throughout the interface.
63
+
64
+ **System Architecture:**
65
+ - Base unit: 0.25rem (4px equivalent)
66
+ - Scale progression: Each step increases in predictable increments
67
+ - Values are relative to root font size for scalability
68
+
69
+ ### Density-Aware Spacing
70
+
71
+ SLDS provides density-aware spacing hooks that automatically adapt when the system switches between comfy and compact display density settings. These hooks ensure components respond appropriately to user density preferences.
72
+
73
+ **Hook Patterns:**
74
+ - **All-Sides:** `--slds-g-spacing-var-{size}` - Applies equally to top, bottom, left, right
75
+ - **Vertical (Block):** `--slds-g-spacing-var-block-{size}` - Top and bottom margins or padding
76
+ - **Horizontal (Inline):** `--slds-g-spacing-var-inline-{size}` - Left and right margins or padding
77
+
78
+ Where `{size}` represents the scale value appropriate for your spacing need.
79
+
80
+ > **For complete density-aware hook details** including comfy and compact values, refer to the Spacing and Sizing Styling Hooks documentation.
81
+
82
+ ---
83
+
84
+ ## Sizing Fundamentals
85
+
86
+ ### What is Sizing?
87
+
88
+ Sizing refers to the dimensions of a component, such as height, width, or size variants. In the context of styling hooks, sizing refers to the fixed height or width of an element. When sizes are consistent, it's easier for users to predict where things will be on the page. This predictability makes the interface easier to use.
89
+
90
+ **Sizing defines these aspects:**
91
+ - Physical dimensions of elements like buttons, icons, and cards
92
+ - Scalable size options (small, medium, large) to accommodate different contexts
93
+ - Responsive behavior to ensure designs function well on all screen sizes
94
+
95
+ ### Benefits of Consistent Sizing
96
+
97
+ Consistent sizing provides these benefits:
98
+ - **Creates predictability** by establishing recognizable component sizes
99
+ - **Enhances usability** by making interactive targets appropriately sized
100
+ - **Supports responsiveness** by providing size options that scale appropriately
101
+
102
+ ### The 8-Point Grid System
103
+
104
+ While spacing uses a 4-point grid, sizing aligns with an 8-point grid system using multiples of 8. This ensures dimension values work harmoniously with the spacing system while providing appropriate scaling for component dimensions.
105
+
106
+ **System Architecture:**
107
+ - Smaller increments for precise control (1-9)
108
+ - Larger increments for major dimensions (10-16)
109
+ - Values are relative to root font size for scalability
110
+
111
+ ---
112
+
113
+ ## Understanding Padding vs. Margin
114
+
115
+ When implementing layouts, understand the distinction between padding and margin as they serve different purposes:
116
+
117
+ **Padding:**
118
+ - Controls **internal spacing** within a component
119
+ - Creates breathing room between a container's edge and its content
120
+ - Affects the component's total dimensions (when using border-box)
121
+ - Use spacing hooks for padding values
122
+
123
+ **Margin:**
124
+ - Defines **external spacing** around a component
125
+ - Creates separation between adjacent elements
126
+ - Does not affect the component's own dimensions
127
+ - Use spacing hooks for margin values
128
+
129
+ **Design systems follow a consistent margin strategy** so that components interact predictably and maintain harmonious spacing throughout the interface. Apply spacing values systematically rather than arbitrarily to maintain this consistency.
130
+
131
+ ---
132
+
133
+ ## Implementation Workflow
134
+
135
+ Follow this sequence when implementing any spacing or sizing solution:
136
+
137
+ ### Step 1: Identify the Spacing/Sizing Need
138
+
139
+ Determine what you're trying to accomplish:
140
+ - **For spacing:** Is this internal space (padding) or external space (margin)?
141
+ - **For spacing:** Does this need to adapt to density settings (use density-aware hooks)?
142
+ - **For sizing:** Are you setting dimensions (height/width) for an element?
143
+ - **For sizing:** Is this for a small element (icon, button) or larger container?
144
+
145
+ ### Step 2: Choose the Appropriate Scale
146
+
147
+ Evaluate the visual hierarchy and relationship:
148
+ - **Smaller values (1-4):** Compact layouts, tight spacing, small elements
149
+ - **Medium values (5-8):** Standard spacing, common component sizes
150
+ - **Larger values (9-12/16):** Section spacing, large containers, major divisions
151
+
152
+ ### Step 3: Apply the Styling Hook
153
+
154
+ Use the appropriate hook for your context:
155
+ - **Standard spacing:** `--slds-g-spacing-*` for fixed spacing values
156
+ - **Density-aware spacing (all sides):** `--slds-g-spacing-var-*` for adaptive spacing
157
+ - **Density-aware vertical spacing:** `--slds-g-spacing-var-block-*` for top/bottom adaptive spacing
158
+ - **Density-aware horizontal spacing:** `--slds-g-spacing-var-inline-*` for left/right adaptive spacing
159
+ - **Element sizing:** `--slds-g-sizing-*` for dimensions
160
+
161
+ ### Step 4: Handle Exceptions
162
+
163
+ If no standard hook matches the requirement:
164
+ 1. Document why standard patterns don't apply
165
+ 2. Evaluate if a combination of hooks could achieve the goal
166
+ 3. Ensure the custom approach maintains visual consistency
167
+ 4. Flag for design system team review
168
+
169
+ ### Step 5: Validate Implementation
170
+
171
+ Before finalizing, verify the implementation using the Pre-Implementation Checklist below to ensure all spacing and sizing requirements are met.
172
+
173
+ ---
174
+
175
+ ## Pre-Implementation Checklist
176
+
177
+ Before generating or modifying any spacing or sizing related code, verify:
178
+
179
+ | Requirement | Status |
180
+ |-------------|--------|
181
+ | **Need Identification** | |
182
+ | Spacing need identified (padding vs. margin, internal vs. external space) | [ ] |
183
+ | Sizing need identified (element dimensions vs. container size) | [ ] |
184
+ | Determined if spacing should adapt to density settings | [ ] |
185
+ | **Hook Selection & Scale** | |
186
+ | Appropriate hook selected from defined scale (no hard-coded pixel values) | [ ] |
187
+ | Scale value chosen matches visual hierarchy (1-4 compact, 5-8 standard, 9-12/16 sections) | [ ] |
188
+ | Correct hook type selected (spacing vs. spacing-var vs. sizing) | [ ] |
189
+ | **Grid System Alignment** | |
190
+ | Spacing aligns with 4-point grid system | [ ] |
191
+ | Sizing aligns with 8-point grid system | [ ] |
192
+ | **Proper Hook Usage** | |
193
+ | Spacing hooks used only for margins/padding (not dimensions) | [ ] |
194
+ | Sizing hooks used only for dimensions (not spacing) | [ ] |
195
+ | Semantic styling hooks used (no hard-coded values) | [ ] |
196
+ | **Density & Responsiveness** | |
197
+ | Density-aware hooks used when components need to adapt | [ ] |
198
+ | Density-aware hooks selected support both comfy and compact modes where applicable | [ ] |
199
+ | Layout responsive design requirements applied for viewport adaptability | [ ] |
200
+ | Works across all viewport sizes | [ ] |
201
+ | **Visual Consistency** | |
202
+ | Visual hierarchy maintained through spacing choices | [ ] |
203
+ | Component spacing consistent with similar elements | [ ] |
204
+ | Follows established patterns for similar components | [ ] |
205
+
206
+ **Target outcome:** Harmonious, predictable interfaces that maintain visual consistency and adapt seamlessly across devices, screen sizes, and user density preferences.
207
+
208
+ ---
209
+
210
+ ## Related Documentation
211
+
212
+ For detailed implementation guidance, refer to:
213
+ - **Spacing and Sizing Styling Hooks** - For complete hook listings, density-aware values, and usage patterns
214
+ - **Color Overview** - For understanding how spacing interacts with visual depth and surface layering
215
+ - **Accessibility Overview** - For ensuring spacing supports touch targets and keyboard navigation
216
+