@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,327 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.hooks
|
|
3
|
+
title: SLDS Styling Hooks - Agent Guidance
|
|
4
|
+
description: Comprehensive guidance for using SLDS styling hooks in component development
|
|
5
|
+
summary: "Entry point for all styling hooks guidance. Covers the three-tier hook hierarchy (global, shared, component), core categories (color, spacing, typography, shadows, borders), usage patterns, decision trees, and accessibility requirements. Use styling hooks instead of hard-coded values for theme-aware, maintainable components."
|
|
6
|
+
|
|
7
|
+
artifact_type: index
|
|
8
|
+
domain: styling-hooks
|
|
9
|
+
|
|
10
|
+
content_format: structured
|
|
11
|
+
complexity: intermediate
|
|
12
|
+
audience: [implementer]
|
|
13
|
+
|
|
14
|
+
tasks: [choose, implement, troubleshoot]
|
|
15
|
+
|
|
16
|
+
children:
|
|
17
|
+
- slds.guidance.hooks.color
|
|
18
|
+
- slds.guidance.hooks.typography
|
|
19
|
+
- slds.guidance.hooks.spacing
|
|
20
|
+
- slds.guidance.hooks.borders
|
|
21
|
+
- slds.guidance.hooks.shadows
|
|
22
|
+
|
|
23
|
+
refs:
|
|
24
|
+
- slds.guidance.hooks.shadows
|
|
25
|
+
- slds.guidance.hooks.borders
|
|
26
|
+
tags: [styling-hooks, index, color, spacing, typography, shadows, borders, theming]
|
|
27
|
+
keywords: [styling hooks, CSS custom properties, theming, accessibility, design tokens, SLDS]
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# SLDS Styling Hooks: Guidance for Coding Agents
|
|
31
|
+
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
The Salesforce Lightning Design System (SLDS) styling hooks are CSS custom properties that provide a theme-aware, maintainable styling system. When generating or optimizing SLDS components, **always use styling hooks instead of hard-coded values** to ensure components adapt automatically to:
|
|
35
|
+
|
|
36
|
+
- Brand themes and customizations
|
|
37
|
+
- Light/dark mode switches
|
|
38
|
+
- Density settings (compact, comfy, spacious)
|
|
39
|
+
- Accessibility requirements
|
|
40
|
+
- Future design system updates
|
|
41
|
+
|
|
42
|
+
**Critical Rule:** Reference styling hooks using `var()` — never reassign their values. Salesforce controls these values and can change them at any time.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Styling Hook Hierarchy
|
|
47
|
+
|
|
48
|
+
SLDS styling hooks follow a three-tier naming convention:
|
|
49
|
+
|
|
50
|
+
1. **Global Semantic** (`--slds-g-*`): System-wide hooks for universal use across all components
|
|
51
|
+
2. **Shared** (`--slds-s-*`): Private/internal hooks — **DO NOT USE** (reserved for Salesforce)
|
|
52
|
+
3. **Component-Specific** (`--slds-c-*`): Hooks scoped to individual component types for fine-tuning
|
|
53
|
+
|
|
54
|
+
**Always use global hooks (`--slds-g-*`) unless component-specific hooks exist for your use case.**
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Core Categories
|
|
59
|
+
|
|
60
|
+
### 1. Color Hooks (`--slds-g-color-*`)
|
|
61
|
+
|
|
62
|
+
SLDS provides a comprehensive color system organized into three tiers:
|
|
63
|
+
|
|
64
|
+
#### **Tier 1: Semantic UI Colors (PREFERRED)**
|
|
65
|
+
|
|
66
|
+
Purpose-driven colors that automatically adapt to themes and modes:
|
|
67
|
+
|
|
68
|
+
- **Surface** (`surface-*`): Page backgrounds, panels, modal overlays
|
|
69
|
+
- **Container** (`container-*`): Buttons, cards, tabs, input fields
|
|
70
|
+
- **Accent** (`accent-*`): Brand emphasis and selection states
|
|
71
|
+
- **Border** (`border-*`): Component borders, dividers, separators
|
|
72
|
+
- **Feedback** (`feedback-*`): Alerts, notifications, validation states
|
|
73
|
+
- **On-Colors** (`on-*`): Text and icons on colored backgrounds
|
|
74
|
+
|
|
75
|
+
#### **Tier 2: System Colors**
|
|
76
|
+
|
|
77
|
+
Accessible, system-wide colors for edge cases where semantic colors don't apply.
|
|
78
|
+
|
|
79
|
+
#### **Tier 3: Palette Colors (Use Sparingly)**
|
|
80
|
+
|
|
81
|
+
Raw color values for data visualization and custom scenarios.
|
|
82
|
+
|
|
83
|
+
> **💡 Detailed color guidance:** See [Color Styling Hooks Index](ref:slds.guidance.hooks.color) for the complete color system documentation.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### 2. Spacing Hooks (`--slds-g-spacing-*`)
|
|
88
|
+
|
|
89
|
+
SLDS uses a numbered scale (NOT named like "small/medium/large"):
|
|
90
|
+
|
|
91
|
+
| Hook Name | Value | Pixels | Legacy Equivalent |
|
|
92
|
+
| --------------------- | ------- | ------ | ----------------- |
|
|
93
|
+
| `--slds-g-spacing-1` | 0.25rem | 4px | xx-small |
|
|
94
|
+
| `--slds-g-spacing-2` | 0.5rem | 8px | x-small |
|
|
95
|
+
| `--slds-g-spacing-3` | 0.75rem | 12px | small |
|
|
96
|
+
| `--slds-g-spacing-4` | 1rem | 16px | medium |
|
|
97
|
+
| `--slds-g-spacing-5` | 1.5rem | 24px | large |
|
|
98
|
+
| `--slds-g-spacing-6` | 2rem | 32px | x-large |
|
|
99
|
+
| `--slds-g-spacing-7` | 2.5rem | 40px | xx-large |
|
|
100
|
+
| `--slds-g-spacing-8` | 3rem | 48px | xxx-large |
|
|
101
|
+
| `--slds-g-spacing-9` | 3.5rem | 56px | - |
|
|
102
|
+
| `--slds-g-spacing-10` | 4rem | 64px | - |
|
|
103
|
+
| `--slds-g-spacing-11` | 4.5rem | 72px | - |
|
|
104
|
+
| `--slds-g-spacing-12` | 5rem | 80px | - |
|
|
105
|
+
|
|
106
|
+
**Usage:**
|
|
107
|
+
|
|
108
|
+
```css
|
|
109
|
+
/* Use numbered hooks - NOT named ones */
|
|
110
|
+
margin: var(--slds-g-spacing-4); /* ✅ Correct */
|
|
111
|
+
padding: var(--slds-g-spacing-2) var(--slds-g-spacing-4); /* ✅ Correct */
|
|
112
|
+
|
|
113
|
+
/* DON'T use named hooks - they don't exist */
|
|
114
|
+
margin: var(--slds-g-spacing-medium); /* ❌ Wrong - hook doesn't exist */
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
> **💡 Detailed spacing guidance:** See [Spacing and Sizing Hooks](ref:slds.guidance.hooks.spacing) for complete documentation.
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
### 3. Typography Hooks (`--slds-g-font-*`)
|
|
122
|
+
|
|
123
|
+
#### Font Families
|
|
124
|
+
|
|
125
|
+
- `--slds-g-font-family` - Default font family
|
|
126
|
+
- `--slds-g-font-family-base` - Base font family
|
|
127
|
+
- `--slds-g-font-family-monospace` - For code snippets
|
|
128
|
+
|
|
129
|
+
#### Font Weights (Numbered 1-7)
|
|
130
|
+
|
|
131
|
+
| Hook Name | Typical Value | Common Name |
|
|
132
|
+
| ------------------------ | ------------- | ----------- |
|
|
133
|
+
| `--slds-g-font-weight-1` | 300 | Light |
|
|
134
|
+
| `--slds-g-font-weight-2` | 300 | Light |
|
|
135
|
+
| `--slds-g-font-weight-3` | 400 | Regular |
|
|
136
|
+
| `--slds-g-font-weight-4` | 400 | Regular |
|
|
137
|
+
| `--slds-g-font-weight-5` | 500 | Medium |
|
|
138
|
+
| `--slds-g-font-weight-6` | 600 | Semi-Bold |
|
|
139
|
+
| `--slds-g-font-weight-7` | 700 | Bold |
|
|
140
|
+
|
|
141
|
+
**Usage:**
|
|
142
|
+
|
|
143
|
+
```css
|
|
144
|
+
/* Use numbered hooks */
|
|
145
|
+
font-weight: var(--slds-g-font-weight-7); /* Bold */
|
|
146
|
+
|
|
147
|
+
/* DON'T use named hooks - they don't exist */
|
|
148
|
+
font-weight: var(--slds-g-font-weight-bold); /* ❌ Wrong */
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
> **💡 Detailed typography guidance:** See [Typography Styling Hooks](ref:slds.guidance.hooks.typography) for complete documentation.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### 4. Other Styling Hooks
|
|
156
|
+
|
|
157
|
+
- **Sizing** (`--slds-g-sizing-*`): Component dimensions, icon sizes, border widths
|
|
158
|
+
- **Shadow** (`--slds-g-shadow-*`): Elevation and depth effects
|
|
159
|
+
- **Radius** (`--slds-g-radius-*`): Border radius values for rounded corners
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Usage Patterns
|
|
164
|
+
|
|
165
|
+
### Pattern 1: Interactive Component States (Accent Colors)
|
|
166
|
+
|
|
167
|
+
```css
|
|
168
|
+
.button {
|
|
169
|
+
background: var(--slds-g-color-accent-container-1);
|
|
170
|
+
color: var(--slds-g-color-on-accent-1);
|
|
171
|
+
border: 1px solid var(--slds-g-color-border-accent-1);
|
|
172
|
+
padding: var(--slds-g-spacing-2) var(--slds-g-spacing-4);
|
|
173
|
+
border-radius: var(--slds-g-radius-border-1);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.button:hover {
|
|
177
|
+
background: var(--slds-g-color-accent-container-2);
|
|
178
|
+
color: var(--slds-g-color-on-accent-2);
|
|
179
|
+
border-color: var(--slds-g-color-border-accent-2);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.button:active {
|
|
183
|
+
background: var(--slds-g-color-accent-container-3);
|
|
184
|
+
color: var(--slds-g-color-on-accent-3);
|
|
185
|
+
border-color: var(--slds-g-color-border-accent-3);
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Pattern 2: Semantic Surfaces
|
|
190
|
+
|
|
191
|
+
```css
|
|
192
|
+
.card {
|
|
193
|
+
background: var(--slds-g-color-surface-container-1);
|
|
194
|
+
color: var(--slds-g-color-on-surface-1);
|
|
195
|
+
padding: var(--slds-g-spacing-4);
|
|
196
|
+
border: 1px solid var(--slds-g-color-border-1);
|
|
197
|
+
border-radius: var(--slds-g-radius-border-1);
|
|
198
|
+
}
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Pattern 3: Feedback States
|
|
202
|
+
|
|
203
|
+
```css
|
|
204
|
+
.alert-error {
|
|
205
|
+
background: var(--slds-g-color-error-container-1);
|
|
206
|
+
color: var(--slds-g-color-on-error-1);
|
|
207
|
+
border-left: 4px solid var(--slds-g-color-error-1);
|
|
208
|
+
padding: var(--slds-g-spacing-2) var(--slds-g-spacing-4);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.alert-success {
|
|
212
|
+
background: var(--slds-g-color-success-container-1);
|
|
213
|
+
color: var(--slds-g-color-on-success-1);
|
|
214
|
+
border-left: 4px solid var(--slds-g-color-success-1);
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Decision Tree for Coding Agents
|
|
221
|
+
|
|
222
|
+
### Step 1: Check for Component-Specific Hooks
|
|
223
|
+
|
|
224
|
+
Search for `--slds-c-[component-name]-*` hooks first (highest specificity).
|
|
225
|
+
|
|
226
|
+
### Step 2: Use Semantic UI Colors (Preferred)
|
|
227
|
+
|
|
228
|
+
For colors, prefer semantic hooks:
|
|
229
|
+
|
|
230
|
+
- **Surface/Container**: `surface-1/2/3`, `surface-container-1/2/3`, `on-surface-1/2/3`
|
|
231
|
+
- **Accent**: `accent-1/2/3`, `accent-container-1/2/3`, `border-accent-1/2/3`, `on-accent-1/2/3`
|
|
232
|
+
- **Feedback**: `error-1`, `success-1`, `warning-1`, `info-1` with their container and on-color variants
|
|
233
|
+
|
|
234
|
+
### Step 3: Use Numbered Spacing & Typography
|
|
235
|
+
|
|
236
|
+
Always use numbered hooks where available:
|
|
237
|
+
|
|
238
|
+
```css
|
|
239
|
+
padding: var(--slds-g-spacing-4);
|
|
240
|
+
font-weight: var(--slds-g-font-weight-5);
|
|
241
|
+
font-size: var(--slds-g-font-size-base); /* Or use rem values */
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Critical Rules
|
|
247
|
+
|
|
248
|
+
### ✅ DO:
|
|
249
|
+
|
|
250
|
+
- Reference hooks with `var()`: `color: var(--slds-g-color-accent-1);`
|
|
251
|
+
- Use numbered spacing: `spacing-4` not `spacing-medium`
|
|
252
|
+
- Use numbered font weights: `font-weight-5` not `font-weight-medium`
|
|
253
|
+
- Prefer semantic UI colors over system colors and palette colors
|
|
254
|
+
- Pair container colors with on-colors for text/icons
|
|
255
|
+
- Follow the 50-point rule for text contrast, 40-point rule for UI elements
|
|
256
|
+
|
|
257
|
+
### ❌ DON'T:
|
|
258
|
+
|
|
259
|
+
- Reassign hook values: `--slds-g-color-accent-1: #ff0000;` ❌
|
|
260
|
+
- Use private hooks (`--_slds-*` or `--slds-s-*`)
|
|
261
|
+
- Use `@layer` syntax (reserved for Salesforce)
|
|
262
|
+
- Use named spacing hooks (`spacing-small`, `spacing-medium`) - they don't exist
|
|
263
|
+
- Use named font hooks (`font-weight-medium`, `font-weight-bold`) - they don't exist
|
|
264
|
+
- Hard-code values when hooks exist
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Accessibility Compliance
|
|
269
|
+
|
|
270
|
+
### Color Contrast Rules
|
|
271
|
+
|
|
272
|
+
| Separation | Contrast Ratio | Use Case |
|
|
273
|
+
| ---------- | -------------- | -------------------------- |
|
|
274
|
+
| 50 points | 4.5:1 | Text (WCAG AA) |
|
|
275
|
+
| 40 points | 3:1 | UI elements, borders |
|
|
276
|
+
|
|
277
|
+
### Automatic Compliance with Semantic Colors
|
|
278
|
+
|
|
279
|
+
When using semantic accent colors, SLDS ensures contrast automatically:
|
|
280
|
+
|
|
281
|
+
```css
|
|
282
|
+
/* ✅ ALWAYS COMPLIANT when using matching pairs */
|
|
283
|
+
.accent-button {
|
|
284
|
+
background: var(--slds-g-color-accent-container-1);
|
|
285
|
+
color: var(--slds-g-color-on-accent-1); /* Pre-validated pairing */
|
|
286
|
+
}
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Troubleshooting
|
|
292
|
+
|
|
293
|
+
### Problem: Hook name not working
|
|
294
|
+
|
|
295
|
+
**Solution:** Verify naming convention:
|
|
296
|
+
|
|
297
|
+
- Use numbered spacing: `spacing-4` NOT `spacing-medium`
|
|
298
|
+
- Use numbered fonts: `font-weight-5` NOT `font-weight-medium`
|
|
299
|
+
|
|
300
|
+
### Problem: Colors have poor contrast
|
|
301
|
+
|
|
302
|
+
**Solution:**
|
|
303
|
+
|
|
304
|
+
- Use semantic hooks with paired on-colors
|
|
305
|
+
- For palette: 50-point separation for text, 40-point for UI elements
|
|
306
|
+
|
|
307
|
+
### Problem: Spacing inconsistent
|
|
308
|
+
|
|
309
|
+
**Solution:**
|
|
310
|
+
|
|
311
|
+
- Use numbered spacing hooks: `spacing-2`, `spacing-4`
|
|
312
|
+
- Check spacing scale: 8px=spacing-2, 16px=spacing-4, 24px=spacing-5
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Summary
|
|
317
|
+
|
|
318
|
+
When generating or optimizing SLDS components:
|
|
319
|
+
|
|
320
|
+
1. **Use semantic hooks first** — Prefer semantic UI colors over system/palette
|
|
321
|
+
2. **Use numbered hooks** — spacing-4, font-weight-5 (NOT named like "medium")
|
|
322
|
+
3. **Font sizes** — Use `font-size-base` or rem values
|
|
323
|
+
4. **Follow the three-tier color system** — Semantic UI → System Colors → Expressive Palette
|
|
324
|
+
5. **Pair containers with on-colors** — Use `on-surface-*`, `on-accent-*`, `on-error-*` for text/icons
|
|
325
|
+
6. **Test accessibility** — Verify contrast ratios and keyboard navigation
|
|
326
|
+
|
|
327
|
+
**The goal:** Build theme-aware, accessible components that adapt automatically to brand customizations, light/dark modes, and density settings.
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.hooks.shadows
|
|
3
|
+
title: Shadows Styling Hooks
|
|
4
|
+
description: Styling hooks for depth shadows, directional shadows, and inset shadows
|
|
5
|
+
summary: "Guidance for shadow styling hooks that establish visual hierarchy and elevation. Covers depth shadows (1-4), directional shadows, and inset shadows for pressed/focused states."
|
|
6
|
+
|
|
7
|
+
artifact_type: reference
|
|
8
|
+
domain: styling-hooks
|
|
9
|
+
topic: shadows
|
|
10
|
+
|
|
11
|
+
content_format: structured
|
|
12
|
+
complexity: intermediate
|
|
13
|
+
audience: [implementer]
|
|
14
|
+
|
|
15
|
+
tasks: [choose, implement, troubleshoot]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.hooks
|
|
19
|
+
- slds.guidance.hooks.borders
|
|
20
|
+
- slds.guidance.hooks.color.surface
|
|
21
|
+
tags: [styling-hooks, shadows, elevation, depth, visual-hierarchy]
|
|
22
|
+
keywords: [shadow depth, elevation, stacking order, directional shadow, inset shadow, focus shadow]
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Shadows Styling Hooks
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
Shadow styling hooks establish visual hierarchy, depth, and elevation in UI interfaces. All shadow styling hooks are prefixed with `--slds-g-` for global scope, `--slds-s-` for shared scope, or `--slds-c-` for component scope, followed by the shadow name. For example, `--slds-g-shadow-1` is the styling hook for a shadow depth of 1.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## `--slds-g-shadow-*`
|
|
34
|
+
|
|
35
|
+
### Description
|
|
36
|
+
|
|
37
|
+
Depth shadow hooks communicate elevation and visual hierarchy. Use these hooks to indicate which elements appear above others in the stacking order. Higher shadow values indicate elements that are visually higher in the stacking order.
|
|
38
|
+
|
|
39
|
+
**Hook Pattern:** `--slds-g-shadow-{n}` where `{n}` is the depth level
|
|
40
|
+
|
|
41
|
+
### Usage
|
|
42
|
+
|
|
43
|
+
#### Do
|
|
44
|
+
|
|
45
|
+
- Match shadow values to stacking order — elements with higher stacking order should have higher shadow values
|
|
46
|
+
- Leverage z-index to manage stacking order alongside shadow values
|
|
47
|
+
- Use depth shadows for elements that need to appear above the base surface
|
|
48
|
+
|
|
49
|
+
#### Don't
|
|
50
|
+
|
|
51
|
+
- Avoid applying shadows to base level components — components that sit on the surface and don't cover other components should not have shadows in SLDS 2
|
|
52
|
+
|
|
53
|
+
#### Context
|
|
54
|
+
|
|
55
|
+
| Shadow Hook | Components |
|
|
56
|
+
|-------------|------------|
|
|
57
|
+
| `--slds-g-shadow-1` | Page headers, joined tables, filter panels, dropdowns, inline edit, images, slider handles |
|
|
58
|
+
| `--slds-g-shadow-2` | Menu, docked form footer, docked utility bar, color picker, notifications |
|
|
59
|
+
| `--slds-g-shadow-3` | Panel, docked composer, tooltip, toast |
|
|
60
|
+
| `--slds-g-shadow-4` | Modal, popover, App Launcher |
|
|
61
|
+
|
|
62
|
+
**Note:** `shadow-5` and `shadow-6` are aliases that inherit from `shadow-4`.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## `--slds-g-shadow-{direction}-*`
|
|
67
|
+
|
|
68
|
+
### Description
|
|
69
|
+
|
|
70
|
+
Directional shadow hooks allow shadows to be cast in specific directions. Use these hooks for components positioned against edges of the screen where the shadow direction matters.
|
|
71
|
+
|
|
72
|
+
**Hook Pattern:** `--slds-g-shadow-{direction}-{n}` where `{direction}` is the shadow direction and `{n}` is the depth level
|
|
73
|
+
|
|
74
|
+
**Available Directions:**
|
|
75
|
+
- `block-start` — Upward shadow
|
|
76
|
+
- `block-end` — Downward shadow (inherits from base `shadow-{n}`)
|
|
77
|
+
- `inline-start` — Left shadow
|
|
78
|
+
- `inline-end` — Right shadow
|
|
79
|
+
|
|
80
|
+
### Usage
|
|
81
|
+
|
|
82
|
+
#### Do
|
|
83
|
+
|
|
84
|
+
- Use directional shadows for panels and side-docked components
|
|
85
|
+
- Use directional shadows when components are positioned against screen edges
|
|
86
|
+
- Use `shadow-3 left` or `shadow-3 right` on panels depending on screen position
|
|
87
|
+
|
|
88
|
+
#### Context
|
|
89
|
+
|
|
90
|
+
- Panels use directional shadows based on which side of the screen they are placed
|
|
91
|
+
- `block-start` and `block-end` follow CSS logical properties (vertical axis)
|
|
92
|
+
- `inline-start` and `inline-end` follow CSS logical properties (horizontal axis)
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## `--slds-g-shadow-{type}-focus-*`
|
|
97
|
+
|
|
98
|
+
### Description
|
|
99
|
+
|
|
100
|
+
Focus shadow hooks provide visual feedback for keyboard navigation and accessibility. Use these hooks to ensure focus states meet accessibility requirements across all backgrounds.
|
|
101
|
+
|
|
102
|
+
**Hook Pattern:** `--slds-g-shadow-{type}-focus-{n}` where `{type}` is the focus style and `{n}` is the focus level
|
|
103
|
+
|
|
104
|
+
**Available Types:**
|
|
105
|
+
- `outline-focus` — Simple outline focus
|
|
106
|
+
- `outset-focus` — Double ring outset focus (white inner ring, brand outer ring)
|
|
107
|
+
- `inset-focus` — Single ring inset focus
|
|
108
|
+
- `inset-inverse-focus` — Double ring inset focus (brand inner, white outer)
|
|
109
|
+
|
|
110
|
+
### Usage
|
|
111
|
+
|
|
112
|
+
#### Do
|
|
113
|
+
|
|
114
|
+
- Focus states within SLDS 2 consist of a white border outline surrounded by a dark blue border outline
|
|
115
|
+
- This style ensures that the focus state passes accessibility requirements on any background
|
|
116
|
+
|
|
117
|
+
#### Context
|
|
118
|
+
|
|
119
|
+
- Focus states within enhanced Lightning UI are applied via shadow
|
|
120
|
+
- The double-ring focus pattern provides sufficient contrast on both light and dark backgrounds
|
|
121
|
+
|
|
122
|
+
### Accessibility
|
|
123
|
+
|
|
124
|
+
- Focus shadows ensure minimum 3:1 contrast against any background color
|
|
125
|
+
- The white + dark blue double-ring pattern guarantees visibility on both light and dark backgrounds
|
|
126
|
+
- Focus visibility is required for WCAG 2.1 keyboard navigation compliance
|
|
127
|
+
- Accessibility requirements apply — consult your project's accessibility standards
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## `--slds-s-button-shadow-*`
|
|
132
|
+
|
|
133
|
+
### Description
|
|
134
|
+
|
|
135
|
+
Button shadow hooks control the visual states for button interactions. Use these hooks for focus, active (pressed), and hover states on buttons.
|
|
136
|
+
|
|
137
|
+
**Available Hooks:**
|
|
138
|
+
- `--slds-s-button-shadow-focus` — Focus state for neutral buttons
|
|
139
|
+
- `--slds-s-button-shadow-focus-inverse` — Focus state for inverse buttons
|
|
140
|
+
- `--slds-s-button-shadow-active` — Pressed/active state (inset shadow)
|
|
141
|
+
- `--slds-s-button-brand-shadow-hover` — Hover lift effect for brand buttons
|
|
142
|
+
- `--slds-s-button-bordered-shadow-hover` — Hover lift effect for bordered/neutral buttons
|
|
143
|
+
|
|
144
|
+
### Usage
|
|
145
|
+
|
|
146
|
+
#### Do
|
|
147
|
+
|
|
148
|
+
- Button components use a hover bevel and inner shadow on click that is separate from the elevation system
|
|
149
|
+
- `button-shadow-active` is used on all buttons when pressed, regardless of color or border
|
|
150
|
+
|
|
151
|
+
#### Don't
|
|
152
|
+
|
|
153
|
+
- Avoid using bevel and inset shadows in custom situations — they are only used on buttons and inputs where specified
|
|
154
|
+
|
|
155
|
+
#### Context
|
|
156
|
+
|
|
157
|
+
- Active state uses inset shadows to create a "pressed in" appearance
|
|
158
|
+
- Hover state uses drop shadows with transform for a "lift" effect
|
|
159
|
+
- Focus state uses the standard focus ring pattern
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## `--slds-s-input-shadow-*`
|
|
164
|
+
|
|
165
|
+
### Description
|
|
166
|
+
|
|
167
|
+
Input shadow hooks control the visual states for input field interactions. Use these hooks for focus and validation states on input containers.
|
|
168
|
+
|
|
169
|
+
**Available Hooks:**
|
|
170
|
+
- `--slds-s-input-shadow-focus` — Focus state for input containers (includes inset shadow + focus ring)
|
|
171
|
+
- `--slds-s-input-shadow-invalid` — Error state for input containers
|
|
172
|
+
|
|
173
|
+
### Usage
|
|
174
|
+
|
|
175
|
+
#### Do
|
|
176
|
+
|
|
177
|
+
- Input focus combines an inset shadow with the standard focus ring
|
|
178
|
+
- Use input shadow hooks for text inputs, comboboxes, and text areas
|
|
179
|
+
|
|
180
|
+
#### Don't
|
|
181
|
+
|
|
182
|
+
- Avoid using input inset shadows in custom situations — they are only used where specified in the design system
|
|
183
|
+
|
|
184
|
+
#### Context
|
|
185
|
+
|
|
186
|
+
- Focus state combines visual depth (inset shadow) with accessibility (focus ring)
|
|
187
|
+
- Invalid state may remove shadows to emphasize the error border treatment
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## `--slds-s-mark-shadow-*`
|
|
192
|
+
|
|
193
|
+
### Description
|
|
194
|
+
|
|
195
|
+
Mark shadow hooks control the visual states for checkbox, radio button, and toggle interactions. Use these hooks for focus and checked states on mark elements.
|
|
196
|
+
|
|
197
|
+
**Available Hooks:**
|
|
198
|
+
- `--slds-s-mark-shadow-focus` — Focus state for checkboxes, radios, and toggles
|
|
199
|
+
- `--slds-s-mark-shadow-checked` — Checked/selected state (inset shadow)
|
|
200
|
+
|
|
201
|
+
### Usage
|
|
202
|
+
|
|
203
|
+
#### Do
|
|
204
|
+
|
|
205
|
+
- `mark-shadow-checked` is used on selected or active checkboxes, radio buttons, and checkbox toggles
|
|
206
|
+
- Use mark shadow hooks for indicating the selected state with visual depth
|
|
207
|
+
|
|
208
|
+
#### Don't
|
|
209
|
+
|
|
210
|
+
- Avoid using mark inset shadows in custom situations — they are only used on marks where specified
|
|
211
|
+
|
|
212
|
+
#### Context
|
|
213
|
+
|
|
214
|
+
- Checked state uses inset shadow to create visual depth indicating selection
|
|
215
|
+
- Focus state uses the standard focus ring pattern for accessibility
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## `--slds-c-button-{variant}-shadow-hover`
|
|
220
|
+
|
|
221
|
+
### Description
|
|
222
|
+
|
|
223
|
+
Component-level button variant shadow hooks provide hover effects for specific button variants. Use these hooks when implementing success, destructive, or inverse button variants.
|
|
224
|
+
|
|
225
|
+
**Available Hooks:**
|
|
226
|
+
- `--slds-c-button-success-shadow-hover` — Hover shadow for success buttons
|
|
227
|
+
- `--slds-c-button-destructive-shadow-hover` — Hover shadow for destructive buttons
|
|
228
|
+
- `--slds-c-button-inverse-shadow-hover` — Hover shadow for inverse buttons
|
|
229
|
+
|
|
230
|
+
### Usage
|
|
231
|
+
|
|
232
|
+
#### Context
|
|
233
|
+
|
|
234
|
+
- These hooks provide variant-specific hover lift effects
|
|
235
|
+
- Each uses a tinted shadow that matches the button's color scheme
|
|
236
|
+
- Used in combination with transform for the lift animation effect
|
|
237
|
+
|
|
238
|
+
|