@salesforce/afv-skills 1.13.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- 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-ui-bundle-app/SKILL.md +33 -8
- package/skills/generating-custom-application/SKILL.md +1 -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-ui-bundle-custom-app/SKILL.md +93 -0
- package/skills/generating-ui-bundle-custom-app/docs/configure-metadata-custom-application.md +70 -0
- package/skills/generating-ui-bundle-metadata/SKILL.md +39 -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/reviewing-lwc-mobile-offline/SKILL.md +168 -0
- package/skills/reviewing-lwc-mobile-offline/references/grounding.md +7 -0
- package/skills/reviewing-lwc-mobile-offline/references/inline-graphql.md +43 -0
- package/skills/reviewing-lwc-mobile-offline/references/komaci-eslint.md +125 -0
- package/skills/reviewing-lwc-mobile-offline/references/lwc-if.md +78 -0
- package/skills/reviewing-lwc-mobile-offline/scripts/komaci.config.mjs +18 -0
- package/skills/reviewing-lwc-mobile-offline/scripts/package.json +10 -0
- package/skills/reviewing-lwc-mobile-offline/scripts/run-komaci.sh +69 -0
- 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/using-mobile-native-capabilities/SKILL.md +182 -0
- package/skills/using-mobile-native-capabilities/references/app-review.md +68 -0
- package/skills/using-mobile-native-capabilities/references/ar-space-capture.md +125 -0
- package/skills/using-mobile-native-capabilities/references/barcode-scanner.md +219 -0
- package/skills/using-mobile-native-capabilities/references/base-capability.md +22 -0
- package/skills/using-mobile-native-capabilities/references/biometrics.md +90 -0
- package/skills/using-mobile-native-capabilities/references/calendar.md +213 -0
- package/skills/using-mobile-native-capabilities/references/contacts.md +232 -0
- package/skills/using-mobile-native-capabilities/references/document-scanner.md +342 -0
- package/skills/using-mobile-native-capabilities/references/geofencing.md +123 -0
- package/skills/using-mobile-native-capabilities/references/location.md +158 -0
- package/skills/using-mobile-native-capabilities/references/mobile-capabilities.md +30 -0
- package/skills/using-mobile-native-capabilities/references/nfc.md +181 -0
- package/skills/using-mobile-native-capabilities/references/payments.md +95 -0
- 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,235 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.overview.illustrations
|
|
3
|
+
title: Illustrations Overview
|
|
4
|
+
description: Foundational guidance for implementing illustrations in SLDS interfaces
|
|
5
|
+
summary: "Comprehensive illustration guidance covering empty states, informational states, and error states. Includes placement rules, sizing guidelines, accessibility requirements, and the one-illustration-per-page principle."
|
|
6
|
+
|
|
7
|
+
artifact_type: overview
|
|
8
|
+
domain: overviews
|
|
9
|
+
topic: illustrations
|
|
10
|
+
|
|
11
|
+
content_format: narrative
|
|
12
|
+
complexity: foundational
|
|
13
|
+
audience: [implementer, designer]
|
|
14
|
+
|
|
15
|
+
tasks: [learn, choose, implement]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.accessibility.overview
|
|
19
|
+
|
|
20
|
+
tags: [illustrations, empty-states, visual-design, user-experience]
|
|
21
|
+
keywords: [illustrations, empty states, error states, informational states, visual messaging, actionable guidance]
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Illustrations Guidance for SLDS Implementation
|
|
25
|
+
|
|
26
|
+
**Purpose:** This document provides the foundational principles and guidance for implementing illustrations in Salesforce Lightning Design System. When working with SLDS components and interfaces, follow these guidelines to ensure illustrations are used purposefully to enhance clarity, personality, and user engagement.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## About Illustrations
|
|
31
|
+
|
|
32
|
+
Illustrations are engaging visuals that guide, inform, and delight users. In the Salesforce Lightning Design System (SLDS), they help communicate complex ideas, reinforce brand identity, and guide users through key moments in their journey. Illustrations are approachable and inclusive, reflecting the diversity of our users while aligning with the Salesforce brand.
|
|
33
|
+
|
|
34
|
+
**Key Requirement:** To ensure accessibility best practices, illustrations must always enhance the textual content, not replace it. Use them sparingly and align with the purpose and tone of the screen or message.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Core Principles
|
|
39
|
+
|
|
40
|
+
When working with illustrations in UI interfaces, adhere to these four foundational principles:
|
|
41
|
+
|
|
42
|
+
1. **Prioritize clarity and purpose.** Illustrations should soften negative impressions and provide context. Use them to help users understand the state of the system or to guide them through a workflow.
|
|
43
|
+
2. **Accessibility is mandatory.** Illustrations must enhance textual content, never replace it. Always provide meaningful text alongside illustrations to ensure the experience is accessible to all users.
|
|
44
|
+
3. **Maintain visual restraint.** Use illustrations sparingly to avoid distracting users. Follow the "one illustration per page" rule to maintain focus on the primary task.
|
|
45
|
+
4. **Include actionable guidance.** Pair illustrations with clear, actionable UI text. If a page is empty, provide a link or button to help the user take the next step.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Illustration Types
|
|
50
|
+
|
|
51
|
+
Illustrations in SLDS generally communicate one of three conditions: empty, informational, or error. The specific illustration and accompanying text vary depending on the context.
|
|
52
|
+
|
|
53
|
+
### Empty States
|
|
54
|
+
Empty state illustrations provide context when a page or component has no data to display.
|
|
55
|
+
|
|
56
|
+
**Use for:**
|
|
57
|
+
- Empty object list views (opportunities, leads, cases, contacts)
|
|
58
|
+
- Empty feeds (activity feeds, Chatter feeds)
|
|
59
|
+
- Empty dashboards or reports
|
|
60
|
+
- Blank canvas states requiring user action
|
|
61
|
+
|
|
62
|
+
### Informational
|
|
63
|
+
Informational illustrations support users as they explore new features, learn workflows, or encounter maintenance states.
|
|
64
|
+
|
|
65
|
+
**Use for:**
|
|
66
|
+
- System maintenance or scheduled downtime
|
|
67
|
+
- Authentication or connection prompts
|
|
68
|
+
- Onboarding and setup workflows
|
|
69
|
+
- Feature discovery or walkthrough introductions
|
|
70
|
+
|
|
71
|
+
### Error States
|
|
72
|
+
Error state illustrations offer reassurance and guidance when something goes wrong.
|
|
73
|
+
|
|
74
|
+
**Use for:**
|
|
75
|
+
- Page not found (404 errors)
|
|
76
|
+
- Access denied or permission errors
|
|
77
|
+
- Data unavailable or loading failures
|
|
78
|
+
- Lightning Experience compatibility issues
|
|
79
|
+
- Broken links or deleted content
|
|
80
|
+
- System failures or service disruptions
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Mobile Guidelines
|
|
85
|
+
|
|
86
|
+
When using illustrations on mobile devices, adjustments are necessary to ensure a consistent experience within smaller viewports.
|
|
87
|
+
|
|
88
|
+
- **Maximum Width:** 300px
|
|
89
|
+
- **Maximum Height:** 180px
|
|
90
|
+
- **UI Text:** Labels and body text must be shorter and use smaller font scales.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Layouts
|
|
95
|
+
|
|
96
|
+
Illustrations can surface within Salesforce products in three primary layout contexts:
|
|
97
|
+
|
|
98
|
+
### Full Page
|
|
99
|
+
Used for major system states like 404 errors or initial onboarding where the illustration is the primary focus of the entire viewport.
|
|
100
|
+
|
|
101
|
+
### Main Body
|
|
102
|
+
Used within the main content area of a page, often for empty states in list views or dashboards.
|
|
103
|
+
|
|
104
|
+
### Panel or Sidebar
|
|
105
|
+
Used in narrower containers like utility panels, sidebars, or docked composers.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Recommended Specs
|
|
110
|
+
|
|
111
|
+
The following specifications define the typography and sizing constraints for illustrations across desktop and mobile platforms.
|
|
112
|
+
|
|
113
|
+
### Desktop Specs
|
|
114
|
+
|
|
115
|
+
| Description | Styling Hooks | Value |
|
|
116
|
+
|-------------|---------------|-------|
|
|
117
|
+
| Title text | `--slds-g-font-scale-4` | - |
|
|
118
|
+
| Body text | `--slds-g-font-scale-2` | - |
|
|
119
|
+
| Text color | `--slds-g-color-on-surface-1` | - |
|
|
120
|
+
| Maximum image width | - | 600px |
|
|
121
|
+
| Maximum image height | - | 360px |
|
|
122
|
+
|
|
123
|
+
### Mobile Specs
|
|
124
|
+
|
|
125
|
+
| Description | Styling Hooks | Value |
|
|
126
|
+
|-------------|---------------|-------|
|
|
127
|
+
| Title text | `--slds-g-font-scale-3` | - |
|
|
128
|
+
| Body text | `--slds-g-font-size-base` | - |
|
|
129
|
+
| Text color | `--slds-g-color-on-surface-1` | - |
|
|
130
|
+
| Maximum image width | - | 300px |
|
|
131
|
+
| Maximum image height | - | 180px |
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## UI Text Guidelines
|
|
136
|
+
|
|
137
|
+
UI text for illustrations must be clear, concise, and helpful. While these examples serve as guidelines, text should always be adapted to the specific context.
|
|
138
|
+
|
|
139
|
+
| State | Title | Body |
|
|
140
|
+
|-------|-------|------|
|
|
141
|
+
| Empty | Hmm… | No opportunities to display. |
|
|
142
|
+
| Empty | Collaborate with others | No updates here yet. |
|
|
143
|
+
| Informational | We are down for maintenance | Sorry for the inconvenience. We’ll be back shortly. |
|
|
144
|
+
| Informational | You’re not connected to Google Drive | Let’s get you authenticated. [Connect to Google Drive] |
|
|
145
|
+
| Error | Page not available | Maybe the page was deleted, the URL is incorrect, or something else went wrong. |
|
|
146
|
+
| Error | You don’t have access to this page | If you think you should have access, ask your admin for help. |
|
|
147
|
+
| Error | Data not available | The data you’re trying to access isn’t available. It might be due to a system error. |
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Usage and Best Practices
|
|
152
|
+
|
|
153
|
+
### Recommended Usage (Where & Why)
|
|
154
|
+
|
|
155
|
+
Illustrations are used to enhance scannability and provide visual context in specific scenarios. They are typically implemented in:
|
|
156
|
+
|
|
157
|
+
- **Empty states:** To provide context and reduce the "dead end" feeling of a blank page, guiding users on how to populate data (e.g., list views, dashboards).
|
|
158
|
+
- **Informational moments:** To support users during system maintenance, exploration of new features, or onboarding/setup workflows.
|
|
159
|
+
- **Error states:** To soften the impact of system failures or restricted access and provide a clear path forward (e.g., 404 pages, lack of permissions).
|
|
160
|
+
- **Feeds:** To encourage collaboration within activity or Chatter feeds.
|
|
161
|
+
|
|
162
|
+
### Implementation Constraints
|
|
163
|
+
|
|
164
|
+
To maintain SLDS visual consistency and performance, adhere to these constraints:
|
|
165
|
+
|
|
166
|
+
- **One per page:** Use only one illustration per page. Multiple illustrations create visual clutter and distract from the primary task.
|
|
167
|
+
- **Avoid small containers:** Do not use illustrations inside related lists, cards, or narrow components. Use plain inline text or icons for these areas.
|
|
168
|
+
- **No direct action feedback:** Do not use illustrations as feedback for direct user actions. Toasts, popovers, or banners are better suited for these interactions.
|
|
169
|
+
|
|
170
|
+
### Visual Standards
|
|
171
|
+
|
|
172
|
+
#### Character Positioning
|
|
173
|
+
|
|
174
|
+
Characters add personality but must not dominate the visual hierarchy of an illustration.
|
|
175
|
+
|
|
176
|
+
##### Do
|
|
177
|
+
|
|
178
|
+
- Keep characters in the background to maintain focus on the message and system state.
|
|
179
|
+
- Integrate characters as supporting elements that enhance the context without becoming the primary focal point.
|
|
180
|
+
|
|
181
|
+
##### Don't
|
|
182
|
+
|
|
183
|
+
- Avoid placing characters at the forefront of an illustration, as it can distract from the functional purpose of the screen.
|
|
184
|
+
- Never use characters as the sole indicator of the illustration's meaning.
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Implementation Workflow
|
|
189
|
+
|
|
190
|
+
Follow this sequence when implementing illustrations in your components:
|
|
191
|
+
|
|
192
|
+
### Step 1: Identify Illustration Need
|
|
193
|
+
Determine the state you are communicating:
|
|
194
|
+
- **Is the container empty?** (list views, feeds, dashboards)
|
|
195
|
+
- **Is the state informational?** (maintenance, onboarding, configuration)
|
|
196
|
+
- **Is there an error?** (page not found, no access, system failure)
|
|
197
|
+
|
|
198
|
+
### Step 2: Select Illustration Type
|
|
199
|
+
Choose an illustration that matches the tone and purpose identified in Step 1. Ensure the visual style is consistent with SLDS standards.
|
|
200
|
+
|
|
201
|
+
### Step 3: Apply Recommended Specs
|
|
202
|
+
Use the appropriate styling hooks for typography and respect the maximum dimensions for the target platform (Desktop vs. Mobile).
|
|
203
|
+
|
|
204
|
+
### Step 4: Add Accompanying UI Text
|
|
205
|
+
Write clear, concise, and actionable text. Ensure the body text includes a resolution path (e.g., a link to create a record or contact support).
|
|
206
|
+
|
|
207
|
+
### Step 5: Validate Accessibility
|
|
208
|
+
Ensure the illustration enhances the text and that all essential information is available via text. Verify that the layout works across different screen sizes and density settings.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Pre-Implementation Checklist
|
|
213
|
+
|
|
214
|
+
Before finalizing any illustration implementation, verify:
|
|
215
|
+
|
|
216
|
+
| Requirement | Status |
|
|
217
|
+
|-------------|--------|
|
|
218
|
+
| **Classification & Selection** | |
|
|
219
|
+
| Illustration type matches the system state (empty/informational/error) | [ ] |
|
|
220
|
+
| Illustration chosen aligns with Salesforce approachable/inclusive brand | [ ] |
|
|
221
|
+
| **Styling & Specs** | |
|
|
222
|
+
| Typography uses recommended styling hooks (`--slds-g-font-scale-*`) | [ ] |
|
|
223
|
+
| Maximum dimensions respected for target platform (600x360 desktop, 300x180 mobile) | [ ] |
|
|
224
|
+
| One illustration per page limit maintained | [ ] |
|
|
225
|
+
| **Content & Copy** | |
|
|
226
|
+
| UI text provides clear title and helpful body content | [ ] |
|
|
227
|
+
| Actionable resolution path provided (e.g., links or buttons) | [ ] |
|
|
228
|
+
| **Accessibility** | |
|
|
229
|
+
| Illustration enhances rather than replaces textual content | [ ] |
|
|
230
|
+
| Sufficient contrast between text and background | [ ] |
|
|
231
|
+
| **Context & Placement** | |
|
|
232
|
+
| Layout context correctly identified (full page, main body, panel) | [ ] |
|
|
233
|
+
| Illustration used outside of related lists and cards | [ ] |
|
|
234
|
+
|
|
235
|
+
**Target outcome:** Purposeful, engaging illustrations that guide users through the Salesforce experience while maintaining brand consistency and accessibility standards.
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.overview.shadows
|
|
3
|
+
title: Shadows and Elevation Overview
|
|
4
|
+
description: Foundational guidance for implementing shadows and visual depth in SLDS
|
|
5
|
+
summary: "Comprehensive shadow guidance covering elevation levels, component shadow mappings, directional shadows, and accessibility considerations. Explains box-shadow concepts and stacking order relationships."
|
|
6
|
+
|
|
7
|
+
artifact_type: overview
|
|
8
|
+
domain: overviews
|
|
9
|
+
topic: shadows
|
|
10
|
+
|
|
11
|
+
content_format: narrative
|
|
12
|
+
complexity: foundational
|
|
13
|
+
audience: [implementer, designer]
|
|
14
|
+
|
|
15
|
+
tasks: [learn, choose, implement]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.hooks.shadows
|
|
19
|
+
|
|
20
|
+
tags: [shadows, elevation, depth, visual-hierarchy, stacking]
|
|
21
|
+
keywords: [box shadow, elevation levels, visual depth, stacking order, z-index, component shadows]
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Shadows and Elevation Guidance for SLDS Implementation
|
|
25
|
+
|
|
26
|
+
**Purpose:** This document provides guidance for implementing shadows in Salesforce Lightning Design System. Shadows add depth and dynamic layers to the UI, making it look more interesting and less static. When implementing components and layouts, follow these guidelines to ensure visual hierarchy and elevation are communicated effectively.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## About Shadows
|
|
31
|
+
|
|
32
|
+
### What is Box Shadow?
|
|
33
|
+
|
|
34
|
+
The `box-shadow` CSS property adds a shadow effect to an element. This property sets values for horizontal and vertical offsets, blur radius, spread radius, and shadow color. The combination of these properties creates a shadow around the frame of an element.
|
|
35
|
+
|
|
36
|
+
Box shadows indicate elevation and are applied to elements to show which elements are on top of one another. Elevation is applied to elements to show that surfaces can move on top of one another.
|
|
37
|
+
|
|
38
|
+
The SLDS 2 design uses soft shadows to create a sense of depth and dimension in the user interface. They also help separate components from each other and create a more realistic look.
|
|
39
|
+
|
|
40
|
+
The styling hook for shadows uses the label `shadow`.
|
|
41
|
+
|
|
42
|
+
### Elevation System
|
|
43
|
+
|
|
44
|
+
When applying a shadow, match the priority or stacking order of the elements. Elements with a higher stacking order or which appear on top of others on the page should have higher shadow values. Leverage the z-index property to manage stacking order, and ensure that the elements with the highest shadow value appear above others on the page.
|
|
45
|
+
|
|
46
|
+
**Elevation Levels:**
|
|
47
|
+
|
|
48
|
+
| Level | Shadow Hook | Description |
|
|
49
|
+
|-------|-------------|-------------|
|
|
50
|
+
| Base Level | No shadow | Components on the surface that don't cover other components |
|
|
51
|
+
| Elevation Level 1 | `--slds-g-shadow-1` | Subtle depth |
|
|
52
|
+
| Elevation Level 2 | `--slds-g-shadow-2` | Moderate depth |
|
|
53
|
+
| Elevation Level 3 | `--slds-g-shadow-3` | Prominent depth |
|
|
54
|
+
| Elevation Level 4 | `--slds-g-shadow-4` | Maximum depth |
|
|
55
|
+
|
|
56
|
+
### Component Shadow Usage
|
|
57
|
+
|
|
58
|
+
| Shadow Hook | Components |
|
|
59
|
+
|-------------|------------|
|
|
60
|
+
| `--slds-g-shadow-1` | Page headers, joined tables, filter panels, dropdowns, inline edit, images, slider handles |
|
|
61
|
+
| `--slds-g-shadow-2` | Menu, docked form footer, docked utility bar, color picker, notifications |
|
|
62
|
+
| `--slds-g-shadow-3` | Panel, docked composer, tooltip, toast |
|
|
63
|
+
| `--slds-g-shadow-4` | Modal, popover, App Launcher |
|
|
64
|
+
|
|
65
|
+
### Base Level (No Shadow)
|
|
66
|
+
|
|
67
|
+
Components that are **base level** sit on the surface and don't cover up other components. Base level components do not have shadows in the SLDS 2 design.
|
|
68
|
+
|
|
69
|
+
The background color of a base level component depends on the color of the surface it sits on:
|
|
70
|
+
- On a gray surface: A base level component has a white background
|
|
71
|
+
- On a white surface: A base level component has a white background with a border
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Shadow Types
|
|
76
|
+
|
|
77
|
+
### Depth Shadows
|
|
78
|
+
|
|
79
|
+
Depth shadows communicate elevation and visual hierarchy. They indicate which elements appear above others in the stacking order.
|
|
80
|
+
|
|
81
|
+
**Hook Pattern:** `--slds-g-shadow-{n}` where `{n}` is the depth level
|
|
82
|
+
|
|
83
|
+
- `shadow-1` through `shadow-4` provide increasing depth levels
|
|
84
|
+
- `shadow-5` and `shadow-6` are aliases that inherit from `shadow-4`
|
|
85
|
+
|
|
86
|
+
### Directional Shadows
|
|
87
|
+
|
|
88
|
+
Directional shadow variants allow shadows to be cast in specific directions. These are useful for components that are positioned against edges of the screen.
|
|
89
|
+
|
|
90
|
+
**Hook Pattern:** `--slds-g-shadow-{direction}-{n}` where `{direction}` is the shadow direction and `{n}` is the depth level
|
|
91
|
+
|
|
92
|
+
**Directions:**
|
|
93
|
+
- `block-start` — Upward shadow
|
|
94
|
+
- `block-end` — Downward shadow (default direction, inherits from base shadow)
|
|
95
|
+
- `inline-start` — Left shadow
|
|
96
|
+
- `inline-end` — Right shadow
|
|
97
|
+
|
|
98
|
+
### Focus Shadows
|
|
99
|
+
|
|
100
|
+
Focus shadows provide visual feedback for keyboard navigation and accessibility. Focus states within the SLDS 2 design consist of a white border outline surrounded by a dark blue border outline. This style ensures that the focus state meets accessibility requirements for any background.
|
|
101
|
+
|
|
102
|
+
**Hook Pattern:** `--slds-g-shadow-{type}-focus-1` where `{type}` is the focus style
|
|
103
|
+
|
|
104
|
+
**Types:**
|
|
105
|
+
- `outline-focus` — Simple outline focus
|
|
106
|
+
- `outset-focus` — Double ring outset focus
|
|
107
|
+
- `inset-focus` — Single ring inset focus
|
|
108
|
+
- `inset-inverse-focus` — Double ring inset focus (inverse)
|
|
109
|
+
|
|
110
|
+
### Inset Shadows (Component-Level)
|
|
111
|
+
|
|
112
|
+
Button components use a hover bevel and inner shadow on click that is separate from the elevation system. Bevels and insets are only used on buttons and inputs where specified and shouldn't be used in custom situations.
|
|
113
|
+
|
|
114
|
+
**Button shadows:**
|
|
115
|
+
- `--slds-s-button-shadow-active` — Used on all buttons when pressed, regardless of color or border
|
|
116
|
+
- `--slds-s-button-shadow-focus` — Focus state for buttons
|
|
117
|
+
- `--slds-s-button-brand-shadow-hover` — Hover effect for brand buttons
|
|
118
|
+
- `--slds-s-button-bordered-shadow-hover` — Hover effect for bordered/neutral buttons
|
|
119
|
+
|
|
120
|
+
**Input shadows:**
|
|
121
|
+
- `--slds-s-input-shadow-focus` — Used on active/focused input fields
|
|
122
|
+
|
|
123
|
+
**Mark shadows (checkboxes, radios, toggles):**
|
|
124
|
+
- `--slds-s-mark-shadow-checked` — Used on selected or active checkboxes, radio buttons, and checkbox toggles
|
|
125
|
+
- `--slds-s-mark-shadow-focus` — Focus state for mark elements
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Available Styling Hooks
|
|
130
|
+
|
|
131
|
+
> **For detailed usage patterns**, refer to the Shadows Styling Hooks documentation.
|
|
132
|
+
|
|
133
|
+
### Global Shadow Hooks (`--slds-g-`)
|
|
134
|
+
|
|
135
|
+
**Depth Shadows:**
|
|
136
|
+
- `--slds-g-shadow-{1-6}`
|
|
137
|
+
|
|
138
|
+
**Directional Shadows:**
|
|
139
|
+
- `--slds-g-shadow-block-start-{1-4}`
|
|
140
|
+
- `--slds-g-shadow-block-end-{1-4}`
|
|
141
|
+
- `--slds-g-shadow-inline-start-{1-4}`
|
|
142
|
+
- `--slds-g-shadow-inline-end-{1-4}`
|
|
143
|
+
|
|
144
|
+
**Focus Shadows:**
|
|
145
|
+
- `--slds-g-shadow-outline-focus-1`
|
|
146
|
+
- `--slds-g-shadow-outset-focus-1`
|
|
147
|
+
- `--slds-g-shadow-inset-focus-1`
|
|
148
|
+
- `--slds-g-shadow-inset-inverse-focus-1`
|
|
149
|
+
|
|
150
|
+
### Shared Shadow Hooks (`--slds-s-`)
|
|
151
|
+
|
|
152
|
+
**Button Shadows:**
|
|
153
|
+
- `--slds-s-button-shadow-focus`
|
|
154
|
+
- `--slds-s-button-shadow-focus-inverse`
|
|
155
|
+
- `--slds-s-button-shadow-active`
|
|
156
|
+
- `--slds-s-button-brand-shadow-hover`
|
|
157
|
+
- `--slds-s-button-bordered-shadow-hover`
|
|
158
|
+
|
|
159
|
+
**Input Shadows:**
|
|
160
|
+
- `--slds-s-input-shadow-focus`
|
|
161
|
+
- `--slds-s-input-shadow-invalid`
|
|
162
|
+
|
|
163
|
+
**Mark Shadows:**
|
|
164
|
+
- `--slds-s-mark-shadow-focus`
|
|
165
|
+
- `--slds-s-mark-shadow-checked`
|
|
166
|
+
|
|
167
|
+
### Component Shadow Hooks (`--slds-c-`)
|
|
168
|
+
|
|
169
|
+
**Button Variant Shadows:**
|
|
170
|
+
- `--slds-c-button-success-shadow-hover`
|
|
171
|
+
- `--slds-c-button-destructive-shadow-hover`
|
|
172
|
+
- `--slds-c-button-inverse-shadow-hover`
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.overview.spacing-and-sizing
|
|
3
|
+
title: Spacing and Sizing Overview
|
|
4
|
+
description: Foundational principles for spacing and sizing decisions in SLDS
|
|
5
|
+
summary: "Comprehensive spacing and sizing guidance covering the 4-point grid system, spacing scales, sizing scales, and responsive design patterns. Includes implementation workflow and pre-implementation checklist."
|
|
6
|
+
|
|
7
|
+
artifact_type: overview
|
|
8
|
+
domain: overviews
|
|
9
|
+
topic: spacing-and-sizing
|
|
10
|
+
|
|
11
|
+
content_format: narrative
|
|
12
|
+
complexity: foundational
|
|
13
|
+
audience: [implementer, designer]
|
|
14
|
+
|
|
15
|
+
tasks: [learn, choose, implement]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.hooks.spacing
|
|
19
|
+
|
|
20
|
+
tags: [spacing, sizing, layout, grid, margins, padding, dimensions]
|
|
21
|
+
keywords: [4-point grid, spacing scale, sizing scale, margins, padding, gaps, responsive design, layout]
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
# Spacing and Sizing Guidance for SLDS Implementation
|
|
25
|
+
|
|
26
|
+
**Purpose:** This document provides the foundational principles and constraints for all spacing and sizing decisions in Salesforce Lightning Design System. When implementing components and layouts, follow these guidelines to ensure visual harmony, hierarchy, and consistency across all experiences.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Core Principles
|
|
31
|
+
|
|
32
|
+
When working with spacing and sizing in UI interfaces, adhere to these foundational principles:
|
|
33
|
+
|
|
34
|
+
1. **Establish harmony through consistency.** Spacing and sizing create predictable patterns that help users navigate interfaces efficiently. Use the spacing and sizing styling hooks consistently to create visual rhythm and balance.
|
|
35
|
+
|
|
36
|
+
2. **Create hierarchy through deliberate spacing.** Strategic use of space directs user attention, differentiates grouped elements from unrelated ones, and establishes clear relationships between components.
|
|
37
|
+
|
|
38
|
+
3. **Ensure scalability and responsiveness.** Components must adapt seamlessly across devices and screen sizes. Use relative units and the SLDS styling hooks to support responsive design patterns.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Spacing Fundamentals
|
|
43
|
+
|
|
44
|
+
### What is Spacing?
|
|
45
|
+
|
|
46
|
+
Spacing controls the empty areas around or within components, such as margins, padding, and gaps between elements. In the context of styling hooks, spacing refers to padding or margins applied around an element.
|
|
47
|
+
|
|
48
|
+
**Spacing defines these visual aspects:**
|
|
49
|
+
- Proper alignment of components
|
|
50
|
+
- Clear differentiation of grouped and unrelated elements
|
|
51
|
+
- White space that directs user attention to key content or actions
|
|
52
|
+
|
|
53
|
+
### Benefits of Effective Spacing
|
|
54
|
+
|
|
55
|
+
Effective spacing provides these benefits:
|
|
56
|
+
- **Improves readability** by preventing visual clutter and creating breathing room
|
|
57
|
+
- **Reduces cognitive load** by establishing clear visual relationships
|
|
58
|
+
- **Enhances usability** by making interactive elements easier to target and distinguish
|
|
59
|
+
|
|
60
|
+
### The 4-Point Grid System
|
|
61
|
+
|
|
62
|
+
SLDS spacing follows a modular scale based on multiples of 4, aligning with the 4-point grid system. This mathematical foundation ensures consistent spacing relationships throughout the interface.
|
|
63
|
+
|
|
64
|
+
**System Architecture:**
|
|
65
|
+
- Base unit: 0.25rem (4px equivalent)
|
|
66
|
+
- Scale progression: Each step increases in predictable increments
|
|
67
|
+
- Values are relative to root font size for scalability
|
|
68
|
+
|
|
69
|
+
### Density-Aware Spacing
|
|
70
|
+
|
|
71
|
+
SLDS provides density-aware spacing hooks that automatically adapt when the system switches between comfy and compact display density settings. These hooks ensure components respond appropriately to user density preferences.
|
|
72
|
+
|
|
73
|
+
**Hook Patterns:**
|
|
74
|
+
- **All-Sides:** `--slds-g-spacing-var-{size}` - Applies equally to top, bottom, left, right
|
|
75
|
+
- **Vertical (Block):** `--slds-g-spacing-var-block-{size}` - Top and bottom margins or padding
|
|
76
|
+
- **Horizontal (Inline):** `--slds-g-spacing-var-inline-{size}` - Left and right margins or padding
|
|
77
|
+
|
|
78
|
+
Where `{size}` represents the scale value appropriate for your spacing need.
|
|
79
|
+
|
|
80
|
+
> **For complete density-aware hook details** including comfy and compact values, refer to the Spacing and Sizing Styling Hooks documentation.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Sizing Fundamentals
|
|
85
|
+
|
|
86
|
+
### What is Sizing?
|
|
87
|
+
|
|
88
|
+
Sizing refers to the dimensions of a component, such as height, width, or size variants. In the context of styling hooks, sizing refers to the fixed height or width of an element. When sizes are consistent, it's easier for users to predict where things will be on the page. This predictability makes the interface easier to use.
|
|
89
|
+
|
|
90
|
+
**Sizing defines these aspects:**
|
|
91
|
+
- Physical dimensions of elements like buttons, icons, and cards
|
|
92
|
+
- Scalable size options (small, medium, large) to accommodate different contexts
|
|
93
|
+
- Responsive behavior to ensure designs function well on all screen sizes
|
|
94
|
+
|
|
95
|
+
### Benefits of Consistent Sizing
|
|
96
|
+
|
|
97
|
+
Consistent sizing provides these benefits:
|
|
98
|
+
- **Creates predictability** by establishing recognizable component sizes
|
|
99
|
+
- **Enhances usability** by making interactive targets appropriately sized
|
|
100
|
+
- **Supports responsiveness** by providing size options that scale appropriately
|
|
101
|
+
|
|
102
|
+
### The 8-Point Grid System
|
|
103
|
+
|
|
104
|
+
While spacing uses a 4-point grid, sizing aligns with an 8-point grid system using multiples of 8. This ensures dimension values work harmoniously with the spacing system while providing appropriate scaling for component dimensions.
|
|
105
|
+
|
|
106
|
+
**System Architecture:**
|
|
107
|
+
- Smaller increments for precise control (1-9)
|
|
108
|
+
- Larger increments for major dimensions (10-16)
|
|
109
|
+
- Values are relative to root font size for scalability
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Understanding Padding vs. Margin
|
|
114
|
+
|
|
115
|
+
When implementing layouts, understand the distinction between padding and margin as they serve different purposes:
|
|
116
|
+
|
|
117
|
+
**Padding:**
|
|
118
|
+
- Controls **internal spacing** within a component
|
|
119
|
+
- Creates breathing room between a container's edge and its content
|
|
120
|
+
- Affects the component's total dimensions (when using border-box)
|
|
121
|
+
- Use spacing hooks for padding values
|
|
122
|
+
|
|
123
|
+
**Margin:**
|
|
124
|
+
- Defines **external spacing** around a component
|
|
125
|
+
- Creates separation between adjacent elements
|
|
126
|
+
- Does not affect the component's own dimensions
|
|
127
|
+
- Use spacing hooks for margin values
|
|
128
|
+
|
|
129
|
+
**Design systems follow a consistent margin strategy** so that components interact predictably and maintain harmonious spacing throughout the interface. Apply spacing values systematically rather than arbitrarily to maintain this consistency.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Implementation Workflow
|
|
134
|
+
|
|
135
|
+
Follow this sequence when implementing any spacing or sizing solution:
|
|
136
|
+
|
|
137
|
+
### Step 1: Identify the Spacing/Sizing Need
|
|
138
|
+
|
|
139
|
+
Determine what you're trying to accomplish:
|
|
140
|
+
- **For spacing:** Is this internal space (padding) or external space (margin)?
|
|
141
|
+
- **For spacing:** Does this need to adapt to density settings (use density-aware hooks)?
|
|
142
|
+
- **For sizing:** Are you setting dimensions (height/width) for an element?
|
|
143
|
+
- **For sizing:** Is this for a small element (icon, button) or larger container?
|
|
144
|
+
|
|
145
|
+
### Step 2: Choose the Appropriate Scale
|
|
146
|
+
|
|
147
|
+
Evaluate the visual hierarchy and relationship:
|
|
148
|
+
- **Smaller values (1-4):** Compact layouts, tight spacing, small elements
|
|
149
|
+
- **Medium values (5-8):** Standard spacing, common component sizes
|
|
150
|
+
- **Larger values (9-12/16):** Section spacing, large containers, major divisions
|
|
151
|
+
|
|
152
|
+
### Step 3: Apply the Styling Hook
|
|
153
|
+
|
|
154
|
+
Use the appropriate hook for your context:
|
|
155
|
+
- **Standard spacing:** `--slds-g-spacing-*` for fixed spacing values
|
|
156
|
+
- **Density-aware spacing (all sides):** `--slds-g-spacing-var-*` for adaptive spacing
|
|
157
|
+
- **Density-aware vertical spacing:** `--slds-g-spacing-var-block-*` for top/bottom adaptive spacing
|
|
158
|
+
- **Density-aware horizontal spacing:** `--slds-g-spacing-var-inline-*` for left/right adaptive spacing
|
|
159
|
+
- **Element sizing:** `--slds-g-sizing-*` for dimensions
|
|
160
|
+
|
|
161
|
+
### Step 4: Handle Exceptions
|
|
162
|
+
|
|
163
|
+
If no standard hook matches the requirement:
|
|
164
|
+
1. Document why standard patterns don't apply
|
|
165
|
+
2. Evaluate if a combination of hooks could achieve the goal
|
|
166
|
+
3. Ensure the custom approach maintains visual consistency
|
|
167
|
+
4. Flag for design system team review
|
|
168
|
+
|
|
169
|
+
### Step 5: Validate Implementation
|
|
170
|
+
|
|
171
|
+
Before finalizing, verify the implementation using the Pre-Implementation Checklist below to ensure all spacing and sizing requirements are met.
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Pre-Implementation Checklist
|
|
176
|
+
|
|
177
|
+
Before generating or modifying any spacing or sizing related code, verify:
|
|
178
|
+
|
|
179
|
+
| Requirement | Status |
|
|
180
|
+
|-------------|--------|
|
|
181
|
+
| **Need Identification** | |
|
|
182
|
+
| Spacing need identified (padding vs. margin, internal vs. external space) | [ ] |
|
|
183
|
+
| Sizing need identified (element dimensions vs. container size) | [ ] |
|
|
184
|
+
| Determined if spacing should adapt to density settings | [ ] |
|
|
185
|
+
| **Hook Selection & Scale** | |
|
|
186
|
+
| Appropriate hook selected from defined scale (no hard-coded pixel values) | [ ] |
|
|
187
|
+
| Scale value chosen matches visual hierarchy (1-4 compact, 5-8 standard, 9-12/16 sections) | [ ] |
|
|
188
|
+
| Correct hook type selected (spacing vs. spacing-var vs. sizing) | [ ] |
|
|
189
|
+
| **Grid System Alignment** | |
|
|
190
|
+
| Spacing aligns with 4-point grid system | [ ] |
|
|
191
|
+
| Sizing aligns with 8-point grid system | [ ] |
|
|
192
|
+
| **Proper Hook Usage** | |
|
|
193
|
+
| Spacing hooks used only for margins/padding (not dimensions) | [ ] |
|
|
194
|
+
| Sizing hooks used only for dimensions (not spacing) | [ ] |
|
|
195
|
+
| Semantic styling hooks used (no hard-coded values) | [ ] |
|
|
196
|
+
| **Density & Responsiveness** | |
|
|
197
|
+
| Density-aware hooks used when components need to adapt | [ ] |
|
|
198
|
+
| Density-aware hooks selected support both comfy and compact modes where applicable | [ ] |
|
|
199
|
+
| Layout responsive design requirements applied for viewport adaptability | [ ] |
|
|
200
|
+
| Works across all viewport sizes | [ ] |
|
|
201
|
+
| **Visual Consistency** | |
|
|
202
|
+
| Visual hierarchy maintained through spacing choices | [ ] |
|
|
203
|
+
| Component spacing consistent with similar elements | [ ] |
|
|
204
|
+
| Follows established patterns for similar components | [ ] |
|
|
205
|
+
|
|
206
|
+
**Target outcome:** Harmonious, predictable interfaces that maintain visual consistency and adapt seamlessly across devices, screen sizes, and user density preferences.
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Related Documentation
|
|
211
|
+
|
|
212
|
+
For detailed implementation guidance, refer to:
|
|
213
|
+
- **Spacing and Sizing Styling Hooks** - For complete hook listings, density-aware values, and usage patterns
|
|
214
|
+
- **Color Overview** - For understanding how spacing interacts with visual depth and surface layering
|
|
215
|
+
- **Accessibility Overview** - For ensuring spacing supports touch targets and keyboard navigation
|
|
216
|
+
|