UNPKG

@aurodesignsystem/auro-background

Version:
149 lines (111 loc) 9.13 kB
<!-- The README.md file is a compiled document. No edits should be made directly to this file. README.md is created by running `npm run build:docs`. This file is generated based on a template fetched from `https://raw.githubusercontent.com/AlaskaAirlines/auro-templates/main/templates/default/README.md` and copied to `./componentDocs/README.md` each time the docs are compiled. The following sections are editable by making changes to the following files: | SECTION | DESCRIPTION | FILE LOCATION | |------------------------|---------------------------------------------------|-------------------------------------| | Description | Description of the component | `./docs/partials/description.md` | | Use Cases | Examples for when to use this component | `./docs/partials/useCases.md` | | Additional Information | For use to add any component specific information | `./docs/partials/readmeAddlInfo.md` | | Component Example Code | HTML sample code of the components use | `./apiExamples/basic.html` | --> # Background <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/description.md) --> <!-- The below content is automatically added from ./docs/partials/description.md --> The `auro-background` element is an easy-to-use mobile-first alternative to writing custom CSS for background colors or images with automatically scoped media queries. Use independently or in the slot of another custom element such as `auro-banner`. <!-- AURO-GENERATED-CONTENT:END --> <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/readmeAddlInfo.md) --> <!-- The below content is automatically added from ./docs/partials/readmeAddlInfo.md --> The `auro-background` component accepts 4 properties - `bg`, `height`, `width`, and `inset` that serve as the default at all breakpoints. `height`, `width`, and `inset` are not required and sizing will scale to the content when omitted. Additionally, there is a separate property for each supported breakpoint (`bgSm`, `bgMd`, `bgLg`, `heightSm`, `heightMd`, `heightLg`, `widthSm`, `widthMd`, `widthLg`). If you don't set a specific size property, the smaller property will be used. These properties map to the compound CSS `background` property and CSS properties of `height`, `width`, and `padding`. Anything you can do within the scope of those CSS rules you can do here. See <auro-hyperlink target="_blank" href="https://webcode.tools/generators/css/background-image">CSS Background Image Generator</auro-hyperlink> for a helpful code generation tool. <!-- AURO-GENERATED-CONTENT:END --> ## Use Cases <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/useCases.md) --> <!-- The below content is automatically added from ./docs/partials/useCases.md --> The `<auro-background>` element should be used in situations where users may: * Need to apply a background image or color to a specific section of content * Require responsive background images that change at different breakpoints <!-- AURO-GENERATED-CONTENT:END --> ## Install <!-- AURO-GENERATED-CONTENT:START (REMOTE:url=https://raw.githubusercontent.com/AlaskaAirlines/auro-templates/main/templates/default/partials/usage/componentInstall.md) --> [![Build Status](https://img.shields.io/github/actions/workflow/status/AlaskaAirlines/auro-background/release.yml?style=for-the-badge)](https://github.com/AlaskaAirlines/auro-background/actions/workflows/release.yml) [![See it on NPM!](https://img.shields.io/npm/v/@aurodesignsystem/auro-background?style=for-the-badge&color=orange)](https://www.npmjs.com/package/@aurodesignsystem/auro-background) [![License](https://img.shields.io/npm/l/@aurodesignsystem/auro-background?color=blue&style=for-the-badge)](https://www.apache.org/licenses/LICENSE-2.0) ![ESM supported](https://img.shields.io/badge/ESM-compatible-FFE900?style=for-the-badge) ```shell $ npm i @aurodesignsystem/auro-background ``` <!-- AURO-GENERATED-CONTENT:END --> ### Define Dependency in Project <!-- AURO-GENERATED-CONTENT:START (REMOTE:url=https://raw.githubusercontent.com/AlaskaAirlines/auro-templates/main/templates/default/partials/usage/componentImportDescription.md) --> Defining the dependency within each project that is using the `<auro-background>` component. <!-- AURO-GENERATED-CONTENT:END --> <!-- AURO-GENERATED-CONTENT:START (REMOTE:url=https://raw.githubusercontent.com/AlaskaAirlines/auro-templates/main/templates/default/partials/usage/componentImport.md) --> ```js import "@aurodesignsystem/auro-background"; ``` <!-- AURO-GENERATED-CONTENT:END --> ### Use CDN <!-- AURO-GENERATED-CONTENT:START (REMOTE:url=https://raw.githubusercontent.com/AlaskaAirlines/auro-templates/main/templates/default/partials/usage/bundleInstallDescription.md) --> In cases where the project is not able to process JS assets, there are pre-processed assets available for use. Legacy browsers such as IE11 are no longer supported. ```html <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-background@latest/+esm"></script> ``` <!-- AURO-GENERATED-CONTENT:END --> ## Basic Example <!-- AURO-GENERATED-CONTENT:START (CODE:src=./apiExamples/basic.html) --> <!-- The below code snippet is automatically added from ./apiExamples/basic.html --> ```html <auro-background bg="url(https://images.contentstack.io/v3/assets/blt2cefe12c88e9dd91/blt4dde4105498391f8/6633c2581dbb0973c00b8783/ad2.png) center center/cover no-repeat"> <div style="color: var(--ds-color-text-primary-inverse); display: flex; flex-direction: column; align-items: center; justify-content: center;"> <auro-header level="2" visualLevel="3">View all destinations</auro-header> <auro-hyperlink type="cta" variant="secondary" href="#" size="xs" style="padding-bottom: 4px;">See where we fly</auro-hyperlink> </div> </auro-background> ``` <!-- AURO-GENERATED-CONTENT:END --> ## Custom Component Registration for Version Management There are two key parts to every Auro component: the <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes">class</a> and the custom element definition. The class defines the component’s behavior, while the custom element registers it under a specific name so it can be used in HTML. When you install the component as described on the `Install` page, the class is imported automatically, and the component is registered globally for you. However, if you need to load multiple versions of the same component on a single page (for example, when two projects depend on different versions), you can manually register the class under a custom element name to avoid conflicts. You can do this by importing only the component class and using the `register(name)` method with a unique name: <!-- AURO-GENERATED-CONTENT:START (FILE:src=./docs/partials/customRegistration.md) --> <!-- The below content is automatically added from ./docs/partials/customRegistration.md --> ```js // Import the class only import { AuroBackground } from '@aurodesignsystem/auro-background/class'; // Register with a custom name if desired AuroBackground.register('custom-background'); ``` This will create a new custom element `<custom-background>` that behaves exactly like `<auro-background>`, allowing both to coexist on the same page without interfering with each other. <!-- AURO-GENERATED-CONTENT:END --> <div class="exampleWrapper exampleWrapper--flex"> <!-- AURO-GENERATED-CONTENT:START (FILE:src=./apiExamples/custom.html) --> <!-- The below content is automatically added from ./apiExamples/custom.html --> <custom-background bg="url(https://images.contentstack.io/v3/assets/blt2cefe12c88e9dd91/blt4dde4105498391f8/6633c2581dbb0973c00b8783/ad2.png) center center/cover no-repeat"> <div style="color: var(--ds-color-text-primary-inverse); display: flex; flex-direction: column; align-items: center; justify-content: center;"> <auro-header level="2" visualLevel="3">View all destinations</auro-header> <auro-hyperlink type="cta" variant="secondary" href="#" size="xs">See where we fly</auro-hyperlink> </div> </custom-background> <!-- AURO-GENERATED-CONTENT:END --> </div> <auro-accordion alignRight> <span slot="trigger">See code</span> <!-- AURO-GENERATED-CONTENT:START (CODE:src=./apiExamples/custom.html) --> <!-- The below code snippet is automatically added from ./apiExamples/custom.html --> ```html <custom-background bg="url(https://images.contentstack.io/v3/assets/blt2cefe12c88e9dd91/blt4dde4105498391f8/6633c2581dbb0973c00b8783/ad2.png) center center/cover no-repeat"> <div style="color: var(--ds-color-text-primary-inverse); display: flex; flex-direction: column; align-items: center; justify-content: center;"> <auro-header level="2" visualLevel="3">View all destinations</auro-header> <auro-hyperlink type="cta" variant="secondary" href="#" size="xs">See where we fly</auro-hyperlink> </div> </custom-background> ``` <!-- AURO-GENERATED-CONTENT:END --> </auro-accordion>