@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.
- package/package.json +1 -1
- package/skills/activating-datacloud/SKILL.md +0 -1
- package/skills/analyzing-omnistudio-dependencies/SKILL.md +0 -1
- package/skills/applying-slds/SKILL.md +322 -0
- package/skills/applying-slds/checklists.md +83 -0
- package/skills/applying-slds/examples.md +283 -0
- package/skills/applying-slds/guidance/README.md +83 -0
- package/skills/applying-slds/guidance/blueprints-index.md +213 -0
- package/skills/applying-slds/guidance/icons-guidance.md +186 -0
- package/skills/applying-slds/guidance/overviews/borders.md +236 -0
- package/skills/applying-slds/guidance/overviews/color.md +266 -0
- package/skills/applying-slds/guidance/overviews/display-density.md +366 -0
- package/skills/applying-slds/guidance/overviews/icons.md +240 -0
- package/skills/applying-slds/guidance/overviews/illustrations.md +235 -0
- package/skills/applying-slds/guidance/overviews/shadows.md +176 -0
- package/skills/applying-slds/guidance/overviews/spacing.md +216 -0
- package/skills/applying-slds/guidance/overviews/typography.md +323 -0
- package/skills/applying-slds/guidance/overviews/utilities.md +542 -0
- package/skills/applying-slds/guidance/slds-development-guide.md +288 -0
- package/skills/applying-slds/guidance/styling-hooks/borders.md +202 -0
- package/skills/applying-slds/guidance/styling-hooks/color/expressive-palette-hooks.md +153 -0
- package/skills/applying-slds/guidance/styling-hooks/color/index.md +171 -0
- package/skills/applying-slds/guidance/styling-hooks/color/semantic/accent-hooks.md +204 -0
- package/skills/applying-slds/guidance/styling-hooks/color/semantic/feedback-hooks.md +768 -0
- package/skills/applying-slds/guidance/styling-hooks/color/semantic/surface-hooks.md +337 -0
- package/skills/applying-slds/guidance/styling-hooks/color/system-hooks.md +132 -0
- package/skills/applying-slds/guidance/styling-hooks/index.md +327 -0
- package/skills/applying-slds/guidance/styling-hooks/shadows.md +238 -0
- package/skills/applying-slds/guidance/styling-hooks/spacing.md +254 -0
- package/skills/applying-slds/guidance/styling-hooks/typography.md +448 -0
- package/skills/applying-slds/guidance/utilities/alignment.md +119 -0
- package/skills/applying-slds/guidance/utilities/borders.md +131 -0
- package/skills/applying-slds/guidance/utilities/box.md +125 -0
- package/skills/applying-slds/guidance/utilities/color.md +165 -0
- package/skills/applying-slds/guidance/utilities/dark-mode.md +111 -0
- package/skills/applying-slds/guidance/utilities/description-list.md +168 -0
- package/skills/applying-slds/guidance/utilities/floats.md +117 -0
- package/skills/applying-slds/guidance/utilities/grid.md +264 -0
- package/skills/applying-slds/guidance/utilities/horizontal-list.md +110 -0
- package/skills/applying-slds/guidance/utilities/hyphenation.md +84 -0
- package/skills/applying-slds/guidance/utilities/index.md +205 -0
- package/skills/applying-slds/guidance/utilities/interactions.md +89 -0
- package/skills/applying-slds/guidance/utilities/layout.md +109 -0
- package/skills/applying-slds/guidance/utilities/line-clamp.md +131 -0
- package/skills/applying-slds/guidance/utilities/margin.md +155 -0
- package/skills/applying-slds/guidance/utilities/media-object.md +161 -0
- package/skills/applying-slds/guidance/utilities/name-value-list.md +152 -0
- package/skills/applying-slds/guidance/utilities/padding.md +155 -0
- package/skills/applying-slds/guidance/utilities/position.md +177 -0
- package/skills/applying-slds/guidance/utilities/print.md +114 -0
- package/skills/applying-slds/guidance/utilities/scrollable.md +126 -0
- package/skills/applying-slds/guidance/utilities/sizing.md +190 -0
- package/skills/applying-slds/guidance/utilities/themes.md +121 -0
- package/skills/applying-slds/guidance/utilities/truncate.md +127 -0
- package/skills/applying-slds/guidance/utilities/typography.md +166 -0
- package/skills/applying-slds/guidance/utilities/vertical-list.md +166 -0
- package/skills/applying-slds/guidance/utilities/visibility.md +228 -0
- package/skills/applying-slds/metadata/README.md +84 -0
- package/skills/applying-slds/metadata/blueprints/components/accordion.yaml +304 -0
- package/skills/applying-slds/metadata/blueprints/components/activity-timeline.yaml +92 -0
- package/skills/applying-slds/metadata/blueprints/components/alert.yaml +103 -0
- package/skills/applying-slds/metadata/blueprints/components/app-launcher.yaml +94 -0
- package/skills/applying-slds/metadata/blueprints/components/avatar-group.yaml +81 -0
- package/skills/applying-slds/metadata/blueprints/components/avatar.yaml +97 -0
- package/skills/applying-slds/metadata/blueprints/components/badges.yaml +102 -0
- package/skills/applying-slds/metadata/blueprints/components/brand-band.yaml +198 -0
- package/skills/applying-slds/metadata/blueprints/components/breadcrumbs.yaml +95 -0
- package/skills/applying-slds/metadata/blueprints/components/builder-header.yaml +192 -0
- package/skills/applying-slds/metadata/blueprints/components/button-groups.yaml +82 -0
- package/skills/applying-slds/metadata/blueprints/components/button-icons.yaml +295 -0
- package/skills/applying-slds/metadata/blueprints/components/buttons.yaml +230 -0
- package/skills/applying-slds/metadata/blueprints/components/cards.yaml +124 -0
- package/skills/applying-slds/metadata/blueprints/components/carousel.yaml +140 -0
- package/skills/applying-slds/metadata/blueprints/components/chat.yaml +179 -0
- package/skills/applying-slds/metadata/blueprints/components/checkbox-button-group.yaml +192 -0
- package/skills/applying-slds/metadata/blueprints/components/checkbox-button.yaml +204 -0
- package/skills/applying-slds/metadata/blueprints/components/checkbox-toggle.yaml +177 -0
- package/skills/applying-slds/metadata/blueprints/components/checkbox.yaml +108 -0
- package/skills/applying-slds/metadata/blueprints/components/color-picker.yaml +172 -0
- package/skills/applying-slds/metadata/blueprints/components/combobox.yaml +136 -0
- package/skills/applying-slds/metadata/blueprints/components/counter.yaml +147 -0
- package/skills/applying-slds/metadata/blueprints/components/data-tables.yaml +157 -0
- package/skills/applying-slds/metadata/blueprints/components/datepickers.yaml +130 -0
- package/skills/applying-slds/metadata/blueprints/components/datetime-picker.yaml +155 -0
- package/skills/applying-slds/metadata/blueprints/components/docked-composer.yaml +201 -0
- package/skills/applying-slds/metadata/blueprints/components/docked-form-footer.yaml +161 -0
- package/skills/applying-slds/metadata/blueprints/components/docked-utility-bar.yaml +175 -0
- package/skills/applying-slds/metadata/blueprints/components/drop-zone.yaml +115 -0
- package/skills/applying-slds/metadata/blueprints/components/dueling-picklist.yaml +196 -0
- package/skills/applying-slds/metadata/blueprints/components/dynamic-icons.yaml +128 -0
- package/skills/applying-slds/metadata/blueprints/components/dynamic-menu.yaml +141 -0
- package/skills/applying-slds/metadata/blueprints/components/expandable-section.yaml +115 -0
- package/skills/applying-slds/metadata/blueprints/components/expression.yaml +143 -0
- package/skills/applying-slds/metadata/blueprints/components/feeds.yaml +125 -0
- package/skills/applying-slds/metadata/blueprints/components/file-selector.yaml +154 -0
- package/skills/applying-slds/metadata/blueprints/components/files.yaml +119 -0
- package/skills/applying-slds/metadata/blueprints/components/form-element.yaml +145 -0
- package/skills/applying-slds/metadata/blueprints/components/global-header.yaml +120 -0
- package/skills/applying-slds/metadata/blueprints/components/global-navigation.yaml +100 -0
- package/skills/applying-slds/metadata/blueprints/components/icons.yaml +138 -0
- package/skills/applying-slds/metadata/blueprints/components/illustration.yaml +205 -0
- package/skills/applying-slds/metadata/blueprints/components/input.yaml +151 -0
- package/skills/applying-slds/metadata/blueprints/components/list-builder.yaml +127 -0
- package/skills/applying-slds/metadata/blueprints/components/lookups.yaml +132 -0
- package/skills/applying-slds/metadata/blueprints/components/map.yaml +118 -0
- package/skills/applying-slds/metadata/blueprints/components/menus.yaml +134 -0
- package/skills/applying-slds/metadata/blueprints/components/modals.yaml +152 -0
- package/skills/applying-slds/metadata/blueprints/components/notifications.yaml +88 -0
- package/skills/applying-slds/metadata/blueprints/components/page-headers.yaml +135 -0
- package/skills/applying-slds/metadata/blueprints/components/panels.yaml +149 -0
- package/skills/applying-slds/metadata/blueprints/components/path.yaml +154 -0
- package/skills/applying-slds/metadata/blueprints/components/picklist.yaml +125 -0
- package/skills/applying-slds/metadata/blueprints/components/pills.yaml +154 -0
- package/skills/applying-slds/metadata/blueprints/components/popovers.yaml +120 -0
- package/skills/applying-slds/metadata/blueprints/components/progress-bar.yaml +110 -0
- package/skills/applying-slds/metadata/blueprints/components/progress-indicator.yaml +133 -0
- package/skills/applying-slds/metadata/blueprints/components/progress-ring.yaml +102 -0
- package/skills/applying-slds/metadata/blueprints/components/prompt.yaml +126 -0
- package/skills/applying-slds/metadata/blueprints/components/publishers.yaml +178 -0
- package/skills/applying-slds/metadata/blueprints/components/radio-button-group.yaml +172 -0
- package/skills/applying-slds/metadata/blueprints/components/radio-group.yaml +112 -0
- package/skills/applying-slds/metadata/blueprints/components/rich-text-editor.yaml +135 -0
- package/skills/applying-slds/metadata/blueprints/components/scoped-notifications.yaml +188 -0
- package/skills/applying-slds/metadata/blueprints/components/scoped-tabs.yaml +97 -0
- package/skills/applying-slds/metadata/blueprints/components/select.yaml +127 -0
- package/skills/applying-slds/metadata/blueprints/components/setup-assistant.yaml +152 -0
- package/skills/applying-slds/metadata/blueprints/components/slider.yaml +111 -0
- package/skills/applying-slds/metadata/blueprints/components/spinners.yaml +135 -0
- package/skills/applying-slds/metadata/blueprints/components/split-view.yaml +112 -0
- package/skills/applying-slds/metadata/blueprints/components/summary-detail.yaml +103 -0
- package/skills/applying-slds/metadata/blueprints/components/tabs.yaml +138 -0
- package/skills/applying-slds/metadata/blueprints/components/textarea.yaml +116 -0
- package/skills/applying-slds/metadata/blueprints/components/tiles.yaml +108 -0
- package/skills/applying-slds/metadata/blueprints/components/timepicker.yaml +111 -0
- package/skills/applying-slds/metadata/blueprints/components/toast.yaml +154 -0
- package/skills/applying-slds/metadata/blueprints/components/tooltips.yaml +107 -0
- package/skills/applying-slds/metadata/blueprints/components/tree-grid.yaml +116 -0
- package/skills/applying-slds/metadata/blueprints/components/trees.yaml +116 -0
- package/skills/applying-slds/metadata/blueprints/components/trial-bar.yaml +112 -0
- package/skills/applying-slds/metadata/blueprints/components/vertical-navigation.yaml +130 -0
- package/skills/applying-slds/metadata/blueprints/components/vertical-tabs.yaml +140 -0
- package/skills/applying-slds/metadata/blueprints/components/visual-picker.yaml +150 -0
- package/skills/applying-slds/metadata/blueprints/components/welcome-mat.yaml +136 -0
- package/skills/applying-slds/metadata/hooks-index.json +6272 -0
- package/skills/applying-slds/metadata/icon-metadata.json +38466 -0
- package/skills/applying-slds/metadata/utilities-index.json +21912 -0
- package/skills/applying-slds/references/component-selection.md +112 -0
- package/skills/applying-slds/references/icons-decision-guide.md +124 -0
- package/skills/applying-slds/references/styling-decision-guide.md +228 -0
- package/skills/applying-slds/references/utilities-quick-ref.md +125 -0
- package/skills/applying-slds/scripts/search-blueprints.cjs +117 -0
- package/skills/applying-slds/scripts/search-hooks.cjs +139 -0
- package/skills/applying-slds/scripts/search-icons.cjs +174 -0
- package/skills/applying-slds/scripts/search-utilities.cjs +161 -0
- package/skills/building-mobile-apps/SKILL.md +0 -1
- package/skills/building-omnistudio-callable-apex/SKILL.md +0 -1
- package/skills/building-omnistudio-datamapper/SKILL.md +0 -1
- package/skills/building-omnistudio-flexcard/SKILL.md +0 -1
- package/skills/building-omnistudio-integration-procedure/SKILL.md +0 -1
- package/skills/building-omnistudio-omniscript/SKILL.md +0 -1
- package/skills/building-sf-integrations/SKILL.md +0 -1
- package/skills/configuring-connected-apps/SKILL.md +0 -1
- package/skills/connecting-datacloud/SKILL.md +0 -1
- package/skills/creating-b2b-commerce-store/SKILL.md +0 -1
- package/skills/debugging-apex-logs/SKILL.md +0 -1
- package/skills/deploying-metadata/SKILL.md +0 -1
- package/skills/deploying-omnistudio-datapacks/SKILL.md +0 -1
- package/skills/developing-agentforce/SKILL.md +0 -1
- package/skills/fetching-salesforce-docs/SKILL.md +0 -1
- package/skills/generating-custom-lightning-type/SKILL.md +17 -39
- package/skills/generating-custom-lightning-type/assets/primitive-types-and-constraints.md +41 -0
- package/skills/generating-custom-lightning-type/references/widget-rendition.md +124 -0
- package/skills/generating-lwc-components/SKILL.md +0 -1
- package/skills/generating-mermaid-diagrams/SKILL.md +0 -1
- package/skills/generating-visual-diagrams/SKILL.md +0 -1
- package/skills/handling-sf-data/SKILL.md +0 -1
- package/skills/harmonizing-datacloud/SKILL.md +0 -1
- package/skills/integrating-b2b-commerce-open-code-components/SKILL.md +0 -1
- package/skills/investigating-agentforce-architecture/README.md +156 -0
- package/skills/investigating-agentforce-architecture/SKILL.md +230 -0
- package/skills/investigating-agentforce-architecture/assets/cli/describe_sobject.yaml +16 -0
- package/skills/investigating-agentforce-architecture/assets/cli/describe_tooling_sobject.yaml +17 -0
- package/skills/investigating-agentforce-architecture/assets/cli/list_metadata_genaiprompttemplate.yaml +17 -0
- package/skills/investigating-agentforce-architecture/assets/cli/org_display.yaml +15 -0
- package/skills/investigating-agentforce-architecture/assets/cli/retrieve_genai_plugin.yaml +18 -0
- package/skills/investigating-agentforce-architecture/assets/cli/show_access_token.yaml +27 -0
- package/skills/investigating-agentforce-architecture/assets/mermaid/action_tree.mmd +20 -0
- package/skills/investigating-agentforce-architecture/assets/mermaid/data_flow.mmd +19 -0
- package/skills/investigating-agentforce-architecture/assets/mermaid/dependency_graph.mmd +19 -0
- package/skills/investigating-agentforce-architecture/assets/mermaid/invocation_sequence.mmd +20 -0
- package/skills/investigating-agentforce-architecture/assets/mermaid/planner_state.mmd +18 -0
- package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_ids.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/apex_class_bodies_by_names.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/bot_definition_details.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/bot_version_lookup.soql +4 -0
- package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_by_ids.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_ids_by_names.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/flow_definition_view_by_durable_ids.soql +4 -0
- package/skills/investigating-agentforce-architecture/assets/soql/flow_metadata_by_id.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/functions_by_plugins.soql +5 -0
- package/skills/investigating-agentforce-architecture/assets/soql/planner_attrs_by_parent_ids.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/planner_bundle_functions.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/planner_definition_by_agent_chain.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/plugin_functions_by_plugin_ids.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/plugin_instructions_by_plugin_ids.soql +3 -0
- package/skills/investigating-agentforce-architecture/assets/soql/plugins_by_planner.soql +4 -0
- package/skills/investigating-agentforce-architecture/references/architecture_sections.md +243 -0
- package/skills/investigating-agentforce-architecture/references/contract.json +244 -0
- package/skills/investigating-agentforce-architecture/references/soql_fields.md +512 -0
- package/skills/investigating-agentforce-architecture/scripts/_shared/__init__.py +1 -0
- package/skills/investigating-agentforce-architecture/scripts/_shared/fs_guard.py +329 -0
- package/skills/investigating-agentforce-architecture/scripts/_shared/paths.py +110 -0
- package/skills/investigating-agentforce-architecture/scripts/_shared/runtime.py +59 -0
- package/skills/investigating-agentforce-architecture/scripts/_shared/sql.py +10 -0
- package/skills/investigating-agentforce-architecture/scripts/cache_check.py +234 -0
- package/skills/investigating-agentforce-architecture/scripts/config.py +131 -0
- package/skills/investigating-agentforce-architecture/scripts/fetch_soql.py +689 -0
- package/skills/investigating-agentforce-architecture/scripts/finalize.py +295 -0
- package/skills/investigating-agentforce-architecture/scripts/main.py +2835 -0
- package/skills/investigating-agentforce-architecture/scripts/metadata_listing.py +265 -0
- package/skills/investigating-agentforce-architecture/scripts/parallel_retrieve.py +69 -0
- package/skills/investigating-agentforce-architecture/scripts/parse_bundle.py +215 -0
- package/skills/investigating-agentforce-architecture/scripts/parse_wave.py +845 -0
- package/skills/investigating-agentforce-architecture/scripts/probe_channels.py +302 -0
- package/skills/investigating-agentforce-architecture/scripts/render_architecture.py +1043 -0
- package/skills/investigating-agentforce-architecture/scripts/resolve_bot.py +255 -0
- package/skills/investigating-agentforce-architecture/scripts/resolve_invocation_target.py +130 -0
- package/skills/investigating-agentforce-architecture/scripts/rest_client.py +763 -0
- package/skills/investigating-agentforce-architecture/scripts/retrieve_planner.py +13 -0
- package/skills/investigating-agentforce-architecture/scripts/sf_cli.py +242 -0
- package/skills/investigating-agentforce-architecture/scripts/soql_loader.py +253 -0
- package/skills/investigating-agentforce-architecture/scripts/summarize_tree.py +143 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/__init__.py +0 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/_bootstrap.py +23 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/__init__.py +0 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/fixtures/genai_payloads.py +400 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check.py +307 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_cache_check_main.py +283 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_config.py +115 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_end_to_end_fixture.py +651 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_finalize.py +278 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_flow_children_inflation.py +582 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_fs_guard.py +113 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_iterative_wave_b.py +478 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_main_pipeline.py +3359 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_parallel_retrieve.py +131 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_bundle.py +400 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave.py +644 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_classifiers.py +224 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_helpers.py +380 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_parse_wave_main.py +397 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_per_branch_visited.py +244 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_channels.py +359 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_probe_cli_recipes.py +185 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_render_architecture.py +810 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_bot.py +203 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_creds.py +157 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_resolve_invocation_target.py +145 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_rest_client.py +1253 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_runtime_override.py +100 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_sf_cli.py +261 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_signature_stamping.py +466 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_soql_loader.py +501 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_summarize_tree.py +241 -0
- package/skills/investigating-agentforce-architecture/scripts/tests/test_write_emit_ctx.py +480 -0
- package/skills/investigating-agentforce-architecture/tools/emit_env.py +157 -0
- package/skills/investigating-agentforce-architecture/tools/emit_result.py +262 -0
- package/skills/investigating-agentforce-architecture/tools/sanitize.py +33 -0
- package/skills/investigating-agentforce-architecture/tools/write_emit_ctx.py +332 -0
- package/skills/investigating-agentforce-d360/README.md +123 -0
- package/skills/investigating-agentforce-d360/SKILL.md +163 -0
- package/skills/investigating-agentforce-d360/assets/dc/app_generation.sql +51 -0
- package/skills/investigating-agentforce-d360/assets/dc/content_category.sql +44 -0
- package/skills/investigating-agentforce-d360/assets/dc/content_quality.sql +41 -0
- package/skills/investigating-agentforce-d360/assets/dc/discover_sessions.sql +36 -0
- package/skills/investigating-agentforce-d360/assets/dc/feedback.sql +47 -0
- package/skills/investigating-agentforce-d360/assets/dc/feedback_details.sql +38 -0
- package/skills/investigating-agentforce-d360/assets/dc/gateway_records.sql +45 -0
- package/skills/investigating-agentforce-d360/assets/dc/gateway_request_llm.sql +50 -0
- package/skills/investigating-agentforce-d360/assets/dc/gateway_request_metadata.sql +44 -0
- package/skills/investigating-agentforce-d360/assets/dc/gateway_request_tags.sql +42 -0
- package/skills/investigating-agentforce-d360/assets/dc/gateway_requests.sql +89 -0
- package/skills/investigating-agentforce-d360/assets/dc/gateway_responses.sql +43 -0
- package/skills/investigating-agentforce-d360/assets/dc/generations.sql +52 -0
- package/skills/investigating-agentforce-d360/assets/dc/interactions.sql +53 -0
- package/skills/investigating-agentforce-d360/assets/dc/messages.sql +53 -0
- package/skills/investigating-agentforce-d360/assets/dc/messaging_session.sql +37 -0
- package/skills/investigating-agentforce-d360/assets/dc/moment_interactions.sql +34 -0
- package/skills/investigating-agentforce-d360/assets/dc/moments.sql +39 -0
- package/skills/investigating-agentforce-d360/assets/dc/participants.sql +48 -0
- package/skills/investigating-agentforce-d360/assets/dc/sessions.sql +78 -0
- package/skills/investigating-agentforce-d360/assets/dc/steps.sql +64 -0
- package/skills/investigating-agentforce-d360/assets/dc/tag_associations.sql +46 -0
- package/skills/investigating-agentforce-d360/assets/dc/tag_definition_associations.sql +37 -0
- package/skills/investigating-agentforce-d360/assets/dc/tag_definitions.sql +50 -0
- package/skills/investigating-agentforce-d360/assets/dc/tags.sql +37 -0
- package/skills/investigating-agentforce-d360/assets/dc/telemetry_spans.sql +55 -0
- package/skills/investigating-agentforce-d360/references/artifacts.md +50 -0
- package/skills/investigating-agentforce-d360/references/dc_dmo_fields.md +823 -0
- package/skills/investigating-agentforce-d360/references/dc_pipeline_contract.md +608 -0
- package/skills/investigating-agentforce-d360/scripts/_shared/__init__.py +2 -0
- package/skills/investigating-agentforce-d360/scripts/_shared/cli_override.py +98 -0
- package/skills/investigating-agentforce-d360/scripts/_shared/fs_guard.py +334 -0
- package/skills/investigating-agentforce-d360/scripts/_shared/paths.py +155 -0
- package/skills/investigating-agentforce-d360/scripts/_shared/runtime.py +59 -0
- package/skills/investigating-agentforce-d360/scripts/_shared/sql.py +14 -0
- package/skills/investigating-agentforce-d360/scripts/assemble_dc.py +1624 -0
- package/skills/investigating-agentforce-d360/scripts/config.py +45 -0
- package/skills/investigating-agentforce-d360/scripts/dc.py +188 -0
- package/skills/investigating-agentforce-d360/scripts/discover_sessions.py +556 -0
- package/skills/investigating-agentforce-d360/scripts/fetch_dc.py +1045 -0
- package/skills/investigating-agentforce-d360/scripts/render_dc.py +1750 -0
- package/skills/investigating-agentforce-d360/scripts/resolve_session.py +264 -0
- package/skills/investigating-agentforce-d360/scripts/storage.py +92 -0
- package/skills/investigating-agentforce-d360/scripts/tests/__init__.py +0 -0
- package/skills/investigating-agentforce-d360/scripts/tests/_bootstrap.py +15 -0
- package/skills/investigating-agentforce-d360/scripts/tests/fixtures/__init__.py +0 -0
- package/skills/investigating-agentforce-d360/scripts/tests/fixtures/synthetic_session.py +424 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_bootstrap_and_mode.py +115 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct.py +220 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_gateway_direct_integration.py +158 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_helpers.py +287 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_assemble_dc_integration.py +247 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_dc_and_resolve_session.py +433 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions.py +458 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_discover_sessions_grep_ci.py +193 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_helpers.py +266 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_identity.py +528 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_main.py +251 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall.py +229 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_fetch_dc_waterfall_full.py +283 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_identity_coherence.py +327 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_branches.py +256 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_gateway_direct.py +130 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_helpers.py +291 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_integration.py +220 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_planner_llm_calls.py +284 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_render_dc_show_prompts_gating.py +215 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_from_disk.py +100 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_resolve_session_main.py +149 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_runtime_override.py +104 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape.py +95 -0
- package/skills/investigating-agentforce-d360/scripts/tests/test_session_shape_dropped_by_stdm.py +85 -0
- package/skills/managing-managed-event-subscription/SKILL.md +152 -0
- package/skills/managing-managed-event-subscription/assets/managed-event-subscription-template.xml +20 -0
- package/skills/managing-managed-event-subscription/references/delete-guide.md +57 -0
- package/skills/managing-managed-event-subscription/references/topic-name-formats.md +26 -0
- package/skills/managing-managed-event-subscription/references/update-constraints.md +30 -0
- package/skills/modeling-omnistudio-epc-catalog/SKILL.md +0 -1
- package/skills/observing-agentforce/SKILL.md +0 -1
- package/skills/orchestrating-datacloud/SKILL.md +0 -1
- package/skills/preparing-datacloud/SKILL.md +0 -1
- package/skills/querying-soql/SKILL.md +0 -1
- package/skills/retrieving-datacloud/SKILL.md +0 -1
- package/skills/running-apex-tests/SKILL.md +0 -1
- package/skills/running-code-analyzer/SKILL.md +0 -1
- package/skills/segmenting-datacloud/SKILL.md +0 -1
- package/skills/testing-agentforce/SKILL.md +0 -1
- package/skills/uplifting-components-to-slds2/SKILL.md +3 -2
- package/skills/uplifting-components-to-slds2/references/color-hooks-decision-guide.md +30 -9
- package/skills/uplifting-components-to-slds2/references/examples.md +24 -6
- package/skills/validating-slds/SKILL.md +262 -0
- package/skills/validating-slds/references/quality-checks.md +308 -0
- package/skills/validating-slds/references/report-format.md +302 -0
- package/skills/validating-slds/scripts/analyze-quality.cjs +521 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Component & Blueprint Selection
|
|
2
|
+
|
|
3
|
+
How to find the right SLDS artifact for a UI pattern.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Decision Flow
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
What framework?
|
|
11
|
+
├─ LWC → Check Lightning Base Component (LBC) first
|
|
12
|
+
│ ├─ LBC exists → Use it. Done.
|
|
13
|
+
│ └─ No LBC → Fall through to SLDS Blueprint
|
|
14
|
+
├─ React / Vue / Angular / vanilla → Skip LBC, go to SLDS Blueprint
|
|
15
|
+
└─ Any framework → No blueprint match? → Build custom with styling hooks
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Step 1: Check for LBC (LWC only)
|
|
19
|
+
|
|
20
|
+
Lightning Base Components are pre-built, accessible, themed LWC components.
|
|
21
|
+
|
|
22
|
+
**Always check first:** [Lightning Component Library](https://developer.salesforce.com/docs/component-library/overview/components)
|
|
23
|
+
|
|
24
|
+
Common LBCs and their use cases:
|
|
25
|
+
|
|
26
|
+
| Component | Use Case |
|
|
27
|
+
|-----------|----------|
|
|
28
|
+
| `lightning-button` | All button actions |
|
|
29
|
+
| `lightning-input` | Text, email, number, date inputs |
|
|
30
|
+
| `lightning-combobox` | Dropdown selection |
|
|
31
|
+
| `lightning-datatable` | Tabular data with sorting/selection |
|
|
32
|
+
| `lightning-card` | Content containers |
|
|
33
|
+
| `lightning-modal` | Dialog overlays |
|
|
34
|
+
| `lightning-icon` | SLDS icons |
|
|
35
|
+
| `lightning-layout` | Responsive grid layout |
|
|
36
|
+
|
|
37
|
+
If an LBC exists, use it. Do not build a custom version from blueprint markup.
|
|
38
|
+
|
|
39
|
+
## Step 2: Search SLDS Blueprints
|
|
40
|
+
|
|
41
|
+
Blueprints are HTML/CSS patterns that work in any framework. Use when no LBC exists or when not building in LWC.
|
|
42
|
+
|
|
43
|
+
### How to search
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Keyword search
|
|
47
|
+
node scripts/search-blueprints.cjs --search "dialog"
|
|
48
|
+
|
|
49
|
+
# Browse by category
|
|
50
|
+
node scripts/search-blueprints.cjs --category "Overlay"
|
|
51
|
+
|
|
52
|
+
# Get full details for a specific blueprint
|
|
53
|
+
node scripts/search-blueprints.cjs --name "modals"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Blueprint categories
|
|
57
|
+
|
|
58
|
+
| Category | Examples |
|
|
59
|
+
|----------|----------|
|
|
60
|
+
| Layout | Cards, Tiles, Page Headers |
|
|
61
|
+
| Forms | Input, Select, Combobox, Checkbox, Radio, Textarea |
|
|
62
|
+
| Navigation | Tabs, Vertical Navigation, Breadcrumbs, Path |
|
|
63
|
+
| Data Display | Data Tables, Trees, Activity Timeline |
|
|
64
|
+
| Feedback | Alert, Toast, Scoped Notifications, Spinners |
|
|
65
|
+
| Overlay | Modals, Popovers, Tooltips, Prompt |
|
|
66
|
+
| Media | Avatar, Carousel, Files, Illustration |
|
|
67
|
+
| Actions | Buttons, Button Groups, Button Icons, Menus |
|
|
68
|
+
|
|
69
|
+
### How to read a blueprint YAML
|
|
70
|
+
|
|
71
|
+
Each file in `metadata/blueprints/components/{name}.yaml` contains:
|
|
72
|
+
|
|
73
|
+
```yaml
|
|
74
|
+
name: "Modals"
|
|
75
|
+
description: "Dialog overlays..."
|
|
76
|
+
category: "Overlay"
|
|
77
|
+
slds_classes:
|
|
78
|
+
root: "slds-modal" # The BEM root class to apply
|
|
79
|
+
elements: # Child element classes
|
|
80
|
+
- class: "slds-modal__header"
|
|
81
|
+
purpose: "Contains title and close action"
|
|
82
|
+
modifiers: # Size/style variants
|
|
83
|
+
- class: "slds-modal_large"
|
|
84
|
+
usage: "For complex forms or detailed content"
|
|
85
|
+
states: # State classes
|
|
86
|
+
- class: "slds-fade-in-open"
|
|
87
|
+
accessibility: # Required ARIA attributes
|
|
88
|
+
roles: ["dialog"]
|
|
89
|
+
attributes: ["aria-modal", "aria-labelledby"]
|
|
90
|
+
example_html: "..." # Reference markup
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Use the `root` class, add `elements` for structure, `modifiers` for variants, and follow `accessibility` requirements.
|
|
94
|
+
|
|
95
|
+
## Step 3: Custom with Styling Hooks
|
|
96
|
+
|
|
97
|
+
If no LBC or blueprint matches your need, build custom markup with SLDS styling hooks.
|
|
98
|
+
|
|
99
|
+
See [styling-decision-guide.md](styling-decision-guide.md) for how to apply hooks correctly.
|
|
100
|
+
|
|
101
|
+
Rules for custom components:
|
|
102
|
+
- Use custom class prefixes (`my-*`, `c-*`) -- never override `slds-*` classes
|
|
103
|
+
- Use `var(--slds-g-*, fallback)` for all themeable values
|
|
104
|
+
- Follow the blueprint naming pattern (BEM-like) for consistency
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Deep Reference
|
|
109
|
+
|
|
110
|
+
- Full blueprint details: `guidance/blueprints-index.md`
|
|
111
|
+
- All blueprint YAMLs: `metadata/blueprints/components/`
|
|
112
|
+
- LBC documentation: [Lightning Component Library](https://developer.salesforce.com/docs/component-library/overview/components)
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Icons Decision Guide
|
|
2
|
+
|
|
3
|
+
How to select and use SLDS icons correctly.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Icon Categories
|
|
8
|
+
|
|
9
|
+
SLDS provides 1,732 icons across 5 categories. Pick the right category first:
|
|
10
|
+
|
|
11
|
+
| Category | Purpose | Size | Example |
|
|
12
|
+
|----------|---------|------|---------|
|
|
13
|
+
| **utility** | UI affordances: actions, navigation, status indicators | 16-24px | `utility:search`, `utility:close`, `utility:save` |
|
|
14
|
+
| **standard** | Object/entity representations | 48px | `standard:account`, `standard:contact`, `standard:opportunity` |
|
|
15
|
+
| **action** | Actions on objects, typically in button icons | 24px | `action:new_task`, `action:edit`, `action:delete` |
|
|
16
|
+
| **custom** | Custom object representations (custom1-custom113) | 48px | `custom:custom1`, `custom:custom42` |
|
|
17
|
+
| **doctype** | File type representations | 48px | `doctype:pdf`, `doctype:excel`, `doctype:word` |
|
|
18
|
+
|
|
19
|
+
### Category Decision Tree
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
What does the icon represent?
|
|
23
|
+
├─ A UI control or indicator? → utility
|
|
24
|
+
├─ A Salesforce object or entity? → standard
|
|
25
|
+
├─ An action the user can take? → action
|
|
26
|
+
├─ A custom object? → custom
|
|
27
|
+
└─ A file type? → doctype
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## How to Search
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Semantic search with synonym matching
|
|
36
|
+
node scripts/search-icons.cjs --query "save button"
|
|
37
|
+
|
|
38
|
+
# Filter by category
|
|
39
|
+
node scripts/search-icons.cjs --query "user" --category "standard"
|
|
40
|
+
|
|
41
|
+
# List all categories
|
|
42
|
+
node scripts/search-icons.cjs --list-categories
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The search engine matches against icon names, synonyms, and descriptions. Multi-word queries match across all fields with relevance scoring.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Usage in LWC
|
|
50
|
+
|
|
51
|
+
Use `<lightning-icon>` for display and `<lightning-button-icon>` for interactive icons:
|
|
52
|
+
|
|
53
|
+
```html
|
|
54
|
+
<!-- Display icon -->
|
|
55
|
+
<lightning-icon
|
|
56
|
+
icon-name="utility:search"
|
|
57
|
+
alternative-text="Search"
|
|
58
|
+
size="small">
|
|
59
|
+
</lightning-icon>
|
|
60
|
+
|
|
61
|
+
<!-- Interactive icon button -->
|
|
62
|
+
<lightning-button-icon
|
|
63
|
+
icon-name="utility:close"
|
|
64
|
+
alternative-text="Close dialog"
|
|
65
|
+
title="Close"
|
|
66
|
+
onclick={handleClose}>
|
|
67
|
+
</lightning-button-icon>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Size options
|
|
71
|
+
|
|
72
|
+
| Size | Use for |
|
|
73
|
+
|------|---------|
|
|
74
|
+
| `xx-small` | Inline with text |
|
|
75
|
+
| `x-small` | Dense layouts |
|
|
76
|
+
| `small` | Default for utility icons |
|
|
77
|
+
| `medium` | Default for standard/custom icons |
|
|
78
|
+
| `large` | Hero/feature icons |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Usage in Non-LWC (Blueprint Markup)
|
|
83
|
+
|
|
84
|
+
Use SVG with SLDS icon classes:
|
|
85
|
+
|
|
86
|
+
```html
|
|
87
|
+
<span class="slds-icon_container slds-icon-utility-search" title="Search">
|
|
88
|
+
<svg class="slds-icon slds-icon_small" aria-hidden="true">
|
|
89
|
+
<use xlink:href="/assets/icons/utility-sprite/svg/symbols.svg#search"></use>
|
|
90
|
+
</svg>
|
|
91
|
+
<span class="slds-assistive-text">Search</span>
|
|
92
|
+
</span>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Key classes:
|
|
96
|
+
- `slds-icon_container` -- wrapper with background color
|
|
97
|
+
- `slds-icon` -- the SVG element
|
|
98
|
+
- `slds-icon_small` / `slds-icon_large` -- sizing
|
|
99
|
+
- `slds-icon-utility-*` / `slds-icon-standard-*` -- category-specific containers
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Accessibility Rules
|
|
104
|
+
|
|
105
|
+
**Every icon must have an accessibility story.**
|
|
106
|
+
|
|
107
|
+
| Scenario | LWC | Non-LWC |
|
|
108
|
+
|----------|-----|---------|
|
|
109
|
+
| **Meaningful icon** (conveys information) | `alternative-text="Description"` | `<span class="slds-assistive-text">Description</span>` |
|
|
110
|
+
| **Decorative icon** (next to text label) | `alternative-text=""` | `aria-hidden="true"` on SVG |
|
|
111
|
+
| **Interactive icon** (button) | `alternative-text="Action"` + `title="Tooltip"` | `aria-label="Action"` on button |
|
|
112
|
+
|
|
113
|
+
**Rules:**
|
|
114
|
+
- Never leave `alternative-text` undefined on `<lightning-icon>` -- set it to empty string `""` if decorative
|
|
115
|
+
- `title` provides a visible tooltip; `alternative-text` provides screen reader text
|
|
116
|
+
- Icon-only buttons always need `alternative-text` describing the action, not the icon
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Deep Reference
|
|
121
|
+
|
|
122
|
+
- Icon implementation guidance: `guidance/icons-guidance.md`
|
|
123
|
+
- Icons overview: `guidance/overviews/icons.md`
|
|
124
|
+
- Full icon metadata (1,732 icons with synonyms): `metadata/icon-metadata.json`
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# Styling Decision Guide
|
|
2
|
+
|
|
3
|
+
How to apply SLDS styling correctly using hooks, utilities, and custom CSS.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Styling Hook Hierarchy
|
|
8
|
+
|
|
9
|
+
SLDS hooks follow a three-tier naming system:
|
|
10
|
+
|
|
11
|
+
| Tier | Prefix | Use |
|
|
12
|
+
|------|--------|-----|
|
|
13
|
+
| **Global Semantic** | `--slds-g-*` | System-wide. Use these by default. |
|
|
14
|
+
| **Shared** | `--slds-s-*` | Private/internal. **DO NOT USE.** Reserved for Salesforce. |
|
|
15
|
+
| **Component** | `--slds-c-*` | Scoped to specific LBCs. Use to customize LBC appearance. |
|
|
16
|
+
|
|
17
|
+
**Rule: Always use `--slds-g-*` hooks unless `--slds-c-*` hooks exist for your specific LBC.**
|
|
18
|
+
|
|
19
|
+
### Discovering `--slds-c-*` Hooks
|
|
20
|
+
|
|
21
|
+
Component hooks are scoped to specific Lightning Base Components. To find available hooks for an LBC:
|
|
22
|
+
|
|
23
|
+
1. **Inspect the LBC docs**: Check the component's [Lightning Component Library](https://developer.salesforce.com/docs/component-library/overview/components) page — look for "Styling Hooks" or "Custom Properties" sections
|
|
24
|
+
2. **Browser DevTools**: Render the LBC, inspect the element, and look for `--slds-c-*` properties in the computed styles
|
|
25
|
+
3. **Known patterns**: Component hooks follow `--slds-c-{component}-{property}-{state}` naming, e.g., `--slds-c-button-success-shadow-hover`
|
|
26
|
+
|
|
27
|
+
There is no centralized metadata file for `--slds-c-*` hooks — they are documented per-component. Some examples exist in `guidance/overviews/shadows.md` and `guidance/styling-hooks/index.md`.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Hook Syntax
|
|
32
|
+
|
|
33
|
+
Always use `var()` with a fallback value:
|
|
34
|
+
|
|
35
|
+
```css
|
|
36
|
+
.my-card {
|
|
37
|
+
background: var(--slds-g-color-surface-1, #ffffff);
|
|
38
|
+
padding: var(--slds-g-spacing-4, 1rem);
|
|
39
|
+
border-radius: var(--slds-g-radius-border-2, 0.25rem);
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Never reassign hook values.** Salesforce controls them and can change them.
|
|
44
|
+
|
|
45
|
+
### Choosing Fallback Values
|
|
46
|
+
|
|
47
|
+
The fallback in `var(--slds-g-*, fallback)` is used when the hook isn't loaded (e.g., outside Lightning Experience, in static HTML previews, or during SSR). Use the **light-mode default** value:
|
|
48
|
+
|
|
49
|
+
1. **Look up the value in `metadata/hooks-index.json`** — each hook has a `value` field showing its resolved default
|
|
50
|
+
2. **Use the search script**: `node scripts/search-hooks.cjs --prefix "--slds-g-color-surface-"` shows values
|
|
51
|
+
3. **Common defaults**: `#ffffff` for surfaces, `#181818` for text, `1rem` for spacing-4, `0.25rem` for radius-border-2
|
|
52
|
+
|
|
53
|
+
Always use the light-mode default. Dark-mode values are applied automatically when the hook is active — the fallback only matters when hooks aren't loaded at all.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Color: The 85-5-10 Rule
|
|
58
|
+
|
|
59
|
+
All SLDS UIs should maintain this approximate color distribution:
|
|
60
|
+
|
|
61
|
+
| % | Role | What to use |
|
|
62
|
+
|---|------|-------------|
|
|
63
|
+
| **85%** | Foundation | Surfaces, backgrounds, containers. Neutral colors: whites, grays. Hooks: `--slds-g-color-surface-*` |
|
|
64
|
+
| **5%** | Accents | Primary actions, selected states, key CTAs. Hooks: `--slds-g-color-accent-*` |
|
|
65
|
+
| **10%** | Expressive | Data viz, custom branding. Use sparingly. Hooks: `--slds-g-color-palette-*` |
|
|
66
|
+
|
|
67
|
+
### Color Role Selection
|
|
68
|
+
|
|
69
|
+
Before picking a hook, classify what the color is for:
|
|
70
|
+
|
|
71
|
+
| Role | Hook prefix | Examples |
|
|
72
|
+
|------|-------------|----------|
|
|
73
|
+
| Surface (backgrounds) | `--slds-g-color-surface-*` | Page bg, modal bg, top-level panels |
|
|
74
|
+
| Surface container (nested surfaces) | `--slds-g-color-surface-container-*` | Card bg, embedded panels, list items |
|
|
75
|
+
| On-surface (text on surfaces) | `--slds-g-color-on-surface-*` | Body text, headings, icons |
|
|
76
|
+
| Accent (emphasis) | `--slds-g-color-accent-*` | Primary emphasis, selected state text/icons |
|
|
77
|
+
| Accent container (accent backgrounds) | `--slds-g-color-accent-container-*` | Buttons, selected tabs, emphasized controls |
|
|
78
|
+
| Border | `--slds-g-color-border-*` | Dividers, card borders |
|
|
79
|
+
| Error | `--slds-g-color-error-*` | Validation errors |
|
|
80
|
+
| Success | `--slds-g-color-success-*` | Confirmation states |
|
|
81
|
+
| Warning | `--slds-g-color-warning-*` | Caution messages |
|
|
82
|
+
|
|
83
|
+
**Always pair surfaces with on-surfaces.** Example: `surface-1` background + `on-surface-2` text.
|
|
84
|
+
|
|
85
|
+
**CRITICAL:** All color hooks require a numbered variant. There is no unnumbered base form (e.g., `--slds-g-color-on-surface` does not exist -- use `on-surface-1`, `-2`, or `-3`):
|
|
86
|
+
|
|
87
|
+
| Variant | Emphasis | Use for |
|
|
88
|
+
|---------|----------|---------|
|
|
89
|
+
| `-1` | Low | Captions, placeholder text, de-emphasized content |
|
|
90
|
+
| `-2` | Medium | Body text, labels, standard content |
|
|
91
|
+
| `-3` | High | Page titles, headings, primary emphasis |
|
|
92
|
+
|
|
93
|
+
### How to search hooks
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# By prefix
|
|
97
|
+
node scripts/search-hooks.cjs --prefix "--slds-g-color-surface-"
|
|
98
|
+
|
|
99
|
+
# By category
|
|
100
|
+
node scripts/search-hooks.cjs --category "color"
|
|
101
|
+
|
|
102
|
+
# By CSS property
|
|
103
|
+
node scripts/search-hooks.cjs --property "background-color"
|
|
104
|
+
|
|
105
|
+
# Find hook for a hardcoded value
|
|
106
|
+
node scripts/search-hooks.cjs --value "#0176d3"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Spacing: 4-Point Grid
|
|
112
|
+
|
|
113
|
+
SLDS uses a numbered scale, not named sizes:
|
|
114
|
+
|
|
115
|
+
| Hook | Value | Pixels | Use for |
|
|
116
|
+
|------|-------|--------|---------|
|
|
117
|
+
| `--slds-g-spacing-1` | 0.25rem | 4px | Tight inline spacing |
|
|
118
|
+
| `--slds-g-spacing-2` | 0.5rem | 8px | Between related items |
|
|
119
|
+
| `--slds-g-spacing-3` | 0.75rem | 12px | Small gaps |
|
|
120
|
+
| `--slds-g-spacing-4` | 1rem | 16px | Standard padding/margin |
|
|
121
|
+
| `--slds-g-spacing-5` | 1.5rem | 24px | Section gaps |
|
|
122
|
+
| `--slds-g-spacing-6` | 2rem | 32px | Between sections |
|
|
123
|
+
| `--slds-g-spacing-8` | 3rem | 48px | Large separations |
|
|
124
|
+
| `--slds-g-spacing-12` | 5rem | 80px | Page-level spacing |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Typography Hooks (Naming Exception)
|
|
129
|
+
|
|
130
|
+
Typography hooks break from the `{prefix}-{number}` pattern used by spacing and color:
|
|
131
|
+
|
|
132
|
+
| Hook | Pattern | Use |
|
|
133
|
+
|------|---------|-----|
|
|
134
|
+
| `--slds-g-font-size-base` | Single value | Base application font size (13px / 0.8125rem) |
|
|
135
|
+
| `--slds-g-font-scale-*` | Numbered scale | All other sizes: `font-scale-1` (14px) through `font-scale-10` |
|
|
136
|
+
| `--slds-g-font-scale-neg-*` | Negative scale | Smaller sizes: `font-scale-neg-1` through `neg-4` |
|
|
137
|
+
| `--slds-g-font-scale-var-*` | Density-aware | Adapts to compact/comfy display density settings |
|
|
138
|
+
|
|
139
|
+
**Common mappings:**
|
|
140
|
+
|
|
141
|
+
| Size | Hook | Approximate value |
|
|
142
|
+
|------|------|-------------------|
|
|
143
|
+
| Small body text | `--slds-g-font-scale-neg-1` | 12px |
|
|
144
|
+
| Default body | `--slds-g-font-size-base` | 13px |
|
|
145
|
+
| Larger body | `--slds-g-font-scale-1` | 14px |
|
|
146
|
+
| Subheading | `--slds-g-font-scale-2` | 16px |
|
|
147
|
+
| Heading | `--slds-g-font-scale-4` | 20px |
|
|
148
|
+
| Page title | `--slds-g-font-scale-6` | 28px |
|
|
149
|
+
| Display | `--slds-g-font-scale-8` | 40px |
|
|
150
|
+
|
|
151
|
+
**CRITICAL:** `--slds-g-font-size-3`, `--slds-g-font-size-4`, etc. do NOT exist. Only `--slds-g-font-size-base` is valid. For numbered sizes, use `--slds-g-font-scale-*`.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## When Hooks Don't Exist
|
|
156
|
+
|
|
157
|
+
Not all CSS properties have styling hooks. Not all values have hook equivalents either (e.g., `min-width: 7rem` for label alignment). Use this decision tree:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
Does a hook exist for this property?
|
|
161
|
+
├─ YES → Use it: var(--slds-g-*, fallback)
|
|
162
|
+
├─ NO → Is there a utility class?
|
|
163
|
+
│ ├─ YES → Use the utility class
|
|
164
|
+
│ └─ NO → Use minimal custom CSS with:
|
|
165
|
+
│ 1. Custom class prefix (my-*, c-*)
|
|
166
|
+
│ 2. Use hooks for related values (e.g., hook colors in gradients)
|
|
167
|
+
│ 3. Document why no hook/utility exists
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Properties without hooks (use custom CSS):**
|
|
171
|
+
- `transform`, `transition` (use `--slds-g-duration-*` for timing only)
|
|
172
|
+
- `z-index` (use SLDS utility classes when possible)
|
|
173
|
+
- `cursor`, `overflow`
|
|
174
|
+
- Complex gradients (use hook colors within gradient syntax)
|
|
175
|
+
|
|
176
|
+
**Values without hook equivalents (acceptable hardcoding):**
|
|
177
|
+
|
|
178
|
+
Some dimension values have no SLDS hook (e.g., `min-width: 7rem` for label alignment, `max-height: 20rem` for scrollable panels). This is acceptable when:
|
|
179
|
+
1. No SLDS sizing hook or utility class covers the value
|
|
180
|
+
2. A comment explains the value is intentional
|
|
181
|
+
3. SLDS grid utilities (`slds-size_*`) were considered as alternatives
|
|
182
|
+
|
|
183
|
+
```css
|
|
184
|
+
.c-field-label {
|
|
185
|
+
/* No SLDS hook exists for this width; intentional for label alignment */
|
|
186
|
+
min-width: 7rem;
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Example -- gradient with hook colors:**
|
|
191
|
+
```css
|
|
192
|
+
.my-gradient-bg {
|
|
193
|
+
background: linear-gradient(
|
|
194
|
+
to bottom,
|
|
195
|
+
var(--slds-g-color-surface-1, #ffffff),
|
|
196
|
+
var(--slds-g-color-surface-2, #f3f3f3)
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Hook vs. Utility vs. Custom CSS
|
|
204
|
+
|
|
205
|
+
| Need | First choice | Fallback |
|
|
206
|
+
|------|-------------|----------|
|
|
207
|
+
| Color (bg, text, border) | Hook: `var(--slds-g-color-*)` | -- |
|
|
208
|
+
| Spacing (margin, padding) | Utility: `slds-m-*`, `slds-p-*` | Hook: `var(--slds-g-spacing-*)` |
|
|
209
|
+
| Layout (grid, columns) | Utility: `slds-grid`, `slds-col` | -- |
|
|
210
|
+
| Typography (size) | Hook: `var(--slds-g-font-scale-*)` or `var(--slds-g-font-size-base)` | Utility: `slds-text-*` |
|
|
211
|
+
| Typography (weight) | Hook: `var(--slds-g-font-weight-*)` | -- |
|
|
212
|
+
| Visibility (show/hide) | Utility: `slds-hide`, `slds-show` | -- |
|
|
213
|
+
| Borders (width, radius) | Hook: `var(--slds-g-radius-*)` | Utility: `slds-border-*` |
|
|
214
|
+
| Shadows | Hook: `var(--slds-g-shadow-*)` | -- |
|
|
215
|
+
| Anything else | Custom CSS with custom class prefix | Use hook values where possible |
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Deep Reference
|
|
220
|
+
|
|
221
|
+
- Styling hooks index: `guidance/styling-hooks/index.md`
|
|
222
|
+
- Color hooks deep dive: `guidance/styling-hooks/color/`
|
|
223
|
+
- Color overview (85-5-10 rule): `guidance/overviews/color.md`
|
|
224
|
+
- Spacing overview: `guidance/overviews/spacing.md`
|
|
225
|
+
- Typography hooks: `guidance/styling-hooks/typography.md`
|
|
226
|
+
- Borders overview: `guidance/overviews/borders.md`
|
|
227
|
+
- Shadows overview: `guidance/overviews/shadows.md`
|
|
228
|
+
- All 523 hooks searchable: `metadata/hooks-index.json`
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Utilities Quick Reference
|
|
2
|
+
|
|
3
|
+
SLDS utility classes for rapid styling. 1,147 classes across 27 categories.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## When to Use Utilities vs. Hooks
|
|
8
|
+
|
|
9
|
+
| Need | Use utility class | Use hook |
|
|
10
|
+
|------|------------------|----------|
|
|
11
|
+
| Margin/padding | `slds-m-bottom_medium`, `slds-p-around_small` | `var(--slds-g-spacing-4)` in custom CSS |
|
|
12
|
+
| Grid layout | `slds-grid`, `slds-col`, `slds-size_*` | -- |
|
|
13
|
+
| Visibility | `slds-hide`, `slds-show_*` | -- |
|
|
14
|
+
| Text styling | `slds-text-heading_medium` | `var(--slds-g-font-*)` |
|
|
15
|
+
| Borders | `slds-border_bottom` | `var(--slds-g-color-border-*)` |
|
|
16
|
+
| Colors | `slds-theme_*` | `var(--slds-g-color-*)` |
|
|
17
|
+
|
|
18
|
+
**Prefer utility classes for layout and spacing in markup.** Use hooks in custom CSS for colors, typography values, and dynamic theming.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Most-Used Categories
|
|
23
|
+
|
|
24
|
+
### Grid (`slds-grid`, 80 classes)
|
|
25
|
+
|
|
26
|
+
```html
|
|
27
|
+
<div class="slds-grid slds-wrap slds-gutters">
|
|
28
|
+
<div class="slds-col slds-size_1-of-1 slds-medium-size_1-of-2 slds-large-size_1-of-3">
|
|
29
|
+
<!-- Column content -->
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Key classes:
|
|
35
|
+
- `slds-grid` -- flex container
|
|
36
|
+
- `slds-wrap` -- allow wrapping
|
|
37
|
+
- `slds-gutters` -- column spacing
|
|
38
|
+
- `slds-col` -- flex column
|
|
39
|
+
- `slds-size_1-of-N` -- fractional width (1-of-1 through 1-of-12)
|
|
40
|
+
- `slds-medium-size_*`, `slds-large-size_*` -- responsive breakpoints
|
|
41
|
+
- `slds-grid_vertical` -- column direction
|
|
42
|
+
- `slds-grid_align-center` -- center alignment
|
|
43
|
+
|
|
44
|
+
### Margin (`slds-m-*`, 119 classes)
|
|
45
|
+
|
|
46
|
+
Pattern: `slds-m-{direction}_{size}`
|
|
47
|
+
|
|
48
|
+
| Direction | Class pattern |
|
|
49
|
+
|-----------|--------------|
|
|
50
|
+
| All | `slds-m-around_*` |
|
|
51
|
+
| Top | `slds-m-top_*` |
|
|
52
|
+
| Bottom | `slds-m-bottom_*` |
|
|
53
|
+
| Left | `slds-m-left_*` |
|
|
54
|
+
| Right | `slds-m-right_*` |
|
|
55
|
+
| Vertical | `slds-m-vertical_*` |
|
|
56
|
+
| Horizontal | `slds-m-horizontal_*` |
|
|
57
|
+
|
|
58
|
+
Sizes: `none`, `xxx-small`, `xx-small`, `x-small`, `small`, `medium`, `large`, `x-large`, `xx-large`
|
|
59
|
+
|
|
60
|
+
### Padding (`slds-p-*`, 120 classes)
|
|
61
|
+
|
|
62
|
+
Same pattern as margin: `slds-p-{direction}_{size}`
|
|
63
|
+
|
|
64
|
+
### Sizing (`slds-size_*`, 613 classes)
|
|
65
|
+
|
|
66
|
+
Fractional widths for columns and elements:
|
|
67
|
+
- `slds-size_1-of-2` -- 50%
|
|
68
|
+
- `slds-size_1-of-3` -- 33.3%
|
|
69
|
+
- `slds-size_2-of-3` -- 66.6%
|
|
70
|
+
- `slds-size_1-of-4` -- 25%
|
|
71
|
+
- `slds-size_full` -- 100%
|
|
72
|
+
|
|
73
|
+
Responsive: `slds-small-size_*`, `slds-medium-size_*`, `slds-large-size_*`
|
|
74
|
+
|
|
75
|
+
### Typography (`slds-text-*`, 24 classes)
|
|
76
|
+
|
|
77
|
+
- `slds-text-heading_large` -- large heading
|
|
78
|
+
- `slds-text-heading_medium` -- medium heading
|
|
79
|
+
- `slds-text-heading_small` -- small heading
|
|
80
|
+
- `slds-text-body_regular` -- body text
|
|
81
|
+
- `slds-text-body_small` -- small body text
|
|
82
|
+
- `slds-text-title` -- uppercase label
|
|
83
|
+
- `slds-text-color_default` -- default text color
|
|
84
|
+
- `slds-text-color_weak` -- secondary text color
|
|
85
|
+
|
|
86
|
+
### Visibility
|
|
87
|
+
|
|
88
|
+
- `slds-hide` -- hide element (`display: none`)
|
|
89
|
+
- `slds-show` -- show element (`display: block`)
|
|
90
|
+
- `slds-show_inline` -- show inline
|
|
91
|
+
- `slds-hidden` -- hidden via `visibility: hidden`; occupies space and is not a screen-reader helper
|
|
92
|
+
- `slds-assistive-text` -- screen-reader only text
|
|
93
|
+
|
|
94
|
+
Use `slds-assistive-text`, not `slds-hidden`, when content should remain available to assistive technology.
|
|
95
|
+
|
|
96
|
+
### Truncation
|
|
97
|
+
|
|
98
|
+
- `slds-truncate` -- single-line truncation with ellipsis
|
|
99
|
+
- `slds-line-clamp_*` -- multi-line truncation (2, 3, 4, 5 lines)
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## How to Search
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Browse all categories
|
|
107
|
+
node scripts/search-utilities.cjs --category "all"
|
|
108
|
+
|
|
109
|
+
# Browse a specific category
|
|
110
|
+
node scripts/search-utilities.cjs --category "grid"
|
|
111
|
+
|
|
112
|
+
# Search by class name
|
|
113
|
+
node scripts/search-utilities.cjs --search "slds-m-bottom"
|
|
114
|
+
|
|
115
|
+
# Wildcard pattern
|
|
116
|
+
node scripts/search-utilities.cjs --pattern "slds-p-around_*"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Deep Reference
|
|
122
|
+
|
|
123
|
+
- Utility index: `guidance/utilities/index.md`
|
|
124
|
+
- Individual category guides: `guidance/utilities/{category}.md`
|
|
125
|
+
- Full metadata (1,147 classes): `metadata/utilities-index.json`
|