@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,89 @@
1
+ ---
2
+ id: slds.guidance.utilities.interactions
3
+ title: Interactions Utilities
4
+ description: SLDS link reset, faux link, and focus state utility classes
5
+ summary: "Utilities for link resets, faux links, and focus states. Enables custom link styling and accessible focus indicators."
6
+
7
+ artifact_type: reference
8
+ domain: utilities
9
+ topic: interactions
10
+
11
+ content_format: structured
12
+ complexity: intermediate
13
+ audience: [implementer]
14
+
15
+ tasks: [implement]
16
+
17
+ refs:
18
+ - slds.guidance.utilities
19
+ - slds.guidance.overview.utilities
20
+ - slds.guidance.utilities.typography
21
+
22
+ tags: [utilities, interactions, links, focus, accessibility]
23
+ keywords: [slds-text-link, slds-has-blur-focus, slds-text-link_reset, slds-text-link_faux]
24
+ ---
25
+
26
+ # Interactions - Links & Focus States
27
+
28
+ Managing link appearance, creating faux links, and implementing accessible focus states.
29
+
30
+ ## Core Classes
31
+
32
+ | Class | Purpose |
33
+ |-------|---------|
34
+ | `slds-text-link_reset` | Makes links and buttons appear as regular text |
35
+ | `slds-text-link` | Restores link styling inside `slds-text-link_reset` |
36
+ | `slds-text-link_faux` | Creates underline-on-hover for non-anchor elements |
37
+ | `slds-type-focus` | Legacy alias for slds-text-link_faux |
38
+ | `slds-has-blur-focus` | Adds accessible blurred outline on focus |
39
+ | `slds-has-input-focus` | JavaScript-applied focus state for input containers |
40
+
41
+ ## Common Patterns
42
+
43
+ ```html
44
+ <!-- Reset link to look like plain text -->
45
+ <a href="/path" class="slds-text-link_reset">
46
+ This link looks like regular text
47
+ </a>
48
+
49
+ <!-- Reset with partial link styling restored -->
50
+ <a href="/article" class="slds-text-link_reset">
51
+ This article discusses important topics
52
+ <span class="slds-text-link">Read more</span>
53
+ </a>
54
+
55
+ <!-- Faux link on heading + button combo -->
56
+ <div class="slds-page-header__name">
57
+ <h1 class="slds-page-header__title slds-text-link_faux">
58
+ Account Name
59
+ </h1>
60
+ <button class="slds-button slds-button_icon slds-text-link_faux">
61
+ <svg class="slds-button__icon">...</svg>
62
+ </button>
63
+ </div>
64
+
65
+ <!-- Accessible blur focus on custom button -->
66
+ <button class="slds-button slds-has-blur-focus">
67
+ Custom Action
68
+ </button>
69
+
70
+ <!-- Input container with JavaScript focus state -->
71
+ <div class="slds-form-element__control" id="input-container">
72
+ <input class="slds-input"
73
+ onfocus="document.getElementById('input-container').classList.add('slds-has-input-focus')"
74
+ onblur="document.getElementById('input-container').classList.remove('slds-has-input-focus')" />
75
+ </div>
76
+ ```
77
+
78
+ ## Best Practices
79
+
80
+ ✅ Use `slds-text-link_reset` to remove default link styling
81
+ ✅ Use `slds-text-link_faux` for non-anchor elements that need link behavior
82
+ ✅ Use `slds-has-blur-focus` for keyboard navigation accessibility
83
+ ✅ Apply `slds-has-input-focus` via JavaScript when input receives focus
84
+ ✅ Combine `slds-text-link_reset` with `slds-text-link` for partial link styling
85
+
86
+ ❌ Don't use `slds-text-link_faux` on actual anchor elements
87
+ ❌ Don't forget to handle both focus and blur events for `slds-has-input-focus`
88
+ ❌ Don't remove focus indicators without providing alternatives
89
+ ❌ Don't apply multiple interaction utilities to the same element
@@ -0,0 +1,109 @@
1
+ ---
2
+ id: slds.guidance.utilities.layout
3
+ title: Layout Utilities
4
+ description: SLDS layout utility classes for global spacing and component connection
5
+ summary: "Utilities for global spacing (has-buffer, has-full-bleed, magnet utilities). Provides consistent buffer margins, full-bleed layouts, and seamless card connections."
6
+
7
+ artifact_type: reference
8
+ domain: utilities
9
+ topic: layout
10
+
11
+ content_format: structured
12
+ complexity: intermediate
13
+ audience: [implementer]
14
+
15
+ tasks: [implement]
16
+
17
+ refs:
18
+ - slds.guidance.utilities
19
+ - slds.guidance.overview.utilities
20
+ - slds.guidance.hooks.spacing
21
+
22
+ tags: [utilities, layout, spacing, magnet]
23
+ keywords: [slds-has-buffer, slds-has-full-bleed, slds-has-magnet]
24
+ ---
25
+
26
+ # Layout - Global Spacing & Component Connection
27
+
28
+ Global spacing management and seamless component connections.
29
+
30
+ ## Core Classes
31
+
32
+ | Class | Purpose |
33
+ |-------|---------|
34
+ | `slds-has-buffer` | Applies consistent global margin using `--slds-g-spacing-3` token |
35
+ | `slds-has-full-bleed` | Removes all margins to create full-bleed layouts |
36
+ | `slds-has-bottom-magnet` | Removes bottom margin and border radius to connect with element below |
37
+ | `slds-has-top-magnet` | Removes top margin and border radius to connect with element above |
38
+
39
+ ## Common Patterns
40
+
41
+ ### Standard Buffer Spacing
42
+ ```html
43
+ <!-- Apply consistent spacing around cards -->
44
+ <div class="slds-card slds-has-buffer">
45
+ <div class="slds-card__header">Card with buffer margin</div>
46
+ <div class="slds-card__body">Content has global spacing on all sides</div>
47
+ </div>
48
+ ```
49
+
50
+ ### Full-Bleed Hero Section
51
+ ```html
52
+ <!-- Remove margins for edge-to-edge layouts -->
53
+ <div class="slds-page-header slds-has-full-bleed">
54
+ <div class="slds-page-header__row">
55
+ <div class="slds-page-header__col-title">Full-width header with no margins</div>
56
+ </div>
57
+ </div>
58
+ ```
59
+
60
+ ### Connected Card Components
61
+ ```html
62
+ <!-- Connect two cards vertically without gap -->
63
+ <div class="slds-card slds-has-bottom-magnet">
64
+ <div class="slds-card__header">First Card</div>
65
+ <div class="slds-card__body">This card connects to the one below</div>
66
+ </div>
67
+ <div class="slds-card slds-has-top-magnet">
68
+ <div class="slds-card__header">Second Card</div>
69
+ <div class="slds-card__body">Appears seamlessly connected to card above</div>
70
+ </div>
71
+ ```
72
+
73
+ ### Multiple Connected Components
74
+ ```html
75
+ <!-- Chain multiple cards together -->
76
+ <div class="slds-box slds-has-bottom-magnet">
77
+ <h2>Section Header</h2>
78
+ </div>
79
+ <div class="slds-card slds-has-top-magnet slds-has-bottom-magnet">
80
+ <div class="slds-card__body">Middle card connected on both sides</div>
81
+ </div>
82
+ <div class="slds-box slds-has-top-magnet">
83
+ <p>Footer content</p>
84
+ </div>
85
+ ```
86
+
87
+ ### Combined Buffer and Magnet
88
+ ```html
89
+ <!-- Use buffer with magnet for special layouts -->
90
+ <div class="slds-card slds-has-buffer slds-has-bottom-magnet">
91
+ <div class="slds-card__body">Card with side margins but connected below</div>
92
+ </div>
93
+ <div class="slds-card slds-has-top-magnet slds-has-buffer">
94
+ <!-- Special case: removes bottom margin, border-radius, top border, and box-shadow -->
95
+ <div class="slds-card__body">Connected card with modified buffer behavior</div>
96
+ </div>
97
+ ```
98
+
99
+ ## Best Practices
100
+
101
+ ✅ Use `slds-has-buffer` on cards and boxes for consistent component spacing
102
+ ✅ Apply magnet utilities to Cards, Page Headers, and Box components
103
+ ✅ Use `slds-has-bottom-magnet` on the top component and `slds-has-top-magnet` on the bottom component
104
+ ✅ Use `slds-has-full-bleed` for hero sections and full-width backgrounds
105
+
106
+ ❌ Avoid using magnet utilities on non-card-like elements
107
+ ❌ Do not mix magnet utilities with custom margin styles
108
+ ❌ Never apply `slds-has-full-bleed` to components that need spacing
109
+ ❌ Do not use magnet utilities when visual separation is needed
@@ -0,0 +1,131 @@
1
+ ---
2
+ id: slds.guidance.utilities.line-clamp
3
+ title: Line-clamp Utilities
4
+ description: SLDS line-clamp utility classes for multi-line text truncation
5
+ summary: "Utilities for multi-line text truncation (2-7 lines). Provides controlled text overflow with ellipsis for readable content length management."
6
+
7
+ artifact_type: reference
8
+ domain: utilities
9
+ topic: line-clamp
10
+
11
+ content_format: structured
12
+ complexity: intermediate
13
+ audience: [implementer]
14
+
15
+ tasks: [implement]
16
+
17
+ refs:
18
+ - slds.guidance.utilities
19
+ - slds.guidance.overview.utilities
20
+ - slds.guidance.utilities.truncate
21
+
22
+ tags: [utilities, line-clamp, truncation, text]
23
+ keywords: [slds-line-clamp, text-truncation, ellipsis, multi-line]
24
+ ---
25
+
26
+ # Line Clamp - Multi-line Text Truncation
27
+
28
+ Controlled multi-line text truncation with ellipsis.
29
+
30
+ ## Line Limit Scale
31
+
32
+ | Class | Lines | Use Case |
33
+ |-------|-------|----------|
34
+ | `slds-line-clamp` | 3 lines | Default truncation for card descriptions |
35
+ | `slds-line-clamp_x-small` | 2 lines | Compact list items and previews |
36
+ | `slds-line-clamp_small` | 3 lines | Standard card and tile descriptions |
37
+ | `slds-line-clamp_medium` | 5 lines | Extended previews and summaries |
38
+ | `slds-line-clamp_large` | 7 lines | Long-form content with controlled height |
39
+
40
+ ## Common Patterns
41
+
42
+ ### Card Description Truncation
43
+ ```html
44
+ <!-- Standard 3-line truncation for card descriptions -->
45
+ <div class="slds-card">
46
+ <div class="slds-card__body">
47
+ <p class="slds-line-clamp">
48
+ This is a long description that will be truncated after three lines
49
+ of text. Any content beyond the third line will be hidden with an
50
+ ellipsis to indicate more content is available.
51
+ </p>
52
+ </div>
53
+ </div>
54
+ ```
55
+
56
+ ### Compact List Item Preview
57
+ ```html
58
+ <!-- 2-line truncation for list items -->
59
+ <ul class="slds-has-dividers_bottom">
60
+ <li class="slds-item">
61
+ <div class="slds-line-clamp_x-small">
62
+ Item description that displays only two lines before truncating
63
+ with ellipsis for space-efficient list layouts.
64
+ </div>
65
+ </li>
66
+ </ul>
67
+ ```
68
+
69
+ ### Extended Article Summary
70
+ ```html
71
+ <!-- 5-line truncation for article previews -->
72
+ <article class="slds-box">
73
+ <h3 class="slds-text-heading_small">Article Title</h3>
74
+ <div class="slds-line-clamp_medium">
75
+ This article summary can display up to five lines of content before
76
+ truncation occurs. This provides enough context for readers to understand
77
+ the main points while maintaining consistent layout height across
78
+ multiple article cards in a grid or list view.
79
+ </div>
80
+ </article>
81
+ ```
82
+
83
+ ### Long-form Content Preview
84
+ ```html
85
+ <!-- 7-line truncation for detailed previews -->
86
+ <div class="slds-panel">
87
+ <div class="slds-panel__body">
88
+ <div class="slds-line-clamp_large">
89
+ Extended content preview that allows up to seven lines of text
90
+ to be displayed. This is useful for detailed descriptions,
91
+ documentation excerpts, or any scenario where more context is
92
+ beneficial while still maintaining a maximum height constraint
93
+ for consistent layouts across different content lengths.
94
+ </div>
95
+ </div>
96
+ </div>
97
+ ```
98
+
99
+ ### Responsive Text Truncation
100
+ ```html
101
+ <!-- Different truncation levels for different contexts -->
102
+ <div class="slds-grid slds-wrap">
103
+ <div class="slds-col slds-size_1-of-2">
104
+ <h4>Product Name</h4>
105
+ <p class="slds-line-clamp_x-small">
106
+ Brief product description limited to two lines
107
+ </p>
108
+ </div>
109
+ <div class="slds-col slds-size_1-of-2">
110
+ <h4>Product Details</h4>
111
+ <p class="slds-line-clamp_medium">
112
+ More detailed product information that can extend
113
+ up to five lines before being truncated
114
+ </p>
115
+ </div>
116
+ </div>
117
+ ```
118
+
119
+ ## Best Practices
120
+
121
+ ✅ Apply line-clamp classes directly to text elements (`<p>`, `<div>`, `<span>`)
122
+ ✅ Use `slds-line-clamp_x-small` (2 lines) for compact layouts and list items
123
+ ✅ Use `slds-line-clamp` or `slds-line-clamp_small` (3 lines) for standard card descriptions
124
+ ✅ Use `slds-line-clamp_medium` (5 lines) for extended previews
125
+ ✅ Test truncation with actual content to ensure readability
126
+ ✅ Provide "Show More" functionality when truncated content needs full access
127
+
128
+ ❌ Do not apply to container elements with HTML children
129
+ ❌ Never use on elements containing interactive components
130
+ ❌ Do not rely on line-clamp for IE11 support (uses -webkit-line-clamp)
131
+ ❌ Avoid using with single-line truncation (use [Truncate Utilities](ref:slds.guidance.utilities.truncate) instead)
@@ -0,0 +1,155 @@
1
+ ---
2
+ id: slds.guidance.utilities.margin
3
+ title: Margin Utilities
4
+ description: SLDS margin utility classes for external spacing
5
+ summary: "Utilities for external spacing. Includes directional (top/right/bottom/left), aggregate (horizontal/vertical/around), and variable density classes. Base unit 4px with sizes from xxx-small (2px) to xx-large (48px)."
6
+
7
+ artifact_type: reference
8
+ domain: utilities
9
+ topic: margin
10
+
11
+ content_format: structured
12
+ complexity: intermediate
13
+ audience: [implementer]
14
+
15
+ tasks: [implement]
16
+
17
+ refs:
18
+ - slds.guidance.utilities
19
+ - slds.guidance.overview.utilities
20
+ - slds.guidance.utilities.padding
21
+ - slds.guidance.hooks.spacing
22
+
23
+ tags: [utilities, margin, spacing, external-spacing]
24
+ keywords: [slds-m, margin, external spacing, whitespace]
25
+ ---
26
+
27
+ # Margin - External Spacing
28
+
29
+ External spacing between elements. Base unit: **4px**.
30
+
31
+ ## Size Scale
32
+
33
+ | Size | Class Suffix | Value | Pixels |
34
+ |------|-------------|-------|--------|
35
+ | None | `none` | 0 | 0px |
36
+ | XXX Small | `xxx-small` | 0.125rem | 2px |
37
+ | XX Small | `xx-small` | 0.25rem | 4px |
38
+ | X Small | `x-small` | 0.5rem | 8px |
39
+ | Small | `small` | 0.75rem | 12px |
40
+ | Medium | `medium` | 1rem | 16px |
41
+ | Large | `large` | 1.5rem | 24px |
42
+ | X Large | `x-large` | 2rem | 32px |
43
+ | XX Large | `xx-large` | 3rem | 48px |
44
+
45
+ ## Core Classes
46
+
47
+ ### Directional Margins
48
+
49
+ | Class | Purpose |
50
+ |-------|---------|
51
+ | `slds-m-top_*` | Applies margin to the top edge |
52
+ | `slds-m-right_*` | Applies margin to the right edge |
53
+ | `slds-m-bottom_*` | Applies margin to the bottom edge |
54
+ | `slds-m-left_*` | Applies margin to the left edge |
55
+
56
+ ### Aggregate Margins
57
+
58
+ | Class | Purpose |
59
+ |-------|---------|
60
+ | `slds-m-horizontal_*` | Applies margin to left and right edges |
61
+ | `slds-m-vertical_*` | Applies margin to top and bottom edges |
62
+ | `slds-m-around_*` | Applies margin to all four edges |
63
+
64
+ ### Variable Density Classes
65
+
66
+ | Class | Purpose | Comfy | Compact |
67
+ |-------|---------|-------|---------|
68
+ | `slds-var-m-top_*` | Variable density top margin | Full size | 50% size |
69
+ | `slds-var-m-right_*` | Variable density right margin | Full size | 50% size |
70
+ | `slds-var-m-bottom_*` | Variable density bottom margin | Full size | 50% size |
71
+ | `slds-var-m-left_*` | Variable density left margin | Full size | 50% size |
72
+ | `slds-var-m-horizontal_*` | Variable density horizontal margins | Full size | 50% size |
73
+ | `slds-var-m-vertical_*` | Variable density vertical margins | Full size | 50% size |
74
+ | `slds-var-m-around_*` | Variable density all sides | Full size | 50% size |
75
+
76
+ ## Common Patterns
77
+
78
+ ```html
79
+ <!-- Card stack with consistent spacing -->
80
+ <div class="slds-card slds-m-bottom_medium">
81
+ <!-- Card content -->
82
+ </div>
83
+ <div class="slds-card slds-m-bottom_medium">
84
+ <!-- Card content -->
85
+ </div>
86
+ <div class="slds-card">
87
+ <!-- Last card needs no bottom margin -->
88
+ </div>
89
+
90
+ <!-- Button group with horizontal spacing -->
91
+ <div class="slds-button-group">
92
+ <button class="slds-button slds-button_neutral">Cancel</button>
93
+ <button class="slds-button slds-button_brand slds-m-left_small">Save</button>
94
+ <button class="slds-button slds-button_brand slds-m-left_small">Save & New</button>
95
+ </div>
96
+
97
+ <!-- Page sections with vertical rhythm -->
98
+ <section class="slds-m-vertical_large">
99
+ <h2 class="slds-text-heading_medium slds-m-bottom_small">Section Title</h2>
100
+ <div class="slds-m-bottom_medium">
101
+ <!-- Section content -->
102
+ </div>
103
+ </section>
104
+
105
+ <!-- Responsive form layout with variable density -->
106
+ <div class="slds-form-element slds-var-m-bottom_medium">
107
+ <label class="slds-form-element__label">Field Label</label>
108
+ <input class="slds-input" />
109
+ </div>
110
+ <div class="slds-form-element slds-var-m-bottom_medium">
111
+ <label class="slds-form-element__label">Another Field</label>
112
+ <input class="slds-input" />
113
+ </div>
114
+
115
+ <!-- Remove default margins when needed -->
116
+ <ul class="slds-m-around_none">
117
+ <li>List item without inherited margins</li>
118
+ <li>Another item</li>
119
+ </ul>
120
+ ```
121
+
122
+ ## Implementation Guidelines
123
+
124
+ ### Standard Spacing Values
125
+
126
+ | Context | Recommended Class | Size |
127
+ |---------|------------------|------|
128
+ | Between cards/tiles | `slds-m-bottom_medium` | 16px |
129
+ | Between buttons | `slds-m-left_small` | 12px |
130
+ | Between form fields | `slds-m-bottom_medium` | 16px |
131
+ | Between page sections | `slds-m-vertical_large` | 24px |
132
+ | Icon to text | `slds-m-right_x-small` | 8px |
133
+ | Dense layouts | `slds-m-around_small` | 12px |
134
+ | Remove spacing | `slds-m-around_none` | 0px |
135
+
136
+ ### Responsive Considerations
137
+
138
+ Use variable density classes for layouts that adapt to user preferences:
139
+ - Desktop comfy mode: Full spacing values
140
+ - Desktop compact mode: 50% reduced spacing
141
+ - Mobile: Consider using smaller sizes by default
142
+
143
+ ## Best Practices
144
+
145
+ ✅ Use `slds-m-bottom_medium` (16px) between stacked components
146
+ ✅ Use `slds-m-left_small` (12px) between inline buttons
147
+ ✅ Use `slds-m-vertical_large` (24px) between major page sections
148
+ ✅ Use `slds-m-around_none` to remove default element margins
149
+ ✅ Use variable density classes (`slds-var-m-*`) for responsive layouts
150
+ ✅ Apply margins to the element that needs spacing from its siblings
151
+
152
+ ❌ Don't use margins larger than `xx-large` (48px)
153
+ ❌ Don't apply both top and bottom margins when one suffices
154
+ ❌ Don't mix standard and variable density classes on the same element
155
+ ❌ Don't use margin for internal spacing - use [Padding Utilities](ref:slds.guidance.utilities.padding) instead
@@ -0,0 +1,161 @@
1
+ ---
2
+ id: slds.guidance.utilities.media-object
3
+ title: Media Object Utilities
4
+ description: SLDS media object utility classes for image and text layouts
5
+ summary: "Utilities for image+text layouts. Provides flexible pairing of media elements (icons/images) with text content. Includes size variants (small/large), positioning (left/right/center), and responsive stacking."
6
+
7
+ artifact_type: reference
8
+ domain: utilities
9
+ topic: media-object
10
+
11
+ content_format: structured
12
+ complexity: intermediate
13
+ audience: [implementer]
14
+
15
+ tasks: [implement]
16
+
17
+ refs:
18
+ - slds.guidance.utilities
19
+ - slds.guidance.overview.utilities
20
+ - slds.guidance.hooks.spacing
21
+
22
+ tags: [utilities, media-object, layout, flexbox]
23
+ keywords: [slds-media, media object, figure, image layout]
24
+ ---
25
+
26
+ # Media Object - Image & Text Layouts
27
+
28
+ Flexible image and text pairing layouts using flexbox.
29
+
30
+ ## Core Classes
31
+
32
+ | Class | Purpose |
33
+ |-------|---------|
34
+ | `slds-media` | Creates flex container for media object layout |
35
+ | `slds-media__figure` | Container for media element (image/icon/avatar) |
36
+ | `slds-media__body` | Container for text content next to figure |
37
+ | `slds-media__figure_reverse` | Positions figure on the right side instead of left |
38
+
39
+ ## Size Variants
40
+
41
+ | Class | Purpose | Spacing |
42
+ |-------|---------|---------|
43
+ | `slds-media_small` | Reduces spacing between figure and body | 8px (`--slds-g-spacing-2`) |
44
+ | Default spacing | Standard spacing between figure and body | 12px (`--slds-g-spacing-3`) |
45
+ | `slds-media_large` | Increases spacing between figure and body | 20px (`--slds-g-spacing-5`) |
46
+
47
+ ## Layout Modifiers
48
+
49
+ | Class | Purpose |
50
+ |-------|---------|
51
+ | `slds-media_center` | Vertically centers figure and body content |
52
+ | `slds-media_inline` | Makes body flow inline instead of taking full width |
53
+ | `slds-media_responsive` | Stacks figure above body on smaller screens |
54
+ | `slds-media__figure_fixed-width` | Sets fixed width on figure container (40px) |
55
+
56
+ ## Common Patterns
57
+
58
+ ```html
59
+ <!-- Basic media object with avatar and text -->
60
+ <div class="slds-media">
61
+ <div class="slds-media__figure">
62
+ <span class="slds-avatar slds-avatar_circle slds-avatar_medium">
63
+ <img src="/avatar.jpg" alt="User" />
64
+ </span>
65
+ </div>
66
+ <div class="slds-media__body">
67
+ <h3 class="slds-text-heading_small">John Smith</h3>
68
+ <p class="slds-text-body_regular">Sales Representative</p>
69
+ </div>
70
+ </div>
71
+
72
+ <!-- Vertically centered icon and text -->
73
+ <div class="slds-media slds-media_center">
74
+ <div class="slds-media__figure">
75
+ <span class="slds-icon_container slds-icon-standard-account">
76
+ <svg class="slds-icon slds-icon_small">
77
+ <use href="/icons/standard-sprite.svg#account"></use>
78
+ </svg>
79
+ </span>
80
+ </div>
81
+ <div class="slds-media__body">
82
+ <p>Acme Corporation</p>
83
+ </div>
84
+ </div>
85
+
86
+ <!-- Figure on right side -->
87
+ <div class="slds-media">
88
+ <div class="slds-media__body">
89
+ <h4>Notification Settings</h4>
90
+ <p>Email notifications are enabled</p>
91
+ </div>
92
+ <div class="slds-media__figure slds-media__figure_reverse">
93
+ <button class="slds-button slds-button_icon">
94
+ <svg class="slds-button__icon">
95
+ <use href="/icons/utility-sprite.svg#settings"></use>
96
+ </svg>
97
+ </button>
98
+ </div>
99
+ </div>
100
+
101
+ <!-- Small spacing variant for compact lists -->
102
+ <ul>
103
+ <li class="slds-media slds-media_small">
104
+ <div class="slds-media__figure">
105
+ <span class="slds-icon_container">
106
+ <svg class="slds-icon slds-icon_x-small">
107
+ <use href="/icons/utility-sprite.svg#file"></use>
108
+ </svg>
109
+ </span>
110
+ </div>
111
+ <div class="slds-media__body">
112
+ <span>Document.pdf</span>
113
+ </div>
114
+ </li>
115
+ </ul>
116
+
117
+ <!-- Responsive stacking for mobile -->
118
+ <div class="slds-media slds-media_responsive">
119
+ <div class="slds-media__figure">
120
+ <img src="/product.jpg" alt="Product" width="120" />
121
+ </div>
122
+ <div class="slds-media__body">
123
+ <h3>Product Name</h3>
124
+ <p>Product description that will stack below image on mobile devices</p>
125
+ </div>
126
+ </div>
127
+ ```
128
+
129
+ ## Implementation Guidelines
130
+
131
+ ### Component Combinations
132
+
133
+ | Use Case | Classes | Description |
134
+ |----------|---------|-------------|
135
+ | Avatar with name | `slds-media` | Standard user profile display |
136
+ | Icon with label | `slds-media slds-media_center slds-media_small` | Compact icon labels |
137
+ | Product image with details | `slds-media slds-media_large` | E-commerce layouts |
138
+ | Notification with action | `slds-media` + `slds-media__figure_reverse` | Action button on right |
139
+ | Mobile-friendly layout | `slds-media slds-media_responsive` | Stacks on small screens |
140
+
141
+ ### Spacing Guidelines
142
+
143
+ | Context | Recommended Variant | Gap Size |
144
+ |---------|-------------------|----------|
145
+ | List items | `slds-media_small` | 8px |
146
+ | Standard cards | Default (no modifier) | 12px |
147
+ | Featured content | `slds-media_large` | 20px |
148
+
149
+ ## Best Practices
150
+
151
+ ✅ Use `slds-media__body` for text content to enable proper truncation
152
+ ✅ Use `slds-media_center` when icon and text should align middle
153
+ ✅ Use `slds-media_small` for compact list items
154
+ ✅ Use `slds-media_responsive` for mobile-optimized layouts
155
+ ✅ Place avatars and icons in `slds-media__figure`
156
+ ✅ Use `min-width: 0` on body for text truncation support
157
+
158
+ ❌ Don't nest media objects more than 2 levels deep
159
+ ❌ Don't use media objects for complex grid layouts
160
+ ❌ Don't forget `slds-media__figure` wrapper for images
161
+ ❌ Don't apply spacing utilities directly to figure or body