@salesforce/afv-skills 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/package.json +1 -1
  2. package/skills/activating-datacloud/SKILL.md +0 -1
  3. package/skills/analyzing-omnistudio-dependencies/SKILL.md +0 -1
  4. package/skills/applying-slds/SKILL.md +322 -0
  5. package/skills/applying-slds/checklists.md +83 -0
  6. package/skills/applying-slds/examples.md +283 -0
  7. package/skills/applying-slds/guidance/README.md +83 -0
  8. package/skills/applying-slds/guidance/blueprints-index.md +213 -0
  9. package/skills/applying-slds/guidance/icons-guidance.md +186 -0
  10. package/skills/applying-slds/guidance/overviews/borders.md +236 -0
  11. package/skills/applying-slds/guidance/overviews/color.md +266 -0
  12. package/skills/applying-slds/guidance/overviews/display-density.md +366 -0
  13. package/skills/applying-slds/guidance/overviews/icons.md +240 -0
  14. package/skills/applying-slds/guidance/overviews/illustrations.md +235 -0
  15. package/skills/applying-slds/guidance/overviews/shadows.md +176 -0
  16. package/skills/applying-slds/guidance/overviews/spacing.md +216 -0
  17. package/skills/applying-slds/guidance/overviews/typography.md +323 -0
  18. package/skills/applying-slds/guidance/overviews/utilities.md +542 -0
  19. package/skills/applying-slds/guidance/slds-development-guide.md +288 -0
  20. package/skills/applying-slds/guidance/styling-hooks/borders.md +202 -0
  21. package/skills/applying-slds/guidance/styling-hooks/color/expressive-palette-hooks.md +153 -0
  22. package/skills/applying-slds/guidance/styling-hooks/color/index.md +171 -0
  23. package/skills/applying-slds/guidance/styling-hooks/color/semantic/accent-hooks.md +204 -0
  24. package/skills/applying-slds/guidance/styling-hooks/color/semantic/feedback-hooks.md +768 -0
  25. package/skills/applying-slds/guidance/styling-hooks/color/semantic/surface-hooks.md +337 -0
  26. package/skills/applying-slds/guidance/styling-hooks/color/system-hooks.md +132 -0
  27. package/skills/applying-slds/guidance/styling-hooks/index.md +327 -0
  28. package/skills/applying-slds/guidance/styling-hooks/shadows.md +238 -0
  29. package/skills/applying-slds/guidance/styling-hooks/spacing.md +254 -0
  30. package/skills/applying-slds/guidance/styling-hooks/typography.md +448 -0
  31. package/skills/applying-slds/guidance/utilities/alignment.md +119 -0
  32. package/skills/applying-slds/guidance/utilities/borders.md +131 -0
  33. package/skills/applying-slds/guidance/utilities/box.md +125 -0
  34. package/skills/applying-slds/guidance/utilities/color.md +165 -0
  35. package/skills/applying-slds/guidance/utilities/dark-mode.md +111 -0
  36. package/skills/applying-slds/guidance/utilities/description-list.md +168 -0
  37. package/skills/applying-slds/guidance/utilities/floats.md +117 -0
  38. package/skills/applying-slds/guidance/utilities/grid.md +264 -0
  39. package/skills/applying-slds/guidance/utilities/horizontal-list.md +110 -0
  40. package/skills/applying-slds/guidance/utilities/hyphenation.md +84 -0
  41. package/skills/applying-slds/guidance/utilities/index.md +205 -0
  42. package/skills/applying-slds/guidance/utilities/interactions.md +89 -0
  43. package/skills/applying-slds/guidance/utilities/layout.md +109 -0
  44. package/skills/applying-slds/guidance/utilities/line-clamp.md +131 -0
  45. package/skills/applying-slds/guidance/utilities/margin.md +155 -0
  46. package/skills/applying-slds/guidance/utilities/media-object.md +161 -0
  47. package/skills/applying-slds/guidance/utilities/name-value-list.md +152 -0
  48. package/skills/applying-slds/guidance/utilities/padding.md +155 -0
  49. package/skills/applying-slds/guidance/utilities/position.md +177 -0
  50. package/skills/applying-slds/guidance/utilities/print.md +114 -0
  51. package/skills/applying-slds/guidance/utilities/scrollable.md +126 -0
  52. package/skills/applying-slds/guidance/utilities/sizing.md +190 -0
  53. package/skills/applying-slds/guidance/utilities/themes.md +121 -0
  54. package/skills/applying-slds/guidance/utilities/truncate.md +127 -0
  55. package/skills/applying-slds/guidance/utilities/typography.md +166 -0
  56. package/skills/applying-slds/guidance/utilities/vertical-list.md +166 -0
  57. package/skills/applying-slds/guidance/utilities/visibility.md +228 -0
  58. package/skills/applying-slds/metadata/README.md +84 -0
  59. package/skills/applying-slds/metadata/blueprints/components/accordion.yaml +304 -0
  60. package/skills/applying-slds/metadata/blueprints/components/activity-timeline.yaml +92 -0
  61. package/skills/applying-slds/metadata/blueprints/components/alert.yaml +103 -0
  62. package/skills/applying-slds/metadata/blueprints/components/app-launcher.yaml +94 -0
  63. package/skills/applying-slds/metadata/blueprints/components/avatar-group.yaml +81 -0
  64. package/skills/applying-slds/metadata/blueprints/components/avatar.yaml +97 -0
  65. package/skills/applying-slds/metadata/blueprints/components/badges.yaml +102 -0
  66. package/skills/applying-slds/metadata/blueprints/components/brand-band.yaml +198 -0
  67. package/skills/applying-slds/metadata/blueprints/components/breadcrumbs.yaml +95 -0
  68. package/skills/applying-slds/metadata/blueprints/components/builder-header.yaml +192 -0
  69. package/skills/applying-slds/metadata/blueprints/components/button-groups.yaml +82 -0
  70. package/skills/applying-slds/metadata/blueprints/components/button-icons.yaml +295 -0
  71. package/skills/applying-slds/metadata/blueprints/components/buttons.yaml +230 -0
  72. package/skills/applying-slds/metadata/blueprints/components/cards.yaml +124 -0
  73. package/skills/applying-slds/metadata/blueprints/components/carousel.yaml +140 -0
  74. package/skills/applying-slds/metadata/blueprints/components/chat.yaml +179 -0
  75. package/skills/applying-slds/metadata/blueprints/components/checkbox-button-group.yaml +192 -0
  76. package/skills/applying-slds/metadata/blueprints/components/checkbox-button.yaml +204 -0
  77. package/skills/applying-slds/metadata/blueprints/components/checkbox-toggle.yaml +177 -0
  78. package/skills/applying-slds/metadata/blueprints/components/checkbox.yaml +108 -0
  79. package/skills/applying-slds/metadata/blueprints/components/color-picker.yaml +172 -0
  80. package/skills/applying-slds/metadata/blueprints/components/combobox.yaml +136 -0
  81. package/skills/applying-slds/metadata/blueprints/components/counter.yaml +147 -0
  82. package/skills/applying-slds/metadata/blueprints/components/data-tables.yaml +157 -0
  83. package/skills/applying-slds/metadata/blueprints/components/datepickers.yaml +130 -0
  84. package/skills/applying-slds/metadata/blueprints/components/datetime-picker.yaml +155 -0
  85. package/skills/applying-slds/metadata/blueprints/components/docked-composer.yaml +201 -0
  86. package/skills/applying-slds/metadata/blueprints/components/docked-form-footer.yaml +161 -0
  87. package/skills/applying-slds/metadata/blueprints/components/docked-utility-bar.yaml +175 -0
  88. package/skills/applying-slds/metadata/blueprints/components/drop-zone.yaml +115 -0
  89. package/skills/applying-slds/metadata/blueprints/components/dueling-picklist.yaml +196 -0
  90. package/skills/applying-slds/metadata/blueprints/components/dynamic-icons.yaml +128 -0
  91. package/skills/applying-slds/metadata/blueprints/components/dynamic-menu.yaml +141 -0
  92. package/skills/applying-slds/metadata/blueprints/components/expandable-section.yaml +115 -0
  93. package/skills/applying-slds/metadata/blueprints/components/expression.yaml +143 -0
  94. package/skills/applying-slds/metadata/blueprints/components/feeds.yaml +125 -0
  95. package/skills/applying-slds/metadata/blueprints/components/file-selector.yaml +154 -0
  96. package/skills/applying-slds/metadata/blueprints/components/files.yaml +119 -0
  97. package/skills/applying-slds/metadata/blueprints/components/form-element.yaml +145 -0
  98. package/skills/applying-slds/metadata/blueprints/components/global-header.yaml +120 -0
  99. package/skills/applying-slds/metadata/blueprints/components/global-navigation.yaml +100 -0
  100. package/skills/applying-slds/metadata/blueprints/components/icons.yaml +138 -0
  101. package/skills/applying-slds/metadata/blueprints/components/illustration.yaml +205 -0
  102. package/skills/applying-slds/metadata/blueprints/components/input.yaml +151 -0
  103. package/skills/applying-slds/metadata/blueprints/components/list-builder.yaml +127 -0
  104. package/skills/applying-slds/metadata/blueprints/components/lookups.yaml +132 -0
  105. package/skills/applying-slds/metadata/blueprints/components/map.yaml +118 -0
  106. package/skills/applying-slds/metadata/blueprints/components/menus.yaml +134 -0
  107. package/skills/applying-slds/metadata/blueprints/components/modals.yaml +152 -0
  108. package/skills/applying-slds/metadata/blueprints/components/notifications.yaml +88 -0
  109. package/skills/applying-slds/metadata/blueprints/components/page-headers.yaml +135 -0
  110. package/skills/applying-slds/metadata/blueprints/components/panels.yaml +149 -0
  111. package/skills/applying-slds/metadata/blueprints/components/path.yaml +154 -0
  112. package/skills/applying-slds/metadata/blueprints/components/picklist.yaml +125 -0
  113. package/skills/applying-slds/metadata/blueprints/components/pills.yaml +154 -0
  114. package/skills/applying-slds/metadata/blueprints/components/popovers.yaml +120 -0
  115. package/skills/applying-slds/metadata/blueprints/components/progress-bar.yaml +110 -0
  116. package/skills/applying-slds/metadata/blueprints/components/progress-indicator.yaml +133 -0
  117. package/skills/applying-slds/metadata/blueprints/components/progress-ring.yaml +102 -0
  118. package/skills/applying-slds/metadata/blueprints/components/prompt.yaml +126 -0
  119. package/skills/applying-slds/metadata/blueprints/components/publishers.yaml +178 -0
  120. package/skills/applying-slds/metadata/blueprints/components/radio-button-group.yaml +172 -0
  121. package/skills/applying-slds/metadata/blueprints/components/radio-group.yaml +112 -0
  122. package/skills/applying-slds/metadata/blueprints/components/rich-text-editor.yaml +135 -0
  123. package/skills/applying-slds/metadata/blueprints/components/scoped-notifications.yaml +188 -0
  124. package/skills/applying-slds/metadata/blueprints/components/scoped-tabs.yaml +97 -0
  125. package/skills/applying-slds/metadata/blueprints/components/select.yaml +127 -0
  126. package/skills/applying-slds/metadata/blueprints/components/setup-assistant.yaml +152 -0
  127. package/skills/applying-slds/metadata/blueprints/components/slider.yaml +111 -0
  128. package/skills/applying-slds/metadata/blueprints/components/spinners.yaml +135 -0
  129. package/skills/applying-slds/metadata/blueprints/components/split-view.yaml +112 -0
  130. package/skills/applying-slds/metadata/blueprints/components/summary-detail.yaml +103 -0
  131. package/skills/applying-slds/metadata/blueprints/components/tabs.yaml +138 -0
  132. package/skills/applying-slds/metadata/blueprints/components/textarea.yaml +116 -0
  133. package/skills/applying-slds/metadata/blueprints/components/tiles.yaml +108 -0
  134. package/skills/applying-slds/metadata/blueprints/components/timepicker.yaml +111 -0
  135. package/skills/applying-slds/metadata/blueprints/components/toast.yaml +154 -0
  136. package/skills/applying-slds/metadata/blueprints/components/tooltips.yaml +107 -0
  137. package/skills/applying-slds/metadata/blueprints/components/tree-grid.yaml +116 -0
  138. package/skills/applying-slds/metadata/blueprints/components/trees.yaml +116 -0
  139. package/skills/applying-slds/metadata/blueprints/components/trial-bar.yaml +112 -0
  140. package/skills/applying-slds/metadata/blueprints/components/vertical-navigation.yaml +130 -0
  141. package/skills/applying-slds/metadata/blueprints/components/vertical-tabs.yaml +140 -0
  142. package/skills/applying-slds/metadata/blueprints/components/visual-picker.yaml +150 -0
  143. package/skills/applying-slds/metadata/blueprints/components/welcome-mat.yaml +136 -0
  144. package/skills/applying-slds/metadata/hooks-index.json +6272 -0
  145. package/skills/applying-slds/metadata/icon-metadata.json +38466 -0
  146. package/skills/applying-slds/metadata/utilities-index.json +21912 -0
  147. package/skills/applying-slds/references/component-selection.md +112 -0
  148. package/skills/applying-slds/references/icons-decision-guide.md +124 -0
  149. package/skills/applying-slds/references/styling-decision-guide.md +228 -0
  150. package/skills/applying-slds/references/utilities-quick-ref.md +125 -0
  151. package/skills/applying-slds/scripts/search-blueprints.cjs +117 -0
  152. package/skills/applying-slds/scripts/search-hooks.cjs +139 -0
  153. package/skills/applying-slds/scripts/search-icons.cjs +174 -0
  154. package/skills/applying-slds/scripts/search-utilities.cjs +161 -0
  155. package/skills/building-mobile-apps/SKILL.md +0 -1
  156. package/skills/building-omnistudio-callable-apex/SKILL.md +0 -1
  157. package/skills/building-omnistudio-datamapper/SKILL.md +0 -1
  158. package/skills/building-omnistudio-flexcard/SKILL.md +0 -1
  159. package/skills/building-omnistudio-integration-procedure/SKILL.md +0 -1
  160. package/skills/building-omnistudio-omniscript/SKILL.md +0 -1
  161. package/skills/building-sf-integrations/SKILL.md +0 -1
  162. package/skills/configuring-connected-apps/SKILL.md +0 -1
  163. package/skills/connecting-datacloud/SKILL.md +0 -1
  164. package/skills/creating-b2b-commerce-store/SKILL.md +0 -1
  165. package/skills/debugging-apex-logs/SKILL.md +0 -1
  166. package/skills/deploying-metadata/SKILL.md +0 -1
  167. package/skills/deploying-omnistudio-datapacks/SKILL.md +0 -1
  168. package/skills/developing-agentforce/SKILL.md +0 -1
  169. package/skills/fetching-salesforce-docs/SKILL.md +0 -1
  170. package/skills/generating-custom-lightning-type/SKILL.md +17 -39
  171. package/skills/generating-custom-lightning-type/assets/primitive-types-and-constraints.md +41 -0
  172. package/skills/generating-custom-lightning-type/references/widget-rendition.md +124 -0
  173. package/skills/generating-lwc-components/SKILL.md +0 -1
  174. package/skills/generating-mermaid-diagrams/SKILL.md +0 -1
  175. package/skills/generating-visual-diagrams/SKILL.md +0 -1
  176. package/skills/handling-sf-data/SKILL.md +0 -1
  177. package/skills/harmonizing-datacloud/SKILL.md +0 -1
  178. package/skills/integrating-b2b-commerce-open-code-components/SKILL.md +0 -1
  179. package/skills/investigating-agentforce-architecture/README.md +156 -0
  180. package/skills/investigating-agentforce-architecture/SKILL.md +230 -0
  181. package/skills/investigating-agentforce-architecture/assets/cli/describe_sobject.yaml +16 -0
  182. package/skills/investigating-agentforce-architecture/assets/cli/describe_tooling_sobject.yaml +17 -0
  183. package/skills/investigating-agentforce-architecture/assets/cli/list_metadata_genaiprompttemplate.yaml +17 -0
  184. package/skills/investigating-agentforce-architecture/assets/cli/org_display.yaml +15 -0
  185. package/skills/investigating-agentforce-architecture/assets/cli/retrieve_genai_plugin.yaml +18 -0
  186. package/skills/investigating-agentforce-architecture/assets/cli/show_access_token.yaml +27 -0
  187. package/skills/investigating-agentforce-architecture/assets/mermaid/action_tree.mmd +20 -0
  188. package/skills/investigating-agentforce-architecture/assets/mermaid/data_flow.mmd +19 -0
  189. package/skills/investigating-agentforce-architecture/assets/mermaid/dependency_graph.mmd +19 -0
  190. package/skills/investigating-agentforce-architecture/assets/mermaid/invocation_sequence.mmd +20 -0
  191. package/skills/investigating-agentforce-architecture/assets/mermaid/planner_state.mmd +18 -0
  192. package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_ids.soql +3 -0
  193. package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_names.soql +3 -0
  194. package/skills/investigating-agentforce-architecture/assets/soql/bot_definition_details.soql +3 -0
  195. package/skills/investigating-agentforce-architecture/assets/soql/bot_version_lookup.soql +4 -0
  196. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_by_ids.soql +3 -0
  197. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_ids_by_names.soql +3 -0
  198. package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_view_by_durable_ids.soql +4 -0
  199. package/skills/investigating-agentforce-architecture/assets/soql/flow_metadata_by_id.soql +3 -0
  200. package/skills/investigating-agentforce-architecture/assets/soql/functions_by_plugins.soql +5 -0
  201. package/skills/investigating-agentforce-architecture/assets/soql/planner_attrs_by_parent_ids.soql +3 -0
  202. package/skills/investigating-agentforce-architecture/assets/soql/planner_bundle_functions.soql +3 -0
  203. package/skills/investigating-agentforce-architecture/assets/soql/planner_definition_by_agent_chain.soql +3 -0
  204. package/skills/investigating-agentforce-architecture/assets/soql/plugin_functions_by_plugin_ids.soql +3 -0
  205. package/skills/investigating-agentforce-architecture/assets/soql/plugin_instructions_by_plugin_ids.soql +3 -0
  206. package/skills/investigating-agentforce-architecture/assets/soql/plugins_by_planner.soql +4 -0
  207. package/skills/investigating-agentforce-architecture/references/architecture_sections.md +243 -0
  208. package/skills/investigating-agentforce-architecture/references/contract.json +244 -0
  209. package/skills/investigating-agentforce-architecture/references/soql_fields.md +512 -0
  210. package/skills/investigating-agentforce-architecture/scripts/_shared/__init__.py +1 -0
  211. package/skills/investigating-agentforce-architecture/scripts/_shared/fs_guard.py +329 -0
  212. package/skills/investigating-agentforce-architecture/scripts/_shared/paths.py +110 -0
  213. package/skills/investigating-agentforce-architecture/scripts/_shared/runtime.py +59 -0
  214. package/skills/investigating-agentforce-architecture/scripts/_shared/sql.py +10 -0
  215. package/skills/investigating-agentforce-architecture/scripts/cache_check.py +234 -0
  216. package/skills/investigating-agentforce-architecture/scripts/config.py +131 -0
  217. package/skills/investigating-agentforce-architecture/scripts/fetch_soql.py +689 -0
  218. package/skills/investigating-agentforce-architecture/scripts/finalize.py +295 -0
  219. package/skills/investigating-agentforce-architecture/scripts/main.py +2835 -0
  220. package/skills/investigating-agentforce-architecture/scripts/metadata_listing.py +265 -0
  221. package/skills/investigating-agentforce-architecture/scripts/parallel_retrieve.py +69 -0
  222. package/skills/investigating-agentforce-architecture/scripts/parse_bundle.py +215 -0
  223. package/skills/investigating-agentforce-architecture/scripts/parse_wave.py +845 -0
  224. package/skills/investigating-agentforce-architecture/scripts/probe_channels.py +302 -0
  225. package/skills/investigating-agentforce-architecture/scripts/render_architecture.py +1043 -0
  226. package/skills/investigating-agentforce-architecture/scripts/resolve_bot.py +255 -0
  227. package/skills/investigating-agentforce-architecture/scripts/resolve_invocation_target.py +130 -0
  228. package/skills/investigating-agentforce-architecture/scripts/rest_client.py +763 -0
  229. package/skills/investigating-agentforce-architecture/scripts/retrieve_planner.py +13 -0
  230. package/skills/investigating-agentforce-architecture/scripts/sf_cli.py +242 -0
  231. package/skills/investigating-agentforce-architecture/scripts/soql_loader.py +253 -0
  232. package/skills/investigating-agentforce-architecture/scripts/summarize_tree.py +143 -0
  233. package/skills/investigating-agentforce-architecture/scripts/tests/__init__.py +0 -0
  234. package/skills/investigating-agentforce-architecture/scripts/tests/_bootstrap.py +23 -0
  235. package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/__init__.py +0 -0
  236. package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/genai_payloads.py +400 -0
  237. package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check.py +307 -0
  238. package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check_main.py +283 -0
  239. package/skills/investigating-agentforce-architecture/scripts/tests/test_config.py +115 -0
  240. package/skills/investigating-agentforce-architecture/scripts/tests/test_end_to_end_fixture.py +651 -0
  241. package/skills/investigating-agentforce-architecture/scripts/tests/test_finalize.py +278 -0
  242. package/skills/investigating-agentforce-architecture/scripts/tests/test_flow_children_inflation.py +582 -0
  243. package/skills/investigating-agentforce-architecture/scripts/tests/test_fs_guard.py +113 -0
  244. package/skills/investigating-agentforce-architecture/scripts/tests/test_iterative_wave_b.py +478 -0
  245. package/skills/investigating-agentforce-architecture/scripts/tests/test_main_pipeline.py +3359 -0
  246. package/skills/investigating-agentforce-architecture/scripts/tests/test_parallel_retrieve.py +131 -0
  247. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_bundle.py +400 -0
  248. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave.py +644 -0
  249. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_classifiers.py +224 -0
  250. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_helpers.py +380 -0
  251. package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_main.py +397 -0
  252. package/skills/investigating-agentforce-architecture/scripts/tests/test_per_branch_visited.py +244 -0
  253. package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_channels.py +359 -0
  254. package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_cli_recipes.py +185 -0
  255. package/skills/investigating-agentforce-architecture/scripts/tests/test_render_architecture.py +810 -0
  256. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_bot.py +203 -0
  257. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_creds.py +157 -0
  258. package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_invocation_target.py +145 -0
  259. package/skills/investigating-agentforce-architecture/scripts/tests/test_rest_client.py +1253 -0
  260. package/skills/investigating-agentforce-architecture/scripts/tests/test_runtime_override.py +100 -0
  261. package/skills/investigating-agentforce-architecture/scripts/tests/test_sf_cli.py +261 -0
  262. package/skills/investigating-agentforce-architecture/scripts/tests/test_signature_stamping.py +466 -0
  263. package/skills/investigating-agentforce-architecture/scripts/tests/test_soql_loader.py +501 -0
  264. package/skills/investigating-agentforce-architecture/scripts/tests/test_summarize_tree.py +241 -0
  265. package/skills/investigating-agentforce-architecture/scripts/tests/test_write_emit_ctx.py +480 -0
  266. package/skills/investigating-agentforce-architecture/tools/emit_env.py +157 -0
  267. package/skills/investigating-agentforce-architecture/tools/emit_result.py +262 -0
  268. package/skills/investigating-agentforce-architecture/tools/sanitize.py +33 -0
  269. package/skills/investigating-agentforce-architecture/tools/write_emit_ctx.py +332 -0
  270. package/skills/investigating-agentforce-d360/README.md +123 -0
  271. package/skills/investigating-agentforce-d360/SKILL.md +163 -0
  272. package/skills/investigating-agentforce-d360/assets/dc/app_generation.sql +51 -0
  273. package/skills/investigating-agentforce-d360/assets/dc/content_category.sql +44 -0
  274. package/skills/investigating-agentforce-d360/assets/dc/content_quality.sql +41 -0
  275. package/skills/investigating-agentforce-d360/assets/dc/discover_sessions.sql +36 -0
  276. package/skills/investigating-agentforce-d360/assets/dc/feedback.sql +47 -0
  277. package/skills/investigating-agentforce-d360/assets/dc/feedback_details.sql +38 -0
  278. package/skills/investigating-agentforce-d360/assets/dc/gateway_records.sql +45 -0
  279. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_llm.sql +50 -0
  280. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_metadata.sql +44 -0
  281. package/skills/investigating-agentforce-d360/assets/dc/gateway_request_tags.sql +42 -0
  282. package/skills/investigating-agentforce-d360/assets/dc/gateway_requests.sql +89 -0
  283. package/skills/investigating-agentforce-d360/assets/dc/gateway_responses.sql +43 -0
  284. package/skills/investigating-agentforce-d360/assets/dc/generations.sql +52 -0
  285. package/skills/investigating-agentforce-d360/assets/dc/interactions.sql +53 -0
  286. package/skills/investigating-agentforce-d360/assets/dc/messages.sql +53 -0
  287. package/skills/investigating-agentforce-d360/assets/dc/messaging_session.sql +37 -0
  288. package/skills/investigating-agentforce-d360/assets/dc/moment_interactions.sql +34 -0
  289. package/skills/investigating-agentforce-d360/assets/dc/moments.sql +39 -0
  290. package/skills/investigating-agentforce-d360/assets/dc/participants.sql +48 -0
  291. package/skills/investigating-agentforce-d360/assets/dc/sessions.sql +78 -0
  292. package/skills/investigating-agentforce-d360/assets/dc/steps.sql +64 -0
  293. package/skills/investigating-agentforce-d360/assets/dc/tag_associations.sql +46 -0
  294. package/skills/investigating-agentforce-d360/assets/dc/tag_definition_associations.sql +37 -0
  295. package/skills/investigating-agentforce-d360/assets/dc/tag_definitions.sql +50 -0
  296. package/skills/investigating-agentforce-d360/assets/dc/tags.sql +37 -0
  297. package/skills/investigating-agentforce-d360/assets/dc/telemetry_spans.sql +55 -0
  298. package/skills/investigating-agentforce-d360/references/artifacts.md +50 -0
  299. package/skills/investigating-agentforce-d360/references/dc_dmo_fields.md +823 -0
  300. package/skills/investigating-agentforce-d360/references/dc_pipeline_contract.md +608 -0
  301. package/skills/investigating-agentforce-d360/scripts/_shared/__init__.py +2 -0
  302. package/skills/investigating-agentforce-d360/scripts/_shared/cli_override.py +98 -0
  303. package/skills/investigating-agentforce-d360/scripts/_shared/fs_guard.py +334 -0
  304. package/skills/investigating-agentforce-d360/scripts/_shared/paths.py +155 -0
  305. package/skills/investigating-agentforce-d360/scripts/_shared/runtime.py +59 -0
  306. package/skills/investigating-agentforce-d360/scripts/_shared/sql.py +14 -0
  307. package/skills/investigating-agentforce-d360/scripts/assemble_dc.py +1624 -0
  308. package/skills/investigating-agentforce-d360/scripts/config.py +45 -0
  309. package/skills/investigating-agentforce-d360/scripts/dc.py +188 -0
  310. package/skills/investigating-agentforce-d360/scripts/discover_sessions.py +556 -0
  311. package/skills/investigating-agentforce-d360/scripts/fetch_dc.py +1045 -0
  312. package/skills/investigating-agentforce-d360/scripts/render_dc.py +1750 -0
  313. package/skills/investigating-agentforce-d360/scripts/resolve_session.py +264 -0
  314. package/skills/investigating-agentforce-d360/scripts/storage.py +92 -0
  315. package/skills/investigating-agentforce-d360/scripts/tests/__init__.py +0 -0
  316. package/skills/investigating-agentforce-d360/scripts/tests/_bootstrap.py +15 -0
  317. package/skills/investigating-agentforce-d360/scripts/tests/fixtures/__init__.py +0 -0
  318. package/skills/investigating-agentforce-d360/scripts/tests/fixtures/synthetic_session.py +424 -0
  319. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_bootstrap_and_mode.py +115 -0
  320. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct.py +220 -0
  321. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct_integration.py +158 -0
  322. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_helpers.py +287 -0
  323. package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_integration.py +247 -0
  324. package/skills/investigating-agentforce-d360/scripts/tests/test_dc_and_resolve_session.py +433 -0
  325. package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions.py +458 -0
  326. package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions_grep_ci.py +193 -0
  327. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_helpers.py +266 -0
  328. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_identity.py +528 -0
  329. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_main.py +251 -0
  330. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall.py +229 -0
  331. package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall_full.py +283 -0
  332. package/skills/investigating-agentforce-d360/scripts/tests/test_identity_coherence.py +327 -0
  333. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_branches.py +256 -0
  334. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_gateway_direct.py +130 -0
  335. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_helpers.py +291 -0
  336. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_integration.py +220 -0
  337. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_planner_llm_calls.py +284 -0
  338. package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_show_prompts_gating.py +215 -0
  339. package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_from_disk.py +100 -0
  340. package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_session_main.py +149 -0
  341. package/skills/investigating-agentforce-d360/scripts/tests/test_runtime_override.py +104 -0
  342. package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape.py +95 -0
  343. package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape_dropped_by_stdm.py +85 -0
  344. package/skills/managing-managed-event-subscription/SKILL.md +152 -0
  345. package/skills/managing-managed-event-subscription/assets/managed-event-subscription-template.xml +20 -0
  346. package/skills/managing-managed-event-subscription/references/delete-guide.md +57 -0
  347. package/skills/managing-managed-event-subscription/references/topic-name-formats.md +26 -0
  348. package/skills/managing-managed-event-subscription/references/update-constraints.md +30 -0
  349. package/skills/modeling-omnistudio-epc-catalog/SKILL.md +0 -1
  350. package/skills/observing-agentforce/SKILL.md +0 -1
  351. package/skills/orchestrating-datacloud/SKILL.md +0 -1
  352. package/skills/preparing-datacloud/SKILL.md +0 -1
  353. package/skills/querying-soql/SKILL.md +0 -1
  354. package/skills/retrieving-datacloud/SKILL.md +0 -1
  355. package/skills/running-apex-tests/SKILL.md +0 -1
  356. package/skills/running-code-analyzer/SKILL.md +0 -1
  357. package/skills/segmenting-datacloud/SKILL.md +0 -1
  358. package/skills/testing-agentforce/SKILL.md +0 -1
  359. package/skills/uplifting-components-to-slds2/SKILL.md +3 -2
  360. package/skills/uplifting-components-to-slds2/references/color-hooks-decision-guide.md +30 -9
  361. package/skills/uplifting-components-to-slds2/references/examples.md +24 -6
  362. package/skills/validating-slds/SKILL.md +262 -0
  363. package/skills/validating-slds/references/quality-checks.md +308 -0
  364. package/skills/validating-slds/references/report-format.md +302 -0
  365. package/skills/validating-slds/scripts/analyze-quality.cjs +521 -0
@@ -0,0 +1,157 @@
1
+ name: "Data Tables"
2
+ description: "A structured display of data in rows and columns with support for sorting, selection, and various data types, optimized for large datasets."
3
+ category: "Data"
4
+ slds_classes:
5
+ root: "slds-table"
6
+ elements:
7
+ - class: "slds-table_bordered"
8
+ description: "Table with borders"
9
+ purpose: "Adds borders for visual separation"
10
+ - class: "slds-table_striped"
11
+ description: "Table with alternating row colors"
12
+ purpose: "Improves readability with striped rows"
13
+ - class: "slds-table_fixed-layout"
14
+ description: "Table with fixed layout"
15
+ purpose: "Consistent column widths for better control"
16
+ - class: "slds-table_resizable-cols"
17
+ description: "Table with resizable columns"
18
+ purpose: "Allows users to resize column widths"
19
+ - class: "slds-table_col-bordered"
20
+ description: "Table with column borders"
21
+ purpose: "Adds vertical borders between columns"
22
+ modifiers:
23
+ - class: "slds-table_header-fixed"
24
+ description: "Fixed table header"
25
+ usage: "Keep headers visible during scrolling"
26
+ states:
27
+ - class: "slds-is-selected"
28
+ description: "Selected row state"
29
+ trigger: "Indicates row is selected"
30
+ - class: "slds-is-sorted"
31
+ description: "Sorted column state"
32
+ trigger: "Indicates column is currently sorted"
33
+ variants:
34
+ - name: "Base"
35
+ description: "Standard data table"
36
+ classes:
37
+ - "slds-table"
38
+ usage_context: "Default table implementation"
39
+ differences: "Basic table structure with rows and columns"
40
+ - name: "Striped"
41
+ description: "Table with alternating row colors"
42
+ classes:
43
+ - "slds-table"
44
+ - "slds-table_striped"
45
+ usage_context: "Improved readability for large datasets"
46
+ differences: "Alternating background colors on rows"
47
+ - name: "Bordered"
48
+ description: "Table with borders"
49
+ classes:
50
+ - "slds-table"
51
+ - "slds-table_bordered"
52
+ usage_context: "Clear visual separation between cells"
53
+ differences: "Visible borders around all cells"
54
+ lightning_component:
55
+ name: "lightning-datatable"
56
+ url: "https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable"
57
+ mapping_notes: "Direct mapping - Lightning component implements SLDS data table blueprint with enhanced functionality"
58
+ accessibility:
59
+ keyboard_support:
60
+ - "Tab navigation through interactive elements"
61
+ - "Arrow keys for cell navigation"
62
+ - "Enter/Space for cell activation"
63
+ - "Sorting activation through keyboard"
64
+ screen_reader:
65
+ - "Table structure announced with row and column counts"
66
+ - "Column headers associated with data cells"
67
+ - "Sort states and changes announced"
68
+ - "Selection states communicated"
69
+ aria_attributes:
70
+ - "role='table' for table container"
71
+ - "role='columnheader' for header cells"
72
+ - "role='gridcell' or 'cell' for data cells"
73
+ - "aria-sort for sortable columns"
74
+ - "aria-selected for selected rows"
75
+ - "aria-labelledby for column associations"
76
+ usage_guidelines:
77
+ when_to_use:
78
+ - "For displaying structured data with multiple attributes"
79
+ - "When users need to compare data across rows and columns"
80
+ - "For large datasets that benefit from sorting and filtering"
81
+ - "When precise data layout is important"
82
+ when_not_to_use:
83
+ - "For simple lists (use list components instead)"
84
+ - "For unstructured content (use cards or other layouts)"
85
+ - "When data doesn't fit tabular format well"
86
+ best_practices:
87
+ - "Use clear, descriptive column headers"
88
+ - "Implement sorting for data comparison"
89
+ - "Provide loading states for async data"
90
+ - "Support keyboard navigation throughout"
91
+ - "Consider responsive behavior for mobile"
92
+ - "Use appropriate data types and formatting"
93
+ common_mistakes:
94
+ - "Overloading tables with too many columns"
95
+ - "Poor mobile responsiveness"
96
+ - "Inadequate loading and error states"
97
+ - "Missing keyboard navigation support"
98
+ code_examples:
99
+ - title: "Basic Data Table"
100
+ code: |
101
+ <table class="slds-table slds-table_bordered slds-table_fixed-layout">
102
+ <thead>
103
+ <tr class="slds-line-height_reset">
104
+ <th class="slds-text-title_caps" scope="col">
105
+ <div class="slds-truncate" title="Name">Name</div>
106
+ </th>
107
+ <th class="slds-text-title_caps" scope="col">
108
+ <div class="slds-truncate" title="Account">Account</div>
109
+ </th>
110
+ <th class="slds-text-title_caps" scope="col">
111
+ <div class="slds-truncate" title="Close Date">Close Date</div>
112
+ </th>
113
+ </tr>
114
+ </thead>
115
+ <tbody>
116
+ <tr class="slds-hint-parent">
117
+ <td data-label="Name">
118
+ <div class="slds-truncate" title="Acme Corp Deal">Acme Corp Deal</div>
119
+ </td>
120
+ <td data-label="Account">
121
+ <div class="slds-truncate" title="Acme Corporation">Acme Corporation</div>
122
+ </td>
123
+ <td data-label="Close Date">
124
+ <div class="slds-truncate" title="12/31/2024">12/31/2024</div>
125
+ </td>
126
+ </tr>
127
+ </tbody>
128
+ </table>
129
+ styling_hooks: []
130
+ dependencies:
131
+ css_files:
132
+ - "table.css"
133
+ - "truncate.css"
134
+ javascript:
135
+ - "table.js (for sorting, selection)"
136
+ icons:
137
+ - "utility-sprite.svg"
138
+ other_components:
139
+ - "truncate"
140
+ - "icons"
141
+ related_components:
142
+ - name: "Tree Grid"
143
+ relationship: "similar"
144
+ description: "Hierarchical data table variant"
145
+ - name: "List"
146
+ relationship: "alternative"
147
+ description: "Alternative for simpler data display"
148
+ - name: "Cards"
149
+ relationship: "alternative"
150
+ description: "Alternative layout for complex data items"
151
+ references:
152
+ official_docs: "https://v1.lightningdesignsystem.com/components/data-tables/"
153
+ metadata:
154
+ version: "1.0.0"
155
+ last_updated: "2025-11-12"
156
+ review_status: "complete"
157
+ notes: " Cleaned invalid classes and CSS variables on 2025-11-12 using slds-plus.css as source of truth."
@@ -0,0 +1,130 @@
1
+ name: Datepickers
2
+ description: Input controls that allow users to select dates through a calendar interface, providing visual date selection
3
+ with navigation between months and years.
4
+ category: Input
5
+ slds_classes:
6
+ root: slds-datepicker
7
+ elements:
8
+ - class: slds-datepicker__filter
9
+ description: Container for month/year navigation
10
+ purpose: Holds navigation controls for calendar
11
+ - class: slds-datepicker__filter_month
12
+ description: Month selection control
13
+ purpose: Allows selection of specific month
14
+ - class: slds-datepicker__month
15
+ description: Calendar month grid container
16
+ purpose: Contains the calendar grid for date selection
17
+ - class: slds-day
18
+ description: Individual calendar day cell
19
+ purpose: Represents a single selectable date
20
+ modifiers: []
21
+ states:
22
+ - class: slds-is-today
23
+ description: Current date state
24
+ trigger: Highlights today's date
25
+ - class: slds-is-selected
26
+ description: Selected date state
27
+ trigger: Currently selected date
28
+ variants:
29
+ - name: Base
30
+ description: Standard calendar datepicker
31
+ classes:
32
+ - slds-datepicker
33
+ usage_context: Default datepicker for date selection
34
+ differences: Calendar grid with month/year navigation
35
+ lightning_component:
36
+ name: lightning-input (type='date')
37
+ url: https://developer.salesforce.com/docs/component-library/bundle/lightning-input
38
+ mapping_notes: Mapped through lightning-input with type='date' which provides native datepicker
39
+ accessibility:
40
+ keyboard_support:
41
+ - Tab to focus datepicker elements
42
+ - Arrow keys to navigate calendar dates
43
+ - Enter/Space to select dates
44
+ - Page Up/Down to navigate months
45
+ - Shift+Page Up/Down to navigate years
46
+ screen_reader:
47
+ - Current month and year announced
48
+ - Date selection changes communicated
49
+ - Navigation between calendar periods announced
50
+ - Today's date and selected date clearly identified
51
+ aria_attributes:
52
+ - role='grid' for calendar container
53
+ - role='gridcell' for individual dates
54
+ - aria-selected for chosen date
55
+ - aria-label for month/year navigation
56
+ - aria-live for dynamic date updates
57
+ usage_guidelines:
58
+ when_to_use:
59
+ - For date selection in forms
60
+ - When users need visual calendar navigation
61
+ - For scheduling or planning interfaces
62
+ - When date ranges or specific dates are important
63
+ when_not_to_use:
64
+ - For approximate dates (use text input)
65
+ - When calendar interface is not helpful
66
+ - For very distant past or future dates
67
+ best_practices:
68
+ - Provide clear month and year navigation
69
+ - Highlight current date and selection clearly
70
+ - Support keyboard navigation throughout
71
+ - Handle date formatting consistently
72
+ - Provide appropriate date constraints
73
+ common_mistakes:
74
+ - Poor keyboard navigation implementation
75
+ - Unclear visual indicators for selection
76
+ - Not handling edge cases (leap years, etc.)
77
+ - Inconsistent date formatting
78
+ code_examples:
79
+ - title: Calendar Datepicker
80
+ code: "<div class=\"slds-datepicker\" role=\"dialog\" aria-label=\"Date picker\">\n <div class=\"slds-datepicker__filter\
81
+ \ slds-grid\">\n <div class=\"slds-datepicker__filter_month slds-grid slds-grid_align-spread slds-grow\">\n \
82
+ \ <button class=\"slds-button slds-button_icon slds-button_icon-container\" title=\"Previous Month\">\n \
83
+ \ <svg class=\"slds-button__icon\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#left\"\
84
+ ></use>\n </svg>\n <span class=\"slds-assistive-text\">Previous Month</span>\n </button>\n\
85
+ \ <h2 class=\"slds-align-middle\" aria-live=\"assertive\" aria-atomic=\"true\">October 2024</h2>\n <button\
86
+ \ class=\"slds-button slds-button_icon slds-button_icon-container\" title=\"Next Month\">\n <svg class=\"slds-button__icon\"\
87
+ \ aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#right\"></use>\n\
88
+ \ </svg>\n <span class=\"slds-assistive-text\">Next Month</span>\n </button>\n </div>\n\
89
+ \ </div>\n <table class=\"slds-datepicker__month\" role=\"grid\" aria-labelledby=\"month\">\n <thead>\n\
90
+ \ <tr>\n <th scope=\"col\"><abbr title=\"Sunday\">Sun</abbr></th>\n <th scope=\"col\"><abbr\
91
+ \ title=\"Monday\">Mon</abbr></th>\n <th scope=\"col\"><abbr title=\"Tuesday\">Tue</abbr></th>\n \
92
+ \ <th scope=\"col\"><abbr title=\"Wednesday\">Wed</abbr></th>\n <th scope=\"col\"><abbr title=\"Thursday\"\
93
+ >Thu</abbr></th>\n <th scope=\"col\"><abbr title=\"Friday\">Fri</abbr></th>\n <th scope=\"col\"\
94
+ ><abbr title=\"Saturday\">Sat</abbr></th>\n </tr>\n </thead>\n <tbody>\n <tr>\n \
95
+ \ <td class=\"slds-day\" role=\"gridcell\" aria-selected=\"false\">\n <span class=\"slds-day\">1</span>\n\
96
+ \ </td>\n <td class=\"slds-day\" role=\"gridcell\" aria-selected=\"false\">\n <span\
97
+ \ class=\"slds-day\">2</span>\n </td>\n <td class=\"slds-day slds-is-selected\" role=\"gridcell\"\
98
+ \ aria-selected=\"true\">\n <span class=\"slds-day\">3</span>\n </td>\n <!-- Additional\
99
+ \ days... -->\n </tr>\n </tbody>\n </table>\n </div>\n"
100
+ styling_hooks: []
101
+ dependencies:
102
+ css_files:
103
+ - datepicker.css
104
+ - grid.css
105
+ - button.css
106
+ javascript:
107
+ - datepicker.js
108
+ icons:
109
+ - utility-sprite.svg
110
+ other_components:
111
+ - button-icon
112
+ - grid
113
+ - icons
114
+ related_components:
115
+ - name: Input
116
+ relationship: depends-on
117
+ description: Often combined with text input for date entry
118
+ - name: Datetime Picker
119
+ relationship: variant
120
+ description: Extended version including time selection
121
+ - name: Timepicker
122
+ relationship: similar
123
+ description: Complementary component for time selection
124
+ references:
125
+ official_docs: https://v1.lightningdesignsystem.com/components/datepickers/
126
+ metadata:
127
+ version: 1.0.0
128
+ last_updated: '2025-11-12'
129
+ review_status: complete
130
+ notes: ' Cleaned invalid classes and CSS variables on 2025-11-12 using slds-plus.css as source of truth.'
@@ -0,0 +1,155 @@
1
+ name: Datetime Picker
2
+ description: A datetime picker is used to select a day and a time. It combines a datepicker and timepicker into a single component
3
+ with two form elements, each containing a label and text input, and a dropdown menu containing a grid-based calendar and
4
+ time filters.
5
+ category: Input
6
+ slds_classes:
7
+ root: ''
8
+ elements:
9
+ - class: slds-dropdown-trigger
10
+ description: Container that triggers the dropdown menu
11
+ purpose: Wraps the date input and controls dropdown visibility
12
+ - class: slds-form-element__icon
13
+ description: Icon element within the form element
14
+ purpose: Contains icon for the datetime picker input
15
+ modifiers:
16
+ - class: slds-datetimepicker_has-tooltip
17
+ description: Modifier for datetime picker with tooltip
18
+ usage: Applied when tooltip is present on the datetime picker
19
+ - class: slds-is-open
20
+ description: State modifier for open dropdown
21
+ usage: Applied to dropdown-trigger when dropdown is visible
22
+ states:
23
+ - class: slds-has-focus
24
+ description: Focus state on timepicker listbox option
25
+ trigger: When a time option receives focus
26
+ - class: slds-is-selected
27
+ description: Selected state for date or time option
28
+ trigger: When a date or time option is selected
29
+ - class: slds-is-today
30
+ description: Today indicator for datepicker
31
+ trigger: Applied to the current day in the calendar
32
+ variants:
33
+ - name: Base
34
+ description: Standard datetime picker with date and time selection
35
+ classes: []
36
+ usage_context: Default datetime picker implementation combining datepicker and timepicker
37
+ differences: Two form elements - one for date, one for time, with dropdown menus
38
+ lightning_component:
39
+ name: ''
40
+ url: https://developer.salesforce.com/docs/component-library/overview/components
41
+ mapping_notes: No direct Lightning Base Component - use lightning-input with type='datetime-local' or custom implementation
42
+ accessibility:
43
+ keyboard_support:
44
+ - Tab to navigate between date and time inputs
45
+ - Enter or Space to open dropdown menus
46
+ - Arrow keys to navigate calendar dates or time options
47
+ - Escape to close dropdown menus
48
+ screen_reader:
49
+ - Date format message announced when date field receives focus
50
+ - Selected date and time announced
51
+ - Calendar navigation announced
52
+ - Time options announced when navigating
53
+ aria_attributes:
54
+ - role='combobox' on combobox element (desktop only)
55
+ - aria-expanded on dropdown trigger
56
+ - aria-haspopup on combobox
57
+ - aria-controls on input (desktop only)
58
+ - aria-autocomplete on input (desktop only)
59
+ - role='textbox' on input (desktop only)
60
+ - aria-describedby for date format messages
61
+ - Remove ARIA attributes on mobile when using datetime-local input type
62
+ usage_guidelines:
63
+ when_to_use:
64
+ - When users need to select both a date and time
65
+ - For scheduling appointments or events
66
+ - When precise datetime selection is required
67
+ - For form inputs requiring date and time together
68
+ when_not_to_use:
69
+ - When only date is needed (use datepicker)
70
+ - When only time is needed (use timepicker)
71
+ - In data table cells (use popover instead)
72
+ - When space is very limited
73
+ best_practices:
74
+ - Use native datetime-local input on mobile devices
75
+ - Provide clear date format guidance
76
+ - Use required indicators with legends for required fields
77
+ - Ensure proper ARIA attributes for desktop, remove for mobile native inputs
78
+ - Provide visual feedback for selected date and time
79
+ - Handle timezone considerations appropriately
80
+ common_mistakes:
81
+ - Using in data table cells without popover
82
+ - Not removing ARIA attributes on mobile native inputs
83
+ - Missing date format guidance
84
+ - Not handling timezone correctly
85
+ - Inadequate keyboard navigation support
86
+ code_examples:
87
+ - title: Basic Datetime Picker
88
+ code: "<div class=\"\">\n <div class=\"slds-form-element\">\n <label class=\"slds-form-element__label\" for=\"date-input\"\
89
+ >\n <abbr class=\"slds-required\" title=\"required\">*</abbr> Date\n </label>\n <div class=\"slds-form-element__control\"\
90
+ >\n <div class=\"slds-dropdown-trigger slds-dropdown-trigger_click\">\n <div class=\"slds-combobox_container\"\
91
+ >\n <div class=\"slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click\" role=\"combobox\" aria-expanded=\"\
92
+ false\" aria-haspopup=\"listbox\">\n <div class=\"slds-form-element__icon\">\n <svg class=\"slds-icon\
93
+ \ slds-icon-text-default\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#event\"\
94
+ ></use>\n </svg>\n </div>\n <input type=\"text\" class=\"slds-input slds-combobox__input\"\
95
+ \ id=\"date-input\" aria-controls=\"date-listbox\" aria-autocomplete=\"list\" role=\"textbox\" placeholder=\"Select a\
96
+ \ date\" />\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"slds-form-element\"\
97
+ >\n <label class=\"slds-form-element__label\" for=\"time-input\">\n <abbr class=\"slds-required\" title=\"required\"\
98
+ >*</abbr> Time\n </label>\n <div class=\"slds-form-element__control\">\n <div class=\"slds-combobox_container\"\
99
+ >\n <div class=\"slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click\" role=\"combobox\" aria-expanded=\"\
100
+ false\" aria-haspopup=\"listbox\">\n <input type=\"text\" class=\"slds-input slds-combobox__input\" id=\"time-input\"\
101
+ \ aria-controls=\"time-listbox\" aria-autocomplete=\"list\" role=\"textbox\" placeholder=\"Select a time\" />\n \
102
+ \ </div>\n </div>\n </div>\n </div>\n</div>\n"
103
+ description: Basic datetime picker with date and time inputs
104
+ - title: Mobile Datetime Picker (Native)
105
+ code: "<div class=\"\">\n <div class=\"slds-form-element\">\n <label class=\"slds-form-element__label\" for=\"datetime-mobile\"\
106
+ >\n <abbr class=\"slds-required\" title=\"required\">*</abbr> Date and Time\n </label>\n <div class=\"slds-form-element__control\"\
107
+ >\n <input type=\"datetime-local\" class=\"slds-input\" id=\"datetime-mobile\" />\n </div>\n </div>\n</div>\n"
108
+ description: Mobile datetime picker using native datetime-local input (ARIA attributes removed)
109
+ styling_hooks: []
110
+ dependencies:
111
+ css_files:
112
+ - datetime-picker.css
113
+ - form-element.css
114
+ - input.css
115
+ - datepicker.css
116
+ - timepicker.css
117
+ - combobox.css
118
+ - dropdown.css
119
+ javascript:
120
+ - Dropdown trigger functionality
121
+ - Calendar navigation
122
+ - Time option selection
123
+ - Date/time validation
124
+ icons:
125
+ - utility:event (for date icon)
126
+ other_components:
127
+ - form-element
128
+ - input
129
+ - datepicker
130
+ - timepicker
131
+ - combobox
132
+ - dropdown
133
+ - menus
134
+ related_components:
135
+ - name: Datepicker
136
+ relationship: depends-on
137
+ description: Date selection component used within datetime picker
138
+ - name: Timepicker
139
+ relationship: depends-on
140
+ description: Time selection component used within datetime picker
141
+ - name: Input
142
+ relationship: similar
143
+ description: Text input component used for date and time display
144
+ references:
145
+ official_docs: https://v1.lightningdesignsystem.com/components/datetime-picker/
146
+ design_guidelines: https://v1.lightningdesignsystem.com/components/datetime-picker/
147
+ metadata:
148
+ version: 1.0.0
149
+ last_updated: '2025-01-15'
150
+ author: SLDS Documentation Team
151
+ slds_version: 2.27.2
152
+ review_status: complete
153
+ source: official-slds
154
+ notes: Created from official SLDS documentation and design-system-internal source code. Combines datepicker and timepicker
155
+ components. Mobile implementation uses native datetime-local input.
@@ -0,0 +1,201 @@
1
+ name: Docked Composer
2
+ description: A persistent composition interface that remains docked at the bottom of the screen, allowing users to create
3
+ content (emails, messages, posts) while maintaining context of their current workflow.
4
+ category: Overlay
5
+ slds_classes:
6
+ root: slds-docked-composer
7
+ elements:
8
+ - class: slds-docked-composer__header
9
+ description: Header section of the docked composer
10
+ purpose: Contains title, status indicators, and header controls
11
+ - class: slds-docked-composer__body
12
+ description: Main content area of the composer
13
+ purpose: Contains the primary composition interface and controls
14
+ - class: slds-docked-composer__footer
15
+ description: Footer section with action buttons
16
+ purpose: Contains send, save, and other action buttons
17
+ - class: slds-docked-composer__lead
18
+ description: Lead content area within composer
19
+ purpose: Primary content or recipient information
20
+ - class: slds-docked-composer__toolbar
21
+ description: Toolbar for composer actions
22
+ purpose: Contains formatting and composition tools
23
+ modifiers: []
24
+ states:
25
+ - class: slds-is-open
26
+ description: Expanded composer state
27
+ trigger: Applied when composer is expanded and active
28
+ - class: slds-is-closed
29
+ description: Minimized composer state
30
+ trigger: Applied when composer is minimized
31
+ variants:
32
+ - name: Base
33
+ description: Standard docked composer for general composition
34
+ classes:
35
+ - slds-docked-composer
36
+ usage_context: Default implementation for content composition
37
+ differences: Basic composer with header, body, and footer
38
+ - name: Email
39
+ description: Email-specific docked composer
40
+ classes:
41
+ - slds-docked-composer
42
+ usage_context: For email composition workflows
43
+ differences: Email-specific fields and formatting options
44
+ - name: Task
45
+ description: Task creation docked composer
46
+ classes:
47
+ - slds-docked-composer
48
+ usage_context: For task and reminder creation
49
+ differences: Task-specific fields and controls
50
+ lightning_component:
51
+ name: No direct component
52
+ url: https://developer.salesforce.com/docs/component-library/overview/components
53
+ mapping_notes: No direct Lightning Base Component equivalent - typically implemented using custom components with lightning-modal
54
+ or lightning-card patterns
55
+ accessibility:
56
+ keyboard_support:
57
+ - Tab navigation through composer elements
58
+ - Enter/Space to activate buttons and controls
59
+ - Escape to minimize or close composer
60
+ - Arrow keys for toolbar navigation
61
+ screen_reader:
62
+ - Composer purpose and state announced
63
+ - Form fields and labels properly associated
64
+ - Action buttons clearly described
65
+ - Status updates communicated
66
+ aria_attributes:
67
+ - role='dialog' for composer container
68
+ - aria-labelledby for composer title
69
+ - aria-describedby for composer content
70
+ - aria-expanded for minimize/expand state
71
+ - aria-live for status updates
72
+ usage_guidelines:
73
+ when_to_use:
74
+ - For content composition that shouldn't interrupt workflow
75
+ - When users need to reference other content while composing
76
+ - For email, message, or document creation
77
+ - When composition is a secondary task
78
+ when_not_to_use:
79
+ - For simple, quick inputs (use modal instead)
80
+ - When composition is the primary task
81
+ - On small screens with limited space
82
+ best_practices:
83
+ - Provide clear minimize/maximize controls
84
+ - Save draft content automatically
85
+ - Allow multiple composers when appropriate
86
+ - Maintain scroll position when minimized
87
+ - Provide clear send/save actions
88
+ common_mistakes:
89
+ - Blocking user interaction with underlying content
90
+ - Not saving drafts automatically
91
+ - Poor mobile responsive behavior
92
+ - Unclear composer state indicators
93
+ code_examples:
94
+ - title: Basic Docked Composer
95
+ description: Standard docked composer for general content creation
96
+ code: "<section class=\"slds-docked-composer slds-is-open\" role=\"dialog\" aria-labelledby=\"composer-title\" aria-describedby=\"\
97
+ composer-body\">\n <header class=\"slds-docked-composer__header\">\n <div class=\"slds-media slds-media_center\"\
98
+ >\n <div class=\"slds-media__figure\">\n <span class=\"slds-icon_container slds-icon-standard-email\"\
99
+ >\n <svg class=\"slds-icon slds-icon_small\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#email\"\
100
+ ></use>\n </svg>\n </span>\n </div>\n <div class=\"slds-media__body\">\n \
101
+ \ <h2 id=\"composer-title\" class=\"slds-truncate slds-text-heading_small\">New Email</h2>\n </div>\n\
102
+ \ <div class=\"slds-media__figure slds-media__figure_reverse\">\n <div class=\"slds-button-group\"\
103
+ >\n <button class=\"slds-button slds-button_icon slds-button_icon-border\" title=\"Minimize\">\n \
104
+ \ <svg class=\"slds-button__icon\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#minimize_window\"\
105
+ ></use>\n </svg>\n <span class=\"slds-assistive-text\">Minimize composer</span>\n \
106
+ \ </button>\n <button class=\"slds-button slds-button_icon slds-button_icon-border\" title=\"Expand\"\
107
+ >\n <svg class=\"slds-button__icon\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#expand\"\
108
+ ></use>\n </svg>\n <span class=\"slds-assistive-text\">Expand composer</span>\n \
109
+ \ </button>\n <button class=\"slds-button slds-button_icon slds-button_icon-border\" title=\"Close\"\
110
+ >\n <svg class=\"slds-button__icon\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#close\"\
111
+ ></use>\n </svg>\n <span class=\"slds-assistive-text\">Close composer</span>\n \
112
+ \ </button>\n </div>\n </div>\n </div>\n </header>\n <div class=\"slds-docked-composer__body\"\
113
+ \ id=\"composer-body\">\n <div class=\"slds-form-element slds-m-bottom_small\">\n <label class=\"slds-form-element__label\"\
114
+ \ for=\"composer-to\">To</label>\n <div class=\"slds-form-element__control\">\n <input type=\"email\"\
115
+ \ id=\"composer-to\" class=\"slds-input\" placeholder=\"Enter recipient email\">\n </div>\n </div>\n \
116
+ \ <div class=\"slds-form-element slds-m-bottom_small\">\n <label class=\"slds-form-element__label\" for=\"\
117
+ composer-subject\">Subject</label>\n <div class=\"slds-form-element__control\">\n <input type=\"text\"\
118
+ \ id=\"composer-subject\" class=\"slds-input\" placeholder=\"Enter subject\">\n </div>\n </div>\n \
119
+ \ <div class=\"slds-form-element\">\n <label class=\"slds-form-element__label\" for=\"composer-message\">Message</label>\n\
120
+ \ <div class=\"slds-form-element__control\">\n <textarea id=\"composer-message\" class=\"slds-textarea\"\
121
+ \ rows=\"10\" placeholder=\"Enter your message\"></textarea>\n </div>\n </div>\n </div>\n <footer\
122
+ \ class=\"slds-docked-composer__footer\">\n <div class=\"slds-grid slds-grid_align-spread\">\n <div class=\"\
123
+ slds-col\">\n <button class=\"slds-button slds-button_icon slds-button_icon-border\" title=\"Attach file\"\
124
+ >\n <svg class=\"slds-button__icon\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#attach\"\
125
+ ></use>\n </svg>\n <span class=\"slds-assistive-text\">Attach file</span>\n </button>\n\
126
+ \ </div>\n <div class=\"slds-col slds-no-flex\">\n <div class=\"slds-button-group\">\n \
127
+ \ <button class=\"slds-button slds-button_neutral\">Save Draft</button>\n <button class=\"slds-button\
128
+ \ slds-button_brand\">Send</button>\n </div>\n </div>\n </div>\n </footer>\n </section>\n"
129
+ - title: Minimized Docked Composer
130
+ description: Docked composer in minimized state
131
+ code: "<section class=\"slds-docked-composer slds-is-closed\" role=\"dialog\" aria-labelledby=\"composer-min-title\">\n\
132
+ \ <header class=\"slds-docked-composer__header\">\n <div class=\"slds-media slds-media_center\">\n \
133
+ \ <div class=\"slds-media__figure\">\n <span class=\"slds-icon_container slds-icon-standard-email\">\n \
134
+ \ <svg class=\"slds-icon slds-icon_small\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#email\"\
135
+ ></use>\n </svg>\n </span>\n </div>\n <div class=\"slds-media__body\">\n \
136
+ \ <h2 id=\"composer-min-title\" class=\"slds-truncate slds-text-heading_small\">Draft - New Email</h2>\n \
137
+ \ </div>\n <div class=\"slds-media__figure slds-media__figure_reverse\">\n <button class=\"slds-button\
138
+ \ slds-button_icon slds-button_icon-border\" title=\"Expand\">\n <svg class=\"slds-button__icon\" aria-hidden=\"\
139
+ true\">\n <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#expand\"></use>\n \
140
+ \ </svg>\n <span class=\"slds-assistive-text\">Expand composer</span>\n </button>\n \
141
+ \ </div>\n </div>\n </header>\n </section>\n"
142
+ - title: Task Composer
143
+ description: Docked composer configured for task creation
144
+ code: "<section class=\"slds-docked-composer slds-is-open\" role=\"dialog\" aria-labelledby=\"task-composer-title\">\n \
145
+ \ <header class=\"slds-docked-composer__header\">\n <div class=\"slds-media slds-media_center\">\n \
146
+ \ <div class=\"slds-media__figure\">\n <span class=\"slds-icon_container slds-icon-standard-task\">\n \
147
+ \ <svg class=\"slds-icon slds-icon_small\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#task\"\
148
+ ></use>\n </svg>\n </span>\n </div>\n <div class=\"slds-media__body\">\n \
149
+ \ <h2 id=\"task-composer-title\" class=\"slds-truncate slds-text-heading_small\">New Task</h2>\n </div>\n\
150
+ \ <div class=\"slds-media__figure slds-media__figure_reverse\">\n <button class=\"slds-button slds-button_icon\
151
+ \ slds-button_icon-border\" title=\"Close\">\n <svg class=\"slds-button__icon\" aria-hidden=\"true\">\n \
152
+ \ <use xlink:href=\"/assets/icons/utility-sprite/svg/symbols.svg#close\"></use>\n </svg>\n\
153
+ \ <span class=\"slds-assistive-text\">Close composer</span>\n </button>\n </div>\n \
154
+ \ </div>\n </header>\n <div class=\"slds-docked-composer__body\">\n <div class=\"slds-form-element\
155
+ \ slds-m-bottom_small\">\n <label class=\"slds-form-element__label\" for=\"task-subject\">Task Subject</label>\n\
156
+ \ <div class=\"slds-form-element__control\">\n <input type=\"text\" id=\"task-subject\" class=\"slds-input\"\
157
+ \ placeholder=\"Enter task subject\">\n </div>\n </div>\n <div class=\"slds-form-element slds-m-bottom_small\"\
158
+ >\n <label class=\"slds-form-element__label\" for=\"task-due-date\">Due Date</label>\n <div class=\"\
159
+ slds-form-element__control\">\n <input type=\"date\" id=\"task-due-date\" class=\"slds-input\">\n \
160
+ \ </div>\n </div>\n <div class=\"slds-form-element\">\n <label class=\"slds-form-element__label\"\
161
+ \ for=\"task-description\">Description</label>\n <div class=\"slds-form-element__control\">\n <textarea\
162
+ \ id=\"task-description\" class=\"slds-textarea\" rows=\"6\" placeholder=\"Enter task description\"></textarea>\n \
163
+ \ </div>\n </div>\n </div>\n <footer class=\"slds-docked-composer__footer\">\n <div class=\"\
164
+ slds-grid slds-grid_align-end\">\n <div class=\"slds-col slds-no-flex\">\n <div class=\"slds-button-group\"\
165
+ >\n <button class=\"slds-button slds-button_neutral\">Save Draft</button>\n <button class=\"\
166
+ slds-button slds-button_brand\">Create Task</button>\n </div>\n </div>\n </div>\n </footer>\n\
167
+ \ </section>\n"
168
+ dependencies:
169
+ css_files:
170
+ - docked-composer.css
171
+ - form-element.css
172
+ - button.css
173
+ - input.css
174
+ - textarea.css
175
+ javascript:
176
+ - docked-composer.js
177
+ icons:
178
+ - standard-sprite.svg
179
+ - utility-sprite.svg
180
+ other_components:
181
+ - form-element
182
+ - button
183
+ - input
184
+ - textarea
185
+ related_components:
186
+ - name: Modal
187
+ relationship: alternative
188
+ description: Alternative for full-screen composition
189
+ - name: Rich Text Editor
190
+ relationship: depends-on
191
+ description: Often includes rich text editing capabilities
192
+ - name: Form Element
193
+ relationship: container
194
+ description: Contains form elements for data input
195
+ references:
196
+ official_docs: https://v1.lightningdesignsystem.com/components/docked-composer/
197
+ metadata:
198
+ version: 1.0.0
199
+ last_updated: '2025-11-12'
200
+ review_status: complete
201
+ notes: ' Cleaned invalid classes and CSS variables on 2025-11-12 using slds-plus.css as source of truth.'