diff --git a/.changeset/cold-tools-follow.md b/.changeset/cold-tools-follow.md new file mode 100644 index 0000000000..3a2246d21a --- /dev/null +++ b/.changeset/cold-tools-follow.md @@ -0,0 +1,6 @@ +--- +"@patternfly/elements": patch +--- + +Use inline slot documentation instead of JSDoc + \ No newline at end of file diff --git a/.changeset/little-lizards-jog.md b/.changeset/little-lizards-jog.md new file mode 100644 index 0000000000..3a07fa8f0f --- /dev/null +++ b/.changeset/little-lizards-jog.md @@ -0,0 +1,6 @@ +--- +"@patternfly/pfe-tools": patch +--- + +Adjust dev server for new cem output + \ No newline at end of file diff --git a/docs/components/demos.11tydata.cjs b/docs/components/demos.11tydata.cjs index ca77da79f0..24a74b500e 100644 --- a/docs/components/demos.11tydata.cjs +++ b/docs/components/demos.11tydata.cjs @@ -1,4 +1,3 @@ -const { dirname } = require('path'); module.exports = { templateEngineOverride: 'njk', permalink: '{{ demo.permalink }}', @@ -6,19 +5,5 @@ module.exports = { data: 'demos', alias: 'demo', size: 1, - // somehow the main pf-icon demo is being printed twice. - // so we'll group by tag name, and only take the first of each. - before: demos => Object.values(Object.groupBy(demos - .filter(demo => demo.permalink?.includes(demo.tagName)) - .map(demo => { - if (demo.filePath?.endsWith(`${demo.tagName}.html`)) { - return { - ...demo, - permalink: `${dirname(demo.permalink)}/`, - }; - } else { - return demo; - } - }), demo => demo.tagName)).map(([x]) => x), }, }; diff --git a/docs/docs/develop/html.md b/docs/docs/develop/html.md index 25872743ef..7720cab6af 100644 --- a/docs/docs/develop/html.md +++ b/docs/docs/develop/html.md @@ -49,7 +49,7 @@ render() { } ``` -We'll also need to update `/demo/pf-cool-element.html` +We'll also need to update `/demo/index.html` so that the user's name is passed into the slot that we added in `pf-cool-element.ts`: ```html diff --git a/elements/.config/cem.yaml b/elements/.config/cem.yaml index 9362bca3c4..a9ca07ef88 100644 --- a/elements/.config/cem.yaml +++ b/elements/.config/cem.yaml @@ -10,5 +10,5 @@ generate: noDefaultExcludes: false demoDiscovery: fileGlob: '*/demo/*.html' - urlPattern: pf-(?P[\w-]+)/demo/(?P[\w-]+).html - urlTemplate: https://patternflyelements.org/components/{tag}/demo/{demo}/ + urlPattern: ':tag/demo/:demo.html' + urlTemplate: https://patternflyelements.org/components/{{.tag | alias | slug}}/demo/{{.demo | slug}}/ diff --git a/elements/pf-accordion/demo/pf-accordion.html b/elements/pf-accordion/demo/index.html similarity index 100% rename from elements/pf-accordion/demo/pf-accordion.html rename to elements/pf-accordion/demo/index.html diff --git a/elements/pf-accordion/pf-accordion-header.css b/elements/pf-accordion/pf-accordion-header.css index cec8e35d07..6ff1d60026 100644 --- a/elements/pf-accordion/pf-accordion-header.css +++ b/elements/pf-accordion/pf-accordion-header.css @@ -1,15 +1,23 @@ :host { --pf-icon--size: var(--pf-c-accordion__toggle--IconSize, 10px); + /** + * Sets the font color for the accordion header. + */ color: var(--pf-c-accordion__toggle--Color, var(--pf-global--Color--100, #151515)); background-color: var(--pf-global--BackgroundColor--100, #ffffff); } :host([large]) { + /** Sets the top padding for the accordion header. */ --pf-c-accordion__toggle--PaddingTop: var(--pf-global--spacer--md, 1rem); + /** Sets the right padding for the accordion header. */ --pf-c-accordion__toggle--PaddingRight: var(--pf-global--spacer--md, 1rem); + /** Sets the bottom padding for the accordion header. */ --pf-c-accordion__toggle--PaddingBottom: var(--pf-global--spacer--md, 1rem); + /** Sets the left padding for the accordion header. */ --pf-c-accordion__toggle--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem); + /** Sets the font family for the accordion header. */ --pf-c-accordion__toggle--FontFamily: var(--pf-global--FontFamily--redhat-updated--heading--sans-serif, "RedHatDisplayUpdated", @@ -19,6 +27,7 @@ arial, sans-serif ); + /** Sets the font size for the accordion header. */ --pf-c-accordion__toggle--FontSize: var(--pf-global--FontSize--xl, 1.25rem); --pf-c-accordion__toggle--hover-text--Color: var(--pf-global--Color--100, #151515); --pf-c-accordion__toggle--active-text--Color: var(--pf-global--Color--100, #151515); @@ -47,10 +56,14 @@ a { .toggle:after { padding: 0; margin: 0; + /** Sets the background color for the accordion header toggle element. */ background-color: var(--pf-c-accordion__toggle--BackgroundColor, transparent); } .icon { + /** + * Sets the transition animation for the accordion header. + */ transition: var(--pf-c-accordion__toggle-icon--Transition, 0.2s ease-in 0s); } @@ -74,12 +87,18 @@ a { arial, sans-serif)); font-size: var(--pf-c-accordion__toggle--FontSize, var(--pf-global--FontSize--lg, 1rem)); + /** + * Sets the font weight for the accordion header. + */ font-weight: var(--pf-c-accordion__toggle--FontWeight, var(--pf-global--FontWeight--normal, 400)); color: var(--pf-c-accordion__toggle--Color, var(--pf-global--Color--100, #151515)); } .toggle[aria-expanded="true"] { --pf-c-accordion__toggle--after--BackgroundColor: + /** + * Sets the hover expanded before background color for the accordion header. + */ var( --pf-c-accordion__toggle--expanded--before--BackgroundColor, var( @@ -91,7 +110,13 @@ a { .toggle:after { top: var(--pf-c-accordion__toggle--before--Top, -1px); + /** + * Sets the sidebar width for the accordion header. + */ width: var(--pf-c-accordion__toggle--before--Width, var(--pf-global--BorderWidth--lg, 3px)); + /** + * Sets the background color for the after element for the accordion header toggle element. + */ background-color: var(--pf-c-accordion__toggle--after--BackgroundColor, transparent); content: ""; position: absolute; @@ -103,17 +128,26 @@ span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; + /** + * Sets the max width for the text inside the accordion header. + */ max-width: var(--pf-c-accordion__toggle-text--MaxWidth, calc(100% - var(--pf-global--spacer--lg, 1.5rem))); } .toggle[aria-expanded="true"] .icon { + /** + * Sets the expanded icon rotation degrees for the accordion header. + */ rotate: var(--pf-c-accordion__toggle--expanded-icon--Rotate, 90deg); } .toggle:hover, .toggle:active, .toggle:focus { + /** + * Sets the active background color for the accordion header. + */ background-color: var(--pf-c-accordion__toggle--active--BackgroundColor, var(--pf-global--BackgroundColor--200, #f0f0f0)); @@ -122,6 +156,9 @@ span { .toggle:hover span, .toggle:focus span, .toggle:active span { + /** + * Sets the active text color for the accordion header. + */ color: var(--pf-c-accordion__toggle--active-text--Color, var(--pf-global--link--Color, #0066cc)); } diff --git a/elements/pf-accordion/pf-accordion-header.ts b/elements/pf-accordion/pf-accordion-header.ts index d4acc6ad62..ed59c62ba9 100644 --- a/elements/pf-accordion/pf-accordion-header.ts +++ b/elements/pf-accordion/pf-accordion-header.ts @@ -30,68 +30,7 @@ export class PfAccordionHeaderChangeEvent extends Event { /** * Accordion Header - * @csspart text - inline element containing the heading text or slotted heading content - * @csspart accents - container for accents within the header - * @csspart icon - caret icon - * @slot - * We expect the light DOM of the pf-accordion-header to be a heading level tag (h1, h2, h3, h4, h5, h6) - * @slot accents - * These elements will appear inline with the accordion header, between the header and the chevron - * (or after the chevron and header in disclosure mode). * @fires {AccordionHeaderChangeEvent} change - when the open panels change - * @cssprop {} [--pf-c-accordion__toggle--Color=var(--pf-global--Color--100, #151515)] - * Sets the font color for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle--BackgroundColor=transparent] - * Sets the background color for the accordion header toggle element. - * - * @cssprop {} [--pf-c-accordion__toggle--after--BackgroundColor=transparent] - * Sets the background color for the after element for the accordion header toggle element. - * - * @cssprop {} [--pf-c-accordion__toggle--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)] - * Sets the top padding for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle--PaddingRight=var(--pf-global--spacer--md, 1rem)] - * Sets the right padding for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle--PaddingBottom=var(--pf-global--spacer--sm, 0.5rem)] - * Sets the bottom padding for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle--PaddingLeft=var(--pf-global--spacer--md, 1rem)] - * Sets the left padding for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle--FontSize=var(--pf-global--FontSize--lg, 1rem)] - * Sets the sidebar background color for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle--FontFamily=var(--pf-global--FontFamily--redhat-updated--heading--sans-serif, "RedHatDisplayUpdated", helvetica, arial, sans-serif)] - * Sets the font family for the accordion header. - * - * @cssprop [--pf-c-accordion__toggle--FontWeight=var(--pf-global--FontWeight--normal, 400)] - * Sets the font weight for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle--active--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)] - * Sets the active backgrdound color for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle--active-text--Color=var(--pf-global--link--Color, #0066cc)] - * Sets the active text color for the accordion header. - * - * @cssprop [--pf-c-accordion__toggle--active-text--FontWeight=var(--pf-global--FontWeight--semi-bold, 700)] - * Sets the active text font weight for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle--expanded--before--BackgroundColor=var(--pf-global--link--Color, #0066cc)] - * Sets the hover expanded before background color for the accordion header. - * - * @cssprop [--pf-c-accordion__toggle--expanded-icon--Rotate=90deg] - * Sets the expanded icon rotation degrees for the accordion header. - * - * @cssprop {} [--pf-c-accordion__toggle-text--MaxWidth=calc(100 - var(--pf-global--spacer--lg, 1.5rem))] - * Sets the max width for the text inside the accordion header. - * - * @cssprop [--pf-c-accordion__toggle--before--Width=var(--pf-global--BorderWidth--lg, 3px)] - * Sets the sidebar width for the accordion header. - * - * @cssprop [--pf-c-accordion__toggle-icon--Transition=0.2s ease-in 0s] - * Sets the transition animation for the accordion header. * */ @customElement('pf-accordion-header') @@ -136,12 +75,21 @@ export class PfAccordionHeader extends LitElement { class="toggle" @click="${this.#onClick}" aria-expanded="${String(!!this.expanded) as 'true' | 'false'}"> + ${headingText ?? html` + `} + + + } [--pf-c-accordion--BackgroundColor=var(--pf-global--BackgroundColor--light-100, #ffffff)] - * Sets the background color for the panel content. - * - * @cssprop {} [--pf-c-accordion__panel--Color=var(--pf-global--Color--dark-200, #6a6e73)] - * Sets the font color for the panel content. - * - * @cssprop {} [--pf-c-accordion__panel--FontSize=var(--pf-global--FontSize--sm, 0.875rem)] - * Sets the font size for the panel content. - * - * @cssprop {} [--pf-c-accordion__panel--content-body--before--BackgroundColor=var(--pf-global--primary-color--100, #0066cc)] - * Sets the sidebar color for the panel when the context is expanded. - * - * @cssprop {} [--pf-c-accordion__panel--m-fixed--MaxHeight=9.375rem] - * Sets the maximum height for the panel content. - * Will only be used if the `fixed` attribute is used. - * - * @cssprop {} [--pf-c-accordion__panel-body--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)] - * Sets the padding top for the panel content. - * - * @cssprop {} [--pf-c-accordion__panel-body--PaddingRight=var(--pf-global--spacer--md, 1rem)] - * Sets the padding right for the panel content. - * - * @cssprop {} [--pf-c-accordion__panel-body--PaddingBottom=var(--pf-global--spacer--sm, 0.5rem)] - * Sets the padding bottom for the panel content. - * - * @cssprop {} [--pf-c-accordion__panel-body--PaddingLeft=var(--pf-global--spacer--md, 1rem)] - * Sets the padding left for the panel content. - * - * @cssprop {} [--pf-c-accordion__panel-body--before--BackgroundColor=transparent] - * Sets the background color for the panel content. - * - * @cssprop [--pf-c-accordion__panel-body--before--Width=var(--pf-global--BorderWidth--lg, 3px)] - * Sets the before width for the panel content. - * */ @customElement('pf-accordion-panel') export class PfAccordionPanel extends LitElement { diff --git a/elements/pf-accordion/pf-accordion.css b/elements/pf-accordion/pf-accordion.css index e97465c809..cd9d61c94f 100644 --- a/elements/pf-accordion/pf-accordion.css +++ b/elements/pf-accordion/pf-accordion.css @@ -1,65 +1,127 @@ :host { + /** BackgroundColor for the accordion */ --pf-c-accordion--BackgroundColor: var(--pf-global--BackgroundColor--100, #fff); + /** PaddingTop for the toggle */ --pf-c-accordion__toggle--PaddingTop: var(--pf-global--spacer--sm, 0.5rem); + /** PaddingRight for the toggle */ --pf-c-accordion__toggle--PaddingRight: var(--pf-global--spacer--md, 1rem); + /** PaddingBottom for the toggle */ --pf-c-accordion__toggle--PaddingBottom: var(--pf-global--spacer--sm, 0.5rem); + /** PaddingLeft for the toggle */ --pf-c-accordion__toggle--PaddingLeft: var(--pf-global--spacer--md, 1rem); + /** BackgroundColor for the toggle before element */ --pf-c-accordion__toggle--before--BackgroundColor: transparent; + /** Top position for the toggle before element */ --pf-c-accordion__toggle--before--Top: 0; + /** BackgroundColor for the toggle on hover */ --pf-c-accordion__toggle--hover--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0); + /** BackgroundColor for the toggle on focus */ --pf-c-accordion__toggle--focus--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0); + /** BackgroundColor for the toggle when active */ --pf-c-accordion__toggle--active--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0); + /** Width for the toggle before element */ --pf-c-accordion__toggle--before--Width: var(--pf-global--BorderWidth--lg, 3px); + /** BackgroundColor for the toggle before element when expanded */ --pf-c-accordion__toggle--m-expanded--before--BackgroundColor: var(--pf-global--primary-color--100, #06c); + /** MaxWidth for the toggle text */ --pf-c-accordion__toggle-text--MaxWidth: calc(100% - var(--pf-global--spacer--lg, 1.5rem)); + /** Color for the toggle text on hover */ --pf-c-accordion__toggle--hover__toggle-text--Color: var(--pf-global--link--Color, #06c); + /** Color for the toggle text when active */ --pf-c-accordion__toggle--active__toggle-text--Color: var(--pf-global--link--Color, #06c); + /** FontWeight for the toggle text when active */ --pf-c-accordion__toggle--active__toggle-text--FontWeight: var(--pf-global--FontWeight--semi-bold, 700); + /** Color for the toggle text on focus */ --pf-c-accordion__toggle--focus__toggle-text--Color: var(--pf-global--link--Color, #06c); + /** FontWeight for the toggle text on focus */ --pf-c-accordion__toggle--focus__toggle-text--FontWeight: var(--pf-global--FontWeight--semi-bold, 700); + /** Color for the toggle text when expanded */ --pf-c-accordion__toggle--m-expanded__toggle-text--Color: var(--pf-global--link--Color, #06c); + /** FontWeight for the toggle text when expanded */ --pf-c-accordion__toggle--m-expanded__toggle-text--FontWeight: var(--pf-global--FontWeight--semi-bold, 700); + /** Transition for the toggle icon */ --pf-c-accordion__toggle-icon--Transition: .2s ease-in 0s; + /** Rotate value for the toggle icon when expanded */ --pf-c-accordion__toggle--m-expanded__toggle-icon--Rotate: 90deg; + /** Color for the expanded content */ --pf-c-accordion__expanded-content--Color: var(--pf-global--Color--200, #6a6e73); + /** FontSize for the expanded content */ --pf-c-accordion__expanded-content--FontSize: var(--pf-global--FontSize--sm, 0.875rem); + /** BackgroundColor for the expanded content body before element when expanded */ --pf-c-accordion__expanded-content--m-expanded__expanded-content-body--before--BackgroundColor: var(--pf-global--primary-color--100, #06c); + /** MaxHeight for the expanded content when fixed */ --pf-c-accordion__expanded-content--m-fixed--MaxHeight: 9.375rem; + /** PaddingTop for the expanded content body */ --pf-c-accordion__expanded-content-body--PaddingTop: var(--pf-global--spacer--sm, 0.5rem); + /** PaddingRight for the expanded content body */ --pf-c-accordion__expanded-content-body--PaddingRight: var(--pf-global--spacer--md, 1rem); + /** PaddingBottom for the expanded content body */ --pf-c-accordion__expanded-content-body--PaddingBottom: var(--pf-global--spacer--sm, 0.5rem); + /** PaddingLeft for the expanded content body */ --pf-c-accordion__expanded-content-body--PaddingLeft: var(--pf-global--spacer--md, 1rem); + /** PaddingTop for nested expanded content body */ --pf-c-accordion__expanded-content-body--expanded-content-body--PaddingTop: 0; + /** BackgroundColor for the expanded content body before element */ --pf-c-accordion__expanded-content-body--before--BackgroundColor: transparent; + /** Width for the expanded content body before element */ --pf-c-accordion__expanded-content-body--before--Width: var(--pf-global--BorderWidth--lg, 3px); + /** Top position for the expanded content body before element */ --pf-c-accordion__expanded-content-body--before--Top: 0; + /** PaddingTop for the toggle in large display mode */ --pf-c-accordion--m-display-lg__toggle--PaddingTop: var(--pf-global--spacer--md, 1rem); + /** PaddingRight for the toggle in large display mode */ --pf-c-accordion--m-display-lg__toggle--PaddingRight: var(--pf-global--spacer--md, 1rem); + /** PaddingBottom for the toggle in large display mode */ --pf-c-accordion--m-display-lg__toggle--PaddingBottom: var(--pf-global--spacer--md, 1rem); + /** PaddingLeft for the toggle in large display mode */ --pf-c-accordion--m-display-lg__toggle--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem); + /** FontFamily for the toggle in large display mode */ --pf-c-accordion--m-display-lg__toggle--FontFamily: var(--pf-global--FontFamily--heading--sans-serif, "RedHatDisplay", "Overpass", overpass, helvetica, arial, sans-serif); + /** FontSize for the toggle in large display mode */ --pf-c-accordion--m-display-lg__toggle--FontSize: var(--pf-global--FontSize--xl, 1.25rem); + /** Color for the toggle text on hover in large display mode */ --pf-c-accordion--m-display-lg__toggle--hover__toggle-text--Color: var(--pf-global--Color--100, #151515); + /** Color for the toggle text when active in large display mode */ --pf-c-accordion--m-display-lg__toggle--active__toggle-text--Color: var(--pf-global--Color--100, #151515); + /** FontWeight for the toggle text when active in large display mode */ --pf-c-accordion--m-display-lg__toggle--active__toggle-text--FontWeight: var(--pf-global--FontWeight--normal, 400); + /** Color for the toggle text on focus in large display mode */ --pf-c-accordion--m-display-lg__toggle--focus__toggle-text--Color: var(--pf-global--Color--100, #151515); + /** FontWeight for the toggle text on focus in large display mode */ --pf-c-accordion--m-display-lg__toggle--focus__toggle-text--FontWeight: var(--pf-global--FontWeight--normal, 400); + /** Color for the toggle text when expanded in large display mode */ --pf-c-accordion--m-display-lg__toggle--m-expanded__toggle-text--Color: var(--pf-global--Color--100, #151515); + /** FontWeight for the toggle text when expanded in large display mode */ --pf-c-accordion--m-display-lg__toggle--m-expanded__toggle-text--FontWeight: var(--pf-global--FontWeight--normal, 400); + /** FontSize for the expanded content in large display mode */ --pf-c-accordion--m-display-lg__expanded-content--FontSize: var(--pf-global--FontSize--md, 1rem); + /** Color for the expanded content in large display mode */ --pf-c-accordion--m-display-lg__expanded-content--Color: var(--pf-global--Color--100, #151515); + /** PaddingTop for the expanded content body in large display mode */ --pf-c-accordion--m-display-lg__expanded-content-body--PaddingTop: 0; + /** PaddingRight for the expanded content body in large display mode */ --pf-c-accordion--m-display-lg__expanded-content-body--PaddingRight: var(--pf-global--spacer--md, 1rem); + /** PaddingBottom for the expanded content body in large display mode */ --pf-c-accordion--m-display-lg__expanded-content-body--PaddingBottom: var(--pf-global--spacer--md, 1rem); + /** PaddingBottom for the last child of expanded content body in large display mode */ --pf-c-accordion--m-display-lg__expanded-content-body--last-child--PaddingBottom: var(--pf-global--spacer--lg, 1.5rem); + /** PaddingLeft for the expanded content body in large display mode */ --pf-c-accordion--m-display-lg__expanded-content-body--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem); + /** BorderTopWidth for the bordered variant */ --pf-c-accordion--m-bordered--BorderTopWidth: var(--pf-global--BorderWidth--sm, 1px); + /** BorderTopColor for the bordered variant */ --pf-c-accordion--m-bordered--BorderTopColor: var(--pf-global--BorderColor--100, #d2d2d2); + /** Top position for the toggle before element in bordered variant */ --pf-c-accordion--m-bordered__toggle--before--Top: calc(-1 * var(--pf-global--BorderWidth--sm, 1px)); + /** BorderColor for the toggle after element in bordered variant */ --pf-c-accordion--m-bordered__toggle--after--BorderColor: var(--pf-global--BorderColor--100, #d2d2d2); + /** BorderTopWidth for the toggle after element in bordered variant */ --pf-c-accordion--m-bordered__toggle--after--BorderTopWidth: 0; + /** BorderBottomWidth for the toggle after element in bordered variant */ --pf-c-accordion--m-bordered__toggle--after--BorderBottomWidth: var(--pf-global--BorderWidth--sm, 1px); + /** BorderBottomWidth for the last child after element in bordered expanded content */ --pf-c-accordion--m-bordered__expanded-content--m-expanded__expanded-content-body--last-child--after--BorderBottomWidth: var(--pf-global--BorderWidth--sm, 1px); + /** BorderBottomColor for the last child after element in bordered expanded content */ --pf-c-accordion--m-bordered__expanded-content--m-expanded__expanded-content-body--last-child--after--BorderBottomColor: var(--pf-global--BorderColor--100, #d2d2d2); color: var(--pf-global--Color--100, #151515); background-color: var(--pf-c-accordion--BackgroundColor); diff --git a/elements/pf-accordion/pf-accordion.ts b/elements/pf-accordion/pf-accordion.ts index 4daaefed8c..25c9b8bebc 100644 --- a/elements/pf-accordion/pf-accordion.ts +++ b/elements/pf-accordion/pf-accordion.ts @@ -37,72 +37,9 @@ export class PfAccordionCollapseEvent extends Event { /** * An **accordion** is an interactive container that expands and collapses to hide or reveal nested content. It takes advantage of progressive disclosure to help reduce page scrolling, by allowing users to choose whether they want to show or hide more detailed information as needed. * @summary Toggle the visibility of sections of content + * @alias Accordion * @fires {AccordionExpandEvent} expand - when a panel expands * @fires {AccordionCollapseEvent} collapse - when a panel collapses - * @slot - * Place the `pf-accordion-header` and `pf-accordion-panel` elements here. - * @cssprop [--pf-c-accordion--BackgroundColor=var(--pf-global--BackgroundColor--100, #fff)] - * @cssprop [--pf-c-accordion__toggle--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)] - * @cssprop [--pf-c-accordion__toggle--PaddingRight=var(--pf-global--spacer--md, 1rem)] - * @cssprop [--pf-c-accordion__toggle--PaddingBottom=var(--pf-global--spacer--sm, 0.5rem)] - * @cssprop [--pf-c-accordion__toggle--PaddingLeft=var(--pf-global--spacer--md, 1rem)] - * @cssprop [--pf-c-accordion__toggle--before--BackgroundColor=transparent] - * @cssprop [--pf-c-accordion__toggle--before--Top=0] - * @cssprop [--pf-c-accordion__toggle--hover--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)] - * @cssprop [--pf-c-accordion__toggle--focus--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)] - * @cssprop [--pf-c-accordion__toggle--active--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)] - * @cssprop [--pf-c-accordion__toggle--before--Width=var(--pf-global--BorderWidth--lg, 3px)] - * @cssprop [--pf-c-accordion__toggle--m-expanded--before--BackgroundColor=var(--pf-global--primary-color--100, #06c)] - * @cssprop [--pf-c-accordion__toggle-text--MaxWidth=calc(100 - var(--pf-global--spacer--lg, 1.5rem))] - * @cssprop [--pf-c-accordion__toggle--hover__toggle-text--Color=var(--pf-global--link--Color, #06c)] - * @cssprop [--pf-c-accordion__toggle--active__toggle-text--Color=var(--pf-global--link--Color, #06c)] - * @cssprop [--pf-c-accordion__toggle--active__toggle-text--FontWeight=var(--pf-global--FontWeight--semi-bold, 700)] - * @cssprop [--pf-c-accordion__toggle--focus__toggle-text--Color=var(--pf-global--link--Color, #06c)] - * @cssprop [--pf-c-accordion__toggle--focus__toggle-text--FontWeight=var(--pf-global--FontWeight--semi-bold, 700)] - * @cssprop [--pf-c-accordion__toggle--m-expanded__toggle-text--Color=var(--pf-global--link--Color, #06c)] - * @cssprop [--pf-c-accordion__toggle--m-expanded__toggle-text--FontWeight=var(--pf-global--FontWeight--semi-bold, 700)] - * @cssprop [--pf-c-accordion__toggle-icon--Transition=.2s ease-in 0s] - * @cssprop [--pf-c-accordion__toggle--m-expanded__toggle-icon--Rotate=90deg] - * @cssprop [--pf-c-accordion__expanded-content--Color=var(--pf-global--Color--200, #6a6e73)] - * @cssprop [--pf-c-accordion__expanded-content--FontSize=var(--pf-global--FontSize--sm, 0.875rem)] - * @cssprop [--pf-c-accordion__expanded-content--m-expanded__expanded-content-body--before--BackgroundColor=var(--pf-global--primary-color--100, #06c)] - * @cssprop [--pf-c-accordion__expanded-content--m-fixed--MaxHeight=9.375rem] - * @cssprop [--pf-c-accordion__expanded-content-body--PaddingTop=var(--pf-global--spacer--sm, 0.5rem)] - * @cssprop [--pf-c-accordion__expanded-content-body--PaddingRight=var(--pf-global--spacer--md, 1rem)] - * @cssprop [--pf-c-accordion__expanded-content-body--PaddingBottom=var(--pf-global--spacer--sm, 0.5rem)] - * @cssprop [--pf-c-accordion__expanded-content-body--PaddingLeft=var(--pf-global--spacer--md, 1rem)] - * @cssprop [--pf-c-accordion__expanded-content-body--expanded-content-body--PaddingTop=0] - * @cssprop [--pf-c-accordion__expanded-content-body--before--BackgroundColor=transparent] - * @cssprop [--pf-c-accordion__expanded-content-body--before--Width=var(--pf-global--BorderWidth--lg, 3px)] - * @cssprop [--pf-c-accordion__expanded-content-body--before--Top=0] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--PaddingTop=var(--pf-global--spacer--md, 1rem)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--PaddingRight=var(--pf-global--spacer--md, 1rem)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--PaddingBottom=var(--pf-global--spacer--md, 1rem)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--PaddingLeft=var(--pf-global--spacer--lg, 1.5rem)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--FontFamily=var(--pf-global--FontFamily--heading--sans-serif, "RedHatDisplay", "Overpass", overpass, helvetica, arial, sans-serif)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--FontSize=var(--pf-global--FontSize--xl, 1.25rem)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--hover__toggle-text--Color=var(--pf-global--Color--100, #151515)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--active__toggle-text--Color=var(--pf-global--Color--100, #151515)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--active__toggle-text--FontWeight=var(--pf-global--FontWeight--normal, 400)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--focus__toggle-text--Color=var(--pf-global--Color--100, #151515)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--focus__toggle-text--FontWeight=var(--pf-global--FontWeight--normal, 400)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--m-expanded__toggle-text--Color=var(--pf-global--Color--100, #151515)] - * @cssprop [--pf-c-accordion--m-display-lg__toggle--m-expanded__toggle-text--FontWeight=var(--pf-global--FontWeight--normal, 400)] - * @cssprop [--pf-c-accordion--m-display-lg__expanded-content--FontSize=var(--pf-global--FontSize--md, 1rem)] - * @cssprop [--pf-c-accordion--m-display-lg__expanded-content--Color=var(--pf-global--Color--100, #151515)] - * @cssprop [--pf-c-accordion--m-display-lg__expanded-content-body--PaddingTop=0] - * @cssprop [--pf-c-accordion--m-display-lg__expanded-content-body--PaddingRight=var(--pf-global--spacer--md, 1rem)] - * @cssprop [--pf-c-accordion--m-display-lg__expanded-content-body--PaddingBottom=var(--pf-global--spacer--md, 1rem)] - * @cssprop [--pf-c-accordion--m-display-lg__expanded-content-body--last-child--PaddingBottom=var(--pf-global--spacer--lg, 1.5rem)] - * @cssprop [--pf-c-accordion--m-display-lg__expanded-content-body--PaddingLeft=var(--pf-global--spacer--lg, 1.5rem)] - * @cssprop [--pf-c-accordion--m-bordered--BorderTopWidth=var(--pf-global--BorderWidth--sm, 1px)] - * @cssprop [--pf-c-accordion--m-bordered--BorderTopColor=var(--pf-global--BorderColor--100, #d2d2d2)] - * @cssprop [--pf-c-accordion--m-bordered__toggle--before--Top=calc(-1 * var(--pf-global--BorderWidth--sm, 1px))] - * @cssprop [--pf-c-accordion--m-bordered__toggle--after--BorderColor=var(--pf-global--BorderColor--100, #d2d2d2)] - * @cssprop [--pf-c-accordion--m-bordered__toggle--after--BorderTopWidth=0] - * @cssprop [--pf-c-accordion--m-bordered__toggle--after--BorderBottomWidth=var(--pf-global--BorderWidth--sm, 1px)] - * @cssprop [--pf-c-accordion--m-bordered__expanded-content--m-expanded__expanded-content-body--last-child--after--BorderBottomWidth=var(--pf-global--BorderWidth--sm, 1px)] - * @cssprop [--pf-c-accordion--m-bordered__expanded-content--m-expanded__expanded-content-body--last-child--after--BorderBottomColor=var(--pf-global--BorderColor--100, #d2d2d2)] */ @customElement('pf-accordion') export class PfAccordion extends LitElement { @@ -185,6 +122,7 @@ export class PfAccordion extends LitElement { render(): TemplateResult<1> { return html` + `; } diff --git a/elements/pf-avatar/demo/pf-avatar.html b/elements/pf-avatar/demo/index.html similarity index 100% rename from elements/pf-avatar/demo/pf-avatar.html rename to elements/pf-avatar/demo/index.html diff --git a/elements/pf-avatar/pf-avatar.css b/elements/pf-avatar/pf-avatar.css index 6a72785021..eb7b6aba00 100644 --- a/elements/pf-avatar/pf-avatar.css +++ b/elements/pf-avatar/pf-avatar.css @@ -1,20 +1,34 @@ :host { display: inline-block; + /** Border color for avatar */ --pf-c-avatar--BorderColor: transparent; + /** Border width for avatar */ --pf-c-avatar--BorderWidth: 0; + /** Border radius for avatar */ --pf-c-avatar--BorderRadius: var(--pf-global--BorderRadius--lg, 30em); + /** Width for avatar */ --pf-c-avatar--Width: 2.25rem; + /** Height for avatar */ --pf-c-avatar--Height: 2.25rem; + /** Width for small avatar */ --pf-c-avatar--m-sm--Width: 1.5rem; + /** Height for small avatar */ --pf-c-avatar--m-sm--Height: 1.5rem; + /** Width for medium avatar */ --pf-c-avatar--m-md--Width: 2.25rem; + /** Height for medium avatar */ --pf-c-avatar--m-md--Height: 2.25rem; + /** Width for large avatar */ --pf-c-avatar--m-lg--Width: 4.5rem; + /** Height for large avatar */ --pf-c-avatar--m-lg--Height: 4.5rem; + /** Width for extra large avatar */ --pf-c-avatar--m-xl--Width: 8rem; + /** Height for extra large avatar */ --pf-c-avatar--m-xl--Height: 8rem; --pf-c-avatar--m-light--BorderColor: var(--pf-global--BorderColor--dark-100, #d2d2d2); --pf-c-avatar--m-light--BorderWidth: var(--pf-global--BorderWidth--sm, 1px); + /** Border color for dark avatar */ --pf-c-avatar--m-dark--BorderColor: var(--pf-global--palette--black-700, #4f5255); --pf-c-avatar--m-dark--BorderWidth: var(--pf-global--BorderWidth--sm, 1px); width: var(--pf-c-avatar--Width); diff --git a/elements/pf-avatar/pf-avatar.ts b/elements/pf-avatar/pf-avatar.ts index d4aa243830..8e84c207af 100644 --- a/elements/pf-avatar/pf-avatar.ts +++ b/elements/pf-avatar/pf-avatar.ts @@ -13,21 +13,8 @@ export class PfAvatarLoadEvent extends Event { /** * An **avatar** is a visual used to represent a user. It may contain an image or a placeholder graphic. * @summary For displaying a user's avatar image + * @alias Avatar * @fires {PfAvatarLoadEvent} load - when the avatar loads - * @cssprop [--pf-c-avatar--Width=24px] - * @cssprop [--pf-c-avatar--Height=24px] - * @cssprop [--pf-c-avatar--BorderRadius=var(--pf-global--BorderRadius--lg, 128px)] - * @cssprop [--pf-c-avatar--BorderWidth=0] - * @cssprop [--pf-c-avatar--BorderColor=var(--pf-global--BorderColor--dark-100, #d2d2d2)] - * @cssprop [--pf-c-avatar--m-dark--BorderColor=var(--pf-global--palette--black-700, #4f5255)] - * @cssprop [--pf-c-avatar--m-sm--Width=24px] - * @cssprop [--pf-c-avatar--m-sm--Height=24px] - * @cssprop [--pf-c-avatar--m-md--Width=36px] - * @cssprop [--pf-c-avatar--m-md--Height=36px] - * @cssprop [--pf-c-avatar--m-lg--Width=72px] - * @cssprop [--pf-c-avatar--m-lg--Height=72px] - * @cssprop [--pf-c-avatar--m-xl--Width=28px] - * @cssprop [--pf-c-avatar--m-xl--Height=28px] */ @customElement('pf-avatar') export class PfAvatar extends LitElement { diff --git a/elements/pf-back-to-top/demo/pf-back-to-top.html b/elements/pf-back-to-top/demo/index.html similarity index 100% rename from elements/pf-back-to-top/demo/pf-back-to-top.html rename to elements/pf-back-to-top/demo/index.html diff --git a/elements/pf-back-to-top/pf-back-to-top.css b/elements/pf-back-to-top/pf-back-to-top.css index 9127535ef5..2d708fee8c 100644 --- a/elements/pf-back-to-top/pf-back-to-top.css +++ b/elements/pf-back-to-top/pf-back-to-top.css @@ -1,18 +1,27 @@ :host { display: inline-block; position: absolute; + /** Right position for back to top */ right: var(--pf-c-back-to-top--Right, var(--pf-global--spacer--2xl, 3rem)); + /** Bottom position for back to top */ bottom: var(--pf-c-back-to-top--Bottom, var(--pf-global--spacer--lg, 1.5rem)); } [part="trigger"] { + /** Box shadow for back to top button */ box-shadow: var(--pf-c-back-to-top--c-button--BoxShadow, var(--pf-global--BoxShadow--lg-bottom, 0 0.75rem 0.75rem -0.5rem rgba(3, 3, 3, 0.18))); + /** Font size for back to top button */ --pf-c-button--FontSize: var(--pf-c-back-to-top--c-button--FontSize, var(--pf-global--FontSize--xs, 0.75rem)); + /** Border radius for back to top button */ --pf-c-button--BorderRadius: var(--pf-c-back-to-top--c-button--BorderRadius, var(--pf-global--BorderRadius--lg, 30em)); + /** Top padding for back to top button */ --pf-c-button--PaddingTop: var(--pf-c-back-to-top--c-button--PaddingTop, var(--pf-global--spacer--xs, 0.25rem)); + /** Right padding for back to top button */ --pf-c-button--PaddingRight: var(--pf-c-back-to-top--c-button--PaddingRight, var(--pf-global--spacer--sm, 0.5rem)); + /** Bottom padding for back to top button */ --pf-c-button--PaddingBottom: var(--pf-c-back-to-top--c-button--PaddingBottom, var(--pf-global--spacer--xs, 0.25rem)); + /** Left padding for back to top button */ --pf-c-button--PaddingLeft: var(--pf-c-back-to-top--c-button--PaddingLeft, var(--pf-global--spacer--sm, 0.5rem)); } @@ -20,12 +29,15 @@ a { display: inline-flex; align-items: center; justify-content: center; + /** Primary color for back to top button */ color: var(--pf-c-button--m-primary--Color, var(--pf-global--Color--light-100, #fff)); + /** Primary background color for back to top button */ background-color: var(--pf-c-button--m-primary--BackgroundColor, var(--pf-global--primary-color--100, #06c)); text-decoration: none; font-size: var(--pf-c-button--FontSize); padding: var(--pf-c-button--PaddingTop) var(--pf-c-button--PaddingRight) var(--pf-c-button--PaddingBottom) var(--pf-c-button--PaddingLeft); border-radius: var(--pf-c-button--BorderRadius); + /** End icon margin left for back to top button */ gap: var(--pf-c-button__icon--m-end--MarginLeft, var(--pf-global--spacer--xs, 0.25rem)); } diff --git a/elements/pf-back-to-top/pf-back-to-top.ts b/elements/pf-back-to-top/pf-back-to-top.ts index 3d3da33ec9..346ea8d79f 100644 --- a/elements/pf-back-to-top/pf-back-to-top.ts +++ b/elements/pf-back-to-top/pf-back-to-top.ts @@ -13,23 +13,7 @@ import styles from './pf-back-to-top.css'; /** * The **back to top** component is a shortcut that allows users to quickly navigate to the top of a lengthy content page. * @summary A shortcut that allows users to quickly navigate to the top of a lengthy content page. - * @csspart trigger - The `` or `` element - * @slot icon - * Contains the prefix icon to display before the link or button. - * @slot - * Text to display inside the link or button. - * @cssprop {} [--pf-c-back-to-top--Right=3rem`] - * @cssprop {} [--pf-c-back-to-top--Bottom=1.5rem`] - * @cssprop [--pf-c-back-to-top--c-button--BoxShadow=0 0.75rem 0.75rem -0.5rem rgba(3, 3, 3, 0.18)] - * @cssprop {} [--pf-c-button--FontSize=0.75rem] - * @cssprop {|} [--pf-c-button--BorderRadius=30em] - * @cssprop {} [--pf-c-button--PaddingTop=0.25rem] - * @cssprop {} [--pf-c-button--PaddingRight=0.5rem] - * @cssprop {} [--pf-c-button--PaddingBottom=0.25rem] - * @cssprop {} [--pf-c-button--PaddingLeft=0.5rem] - * @cssprop {} [--pf-c-button--m-primary--Color=#fff] - * @cssprop {} [--pf-c-button--m-primary--BackgroundColor=#06c] - * @cssprop {} [--pf-c-button__icon--m-end--MarginLeft=0.25rem] + * @alias Back to Top */ @customElement('pf-back-to-top') export class PfBackToTop extends LitElement { @@ -112,14 +96,21 @@ export class PfBackToTop extends LitElement { if (this.href) { return html` - + + + + `; } else { return html` + + + diff --git a/elements/pf-background-image/demo/pf-background-image.html b/elements/pf-background-image/demo/index.html similarity index 100% rename from elements/pf-background-image/demo/pf-background-image.html rename to elements/pf-background-image/demo/index.html diff --git a/elements/pf-background-image/pf-background-image.css b/elements/pf-background-image/pf-background-image.css index 16d62e2354..027806a3e9 100644 --- a/elements/pf-background-image/pf-background-image.css +++ b/elements/pf-background-image/pf-background-image.css @@ -1,6 +1,7 @@ :host { display: flex; + /** Background image for the element */ --_background-image: var(--pf-c-background-image--BackgroundImage); } @@ -23,8 +24,10 @@ width: 100%; height: 100%; content: ""; + /** Background color for the background image */ background-color: var(--pf-c-background-image--BackgroundColor, var(--pf-global--BackgroundColor--dark-100, #151515)); background-image: var(--_background-image); + /** SVG filter applied to the background image */ filter: var(--pf-c-background-image--Filter, url("#image_overlay")); background-repeat: no-repeat; background-size: cover; @@ -43,24 +46,28 @@ slot[part="content"] { @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { #container::after { + /** Background image for 2x DPI screens */ background-image: var(--pf-c-background-image--BackgroundImage-2x, var(--_background-image-2x, var(--_background-image))); } } @media screen and (min-width: 576px) { #container::after { + /** Background image for small screens */ background-image: var(--pf-c-background-image--BackgroundImage--sm, var(--_background-image-sm, var(--_background-image))); } } @media screen and (min-width: 576px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 576px) and (min-resolution: 192dpi) { #container::after { + /** Background image for small screens with 2x DPI */ background-image: var(--pf-c-background-image--BackgroundImage--sm-2x, var(--_background-image-sm-2x, var(--_background-image))); } } @media screen and (min-width: 992px) { #container::after { + /** Background image for large screens */ background-image: var(--pf-c-background-image--BackgroundImage--lg, var(--_background-image-lg, var(--_background-image))); } } diff --git a/elements/pf-background-image/pf-background-image.ts b/elements/pf-background-image/pf-background-image.ts index 86ba30b9f9..1fa2627c80 100644 --- a/elements/pf-background-image/pf-background-image.ts +++ b/elements/pf-background-image/pf-background-image.ts @@ -11,14 +11,7 @@ import styles from './pf-background-image.css'; /** * A **background image** allows you to place an image in the background of your page or area of a page. * @summary Allows users to place an image in the background of your page or area of a page. - * @slot filter - Overrides the default svg filter for the background image. - * @cssprop {} [--pf-c-background-image--BackgroundColor=#151515] - * @cssprop [--pf-c-background-image--Filter=url("#image_overlay")] - * @cssprop --pf-c-background-image--BackgroundImage - * @cssprop --pf-c-background-image--BackgroundImage-2x - * @cssprop --pf-c-background-image--BackgroundImage--sm - * @cssprop --pf-c-background-image--BackgroundImage--sm-2x - * @cssprop --pf-c-background-image--BackgroundImage--lg + * @alias Background Image */ @customElement('pf-background-image') export class PfBackgroundImage extends LitElement { @@ -82,6 +75,7 @@ export class PfBackgroundImage extends LitElement { return html`
${!this.filter ? html`` : html` + ${(this.#svg && this.#updated) ? this.#svg : html` diff --git a/elements/pf-badge/demo/pf-badge.html b/elements/pf-badge/demo/index.html similarity index 100% rename from elements/pf-badge/demo/pf-badge.html rename to elements/pf-badge/demo/index.html diff --git a/elements/pf-badge/pf-badge.css b/elements/pf-badge/pf-badge.css index 6c0d4389c6..1ff0ad30b2 100644 --- a/elements/pf-badge/pf-badge.css +++ b/elements/pf-badge/pf-badge.css @@ -3,36 +3,49 @@ white-space: nowrap; text-align: center; display: inline-block; + /** Border radius for badge */ border-radius: var(--pf-c-badge--BorderRadius, var(--pf-global--BorderRadius--lg, 180em)); + /** Minimum width for badge */ min-width: var(--pf-c-badge--MinWidth, var(--pf-global--spacer--xl, 2rem)); + /** Left padding for badge */ padding-left: var(--pf-c-badge--PaddingLeft, var(--pf-global--spacer--sm, 0.5rem)); + /** Right padding for badge */ padding-right: var(--pf-c-badge--PaddingRight, var(--pf-global--spacer--sm, 0.5rem)); + /** Font size for badge */ font-size: var(--pf-c-badge--FontSize, var(--pf-theme--font-size, 0.75em)); + /** Font weight for badge */ font-weight: var(--pf-c-badge--FontWeight, var(--pf-theme--font-weight--bold, 700)); + /** Line height for badge */ line-height: var(--pf-c-badge--LineHeight, var(--pf-global--LineHeight--md, 1.5)); + /** Color for badge */ color: var(--pf-c-badge--Color, var(--pf-global--palette--black-900, #151515)); + /** Background color for badge */ background-color: var(--pf-c-badge--BackgroundColor, var(--pf-global--palette--black-200, #f0f0f0)); } :host([state="read"]) { + /** Color for read badge */ --pf-c-badge--Color: var(--pf-c-badge--m-read--Color, var(--pf-global--palette--black-900, #151515)); + /** Background color for read badge */ --pf-c-badge--BackgroundColor: var(--pf-c-badge--m-read--BackgroundColor, var(--pf-global--palette--black-200, #f0f0f0)); } :host([state="unread"]) { + /** Color for unread badge */ --pf-c-badge--Color: var(--pf-c-badge--m-unread--Color, var(--pf-global--palette--white, #fff)); + /** Background color for unread badge */ --pf-c-badge--BackgroundColor: var(--pf-c-badge--m-unread--BackgroundColor, var(--pf-global--palette--blue-400, #06c)); } diff --git a/elements/pf-badge/pf-badge.ts b/elements/pf-badge/pf-badge.ts index 48ca61df7a..3f50b336ba 100644 --- a/elements/pf-badge/pf-badge.ts +++ b/elements/pf-badge/pf-badge.ts @@ -6,19 +6,7 @@ import styles from './pf-badge.css'; /** * A **badge** is used to annotate other information like a label or an object name. - * @cssprop {} [--pf-c-badge--BorderRadius=180em] - * @cssprop {} [--pf-c-badge--MinWidth=2rem] - * @cssprop {} [--pf-c-badge--PaddingLeft=0.5rem] - * @cssprop {} [--pf-c-badge--PaddingRight=0.5rem] - * @cssprop {} [--pf-c-badge--FontSize=0.85em] - * @cssprop {} [--pf-c-badge--LineHeight=1.5] - * @cssprop {} [--pf-c-badge--FontWeight=700] - * @cssprop {} [--pf-c-badge--Color=#151515] - * @cssprop {} [--pf-c-badge--BackgroundColor=#f0f0f0] - * @cssprop {} [--pf-c-badge--m-read--Color=#151515] - * @cssprop {} [--pf-c-badge--m-read--BackgroundColor=#f0f0f0] - * @cssprop {} [--pf-c-badge--m-unread--Color=#fff] - * @cssprop {} [--pf-c-badge--m-unread--BackgroundColor=#06c] + * @alias Badge */ diff --git a/elements/pf-banner/demo/pf-banner.html b/elements/pf-banner/demo/index.html similarity index 100% rename from elements/pf-banner/demo/pf-banner.html rename to elements/pf-banner/demo/index.html diff --git a/elements/pf-banner/pf-banner.css b/elements/pf-banner/pf-banner.css index c27641a70f..3ca89aba31 100644 --- a/elements/pf-banner/pf-banner.css +++ b/elements/pf-banner/pf-banner.css @@ -1,25 +1,46 @@ :host { display: block; + /** Top padding for banner */ --pf-c-banner--PaddingTop: var(--pf-global--spacer--xs, 0.25rem); + /** Right padding for banner */ --pf-c-banner--PaddingRight: var(--pf-global--spacer--md, 1rem); + /** Right padding for banner on medium screens */ --pf-c-banner--md--PaddingRight: var(--pf-global--spacer--lg, 1.5rem); + /** Bottom padding for banner */ --pf-c-banner--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem); + /** Left padding for banner */ --pf-c-banner--PaddingLeft: var(--pf-global--spacer--md, 1rem); + /** Left padding for banner on medium screens */ --pf-c-banner--md--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem); + /** Font size for banner */ --pf-c-banner--FontSize: var(--pf-global--FontSize--sm, 0.875rem); + /** Text color for banner */ --pf-c-banner--Color: var(--pf-global--Color--100, #151515); + /** Background color for banner */ --pf-c-banner--BackgroundColor: var(--pf-global--BackgroundColor--dark-400, #4f5255); + /** Link color for banner (references banner color) */ --pf-c-banner--link--Color: var(--pf-c-banner--Color); + /** Link text decoration for banner */ --pf-c-banner--link--TextDecoration: underline; + /** Link hover color for banner (references banner color) */ --pf-c-banner--link--hover--Color: var(--pf-c-banner--Color); + /** Link hover font weight for banner */ --pf-c-banner--link--hover--FontWeight: var(--pf-global--FontWeight--semi-bold, 700); + /** Disabled link color for banner (references banner color) */ --pf-c-banner--link--disabled--Color: var(--pf-c-banner--Color); + /** Disabled link text decoration for banner */ --pf-c-banner--link--disabled--TextDecoration: none; + /** Background color for info banner */ --pf-c-banner--m-info--BackgroundColor: var(--pf-global--palette--blue-200, #73bcf7); + /** Background color for danger banner */ --pf-c-banner--m-danger--BackgroundColor: var(--pf-global--danger-color--100, #c9190b); + /** Background color for success banner */ --pf-c-banner--m-success--BackgroundColor: var(--pf-global--success-color--100, #3e8635); + /** Background color for warning banner */ --pf-c-banner--m-warning--BackgroundColor: var(--pf-global--warning-color--100, #f0ab00); + /** Z-index for sticky banner */ --pf-c-banner--m-sticky--ZIndex: var(--pf-global--ZIndex--md, 300); + /** Box shadow for sticky banner */ --pf-c-banner--m-sticky--BoxShadow: var(--pf-global--BoxShadow--md-bottom); } diff --git a/elements/pf-banner/pf-banner.ts b/elements/pf-banner/pf-banner.ts index b6dd731dcf..b81a9b797c 100644 --- a/elements/pf-banner/pf-banner.ts +++ b/elements/pf-banner/pf-banner.ts @@ -20,25 +20,7 @@ export type BannerVariant = ( * A banner is a 1-line, full color, full width container that can be used to communicate short snippets of information to users. * Banners are un-intrusive and non-dismissible. * @summary Allows users to display a stylized banner. - * @cssprop {} [--pf-c-banner--PaddingTop=0.25rem] - * @cssprop {} [--pf-c-banner--PaddingRight=1rem] - * @cssprop {} [--pf-c-banner--PaddingBottom=0.25rem] - * @cssprop {} [--pf-c-banner--PaddingLeft=1rem] - * @cssprop {} [--pf-c-banner--md--PaddingRight=1.5rem] - * @cssprop {} [--pf-c-banner--md--PaddingLeft=1.5rem] - * @cssprop {} [--pf-c-banner--FontSize=0.875rem] - * @cssprop {} [--pf-c-banner--BackgroundColor=#4f5255] - * @cssprop {} [--pf-c-banner--m-info--BackgroundColor=#73bcf7] - * @cssprop {} [--pf-c-banner--m-danger--BackgroundColor=#c9190b] - * @cssprop {} [--pf-c-banner--m-success--BackgroundColor=#3e8635] - * @cssprop {} [--pf-c-banner--m-warning--BackgroundColor=#f0ab00] - * @cssprop [--pf-c-banner--m-sticky--ZIndex=300] - * @cssprop [--pf-c-banner--m-sticky--BoxShadow=0 0.5rem 0.5rem -0.375rem rgba(3, 3, 3, 0.18)] - * @csspart container - The container of the banner - * @slot icon - * Contains the labels's icon, e.g. web-icon-alert-success. - * @slot - * Contains the text for the banner + * @alias Banner */ @customElement('pf-banner') export class PfBanner extends LitElement { @@ -66,11 +48,14 @@ export class PfBanner extends LitElement { const { variant, icon } = this; const hasIcon = !!icon || this.#slots.hasSlotted('icon'); return html` +
+ ${!this.icon ? '' : html` `} +
`; diff --git a/elements/pf-button/demo/pf-button.html b/elements/pf-button/demo/index.html similarity index 100% rename from elements/pf-button/demo/pf-button.html rename to elements/pf-button/demo/index.html diff --git a/elements/pf-button/pf-button-tokens.css b/elements/pf-button/pf-button-tokens.css index ce38f5eef0..ca24432b5d 100644 --- a/elements/pf-button/pf-button-tokens.css +++ b/elements/pf-button/pf-button-tokens.css @@ -1,39 +1,75 @@ :host { + /** PaddingTop for the button */ --pf-c-button--PaddingTop: var(--pf-global--spacer--form-element, 0.375rem); + /** PaddingRight for the button */ --pf-c-button--PaddingRight: var(--pf-global--spacer--md, 1rem); + /** PaddingBottom for the button */ --pf-c-button--PaddingBottom: var(--pf-global--spacer--form-element, 0.375rem); + /** PaddingLeft for the button */ --pf-c-button--PaddingLeft: var(--pf-global--spacer--md, 1rem); + /** LineHeight for the button */ --pf-c-button--LineHeight: var(--pf-global--LineHeight--md, 1.5); + /** FontWeight for the button */ --pf-c-button--FontWeight: var(--pf-global--FontWeight--normal, 400); + /** FontSize for the button */ --pf-c-button--FontSize: var(--pf-global--FontSize--md, 1rem); + /** BackgroundColor for the button */ --pf-c-button--BackgroundColor: transparent; + /** BorderRadius for the button */ --pf-c-button--BorderRadius: var(--pf-global--BorderRadius--sm, 3px); + /** BorderRadius for the button after element */ --pf-c-button--after--BorderRadius: var(--pf-global--BorderRadius--sm, 3px); + /** BorderColor for the button after element */ --pf-c-button--after--BorderColor: transparent; + /** BorderWidth for the button after element */ --pf-c-button--after--BorderWidth: var(--pf-global--BorderWidth--sm, 1px); + /** BorderWidth for the button after element on hover */ --pf-c-button--hover--after--BorderWidth: var(--pf-global--BorderWidth--md, 2px); + /** BorderWidth for the button after element on focus */ --pf-c-button--focus--after--BorderWidth: var(--pf-global--BorderWidth--md, 2px); + /** BorderWidth for the button after element when active */ --pf-c-button--active--after--BorderWidth: var(--pf-global--BorderWidth--md, 2px); + /** Color for the button when disabled */ --pf-c-button--disabled--Color: var(--pf-global--disabled-color--100, #6a6e73); + /** BackgroundColor for the button when disabled */ --pf-c-button--disabled--BackgroundColor: var(--pf-global--disabled-color--200, #d2d2d2); + /** BorderColor for the button after element when disabled */ --pf-c-button--disabled--after--BorderColor: transparent; + /** BackgroundColor for the primary button variant */ --pf-c-button--m-primary--BackgroundColor: var(--pf-global--primary-color--100, #06c); + /** Color for the primary button variant */ --pf-c-button--m-primary--Color: var(--pf-global--Color--light-100, #fff); + /** BackgroundColor for the primary button variant on hover */ --pf-c-button--m-primary--hover--BackgroundColor: var(--pf-global--primary-color--200, #004080); + /** Color for the primary button variant on hover */ --pf-c-button--m-primary--hover--Color: var(--pf-global--Color--light-100, #fff); + /** BackgroundColor for the primary button variant on focus */ --pf-c-button--m-primary--focus--BackgroundColor: var(--pf-global--primary-color--200, #004080); + /** Color for the primary button variant on focus */ --pf-c-button--m-primary--focus--Color: var(--pf-global--Color--light-100, #fff); + /** BackgroundColor for the primary button variant when active */ --pf-c-button--m-primary--active--BackgroundColor: var(--pf-global--primary-color--200, #004080); + /** Color for the primary button variant when active */ --pf-c-button--m-primary--active--Color: var(--pf-global--Color--light-100, #fff); + /** BackgroundColor for the secondary button variant */ --pf-c-button--m-secondary--BackgroundColor: transparent; + /** BorderColor for the secondary button variant after element */ --pf-c-button--m-secondary--after--BorderColor: var(--pf-global--primary-color--100, #06c); + /** Color for the secondary button variant */ --pf-c-button--m-secondary--Color: var(--pf-global--primary-color--100, #06c); + /** BackgroundColor for the secondary button variant on hover */ --pf-c-button--m-secondary--hover--BackgroundColor: transparent; + /** BorderColor for the secondary button variant after element on hover */ --pf-c-button--m-secondary--hover--after--BorderColor: var(--pf-global--primary-color--100, #06c); + /** Color for the secondary button variant on hover */ --pf-c-button--m-secondary--hover--Color: var(--pf-global--primary-color--100, #06c); + /** BackgroundColor for the secondary button variant on focus */ --pf-c-button--m-secondary--focus--BackgroundColor: transparent; + /** BorderColor for the secondary button variant after element on focus */ --pf-c-button--m-secondary--focus--after--BorderColor: var(--pf-global--primary-color--100, #06c); + /** Color for the secondary button variant on focus */ --pf-c-button--m-secondary--focus--Color: var(--pf-global--primary-color--100, #06c); + /** BackgroundColor for the secondary button variant when active */ --pf-c-button--m-secondary--active--BackgroundColor: transparent; --pf-c-button--m-secondary--active--after--BorderColor: var(--pf-global--primary-color--100, #06c); --pf-c-button--m-secondary--active--Color: var(--pf-global--primary-color--100, #06c); @@ -168,6 +204,8 @@ --pf-c-button--m-primary__c-badge--BorderColor: var(--pf-global--BorderColor--300, #f0f0f0); --pf-c-button--m-primary__c-badge--BorderWidth: var(--pf-global--BorderWidth--sm, 1px); + /** Internal button color property */ --_button-color: var(--pf-c-button--m-primary--Color); + /** Internal button background color property */ --_button-background-color: var(--pf-c-button--m-primary--BackgroundColor); } diff --git a/elements/pf-button/pf-button.ts b/elements/pf-button/pf-button.ts index 067de822c7..83a0ad1940 100644 --- a/elements/pf-button/pf-button.ts +++ b/elements/pf-button/pf-button.ts @@ -31,112 +31,7 @@ export type ButtonVariant = ( * new location, like another page inside of a web application, or an external site * such as help or documentation.. * @summary Allows users to perform an action when triggered - * @cssprop {} [--pf-c-button--FontSize=1rem] - * @cssprop [--pf-c-button--FontWeight=400] - * @cssprop {} [--pf-c-button--LineHeight=1.5] - * @cssprop {} [--pf-c-button--PaddingTop=0.375rem] - * @cssprop {} [--pf-c-button--PaddingLeft=1rem] - * @cssprop {} [--pf-c-button--PaddingBottom=0.375rem] - * @cssprop {} [--pf-c-button--PaddingRight=1rem] - * @cssprop {|} [--pf-c-button--BorderRadius=3px] - * @cssprop {} [--pf-c-button--after--BorderColor=transparent] - * @cssprop {} [--pf-c-button--after--BorderRadius=3px] - * @cssprop {} [--pf-c-button--after--BorderWidth=1px] - * @cssprop {} [--pf-c-button--active--after--BorderWidth=2px] - * @cssprop {} [--pf-c-button--hover--after--BorderWidth=2px] - * @cssprop {} [--pf-c-button--focus--after--BorderWidth=2px] - * @cssprop {} [--pf-c-button--m-primary--Color=#fff] - * @cssprop {} [--pf-c-button--m-primary--BackgroundColor=#06c] - * @cssprop {} [--pf-c-button--m-primary--active--Color=#fff] - * @cssprop {} [--pf-c-button--m-primary--active--BackgroundColor=#004080] - * @cssprop {} [--pf-c-button--m-primary--focus--Color=#fff] - * @cssprop {} [--pf-c-button--m-primary--focus--BackgroundColor=#004080] - * @cssprop {} [--pf-c-button--m-primary--hover--Color=#fff] - * @cssprop {} [--pf-c-button--m-primary--hover--BackgroundColor=#004080] - * @cssprop {} [--pf-c-button--m-secondary--Color=#06c] - * @cssprop {} [--pf-c-button--m-secondary--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-secondary--active--Color=#06c] - * @cssprop {} [--pf-c-button--m-secondary--active--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-secondary--active--BorderColor=#06c] - * @cssprop {} [--pf-c-button--m-secondary--focus--Color=#06c] - * @cssprop {} [--pf-c-button--m-secondary--focus--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-secondary--focus--BorderColor=#06c] - * @cssprop {} [--pf-c-button--m-secondary--hover--Color=#06c] - * @cssprop {} [--pf-c-button--m-secondary--hover--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-secondary--hover--BorderColor=#06c] - * @cssprop {} [--pf-c-button--m-tertiary--Color=#151515] - * @cssprop {} [--pf-c-button--m-tertiary--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-tertiary--active--Color=#151515] - * @cssprop {} [--pf-c-button--m-tertiary--active--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-tertiary--active--BorderColor=#151515] - * @cssprop {} [--pf-c-button--m-tertiary--focus--Color=#151515] - * @cssprop {} [--pf-c-button--m-tertiary--focus--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-tertiary--focus--BorderColor=#151515] - * @cssprop {} [--pf-c-button--m-tertiary--hover--Color=#151515] - * @cssprop {} [--pf-c-button--m-tertiary--hover--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-tertiary--hover--BorderColor=#151515] - * @cssprop {} [--pf-c-button--m-danger--Color=#fff] - * @cssprop {} [--pf-c-button--m-danger--BackgroundColor=#c9190b] - * @cssprop {} [--pf-c-button--m-danger--active--Color=#fff] - * @cssprop {} [--pf-c-button--m-danger--active--BackgroundColor=#a30000] - * @cssprop {} [--pf-c-button--m-danger--focus--Color=#fff] - * @cssprop {} [--pf-c-button--m-danger--focus--BackgroundColor=#a30000] - * @cssprop {} [--pf-c-button--m-danger--hover--Color=#fff] - * @cssprop {} [--pf-c-button--m-danger--hover--BackgroundColor=#a30000] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--Color=#c9190b] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--BorderColor=#c9190b] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--active--Color=#a30000] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--active--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--active--BorderColor=#c9190b] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--focus--Color=#a30000] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--focus--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--focus--BorderColor=#c9190b] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--hover--Color=#a30000] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--hover--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-secondary--m-danger--hover--BorderColor=#c9190b] - * @cssprop {} [--pf-c-button--m-control--disabled--BackgroundColor=#f0f0f0] - * @cssprop {} [--pf-c-button--m-control--BorderRadius=0] - * @cssprop {} [--pf-c-button--m-control--after--BorderWidth=1px] - * @cssprop {} [--pf-c-button--m-control--after--BorderTopColor=#f0f0f0] - * @cssprop {} [--pf-c-button--m-control--after--BorderRightColor=#f0f0f0] - * @cssprop {} [--pf-c-button--m-control--after--BorderBottomColor=#8a8d90] - * @cssprop {} [--pf-c-button--m-control--after--BorderLeftColor=#f0f0f0] - * @cssprop {} [--pf-c-button--m-control--Color=#151515] - * @cssprop {} [--pf-c-button--m-control--BackgroundColor=#fff] - * @cssprop {} [--pf-c-button--m-control--active--Color=#151515] - * @cssprop {} [--pf-c-button--m-control--active--BackgroundColor=#fff] - * @cssprop {} [--pf-c-button--m-control--active--BorderBottomColor=#06c] - * @cssprop {} [--pf-c-button--m-control--active--after--BorderBottomWidth=2px] - * @cssprop {} [--pf-c-button--m-control--focus--Color=#151515] - * @cssprop {} [--pf-c-button--m-control--focus--BackgroundColor=#fff] - * @cssprop {} [--pf-c-button--m-control--focus--BorderBottomColor=#06c] - * @cssprop {} [--pf-c-button--m-control--focus--after--BorderBottomWidth=2px] - * @cssprop {} [--pf-c-button--m-control--hover--Color=#151515] - * @cssprop {} [--pf-c-button--m-control--hover--BackgroundColor=#fff] - * @cssprop {} [--pf-c-button--m-control--hover--BorderBottomColor=#06c] - * @cssprop {} [--pf-c-button--m-control--hover--after--BorderBottomWidth=2px] - * @cssprop {} [--pf-c-button--disabled--Color=#6a6e73] - * @cssprop {} [--pf-c-button--disabled--BackgroundColor=#d2d2d2] - * @cssprop {} [--pf-c-button--disabled--after--BorderColor=transparent] - * @cssprop {} [--pf-c-button--m-warning--Color=#151515] - * @cssprop {} [--pf-c-button--m-warning--BackgroundColor=#f0ab00] - * @cssprop {} [--pf-c-button--m-warning--active--Color=#151515] - * @cssprop {} [--pf-c-button--m-warning--active--BackgroundColor=#c58c00] - * @cssprop {} [--pf-c-button--m-warning--focus--Color=#151515] - * @cssprop {} [--pf-c-button--m-warning--focus--BackgroundColor=#c58c00] - * @cssprop {} [--pf-c-button--m-warning--hover--Color=#151515] - * @cssprop {} [--pf-c-button--m-warning--hover--BackgroundColor=#c58c00] - * @cssprop {} [--pf-c-button--m-plain--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-plain--Color=#6a6e73] - * @cssprop {} [--pf-c-button--m-plain--hover--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-plain--hover--Color=#151515] - * @cssprop {} [--pf-c-button--m-plain--focus--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-plain--focus--Color=#151515] - * @cssprop {} [--pf-c-button--m-plain--active--BackgroundColor=transparent] - * @cssprop {} [--pf-c-button--m-plain--active--Color=#151515] - * @cssprop {} [--pf-c-button--m-plain--disabled--Color=#d2d2d2] - * @cssprop {} [--pf-c-button--m-plain--disabled--BackgroundColor=transparent] + * @alias Button * @attr {string} [loading-label='loading'] - ARIA label for the loading indicator */ @customElement('pf-button') diff --git a/elements/pf-card/demo/pf-card.html b/elements/pf-card/demo/index.html similarity index 100% rename from elements/pf-card/demo/pf-card.html rename to elements/pf-card/demo/index.html diff --git a/elements/pf-card/pf-card.css b/elements/pf-card/pf-card.css index 93f47a4ade..23b0b5340c 100644 --- a/elements/pf-card/pf-card.css +++ b/elements/pf-card/pf-card.css @@ -1,13 +1,18 @@ :host { + /** BackgroundColor for the card */ --pf-c-card--BackgroundColor: var(--pf-global--BackgroundColor--100, #fff); + /** BoxShadow for the card */ --pf-c-card--BoxShadow: var(--pf-global--BoxShadow--sm, 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06)); --pf-c-card--first-child--PaddingTop: var(--pf-global--spacer--lg, 1.5rem); --pf-c-card--child--PaddingRight: var(--pf-global--spacer--lg, 1.5rem); --pf-c-card--child--PaddingBottom: var(--pf-global--spacer--lg, 1.5rem); --pf-c-card--child--PaddingLeft: var(--pf-global--spacer--lg, 1.5rem); --pf-c-card--c-divider--child--PaddingTop: var(--pf-global--spacer--lg, 1.5rem); + /** FontFamily for the card title */ --pf-c-card__title--FontFamily: var(--pf-global--FontFamily--heading--sans-serif, "RedHatDisplay", "Overpass", overpass, helvetica, arial, sans-serif); + /** FontSize for the card title */ --pf-c-card__title--FontSize: var(--pf-global--FontSize--md, 1rem); + /** FontWeight for the card title */ --pf-c-card__title--FontWeight: var(--pf-global--FontWeight--bold, 700); --pf-c-card__title--not--last-child--PaddingBottom: var(--pf-global--spacer--md, 1rem); --pf-c-card__body--FontSize: var(--pf-global--FontSize--md, 1rem); @@ -61,26 +66,45 @@ --pf-c-card--m-non-selectable-raised--before--BackgroundColor: var(--pf-global--disabled-color--200, #d2d2d2); --pf-c-card--m-non-selectable-raised--before--ScaleY: 2; --pf-c-card--m-flat--m-non-selectable-raised--before--BorderColor: var(--pf-global--disabled-color--200, #d2d2d2); + /** FontSize for the card body in compact size */ --pf-c-card--m-compact__body--FontSize: var(--pf-global--FontSize--sm, 0.875rem); + /** FontSize for the card footer in compact size */ --pf-c-card--m-compact__footer--FontSize: var(--pf-global--FontSize--sm, 0.875rem); + /** PaddingTop for the first child in compact size */ --pf-c-card--m-compact--first-child--PaddingTop: var(--pf-global--spacer--md, 1rem); + /** PaddingRight for children in compact size */ --pf-c-card--m-compact--child--PaddingRight: var(--pf-global--spacer--md, 1rem); + /** PaddingBottom for children in compact size */ --pf-c-card--m-compact--child--PaddingBottom: var(--pf-global--spacer--md, 1rem); + /** PaddingLeft for children in compact size */ --pf-c-card--m-compact--child--PaddingLeft: var(--pf-global--spacer--md, 1rem); --pf-c-card--m-compact--c-divider--child--PaddingTop: var(--pf-global--spacer--md, 1rem); + /** PaddingBottom for the title when not last child in compact size */ --pf-c-card--m-compact__title--not--last-child--PaddingBottom: var(--pf-global--spacer--sm, 0.5rem); + /** FontSize for the title in large size */ --pf-c-card--m-display-lg__title--FontSize: var(--pf-global--FontSize--xl, 1.25rem); + /** PaddingTop for the first child in large size */ --pf-c-card--m-display-lg--first-child--PaddingTop: var(--pf-global--spacer--xl, 2rem); + /** PaddingRight for children in large size */ --pf-c-card--m-display-lg--child--PaddingRight: var(--pf-global--spacer--xl, 2rem); + /** PaddingBottom for children in large size */ --pf-c-card--m-display-lg--child--PaddingBottom: var(--pf-global--spacer--xl, 2rem); + /** PaddingLeft for children in large size */ --pf-c-card--m-display-lg--child--PaddingLeft: var(--pf-global--spacer--xl, 2rem); --pf-c-card--m-display-lg--c-divider--child--PaddingTop: var(--pf-global--spacer--xl, 2rem); + /** PaddingBottom for the title when not last child in large size */ --pf-c-card--m-display-lg__title--not--last-child--PaddingBottom: var(--pf-global--spacer--lg, 1.5rem); + /** BorderWidth for the flat variant */ --pf-c-card--m-flat--BorderWidth: var(--pf-global--BorderWidth--sm, 1px); + /** BorderColor for the flat variant */ --pf-c-card--m-flat--BorderColor: var(--pf-global--BorderColor--100, #d2d2d2); + /** BorderRadius for the rounded variant */ --pf-c-card--m-rounded--BorderRadius: var(--pf-global--BorderRadius--sm, 3px); + /** Height for the full height variant */ --pf-c-card--m-full-height--Height: 100%; + /** BoxShadow for the plain variant */ --pf-c-card--m-plain--BoxShadow: none; + /** BackgroundColor for the plain variant */ --pf-c-card--m-plain--BackgroundColor: transparent; --pf-c-card__header--m-toggle-right--toggle--MarginRight: calc(var(--pf-global--spacer--form-element, 0.375rem) * -1); --pf-c-card__header--m-toggle-right--toggle--MarginLeft: var(--pf-global--spacer--xs, 0.25rem); diff --git a/elements/pf-card/pf-card.ts b/elements/pf-card/pf-card.ts index 72a29419a6..250e8ca926 100644 --- a/elements/pf-card/pf-card.ts +++ b/elements/pf-card/pf-card.ts @@ -14,44 +14,7 @@ import style from './pf-card.css'; * function as a preview of a detailed page. Cards may also be used in data displays * like card views, or for positioning content on a page. * @summary Gives a preview of information in a small layout - * @slot header - * When included, defines the contents of a card. Card headers can contain images as well as - * the title of a card and an actions menu represented by the right-aligned kebab. - * In most cases, your card should include a header. The only exceptions are when cards being - * used as a layout element to create a white background behind other content. - * @slot title - * Communicates the title of a card if it's not included in the header. - * If a card will be utilized as a selectable and clickable card, the title needs to be made as a linked text to trigger action and indicate interaction. - * @slot - Body. Provides details about the item. A card body can include any combination of static - * text and/or active content. - * @slot footer - * Contains external links, actions, or static text at the bottom of a card. - * @csspart header - The container for *header* content - * @csspart body - The container for *body* content - * @csspart footer - The container for *footer* content - * @cssprop {} [--pf-c-card--BackgroundColor=#ffffff] - * @cssprop {} [--pf-c-card--BoxShadow=0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06)] - * @cssprop {} [--pf-c-card--size-compact__body--FontSize=.875rem] - * @cssprop {} [--pf-c-card--size-compact__footer--FontSize=1rem] - * @cssprop {} [--pf-c-card--size-compact--first-child--PaddingTop=1.5rem] - * @cssprop {} [--pf-c-card--size-compact--child--PaddingRight=1rem] - * @cssprop {} [--pf-c-card--size-compact--child--PaddingBottom=1rem] - * @cssprop {} [--pf-c-card--size-compact--child--PaddingLeft=1rem] - * @cssprop {} [--pf-c-card--size-compact__title--not--last-child--PaddingBottom=.5rem] - * @cssprop {} [--pf-c-card--size-large__title--FontSize=1.25rem] - * @cssprop {} [--pf-c-card--size-large--first-child--PaddingTop=2rem] - * @cssprop {} [--pf-c-card--size-large--child--PaddingRight=2rem] - * @cssprop {} [--pf-c-card--size-large--child--PaddingBottom=2rem] - * @cssprop {} [--pf-c-card--size-large--child--PaddingLeft=2rem] - * @cssprop {} [--pf-c-card--size-large__title--not--last-child--PaddingBottom=1.5rem] - * @cssprop {} [--pf-c-card--m-flat--BorderWidth=1px solid #d2d2d2] - * @cssprop {} [--pf-c-card--m-plain--BoxShadow=none] - * @cssprop {} [--pf-c-card--m-plain--BackgroundColor=transparent] - * @cssprop {} [--pf-c-card--m-rounded--BorderRadius=3px] - * @cssprop {} [--pf-c-card--m-full-height--Height=100] - * @cssprop {} [--pf-c-card__title--FontFamily="RedHatDisplayUpdated", helvetica, arial, sans-serif] - * @cssprop {} [--pf-c-card__title--FontSize=1rem] - * @cssprop {} [--pf-c-card__title--FontWeight=700] + * @alias Card */ @customElement('pf-card') export class PfCard extends LitElement { @@ -85,20 +48,40 @@ export class PfCard extends LitElement { render(): TemplateResult<1> { return html`
+ +
+
+
+
diff --git a/elements/pf-chip/demo/pf-chip.html b/elements/pf-chip/demo/index.html similarity index 100% rename from elements/pf-chip/demo/pf-chip.html rename to elements/pf-chip/demo/index.html diff --git a/elements/pf-chip/pf-chip-group.css b/elements/pf-chip/pf-chip-group.css index 71a072df48..c3a5ecbf66 100644 --- a/elements/pf-chip/pf-chip-group.css +++ b/elements/pf-chip/pf-chip-group.css @@ -1,18 +1,33 @@ :host { + /** MarginBottom for the chip group list */ --pf-c-chip-group__list--MarginBottom: calc(var(--pf-global--spacer--xs, 0.25rem) * -1); + /** MarginRight for the chip group list */ --pf-c-chip-group__list--MarginRight: calc(var(--pf-global--spacer--xs, 0.25rem) * -1); + /** PaddingTop for the chip group category */ --pf-c-chip-group--m-category--PaddingTop: var(--pf-global--spacer--xs, 0.25rem); + /** PaddingRight for the chip group category */ --pf-c-chip-group--m-category--PaddingRight: var(--pf-global--spacer--xs, 0.25rem); + /** PaddingBottom for the chip group category */ --pf-c-chip-group--m-category--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem); + /** PaddingLeft for the chip group category */ --pf-c-chip-group--m-category--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem); + /** BorderRadius for the chip group category */ --pf-c-chip-group--m-category--BorderRadius: var(--pf-global--BorderRadius--sm, 3px); + /** BackgroundColor for the chip group category */ --pf-c-chip-group--m-category--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0); + /** MarginRight for the chip group label */ --pf-c-chip-group__label--MarginRight: var(--pf-global--spacer--sm, 0.5rem); + /** FontSize for the chip group label */ --pf-c-chip-group__label--FontSize: var(--pf-global--FontSize--sm, 0.875rem); + /** MaxWidth for the chip group label */ --pf-c-chip-group__label--MaxWidth: 18ch; + /** MarginTop for the chip group close button */ --pf-c-chip-group__close--MarginTop: calc(var(--pf-global--spacer--xs, 0.25rem) * -1); + /** MarginBottom for the chip group close button */ --pf-c-chip-group__close--MarginBottom: calc(var(--pf-global--spacer--xs, 0.25rem) * -1); + /** MarginRight for chip group list items */ --pf-c-chip-group__list-item--MarginRight: var(--pf-global--spacer--xs, 0.25rem); + /** MarginBottom for chip group list items */ --pf-c-chip-group__list-item--MarginBottom: var(--pf-global--spacer--xs, 0.25rem); display: inline-flex; flex-wrap: wrap; diff --git a/elements/pf-chip/pf-chip-group.ts b/elements/pf-chip/pf-chip-group.ts index a57f79f560..16c6795797 100644 --- a/elements/pf-chip/pf-chip-group.ts +++ b/elements/pf-chip/pf-chip-group.ts @@ -41,21 +41,6 @@ const REMAINING_RE = /\$\{\s*remaining\s*\}/g; * @slot category-name * Category name text for chip group category. If this prop is supplied chip group with have a label and category styling applied * @slot - `` elements. - * @cssprop [--pf-c-chip-group__list--MarginBottom=calc(var(--pf-global--spacer--xs, 0.25rem) * -1)] - * @cssprop [--pf-c-chip-group__list--MarginRight=calc(var(--pf-global--spacer--xs, 0.25rem) * -1)] - * @cssprop [--pf-c-chip-group--m-category--PaddingTop=var(--pf-global--spacer--xs, 0.25rem)] - * @cssprop [--pf-c-chip-group--m-category--PaddingRight=var(--pf-global--spacer--xs, 0.25rem)] - * @cssprop [--pf-c-chip-group--m-category--PaddingBottom=var(--pf-global--spacer--xs, 0.25rem)] - * @cssprop [--pf-c-chip-group--m-category--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)] - * @cssprop [--pf-c-chip-group--m-category--BorderRadius=var(--pf-global--BorderRadius--sm, 3px)] - * @cssprop [--pf-c-chip-group--m-category--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)] - * @cssprop [--pf-c-chip-group__label--MarginRight=var(--pf-global--spacer--sm, 0.5rem)] - * @cssprop [--pf-c-chip-group__label--FontSize=var(--pf-global--FontSize--sm, 0.875rem)] - * @cssprop [--pf-c-chip-group__label--MaxWidth=18ch] - * @cssprop [--pf-c-chip-group__close--MarginTop=calc(var(--pf-global--spacer--xs, 0.25rem) * -1)] - * @cssprop [--pf-c-chip-group__close--MarginBottom=calc(var(--pf-global--spacer--xs, 0.25rem) * -1)] - * @cssprop [--pf-c-chip-group__list-item--MarginRight=var(--pf-global--spacer--xs, 0.25rem)] - * @cssprop [--pf-c-chip-group__list-item--MarginBottom=var(--pf-global--spacer--xs, 0.25rem)] */ @customElement('pf-chip-group') export class PfChipGroup extends LitElement { diff --git a/elements/pf-chip/pf-chip.css b/elements/pf-chip/pf-chip.css index d6bfe15670..43485a8a94 100644 --- a/elements/pf-chip/pf-chip.css +++ b/elements/pf-chip/pf-chip.css @@ -1,20 +1,37 @@ :host { + /** Top padding for chip */ --pf-c-chip--PaddingTop: var(--pf-global--spacer--xs, 0.25rem); + /** Right padding for chip */ --pf-c-chip--PaddingRight: var(--pf-global--spacer--sm, 0.5rem); + /** Bottom padding for chip */ --pf-c-chip--PaddingBottom: var(--pf-global--spacer--xs, 0.25rem); + /** Left padding for chip */ --pf-c-chip--PaddingLeft: var(--pf-global--spacer--sm, 0.5rem); + /** Background color for chip */ --pf-c-chip--BackgroundColor: var(--pf-global--Color--light-100, #fff); + /** Border radius for chip */ --pf-c-chip--BorderRadius: var(--pf-global--BorderRadius--sm, 3px); + /** Border color for chip */ --pf-c-chip--before--BorderColor: var(--pf-global--BorderColor--300, #f0f0f0); + /** Border width for chip */ --pf-c-chip--before--BorderWidth: var(--pf-global--BorderWidth--sm, 1px); + /** Border radius for chip border (references chip border radius) */ --pf-c-chip--before--BorderRadius: var(--pf-c-chip--BorderRadius); + /** Text color for overflow chip */ --pf-c-chip--m-overflow__text--Color: var(--pf-global--primary-color--100, #06c); + /** Background color for draggable chip */ --pf-c-chip--m-draggable--BackgroundColor: var(--pf-global--BackgroundColor--200, #f0f0f0); + /** Box shadow for draggable chip */ --pf-c-chip--m-draggable--BoxShadow: var(--pf-global--BoxShadow--sm, 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06)); + /** Font size for draggable chip icon */ --pf-c-chip--m-draggable__icon--FontSize: var(--pf-global--icon--FontSize--sm, 0.625rem); + /** Font size for chip text */ --pf-c-chip__text--FontSize: var(--pf-global--FontSize--xs, 0.75rem); + /** Color for chip text */ --pf-c-chip__text--Color: var(--pf-global--Color--100, #151515); + /** Maximum width for chip text */ --pf-c-chip__text--MaxWidth: 16ch; + /** Left margin for chip icon */ --pf-c-chip__icon--MarginLeft: var(--pf-global--spacer--sm, 0.5rem); color: var(--pf-global--Color--100, #151515); position: relative; @@ -22,7 +39,9 @@ align-items: center; min-width: 0; list-style: none; + /** Background color of chip */ background-color: var(--pf-c-chip--BackgroundColor); + /** Border radius of chip */ border-radius: var(--pf-c-chip--BorderRadius); padding: var(--pf-c-chip--PaddingTop) @@ -47,7 +66,13 @@ div#outer { bottom: 0; left: 0; content: ""; - border: var(--pf-c-chip--before--BorderWidth) solid var(--pf-c-chip--before--BorderColor); + border: + /** Border width */ + var(--pf-c-chip--before--BorderWidth) + solid + /** Border color */ + var(--pf-c-chip--before--BorderColor); + /** Border radius of chip border */ border-radius: var(--pf-c-chip--before--BorderRadius); } @@ -57,8 +82,11 @@ span { text-overflow: ellipsis; white-space: nowrap; position: relative; + /** Maximum width of chip text */ max-width: var(--pf-c-chip__text--MaxWidth); + /** Font size of chip text */ font-size: var(--pf-c-chip__text--FontSize); + /** Color of chip text */ color: var(--pf-c-chip__text--Color); } @@ -75,6 +103,7 @@ button#outer { } button#outer span { + /** Color for overflow chip text */ color: var(--pf-c-chip--m-overflow__text--Color); } diff --git a/elements/pf-chip/pf-chip.ts b/elements/pf-chip/pf-chip.ts index 393ce0f0c9..80cc03515f 100644 --- a/elements/pf-chip/pf-chip.ts +++ b/elements/pf-chip/pf-chip.ts @@ -15,28 +15,9 @@ export class PfChipRemoveEvent extends Event { /** * A **chip** is used to communicate a value or a set of attribute-value pairs within workflows that involve filtering a set of objects. + * @alias Chip * @fires {ChipRemoveEvent} remove - Fires when chip is removed * @fires {Event} click - when close button is clicked - * @slot - * chip text - * @csspart text - container for chip text - * @cssprop [--pf-c-chip--PaddingTop=var(--pf-global--spacer--xs, 0.25rem)] - * @cssprop [--pf-c-chip--PaddingRight=var(--pf-global--spacer--sm, 0.5rem)] - * @cssprop [--pf-c-chip--PaddingBottom=var(--pf-global--spacer--xs, 0.25rem)] - * @cssprop [--pf-c-chip--PaddingLeft=var(--pf-global--spacer--sm, 0.5rem)] - * @cssprop [--pf-c-chip--BackgroundColor=var(--pf-global--Color--light-100, #fff)] - * @cssprop [--pf-c-chip--BorderRadius=var(--pf-global--BorderRadius--sm, 3px)] - * @cssprop [--pf-c-chip--before--BorderColor=var(--pf-global--BorderColor--300, #f0f0f0)] - * @cssprop [--pf-c-chip--before--BorderWidth=var(--pf-global--BorderWidth--sm, 1px)] - * @cssprop [--pf-c-chip--before--BorderRadius=var(--pf-c-chip--BorderRadius)] - * @cssprop [--pf-c-chip--m-overflow__text--Color=var(--pf-global--primary-color--100, #06c)] - * @cssprop [--pf-c-chip--m-draggable--BackgroundColor=var(--pf-global--BackgroundColor--200, #f0f0f0)] - * @cssprop [--pf-c-chip--m-draggable--BoxShadow=var(--pf-global--BoxShadow--sm, 0 0.0625rem 0.125rem 0 rgba(3, 3, 3, 0.12), 0 0 0.125rem 0 rgba(3, 3, 3, 0.06))] - * @cssprop [--pf-c-chip--m-draggable__icon--FontSize=var(--pf-global--icon--FontSize--sm, 0.625rem)] - * @cssprop [--pf-c-chip__text--FontSize=var(--pf-global--FontSize--xs, 0.75rem)] - * @cssprop [--pf-c-chip__text--Color=var(--pf-global--Color--100, #151515)] - * @cssprop [--pf-c-chip__text--MaxWidth=16ch] - * @cssprop [--pf-c-chip__icon--MarginLeft=var(--pf-global--spacer--sm, 0.5rem)] */ @customElement('pf-chip') export class PfChip extends LitElement { @@ -65,13 +46,17 @@ export class PfChip extends LitElement { render(): TemplateResult<1> { return this.overflowChip ? html` ` : html`
+ + ${this.#copied ? this.clickTip : this.hoverTip} +