Installation
CDN Prerelease
We are currently working on our CDN, which will be soon moving into beta. This will be the preferred method of installation in the near future. If you are a Red Hat associate and have questions or comments about the CDN or installation process please join us in our Red Hat Design System Google chat.
In the meantime, install this component using npm
The recommended way to load RHDS is via the Red Hat Digital Experience CDN, and using an import map.
If you have full control over the page you are using, add an import map
to the <head>
, pointing to the CDN, or update any existing import map.
If you are not responsible for the page's <head>
, request that the
page owner makes the change on your behalf.
<script type="importmap">
{
"imports": {
"@rhds/elements/": "https://www.redhatstatic.com/dx/v1-alpha/@rhds/elements@1.1.0/elements/",
"@patternfly/elements/": "https://www.redhatstatic.com/dx/v1-alpha/@patternfly/elements@2.2.2/"
}
}
</script>
Once the import map is established, you can load the element with the following module, containing a bare module specifier:
<script type="module">
import '@rhds/elements/rh-cta/rh-cta.js';
</script>
Note that Modules may be placed in the <head>
: since they are deferred by default,
they will not block rendering.
Lightdom CSS
Lightdom CSS is required for this element to ensure a reduced Cumulative Layout Shift (CLS) experience before the element has fully initialized.
<link rel="stylesheet" href="https://www.redhatstatic.com/dx/v1-alpha/@rhds/elements@1.1.0/rh-cta/rh-cta-lightdom.css">
Install RHDS using your team's preferred NPM package manager, e.g.
npm install @rhds/elements
Once that's been accomplished, you will need to use a bundler to resolve the bare module specifiers and optionally optimize the package for your site's particular use case and needs. Comprehensive guides to bundling are beyond the scope of this page; read more about bundlers on their websites:
Lightdom CSS
Lightdom CSS is required for this element to ensure a reduced Cumulative Layout Shift (CLS) experience before the element has fully initialized.
<link rel="stylesheet" href="/path/to/@rhds/elements/elements/rh-cta/rh-cta-lightdom.css">
Replace /path/to
in the href
attribute with the installation path
to the rh-cta
directory in your project.
Public CDNs
JSPM and other public CDNs should not be used on corporate domains. Use them for development purposes only!
Add an import map to the <head>
, pointing to the CDN,
or update any existing import map.
<script type="importmap">
{
"imports": {
"@rhds/elements/": "https://jspm.dev/@rhds/elements/",
"@patternfly/elements/": "https://jspm.dev/@patternfly/elements/"
}
}
</script>
Once the import map is established, you can load the element with the following module, containing a bare module specifier:
<script type="module">
import '@rhds/elements/rh-cta/rh-cta.js';
</script>
Note that Modules may be placed in the <head>
: since they are deferred by default,
they will not block rendering.
Lightdom CSS
Lightdom CSS is required for this element to ensure a reduced Cumulative Layout Shift (CLS) experience before the element has fully initialized.
<link rel="stylesheet" href="https://jspm.dev/@rhds/elements@1.1.0/elements/rh-cta/rh-cta-lightdom.css">
Usage
<rh-cta>
<a href="#default">Default</a>
</rh-cta>
rh-cta
Slots
- Default Slot
-
We expect an anchor tag,
<a>
with anhref
, to be the first child insiderh-cta
element. Less preferred but allowed for specific use-cases include:<button>
(note however that thebutton
tag is not supported for the default CTA styles).
Attributes
color-palette
-
[Deprecated] intended for use in elements that have slotted descendants, will be removed in a future release. - Sets color palette, which affects the element's styles as well as descendants' color theme. Overrides parent color context. Your theme will influence these colors so check there first if you are seeing inconsistencies. See CSS Custom Properties for default values.
- DOM Property
colorPalette
- Type
-
ColorPalette | undefined
- Default
-
unknown
variant
-
Indicates the importance of this call-to-action in the context of the page. Will also influence how the call-to-action is styled.
- Primary: Use for the primary or most important link. This variant is the highest in hierarchy and can also be used to play a video in a Modal or large container.
- Secondary: Use for secondary or general links. This variant is lower in hierarchy than the Primary variant and can be used multiple times in the same container or layout.
- Brick: Use to group links together. Only the Brick variant can stretch to fit a container or grid, otherwise the text label padding in other variants stays the same.
- Default (no variant): Use for tertiary or the least important links. This variant is the lowest in hierarchy and can be used multiple times in the same container or layout.
- DOM Property
variant
- Type
-
'primary' | 'secondary' | 'brick' | undefined
- Default
-
unknown
icon
-
- DOM Property
icon
- Type
-
string | undefined
- Default
-
unknown
Methods
None
Events
None
CSS Shadow Parts
container
-
container element for slotted CTA
CSS Custom Properties
CSS Property | Description | Default |
---|---|---|
--rh-cta-color |
Sets the cta color |
var(--rh-color-text-primary-on-dark, #ffffff)
|
--rh-cta-background-color |
Sets the cta background color |
var(--rh-color-brand-red-on-light, #ee0000)
|
--rh-cta-border-color |
Sets the cta border color |
var(--rh-color-brand-red-on-light, #ee0000)
|
--rh-cta-hover-color |
Sets the cta color on hover |
var(--rh-color-text-primary-on-dark, #ffffff)
|
--rh-cta-hover-background-color |
Sets the cta background color on hover |
var(--rh-color-brand-red-dark, #be0000)
|
--rh-cta-hover-border-color |
Sets the cta boder color on hover |
var(--rh-color-brand-red-dark, #be0000)
|
--rh-cta-focus-color |
Sets the cta color on focus |
var(--rh-color-text-primary-on-dark, #ffffff)
|
--rh-cta-focus-background-color |
Sets the cta background color on focus |
var(--rh-color-brand-red-on-light, #ee0000)
|
--rh-cta-focus-container-background-color |
Sets the cta container background color on focus |
#0066cc1a
|
--rh-cta-focus-border-color |
Sets the cta border color on focus |
var(--rh-color-brand-red-on-light, #ee0000)
|
--rh-cta-focus-inner-border-color |
Sets the cta inner border color on focus |
var(--rh-color-text-primary-on-dark, #ffffff)
|
--rh-cta-active-color |
Sets the cta color on active. Applicable only for secondary variant |
var(--rh-color-text-primary-on-dark, #ffffff)
|
--rh-cta-active-background-color |
Sets the cta background color on active |
var(--rh-color-brand-red-dark, #be0000)
|
--rh-cta-active-container-background-color |
Sets the cta container background color on active. Applicable only for default variant |
#0066cc1a
|
--rh-cta-active-inner-border-color |
Sets the cta inner border color on active |
var(--rh-color-text-primary-on-dark, #ffffff)
|
--rh-cta-text-decoration |
Sets the cta text decoration |
none
|
--rh-cta-focus-text-decoration |
Sets the cta text decoration on focus |
none
|
--rh-cta-hover-text-decoration |
Sets the cta text decoration on hover |
none
|
--rh-cta-active-text-decoration |
Sets the cta text decoration on active |
none
|
Design Tokens
Related elements or patterns
Feedback
To give feedback about anything on this page, contact us.
Red Hat legal and privacy links
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit