@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,337 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
id: slds.guidance.hooks.color.surface
|
|
4
|
+
title: Surface Color Styling Hooks
|
|
5
|
+
description: Semantic hooks for page backgrounds, containers, and visual stacking contexts
|
|
6
|
+
summary: "Guidance for surface color hooks that express visual stacking context. Covers surface vs surface-container decision guide, elevation patterns, and dark mode compatibility."
|
|
7
|
+
|
|
8
|
+
artifact_type: reference
|
|
9
|
+
domain: styling-hooks
|
|
10
|
+
topic: color
|
|
11
|
+
subtopic: semantic
|
|
12
|
+
|
|
13
|
+
content_format: structured
|
|
14
|
+
complexity: intermediate
|
|
15
|
+
audience: [implementer]
|
|
16
|
+
|
|
17
|
+
tasks: [choose, implement, troubleshoot]
|
|
18
|
+
|
|
19
|
+
refs:
|
|
20
|
+
|
|
21
|
+
- slds.guidance.hooks.color.accent
|
|
22
|
+
- slds.guidance.hooks.color
|
|
23
|
+
- slds.guidance.hooks.color.feedback
|
|
24
|
+
- slds.guidance.hooks.color.system
|
|
25
|
+
- slds.guidance.utilities.dark-mode
|
|
26
|
+
|
|
27
|
+
## tags: [styling-hooks, color, semantic, surface, container, backgrounds, dark-mode]
|
|
28
|
+
keywords: [surface color, container color, page background, modal background, stacking context, elevation, dark mode]
|
|
29
|
+
|
|
30
|
+
# Surface Color Styling Hooks
|
|
31
|
+
|
|
32
|
+
> **Hook Selection:** Semantic hooks like surface are the first choice (85% of use cases). See [Hook Selection Hierarchy](ref:slds.guidance.hooks.color).
|
|
33
|
+
|
|
34
|
+
## Overview
|
|
35
|
+
|
|
36
|
+
A surface is a canvas that UI elements sit on. Surface colors express the visual stacking context of an app. Surface colors work together to enable sweeping changes, like dark mode. Surface colors are reserved for the bottom layer of a surface and establish the foundation for visual depth in the application.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Surface vs Surface-Container: Decision Guide
|
|
41
|
+
|
|
42
|
+
### The Core Question
|
|
43
|
+
|
|
44
|
+
**Does this element create a visually isolated context, or does it exist within an existing context?**
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
| Characteristic | Use `surface-`* | Use `surface-container-*` |
|
|
48
|
+
| ------------------------------------- | --------------- | ------------------------- |
|
|
49
|
+
| Creates new stacking context | Yes | No |
|
|
50
|
+
| Elevated/overlays other content | Yes | No |
|
|
51
|
+
| Acts as foundation for child elements | Yes | No |
|
|
52
|
+
| Exists within page's content flow | No | Yes |
|
|
53
|
+
| Sits on top of an existing surface | No | Yes |
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
### Quick Decision Tree
|
|
57
|
+
|
|
58
|
+
1. **Is this a page-level background or app canvas?** → `surface-`*
|
|
59
|
+
2. **Does this element overlay/elevate above the page (modal, popover, dropdown)?** → `surface-`*
|
|
60
|
+
3. **Does this element sit within the normal content flow on an existing background?** → `surface-container-`*
|
|
61
|
+
|
|
62
|
+
### Common Patterns
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
| Element | Hook | Reasoning |
|
|
66
|
+
| ------------------- | --------------------- | ------------------------------- |
|
|
67
|
+
| Page background | `surface-*` | Foundational canvas |
|
|
68
|
+
| Modal dialog | `surface-*` | Creates isolated visual context |
|
|
69
|
+
| Popover | `surface-*` | Elevated, creates new context |
|
|
70
|
+
| Dropdown menu | `surface-*` | Elevated overlay |
|
|
71
|
+
| Card on a page | `surface-container-*` | Sits on page surface |
|
|
72
|
+
| Card inside a modal | `surface-container-*` | Sits on modal surface |
|
|
73
|
+
| Button | `surface-container-*` | Sits on a surface |
|
|
74
|
+
| List item | `surface-container-*` | Part of content flow |
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
### Edge Cases
|
|
78
|
+
|
|
79
|
+
- **Full-page card layout**: If a card-like element serves as the entire page background (no parent surface beneath it), use `surface-`* despite its card-like appearance.
|
|
80
|
+
- **Panel that overlays**: A slide-out panel that overlays page content creates a new context → `surface-`*. A panel embedded in the page flow → `surface-container-*`.
|
|
81
|
+
- **Nested modals**: Each modal creates its own surface. A confirmation dialog inside a modal uses `surface-`* for its background.
|
|
82
|
+
|
|
83
|
+
### Warning: CSS Class Names Are Irrelevant
|
|
84
|
+
|
|
85
|
+
The element's class name (e.g., `.card-container`, `.modal-content`, `.panel-wrapper`) does **not** determine hook choice. An element named `.card-container` might use `surface-`* if it's the page-level background, or `surface-container-*` if it's a card sitting on a surface.
|
|
86
|
+
|
|
87
|
+
**Always base the decision on visual stacking context, not naming conventions.**
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## `--slds-g-color-surface-`*
|
|
92
|
+
|
|
93
|
+
### Description
|
|
94
|
+
|
|
95
|
+
Surface colors used for backgrounds and large areas of the application that express a new visual stacking context to create visual depth.
|
|
96
|
+
|
|
97
|
+
### Available Hooks
|
|
98
|
+
|
|
99
|
+
- `--slds-g-color-surface-1` - Primary page background (lightest, typically white)
|
|
100
|
+
- `--slds-g-color-surface-2` - Secondary page background (light gray, for visual distinction)
|
|
101
|
+
- `--slds-g-color-surface-3` - Tertiary page background (medium gray, for additional hierarchy)
|
|
102
|
+
- `--slds-g-color-surface-inverse-1` - Primary inverse surface background color
|
|
103
|
+
- `--slds-g-color-surface-inverse-2` - Secondary inverse surface background color
|
|
104
|
+
|
|
105
|
+
> **Note on Inverse Hooks:** Inverse hooks provide dark background colors designed for dark mode or inverted color schemes. They enable light content on dark backgrounds, as opposed to standard hooks which provide dark content on light backgrounds. Use inverse hooks for dark mode implementations, high-contrast sections, or visual emphasis through color inversion.
|
|
106
|
+
|
|
107
|
+
### Understanding Surface Numbering: NOT State-Based
|
|
108
|
+
|
|
109
|
+
**Critical Distinction**: Unlike accent or feedback hooks, surface variant numbers (1-2-3) do **NOT** represent interaction states (default/hover/active). They represent:
|
|
110
|
+
|
|
111
|
+
1. **Color progression from light to dark** (1 = lightest, 3 = darkest)
|
|
112
|
+
2. **Designer's aesthetic choice** for visual hierarchy or separation
|
|
113
|
+
3. **Contextual background needs** (e.g., white cards need gray backgrounds to stand out)
|
|
114
|
+
|
|
115
|
+
**When to choose which:**
|
|
116
|
+
|
|
117
|
+
- `**surface-1` (white)**: Clean, high-contrast base; use when cards/containers need strong definition
|
|
118
|
+
- `**surface-2` (light gray)**: Softer separation; use when layering elements without harsh white backgrounds
|
|
119
|
+
- `**surface-3` (medium gray)**: Additional depth; rare in practice, used for specific hierarchical needs
|
|
120
|
+
|
|
121
|
+
**NOT a rule**: There is no algorithmic decision tree. Designers choose based on composition, not function.
|
|
122
|
+
|
|
123
|
+
### Usage
|
|
124
|
+
|
|
125
|
+
#### Do
|
|
126
|
+
|
|
127
|
+
- Use surface colors for application backgrounds to establish the base canvas
|
|
128
|
+
- Use surface colors for panels that create new visual contexts
|
|
129
|
+
- Use surface colors for modal/dialog backgrounds (modals create isolated visual contexts, making them surfaces despite containing content)
|
|
130
|
+
- Apply surface colors to docked surfaces that establish surfaces
|
|
131
|
+
- Use surface colors for popovers and other elevated UI elements
|
|
132
|
+
- Anything that comes into the application's view with a higher stacking context establishes a new surface
|
|
133
|
+
|
|
134
|
+
#### Don't
|
|
135
|
+
|
|
136
|
+
- Avoid applying any decoration, brand bands, or textures to application backgrounds
|
|
137
|
+
- Avoid using for container elements that sit on top of surfaces (use surface-container instead)
|
|
138
|
+
- Avoid mixing surface colors with container colors in the same layer
|
|
139
|
+
- Don't use surface colors for text or icon fills
|
|
140
|
+
- **Don't assume numbering indicates states**: Surface variants are NOT for hover/active states—those typically use surface-container variants, accent colors, or component-level styling hooks depending on the theme
|
|
141
|
+
|
|
142
|
+
#### Context
|
|
143
|
+
|
|
144
|
+
- Application background (base canvas)
|
|
145
|
+
- Panels that establish new surfaces
|
|
146
|
+
- Modals and dialog backgrounds
|
|
147
|
+
- Docked containers
|
|
148
|
+
- Popovers and elevated UI elements
|
|
149
|
+
- Any element with a higher stacking context than previous surfaces
|
|
150
|
+
|
|
151
|
+
### Accessibility
|
|
152
|
+
|
|
153
|
+
- Surface colors are designed to work with on-surface colors for proper contrast
|
|
154
|
+
- Ensure WCAG 2.1 color contrast requirements by pairing with appropriate on-surface values
|
|
155
|
+
- Use `--slds-g-color-on-surface-`* for text and icons on surface backgrounds. Choose on-surface level based on content importance and required contrast, not strict number matching. For example, pair `--slds-g-color-surface-1` with `--slds-g-color-on-surface-1` for consistency, though other on-surface levels may be used based on emphasis needs while maintaining accessibility compliance
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## `--slds-g-color-surface-container-*`
|
|
160
|
+
|
|
161
|
+
### Description
|
|
162
|
+
|
|
163
|
+
Surface container colors reserved for elements that sit on top of a surface and contain other UI elements or artifacts, such as text or icons.
|
|
164
|
+
|
|
165
|
+
### Available Hooks
|
|
166
|
+
|
|
167
|
+
- `--slds-g-color-surface-container-1` - Lightest container background (typically white)
|
|
168
|
+
- `--slds-g-color-surface-container-2` - Light gray container background
|
|
169
|
+
- `--slds-g-color-surface-container-3` - Medium gray container background for additional hierarchy
|
|
170
|
+
- `--slds-g-color-surface-container-inverse-1` - Primary inverse surface container background
|
|
171
|
+
- `--slds-g-color-surface-container-inverse-2` - Secondary inverse surface container background
|
|
172
|
+
|
|
173
|
+
> **Note on Inverse Hooks:** Inverse hooks provide dark background colors for containers in dark mode or inverted color schemes. They work with on-surface-inverse hooks to maintain proper contrast for light content on dark container backgrounds.
|
|
174
|
+
|
|
175
|
+
### Overlap with Surface Hooks
|
|
176
|
+
|
|
177
|
+
Surface and surface-container hooks use the **same color values** (e.g., `surface-1` and `surface-container-1` are both white). The distinction is **semantic**, not visual.
|
|
178
|
+
|
|
179
|
+
See [Surface vs Surface-Container: Decision Guide](#surface-vs-surface-container-decision-guide) for comprehensive guidance on when to use each.
|
|
180
|
+
|
|
181
|
+
### State Progression Logic
|
|
182
|
+
|
|
183
|
+
**Design Intent-Dependent Patterns**: Unlike semantic accent or feedback containers with universal state progressions, surface-container state behavior varies based on design intent and interaction context:
|
|
184
|
+
|
|
185
|
+
- **For neutral hover states**: Use `surface-container-2` for hover states when default is `surface-container-1`
|
|
186
|
+
- **For brand-emphasized hover states**: Use brand colors (e.g., `brand-base-90` from the color palette) instead of surface-container variants
|
|
187
|
+
- **Context-Dependent**: Choice also depends on parent surface color and desired contrast level
|
|
188
|
+
|
|
189
|
+
**Why the variation**: Surface containers serve as neutral, foundational backgrounds for UI elements. Interactive hover states can either maintain neutral emphasis (using surface-container progression) or add brand emphasis (using brand colors from the palette), depending on the design's intent for that specific component.
|
|
190
|
+
|
|
191
|
+
**Best Practice**: Refer to component-level styling hooks for specific interactive patterns. Button, card, and list item components each have their own hover state definitions that may use surface-container variants, brand colors, accent colors, or component-specific styling hooks based on design requirements.
|
|
192
|
+
|
|
193
|
+
### Usage
|
|
194
|
+
|
|
195
|
+
#### Do
|
|
196
|
+
|
|
197
|
+
- Use surface container colors for cards that sit on an established surface (page, modal, panel)
|
|
198
|
+
- Apply surface container colors to button icons that contain content
|
|
199
|
+
- Use surface container colors for button backgrounds
|
|
200
|
+
- Use surface container colors for tabset backgrounds
|
|
201
|
+
- One of the clearest signals for using surface container colors is if the element contains text or icons
|
|
202
|
+
|
|
203
|
+
#### Don't
|
|
204
|
+
|
|
205
|
+
- Avoid using for the base application background
|
|
206
|
+
- Avoid using for elements that don't contain other UI elements
|
|
207
|
+
- Avoid mixing with surface colors on the same visual layer
|
|
208
|
+
- Avoid using for decorative elements that don't establish containers
|
|
209
|
+
|
|
210
|
+
#### Context
|
|
211
|
+
|
|
212
|
+
- Cards within a page or modal (not full-page card layouts)
|
|
213
|
+
- Button backgrounds
|
|
214
|
+
- Button icon containers
|
|
215
|
+
- Tabset backgrounds
|
|
216
|
+
- Any element that contains text, icons, or other UI artifacts
|
|
217
|
+
- Interactive containers that sit above surfaces
|
|
218
|
+
|
|
219
|
+
### Accessibility
|
|
220
|
+
|
|
221
|
+
- All surface container colors are designed to work with `--slds-g-color-on-surface-`* values for proper contrast
|
|
222
|
+
- Ensures proper WCAG 2.1 color contrast requirements are met
|
|
223
|
+
- Choose on-surface level based on content importance and required contrast, not strict number matching. For example, pair `--slds-g-color-surface-container-3` with `--slds-g-color-on-surface-3` for consistency, though other on-surface levels may be used based on emphasis needs while maintaining accessibility compliance
|
|
224
|
+
- Valid to use accent or feedback colors for text/icons on top of surface containers as alternatives (e.g., `--slds-g-color-accent-1`)
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## `--slds-g-color-on-surface-*`
|
|
229
|
+
|
|
230
|
+
### Description
|
|
231
|
+
|
|
232
|
+
Foreground colors for text or icons that appear on top of a surface or surface container, ensuring proper color contrast requirements.
|
|
233
|
+
|
|
234
|
+
### Available Hooks
|
|
235
|
+
|
|
236
|
+
- `--slds-g-color-on-surface-1` - De-emphasized text (lowest emphasis, for captions and secondary content)
|
|
237
|
+
- `--slds-g-color-on-surface-2` - Body text (medium emphasis, for standard content and labels)
|
|
238
|
+
- `--slds-g-color-on-surface-3` - High-emphasis text (highest emphasis, for headings and primary content)
|
|
239
|
+
- `--slds-g-color-on-surface-inverse-1` - Primary inverse foreground color for inverse surfaces
|
|
240
|
+
- `--slds-g-color-on-surface-inverse-2` - Secondary inverse foreground color for inverse surfaces
|
|
241
|
+
|
|
242
|
+
> **Note on Inverse Hooks:** Inverse hooks provide light foreground colors (text/icons) designed for use on dark surface or surface-container inverse backgrounds. They ensure proper contrast when displaying content in dark mode or inverted color schemes.
|
|
243
|
+
|
|
244
|
+
### Pairing Logic: Contrast Over Number-Matching
|
|
245
|
+
|
|
246
|
+
While the naming suggests pairing `on-surface-1` with `surface-1`, this is **NOT a strict rule**. Choose on-surface variants based on:
|
|
247
|
+
|
|
248
|
+
1. **Content importance**: Headlines use `on-surface-3` (highest contrast), body text uses `on-surface-2`, labels/captions use `on-surface-1`
|
|
249
|
+
2. **Accessibility requirements**: Always maintain 4.5:1 contrast ratio
|
|
250
|
+
3. **Visual hierarchy needs**: NOT the surface variant number
|
|
251
|
+
|
|
252
|
+
All three `on-surface` variants can appear on the same `surface-container-1` background.
|
|
253
|
+
|
|
254
|
+
### Usage
|
|
255
|
+
|
|
256
|
+
#### Do
|
|
257
|
+
|
|
258
|
+
- Use on-surface colors for text that appears on surface or surface container backgrounds
|
|
259
|
+
- Use on-surface colors for icons displayed on surfaces
|
|
260
|
+
- Use on-surface colors for any content that needs to meet WCAG 2.1 color contrast requirements
|
|
261
|
+
|
|
262
|
+
#### Don't
|
|
263
|
+
|
|
264
|
+
- Avoid using on accent color backgrounds (use on-accent colors instead)
|
|
265
|
+
- Avoid using on feedback color backgrounds (use on-feedback colors instead)
|
|
266
|
+
- Avoid using for large background areas
|
|
267
|
+
- Avoid using as standalone colors without appropriate surface backgrounds
|
|
268
|
+
|
|
269
|
+
#### Context
|
|
270
|
+
|
|
271
|
+
- Text on surface backgrounds
|
|
272
|
+
- Icons on surface or container backgrounds
|
|
273
|
+
- Body copy and content text
|
|
274
|
+
- UI labels and descriptive text
|
|
275
|
+
- Any foreground content requiring readability
|
|
276
|
+
|
|
277
|
+
#### Typography-Specific Usage
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
| Use Case | Description |
|
|
281
|
+
| ---------------- | ----------------------------------- |
|
|
282
|
+
| Body text | Standard paragraph text and content |
|
|
283
|
+
| Placeholder text | Input field placeholders |
|
|
284
|
+
| Field labels | Form field labels and descriptions |
|
|
285
|
+
| Sub-headings | Minor headings below primary titles |
|
|
286
|
+
| Taglines | Supporting text and captions |
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
**Background Requirements**: Use on backgrounds with lightness values 90-100 for optimal contrast.
|
|
290
|
+
|
|
291
|
+
**Applies to**: `--slds-g-color-on-surface-1`
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
| Use Case | Description |
|
|
295
|
+
| ------------------- | ------------------------------------------------- |
|
|
296
|
+
| Secondary text | Supporting content and descriptions |
|
|
297
|
+
| Tertiary headings | Lower-hierarchy headings |
|
|
298
|
+
| Dark body copy | Content requiring more emphasis than on-surface-1 |
|
|
299
|
+
| Filled input fields | Text entered by users in form fields |
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
**Background Requirements**: Use on backgrounds with lightness values 70-100 for optimal contrast.
|
|
303
|
+
|
|
304
|
+
**Applies to**: `--slds-g-color-on-surface-2`
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
| Use Case | Description |
|
|
308
|
+
| --------------------- | ------------------------------------------ |
|
|
309
|
+
| Page titles | Primary titles for pages or major sections |
|
|
310
|
+
| Component titles | Headings for cards, modals, and containers |
|
|
311
|
+
| High-emphasis content | Content requiring maximum visual weight |
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
**Background Requirements**: Use on backgrounds with lightness values 65-100 for optimal contrast.
|
|
315
|
+
|
|
316
|
+
**Applies to**: `--slds-g-color-on-surface-3`
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
| Use Case | Description |
|
|
320
|
+
| ------------------------------ | ------------------------------------------- |
|
|
321
|
+
| Title text on dark backgrounds | Page and component titles on dark surfaces |
|
|
322
|
+
| Body text on dark backgrounds | Content text on dark or colored backgrounds |
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
**Background Requirements**: Use on backgrounds with lightness values 0-50 for optimal contrast.
|
|
326
|
+
|
|
327
|
+
**Applies to**: `--slds-g-color-on-surface-inverse-1`
|
|
328
|
+
|
|
329
|
+
### Accessibility
|
|
330
|
+
|
|
331
|
+
- All on-surface colors are AA compliant and maintain a 4.5:1 contrast ratio with their corresponding surface backgrounds
|
|
332
|
+
- Designed specifically to meet Web Content Accessibility Guidelines (WCAG) 2.1
|
|
333
|
+
- Best paired with matching surface or surface-container colors. Choose on-surface level based on content importance and required contrast, not strict number matching. For example, pair `--slds-g-color-on-surface-1` with `--slds-g-color-surface-1` or `--slds-g-color-surface-container-1` for consistency, though other pairings may be used based on emphasis needs while maintaining accessibility compliance
|
|
334
|
+
- Text links use `--slds-g-color-accent-2` (not accent-1) on surface backgrounds for accessibility compliance
|
|
335
|
+
- Disabled text uses `--slds-g-color-on-disabled-2`
|
|
336
|
+
- Feedback text uses appropriate `--slds-g-color-on-error-`*, `--slds-g-color-on-warning-*`, etc.
|
|
337
|
+
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.hooks.color.system
|
|
3
|
+
title: System Color Styling Hooks
|
|
4
|
+
description: Direct access to brand, neutral, and feedback color palettes for edge cases
|
|
5
|
+
summary: "Guidance for system color hooks providing direct palette access. Covers neutral, brand, error, warning, and success base colors. Use only when semantic hooks don't apply (5-10% of cases)."
|
|
6
|
+
|
|
7
|
+
artifact_type: reference
|
|
8
|
+
domain: styling-hooks
|
|
9
|
+
topic: color
|
|
10
|
+
subtopic: system
|
|
11
|
+
|
|
12
|
+
content_format: structured
|
|
13
|
+
complexity: advanced
|
|
14
|
+
audience: [implementer]
|
|
15
|
+
|
|
16
|
+
tasks: [choose, implement, troubleshoot]
|
|
17
|
+
|
|
18
|
+
refs:
|
|
19
|
+
- slds.guidance.hooks.color
|
|
20
|
+
- slds.guidance.hooks.color.accent
|
|
21
|
+
- slds.guidance.hooks.color.surface
|
|
22
|
+
- slds.guidance.hooks.color.feedback
|
|
23
|
+
- slds.guidance.uplift
|
|
24
|
+
- slds.guidance.hooks.color.expressive-palette
|
|
25
|
+
tags: [styling-hooks, color, system, neutral, brand, feedback, palette]
|
|
26
|
+
keywords: [system colors, neutral palette, brand colors, error colors, warning colors, success colors, edge cases]
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# System Color Styling Hooks
|
|
30
|
+
|
|
31
|
+
> **Hook Selection:** System hooks are for edge cases (5-10% of use). For standard UI, use semantic hooks first. See [Hook Selection Hierarchy](ref:slds.guidance.hooks.color).
|
|
32
|
+
|
|
33
|
+
## Overview
|
|
34
|
+
|
|
35
|
+
System color styling hooks contain the complete set of values based on their semantics: brand, neutral, and feedback colors. These hooks provide direct access to the underlying color palette values and should only be used in edge cases where a semantic UI color does not make sense.
|
|
36
|
+
|
|
37
|
+
### Internal Hooks (Not for External Use)
|
|
38
|
+
|
|
39
|
+
| Prefix | Audience |
|
|
40
|
+
|--------|----------|
|
|
41
|
+
| `--slds-s-*` | Internal Salesforce only |
|
|
42
|
+
| `--slds-c-*` | Internal Salesforce only |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Available System Color Categories
|
|
47
|
+
|
|
48
|
+
### Neutral Colors
|
|
49
|
+
Used for various UI elements such as text, surfaces, and non-functional UI.
|
|
50
|
+
|
|
51
|
+
**Hook Pattern:** `--slds-g-color-neutral-base-{grade}`
|
|
52
|
+
|
|
53
|
+
### Brand Colors
|
|
54
|
+
Electric-blue colors used for buttons, hover states, and selected or active states. Do not use for decorative purposes.
|
|
55
|
+
|
|
56
|
+
**Hook Pattern:** `--slds-g-color-brand-base-{grade}`
|
|
57
|
+
|
|
58
|
+
### Feedback Colors
|
|
59
|
+
|
|
60
|
+
#### Error Colors
|
|
61
|
+
Pink colors only to be used for error feedback or alert states.
|
|
62
|
+
|
|
63
|
+
**Hook Pattern:** `--slds-g-color-error-base-{grade}`
|
|
64
|
+
|
|
65
|
+
#### Warning Colors
|
|
66
|
+
Yellow colors only to be used for warning feedback or alert states.
|
|
67
|
+
|
|
68
|
+
**Hook Pattern:** `--slds-g-color-warning-base-{grade}`
|
|
69
|
+
|
|
70
|
+
#### Success Colors
|
|
71
|
+
Teal colors only to be used for success feedback or alert states.
|
|
72
|
+
|
|
73
|
+
**Hook Pattern:** `--slds-g-color-success-base-{grade}`
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Usage
|
|
78
|
+
|
|
79
|
+
### Do
|
|
80
|
+
- Use system colors only in edge cases where semantic UI colors (accent, surface, feedback) do not make sense
|
|
81
|
+
- Use neutral-base colors for various UI elements such as text, surfaces, and non-functional UI
|
|
82
|
+
- Use brand-base colors (electric-blue) for buttons, hover states, and selected or active states
|
|
83
|
+
- Use feedback colors (error-base, warning-base, success-base) for their intended feedback or alert states
|
|
84
|
+
- Use system colors when building custom components that need direct palette access
|
|
85
|
+
- System colors provide precise color control for specific design scenarios
|
|
86
|
+
|
|
87
|
+
### Don't
|
|
88
|
+
- Avoid using system colors as a first choice—always prefer semantic UI colors (accent, surface, feedback) when available
|
|
89
|
+
- Avoid using brand-base colors for decorative purposes
|
|
90
|
+
- Avoid using error-base, warning-base, or success-base colors outside of their designated feedback contexts
|
|
91
|
+
- Avoid mixing system colors with semantic colors unnecessarily
|
|
92
|
+
- Avoid using system colors when a semantic color hook would provide the same result
|
|
93
|
+
- Avoid overriding the design system's intended color semantics
|
|
94
|
+
|
|
95
|
+
### Context: When to Use System Colors
|
|
96
|
+
|
|
97
|
+
**System colors are appropriate for:**
|
|
98
|
+
|
|
99
|
+
| Scenario | Example | Why System Colors |
|
|
100
|
+
|----------|---------|-------------------|
|
|
101
|
+
| Data visualization | Charts, graphs, heatmaps | Need precise color control beyond semantic meaning |
|
|
102
|
+
| Custom brand elements | Product-specific features | Require exact palette values |
|
|
103
|
+
| Legacy migration | Updating older components | Matching specific existing colors |
|
|
104
|
+
| Edge case UI | Specialized indicators | No semantic color fits the use case |
|
|
105
|
+
|
|
106
|
+
**Decision flow:** Before using a system color, verify that no semantic color (accent, surface, feedback) serves the same purpose. System colors bypass the design system's built-in accessibility guarantees.
|
|
107
|
+
|
|
108
|
+
## When to Use Semantic Colors Instead
|
|
109
|
+
|
|
110
|
+
Before using system colors, always consider if one of these semantic options would be more appropriate:
|
|
111
|
+
|
|
112
|
+
- **For brand elements and interactive states:** Use `--slds-g-color-accent-*` instead of `--slds-g-color-brand-base-*`
|
|
113
|
+
- **For backgrounds and surfaces:** Use `--slds-g-color-surface-*` or `--slds-g-color-surface-container-*` instead of `--slds-g-color-neutral-base-*`
|
|
114
|
+
- **For feedback states:** Use `--slds-g-color-error-*`, `--slds-g-color-warning-*`, or `--slds-g-color-success-*` instead of the base feedback colors
|
|
115
|
+
- **For text and icons:** Use `--slds-g-color-on-surface-*`, `--slds-g-color-on-accent-*`, or appropriate on-feedback colors
|
|
116
|
+
|
|
117
|
+
## Accessibility
|
|
118
|
+
|
|
119
|
+
- System colors do not inherently guarantee accessible contrast ratios
|
|
120
|
+
- **Manual verification required:** Ensure 50-point separation for text (4.5:1) and 40-point for UI (3:1)
|
|
121
|
+
- When using system colors, you must manually verify WCAG 2.1 color contrast requirements
|
|
122
|
+
- Semantic color hooks (accent, surface, feedback) are designed to maintain proper contrast when used as intended
|
|
123
|
+
- Always test custom combinations of system colors for accessibility compliance
|
|
124
|
+
- Prefer semantic color hooks which handle contrast ratios automatically
|
|
125
|
+
|
|
126
|
+
## Color Grade Scale
|
|
127
|
+
|
|
128
|
+
> **Grade Scale:** SLDS uses a 0-100 grade scale where 0 is darkest and 100 is lightest. Point separations guarantee accessibility: 50-point = 4.5:1 contrast (text), 40-point = 3:1 contrast (UI).
|
|
129
|
+
>
|
|
130
|
+
> For complete grade scale documentation and the numerical color system, see the [Color Hooks Index](ref:slds.guidance.hooks.color).
|
|
131
|
+
|
|
132
|
+
|