web/elements: remove pfbase everywhere (#19623)

* web: Add InvalidationFlow to Radius Provider dialogues

## What

- Bugfix: adds the InvalidationFlow to the Radius Provider dialogues
  - Repairs: `{"invalidation_flow":["This field is required."]}` message, which was *not* propagated
    to the Notification.
- Nitpick: Pretties `?foo=${true}` expressions: `s/\?([^=]+)=\$\{true\}/\1/`

## Note

Yes, I know I'm going to have to do more magic when we harmonize the forms, and no, I didn't add the
Property Mappings to the wizard, and yes, I know I'm going to have pain with the *new* version of
the wizard. But this is a serious bug; you can't make Radius servers with *either* of the current
dialogues at the moment.

* This (temporary) change is needed to prevent the unit tests from failing.

\# What

\# Why

\# How

\# Designs

\# Test Steps

\# Other Notes

* Revert "This (temporary) change is needed to prevent the unit tests from failing."

This reverts commit dddde09be5.

* website: fix bad escaping of URLs in release notes

## What

Fixes bad escaping of URLs in the release notes that resulted in mangled output.

v2024.6.4 had entries that looked like this:

```
##### `GET` /providers/google_workspace/{#123;id}#125;/
```

v2025.4.md had entries that looked like this:

```
##### `GET` /policies/unique_password/{#125;#123;policy_uuid}/
```

A couple of straightforward search-and-replaces has fixed the issue.

## Notes

Two of the release notes had bad escaping of URLs. I'm not sure how the error was made or got past,
but it was obvious when visiting the page.

@Beryju suggested that the bug is due to our using `{...}` to symbolize parameters in a URL while
Docusaurus wants to interpret `{...}` as an internal template instruction, resulting in odd
behavior. In either case, docusarus interpreted the hashtagged entries as links to unrelated issues
in Github (the same two issues, which were "bump version of pylint" and "bump version of sentry"),
which could be very confusing.

The inconsistencies between the two releases, and the working releases, suggests that the error was
introduced manually.

* web: Remove PFBase.

* Remove stub.

* Just keeping this around.

* web/maintenance: deprecate PFBase in favor of an adopted stylesheet

# What !?!?!?

Removes `PFBase` from all components.

# Why !?!?!?

In `AkElement`, there was this code:

        protected static override finalizeStyles(styles?: CSSResultGroup): CSSResultOrNative[] {
            if (!styles) return [$PFBase, $AKBase];

            if (!Array.isArray(styles)) return [$PFBase, createCSSResult(styles), $PFBase, $AKBase];

            return [
                $PFBase,
                // ---
                ...(styles.flat() as CSSResultOrNative[]).map(createCSSResult),
                $AKBase,
            ];
        }

I’ve refined this:

        protected static override finalizeStyles(styles: CSSResultGroup = []): CSSResultOrNative[] {
            const elementStyles = [
                $PFBase,
                // Route around TSC`s known-to-fail typechecking of `.flat(Infinity)`. Removes types.
                ...([styles] as Array<unknown>).flat(Infinity),
                $AKBase,
                // Restore types. Safe: we control AKBase and PFBase in this file, and `styles` are
                // typed on function signature.
            ] as CSSResultOrNative[];

            // Remove duplicates in reverse order to preserve last-insert-wins semantics of CSS.
            const elementSet = new Set(elementStyles.reverse());
            // Reverse again because the return type is an array, and process as a CSSResult
            return Array.from(elementSet).reverse().map(createCSSResult);
        }

… with the duplication removal documented in Lit 3.0. `styles` defaults to an array, is cast to an array, then automatically flattented before the deduplication is run.

With this, both PFBase and AKBase are automatically included with each and every component that inherits from `AKElement`. At that point, the inclusion of `PFBase` interface-wide made no sense.

So they had to be removed:

    $ for i in $(rg -t typescript -l PFBase | rg -v 'elements/Base\.ts') ; do \
        perl -pi.bak -e 's{import PFBase from ".patternfly/patternfly/patternfly-base.css";}{}' "$i" ; \
        done
    $ for i in $(rg -t typescript -l PFBase | rg -v 'elements/Base\.ts') ; do \
        perl -pi.bak -e 's/PFBase,//' "$i" ; \
        done

This commit removes 131 `import` statements from the source code. As a result, the bundle is about 27K smaller… which admittedly is about 0.2% smaller than before. Ah, well. “Every little bit helps,” right?

* Update comment to point to semantic rules for `finalizeStyles` in Lit reactive-element

* Yeah, didn't need the analysis files lying around.

* Merge confirmed

---------

Co-authored-by: Teffen Ellis <teffen@goauthentik.io>
This commit is contained in:
Ken Sternberg
2026-01-21 12:54:09 -08:00
committed by GitHub
parent 4f1b8be014
commit 08b07979ad
132 changed files with 80 additions and 365 deletions
-7
View File
@@ -76,13 +76,6 @@ export function styleLoaderPlugin({
}
});
build.onLoad({ filter: /patternfly-base.css/ }, () => {
return {
contents: "",
loader: "text",
};
});
build.onResolve(...fontResolverArgs);
/**
@@ -56,14 +56,7 @@ export class AdminInterface extends WithCapabilitiesConfig(
) {
//#region Styles
public static readonly styles: CSSResult[] = [
// ---
PFPage,
PFButton,
PFDrawer,
PFNav,
Styles,
];
public static readonly styles: CSSResult[] = [PFPage, PFButton, PFDrawer, PFNav, Styles];
//#endregion
+1 -2
View File
@@ -18,11 +18,10 @@ import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-admin-debug-page")
export class DebugPage extends AKElement {
static styles: CSSResult[] = [PFBase, PFCard, PFPage, PFGrid, PFButton];
static styles: CSSResult[] = [PFCard, PFPage, PFGrid, PFButton];
render(): TemplateResult {
return html`
@@ -30,14 +30,12 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDivider from "@patternfly/patternfly/components/Divider/divider.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
const AdminOverviewBase = WithLicenseSummary(WithSession(AKElement));
@customElement("ak-admin-overview")
export class AdminOverviewPage extends AdminOverviewBase {
static styles: CSSResult[] = [
PFBase,
PFGrid,
PFPage,
PFContent,
@@ -12,7 +12,6 @@ import { customElement, property, queryAll } from "lit/decorators.js";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export interface IFooterLinkInput {
footerLink: FooterLink;
@@ -25,7 +24,6 @@ const hasLegalScheme = (url: string) =>
@customElement("ak-admin-settings-footer-link")
export class FooterLinkInput extends AkControlElement<FooterLink> {
static styles = [
PFBase,
PFInputGroup,
PFFormControl,
css`
@@ -30,12 +30,10 @@ import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-admin-settings")
export class AdminSettingsPage extends AKElement {
static styles = [
PFBase,
PFButton,
PFPage,
PFGrid,
@@ -37,12 +37,10 @@ import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFFlex from "@patternfly/patternfly/layouts/Flex/flex.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-application-view")
export class ApplicationViewPage extends AKElement {
static styles: CSSResult[] = [
PFBase,
PFList,
PFBanner,
PFPage,
@@ -17,7 +17,6 @@ import { styleMap } from "lit/directives/style-map.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFLabel from "@patternfly/patternfly/components/Label/label.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
const closeButtonIcon = html`<svg
fill="currentColor"
@@ -36,7 +35,6 @@ const closeButtonIcon = html`<svg
@customElement("ak-application-wizard-hint")
export class AkApplicationWizardHint extends AKElement implements ShowHintControllerHost {
static styles = [
PFBase,
PFButton,
PFPage,
PFLabel,
@@ -9,10 +9,8 @@ import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-gro
import PFRadio from "@patternfly/patternfly/components/Radio/radio.css";
import PFSwitch from "@patternfly/patternfly/components/Switch/switch.css";
import PFWizard from "@patternfly/patternfly/components/Wizard/wizard.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export const styles = [
PFBase,
PFCard,
PFButton,
PFForm,
@@ -6,7 +6,6 @@ import { customElement, property } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFToolbar from "@patternfly/patternfly/components/Toolbar/toolbar.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* @event clickNew
@@ -15,7 +14,7 @@ import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-application-wizard-bindings-toolbar")
export class ApplicationWizardBindingsToolbar extends AKElement {
static styles = [PFBase, PFButton, PFToolbar];
static styles = [PFButton, PFToolbar];
@property({ type: Boolean, attribute: "can-delete", reflect: true })
canDelete = false;
@@ -18,11 +18,10 @@ import { CSSResult, html, TemplateResult } from "lit";
import { property, query } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-endpoint-connector-wizard")
export class EndpointConnectorWizard extends AKElement {
static styles: CSSResult[] = [PFBase, PFButton];
static styles: CSSResult[] = [PFButton];
@property()
createText = msg("Create");
@@ -24,7 +24,6 @@ import { createRef, ref } from "lit/directives/ref.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-endpoints-connector-agent-setup")
export class AgentConnectorSetup extends AKElement {
@@ -37,7 +36,6 @@ export class AgentConnectorSetup extends AKElement {
#tokenSelectRef = createRef<SearchSelect<EnrollmentToken>>();
static styles: CSSResult[] = [
PFBase,
PFGrid,
PFButton,
PFList,
@@ -26,7 +26,6 @@ import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-endpoints-connector-agent-view")
export class AgentConnectorViewPage extends AKElement {
@@ -39,7 +38,7 @@ export class AgentConnectorViewPage extends AKElement {
@state()
protected error?: APIError;
static styles: CSSResult[] = [PFBase, PFCard, PFPage, PFGrid, PFButton, PFDescriptionList];
static styles: CSSResult[] = [PFCard, PFPage, PFGrid, PFButton, PFDescriptionList];
protected fetchDevice(id: string) {
new EndpointsApi(DEFAULT_CONFIG)
@@ -29,7 +29,6 @@ import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-endpoints-device-view")
export class DeviceViewPage extends AKElement {
@@ -42,7 +41,7 @@ export class DeviceViewPage extends AKElement {
@state()
protected error?: APIError;
static styles: CSSResult[] = [PFBase, PFCard, PFPage, PFGrid, PFButton, PFDescriptionList];
static styles: CSSResult[] = [PFCard, PFPage, PFGrid, PFButton, PFDescriptionList];
protected fetchDevice(id: string) {
new EndpointsApi(DEFAULT_CONFIG)
@@ -11,8 +11,8 @@ import { customElement, state } from "lit/decorators.js";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFProgress from "@patternfly/patternfly/components/Progress/progress.css";
import PFSplit from "@patternfly/patternfly/layouts/Split/split.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-enterprise-status-card")
export class EnterpriseStatusCard extends AKElement {
@@ -22,7 +22,7 @@ export class EnterpriseStatusCard extends AKElement {
@state()
summary?: LicenseSummary;
static styles: CSSResult[] = [PFBase, PFDescriptionList, PFCard, PFSplit];
static styles: CSSResult[] = [PFDescriptionList, PFCard, PFSplit, PFProgress];
renderSummaryBadge() {
switch (this.summary?.status) {
-2
View File
@@ -24,7 +24,6 @@ import { css, CSSResult, html, type PropertyValues, type TemplateResult } from "
import { customElement, property, query } from "lit/decorators.js";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import OL from "ol/ol.css";
export const SELECTED_FEATURE_EVENT = "feature-selected";
@@ -76,7 +75,6 @@ export class EventMap extends AKElement {
zoomPaddingPx = 100;
static styles: CSSResult[] = [
PFBase,
PFCard,
css`
.pf-c-card,
+1 -2
View File
@@ -22,7 +22,6 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-event-view")
export class EventViewPage extends AKElement {
@@ -32,7 +31,7 @@ export class EventViewPage extends AKElement {
@state()
event!: EventWithContext;
static styles: CSSResult[] = [PFBase, PFGrid, PFDescriptionList, PFPage, PFContent, PFCard];
static styles: CSSResult[] = [PFGrid, PFDescriptionList, PFPage, PFContent, PFCard];
fetchEvent(eventUuid: string) {
new EventsApi(DEFAULT_CONFIG).eventsEventsRetrieve({ eventUuid }).then((ev) => {
-2
View File
@@ -29,7 +29,6 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-flow-view")
export class FlowViewPage extends AKElement {
@@ -40,7 +39,6 @@ export class FlowViewPage extends AKElement {
flow!: Flow;
static styles: CSSResult[] = [
PFBase,
PFPage,
PFDescriptionList,
PFButton,
-2
View File
@@ -32,7 +32,6 @@ import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css";
import PFSizing from "@patternfly/patternfly/utilities/Sizing/sizing.css";
@@ -55,7 +54,6 @@ export class GroupViewPage extends AKElement {
group?: Group;
static styles: CSSResult[] = [
PFBase,
PFPage,
PFButton,
PFDisplay,
-2
View File
@@ -12,7 +12,6 @@ import { css, CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators.js";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-outpost-health")
export class OutpostHealthElement extends AKElement {
@@ -20,7 +19,6 @@ export class OutpostHealthElement extends AKElement {
outpostHealth?: OutpostHealth;
static styles: CSSResult[] = [
PFBase,
PFDescriptionList,
css`
li {
@@ -10,11 +10,9 @@ import { PFColor } from "#elements/Label";
import { OutpostHealth, OutpostsApi } from "@goauthentik/api";
import { msg, str } from "@lit/localize";
import { CSSResult, html, TemplateResult } from "lit";
import { html, TemplateResult } from "lit";
import { customElement, property, state } from "lit/decorators.js";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-outpost-health-simple")
export class OutpostHealthSimpleElement extends AKElement {
@property()
@@ -29,8 +27,6 @@ export class OutpostHealthSimpleElement extends AKElement {
@property({ attribute: false })
showVersion = true;
static styles: CSSResult[] = [PFBase];
constructor() {
super();
window.addEventListener(EVENT_REFRESH, () => {
@@ -18,11 +18,10 @@ import { CSSResult, html, TemplateResult } from "lit";
import { property, query } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-service-connection-wizard")
export class ServiceConnectionWizard extends AKElement {
static styles: CSSResult[] = [PFBase, PFButton];
static styles: CSSResult[] = [PFButton];
@property()
createText = msg("Create");
+1 -2
View File
@@ -27,11 +27,10 @@ import { CSSResult, html, nothing, TemplateResult } from "lit";
import { property, query } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-policy-wizard")
export class PolicyWizard extends AKElement {
static styles: CSSResult[] = [PFBase, PFButton];
static styles: CSSResult[] = [PFButton];
@property()
createText = msg("Create");
@@ -32,11 +32,10 @@ import { html, TemplateResult } from "lit";
import { property, query } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-property-mapping-wizard")
export class PropertyMappingWizard extends AKElement {
static styles = [PFBase, PFButton];
static styles = [PFButton];
@property({ attribute: false })
mappingTypes: TypeCreate[] = [];
+1 -2
View File
@@ -23,11 +23,10 @@ import { CSSResult, html, TemplateResult } from "lit";
import { property, query } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-provider-wizard")
export class ProviderWizard extends AKElement {
static styles: CSSResult[] = [PFBase, PFButton];
static styles: CSSResult[] = [PFButton];
@property()
createText = msg("Create");
@@ -11,11 +11,10 @@ import { CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-provider-related-application")
export class RelatedApplicationButton extends AKElement {
static styles: CSSResult[] = [PFBase, PFButton];
static styles: CSSResult[] = [PFButton];
@property({ attribute: false })
provider?: Provider;
@@ -38,7 +38,6 @@ import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFStack from "@patternfly/patternfly/layouts/Stack/stack.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-provider-google-workspace-view")
export class GoogleWorkspaceProviderViewPage extends AKElement {
@@ -49,7 +48,6 @@ export class GoogleWorkspaceProviderViewPage extends AKElement {
provider?: GoogleWorkspaceProvider;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFForm,
PFFormControl,
@@ -35,7 +35,6 @@ import PFFormControl from "@patternfly/patternfly/components/FormControl/form-co
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-provider-ldap-view")
export class LDAPProviderViewPage extends WithSession(AKElement) {
@@ -46,7 +45,6 @@ export class LDAPProviderViewPage extends WithSession(AKElement) {
provider?: LDAPProvider;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFBanner,
PFForm,
@@ -38,7 +38,6 @@ import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFStack from "@patternfly/patternfly/layouts/Stack/stack.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-provider-microsoft-entra-view")
export class MicrosoftEntraProviderViewPage extends AKElement {
@@ -49,7 +48,6 @@ export class MicrosoftEntraProviderViewPage extends AKElement {
provider?: MicrosoftEntraProvider;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFForm,
PFFormControl,
@@ -13,7 +13,6 @@ import { ifDefined } from "lit/directives/if-defined.js";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export type RedirectURIProperties = LitPropertyRecord<{
redirectURI: RedirectURI;
@@ -25,7 +24,6 @@ export type RedirectURIProperties = LitPropertyRecord<{
@customElement("ak-provider-oauth2-redirect-uri")
export class OAuth2ProviderRedirectURI extends AkControlElement<RedirectURI> {
static styles = [
PFBase,
PFInputGroup,
PFFormControl,
css`
@@ -49,7 +49,6 @@ import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export function TypeToLabel(type?: ClientTypeEnum): string {
if (!type) return "";
@@ -89,7 +88,6 @@ export class OAuth2ProviderViewPage extends AKElement {
previewUser?: User;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFPage,
PFGrid,
@@ -48,7 +48,6 @@ import PFFormControl from "@patternfly/patternfly/components/FormControl/form-co
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export function ModeToLabel(action?: ProxyMode): string {
if (!action) return "";
@@ -85,7 +84,6 @@ export class ProxyProviderViewPage extends AKElement {
provider?: ProxyProvider;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFPage,
PFGrid,
@@ -37,7 +37,6 @@ import PFFormControl from "@patternfly/patternfly/components/FormControl/form-co
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-provider-rac-view")
export class RACProviderViewPage extends AKElement {
@@ -48,7 +47,6 @@ export class RACProviderViewPage extends AKElement {
provider?: RACProvider;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFPage,
PFGrid,
@@ -29,7 +29,6 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGallery from "@patternfly/patternfly/layouts/Gallery/gallery.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css";
import PFSizing from "@patternfly/patternfly/utilities/Sizing/sizing.css";
@@ -42,7 +41,6 @@ export class RadiusProviderViewPage extends AKElement {
provider?: RadiusProvider;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFPage,
PFDisplay,
@@ -46,7 +46,6 @@ import PFFormControl from "@patternfly/patternfly/components/FormControl/form-co
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
interface SAMLPreviewAttribute {
attributes: {
@@ -80,7 +79,6 @@ export class SAMLProviderViewPage extends AKElement {
previewUser?: User;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFPage,
PFGrid,
@@ -43,7 +43,6 @@ import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFStack from "@patternfly/patternfly/layouts/Stack/stack.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-provider-scim-view")
export class SCIMProviderViewPage extends AKElement {
@@ -54,7 +53,6 @@ export class SCIMProviderViewPage extends AKElement {
provider?: SCIMProvider;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFBanner,
PFForm,
@@ -36,7 +36,6 @@ import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-provider-ssf-view")
export class SSFProviderViewPage extends AKElement {
@@ -55,7 +54,6 @@ export class SSFProviderViewPage extends AKElement {
provider?: SSFProvider;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFPage,
PFGrid,
@@ -11,7 +11,6 @@ import { css, CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* This is a bit of a hack to get the viewport checking from ModelForm,
@@ -47,7 +46,6 @@ export class ObjectPermissionsPageForm extends ModelForm<unknown, string> {
@customElement("ak-rbac-object-permission-modal")
export class ObjectPermissionModal extends AKElement {
static styles: CSSResult[] = [
PFBase,
PFButton,
css`
button {
+1 -2
View File
@@ -14,7 +14,6 @@ import { customElement, property } from "lit/decorators.js";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-rbac-object-permission-page")
export class ObjectPermissionPage extends AKElement {
@@ -27,7 +26,7 @@ export class ObjectPermissionPage extends AKElement {
@property({ type: Boolean })
embedded = false;
static styles = [PFBase, PFGrid, PFPage, PFCard];
static styles = [PFGrid, PFPage, PFCard];
render() {
return this.model === RbacPermissionsAssignedByRolesListModelEnum.AuthentikRbacRole
-2
View File
@@ -27,7 +27,6 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css";
@customElement("ak-role-view")
@@ -47,7 +46,6 @@ export class RoleViewPage extends AKElement {
targetRole?: Role;
static styles = [
PFBase,
PFPage,
PFButton,
PFDisplay,
+1 -2
View File
@@ -23,11 +23,10 @@ import { CSSResult, html, TemplateResult } from "lit";
import { property, query } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-source-wizard")
export class SourceWizard extends AKElement {
static styles: CSSResult[] = [PFBase, PFButton];
static styles: CSSResult[] = [PFButton];
@property({ attribute: false })
sourceTypes: TypeCreate[] = [];
@@ -7,7 +7,6 @@ import { CSSResult, html, nothing } from "lit";
import { customElement, property } from "lit/decorators.js";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-source-kerberos-connectivity")
export class KerberosSourceConnectivity extends AKElement {
@@ -18,7 +17,7 @@ export class KerberosSourceConnectivity extends AKElement {
};
};
static styles: CSSResult[] = [PFBase, PFList];
static styles: CSSResult[] = [PFList];
render(): SlottedTemplateResult {
if (!this.connectivity) {
@@ -38,7 +38,6 @@ import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-source-kerberos-view")
export class KerberosSourceViewPage extends AKElement {
@@ -57,7 +56,6 @@ export class KerberosSourceViewPage extends AKElement {
source!: KerberosSource;
static styles: CSSResult[] = [
PFBase,
PFPage,
PFButton,
PFGrid,
@@ -8,7 +8,6 @@ import { CSSResult, html, nothing } from "lit";
import { customElement, property } from "lit/decorators.js";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-source-ldap-connectivity")
export class LDAPSourceConnectivity extends AKElement {
@@ -19,7 +18,7 @@ export class LDAPSourceConnectivity extends AKElement {
};
};
static styles: CSSResult[] = [PFBase, PFList];
static styles: CSSResult[] = [PFList];
render(): SlottedTemplateResult {
if (!this.connectivity) {
@@ -34,7 +34,6 @@ import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-source-ldap-view")
export class LDAPSourceViewPage extends AKElement {
@@ -53,7 +52,6 @@ export class LDAPSourceViewPage extends AKElement {
source!: LDAPSource;
static styles: CSSResult[] = [
PFBase,
PFPage,
PFButton,
PFGrid,
@@ -33,7 +33,6 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export function ProviderToLabel(provider?: ProviderTypeEnum): string {
switch (provider) {
@@ -94,15 +93,7 @@ export class OAuthSourceViewPage extends AKElement {
@property({ attribute: false })
source?: OAuthSource;
static styles: CSSResult[] = [
PFBase,
PFPage,
PFButton,
PFGrid,
PFContent,
PFCard,
PFDescriptionList,
];
static styles: CSSResult[] = [PFPage, PFButton, PFGrid, PFContent, PFCard, PFDescriptionList];
constructor() {
super();
@@ -31,7 +31,6 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-source-plex-view")
export class PlexSourceViewPage extends AKElement {
@@ -49,15 +48,7 @@ export class PlexSourceViewPage extends AKElement {
@property({ attribute: false })
source?: PlexSource;
static styles: CSSResult[] = [
PFBase,
PFPage,
PFButton,
PFGrid,
PFContent,
PFCard,
PFDescriptionList,
];
static styles: CSSResult[] = [PFPage, PFButton, PFGrid, PFContent, PFCard, PFDescriptionList];
constructor() {
super();
@@ -33,7 +33,6 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-source-saml-view")
export class SAMLSourceViewPage extends AKElement {
@@ -54,15 +53,7 @@ export class SAMLSourceViewPage extends AKElement {
@state()
metadata?: SAMLMetadata;
static styles: CSSResult[] = [
PFBase,
PFPage,
PFGrid,
PFButton,
PFContent,
PFCard,
PFDescriptionList,
];
static styles: CSSResult[] = [PFPage, PFGrid, PFButton, PFContent, PFCard, PFDescriptionList];
constructor() {
super();
@@ -33,7 +33,6 @@ import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-source-scim-view")
export class SCIMSourceViewPage extends AKElement {
@@ -52,7 +51,6 @@ export class SCIMSourceViewPage extends AKElement {
source?: SCIMSource;
static styles: CSSResult[] = [
PFBase,
PFPage,
PFButton,
PFForm,
+1 -2
View File
@@ -44,11 +44,10 @@ import { CSSResult, html, nothing, TemplateResult } from "lit";
import { property, query } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-stage-wizard")
export class StageWizard extends AKElement {
static styles: CSSResult[] = [PFBase, PFButton];
static styles: CSSResult[] = [PFButton];
@property()
createText = msg("Create");
@@ -12,7 +12,6 @@ import { until } from "lit/directives/until.js";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-stage-invitation-list-link")
export class InvitationListLink extends AKElement {
@@ -22,7 +21,7 @@ export class InvitationListLink extends AKElement {
@property()
selectedFlow?: string;
static styles: CSSResult[] = [PFBase, PFForm, PFFormControl, PFDescriptionList];
static styles: CSSResult[] = [PFForm, PFFormControl, PFDescriptionList];
renderLink(): string {
if (this.invitation?.flowObj) {
-2
View File
@@ -59,7 +59,6 @@ import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList/description-list.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css";
import PFSizing from "@patternfly/patternfly/utilities/Sizing/sizing.css";
@@ -80,7 +79,6 @@ export class UserViewPage extends WithCapabilitiesConfig(WithSession(AKElement))
protected user: User | null = null;
static styles = [
PFBase,
PFPage,
PFButton,
PFDisplay,
-2
View File
@@ -23,7 +23,6 @@ import PFList from "@patternfly/patternfly/components/List/list.css";
import PFTable from "@patternfly/patternfly/components/Table/table.css";
import PFFlex from "@patternfly/patternfly/layouts/Flex/flex.css";
import PFSplit from "@patternfly/patternfly/layouts/Split/split.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
// TODO: Settle these types. It's too hard to make sense of what we're expecting here.
type EventSlotValueType =
@@ -85,7 +84,6 @@ export class EventInfo extends AKElement {
event!: EventWithContext;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFFlex,
PFCard,
+1 -2
View File
@@ -10,7 +10,6 @@ import { createRef, ref, Ref } from "lit/directives/ref.js";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
type Pair = [string, string];
@@ -27,7 +26,7 @@ const selectStyles = css`
*/
@customElement("ak-multi-select")
export class AkMultiSelect extends AkControlElement {
static styles = [PFBase, PFForm, PFFormControl, selectStyles];
static styles = [PFForm, PFFormControl, selectStyles];
/**
* The [name] attribute, which is also distributed to the layout manager and the input control.
-2
View File
@@ -29,7 +29,6 @@ import PFDrawer from "@patternfly/patternfly/components/Drawer/drawer.css";
import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css";
import PFNotificationBadge from "@patternfly/patternfly/components/NotificationBadge/notification-badge.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFDisplay from "@patternfly/patternfly/utilities/Display/display.css";
@customElement("ak-nav-buttons")
@@ -41,7 +40,6 @@ export class NavigationButtons extends WithNotifications(WithSession(AKElement))
apiDrawerOpen = false;
static styles = [
PFBase,
PFDisplay,
PFBrand,
PFPage,
+1 -2
View File
@@ -19,7 +19,6 @@ import { createRef, ref, Ref } from "lit/directives/ref.js";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFSearchInput from "@patternfly/patternfly/components/SearchInput/search-input.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export class QL extends DjangoQL {
createCompletionElement() {
@@ -57,7 +56,7 @@ export class QLSearch extends FormAssociatedElement<string> implements FormAssoc
public static styles: CSSResult[] = [
// ---
PFBase,
PFFormControl,
PFSearchInput,
Styles,
+1 -2
View File
@@ -10,7 +10,6 @@ import { customElement, property } from "lit/decorators.js";
import { classMap } from "lit/directives/class-map.js";
import PFLabel from "@patternfly/patternfly/components/Label/label.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
const statusToDetails = new Map<P4Disposition, [string, string]>([
[P4Disposition.Error, ["pf-m-red", "fa-times"]],
@@ -41,7 +40,7 @@ const statusToDetails = new Map<P4Disposition, [string, string]>([
@customElement("ak-status-label")
export class AkStatusLabel extends AKElement {
static styles = [PFBase, PFLabel, Styles];
static styles = [PFLabel, Styles];
@property({ type: Boolean })
good = false;
+1 -2
View File
@@ -5,7 +5,6 @@ import { html } from "lit";
import { customElement, property } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export interface VisibilityToggleProps {
open: boolean;
@@ -27,7 +26,7 @@ export interface VisibilityToggleProps {
*/
@customElement("ak-visibility-toggle")
export class VisibilityToggle extends AKElement implements VisibilityToggleProps {
static styles = [PFBase, PFButton];
static styles = [PFButton];
/**
* @property
-2
View File
@@ -8,7 +8,6 @@ import { customElement, property } from "lit/decorators.js";
import { classMap } from "lit/directives/class-map.js";
import PFAlert from "@patternfly/patternfly/components/Alert/alert.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export enum Level {
Warning = "pf-m-warning",
@@ -65,7 +64,6 @@ export class AKAlert extends AKElement implements IAlert {
public icon = "fa-exclamation-circle";
static styles = [
PFBase,
PFAlert,
css`
p {
+13 -9
View File
@@ -34,17 +34,21 @@ export class AKElement extends LitElement implements AKElementProps {
public static styles?: Array<CSSResult | CSSModule>;
protected static override finalizeStyles(styles?: CSSResultGroup): CSSResultOrNative[] {
if (!styles) return [$PFBase, $AKBase];
if (!Array.isArray(styles)) return [createCSSResult(styles), $PFBase, $AKBase];
return [
protected static override finalizeStyles(styles: CSSResultGroup = []): CSSResultOrNative[] {
const elementStyles = [
$PFBase,
// ---
...(styles.flat() as CSSResultOrNative[]).map(createCSSResult),
// Route around TSC`s known-to-fail typechecking of `.flat(Infinity)`. Removes types.
...([styles] as Array<unknown>).flat(Infinity),
$AKBase,
];
// Restore types. Safe: we control AKBase and PFBase in this file, and `styles` are
// typed on function signature.
] as CSSResultOrNative[];
// Remove duplicates in reverse order to preserve last-insert-wins semantics of CSS. See:
// https://github.com/lit/lit/blob/main/packages/reactive-element/src/reactive-element.ts#L945
const elementSet = new Set(elementStyles.reverse());
// Reverse again because the return type is an array, and process as a CSSResult
return Array.from(elementSet).reverse().map(createCSSResult);
}
//#endregion
-3
View File
@@ -4,12 +4,9 @@ import { type SlottedTemplateResult } from "#elements/types";
import { css, html, nothing } from "lit";
import { customElement } from "lit/decorators.js";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-divider")
export class Divider extends AKElement {
static styles = [
PFBase,
css`
.separator {
display: flex;
-2
View File
@@ -14,7 +14,6 @@ import { classMap } from "lit/directives/class-map.js";
import PFEmptyState from "@patternfly/patternfly/components/EmptyState/empty-state.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* Props for the EmptyState component
@@ -67,7 +66,6 @@ export class EmptyState extends AKElement implements IEmptyState {
public role = "status";
static styles = [
PFBase,
PFEmptyState,
PFTitle,
css`
@@ -5,8 +5,6 @@ import { css, html, LitElement } from "lit";
import { customElement, property } from "lit/decorators.js";
import { ref, RefOrCallback } from "lit/directives/ref.js";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* Finds the main content element within a given context.
*
@@ -49,7 +47,6 @@ export function findMainContent(context: HTMLElement): HTMLElement | null {
export class AKSkipToContent extends AKElement {
static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };
static styles = [
PFBase,
css`
[part="show-on-focus"] {
position: absolute !important;
-2
View File
@@ -13,7 +13,6 @@ import { repeat } from "lit/directives/repeat.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export type InputCell<T> = (el: T, idx: number) => TemplateResult | typeof nothing;
@@ -30,7 +29,6 @@ type Keyed<T> = { key: string; item: T };
@customElement("ak-array-input")
export class ArrayInput<T> extends AkControlElement<T[]> implements IArrayInput<T> {
static styles = [
PFBase,
PFButton,
PFInputGroup,
PFFormControl,
@@ -9,7 +9,6 @@ import { map } from "lit/directives/map.js";
import PFCheck from "@patternfly/patternfly/components/Check/check.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
type CheckboxKv = { name: string; label: string | TemplateResult };
type CheckboxPr = [string, string | TemplateResult];
@@ -80,7 +79,6 @@ const AkElementWithCustomEvents = CustomEmitterElement(AkControlElement);
@customElement("ak-checkbox-group")
export class CheckboxGroup extends AkElementWithCustomEvents {
static styles = [
PFBase,
PFForm,
PFCheck,
css`
@@ -28,7 +28,6 @@ import { createRef, ref } from "lit/directives/ref.js";
import { unsafeHTML } from "lit/directives/unsafe-html.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
function localeComparator(a: DualSelectPair, b: DualSelectPair) {
const aSortBy = String(a[2] || a[0]);
@@ -62,7 +61,7 @@ const DelegatedEvents = [
*/
@customElement("ak-dual-select")
export class AkDualSelect extends CustomEmitterElement(CustomListenerElement(AKElement)) {
static styles = [PFBase, PFButton, globalVariables, mainStyles];
static styles = [PFButton, globalVariables, mainStyles];
//#region Properties
@@ -8,7 +8,6 @@ import { css, html, nothing } from "lit";
import { customElement, property } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* @element ak-dual-select-controls
@@ -20,7 +19,6 @@ import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-dual-select-controls")
export class AkDualSelectControls extends CustomEmitterElement<DualSelectEventType>(AKElement) {
static styles = [
PFBase,
PFButton,
css`
:host {
@@ -9,12 +9,10 @@ import { customElement, property } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFPagination from "@patternfly/patternfly/components/Pagination/pagination.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-pagination")
export class AkPagination extends CustomEmitterElement<DualSelectEventType>(AKElement) {
static styles = [
PFBase,
PFButton,
PFPagination,
css`
@@ -9,11 +9,9 @@ import { html } from "lit";
import { customElement, property } from "lit/decorators.js";
import { createRef, ref } from "lit/directives/ref.js";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-search-bar")
export class AkSearchbar extends CustomEmitterElement(AKElement) {
static styles = [PFBase, globalVariables, searchStyles];
static styles = [globalVariables, searchStyles];
@property({ type: String, reflect: true })
public value = "";
@@ -11,7 +11,6 @@ import { customElement, property, query, state } from "lit/decorators.js";
import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css";
import PFSelect from "@patternfly/patternfly/components/Select/select.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export interface IListSelect {
options: SelectOptions;
@@ -46,7 +45,6 @@ export interface IListSelect {
@customElement("ak-list-select")
export class ListSelect extends AKElement implements IListSelect {
static styles = [
PFBase,
PFDropdown,
PFSelect,
css`
+1 -2
View File
@@ -39,7 +39,6 @@ import { customElement, property } from "lit/decorators.js";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFTable from "@patternfly/patternfly/components/Table/table.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
const highlightThemeOptions: HighlightOptions = {
languages: {
@@ -73,7 +72,7 @@ export class AKMDX extends AKElement {
static styles = [
// ---
PFBase,
PFList,
PFTable,
PFContent,
@@ -12,7 +12,6 @@ import { map } from "lit/directives/map.js";
import { repeat } from "lit/directives/repeat.js";
import PFTable from "@patternfly/patternfly/components/Table/table.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export type RawContent = string | number | TemplateResult;
export type ContentType = RawContent[][] | TableRow[] | TableGrouped;
@@ -75,7 +74,6 @@ export interface ISimpleTable {
@customElement("ak-simple-table")
export class SimpleTable extends AKElement implements ISimpleTable {
static styles = [
PFBase,
PFTable,
css`
.pf-c-table thead .pf-c-table__check {
-2
View File
@@ -20,7 +20,6 @@ import PFModalBox from "@patternfly/patternfly/components/ModalBox/modal-box.css
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFBullseye from "@patternfly/patternfly/layouts/Bullseye/bullseye.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export const MODAL_BUTTON_STYLES = css`
:host {
@@ -52,7 +51,6 @@ export abstract class ModalButton extends AKElement {
public locked = false;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFModalBox,
PFForm,
@@ -13,12 +13,10 @@ import { property } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFSpinner from "@patternfly/patternfly/components/Spinner/spinner.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
// `pointer-events: none` makes the button inaccessible during the processing phase.
const buttonStyles = [
PFBase,
PFButton,
PFSpinner,
css`
+1 -2
View File
@@ -9,7 +9,6 @@ import { customElement, property } from "lit/decorators.js";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFFlex from "@patternfly/patternfly/layouts/Flex/flex.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export interface IAggregateCard {
icon?: string | null;
@@ -69,7 +68,7 @@ export class AggregateCard extends AKElement implements IAggregateCard {
@property({ type: String })
public subtext: string | null = null;
public static styles: CSSResult[] = [PFBase, PFCard, PFFlex, Styles];
public static styles: CSSResult[] = [PFCard, PFFlex, Styles];
renderInner(): SlottedTemplateResult {
if (this.role === "status") {
+1 -2
View File
@@ -9,7 +9,6 @@ import { ifDefined } from "lit/directives/if-defined.js";
import { map } from "lit/directives/map.js";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export type QuickAction = [label: string, url: string, isExternal?: boolean];
@@ -39,7 +38,7 @@ function renderItem([label, url, external]: QuickAction) {
*/
@customElement("ak-quick-actions-card")
export class QuickActionsCard extends AKElement implements IQuickActionsCard {
static styles = [PFBase, PFList];
static styles = [PFList];
/**
* Card title
-2
View File
@@ -7,12 +7,10 @@ import { customElement, property } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFChip from "@patternfly/patternfly/components/Chip/chip.css";
import PFChipGroup from "@patternfly/patternfly/components/ChipGroup/chip-group.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-chip-group")
export class ChipGroup extends AKElement {
static styles: CSSResult[] = [
PFBase,
PFChip,
PFChipGroup,
PFButton,
-2
View File
@@ -35,7 +35,6 @@ import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css";
import PFSwitch from "@patternfly/patternfly/components/Switch/switch.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
function isIgnored<T extends Element>(element: T) {
if (!(element instanceof HTMLElement)) return false;
@@ -242,7 +241,6 @@ export abstract class Form<T = Record<string, unknown>> extends AKElement {
nonFieldErrors?: string[];
static styles: CSSResult[] = [
PFBase,
PFCard,
PFButton,
PFForm,
+1 -2
View File
@@ -9,7 +9,6 @@ import { createRef, ref } from "lit/directives/ref.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* Form Group
@@ -21,7 +20,7 @@ import PFBase from "@patternfly/patternfly/patternfly-base.css";
*/
@customElement("ak-form-group")
export class AKFormGroup extends AKElement {
static styles: CSSResult[] = [PFBase, PFForm, PFButton, PFFormControl, Styles];
static styles: CSSResult[] = [PFForm, PFButton, PFFormControl, Styles];
//region Properties
@@ -10,7 +10,6 @@ import { customElement, property } from "lit/decorators.js";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* Horizontal Form Element Container.
@@ -29,7 +28,6 @@ import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-form-element-horizontal")
export class HorizontalFormElement extends AKElement {
static styles: CSSResult[] = [
PFBase,
PFForm,
PFFormControl,
css`
@@ -39,6 +39,8 @@ export abstract class SearchSelectBase<T>
extends AkControlElement<string>
implements ISearchSelectBase<T>
{
static styles = [];
//#region Properties
/**
@@ -7,7 +7,6 @@ import { customElement } from "lit/decorators.js";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFSelect from "@patternfly/patternfly/components/Select/select.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* @class SearchSelectLoadingIndicator
@@ -25,7 +24,7 @@ import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-search-select-loading-indicator")
export class SearchSelectLoadingIndicator extends AKElement {
static styles = [PFBase, PFFormControl, PFSelect];
static styles = [PFFormControl, PFSelect];
connectedCallback() {
super.connectedCallback();
@@ -17,7 +17,6 @@ import { createRef, ref, Ref } from "lit/directives/ref.js";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFSelect from "@patternfly/patternfly/components/Select/select.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export interface ISearchSelectView {
options: SelectOptions;
@@ -71,7 +70,6 @@ export interface ISearchSelectView {
@customElement("ak-search-select-view")
export class SearchSelectView extends AKElement implements ISearchSelectView {
static styles: CSSResult[] = [
PFBase,
PFForm,
PFFormControl,
PFSelect,
+1 -2
View File
@@ -11,7 +11,6 @@ import { ifDefined } from "lit/directives/if-defined.js";
import PFAlert from "@patternfly/patternfly/components/Alert/alert.css";
import PFAlertGroup from "@patternfly/patternfly/components/AlertGroup/alert-group.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
const LevelIconMap = {
[MessageLevel.error]: "fas fa-exclamation-circle",
@@ -29,7 +28,7 @@ const LevelARIALiveMap = {
@customElement("ak-message")
export class Message extends AKElement {
static styles: CSSResult[] = [PFBase, PFButton, PFAlert, PFAlertGroup];
static styles: CSSResult[] = [PFButton, PFAlert, PFAlertGroup];
//#region Properties
@@ -13,7 +13,6 @@ import { css, CSSResult, html } from "lit";
import { customElement, property, state } from "lit/decorators.js";
import PFAlertGroup from "@patternfly/patternfly/components/AlertGroup/alert-group.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* Adds a message to the message container, displaying it to the user.
@@ -89,7 +88,6 @@ export class MessageContainer extends AKElement {
alignment: "top" | "bottom" = "top";
static styles: CSSResult[] = [
PFBase,
PFAlertGroup,
css`
/* Fix spacing between messages */
@@ -15,7 +15,6 @@ import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css";
import PFNotificationDrawer from "@patternfly/patternfly/components/NotificationDrawer/notification-drawer.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
function renderItem(item: APIRequestInfo, idx: number): TemplateResult {
const subheading = `${item.method}: ${item.status}`;
@@ -49,7 +48,6 @@ export class APIDrawer extends AKElement {
public requests: APIRequestInfo[] = [];
static styles: CSSResult[] = [
PFBase,
PFNotificationDrawer,
PFButton,
PFContent,
+1 -2
View File
@@ -6,14 +6,13 @@ import { customElement, property } from "lit/decorators.js";
import PFEmptyState from "@patternfly/patternfly/components/EmptyState/empty-state.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-router-404")
export class Router404 extends AKElement {
@property()
url = "";
static styles: CSSResult[] = [PFBase, PFEmptyState, PFTitle];
static styles: CSSResult[] = [PFEmptyState, PFTitle];
render(): TemplateResult {
return html`<div class="pf-c-empty-state pf-m-full-height">
@@ -17,12 +17,10 @@ import { customElement } from "lit/decorators.js";
import PFAvatar from "@patternfly/patternfly/components/Avatar/avatar.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFNav from "@patternfly/patternfly/components/Nav/nav.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-sidebar-version")
export class SidebarVersion extends WithLicenseSummary(WithVersion(AKElement)) {
static styles: CSSResult[] = [
PFBase,
PFNav,
PFAvatar,
PFButton,
@@ -8,7 +8,6 @@ import { customElement, property } from "lit/decorators.js";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFPagination from "@patternfly/patternfly/components/Pagination/pagination.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export type TablePageChangeListener = (page: number) => void;
@@ -27,7 +26,6 @@ export class TablePagination extends AKElement {
public onPageChange?: TablePageChangeListener;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFPagination,
css`
-2
View File
@@ -14,7 +14,6 @@ import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css";
import PFToolbar from "@patternfly/patternfly/components/Toolbar/toolbar.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-table-search")
export class TableSearchForm extends WithLicenseSummary(AKElement) {
@@ -37,7 +36,6 @@ export class TableSearchForm extends WithLicenseSummary(AKElement) {
public onSearch?: (value: string) => void;
static styles: CSSResult[] = [
PFBase,
PFButton,
PFToolbar,
PFInputGroup,
@@ -11,12 +11,10 @@ import { customElement, property } from "lit/decorators.js";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-task-status-summary")
export class TaskStatusSummary extends AKElement {
static styles: CSSResult[] = [
PFBase,
PFGrid,
PFCard,
css`
+1 -2
View File
@@ -8,14 +8,13 @@ import { customElement, property } from "lit/decorators.js";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-utils-time-delta-help")
export class TimeDeltaHelp extends AKElement {
@property({ type: Boolean })
negative = false;
static styles: CSSResult[] = [PFBase, PFForm, PFList];
static styles: CSSResult[] = [PFForm, PFList];
render(): TemplateResult {
return html`<div class="pf-c-form__helper-text">
+1 -2
View File
@@ -13,7 +13,6 @@ import PFEmptyState from "@patternfly/patternfly/components/EmptyState/empty-sta
import PFProgressStepper from "@patternfly/patternfly/components/ProgressStepper/progress-stepper.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFBullseye from "@patternfly/patternfly/layouts/Bullseye/bullseye.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export enum ActionState {
pending = "pending",
@@ -30,7 +29,7 @@ export interface ActionStateBundle {
@customElement("ak-wizard-page-action")
export class ActionWizardPage extends WizardPage {
static styles: CSSResult[] = [PFBase, PFBullseye, PFEmptyState, PFTitle, PFProgressStepper];
static styles: CSSResult[] = [PFBullseye, PFEmptyState, PFTitle, PFProgressStepper];
@property({ attribute: false })
states: ActionStateBundle[] = [];
@@ -17,7 +17,6 @@ import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFRadio from "@patternfly/patternfly/components/Radio/radio.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export enum TypeCreateWizardPageLayouts {
list = "list",
@@ -40,7 +39,6 @@ export class TypeCreateWizardPage extends WithLicenseSummary(WizardPage) {
//#endregion
static styles: CSSResult[] = [
PFBase,
PFForm,
PFGrid,
PFRadio,
+1 -5
View File
@@ -1,11 +1,9 @@
import { AKElement } from "#elements/Base";
import { Wizard } from "#elements/wizard/Wizard";
import { CSSResult, html, LitElement, PropertyDeclaration, TemplateResult } from "lit";
import { html, LitElement, PropertyDeclaration, TemplateResult } from "lit";
import { property } from "lit/decorators.js";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* Callback for when the page is brought into view.
*/
@@ -19,8 +17,6 @@ export type WizardPageActiveCallback = () => void | Promise<void>;
export type WizardPageNextCallback = () => boolean | Promise<boolean>;
export abstract class WizardPage extends AKElement {
static styles: CSSResult[] = [PFBase];
/**
* The label to display in the sidebar for this page.
*
-2
View File
@@ -23,7 +23,6 @@ import PFDescriptionList from "@patternfly/patternfly/components/DescriptionList
import PFNotificationDrawer from "@patternfly/patternfly/components/NotificationDrawer/notification-drawer.css";
import PFProgressStepper from "@patternfly/patternfly/components/ProgressStepper/progress-stepper.css";
import PFStack from "@patternfly/patternfly/layouts/Stack/stack.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
function stringify(obj: unknown): string {
return JSON.stringify(obj, null, 4);
@@ -32,7 +31,6 @@ function stringify(obj: unknown): string {
@customElement("ak-flow-inspector")
export class FlowInspector extends AKElement {
static styles: CSSResult[] = [
PFBase,
PFButton,
PFStack,
PFCard,
+1 -2
View File
@@ -11,7 +11,6 @@ import { customElement, property } from "lit/decorators.js";
import { map } from "lit/directives/map.js";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
const styles = css`
.pf-c-list a {
@@ -27,7 +26,7 @@ const styles = css`
@customElement("ak-brand-links")
export class BrandLinks extends AKElement {
static styles = [PFBase, PFList, styles];
static styles = [PFList, styles];
@property({ type: Array, attribute: false })
public links: FooterLink[] = globalAK().brand.uiFooterLinks || [];
+1 -2
View File
@@ -12,7 +12,6 @@ import { customElement, property } from "lit/decorators.js";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
type ExcludeComponent<T> = T extends { component: string } ? Omit<T, "component"> : T;
@@ -35,7 +34,7 @@ export class FlowCard extends AKElement {
@property({ type: Boolean })
loading = false;
static styles: CSSResult[] = [PFBase, PFLogin, PFTitle, Styles];
static styles: CSSResult[] = [PFLogin, PFTitle, Styles];
render() {
let inner = html`<slot></slot>`;
@@ -15,7 +15,6 @@ import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
/**
* A configuration object for the visibility states of the password input.
@@ -41,7 +40,7 @@ const Visibility = {
@customElement("ak-flow-input-password")
export class InputPassword extends AKElement {
static styles = [PFBase, PFForm, PFInputGroup, PFFormControl, PFButton];
static styles = [PFForm, PFInputGroup, PFFormControl, PFButton];
//#region Properties

Some files were not shown because too many files have changed in this diff Show More