@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,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.utilities.interactions
|
|
3
|
+
title: Interactions Utilities
|
|
4
|
+
description: SLDS link reset, faux link, and focus state utility classes
|
|
5
|
+
summary: "Utilities for link resets, faux links, and focus states. Enables custom link styling and accessible focus indicators."
|
|
6
|
+
|
|
7
|
+
artifact_type: reference
|
|
8
|
+
domain: utilities
|
|
9
|
+
topic: interactions
|
|
10
|
+
|
|
11
|
+
content_format: structured
|
|
12
|
+
complexity: intermediate
|
|
13
|
+
audience: [implementer]
|
|
14
|
+
|
|
15
|
+
tasks: [implement]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.utilities
|
|
19
|
+
- slds.guidance.overview.utilities
|
|
20
|
+
- slds.guidance.utilities.typography
|
|
21
|
+
|
|
22
|
+
tags: [utilities, interactions, links, focus, accessibility]
|
|
23
|
+
keywords: [slds-text-link, slds-has-blur-focus, slds-text-link_reset, slds-text-link_faux]
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Interactions - Links & Focus States
|
|
27
|
+
|
|
28
|
+
Managing link appearance, creating faux links, and implementing accessible focus states.
|
|
29
|
+
|
|
30
|
+
## Core Classes
|
|
31
|
+
|
|
32
|
+
| Class | Purpose |
|
|
33
|
+
|-------|---------|
|
|
34
|
+
| `slds-text-link_reset` | Makes links and buttons appear as regular text |
|
|
35
|
+
| `slds-text-link` | Restores link styling inside `slds-text-link_reset` |
|
|
36
|
+
| `slds-text-link_faux` | Creates underline-on-hover for non-anchor elements |
|
|
37
|
+
| `slds-type-focus` | Legacy alias for slds-text-link_faux |
|
|
38
|
+
| `slds-has-blur-focus` | Adds accessible blurred outline on focus |
|
|
39
|
+
| `slds-has-input-focus` | JavaScript-applied focus state for input containers |
|
|
40
|
+
|
|
41
|
+
## Common Patterns
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<!-- Reset link to look like plain text -->
|
|
45
|
+
<a href="/path" class="slds-text-link_reset">
|
|
46
|
+
This link looks like regular text
|
|
47
|
+
</a>
|
|
48
|
+
|
|
49
|
+
<!-- Reset with partial link styling restored -->
|
|
50
|
+
<a href="/article" class="slds-text-link_reset">
|
|
51
|
+
This article discusses important topics
|
|
52
|
+
<span class="slds-text-link">Read more</span>
|
|
53
|
+
</a>
|
|
54
|
+
|
|
55
|
+
<!-- Faux link on heading + button combo -->
|
|
56
|
+
<div class="slds-page-header__name">
|
|
57
|
+
<h1 class="slds-page-header__title slds-text-link_faux">
|
|
58
|
+
Account Name
|
|
59
|
+
</h1>
|
|
60
|
+
<button class="slds-button slds-button_icon slds-text-link_faux">
|
|
61
|
+
<svg class="slds-button__icon">...</svg>
|
|
62
|
+
</button>
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
<!-- Accessible blur focus on custom button -->
|
|
66
|
+
<button class="slds-button slds-has-blur-focus">
|
|
67
|
+
Custom Action
|
|
68
|
+
</button>
|
|
69
|
+
|
|
70
|
+
<!-- Input container with JavaScript focus state -->
|
|
71
|
+
<div class="slds-form-element__control" id="input-container">
|
|
72
|
+
<input class="slds-input"
|
|
73
|
+
onfocus="document.getElementById('input-container').classList.add('slds-has-input-focus')"
|
|
74
|
+
onblur="document.getElementById('input-container').classList.remove('slds-has-input-focus')" />
|
|
75
|
+
</div>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Best Practices
|
|
79
|
+
|
|
80
|
+
✅ Use `slds-text-link_reset` to remove default link styling
|
|
81
|
+
✅ Use `slds-text-link_faux` for non-anchor elements that need link behavior
|
|
82
|
+
✅ Use `slds-has-blur-focus` for keyboard navigation accessibility
|
|
83
|
+
✅ Apply `slds-has-input-focus` via JavaScript when input receives focus
|
|
84
|
+
✅ Combine `slds-text-link_reset` with `slds-text-link` for partial link styling
|
|
85
|
+
|
|
86
|
+
❌ Don't use `slds-text-link_faux` on actual anchor elements
|
|
87
|
+
❌ Don't forget to handle both focus and blur events for `slds-has-input-focus`
|
|
88
|
+
❌ Don't remove focus indicators without providing alternatives
|
|
89
|
+
❌ Don't apply multiple interaction utilities to the same element
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.utilities.layout
|
|
3
|
+
title: Layout Utilities
|
|
4
|
+
description: SLDS layout utility classes for global spacing and component connection
|
|
5
|
+
summary: "Utilities for global spacing (has-buffer, has-full-bleed, magnet utilities). Provides consistent buffer margins, full-bleed layouts, and seamless card connections."
|
|
6
|
+
|
|
7
|
+
artifact_type: reference
|
|
8
|
+
domain: utilities
|
|
9
|
+
topic: layout
|
|
10
|
+
|
|
11
|
+
content_format: structured
|
|
12
|
+
complexity: intermediate
|
|
13
|
+
audience: [implementer]
|
|
14
|
+
|
|
15
|
+
tasks: [implement]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.utilities
|
|
19
|
+
- slds.guidance.overview.utilities
|
|
20
|
+
- slds.guidance.hooks.spacing
|
|
21
|
+
|
|
22
|
+
tags: [utilities, layout, spacing, magnet]
|
|
23
|
+
keywords: [slds-has-buffer, slds-has-full-bleed, slds-has-magnet]
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Layout - Global Spacing & Component Connection
|
|
27
|
+
|
|
28
|
+
Global spacing management and seamless component connections.
|
|
29
|
+
|
|
30
|
+
## Core Classes
|
|
31
|
+
|
|
32
|
+
| Class | Purpose |
|
|
33
|
+
|-------|---------|
|
|
34
|
+
| `slds-has-buffer` | Applies consistent global margin using `--slds-g-spacing-3` token |
|
|
35
|
+
| `slds-has-full-bleed` | Removes all margins to create full-bleed layouts |
|
|
36
|
+
| `slds-has-bottom-magnet` | Removes bottom margin and border radius to connect with element below |
|
|
37
|
+
| `slds-has-top-magnet` | Removes top margin and border radius to connect with element above |
|
|
38
|
+
|
|
39
|
+
## Common Patterns
|
|
40
|
+
|
|
41
|
+
### Standard Buffer Spacing
|
|
42
|
+
```html
|
|
43
|
+
<!-- Apply consistent spacing around cards -->
|
|
44
|
+
<div class="slds-card slds-has-buffer">
|
|
45
|
+
<div class="slds-card__header">Card with buffer margin</div>
|
|
46
|
+
<div class="slds-card__body">Content has global spacing on all sides</div>
|
|
47
|
+
</div>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Full-Bleed Hero Section
|
|
51
|
+
```html
|
|
52
|
+
<!-- Remove margins for edge-to-edge layouts -->
|
|
53
|
+
<div class="slds-page-header slds-has-full-bleed">
|
|
54
|
+
<div class="slds-page-header__row">
|
|
55
|
+
<div class="slds-page-header__col-title">Full-width header with no margins</div>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Connected Card Components
|
|
61
|
+
```html
|
|
62
|
+
<!-- Connect two cards vertically without gap -->
|
|
63
|
+
<div class="slds-card slds-has-bottom-magnet">
|
|
64
|
+
<div class="slds-card__header">First Card</div>
|
|
65
|
+
<div class="slds-card__body">This card connects to the one below</div>
|
|
66
|
+
</div>
|
|
67
|
+
<div class="slds-card slds-has-top-magnet">
|
|
68
|
+
<div class="slds-card__header">Second Card</div>
|
|
69
|
+
<div class="slds-card__body">Appears seamlessly connected to card above</div>
|
|
70
|
+
</div>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Multiple Connected Components
|
|
74
|
+
```html
|
|
75
|
+
<!-- Chain multiple cards together -->
|
|
76
|
+
<div class="slds-box slds-has-bottom-magnet">
|
|
77
|
+
<h2>Section Header</h2>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="slds-card slds-has-top-magnet slds-has-bottom-magnet">
|
|
80
|
+
<div class="slds-card__body">Middle card connected on both sides</div>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="slds-box slds-has-top-magnet">
|
|
83
|
+
<p>Footer content</p>
|
|
84
|
+
</div>
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Combined Buffer and Magnet
|
|
88
|
+
```html
|
|
89
|
+
<!-- Use buffer with magnet for special layouts -->
|
|
90
|
+
<div class="slds-card slds-has-buffer slds-has-bottom-magnet">
|
|
91
|
+
<div class="slds-card__body">Card with side margins but connected below</div>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="slds-card slds-has-top-magnet slds-has-buffer">
|
|
94
|
+
<!-- Special case: removes bottom margin, border-radius, top border, and box-shadow -->
|
|
95
|
+
<div class="slds-card__body">Connected card with modified buffer behavior</div>
|
|
96
|
+
</div>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Best Practices
|
|
100
|
+
|
|
101
|
+
✅ Use `slds-has-buffer` on cards and boxes for consistent component spacing
|
|
102
|
+
✅ Apply magnet utilities to Cards, Page Headers, and Box components
|
|
103
|
+
✅ Use `slds-has-bottom-magnet` on the top component and `slds-has-top-magnet` on the bottom component
|
|
104
|
+
✅ Use `slds-has-full-bleed` for hero sections and full-width backgrounds
|
|
105
|
+
|
|
106
|
+
❌ Avoid using magnet utilities on non-card-like elements
|
|
107
|
+
❌ Do not mix magnet utilities with custom margin styles
|
|
108
|
+
❌ Never apply `slds-has-full-bleed` to components that need spacing
|
|
109
|
+
❌ Do not use magnet utilities when visual separation is needed
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.utilities.line-clamp
|
|
3
|
+
title: Line-clamp Utilities
|
|
4
|
+
description: SLDS line-clamp utility classes for multi-line text truncation
|
|
5
|
+
summary: "Utilities for multi-line text truncation (2-7 lines). Provides controlled text overflow with ellipsis for readable content length management."
|
|
6
|
+
|
|
7
|
+
artifact_type: reference
|
|
8
|
+
domain: utilities
|
|
9
|
+
topic: line-clamp
|
|
10
|
+
|
|
11
|
+
content_format: structured
|
|
12
|
+
complexity: intermediate
|
|
13
|
+
audience: [implementer]
|
|
14
|
+
|
|
15
|
+
tasks: [implement]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.utilities
|
|
19
|
+
- slds.guidance.overview.utilities
|
|
20
|
+
- slds.guidance.utilities.truncate
|
|
21
|
+
|
|
22
|
+
tags: [utilities, line-clamp, truncation, text]
|
|
23
|
+
keywords: [slds-line-clamp, text-truncation, ellipsis, multi-line]
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Line Clamp - Multi-line Text Truncation
|
|
27
|
+
|
|
28
|
+
Controlled multi-line text truncation with ellipsis.
|
|
29
|
+
|
|
30
|
+
## Line Limit Scale
|
|
31
|
+
|
|
32
|
+
| Class | Lines | Use Case |
|
|
33
|
+
|-------|-------|----------|
|
|
34
|
+
| `slds-line-clamp` | 3 lines | Default truncation for card descriptions |
|
|
35
|
+
| `slds-line-clamp_x-small` | 2 lines | Compact list items and previews |
|
|
36
|
+
| `slds-line-clamp_small` | 3 lines | Standard card and tile descriptions |
|
|
37
|
+
| `slds-line-clamp_medium` | 5 lines | Extended previews and summaries |
|
|
38
|
+
| `slds-line-clamp_large` | 7 lines | Long-form content with controlled height |
|
|
39
|
+
|
|
40
|
+
## Common Patterns
|
|
41
|
+
|
|
42
|
+
### Card Description Truncation
|
|
43
|
+
```html
|
|
44
|
+
<!-- Standard 3-line truncation for card descriptions -->
|
|
45
|
+
<div class="slds-card">
|
|
46
|
+
<div class="slds-card__body">
|
|
47
|
+
<p class="slds-line-clamp">
|
|
48
|
+
This is a long description that will be truncated after three lines
|
|
49
|
+
of text. Any content beyond the third line will be hidden with an
|
|
50
|
+
ellipsis to indicate more content is available.
|
|
51
|
+
</p>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Compact List Item Preview
|
|
57
|
+
```html
|
|
58
|
+
<!-- 2-line truncation for list items -->
|
|
59
|
+
<ul class="slds-has-dividers_bottom">
|
|
60
|
+
<li class="slds-item">
|
|
61
|
+
<div class="slds-line-clamp_x-small">
|
|
62
|
+
Item description that displays only two lines before truncating
|
|
63
|
+
with ellipsis for space-efficient list layouts.
|
|
64
|
+
</div>
|
|
65
|
+
</li>
|
|
66
|
+
</ul>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Extended Article Summary
|
|
70
|
+
```html
|
|
71
|
+
<!-- 5-line truncation for article previews -->
|
|
72
|
+
<article class="slds-box">
|
|
73
|
+
<h3 class="slds-text-heading_small">Article Title</h3>
|
|
74
|
+
<div class="slds-line-clamp_medium">
|
|
75
|
+
This article summary can display up to five lines of content before
|
|
76
|
+
truncation occurs. This provides enough context for readers to understand
|
|
77
|
+
the main points while maintaining consistent layout height across
|
|
78
|
+
multiple article cards in a grid or list view.
|
|
79
|
+
</div>
|
|
80
|
+
</article>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Long-form Content Preview
|
|
84
|
+
```html
|
|
85
|
+
<!-- 7-line truncation for detailed previews -->
|
|
86
|
+
<div class="slds-panel">
|
|
87
|
+
<div class="slds-panel__body">
|
|
88
|
+
<div class="slds-line-clamp_large">
|
|
89
|
+
Extended content preview that allows up to seven lines of text
|
|
90
|
+
to be displayed. This is useful for detailed descriptions,
|
|
91
|
+
documentation excerpts, or any scenario where more context is
|
|
92
|
+
beneficial while still maintaining a maximum height constraint
|
|
93
|
+
for consistent layouts across different content lengths.
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Responsive Text Truncation
|
|
100
|
+
```html
|
|
101
|
+
<!-- Different truncation levels for different contexts -->
|
|
102
|
+
<div class="slds-grid slds-wrap">
|
|
103
|
+
<div class="slds-col slds-size_1-of-2">
|
|
104
|
+
<h4>Product Name</h4>
|
|
105
|
+
<p class="slds-line-clamp_x-small">
|
|
106
|
+
Brief product description limited to two lines
|
|
107
|
+
</p>
|
|
108
|
+
</div>
|
|
109
|
+
<div class="slds-col slds-size_1-of-2">
|
|
110
|
+
<h4>Product Details</h4>
|
|
111
|
+
<p class="slds-line-clamp_medium">
|
|
112
|
+
More detailed product information that can extend
|
|
113
|
+
up to five lines before being truncated
|
|
114
|
+
</p>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Best Practices
|
|
120
|
+
|
|
121
|
+
✅ Apply line-clamp classes directly to text elements (`<p>`, `<div>`, `<span>`)
|
|
122
|
+
✅ Use `slds-line-clamp_x-small` (2 lines) for compact layouts and list items
|
|
123
|
+
✅ Use `slds-line-clamp` or `slds-line-clamp_small` (3 lines) for standard card descriptions
|
|
124
|
+
✅ Use `slds-line-clamp_medium` (5 lines) for extended previews
|
|
125
|
+
✅ Test truncation with actual content to ensure readability
|
|
126
|
+
✅ Provide "Show More" functionality when truncated content needs full access
|
|
127
|
+
|
|
128
|
+
❌ Do not apply to container elements with HTML children
|
|
129
|
+
❌ Never use on elements containing interactive components
|
|
130
|
+
❌ Do not rely on line-clamp for IE11 support (uses -webkit-line-clamp)
|
|
131
|
+
❌ Avoid using with single-line truncation (use [Truncate Utilities](ref:slds.guidance.utilities.truncate) instead)
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.utilities.margin
|
|
3
|
+
title: Margin Utilities
|
|
4
|
+
description: SLDS margin utility classes for external spacing
|
|
5
|
+
summary: "Utilities for external spacing. Includes directional (top/right/bottom/left), aggregate (horizontal/vertical/around), and variable density classes. Base unit 4px with sizes from xxx-small (2px) to xx-large (48px)."
|
|
6
|
+
|
|
7
|
+
artifact_type: reference
|
|
8
|
+
domain: utilities
|
|
9
|
+
topic: margin
|
|
10
|
+
|
|
11
|
+
content_format: structured
|
|
12
|
+
complexity: intermediate
|
|
13
|
+
audience: [implementer]
|
|
14
|
+
|
|
15
|
+
tasks: [implement]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.utilities
|
|
19
|
+
- slds.guidance.overview.utilities
|
|
20
|
+
- slds.guidance.utilities.padding
|
|
21
|
+
- slds.guidance.hooks.spacing
|
|
22
|
+
|
|
23
|
+
tags: [utilities, margin, spacing, external-spacing]
|
|
24
|
+
keywords: [slds-m, margin, external spacing, whitespace]
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Margin - External Spacing
|
|
28
|
+
|
|
29
|
+
External spacing between elements. Base unit: **4px**.
|
|
30
|
+
|
|
31
|
+
## Size Scale
|
|
32
|
+
|
|
33
|
+
| Size | Class Suffix | Value | Pixels |
|
|
34
|
+
|------|-------------|-------|--------|
|
|
35
|
+
| None | `none` | 0 | 0px |
|
|
36
|
+
| XXX Small | `xxx-small` | 0.125rem | 2px |
|
|
37
|
+
| XX Small | `xx-small` | 0.25rem | 4px |
|
|
38
|
+
| X Small | `x-small` | 0.5rem | 8px |
|
|
39
|
+
| Small | `small` | 0.75rem | 12px |
|
|
40
|
+
| Medium | `medium` | 1rem | 16px |
|
|
41
|
+
| Large | `large` | 1.5rem | 24px |
|
|
42
|
+
| X Large | `x-large` | 2rem | 32px |
|
|
43
|
+
| XX Large | `xx-large` | 3rem | 48px |
|
|
44
|
+
|
|
45
|
+
## Core Classes
|
|
46
|
+
|
|
47
|
+
### Directional Margins
|
|
48
|
+
|
|
49
|
+
| Class | Purpose |
|
|
50
|
+
|-------|---------|
|
|
51
|
+
| `slds-m-top_*` | Applies margin to the top edge |
|
|
52
|
+
| `slds-m-right_*` | Applies margin to the right edge |
|
|
53
|
+
| `slds-m-bottom_*` | Applies margin to the bottom edge |
|
|
54
|
+
| `slds-m-left_*` | Applies margin to the left edge |
|
|
55
|
+
|
|
56
|
+
### Aggregate Margins
|
|
57
|
+
|
|
58
|
+
| Class | Purpose |
|
|
59
|
+
|-------|---------|
|
|
60
|
+
| `slds-m-horizontal_*` | Applies margin to left and right edges |
|
|
61
|
+
| `slds-m-vertical_*` | Applies margin to top and bottom edges |
|
|
62
|
+
| `slds-m-around_*` | Applies margin to all four edges |
|
|
63
|
+
|
|
64
|
+
### Variable Density Classes
|
|
65
|
+
|
|
66
|
+
| Class | Purpose | Comfy | Compact |
|
|
67
|
+
|-------|---------|-------|---------|
|
|
68
|
+
| `slds-var-m-top_*` | Variable density top margin | Full size | 50% size |
|
|
69
|
+
| `slds-var-m-right_*` | Variable density right margin | Full size | 50% size |
|
|
70
|
+
| `slds-var-m-bottom_*` | Variable density bottom margin | Full size | 50% size |
|
|
71
|
+
| `slds-var-m-left_*` | Variable density left margin | Full size | 50% size |
|
|
72
|
+
| `slds-var-m-horizontal_*` | Variable density horizontal margins | Full size | 50% size |
|
|
73
|
+
| `slds-var-m-vertical_*` | Variable density vertical margins | Full size | 50% size |
|
|
74
|
+
| `slds-var-m-around_*` | Variable density all sides | Full size | 50% size |
|
|
75
|
+
|
|
76
|
+
## Common Patterns
|
|
77
|
+
|
|
78
|
+
```html
|
|
79
|
+
<!-- Card stack with consistent spacing -->
|
|
80
|
+
<div class="slds-card slds-m-bottom_medium">
|
|
81
|
+
<!-- Card content -->
|
|
82
|
+
</div>
|
|
83
|
+
<div class="slds-card slds-m-bottom_medium">
|
|
84
|
+
<!-- Card content -->
|
|
85
|
+
</div>
|
|
86
|
+
<div class="slds-card">
|
|
87
|
+
<!-- Last card needs no bottom margin -->
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
<!-- Button group with horizontal spacing -->
|
|
91
|
+
<div class="slds-button-group">
|
|
92
|
+
<button class="slds-button slds-button_neutral">Cancel</button>
|
|
93
|
+
<button class="slds-button slds-button_brand slds-m-left_small">Save</button>
|
|
94
|
+
<button class="slds-button slds-button_brand slds-m-left_small">Save & New</button>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<!-- Page sections with vertical rhythm -->
|
|
98
|
+
<section class="slds-m-vertical_large">
|
|
99
|
+
<h2 class="slds-text-heading_medium slds-m-bottom_small">Section Title</h2>
|
|
100
|
+
<div class="slds-m-bottom_medium">
|
|
101
|
+
<!-- Section content -->
|
|
102
|
+
</div>
|
|
103
|
+
</section>
|
|
104
|
+
|
|
105
|
+
<!-- Responsive form layout with variable density -->
|
|
106
|
+
<div class="slds-form-element slds-var-m-bottom_medium">
|
|
107
|
+
<label class="slds-form-element__label">Field Label</label>
|
|
108
|
+
<input class="slds-input" />
|
|
109
|
+
</div>
|
|
110
|
+
<div class="slds-form-element slds-var-m-bottom_medium">
|
|
111
|
+
<label class="slds-form-element__label">Another Field</label>
|
|
112
|
+
<input class="slds-input" />
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
<!-- Remove default margins when needed -->
|
|
116
|
+
<ul class="slds-m-around_none">
|
|
117
|
+
<li>List item without inherited margins</li>
|
|
118
|
+
<li>Another item</li>
|
|
119
|
+
</ul>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Implementation Guidelines
|
|
123
|
+
|
|
124
|
+
### Standard Spacing Values
|
|
125
|
+
|
|
126
|
+
| Context | Recommended Class | Size |
|
|
127
|
+
|---------|------------------|------|
|
|
128
|
+
| Between cards/tiles | `slds-m-bottom_medium` | 16px |
|
|
129
|
+
| Between buttons | `slds-m-left_small` | 12px |
|
|
130
|
+
| Between form fields | `slds-m-bottom_medium` | 16px |
|
|
131
|
+
| Between page sections | `slds-m-vertical_large` | 24px |
|
|
132
|
+
| Icon to text | `slds-m-right_x-small` | 8px |
|
|
133
|
+
| Dense layouts | `slds-m-around_small` | 12px |
|
|
134
|
+
| Remove spacing | `slds-m-around_none` | 0px |
|
|
135
|
+
|
|
136
|
+
### Responsive Considerations
|
|
137
|
+
|
|
138
|
+
Use variable density classes for layouts that adapt to user preferences:
|
|
139
|
+
- Desktop comfy mode: Full spacing values
|
|
140
|
+
- Desktop compact mode: 50% reduced spacing
|
|
141
|
+
- Mobile: Consider using smaller sizes by default
|
|
142
|
+
|
|
143
|
+
## Best Practices
|
|
144
|
+
|
|
145
|
+
✅ Use `slds-m-bottom_medium` (16px) between stacked components
|
|
146
|
+
✅ Use `slds-m-left_small` (12px) between inline buttons
|
|
147
|
+
✅ Use `slds-m-vertical_large` (24px) between major page sections
|
|
148
|
+
✅ Use `slds-m-around_none` to remove default element margins
|
|
149
|
+
✅ Use variable density classes (`slds-var-m-*`) for responsive layouts
|
|
150
|
+
✅ Apply margins to the element that needs spacing from its siblings
|
|
151
|
+
|
|
152
|
+
❌ Don't use margins larger than `xx-large` (48px)
|
|
153
|
+
❌ Don't apply both top and bottom margins when one suffices
|
|
154
|
+
❌ Don't mix standard and variable density classes on the same element
|
|
155
|
+
❌ Don't use margin for internal spacing - use [Padding Utilities](ref:slds.guidance.utilities.padding) instead
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.utilities.media-object
|
|
3
|
+
title: Media Object Utilities
|
|
4
|
+
description: SLDS media object utility classes for image and text layouts
|
|
5
|
+
summary: "Utilities for image+text layouts. Provides flexible pairing of media elements (icons/images) with text content. Includes size variants (small/large), positioning (left/right/center), and responsive stacking."
|
|
6
|
+
|
|
7
|
+
artifact_type: reference
|
|
8
|
+
domain: utilities
|
|
9
|
+
topic: media-object
|
|
10
|
+
|
|
11
|
+
content_format: structured
|
|
12
|
+
complexity: intermediate
|
|
13
|
+
audience: [implementer]
|
|
14
|
+
|
|
15
|
+
tasks: [implement]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.utilities
|
|
19
|
+
- slds.guidance.overview.utilities
|
|
20
|
+
- slds.guidance.hooks.spacing
|
|
21
|
+
|
|
22
|
+
tags: [utilities, media-object, layout, flexbox]
|
|
23
|
+
keywords: [slds-media, media object, figure, image layout]
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Media Object - Image & Text Layouts
|
|
27
|
+
|
|
28
|
+
Flexible image and text pairing layouts using flexbox.
|
|
29
|
+
|
|
30
|
+
## Core Classes
|
|
31
|
+
|
|
32
|
+
| Class | Purpose |
|
|
33
|
+
|-------|---------|
|
|
34
|
+
| `slds-media` | Creates flex container for media object layout |
|
|
35
|
+
| `slds-media__figure` | Container for media element (image/icon/avatar) |
|
|
36
|
+
| `slds-media__body` | Container for text content next to figure |
|
|
37
|
+
| `slds-media__figure_reverse` | Positions figure on the right side instead of left |
|
|
38
|
+
|
|
39
|
+
## Size Variants
|
|
40
|
+
|
|
41
|
+
| Class | Purpose | Spacing |
|
|
42
|
+
|-------|---------|---------|
|
|
43
|
+
| `slds-media_small` | Reduces spacing between figure and body | 8px (`--slds-g-spacing-2`) |
|
|
44
|
+
| Default spacing | Standard spacing between figure and body | 12px (`--slds-g-spacing-3`) |
|
|
45
|
+
| `slds-media_large` | Increases spacing between figure and body | 20px (`--slds-g-spacing-5`) |
|
|
46
|
+
|
|
47
|
+
## Layout Modifiers
|
|
48
|
+
|
|
49
|
+
| Class | Purpose |
|
|
50
|
+
|-------|---------|
|
|
51
|
+
| `slds-media_center` | Vertically centers figure and body content |
|
|
52
|
+
| `slds-media_inline` | Makes body flow inline instead of taking full width |
|
|
53
|
+
| `slds-media_responsive` | Stacks figure above body on smaller screens |
|
|
54
|
+
| `slds-media__figure_fixed-width` | Sets fixed width on figure container (40px) |
|
|
55
|
+
|
|
56
|
+
## Common Patterns
|
|
57
|
+
|
|
58
|
+
```html
|
|
59
|
+
<!-- Basic media object with avatar and text -->
|
|
60
|
+
<div class="slds-media">
|
|
61
|
+
<div class="slds-media__figure">
|
|
62
|
+
<span class="slds-avatar slds-avatar_circle slds-avatar_medium">
|
|
63
|
+
<img src="/avatar.jpg" alt="User" />
|
|
64
|
+
</span>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="slds-media__body">
|
|
67
|
+
<h3 class="slds-text-heading_small">John Smith</h3>
|
|
68
|
+
<p class="slds-text-body_regular">Sales Representative</p>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
<!-- Vertically centered icon and text -->
|
|
73
|
+
<div class="slds-media slds-media_center">
|
|
74
|
+
<div class="slds-media__figure">
|
|
75
|
+
<span class="slds-icon_container slds-icon-standard-account">
|
|
76
|
+
<svg class="slds-icon slds-icon_small">
|
|
77
|
+
<use href="/icons/standard-sprite.svg#account"></use>
|
|
78
|
+
</svg>
|
|
79
|
+
</span>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="slds-media__body">
|
|
82
|
+
<p>Acme Corporation</p>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
<!-- Figure on right side -->
|
|
87
|
+
<div class="slds-media">
|
|
88
|
+
<div class="slds-media__body">
|
|
89
|
+
<h4>Notification Settings</h4>
|
|
90
|
+
<p>Email notifications are enabled</p>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="slds-media__figure slds-media__figure_reverse">
|
|
93
|
+
<button class="slds-button slds-button_icon">
|
|
94
|
+
<svg class="slds-button__icon">
|
|
95
|
+
<use href="/icons/utility-sprite.svg#settings"></use>
|
|
96
|
+
</svg>
|
|
97
|
+
</button>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
|
|
101
|
+
<!-- Small spacing variant for compact lists -->
|
|
102
|
+
<ul>
|
|
103
|
+
<li class="slds-media slds-media_small">
|
|
104
|
+
<div class="slds-media__figure">
|
|
105
|
+
<span class="slds-icon_container">
|
|
106
|
+
<svg class="slds-icon slds-icon_x-small">
|
|
107
|
+
<use href="/icons/utility-sprite.svg#file"></use>
|
|
108
|
+
</svg>
|
|
109
|
+
</span>
|
|
110
|
+
</div>
|
|
111
|
+
<div class="slds-media__body">
|
|
112
|
+
<span>Document.pdf</span>
|
|
113
|
+
</div>
|
|
114
|
+
</li>
|
|
115
|
+
</ul>
|
|
116
|
+
|
|
117
|
+
<!-- Responsive stacking for mobile -->
|
|
118
|
+
<div class="slds-media slds-media_responsive">
|
|
119
|
+
<div class="slds-media__figure">
|
|
120
|
+
<img src="/product.jpg" alt="Product" width="120" />
|
|
121
|
+
</div>
|
|
122
|
+
<div class="slds-media__body">
|
|
123
|
+
<h3>Product Name</h3>
|
|
124
|
+
<p>Product description that will stack below image on mobile devices</p>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Implementation Guidelines
|
|
130
|
+
|
|
131
|
+
### Component Combinations
|
|
132
|
+
|
|
133
|
+
| Use Case | Classes | Description |
|
|
134
|
+
|----------|---------|-------------|
|
|
135
|
+
| Avatar with name | `slds-media` | Standard user profile display |
|
|
136
|
+
| Icon with label | `slds-media slds-media_center slds-media_small` | Compact icon labels |
|
|
137
|
+
| Product image with details | `slds-media slds-media_large` | E-commerce layouts |
|
|
138
|
+
| Notification with action | `slds-media` + `slds-media__figure_reverse` | Action button on right |
|
|
139
|
+
| Mobile-friendly layout | `slds-media slds-media_responsive` | Stacks on small screens |
|
|
140
|
+
|
|
141
|
+
### Spacing Guidelines
|
|
142
|
+
|
|
143
|
+
| Context | Recommended Variant | Gap Size |
|
|
144
|
+
|---------|-------------------|----------|
|
|
145
|
+
| List items | `slds-media_small` | 8px |
|
|
146
|
+
| Standard cards | Default (no modifier) | 12px |
|
|
147
|
+
| Featured content | `slds-media_large` | 20px |
|
|
148
|
+
|
|
149
|
+
## Best Practices
|
|
150
|
+
|
|
151
|
+
✅ Use `slds-media__body` for text content to enable proper truncation
|
|
152
|
+
✅ Use `slds-media_center` when icon and text should align middle
|
|
153
|
+
✅ Use `slds-media_small` for compact list items
|
|
154
|
+
✅ Use `slds-media_responsive` for mobile-optimized layouts
|
|
155
|
+
✅ Place avatars and icons in `slds-media__figure`
|
|
156
|
+
✅ Use `min-width: 0` on body for text truncation support
|
|
157
|
+
|
|
158
|
+
❌ Don't nest media objects more than 2 levels deep
|
|
159
|
+
❌ Don't use media objects for complex grid layouts
|
|
160
|
+
❌ Don't forget `slds-media__figure` wrapper for images
|
|
161
|
+
❌ Don't apply spacing utilities directly to figure or body
|