@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,288 @@
1
+ ---
2
+ id: slds.guidance.development
3
+ title: SLDS Development Guide
4
+ description: Root-level guidance for generating or optimizing SLDS-compliant code
5
+ summary: "Comprehensive development guide covering the component selection hierarchy (LBC → Blueprints → Hooks → Custom), framework-specific patterns, styling hooks usage, linter resolution, naming conventions, and code generation best practices."
6
+
7
+ artifact_type: guide
8
+ domain: development
9
+ topic: development
10
+
11
+ content_format: structured
12
+ complexity: intermediate
13
+ audience: [implementer]
14
+
15
+ tasks: [learn, implement, choose]
16
+
17
+ refs:
18
+ - slds.guidance.hooks.typography
19
+ - slds.guidance.hooks.spacing
20
+ - slds.guidance.uplift
21
+ - slds.guidance.hooks
22
+ - slds.guidance.hooks.color
23
+ - slds.guidance.blueprints
24
+ - slds.guidance.utilities
25
+ - slds.guidance.icons
26
+ - slds.guidance.design
27
+
28
+ tags: [development, lwc, slds, theming, styling-hooks]
29
+ keywords: [component hierarchy, Lightning Base Components, SLDS Blueprints, styling hooks, utility classes, code generation, linter, naming conventions]
30
+ ---
31
+
32
+ # SLDS Development Guide
33
+
34
+ Root-level guidance for AI coding agents generating or optimizing SLDS-compliant code.
35
+
36
+ ---
37
+
38
+ ## What is SLDS?
39
+
40
+ The **Salesforce Lightning Design System** provides:
41
+
42
+ | Resource | Description |
43
+ |----------|-------------|
44
+ | **Lightning Base Components** | Pre-built LWC components with accessibility and theming built-in |
45
+ | **SLDS Blueprints** | CSS/HTML patterns for any framework (React, Vue, Angular, vanilla JS) |
46
+ | **Styling Hooks** | CSS custom properties (`--slds-g-*`) for theming |
47
+ | **Utility Classes** | Rapid styling classes for spacing, layout, visibility |
48
+ | **Icons** | SVG icons across action, utility, standard, custom, and doctype categories |
49
+
50
+ > **Version Note:** This guide targets **SLDS v2**. Legacy `--lwc-*` tokens and `slds-*--modifier` class syntax are deprecated.
51
+
52
+ ---
53
+
54
+ ## Component Selection Hierarchy
55
+
56
+ **Always follow this order when building UI:**
57
+
58
+ ```
59
+ ┌─────────────────────────────────────────────────────────────┐
60
+ │ 1. Lightning Base Components (LWC only) │
61
+ ├─────────────────────────────────────────────────────────────┤
62
+ │ 2. SLDS Blueprints (any framework) │
63
+ ├─────────────────────────────────────────────────────────────┤
64
+ │ 3. Custom with Styling Hooks │
65
+ ├─────────────────────────────────────────────────────────────┤
66
+ │ 4. Custom CSS (last resort, still use hooks for values) │
67
+ └─────────────────────────────────────────────────────────────┘
68
+ ```
69
+
70
+ ### Level 1: Lightning Base Components (LWC Only)
71
+
72
+ Pre-built, accessible, themed components. **Always check first for LWC projects.**
73
+
74
+ | Component | Use Case |
75
+ |-----------|----------|
76
+ | `lightning-button` | All button actions |
77
+ | `lightning-input` | Text, email, number, date inputs |
78
+ | `lightning-combobox` | Dropdown selection |
79
+ | `lightning-datatable` | Tabular data with sorting/selection |
80
+ | `lightning-card` | Content containers |
81
+ | `lightning-modal` | Dialog overlays |
82
+
83
+ ### Level 2: SLDS Blueprints
84
+
85
+ HTML/CSS patterns for non-LWC frameworks or when no Lightning Base Component exists.
86
+
87
+ ### Level 3: Styling Hooks
88
+
89
+ CSS custom properties for theming. Use when customizing appearance.
90
+
91
+ ```css
92
+ .my-card {
93
+ background: var(--slds-g-color-surface-1);
94
+ padding: var(--slds-g-spacing-4);
95
+ border-radius: var(--slds-g-radius-border-2);
96
+ }
97
+ ```
98
+
99
+ ### Level 4: Custom CSS
100
+
101
+ **Only when no hook exists for the property.** See [When Hooks Don't Exist](#when-hooks-dont-exist).
102
+
103
+ ---
104
+
105
+ ## Framework-Specific Patterns
106
+
107
+ ### LWC Layout
108
+
109
+ ```html
110
+ <!-- Use lightning-layout for responsive grids -->
111
+ <lightning-layout multiple-rows>
112
+ <lightning-layout-item size="12" medium-device-size="6">
113
+ <lightning-card title="Card 1">Content</lightning-card>
114
+ </lightning-layout-item>
115
+ </lightning-layout>
116
+ ```
117
+
118
+ ### Non-LWC Layout (React, Vue, Angular)
119
+
120
+ ```html
121
+ <!-- Use SLDS grid classes -->
122
+ <div class="slds-grid slds-wrap slds-gutters">
123
+ <div class="slds-col slds-size_1-of-1 slds-medium-size_1-of-2">
124
+ <!-- Content -->
125
+ </div>
126
+ </div>
127
+ ```
128
+
129
+ ---
130
+
131
+ ## Common Patterns Quick Reference
132
+
133
+ | Pattern | LWC Component | Blueprint |
134
+ |---------|---------------|-----------|
135
+ | Forms | `lightning-input`, `lightning-combobox` | Input, Combobox |
136
+ | Data Tables | `lightning-datatable` | Data Tables |
137
+ | Modals | `lightning-modal` | Modals |
138
+ | Cards | `lightning-card` | Cards |
139
+
140
+ **Form validation pattern (LWC):**
141
+ ```javascript
142
+ handleSubmit() {
143
+ const allValid = [...this.template.querySelectorAll('lightning-input')]
144
+ .reduce((valid, input) => input.reportValidity() && valid, true);
145
+ if (allValid) { /* submit */ }
146
+ }
147
+ ```
148
+
149
+ **Modal pattern (LWC):**
150
+ ```javascript
151
+ import LightningModal from 'lightning/modal';
152
+ export default class MyModal extends LightningModal {
153
+ handleClose() { this.close('result'); }
154
+ }
155
+ ```
156
+
157
+ ---
158
+
159
+ ## Core Rules
160
+
161
+ ### Do ✅
162
+ - Follow hierarchy: LBC → Blueprints → Styling Hooks → Custom CSS
163
+ - Use `var(--slds-g-*)` with fallbacks for all themeable values
164
+ - Create custom classes (e.g., `my-*`) instead of overriding `.slds-*`
165
+ - Verify components/hooks exist before implementing
166
+
167
+ ### Don't ❌
168
+ - Hard-code colors, spacing, or typography
169
+ - Override `.slds-*` classes directly
170
+ - Use deprecated `--lwc-*` tokens as primary values
171
+ - Use color alone to convey meaning
172
+
173
+ ---
174
+
175
+ ## When Hooks Don't Exist
176
+
177
+ Not all CSS properties have styling hooks. Use this decision tree:
178
+
179
+ ```
180
+ Does a styling hook exist for this property?
181
+ ├─ YES → Use the hook with fallback: var(--slds-g-*, fallback)
182
+ ├─ NO → Is there a utility class?
183
+ │ ├─ YES → Use the utility class
184
+ │ └─ NO → Use minimal custom CSS with:
185
+ │ 1. Custom class (my-*, c-*)
186
+ │ 2. Document why no hook/utility exists
187
+ │ 3. Use hooks for related values (e.g., colors in gradients)
188
+ ```
189
+
190
+ **Properties without hooks (examples):**
191
+ - `transform`, `transition` (use `--slds-g-timing-*` for duration only)
192
+ - `z-index` (use SLDS utility classes when possible)
193
+ - `cursor`
194
+ - `overflow`
195
+ - Complex gradients (use hook colors within gradient syntax)
196
+
197
+ **Example - gradient with hook colors:**
198
+ ```css
199
+ .my-gradient-bg {
200
+ /* No gradient hook exists, but use hook colors */
201
+ background: linear-gradient(
202
+ to bottom,
203
+ var(--slds-g-color-surface-1),
204
+ var(--slds-g-color-surface-2)
205
+ );
206
+ }
207
+ ```
208
+
209
+ ---
210
+
211
+ ## Naming Conventions
212
+
213
+ ### Custom Class Names
214
+
215
+ Use a consistent prefix to avoid collision with SLDS:
216
+
217
+ | Pattern | Use Case | Example |
218
+ |---------|----------|---------|
219
+ | `my-*` | General custom styling | `my-card-header` |
220
+ | `c-*` | LWC component-specific | `c-accountList-row` |
221
+ | `[namespace]-*` | Package/app namespace | `acme-dashboard-widget` |
222
+
223
+ **Avoid:**
224
+ - Generic names: `container`, `wrapper`, `header`
225
+ - SLDS-like names: `custom-slds-button`
226
+ - BEM on SLDS classes: `slds-card__custom-header`
227
+
228
+ ### Custom Hook Names (for app-level theming)
229
+
230
+ ```css
231
+ :root {
232
+ /* Namespace your custom hooks */
233
+ --my-app-primary: var(--slds-g-color-brand-1);
234
+ --my-app-card-padding: var(--slds-g-spacing-4);
235
+ }
236
+ ```
237
+
238
+ ---
239
+
240
+ ## Code Generation Style
241
+
242
+ When generating SLDS code, follow these patterns:
243
+
244
+ ### Minimal HTML + Classes
245
+
246
+ ```html
247
+ <!-- Prefer utility classes over custom CSS for common patterns -->
248
+ <div class="slds-card slds-p-around_medium slds-m-bottom_small">
249
+ <h2 class="slds-text-heading_medium">Title</h2>
250
+ </div>
251
+ ```
252
+
253
+ ### Avoid Unnecessary JavaScript
254
+
255
+ Use CSS/HTML solutions when possible:
256
+ - `slds-hide` instead of `{if}` for simple visibility
257
+ - `slds-is-selected` class toggling instead of complex state
258
+
259
+ ### Component Structure (LWC)
260
+
261
+ ```html
262
+ <template>
263
+ <lightning-card title="Title">
264
+ <div class="slds-p-around_medium">
265
+ <!-- Content uses utility classes for spacing -->
266
+ </div>
267
+ </lightning-card>
268
+ </template>
269
+ ```
270
+
271
+ ```css
272
+ /* Component CSS only for truly custom styles */
273
+ .my-custom-element {
274
+ /* Use hooks */
275
+ background: var(--slds-g-color-surface-2);
276
+ }
277
+ ```
278
+
279
+ ---
280
+
281
+ ## Resources
282
+
283
+ | Resource | URL |
284
+ |----------|-----|
285
+ | SLDS Linter | https://developer.salesforce.com/docs/platform/slds-linter/guide |
286
+ | Lightning Components | https://developer.salesforce.com/docs/component-library/overview/components |
287
+ | SLDS Website | https://www.lightningdesignsystem.com/ |
288
+ | Styling Hooks Index | https://www.lightningdesignsystem.com/2e1ef8501/p/591960-global-styling-hooks |
@@ -0,0 +1,202 @@
1
+ ---
2
+ id: slds.guidance.hooks.borders
3
+ title: Borders and Radius Styling Hooks
4
+ description: Styling hooks for border width, border radius, and structural separation
5
+ summary: "Guidance for border and radius styling hooks. Covers border width hooks for interactive boundaries, radius hooks for corner rounding, and SLDS 2 philosophy of minimal border usage."
6
+
7
+ artifact_type: reference
8
+ domain: styling-hooks
9
+ topic: borders
10
+
11
+ content_format: structured
12
+ complexity: intermediate
13
+ audience: [implementer]
14
+
15
+ tasks: [choose, implement, troubleshoot]
16
+
17
+ refs:
18
+ - slds.guidance.hooks.color.feedback
19
+ - slds.guidance.hooks.color
20
+ - slds.guidance.hooks
21
+ - slds.guidance.hooks.spacing
22
+ - slds.guidance.hooks.shadows
23
+ tags: [styling-hooks, borders, radius, corners, visual-structure]
24
+ keywords: [border width, border radius, corners, interactive boundaries, focus states, visual separation]
25
+ ---
26
+
27
+ # Borders and Radius Styling Hooks
28
+
29
+ ## Overview
30
+
31
+ Borders and radius styling hooks establish structure, clarity, and visual consistency in UI interfaces. All border styling hooks are prefixed with `--slds-g-` and are followed by a border-related property name. These hooks ensure that border treatments remain consistent, themeable, and aligned with SLDS design principles.
32
+
33
+ **Important:** Border and radius hooks are NOT density-aware. Unlike spacing and typography hooks, border values remain constant regardless of comfy or compact display density settings.
34
+
35
+ ---
36
+
37
+ ## `--slds-g-sizing-border-*`
38
+
39
+ ### Description
40
+
41
+ Border width hooks specify the thickness of borders. Use these hooks to define the thickness of lines that outline components, containers, and other visual elements. The scale ranges from subtle separation to strong emphasis.
42
+
43
+ **Hook Pattern:** `--slds-g-sizing-border-*`
44
+
45
+ ### Usage
46
+
47
+ #### Do
48
+
49
+ - Use border width hooks to specify the pixel width of borders
50
+ - Use border width hooks for creating visual separation between content areas without overwhelming the interface
51
+ - Use border width hooks for indicating interactive boundaries on form elements like inputs and textareas
52
+ - Use `--slds-g-sizing-border-1` for standard interactive elements such as buttons, inputs, and badges
53
+ - Use `--slds-g-sizing-border-3` specifically for focus states where additional visual emphasis is needed
54
+ - SLDS 2 favors minimal border usage — use borders purposefully for structure and meaning
55
+
56
+ #### Don't
57
+
58
+ - Avoid using borders decoratively around cards and containers in SLDS 2 (this is a design philosophy shift from SLDS 1)
59
+ - Avoid hard-coded pixel values instead of border width hooks
60
+ - Avoid inconsistent border widths across similar elements
61
+
62
+ #### Context: When to Use Border Width Hooks
63
+
64
+ **Use border width hooks when building:**
65
+
66
+ | Component Type | Border Application | Recommended Hook |
67
+ |----------------|-------------------|------------------|
68
+ | Form inputs (text, textarea, combobox) | Interactive boundary | `--slds-g-sizing-border-1` |
69
+ | Buttons | Interactive boundary | `--slds-g-sizing-border-1` |
70
+ | Badges | Subtle outline | `--slds-g-sizing-border-1` |
71
+ | Focus states | Emphasis ring | `--slds-g-sizing-border-3` |
72
+ | Divider lines | Content separation | `--slds-g-sizing-border-1` |
73
+
74
+ **SLDS 2 Philosophy:** Apply borders sparingly. Use consistent thickness and color. Prefer light/subtle borders for separation without overwhelming the interface.
75
+
76
+ ### Accessibility
77
+
78
+ - Use `--slds-g-sizing-border-3` for focus states to ensure sufficient visibility for keyboard users
79
+ - Borders must maintain minimum 3:1 contrast ratio with adjacent surfaces (40-point separation in SLDS grade system)
80
+ - Accessibility requirements apply — consult your project's accessibility standards
81
+
82
+ ---
83
+
84
+ ## `--slds-g-radius-border-*`
85
+
86
+ ### Description
87
+
88
+ Border radius hooks manage the curvature of UI elements' corners, impacting the perceived softness or hardness of components. Use these hooks to establish consistent rounded corner styles across components. The scale provides options from subtle rounding to fully circular shapes.
89
+
90
+ **Hook Patterns:**
91
+ - `--slds-g-radius-border-*` — Numbered radius scale
92
+ - `--slds-g-radius-border-circle` — Circular elements
93
+ - `--slds-g-radius-border-pill` — Pill-shaped elements
94
+
95
+ ### Usage
96
+
97
+ ### Component Radius Reference
98
+
99
+ | Hook | Components |
100
+ |------|------------|
101
+ | `--slds-g-radius-border-1` | Badges, Checkboxes |
102
+ | `--slds-g-radius-border-2` | Text Inputs, Comboboxes, Text Areas, Tooltips |
103
+ | `--slds-g-radius-border-3` | Menus, Popovers |
104
+ | `--slds-g-radius-border-4` | Cards, Modals, Docked Composers |
105
+ | `--slds-g-radius-border-circle` | Buttons, Button Icons, Avatars, Radios, Pills |
106
+
107
+ ### Usage
108
+
109
+ #### Do
110
+
111
+ - Apply consistent radius to create a cohesive design throughout the interface
112
+ - Match radius scale to content density — smaller radius for dense content, larger for spacious elements
113
+
114
+ #### Don't
115
+
116
+ - Avoid mixing sharp corners (0 radius) with rounded corners within the same component — mixing these styles can create a visually jarring experience and reduce design harmony
117
+ - Avoid hard-coded pixel or rem values instead of radius hooks
118
+ - Avoid inconsistent radius values across similar elements
119
+ - Avoid radius values that conflict with the brand's visual identity
120
+
121
+ #### Context
122
+
123
+ - Establish a consistent style for rounded corners across components such as cards, modals, and buttons
124
+ - Create a modern, approachable aesthetic that aligns with the brand identity
125
+ - Improve usability by subtly guiding users' focus to key interface elements
126
+
127
+ ### Accessibility
128
+
129
+ - Rounded corners must not obscure focus indicators or reduce visible border contrast
130
+ - Ensure focus states remain clearly visible regardless of radius value
131
+
132
+ ---
133
+
134
+ ## `--slds-g-color-border-*` (Summary)
135
+
136
+ ### Description
137
+
138
+ Border color hooks are part of the SLDS semantic color system. They define colors for borders based on semantic meaning rather than specific color values. Use these hooks to ensure border colors adapt to themes, maintain accessibility, and communicate appropriate meaning.
139
+
140
+ > **For complete border color documentation**, see the Color Overview and [Feedback Hooks](ref:slds.guidance.hooks.color.feedback) for error/warning/success border patterns.
141
+
142
+ **Key Border Color Hook Patterns:**
143
+
144
+ - `--slds-g-color-border-*` — Neutral borders for functional structure, separation, and dividers
145
+ - `--slds-g-color-border-accent-*` — Branded emphasis and thematic exceptions
146
+ - `--slds-g-color-border-error-*` — Error states and destructive actions
147
+ - `--slds-g-color-border-success-*` — Success states
148
+ - `--slds-g-color-border-warning-*` — Warning states
149
+ - `--slds-g-color-border-disabled-*` — Disabled elements
150
+ - `--slds-g-color-border-inverse-*` — Dark backgrounds
151
+
152
+ ### Usage
153
+
154
+ #### Do
155
+
156
+ - Use `--slds-g-color-border-1` for decorative borders and divider lines between content
157
+ - Use `--slds-g-color-border-2` as the standard choice for functional or interactive components
158
+ - Use accent border colors only for branded containers or specific thematic emphasis where neutral borders are insufficient
159
+ - Use error/warning/success border colors exclusively for communicating system feedback states
160
+ - Use inverse border colors when placing elements on dark backgrounds
161
+ - Border colors should reinforce semantic meaning, not serve as decoration
162
+
163
+ #### Don't
164
+
165
+ - Avoid using feedback border colors (error, warning, success) for general styling — reserve for actual states
166
+ - Avoid hard-coded color values instead of border color hooks
167
+ - Avoid border colors that don't meet contrast requirements with adjacent surfaces
168
+ - Avoid using accent border colors for standard interactive elements where neutral hooks are the established system pattern
169
+ - Avoid using accent border colors when the element doesn't represent a specific branded or thematic exception
170
+ - Avoid mixing border color semantics inconsistently (e.g., error border on non-error element)
171
+ - Avoid using inverse borders on light backgrounds (they won't be visible)
172
+
173
+ #### Context
174
+
175
+ - Form field borders (neutral for default, accent for focus, error for validation)
176
+ - Card and container borders (neutral, typically subtle)
177
+ - Status indicator borders (error, warning, success as appropriate)
178
+ - Disabled state borders
179
+ - Dark theme and inverse context borders
180
+ - Divider lines between content sections
181
+
182
+ ### Accessibility
183
+
184
+ - **Interactive elements** (buttons, inputs): Use `--slds-g-color-border-2` for higher contrast
185
+ - **Non-interactive elements** (dividers): Use `--slds-g-color-border-1`
186
+ - Border colors must maintain minimum 3:1 contrast with adjacent surfaces (40-point separation)
187
+ - Color alone must not be the only indicator of state — combine with icons, text, or other cues
188
+ - Focus borders must use high-contrast colors; pair with `--slds-g-sizing-border-3` for visibility
189
+
190
+ ---
191
+
192
+ ### SLDS 2 Philosophy Reminder
193
+
194
+ SLDS 2 favors minimal border usage. Before applying borders, ask:
195
+ - Can spacing achieve the same visual separation?
196
+ - Can shadows create the desired depth?
197
+ - Is this a holdover from SLDS 1 patterns?
198
+
199
+ Use borders purposefully for structure, interactivity indication, and state communication — not as default decoration.
200
+
201
+ > **Complete Philosophy:** SLDS 2 favors minimal border usage — apply borders purposefully for structure, interactivity indication, and state communication.
202
+
@@ -0,0 +1,153 @@
1
+ ---
2
+ id: slds.guidance.hooks.color.expressive-palette
3
+ title: Expressive Palette Color Styling Hooks
4
+ description: Extended color palettes for data visualization and expressive interfaces
5
+ summary: "Guidance for expressive palette hooks including cool tones (cloud blue, indigo, purple, violet) and warm tones (green, orange, hot orange, red). Use for data visualization and highlighting—not standard UI."
6
+
7
+ artifact_type: reference
8
+ domain: styling-hooks
9
+ topic: color
10
+ subtopic: expressive
11
+
12
+ content_format: structured
13
+ complexity: advanced
14
+ audience: [implementer]
15
+
16
+ tasks: [choose, implement]
17
+
18
+ refs:
19
+ - slds.guidance.hooks.color
20
+ - slds.guidance.hooks.color.accent
21
+ - slds.guidance.hooks.color.surface
22
+ - slds.guidance.hooks.color.feedback
23
+ - slds.guidance.hooks.color.system
24
+ tags: [styling-hooks, color, palette, expressive, visualization, data]
25
+ keywords: [expressive colors, data visualization, cool tones, warm tones, cloud blue, indigo, purple, orange, green]
26
+ ---
27
+
28
+ # Expressive Palette Color Styling Hooks
29
+
30
+ > **Hook Selection:** Palette hooks provide raw color access for rare cases. For standard UI, use semantic hooks first. See [Hook Selection Hierarchy](ref:slds.guidance.hooks.color).
31
+
32
+ ## Overview
33
+
34
+ Expressive palette color styling hooks contain an extended range of colors beyond the core system palette. These palettes are useful for displaying data, visualizations, and highlighting important areas in your user experience. The expressive palettes offer variety while maintaining cohesion with the design system's overall aesthetic.
35
+
36
+ ---
37
+
38
+ ## Available Expressive Palette Categories
39
+
40
+ ### Cool Tone Palettes (Recommended)
41
+
42
+ #### Cloud Blue
43
+ Useful for data visualization and cool-toned accents. A calm, professional blue palette. Use intentionally to avoid confusion with info feedback colors (blue).
44
+
45
+ **Hook Pattern:** `--slds-g-color-palette-cloud-blue-{grade}`
46
+
47
+ #### Indigo
48
+ A rich purple-blue palette similar to the brand color. Use intentionally to avoid disrupting button hierarchy.
49
+
50
+ **Hook Pattern:** `--slds-g-color-palette-indigo-{grade}`
51
+
52
+ #### Purple
53
+ A vibrant purple palette suitable for expressive, data-heavy interfaces.
54
+
55
+ **Hook Pattern:** `--slds-g-color-palette-purple-{grade}`
56
+
57
+ #### Violet
58
+ A deep, saturated purple palette that works well for accent and emphasis in visualizations.
59
+
60
+ **Hook Pattern:** `--slds-g-color-palette-violet-{grade}`
61
+
62
+ ### Warm Tone Palettes (Use with Caution)
63
+
64
+ #### Green
65
+ Use to draw attention to important information. Use sparingly to avoid confusion with success feedback colors (teal).
66
+
67
+ **Hook Pattern:** `--slds-g-color-palette-green-{grade}`
68
+
69
+ #### Orange
70
+ A warm, energetic orange palette effective for highlighting critical areas. Use sparingly to avoid confusion with warning feedback colors (yellow).
71
+
72
+ **Hook Pattern:** `--slds-g-color-palette-orange-{grade}`
73
+
74
+ #### Hot Orange
75
+ A bright, intense orange effective for maximum attention-grabbing. Reserve for truly critical states.
76
+
77
+ **Hook Pattern:** `--slds-g-color-palette-hot-orange-{grade}`
78
+
79
+ #### Red
80
+ A bold red palette effective for highlighting issues or important information. Use intentionally and sparingly to avoid confusion with error feedback colors (pink).
81
+
82
+ **Hook Pattern:** `--slds-g-color-palette-red-{grade}`
83
+
84
+ ---
85
+
86
+ ## Usage
87
+
88
+ ### Do
89
+ - Use expressive palette colors for data visualization and charts
90
+ - Use cool tones (cloud blue, indigo, purple, violet) as your primary choices
91
+ - Use warm tones (orange, hot orange, red, green) strategically to draw attention
92
+ - Combine multiple palettes in visualization scenarios when each color needs semantic meaning
93
+ - Use expressive palettes when you need colors beyond the semantic system (accent, surface, feedback)
94
+ - Proper contrast ratios are important when layering expressive colors over backgrounds
95
+ - Use a consistent palette approach to unify similar data visualizations
96
+
97
+ ### Don't
98
+ - Avoid using expressive palettes as a first choice—prefer semantic colors (accent, surface, feedback) first
99
+ - Avoid overusing warm colors like orange, red, and green—they work best for highlighting critical information
100
+ - Avoid using indigo in ways that could confuse users with the brand color (buttons, interactive states)
101
+ - Avoid mixing expressive palette colors with feedback colors without clear visual distinction
102
+ - Avoid using expressive colors where neutral grays or system colors would be more appropriate
103
+ - Avoid relying on color alone to convey meaning—pair colors with icons, labels, or patterns
104
+ - Avoid overriding accessibility requirements for visual appeal
105
+
106
+ ### Context
107
+ - Data visualization and charting
108
+ - Complex dashboards with multiple data categories
109
+ - Highlighting specific data points or trends
110
+ - Geographic or hierarchical data representation
111
+ - Educational materials and infographics
112
+ - Scenario-based UI variations
113
+
114
+ ## When to Use Semantic Colors Instead
115
+
116
+ Before choosing expressive palette colors, evaluate these alternatives:
117
+
118
+ - **For interactive elements:** Use `--slds-g-color-accent-*` instead of expressive palettes
119
+ - **For backgrounds and containers:** Use `--slds-g-color-surface-*` or `--slds-g-color-surface-container-*`
120
+ - **For feedback states:** Use `--slds-g-color-error-*`, `--slds-g-color-warning-*`, or `--slds-g-color-success-*` instead of palette colors
121
+ - **For text and icons:** Use `--slds-g-color-on-surface-*` or `--slds-g-color-on-accent-*` for proper contrast
122
+
123
+ ## Palette Selection Guidelines
124
+
125
+ ### Color Tone Recommendations
126
+
127
+ **Cool Tone Priority (Recommended for most designs):**
128
+ - Cloud Blue: Professional, calm, data-forward
129
+ - Indigo: Similar to brand, use intentionally
130
+ - Purple: Expressive, creative
131
+ - Violet: Accent, emphasis
132
+
133
+ **Warm Tone Use (Use when attention is needed):**
134
+ - Green: Issues, highlights (use sparingly to distinguish from teal success)
135
+ - Orange: Warnings, important data
136
+ - Hot Orange: Critical warnings, maximum emphasis
137
+ - Red: Errors, urgent information (use sparingly to distinguish from pink error state)
138
+
139
+ ## Accessibility
140
+
141
+ - Expressive palette colors do not guarantee accessible contrast—manual verification required
142
+ - **Contrast requirements:** 50-point separation for text (4.5:1), 40-point for UI elements (3:1)
143
+ - **CVD warning:** Avoid Red+Green and Blue+Purple as sole differentiators
144
+ - Use patterns, icons, or labels in addition to color to convey meaning
145
+ - Test with colorblind simulation tools when using multiple palette colors
146
+ - Semantic color hooks are preferred when accessibility guarantees are required
147
+ - Accessibility requirements apply — consult your project's accessibility standards
148
+
149
+ ## Color Grade Scale
150
+
151
+ > **Grade Scale:** SLDS uses a 0-100 grade scale where 0 is darkest and 100 is lightest. Point separations guarantee accessibility: 50-point = 4.5:1 contrast (text), 40-point = 3:1 contrast (UI).
152
+ >
153
+ > For complete grade scale documentation and the numerical color system, see the [Color Hooks Index](ref:slds.guidance.hooks.color).