@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,288 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.development
|
|
3
|
+
title: SLDS Development Guide
|
|
4
|
+
description: Root-level guidance for generating or optimizing SLDS-compliant code
|
|
5
|
+
summary: "Comprehensive development guide covering the component selection hierarchy (LBC → Blueprints → Hooks → Custom), framework-specific patterns, styling hooks usage, linter resolution, naming conventions, and code generation best practices."
|
|
6
|
+
|
|
7
|
+
artifact_type: guide
|
|
8
|
+
domain: development
|
|
9
|
+
topic: development
|
|
10
|
+
|
|
11
|
+
content_format: structured
|
|
12
|
+
complexity: intermediate
|
|
13
|
+
audience: [implementer]
|
|
14
|
+
|
|
15
|
+
tasks: [learn, implement, choose]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.hooks.typography
|
|
19
|
+
- slds.guidance.hooks.spacing
|
|
20
|
+
- slds.guidance.uplift
|
|
21
|
+
- slds.guidance.hooks
|
|
22
|
+
- slds.guidance.hooks.color
|
|
23
|
+
- slds.guidance.blueprints
|
|
24
|
+
- slds.guidance.utilities
|
|
25
|
+
- slds.guidance.icons
|
|
26
|
+
- slds.guidance.design
|
|
27
|
+
|
|
28
|
+
tags: [development, lwc, slds, theming, styling-hooks]
|
|
29
|
+
keywords: [component hierarchy, Lightning Base Components, SLDS Blueprints, styling hooks, utility classes, code generation, linter, naming conventions]
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# SLDS Development Guide
|
|
33
|
+
|
|
34
|
+
Root-level guidance for AI coding agents generating or optimizing SLDS-compliant code.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## What is SLDS?
|
|
39
|
+
|
|
40
|
+
The **Salesforce Lightning Design System** provides:
|
|
41
|
+
|
|
42
|
+
| Resource | Description |
|
|
43
|
+
|----------|-------------|
|
|
44
|
+
| **Lightning Base Components** | Pre-built LWC components with accessibility and theming built-in |
|
|
45
|
+
| **SLDS Blueprints** | CSS/HTML patterns for any framework (React, Vue, Angular, vanilla JS) |
|
|
46
|
+
| **Styling Hooks** | CSS custom properties (`--slds-g-*`) for theming |
|
|
47
|
+
| **Utility Classes** | Rapid styling classes for spacing, layout, visibility |
|
|
48
|
+
| **Icons** | SVG icons across action, utility, standard, custom, and doctype categories |
|
|
49
|
+
|
|
50
|
+
> **Version Note:** This guide targets **SLDS v2**. Legacy `--lwc-*` tokens and `slds-*--modifier` class syntax are deprecated.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Component Selection Hierarchy
|
|
55
|
+
|
|
56
|
+
**Always follow this order when building UI:**
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
60
|
+
│ 1. Lightning Base Components (LWC only) │
|
|
61
|
+
├─────────────────────────────────────────────────────────────┤
|
|
62
|
+
│ 2. SLDS Blueprints (any framework) │
|
|
63
|
+
├─────────────────────────────────────────────────────────────┤
|
|
64
|
+
│ 3. Custom with Styling Hooks │
|
|
65
|
+
├─────────────────────────────────────────────────────────────┤
|
|
66
|
+
│ 4. Custom CSS (last resort, still use hooks for values) │
|
|
67
|
+
└─────────────────────────────────────────────────────────────┘
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Level 1: Lightning Base Components (LWC Only)
|
|
71
|
+
|
|
72
|
+
Pre-built, accessible, themed components. **Always check first for LWC projects.**
|
|
73
|
+
|
|
74
|
+
| Component | Use Case |
|
|
75
|
+
|-----------|----------|
|
|
76
|
+
| `lightning-button` | All button actions |
|
|
77
|
+
| `lightning-input` | Text, email, number, date inputs |
|
|
78
|
+
| `lightning-combobox` | Dropdown selection |
|
|
79
|
+
| `lightning-datatable` | Tabular data with sorting/selection |
|
|
80
|
+
| `lightning-card` | Content containers |
|
|
81
|
+
| `lightning-modal` | Dialog overlays |
|
|
82
|
+
|
|
83
|
+
### Level 2: SLDS Blueprints
|
|
84
|
+
|
|
85
|
+
HTML/CSS patterns for non-LWC frameworks or when no Lightning Base Component exists.
|
|
86
|
+
|
|
87
|
+
### Level 3: Styling Hooks
|
|
88
|
+
|
|
89
|
+
CSS custom properties for theming. Use when customizing appearance.
|
|
90
|
+
|
|
91
|
+
```css
|
|
92
|
+
.my-card {
|
|
93
|
+
background: var(--slds-g-color-surface-1);
|
|
94
|
+
padding: var(--slds-g-spacing-4);
|
|
95
|
+
border-radius: var(--slds-g-radius-border-2);
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Level 4: Custom CSS
|
|
100
|
+
|
|
101
|
+
**Only when no hook exists for the property.** See [When Hooks Don't Exist](#when-hooks-dont-exist).
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Framework-Specific Patterns
|
|
106
|
+
|
|
107
|
+
### LWC Layout
|
|
108
|
+
|
|
109
|
+
```html
|
|
110
|
+
<!-- Use lightning-layout for responsive grids -->
|
|
111
|
+
<lightning-layout multiple-rows>
|
|
112
|
+
<lightning-layout-item size="12" medium-device-size="6">
|
|
113
|
+
<lightning-card title="Card 1">Content</lightning-card>
|
|
114
|
+
</lightning-layout-item>
|
|
115
|
+
</lightning-layout>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Non-LWC Layout (React, Vue, Angular)
|
|
119
|
+
|
|
120
|
+
```html
|
|
121
|
+
<!-- Use SLDS grid classes -->
|
|
122
|
+
<div class="slds-grid slds-wrap slds-gutters">
|
|
123
|
+
<div class="slds-col slds-size_1-of-1 slds-medium-size_1-of-2">
|
|
124
|
+
<!-- Content -->
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Common Patterns Quick Reference
|
|
132
|
+
|
|
133
|
+
| Pattern | LWC Component | Blueprint |
|
|
134
|
+
|---------|---------------|-----------|
|
|
135
|
+
| Forms | `lightning-input`, `lightning-combobox` | Input, Combobox |
|
|
136
|
+
| Data Tables | `lightning-datatable` | Data Tables |
|
|
137
|
+
| Modals | `lightning-modal` | Modals |
|
|
138
|
+
| Cards | `lightning-card` | Cards |
|
|
139
|
+
|
|
140
|
+
**Form validation pattern (LWC):**
|
|
141
|
+
```javascript
|
|
142
|
+
handleSubmit() {
|
|
143
|
+
const allValid = [...this.template.querySelectorAll('lightning-input')]
|
|
144
|
+
.reduce((valid, input) => input.reportValidity() && valid, true);
|
|
145
|
+
if (allValid) { /* submit */ }
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Modal pattern (LWC):**
|
|
150
|
+
```javascript
|
|
151
|
+
import LightningModal from 'lightning/modal';
|
|
152
|
+
export default class MyModal extends LightningModal {
|
|
153
|
+
handleClose() { this.close('result'); }
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Core Rules
|
|
160
|
+
|
|
161
|
+
### Do ✅
|
|
162
|
+
- Follow hierarchy: LBC → Blueprints → Styling Hooks → Custom CSS
|
|
163
|
+
- Use `var(--slds-g-*)` with fallbacks for all themeable values
|
|
164
|
+
- Create custom classes (e.g., `my-*`) instead of overriding `.slds-*`
|
|
165
|
+
- Verify components/hooks exist before implementing
|
|
166
|
+
|
|
167
|
+
### Don't ❌
|
|
168
|
+
- Hard-code colors, spacing, or typography
|
|
169
|
+
- Override `.slds-*` classes directly
|
|
170
|
+
- Use deprecated `--lwc-*` tokens as primary values
|
|
171
|
+
- Use color alone to convey meaning
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## When Hooks Don't Exist
|
|
176
|
+
|
|
177
|
+
Not all CSS properties have styling hooks. Use this decision tree:
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
Does a styling hook exist for this property?
|
|
181
|
+
├─ YES → Use the hook with fallback: var(--slds-g-*, fallback)
|
|
182
|
+
├─ NO → Is there a utility class?
|
|
183
|
+
│ ├─ YES → Use the utility class
|
|
184
|
+
│ └─ NO → Use minimal custom CSS with:
|
|
185
|
+
│ 1. Custom class (my-*, c-*)
|
|
186
|
+
│ 2. Document why no hook/utility exists
|
|
187
|
+
│ 3. Use hooks for related values (e.g., colors in gradients)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Properties without hooks (examples):**
|
|
191
|
+
- `transform`, `transition` (use `--slds-g-timing-*` for duration only)
|
|
192
|
+
- `z-index` (use SLDS utility classes when possible)
|
|
193
|
+
- `cursor`
|
|
194
|
+
- `overflow`
|
|
195
|
+
- Complex gradients (use hook colors within gradient syntax)
|
|
196
|
+
|
|
197
|
+
**Example - gradient with hook colors:**
|
|
198
|
+
```css
|
|
199
|
+
.my-gradient-bg {
|
|
200
|
+
/* No gradient hook exists, but use hook colors */
|
|
201
|
+
background: linear-gradient(
|
|
202
|
+
to bottom,
|
|
203
|
+
var(--slds-g-color-surface-1),
|
|
204
|
+
var(--slds-g-color-surface-2)
|
|
205
|
+
);
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Naming Conventions
|
|
212
|
+
|
|
213
|
+
### Custom Class Names
|
|
214
|
+
|
|
215
|
+
Use a consistent prefix to avoid collision with SLDS:
|
|
216
|
+
|
|
217
|
+
| Pattern | Use Case | Example |
|
|
218
|
+
|---------|----------|---------|
|
|
219
|
+
| `my-*` | General custom styling | `my-card-header` |
|
|
220
|
+
| `c-*` | LWC component-specific | `c-accountList-row` |
|
|
221
|
+
| `[namespace]-*` | Package/app namespace | `acme-dashboard-widget` |
|
|
222
|
+
|
|
223
|
+
**Avoid:**
|
|
224
|
+
- Generic names: `container`, `wrapper`, `header`
|
|
225
|
+
- SLDS-like names: `custom-slds-button`
|
|
226
|
+
- BEM on SLDS classes: `slds-card__custom-header`
|
|
227
|
+
|
|
228
|
+
### Custom Hook Names (for app-level theming)
|
|
229
|
+
|
|
230
|
+
```css
|
|
231
|
+
:root {
|
|
232
|
+
/* Namespace your custom hooks */
|
|
233
|
+
--my-app-primary: var(--slds-g-color-brand-1);
|
|
234
|
+
--my-app-card-padding: var(--slds-g-spacing-4);
|
|
235
|
+
}
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Code Generation Style
|
|
241
|
+
|
|
242
|
+
When generating SLDS code, follow these patterns:
|
|
243
|
+
|
|
244
|
+
### Minimal HTML + Classes
|
|
245
|
+
|
|
246
|
+
```html
|
|
247
|
+
<!-- Prefer utility classes over custom CSS for common patterns -->
|
|
248
|
+
<div class="slds-card slds-p-around_medium slds-m-bottom_small">
|
|
249
|
+
<h2 class="slds-text-heading_medium">Title</h2>
|
|
250
|
+
</div>
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Avoid Unnecessary JavaScript
|
|
254
|
+
|
|
255
|
+
Use CSS/HTML solutions when possible:
|
|
256
|
+
- `slds-hide` instead of `{if}` for simple visibility
|
|
257
|
+
- `slds-is-selected` class toggling instead of complex state
|
|
258
|
+
|
|
259
|
+
### Component Structure (LWC)
|
|
260
|
+
|
|
261
|
+
```html
|
|
262
|
+
<template>
|
|
263
|
+
<lightning-card title="Title">
|
|
264
|
+
<div class="slds-p-around_medium">
|
|
265
|
+
<!-- Content uses utility classes for spacing -->
|
|
266
|
+
</div>
|
|
267
|
+
</lightning-card>
|
|
268
|
+
</template>
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
```css
|
|
272
|
+
/* Component CSS only for truly custom styles */
|
|
273
|
+
.my-custom-element {
|
|
274
|
+
/* Use hooks */
|
|
275
|
+
background: var(--slds-g-color-surface-2);
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Resources
|
|
282
|
+
|
|
283
|
+
| Resource | URL |
|
|
284
|
+
|----------|-----|
|
|
285
|
+
| SLDS Linter | https://developer.salesforce.com/docs/platform/slds-linter/guide |
|
|
286
|
+
| Lightning Components | https://developer.salesforce.com/docs/component-library/overview/components |
|
|
287
|
+
| SLDS Website | https://www.lightningdesignsystem.com/ |
|
|
288
|
+
| Styling Hooks Index | https://www.lightningdesignsystem.com/2e1ef8501/p/591960-global-styling-hooks |
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.hooks.borders
|
|
3
|
+
title: Borders and Radius Styling Hooks
|
|
4
|
+
description: Styling hooks for border width, border radius, and structural separation
|
|
5
|
+
summary: "Guidance for border and radius styling hooks. Covers border width hooks for interactive boundaries, radius hooks for corner rounding, and SLDS 2 philosophy of minimal border usage."
|
|
6
|
+
|
|
7
|
+
artifact_type: reference
|
|
8
|
+
domain: styling-hooks
|
|
9
|
+
topic: borders
|
|
10
|
+
|
|
11
|
+
content_format: structured
|
|
12
|
+
complexity: intermediate
|
|
13
|
+
audience: [implementer]
|
|
14
|
+
|
|
15
|
+
tasks: [choose, implement, troubleshoot]
|
|
16
|
+
|
|
17
|
+
refs:
|
|
18
|
+
- slds.guidance.hooks.color.feedback
|
|
19
|
+
- slds.guidance.hooks.color
|
|
20
|
+
- slds.guidance.hooks
|
|
21
|
+
- slds.guidance.hooks.spacing
|
|
22
|
+
- slds.guidance.hooks.shadows
|
|
23
|
+
tags: [styling-hooks, borders, radius, corners, visual-structure]
|
|
24
|
+
keywords: [border width, border radius, corners, interactive boundaries, focus states, visual separation]
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Borders and Radius Styling Hooks
|
|
28
|
+
|
|
29
|
+
## Overview
|
|
30
|
+
|
|
31
|
+
Borders and radius styling hooks establish structure, clarity, and visual consistency in UI interfaces. All border styling hooks are prefixed with `--slds-g-` and are followed by a border-related property name. These hooks ensure that border treatments remain consistent, themeable, and aligned with SLDS design principles.
|
|
32
|
+
|
|
33
|
+
**Important:** Border and radius hooks are NOT density-aware. Unlike spacing and typography hooks, border values remain constant regardless of comfy or compact display density settings.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## `--slds-g-sizing-border-*`
|
|
38
|
+
|
|
39
|
+
### Description
|
|
40
|
+
|
|
41
|
+
Border width hooks specify the thickness of borders. Use these hooks to define the thickness of lines that outline components, containers, and other visual elements. The scale ranges from subtle separation to strong emphasis.
|
|
42
|
+
|
|
43
|
+
**Hook Pattern:** `--slds-g-sizing-border-*`
|
|
44
|
+
|
|
45
|
+
### Usage
|
|
46
|
+
|
|
47
|
+
#### Do
|
|
48
|
+
|
|
49
|
+
- Use border width hooks to specify the pixel width of borders
|
|
50
|
+
- Use border width hooks for creating visual separation between content areas without overwhelming the interface
|
|
51
|
+
- Use border width hooks for indicating interactive boundaries on form elements like inputs and textareas
|
|
52
|
+
- Use `--slds-g-sizing-border-1` for standard interactive elements such as buttons, inputs, and badges
|
|
53
|
+
- Use `--slds-g-sizing-border-3` specifically for focus states where additional visual emphasis is needed
|
|
54
|
+
- SLDS 2 favors minimal border usage — use borders purposefully for structure and meaning
|
|
55
|
+
|
|
56
|
+
#### Don't
|
|
57
|
+
|
|
58
|
+
- Avoid using borders decoratively around cards and containers in SLDS 2 (this is a design philosophy shift from SLDS 1)
|
|
59
|
+
- Avoid hard-coded pixel values instead of border width hooks
|
|
60
|
+
- Avoid inconsistent border widths across similar elements
|
|
61
|
+
|
|
62
|
+
#### Context: When to Use Border Width Hooks
|
|
63
|
+
|
|
64
|
+
**Use border width hooks when building:**
|
|
65
|
+
|
|
66
|
+
| Component Type | Border Application | Recommended Hook |
|
|
67
|
+
|----------------|-------------------|------------------|
|
|
68
|
+
| Form inputs (text, textarea, combobox) | Interactive boundary | `--slds-g-sizing-border-1` |
|
|
69
|
+
| Buttons | Interactive boundary | `--slds-g-sizing-border-1` |
|
|
70
|
+
| Badges | Subtle outline | `--slds-g-sizing-border-1` |
|
|
71
|
+
| Focus states | Emphasis ring | `--slds-g-sizing-border-3` |
|
|
72
|
+
| Divider lines | Content separation | `--slds-g-sizing-border-1` |
|
|
73
|
+
|
|
74
|
+
**SLDS 2 Philosophy:** Apply borders sparingly. Use consistent thickness and color. Prefer light/subtle borders for separation without overwhelming the interface.
|
|
75
|
+
|
|
76
|
+
### Accessibility
|
|
77
|
+
|
|
78
|
+
- Use `--slds-g-sizing-border-3` for focus states to ensure sufficient visibility for keyboard users
|
|
79
|
+
- Borders must maintain minimum 3:1 contrast ratio with adjacent surfaces (40-point separation in SLDS grade system)
|
|
80
|
+
- Accessibility requirements apply — consult your project's accessibility standards
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## `--slds-g-radius-border-*`
|
|
85
|
+
|
|
86
|
+
### Description
|
|
87
|
+
|
|
88
|
+
Border radius hooks manage the curvature of UI elements' corners, impacting the perceived softness or hardness of components. Use these hooks to establish consistent rounded corner styles across components. The scale provides options from subtle rounding to fully circular shapes.
|
|
89
|
+
|
|
90
|
+
**Hook Patterns:**
|
|
91
|
+
- `--slds-g-radius-border-*` — Numbered radius scale
|
|
92
|
+
- `--slds-g-radius-border-circle` — Circular elements
|
|
93
|
+
- `--slds-g-radius-border-pill` — Pill-shaped elements
|
|
94
|
+
|
|
95
|
+
### Usage
|
|
96
|
+
|
|
97
|
+
### Component Radius Reference
|
|
98
|
+
|
|
99
|
+
| Hook | Components |
|
|
100
|
+
|------|------------|
|
|
101
|
+
| `--slds-g-radius-border-1` | Badges, Checkboxes |
|
|
102
|
+
| `--slds-g-radius-border-2` | Text Inputs, Comboboxes, Text Areas, Tooltips |
|
|
103
|
+
| `--slds-g-radius-border-3` | Menus, Popovers |
|
|
104
|
+
| `--slds-g-radius-border-4` | Cards, Modals, Docked Composers |
|
|
105
|
+
| `--slds-g-radius-border-circle` | Buttons, Button Icons, Avatars, Radios, Pills |
|
|
106
|
+
|
|
107
|
+
### Usage
|
|
108
|
+
|
|
109
|
+
#### Do
|
|
110
|
+
|
|
111
|
+
- Apply consistent radius to create a cohesive design throughout the interface
|
|
112
|
+
- Match radius scale to content density — smaller radius for dense content, larger for spacious elements
|
|
113
|
+
|
|
114
|
+
#### Don't
|
|
115
|
+
|
|
116
|
+
- Avoid mixing sharp corners (0 radius) with rounded corners within the same component — mixing these styles can create a visually jarring experience and reduce design harmony
|
|
117
|
+
- Avoid hard-coded pixel or rem values instead of radius hooks
|
|
118
|
+
- Avoid inconsistent radius values across similar elements
|
|
119
|
+
- Avoid radius values that conflict with the brand's visual identity
|
|
120
|
+
|
|
121
|
+
#### Context
|
|
122
|
+
|
|
123
|
+
- Establish a consistent style for rounded corners across components such as cards, modals, and buttons
|
|
124
|
+
- Create a modern, approachable aesthetic that aligns with the brand identity
|
|
125
|
+
- Improve usability by subtly guiding users' focus to key interface elements
|
|
126
|
+
|
|
127
|
+
### Accessibility
|
|
128
|
+
|
|
129
|
+
- Rounded corners must not obscure focus indicators or reduce visible border contrast
|
|
130
|
+
- Ensure focus states remain clearly visible regardless of radius value
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## `--slds-g-color-border-*` (Summary)
|
|
135
|
+
|
|
136
|
+
### Description
|
|
137
|
+
|
|
138
|
+
Border color hooks are part of the SLDS semantic color system. They define colors for borders based on semantic meaning rather than specific color values. Use these hooks to ensure border colors adapt to themes, maintain accessibility, and communicate appropriate meaning.
|
|
139
|
+
|
|
140
|
+
> **For complete border color documentation**, see the Color Overview and [Feedback Hooks](ref:slds.guidance.hooks.color.feedback) for error/warning/success border patterns.
|
|
141
|
+
|
|
142
|
+
**Key Border Color Hook Patterns:**
|
|
143
|
+
|
|
144
|
+
- `--slds-g-color-border-*` — Neutral borders for functional structure, separation, and dividers
|
|
145
|
+
- `--slds-g-color-border-accent-*` — Branded emphasis and thematic exceptions
|
|
146
|
+
- `--slds-g-color-border-error-*` — Error states and destructive actions
|
|
147
|
+
- `--slds-g-color-border-success-*` — Success states
|
|
148
|
+
- `--slds-g-color-border-warning-*` — Warning states
|
|
149
|
+
- `--slds-g-color-border-disabled-*` — Disabled elements
|
|
150
|
+
- `--slds-g-color-border-inverse-*` — Dark backgrounds
|
|
151
|
+
|
|
152
|
+
### Usage
|
|
153
|
+
|
|
154
|
+
#### Do
|
|
155
|
+
|
|
156
|
+
- Use `--slds-g-color-border-1` for decorative borders and divider lines between content
|
|
157
|
+
- Use `--slds-g-color-border-2` as the standard choice for functional or interactive components
|
|
158
|
+
- Use accent border colors only for branded containers or specific thematic emphasis where neutral borders are insufficient
|
|
159
|
+
- Use error/warning/success border colors exclusively for communicating system feedback states
|
|
160
|
+
- Use inverse border colors when placing elements on dark backgrounds
|
|
161
|
+
- Border colors should reinforce semantic meaning, not serve as decoration
|
|
162
|
+
|
|
163
|
+
#### Don't
|
|
164
|
+
|
|
165
|
+
- Avoid using feedback border colors (error, warning, success) for general styling — reserve for actual states
|
|
166
|
+
- Avoid hard-coded color values instead of border color hooks
|
|
167
|
+
- Avoid border colors that don't meet contrast requirements with adjacent surfaces
|
|
168
|
+
- Avoid using accent border colors for standard interactive elements where neutral hooks are the established system pattern
|
|
169
|
+
- Avoid using accent border colors when the element doesn't represent a specific branded or thematic exception
|
|
170
|
+
- Avoid mixing border color semantics inconsistently (e.g., error border on non-error element)
|
|
171
|
+
- Avoid using inverse borders on light backgrounds (they won't be visible)
|
|
172
|
+
|
|
173
|
+
#### Context
|
|
174
|
+
|
|
175
|
+
- Form field borders (neutral for default, accent for focus, error for validation)
|
|
176
|
+
- Card and container borders (neutral, typically subtle)
|
|
177
|
+
- Status indicator borders (error, warning, success as appropriate)
|
|
178
|
+
- Disabled state borders
|
|
179
|
+
- Dark theme and inverse context borders
|
|
180
|
+
- Divider lines between content sections
|
|
181
|
+
|
|
182
|
+
### Accessibility
|
|
183
|
+
|
|
184
|
+
- **Interactive elements** (buttons, inputs): Use `--slds-g-color-border-2` for higher contrast
|
|
185
|
+
- **Non-interactive elements** (dividers): Use `--slds-g-color-border-1`
|
|
186
|
+
- Border colors must maintain minimum 3:1 contrast with adjacent surfaces (40-point separation)
|
|
187
|
+
- Color alone must not be the only indicator of state — combine with icons, text, or other cues
|
|
188
|
+
- Focus borders must use high-contrast colors; pair with `--slds-g-sizing-border-3` for visibility
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
### SLDS 2 Philosophy Reminder
|
|
193
|
+
|
|
194
|
+
SLDS 2 favors minimal border usage. Before applying borders, ask:
|
|
195
|
+
- Can spacing achieve the same visual separation?
|
|
196
|
+
- Can shadows create the desired depth?
|
|
197
|
+
- Is this a holdover from SLDS 1 patterns?
|
|
198
|
+
|
|
199
|
+
Use borders purposefully for structure, interactivity indication, and state communication — not as default decoration.
|
|
200
|
+
|
|
201
|
+
> **Complete Philosophy:** SLDS 2 favors minimal border usage — apply borders purposefully for structure, interactivity indication, and state communication.
|
|
202
|
+
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: slds.guidance.hooks.color.expressive-palette
|
|
3
|
+
title: Expressive Palette Color Styling Hooks
|
|
4
|
+
description: Extended color palettes for data visualization and expressive interfaces
|
|
5
|
+
summary: "Guidance for expressive palette hooks including cool tones (cloud blue, indigo, purple, violet) and warm tones (green, orange, hot orange, red). Use for data visualization and highlighting—not standard UI."
|
|
6
|
+
|
|
7
|
+
artifact_type: reference
|
|
8
|
+
domain: styling-hooks
|
|
9
|
+
topic: color
|
|
10
|
+
subtopic: expressive
|
|
11
|
+
|
|
12
|
+
content_format: structured
|
|
13
|
+
complexity: advanced
|
|
14
|
+
audience: [implementer]
|
|
15
|
+
|
|
16
|
+
tasks: [choose, implement]
|
|
17
|
+
|
|
18
|
+
refs:
|
|
19
|
+
- slds.guidance.hooks.color
|
|
20
|
+
- slds.guidance.hooks.color.accent
|
|
21
|
+
- slds.guidance.hooks.color.surface
|
|
22
|
+
- slds.guidance.hooks.color.feedback
|
|
23
|
+
- slds.guidance.hooks.color.system
|
|
24
|
+
tags: [styling-hooks, color, palette, expressive, visualization, data]
|
|
25
|
+
keywords: [expressive colors, data visualization, cool tones, warm tones, cloud blue, indigo, purple, orange, green]
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Expressive Palette Color Styling Hooks
|
|
29
|
+
|
|
30
|
+
> **Hook Selection:** Palette hooks provide raw color access for rare cases. For standard UI, use semantic hooks first. See [Hook Selection Hierarchy](ref:slds.guidance.hooks.color).
|
|
31
|
+
|
|
32
|
+
## Overview
|
|
33
|
+
|
|
34
|
+
Expressive palette color styling hooks contain an extended range of colors beyond the core system palette. These palettes are useful for displaying data, visualizations, and highlighting important areas in your user experience. The expressive palettes offer variety while maintaining cohesion with the design system's overall aesthetic.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Available Expressive Palette Categories
|
|
39
|
+
|
|
40
|
+
### Cool Tone Palettes (Recommended)
|
|
41
|
+
|
|
42
|
+
#### Cloud Blue
|
|
43
|
+
Useful for data visualization and cool-toned accents. A calm, professional blue palette. Use intentionally to avoid confusion with info feedback colors (blue).
|
|
44
|
+
|
|
45
|
+
**Hook Pattern:** `--slds-g-color-palette-cloud-blue-{grade}`
|
|
46
|
+
|
|
47
|
+
#### Indigo
|
|
48
|
+
A rich purple-blue palette similar to the brand color. Use intentionally to avoid disrupting button hierarchy.
|
|
49
|
+
|
|
50
|
+
**Hook Pattern:** `--slds-g-color-palette-indigo-{grade}`
|
|
51
|
+
|
|
52
|
+
#### Purple
|
|
53
|
+
A vibrant purple palette suitable for expressive, data-heavy interfaces.
|
|
54
|
+
|
|
55
|
+
**Hook Pattern:** `--slds-g-color-palette-purple-{grade}`
|
|
56
|
+
|
|
57
|
+
#### Violet
|
|
58
|
+
A deep, saturated purple palette that works well for accent and emphasis in visualizations.
|
|
59
|
+
|
|
60
|
+
**Hook Pattern:** `--slds-g-color-palette-violet-{grade}`
|
|
61
|
+
|
|
62
|
+
### Warm Tone Palettes (Use with Caution)
|
|
63
|
+
|
|
64
|
+
#### Green
|
|
65
|
+
Use to draw attention to important information. Use sparingly to avoid confusion with success feedback colors (teal).
|
|
66
|
+
|
|
67
|
+
**Hook Pattern:** `--slds-g-color-palette-green-{grade}`
|
|
68
|
+
|
|
69
|
+
#### Orange
|
|
70
|
+
A warm, energetic orange palette effective for highlighting critical areas. Use sparingly to avoid confusion with warning feedback colors (yellow).
|
|
71
|
+
|
|
72
|
+
**Hook Pattern:** `--slds-g-color-palette-orange-{grade}`
|
|
73
|
+
|
|
74
|
+
#### Hot Orange
|
|
75
|
+
A bright, intense orange effective for maximum attention-grabbing. Reserve for truly critical states.
|
|
76
|
+
|
|
77
|
+
**Hook Pattern:** `--slds-g-color-palette-hot-orange-{grade}`
|
|
78
|
+
|
|
79
|
+
#### Red
|
|
80
|
+
A bold red palette effective for highlighting issues or important information. Use intentionally and sparingly to avoid confusion with error feedback colors (pink).
|
|
81
|
+
|
|
82
|
+
**Hook Pattern:** `--slds-g-color-palette-red-{grade}`
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Usage
|
|
87
|
+
|
|
88
|
+
### Do
|
|
89
|
+
- Use expressive palette colors for data visualization and charts
|
|
90
|
+
- Use cool tones (cloud blue, indigo, purple, violet) as your primary choices
|
|
91
|
+
- Use warm tones (orange, hot orange, red, green) strategically to draw attention
|
|
92
|
+
- Combine multiple palettes in visualization scenarios when each color needs semantic meaning
|
|
93
|
+
- Use expressive palettes when you need colors beyond the semantic system (accent, surface, feedback)
|
|
94
|
+
- Proper contrast ratios are important when layering expressive colors over backgrounds
|
|
95
|
+
- Use a consistent palette approach to unify similar data visualizations
|
|
96
|
+
|
|
97
|
+
### Don't
|
|
98
|
+
- Avoid using expressive palettes as a first choice—prefer semantic colors (accent, surface, feedback) first
|
|
99
|
+
- Avoid overusing warm colors like orange, red, and green—they work best for highlighting critical information
|
|
100
|
+
- Avoid using indigo in ways that could confuse users with the brand color (buttons, interactive states)
|
|
101
|
+
- Avoid mixing expressive palette colors with feedback colors without clear visual distinction
|
|
102
|
+
- Avoid using expressive colors where neutral grays or system colors would be more appropriate
|
|
103
|
+
- Avoid relying on color alone to convey meaning—pair colors with icons, labels, or patterns
|
|
104
|
+
- Avoid overriding accessibility requirements for visual appeal
|
|
105
|
+
|
|
106
|
+
### Context
|
|
107
|
+
- Data visualization and charting
|
|
108
|
+
- Complex dashboards with multiple data categories
|
|
109
|
+
- Highlighting specific data points or trends
|
|
110
|
+
- Geographic or hierarchical data representation
|
|
111
|
+
- Educational materials and infographics
|
|
112
|
+
- Scenario-based UI variations
|
|
113
|
+
|
|
114
|
+
## When to Use Semantic Colors Instead
|
|
115
|
+
|
|
116
|
+
Before choosing expressive palette colors, evaluate these alternatives:
|
|
117
|
+
|
|
118
|
+
- **For interactive elements:** Use `--slds-g-color-accent-*` instead of expressive palettes
|
|
119
|
+
- **For backgrounds and containers:** Use `--slds-g-color-surface-*` or `--slds-g-color-surface-container-*`
|
|
120
|
+
- **For feedback states:** Use `--slds-g-color-error-*`, `--slds-g-color-warning-*`, or `--slds-g-color-success-*` instead of palette colors
|
|
121
|
+
- **For text and icons:** Use `--slds-g-color-on-surface-*` or `--slds-g-color-on-accent-*` for proper contrast
|
|
122
|
+
|
|
123
|
+
## Palette Selection Guidelines
|
|
124
|
+
|
|
125
|
+
### Color Tone Recommendations
|
|
126
|
+
|
|
127
|
+
**Cool Tone Priority (Recommended for most designs):**
|
|
128
|
+
- Cloud Blue: Professional, calm, data-forward
|
|
129
|
+
- Indigo: Similar to brand, use intentionally
|
|
130
|
+
- Purple: Expressive, creative
|
|
131
|
+
- Violet: Accent, emphasis
|
|
132
|
+
|
|
133
|
+
**Warm Tone Use (Use when attention is needed):**
|
|
134
|
+
- Green: Issues, highlights (use sparingly to distinguish from teal success)
|
|
135
|
+
- Orange: Warnings, important data
|
|
136
|
+
- Hot Orange: Critical warnings, maximum emphasis
|
|
137
|
+
- Red: Errors, urgent information (use sparingly to distinguish from pink error state)
|
|
138
|
+
|
|
139
|
+
## Accessibility
|
|
140
|
+
|
|
141
|
+
- Expressive palette colors do not guarantee accessible contrast—manual verification required
|
|
142
|
+
- **Contrast requirements:** 50-point separation for text (4.5:1), 40-point for UI elements (3:1)
|
|
143
|
+
- **CVD warning:** Avoid Red+Green and Blue+Purple as sole differentiators
|
|
144
|
+
- Use patterns, icons, or labels in addition to color to convey meaning
|
|
145
|
+
- Test with colorblind simulation tools when using multiple palette colors
|
|
146
|
+
- Semantic color hooks are preferred when accessibility guarantees are required
|
|
147
|
+
- Accessibility requirements apply — consult your project's accessibility standards
|
|
148
|
+
|
|
149
|
+
## Color Grade Scale
|
|
150
|
+
|
|
151
|
+
> **Grade Scale:** SLDS uses a 0-100 grade scale where 0 is darkest and 100 is lightest. Point separations guarantee accessibility: 50-point = 4.5:1 contrast (text), 40-point = 3:1 contrast (UI).
|
|
152
|
+
>
|
|
153
|
+
> For complete grade scale documentation and the numerical color system, see the [Color Hooks Index](ref:slds.guidance.hooks.color).
|