@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,126 @@
1
+ name: Prompt
2
+ description: A prompt is a modal dialog that asks the user to confirm an action or provide input. It typically contains a
3
+ question or message, along with action buttons for the user to respond.
4
+ category: Overlay
5
+ slds_classes:
6
+ root: ''
7
+ elements: []
8
+ modifiers: []
9
+ states:
10
+ - class: slds-is-open
11
+ description: Open state for prompt modal
12
+ trigger: When prompt is visible
13
+ - class: slds-is-disabled
14
+ description: Disabled state for prompt actions
15
+ trigger: When prompt actions are not interactive
16
+ variants:
17
+ - name: Base
18
+ description: Standard prompt modal dialog
19
+ classes: []
20
+ usage_context: Default prompt implementation
21
+ differences: Modal dialog with header, body, and footer sections
22
+ lightning_component:
23
+ name: lightning-modal
24
+ url: https://developer.salesforce.com/docs/component-library/bundle/lightning-modal
25
+ mapping_notes: Lightning modal can be configured as a prompt with appropriate content and actions
26
+ accessibility:
27
+ keyboard_support:
28
+ - Tab to navigate between focusable elements
29
+ - Shift+Tab to navigate backwards
30
+ - Escape to close the prompt
31
+ - Enter to confirm (when appropriate)
32
+ screen_reader:
33
+ - Prompt title announced
34
+ - Prompt content announced
35
+ - Action buttons announced
36
+ - Close button announced
37
+ aria_attributes:
38
+ - role='dialog' or 'alertdialog' on prompt container
39
+ - aria-labelledby pointing to prompt title
40
+ - aria-describedby pointing to prompt content
41
+ - aria-modal='true' on dialog
42
+ - aria-label on close button
43
+ - Focus trap within modal
44
+ usage_guidelines:
45
+ when_to_use:
46
+ - When user confirmation is required before an action
47
+ - For destructive actions that need confirmation
48
+ - When user input is needed in a modal context
49
+ - For important decisions that require user attention
50
+ when_not_to_use:
51
+ - For simple informational messages (use alerts)
52
+ - For non-critical confirmations (use inline confirmations)
53
+ - When action can be easily undone
54
+ - For frequent, repetitive confirmations
55
+ best_practices:
56
+ - Use clear, concise messaging
57
+ - Provide specific action button labels
58
+ - Make destructive actions clearly distinguishable
59
+ - Ensure proper focus management
60
+ - Provide keyboard shortcuts for common actions
61
+ - Use appropriate dialog role (dialog vs alertdialog)
62
+ - Include a way to dismiss (close button or cancel)
63
+ common_mistakes:
64
+ - Overusing prompts for non-critical actions
65
+ - Unclear or vague messaging
66
+ - Missing keyboard navigation
67
+ - Not trapping focus within modal
68
+ - Missing ARIA attributes
69
+ - No way to dismiss the prompt
70
+ code_examples:
71
+ - title: Basic Prompt
72
+ code: "<div class=\"slds-is-open\" role=\"dialog\" aria-labelledby=\"prompt-title\" aria-describedby=\"prompt-content\"\
73
+ \ aria-modal=\"true\">\n <div class=\"\">\n <h2 id=\"prompt-title\" class=\"slds-text-heading_medium\">Confirm\
74
+ \ Action</h2>\n <button class=\"slds-button slds-button_icon slds-button_icon-small\" aria-label=\"Close\">\n \
75
+ \ <svg class=\"slds-button__icon\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#close\"\
76
+ ></use>\n </svg>\n </button>\n </div>\n <div class=\"\" id=\"prompt-content\">\n <p>Are\
77
+ \ you sure you want to perform this action?</p>\n </div>\n <div class=\"\">\n <button class=\"slds-button\
78
+ \ slds-button_neutral\">Cancel</button>\n <button class=\"slds-button slds-button_brand\">Confirm</button>\n \
79
+ \ </div>\n </div>\n"
80
+ - title: Destructive Action Prompt
81
+ code: "<div class=\"slds-is-open\" role=\"alertdialog\" aria-labelledby=\"delete-title\" aria-describedby=\"delete-content\"\
82
+ \ aria-modal=\"true\">\n <div class=\"\">\n <h2 id=\"delete-title\" class=\"slds-text-heading_medium\">Delete\
83
+ \ Record</h2>\n <button class=\"slds-button slds-button_icon slds-button_icon-small\" aria-label=\"Close\">\n \
84
+ \ <svg class=\"slds-button__icon\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#close\"\
85
+ ></use>\n </svg>\n </button>\n </div>\n <div class=\"\" id=\"delete-content\">\n <p>This\
86
+ \ action cannot be undone. Are you sure you want to delete this record?</p>\n </div>\n <div class=\"\">\n \
87
+ \ <button class=\"slds-button slds-button_neutral\">Cancel</button>\n <button class=\"slds-button slds-button_destructive\"\
88
+ >Delete</button>\n </div>\n </div>\n"
89
+ styling_hooks: []
90
+ dependencies:
91
+ css_files:
92
+ - prompt.css
93
+ - modal.css
94
+ - button.css
95
+ javascript:
96
+ - Modal open/close functionality
97
+ - Focus trap management
98
+ - Backdrop/overlay handling
99
+ - Escape key handling
100
+ icons:
101
+ - utility:close
102
+ other_components:
103
+ - modal
104
+ - button
105
+ related_components:
106
+ - name: Modal
107
+ relationship: parent
108
+ description: Base modal component that prompt extends
109
+ - name: Alert
110
+ relationship: alternative
111
+ description: For non-interactive messages
112
+ - name: Popover
113
+ relationship: alternative
114
+ description: For lightweight overlays
115
+ references:
116
+ official_docs: https://v1.lightningdesignsystem.com/components/prompt/
117
+ design_guidelines: https://v1.lightningdesignsystem.com/components/prompt/
118
+ metadata:
119
+ version: 1.0.0
120
+ last_updated: '2025-11-12'
121
+ author: SLDS Documentation Team
122
+ slds_version: 2.27.2
123
+ review_status: complete
124
+ source: official-slds
125
+ notes: Created from official SLDS documentation and design-system-internal source code with CSS selector annotations. Cleaned
126
+ invalid classes and CSS variables on 2025-11-12 using slds-plus.css as source of truth.
@@ -0,0 +1,178 @@
1
+ name: "Publishers"
2
+
3
+ description: "A component for creating and publishing content, posts, or comments. Provides an input area with formatting options and action buttons for submitting user-generated content."
4
+
5
+ category: "Complex Components"
6
+
7
+ slds_classes:
8
+ root: "slds-publisher"
9
+ elements:
10
+ - class: "slds-publisher__input"
11
+ description: "Input area for content creation"
12
+ purpose: "Text input or textarea for user content"
13
+ - class: "slds-publisher__actions"
14
+ description: "Container for publisher actions"
15
+ purpose: "Holds submit and formatting buttons"
16
+ - class: "slds-publisher__toggle-visibility"
17
+ description: "Toggle element for publisher visibility"
18
+ purpose: "Controls visibility of publisher component"
19
+ modifiers: []
20
+ states:
21
+ - class: "slds-is-active"
22
+ description: "Active state for publisher"
23
+ trigger: "When publisher is expanded and ready for input"
24
+
25
+ variants:
26
+ - name: "Base"
27
+ description: "Standard publisher for creating posts or comments"
28
+ classes: ["slds-publisher"]
29
+ usage_context: "Default publisher implementation"
30
+ differences: "Input area with action buttons for content creation"
31
+
32
+ lightning_component:
33
+ name: ""
34
+ url: "https://developer.salesforce.com/docs/component-library/overview/components"
35
+ mapping_notes: "No direct Lightning Base Component - typically built with lightning-textarea and custom components"
36
+
37
+ accessibility:
38
+ keyboard_support:
39
+ - "Tab to navigate between input and buttons"
40
+ - "Enter in input field may submit (depending on implementation)"
41
+ - "Escape to cancel/collapse publisher"
42
+ - "Keyboard shortcuts for formatting (if supported)"
43
+ screen_reader:
44
+ - "Input field label announced"
45
+ - "Character count announced (if present)"
46
+ - "Action button purposes announced"
47
+ - "Submit confirmation announced"
48
+ aria_attributes:
49
+ - "aria-label on input field"
50
+ - "aria-describedby for character limits or hints"
51
+ - "aria-disabled on submit when invalid"
52
+ - "role='textbox' on input area"
53
+
54
+ usage_guidelines:
55
+ when_to_use:
56
+ - "For creating social posts or updates"
57
+ - "For commenting systems"
58
+ - "In collaboration or communication features"
59
+ - "When users need to create content"
60
+ when_not_to_use:
61
+ - "For simple form inputs (use form elements)"
62
+ - "When content creation isn't primary action"
63
+ - "For search inputs"
64
+ - "When rich text editing isn't needed"
65
+ best_practices:
66
+ - "Provide clear submit action button"
67
+ - "Show character limits if applicable"
68
+ - "Support basic text formatting"
69
+ - "Auto-save drafts when possible"
70
+ - "Provide cancel/clear option"
71
+ - "Handle empty submissions gracefully"
72
+ common_mistakes:
73
+ - "Missing cancel or clear option"
74
+ - "No character limit indication"
75
+ - "Poor mobile keyboard handling"
76
+ - "Not preserving draft content"
77
+ - "Unclear submit button state"
78
+
79
+ code_examples:
80
+ - title: "Basic Publisher"
81
+ code: |
82
+ <div class="slds-publisher slds-is-active">
83
+ <label for="publisher-textarea" class="slds-assistive-text">Write a post</label>
84
+ <textarea id="publisher-textarea" class="slds-publisher__input slds-textarea" placeholder="What's on your mind?"></textarea>
85
+ <div class="slds-publisher__actions slds-grid slds-grid_align-spread">
86
+ <ul class="slds-grid">
87
+ <li>
88
+ <button class="slds-button slds-button_icon slds-button_icon-border slds-button_icon-small" title="Attach a file">
89
+ <svg class="slds-button__icon" aria-hidden="true">
90
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#attach"></use>
91
+ </svg>
92
+ <span class="slds-assistive-text">Attach a file</span>
93
+ </button>
94
+ </li>
95
+ </ul>
96
+ <button class="slds-button slds-button_brand">Post</button>
97
+ </div>
98
+ </div>
99
+ description: "Basic publisher with text input and post button"
100
+ - title: "Publisher with Formatting Options"
101
+ code: |
102
+ <div class="slds-publisher slds-is-active">
103
+ <label for="rich-publisher-textarea" class="slds-assistive-text">Write a post</label>
104
+ <textarea id="rich-publisher-textarea" class="slds-publisher__input slds-textarea" placeholder="Share your thoughts..."></textarea>
105
+ <div class="slds-publisher__actions slds-grid slds-grid_align-spread">
106
+ <ul class="slds-grid slds-grid_vertical-align-center">
107
+ <li>
108
+ <button class="slds-button slds-button_icon slds-button_icon-border slds-button_icon-small" title="Bold">
109
+ <svg class="slds-button__icon" aria-hidden="true">
110
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#bold"></use>
111
+ </svg>
112
+ <span class="slds-assistive-text">Bold</span>
113
+ </button>
114
+ </li>
115
+ <li>
116
+ <button class="slds-button slds-button_icon slds-button_icon-border slds-button_icon-small" title="Italic">
117
+ <svg class="slds-button__icon" aria-hidden="true">
118
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#italic"></use>
119
+ </svg>
120
+ <span class="slds-assistive-text">Italic</span>
121
+ </button>
122
+ </li>
123
+ <li>
124
+ <button class="slds-button slds-button_icon slds-button_icon-border slds-button_icon-small" title="Link">
125
+ <svg class="slds-button__icon" aria-hidden="true">
126
+ <use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#link"></use>
127
+ </svg>
128
+ <span class="slds-assistive-text">Insert link</span>
129
+ </button>
130
+ </li>
131
+ </ul>
132
+ <div class="slds-grid">
133
+ <button class="slds-button slds-button_neutral slds-m-right_x-small">Cancel</button>
134
+ <button class="slds-button slds-button_brand">Publish</button>
135
+ </div>
136
+ </div>
137
+ </div>
138
+ description: "Publisher with text formatting options and cancel button"
139
+
140
+ styling_hooks: []
141
+
142
+ dependencies:
143
+ css_files: ["publishers.css", "textarea.css", "button.css"]
144
+ javascript:
145
+ - "Input validation"
146
+ - "Character counting"
147
+ - "Submit handling"
148
+ - "Draft auto-save"
149
+ icons:
150
+ - "utility:attach"
151
+ - "utility:bold"
152
+ - "utility:italic"
153
+ - "utility:link"
154
+ other_components: ["textarea", "button"]
155
+
156
+ related_components:
157
+ - name: "Feed"
158
+ relationship: "complementary"
159
+ description: "Displays published content from publisher"
160
+ - name: "Rich Text Editor"
161
+ relationship: "alternative"
162
+ description: "More advanced editing capabilities"
163
+ - name: "Textarea"
164
+ relationship: "contains"
165
+ description: "Input element within publisher"
166
+
167
+ references:
168
+ official_docs: "https://v1.lightningdesignsystem.com/components/publishers/"
169
+
170
+ metadata:
171
+ version: "1.0.0"
172
+ last_updated: "2025-11-11"
173
+ author: "SLDS Documentation Team"
174
+ slds_version: "2.27.2"
175
+ review_status: "complete"
176
+ source: "official-slds"
177
+ notes: "Created from official SLDS documentation and design-system-internal source code"
178
+
@@ -0,0 +1,172 @@
1
+ name: "Radio Button Group"
2
+
3
+ description: "A group of radio buttons that allows users to select a single option from a set of mutually exclusive choices. Radio button groups are used when only one option can be selected at a time."
4
+
5
+ category: "Input"
6
+
7
+ slds_classes:
8
+ root: "slds-radio_button-group"
9
+ elements:
10
+ - class: "slds-radio_button"
11
+ description: "Individual radio button within the group"
12
+ purpose: "Container for each radio option in the button group"
13
+ - class: "slds-radio_faux"
14
+ description: "Visual radio button replacement styled as a button"
15
+ purpose: "Custom-styled radio appearance that looks like a button"
16
+ - class: "slds-radio_button__label"
17
+ description: "Label element for the radio button"
18
+ purpose: "Provides clickable area and contains the radio faux element"
19
+ modifiers: []
20
+ states:
21
+ - class: "slds-has-error"
22
+ description: "Error state styling for the form element"
23
+ trigger: "When radio button group validation fails"
24
+ - class: "slds-is-disabled"
25
+ description: "Disabled state styling"
26
+ trigger: "When radio button group is not interactive"
27
+
28
+ variants:
29
+ - name: "Base"
30
+ description: "Standard radio button group"
31
+ classes: ["slds-radio_button-group"]
32
+ usage_context: "Default radio button group implementation"
33
+ differences: "Group of radio buttons with shared border and styling, mutually exclusive selection"
34
+
35
+ lightning_component:
36
+ name: "lightning-radio-group"
37
+ url: "https://developer.salesforce.com/docs/component-library/bundle/lightning-radio-group"
38
+ mapping_notes: "Direct mapping - Lightning component implements SLDS radio button group blueprint"
39
+
40
+ accessibility:
41
+ keyboard_support:
42
+ - "Tab to navigate to the radio button group"
43
+ - "Arrow keys (Up/Down/Left/Right) to navigate between radio options"
44
+ - "Space to select the focused radio option"
45
+ - "Tab to move to next form element after selection"
46
+ screen_reader:
47
+ - "Fieldset legend announced as group label"
48
+ - "Radio button state announced (checked/unchecked)"
49
+ - "Label text read with each radio button"
50
+ - "Error messages associated and announced"
51
+ aria_attributes:
52
+ - "fieldset and legend for group semantics"
53
+ - "aria-describedby for error messages"
54
+ - "aria-invalid when validation fails"
55
+ - "aria-required for required radio groups"
56
+ - "role='radiogroup' on fieldset (if not using native fieldset)"
57
+
58
+ usage_guidelines:
59
+ when_to_use:
60
+ - "When users need to select exactly one option from a set"
61
+ - "For mutually exclusive choices"
62
+ - "When options are closely related and benefit from visual grouping"
63
+ - "For preference selection, single-choice forms, or settings"
64
+ when_not_to_use:
65
+ - "When multiple options can be selected (use checkbox group)"
66
+ - "For binary choices (use single checkbox or toggle)"
67
+ - "When only two options exist (consider toggle or checkbox)"
68
+ - "For actions (use buttons instead)"
69
+ best_practices:
70
+ - "Use clear, descriptive legend text for the group"
71
+ - "Keep option labels short and concise"
72
+ - "Group related options logically"
73
+ - "Provide immediate visual feedback for selection"
74
+ - "Ensure adequate touch target size for mobile"
75
+ - "Use error states to indicate validation issues"
76
+ - "Always have one option selected by default when appropriate"
77
+ common_mistakes:
78
+ - "Using radio button group for multiple selections"
79
+ - "Making labels too long or unclear"
80
+ - "Not providing proper fieldset/legend structure"
81
+ - "Missing error state handling"
82
+ - "Inadequate spacing between buttons"
83
+ - "Not having a default selection when one is expected"
84
+
85
+ code_examples:
86
+ - title: "Basic Radio Button Group"
87
+ code: |
88
+ <fieldset class="slds-form-element">
89
+ <legend class="slds-form-element__legend slds-form-element__label">
90
+ Select an Option
91
+ </legend>
92
+ <div class="slds-form-element__control">
93
+ <div class="slds-radio_button-group">
94
+ <span class="slds-button slds-radio_button">
95
+ <input type="radio" name="radio-group" id="radio-1" value="option1" />
96
+ <label class="slds-radio_button__label" for="radio-1">
97
+ <span class="slds-radio_faux">Option 1</span>
98
+ </label>
99
+ </span>
100
+ <span class="slds-button slds-radio_button">
101
+ <input type="radio" name="radio-group" id="radio-2" value="option2" />
102
+ <label class="slds-radio_button__label" for="radio-2">
103
+ <span class="slds-radio_faux">Option 2</span>
104
+ </label>
105
+ </span>
106
+ <span class="slds-button slds-radio_button">
107
+ <input type="radio" name="radio-group" id="radio-3" value="option3" />
108
+ <label class="slds-radio_button__label" for="radio-3">
109
+ <span class="slds-radio_faux">Option 3</span>
110
+ </label>
111
+ </span>
112
+ </div>
113
+ </div>
114
+ </fieldset>
115
+ description: "Basic radio button group with three mutually exclusive options"
116
+ - title: "Radio Button Group with Error State"
117
+ code: |
118
+ <fieldset class="slds-form-element slds-has-error">
119
+ <legend class="slds-form-element__legend slds-form-element__label">
120
+ <abbr class="slds-required" title="required">*</abbr> Select an Option
121
+ </legend>
122
+ <div class="slds-form-element__control">
123
+ <div class="slds-radio_button-group">
124
+ <span class="slds-button slds-radio_button">
125
+ <input type="radio" name="radio-error" id="radio-error-1" value="option1" aria-describedby="radio-error-message" />
126
+ <label class="slds-radio_button__label" for="radio-error-1">
127
+ <span class="slds-radio_faux">Option 1</span>
128
+ </label>
129
+ </span>
130
+ <span class="slds-button slds-radio_button">
131
+ <input type="radio" name="radio-error" id="radio-error-2" value="option2" />
132
+ <label class="slds-radio_button__label" for="radio-error-2">
133
+ <span class="slds-radio_faux">Option 2</span>
134
+ </label>
135
+ </span>
136
+ </div>
137
+ </div>
138
+ <div id="radio-error-message" class="slds-form-element__help">This field is required</div>
139
+ </fieldset>
140
+ description: "Radio button group with error state and validation message"
141
+
142
+ styling_hooks: []
143
+
144
+ dependencies:
145
+ css_files: ["radio-button-group.css", "form-element.css", "radio-button.css"]
146
+ javascript: []
147
+ icons: []
148
+ other_components: ["form-element", "radio-button"]
149
+
150
+ related_components:
151
+ - name: "Radio Group"
152
+ relationship: "similar"
153
+ description: "Standard radio group with circular radio buttons"
154
+ - name: "Checkbox Button Group"
155
+ relationship: "alternative"
156
+ description: "For multiple selections instead of single selection"
157
+ - name: "Radio Button"
158
+ relationship: "similar"
159
+ description: "Individual radio button component"
160
+
161
+ references:
162
+ official_docs: "https://v1.lightningdesignsystem.com/components/radio-button-group/"
163
+ design_guidelines: "https://v1.lightningdesignsystem.com/components/radio-button-group/"
164
+ metadata:
165
+ version: "1.0.0"
166
+ last_updated: "2025-01-15"
167
+ author: "SLDS Documentation Team"
168
+ slds_version: "2.27.2"
169
+ review_status: "complete"
170
+ source: "official-slds"
171
+ notes: "Created from official SLDS documentation and design-system-internal source code with CSS selector annotations."
172
+
@@ -0,0 +1,112 @@
1
+ name: Radio Group
2
+ description: A collection of radio button options that allows users to select exactly one choice from a set of mutually exclusive
3
+ options.
4
+ category: Input
5
+ slds_classes:
6
+ root: slds-radio_button-group
7
+ elements:
8
+ - class: slds-radio_button
9
+ description: Individual radio button wrapper
10
+ purpose: Contains a single radio button and its label
11
+ - class: slds-radio_button__label
12
+ description: Label element for the radio button
13
+ purpose: Provides clickable area and describes the option
14
+ modifiers: []
15
+ states:
16
+ - class: slds-has-error
17
+ description: Error state styling
18
+ trigger: When radio group validation fails
19
+ - class: slds-is-disabled
20
+ description: Disabled state styling
21
+ trigger: When radio group is not interactive
22
+ variants:
23
+ - name: Base
24
+ description: Standard radio button group
25
+ classes:
26
+ - slds-radio_button-group
27
+ usage_context: Default radio group implementation
28
+ differences: Standard radio buttons with labels arranged vertically
29
+ lightning_component:
30
+ name: lightning-radio-group
31
+ url: https://developer.salesforce.com/docs/component-library/bundle/lightning-radio-group
32
+ mapping_notes: Direct mapping - Lightning component implements SLDS radio group blueprint
33
+ accessibility:
34
+ keyboard_support:
35
+ - Tab to enter the radio group
36
+ - Arrow keys to navigate between options
37
+ - Space to select highlighted option
38
+ - Tab to exit the radio group
39
+ screen_reader:
40
+ - Group purpose and current selection announced
41
+ - Individual option labels read clearly
42
+ - Required state communicated when applicable
43
+ aria_attributes:
44
+ - role='radiogroup' for the container
45
+ - aria-labelledby for group labeling
46
+ - aria-describedby for group help text
47
+ - aria-required when selection is mandatory
48
+ - aria-invalid when validation fails
49
+ usage_guidelines:
50
+ when_to_use:
51
+ - For mutually exclusive options (only one selection allowed)
52
+ - When users must choose exactly one option
53
+ - For small sets of related options (2-7 choices)
54
+ - When all options should be visible simultaneously
55
+ when_not_to_use:
56
+ - For multiple selections (use checkbox group instead)
57
+ - For large sets of options (use select or combobox)
58
+ - When no selection is a valid choice initially
59
+ best_practices:
60
+ - Use clear, distinct option labels
61
+ - Arrange options in logical order
62
+ - Provide a default selection when appropriate
63
+ - Keep option labels concise
64
+ - Group related options together
65
+ common_mistakes:
66
+ - Using radio groups for multiple selections
67
+ - Too many options making selection difficult
68
+ - Unclear or ambiguous option labels
69
+ - Not providing a sensible default selection
70
+ code_examples:
71
+ - title: Basic Radio Group
72
+ code: "<fieldset class=\"slds-form-element\">\n <legend class=\"slds-form-element__legend slds-form-element__label\"\
73
+ >\n <abbr class=\"slds-required\" title=\"required\">* </abbr>Radio Group Label\n </legend>\n <div class=\"\
74
+ slds-form-element__control\">\n <div class=\"slds-radio_button-group\">\n <span class=\"slds-radio_button\"\
75
+ >\n <input type=\"radio\" id=\"radio-1\" value=\"option1\" name=\"options\" />\n <label class=\"\
76
+ slds-radio_button__label\" for=\"radio-1\">\n <span class=\"\"></span>\n <span class=\"slds-form-element__label\"\
77
+ >Option One</span>\n </label>\n </span>\n <span class=\"slds-radio_button\">\n \
78
+ \ <input type=\"radio\" id=\"radio-2\" value=\"option2\" name=\"options\" />\n <label class=\"slds-radio_button__label\"\
79
+ \ for=\"radio-2\">\n <span class=\"\"></span>\n <span class=\"slds-form-element__label\">Option\
80
+ \ Two</span>\n </label>\n </span>\n <span class=\"slds-radio_button\">\n <input\
81
+ \ type=\"radio\" id=\"radio-3\" value=\"option3\" name=\"options\" />\n <label class=\"slds-radio_button__label\"\
82
+ \ for=\"radio-3\">\n <span class=\"\"></span>\n <span class=\"slds-form-element__label\">Option\
83
+ \ Three</span>\n </label>\n </span>\n </div>\n </div>\n </fieldset>\n"
84
+ styling_hooks:
85
+ - name: --slds-c-radio-color-border
86
+ description: Border color for radio buttons
87
+ category: color
88
+ dependencies:
89
+ css_files:
90
+ - radio-group.css
91
+ - form-element.css
92
+ javascript: []
93
+ icons: []
94
+ other_components:
95
+ - form-element
96
+ related_components:
97
+ - name: Checkbox Group
98
+ relationship: alternative
99
+ description: For multiple selection scenarios
100
+ - name: Select
101
+ relationship: alternative
102
+ description: For larger sets of mutually exclusive options
103
+ - name: Button Group
104
+ relationship: alternative
105
+ description: Alternative visual treatment for option selection
106
+ references:
107
+ official_docs: https://v1.lightningdesignsystem.com/components/radio-group/
108
+ metadata:
109
+ version: 1.0.0
110
+ last_updated: '2025-11-12'
111
+ review_status: complete
112
+ notes: ' Cleaned invalid classes and CSS variables on 2025-11-12 using slds-plus.css as source of truth.'