web: sort imports

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer 2021-09-21 11:31:37 +02:00
parent a92a0fb60a
commit da7635ae5c
229 changed files with 2112 additions and 1317 deletions

View File

@ -14,5 +14,7 @@
"tabWidth": 4, "tabWidth": 4,
"trailingComma": "all", "trailingComma": "all",
"useTabs": false, "useTabs": false,
"vueIndentScriptAndStyle": false "vueIndentScriptAndStyle": false,
"importOrder": ["^@lingui/(.*)$", "^lit(.*)$", "\\.css$", "^@goauthentik/api$", "^[./]"],
"importOrderSeparation": true
} }

197
web/package-lock.json generated
View File

@ -28,6 +28,7 @@
"@sentry/browser": "^6.13.1", "@sentry/browser": "^6.13.1",
"@sentry/tracing": "^6.13.1", "@sentry/tracing": "^6.13.1",
"@squoosh/cli": "^0.7.2", "@squoosh/cli": "^0.7.2",
"@trivago/prettier-plugin-sort-imports": "^2.0.4",
"@types/chart.js": "^2.9.34", "@types/chart.js": "^2.9.34",
"@types/codemirror": "5.60.2", "@types/codemirror": "5.60.2",
"@types/grecaptcha": "^3.0.3", "@types/grecaptcha": "^3.0.3",
@ -2440,6 +2441,101 @@
"node": " ^12.5.0 || ^14.0.0 || ^16.0.0 " "node": " ^12.5.0 || ^14.0.0 || ^16.0.0 "
} }
}, },
"node_modules/@trivago/prettier-plugin-sort-imports": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-2.0.4.tgz",
"integrity": "sha512-SCVUhQdbjn/Z4AY7b9JO00fZCeXxiVuarVxYP0n6cX2ijiQkE5HmGrOk32n0u385OebzQ9bZcrc51lAGLjXnFQ==",
"dependencies": {
"@babel/core": "7.13.10",
"@babel/generator": "7.13.9",
"@babel/parser": "7.13.10",
"@babel/traverse": "7.13.0",
"@babel/types": "7.13.0",
"@types/lodash": "4.14.168",
"javascript-natural-sort": "0.7.1",
"lodash": "4.17.21"
},
"peerDependencies": {
"prettier": "2.x"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/core": {
"version": "7.13.10",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz",
"integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==",
"dependencies": {
"@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.13.9",
"@babel/helper-compilation-targets": "^7.13.10",
"@babel/helper-module-transforms": "^7.13.0",
"@babel/helpers": "^7.13.10",
"@babel/parser": "^7.13.10",
"@babel/template": "^7.12.13",
"@babel/traverse": "^7.13.0",
"@babel/types": "^7.13.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.1.2",
"lodash": "^4.17.19",
"semver": "^6.3.0",
"source-map": "^0.5.0"
},
"engines": {
"node": ">=6.9.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/babel"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/generator": {
"version": "7.13.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz",
"integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==",
"dependencies": {
"@babel/types": "^7.13.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/parser": {
"version": "7.13.10",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.10.tgz",
"integrity": "sha512-0s7Mlrw9uTWkYua7xWr99Wpk2bnGa0ANleKfksYAES8LpWH4gW1OUr42vqKNf0us5UQNfru2wPqMqRITzq/SIQ==",
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/traverse": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz",
"integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==",
"dependencies": {
"@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.13.0",
"@babel/helper-function-name": "^7.12.13",
"@babel/helper-split-export-declaration": "^7.12.13",
"@babel/parser": "^7.13.0",
"@babel/types": "^7.13.0",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"node_modules/@trivago/prettier-plugin-sort-imports/node_modules/@babel/types": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz",
"integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==",
"dependencies": {
"@babel/helper-validator-identifier": "^7.12.11",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
},
"node_modules/@types/chart.js": { "node_modules/@types/chart.js": {
"version": "2.9.34", "version": "2.9.34",
"resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.34.tgz", "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.34.tgz",
@ -2536,6 +2632,11 @@
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
"integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ=="
}, },
"node_modules/@types/lodash": {
"version": "4.14.168",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
"integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q=="
},
"node_modules/@types/minimatch": { "node_modules/@types/minimatch": {
"version": "3.0.5", "version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
@ -5264,6 +5365,11 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/javascript-natural-sort": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
"integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k="
},
"node_modules/jest-get-type": { "node_modules/jest-get-type": {
"version": "26.3.0", "version": "26.3.0",
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",
@ -10253,6 +10359,87 @@
"web-streams-polyfill": "^3.0.3" "web-streams-polyfill": "^3.0.3"
} }
}, },
"@trivago/prettier-plugin-sort-imports": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-2.0.4.tgz",
"integrity": "sha512-SCVUhQdbjn/Z4AY7b9JO00fZCeXxiVuarVxYP0n6cX2ijiQkE5HmGrOk32n0u385OebzQ9bZcrc51lAGLjXnFQ==",
"requires": {
"@babel/core": "7.13.10",
"@babel/generator": "7.13.9",
"@babel/parser": "7.13.10",
"@babel/traverse": "7.13.0",
"@babel/types": "7.13.0",
"@types/lodash": "4.14.168",
"javascript-natural-sort": "0.7.1",
"lodash": "4.17.21"
},
"dependencies": {
"@babel/core": {
"version": "7.13.10",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz",
"integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==",
"requires": {
"@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.13.9",
"@babel/helper-compilation-targets": "^7.13.10",
"@babel/helper-module-transforms": "^7.13.0",
"@babel/helpers": "^7.13.10",
"@babel/parser": "^7.13.10",
"@babel/template": "^7.12.13",
"@babel/traverse": "^7.13.0",
"@babel/types": "^7.13.0",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
"json5": "^2.1.2",
"lodash": "^4.17.19",
"semver": "^6.3.0",
"source-map": "^0.5.0"
}
},
"@babel/generator": {
"version": "7.13.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz",
"integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==",
"requires": {
"@babel/types": "^7.13.0",
"jsesc": "^2.5.1",
"source-map": "^0.5.0"
}
},
"@babel/parser": {
"version": "7.13.10",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.10.tgz",
"integrity": "sha512-0s7Mlrw9uTWkYua7xWr99Wpk2bnGa0ANleKfksYAES8LpWH4gW1OUr42vqKNf0us5UQNfru2wPqMqRITzq/SIQ=="
},
"@babel/traverse": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz",
"integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==",
"requires": {
"@babel/code-frame": "^7.12.13",
"@babel/generator": "^7.13.0",
"@babel/helper-function-name": "^7.12.13",
"@babel/helper-split-export-declaration": "^7.12.13",
"@babel/parser": "^7.13.0",
"@babel/types": "^7.13.0",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.19"
}
},
"@babel/types": {
"version": "7.13.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.0.tgz",
"integrity": "sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA==",
"requires": {
"@babel/helper-validator-identifier": "^7.12.11",
"lodash": "^4.17.19",
"to-fast-properties": "^2.0.0"
}
}
}
},
"@types/chart.js": { "@types/chart.js": {
"version": "2.9.34", "version": "2.9.34",
"resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.34.tgz", "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.34.tgz",
@ -10348,6 +10535,11 @@
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
"integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ=="
}, },
"@types/lodash": {
"version": "4.14.168",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
"integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q=="
},
"@types/minimatch": { "@types/minimatch": {
"version": "3.0.5", "version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
@ -12324,6 +12516,11 @@
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
}, },
"javascript-natural-sort": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
"integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k="
},
"jest-get-type": { "jest-get-type": {
"version": "26.3.0", "version": "26.3.0",
"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz",

View File

@ -60,6 +60,7 @@
"@sentry/browser": "^6.13.1", "@sentry/browser": "^6.13.1",
"@sentry/tracing": "^6.13.1", "@sentry/tracing": "^6.13.1",
"@squoosh/cli": "^0.7.2", "@squoosh/cli": "^0.7.2",
"@trivago/prettier-plugin-sort-imports": "^2.0.4",
"@types/chart.js": "^2.9.34", "@types/chart.js": "^2.9.34",
"@types/codemirror": "5.60.2", "@types/codemirror": "5.60.2",
"@types/grecaptcha": "^3.0.3", "@types/grecaptcha": "^3.0.3",

View File

@ -1,5 +1,7 @@
import "@webcomponents/webcomponentsjs";
import "construct-style-sheets-polyfill";
import "lit/polyfill-support";
// @ts-ignore // @ts-ignore
window["polymerSkipLoadingFontRoboto"] = true; window["polymerSkipLoadingFontRoboto"] = true;
import "construct-style-sheets-polyfill";
import "@webcomponents/webcomponentsjs";
import "lit/polyfill-support";

View File

@ -1,11 +1,11 @@
import resolve from "rollup-plugin-node-resolve";
import commonjs from "rollup-plugin-commonjs";
import { terser } from "rollup-plugin-terser";
import sourcemaps from "rollup-plugin-sourcemaps";
import cssimport from "rollup-plugin-cssimport";
import copy from "rollup-plugin-copy";
import babel from "@rollup/plugin-babel"; import babel from "@rollup/plugin-babel";
import replace from "@rollup/plugin-replace"; import replace from "@rollup/plugin-replace";
import commonjs from "rollup-plugin-commonjs";
import copy from "rollup-plugin-copy";
import cssimport from "rollup-plugin-cssimport";
import resolve from "rollup-plugin-node-resolve";
import sourcemaps from "rollup-plugin-sourcemaps";
import { terser } from "rollup-plugin-terser";
const extensions = [".js", ".jsx", ".ts", ".tsx"]; const extensions = [".js", ".jsx", ".ts", ".tsx"];

View File

@ -1,4 +1,5 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { EVENT_WS_MESSAGE } from "../constants"; import { EVENT_WS_MESSAGE } from "../constants";
import { MessageLevel } from "../elements/messages/Message"; import { MessageLevel } from "../elements/messages/Message";
import { showMessage } from "../elements/messages/MessageContainer"; import { showMessage } from "../elements/messages/MessageContainer";

View File

@ -1,22 +1,23 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators";
import CodeMirror from "codemirror"; import CodeMirror from "codemirror";
import "codemirror/addon/dialog/dialog";
import "codemirror/addon/display/autorefresh"; import "codemirror/addon/display/autorefresh";
import "codemirror/addon/hint/show-hint";
import "codemirror/addon/search/search"; import "codemirror/addon/search/search";
import "codemirror/addon/search/searchcursor"; import "codemirror/addon/search/searchcursor";
import "codemirror/addon/dialog/dialog";
import "codemirror/addon/hint/show-hint";
import "codemirror/mode/xml/xml.js";
import "codemirror/mode/yaml/yaml.js";
import "codemirror/mode/javascript/javascript.js"; import "codemirror/mode/javascript/javascript.js";
import "codemirror/mode/python/python.js"; import "codemirror/mode/python/python.js";
import CodeMirrorStyle from "codemirror/lib/codemirror.css"; import "codemirror/mode/xml/xml.js";
import CodeMirrorTheme from "codemirror/theme/monokai.css"; import "codemirror/mode/yaml/yaml.js";
import YAML from "yaml";
import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined";
import CodeMirrorDialogStyle from "codemirror/addon/dialog/dialog.css"; import CodeMirrorDialogStyle from "codemirror/addon/dialog/dialog.css";
import CodeMirrorShowHintStyle from "codemirror/addon/hint/show-hint.css"; import CodeMirrorShowHintStyle from "codemirror/addon/hint/show-hint.css";
import { ifDefined } from "lit/directives/if-defined"; import CodeMirrorStyle from "codemirror/lib/codemirror.css";
import YAML from "yaml"; import CodeMirrorTheme from "codemirror/theme/monokai.css";
@customElement("ak-codemirror") @customElement("ak-codemirror")
export class CodeMirrorTextarea extends LitElement { export class CodeMirrorTextarea extends LitElement {

View File

@ -1,8 +1,9 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../authentik.css";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import AKGlobal from "../authentik.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-divider") @customElement("ak-divider")
export class Divider extends LitElement { export class Divider extends LitElement {
static get styles(): CSSResult[] { static get styles(): CSSResult[] {

View File

@ -1,9 +1,11 @@
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import PFEmptyState from "@patternfly/patternfly/components/EmptyState/empty-state.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import AKGlobal from "../authentik.css";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import AKGlobal from "../authentik.css";
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";
import { PFSize } from "./Spinner"; import { PFSize } from "./Spinner";
@customElement("ak-empty-state") @customElement("ak-empty-state")

View File

@ -1,8 +1,10 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import PFExpandableSection from "../../node_modules/@patternfly/patternfly/components/ExpandableSection/expandable-section.css";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFExpandableSection from "../../node_modules/@patternfly/patternfly/components/ExpandableSection/expandable-section.css";
@customElement("ak-expand") @customElement("ak-expand")
export class Expand extends LitElement { export class Expand extends LitElement {
@property({ type: Boolean }) @property({ type: Boolean })

View File

@ -1,9 +1,10 @@
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFLabel from "@patternfly/patternfly/components/Label/label.css";
import AKGlobal from "../authentik.css";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import AKGlobal from "../authentik.css";
import PFLabel from "@patternfly/patternfly/components/Label/label.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export enum PFColor { export enum PFColor {
Green = "pf-m-green", Green = "pf-m-green",
Orange = "pf-m-orange", Orange = "pf-m-orange",

View File

@ -1,8 +1,10 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { PFSize } from "./Spinner";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { PFSize } from "./Spinner";
@customElement("ak-loading-overlay") @customElement("ak-loading-overlay")
export class LoadingOverlay extends LitElement { export class LoadingOverlay extends LitElement {
@property({ type: Boolean }) @property({ type: Boolean })

View File

@ -1,10 +1,15 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
import AKGlobal from "../authentik.css"; import AKGlobal from "../authentik.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { EventsApi } from "@goauthentik/api";
import { DEFAULT_CONFIG, tenant } from "../api/Config";
import { import {
EVENT_API_DRAWER_TOGGLE, EVENT_API_DRAWER_TOGGLE,
EVENT_NOTIFICATION_DRAWER_TOGGLE, EVENT_NOTIFICATION_DRAWER_TOGGLE,
@ -12,8 +17,6 @@ import {
EVENT_SIDEBAR_TOGGLE, EVENT_SIDEBAR_TOGGLE,
TITLE_DEFAULT, TITLE_DEFAULT,
} from "../constants"; } from "../constants";
import { DEFAULT_CONFIG, tenant } from "../api/Config";
import { EventsApi } from "@goauthentik/api";
@customElement("ak-page-header") @customElement("ak-page-header")
export class PageHeader extends LitElement { export class PageHeader extends LitElement {

View File

@ -1,8 +1,10 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import PFSpinner from "@patternfly/patternfly/components/Spinner/spinner.css";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFSpinner from "@patternfly/patternfly/components/Spinner/spinner.css";
export enum PFSize { export enum PFSize {
Small = "pf-m-sm", Small = "pf-m-sm",
Medium = "pf-m-md", Medium = "pf-m-md",

View File

@ -1,11 +1,14 @@
import { t } from "@lingui/macro";
import { LitElement, html, CSSResult, TemplateResult, css } from "lit"; import { LitElement, html, CSSResult, TemplateResult, css } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined"; import { ifDefined } from "lit/directives/if-defined";
import AKGlobal from "../authentik.css";
import PFTabs from "@patternfly/patternfly/components/Tabs/tabs.css"; import PFTabs from "@patternfly/patternfly/components/Tabs/tabs.css";
import PFGlobal from "@patternfly/patternfly/patternfly-base.css"; import PFGlobal from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../authentik.css";
import { CURRENT_CLASS, ROUTE_SEPARATOR } from "../constants"; import { CURRENT_CLASS, ROUTE_SEPARATOR } from "../constants";
import { t } from "@lingui/macro";
@customElement("ak-tabs") @customElement("ak-tabs")
export class Tabs extends LitElement { export class Tabs extends LitElement {

View File

@ -1,7 +1,8 @@
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { SpinnerButton } from "./SpinnerButton";
import { showMessage } from "../messages/MessageContainer";
import { MessageLevel } from "../messages/Message"; import { MessageLevel } from "../messages/Message";
import { showMessage } from "../messages/MessageContainer";
import { SpinnerButton } from "./SpinnerButton";
@customElement("ak-action-button") @customElement("ak-action-button")
export class ActionButton extends SpinnerButton { export class ActionButton extends SpinnerButton {

View File

@ -5,9 +5,10 @@ import { customElement } from "lit/decorators";
export class DropdownButton extends LitElement { export class DropdownButton extends LitElement {
constructor() { constructor() {
super(); super();
const menu = <HTMLElement>this.querySelector(".pf-c-dropdown__menu"); const menu = this.querySelector<HTMLElement>(".pf-c-dropdown__menu");
this.querySelectorAll("button.pf-c-dropdown__toggle").forEach((btn) => { this.querySelectorAll("button.pf-c-dropdown__toggle").forEach((btn) => {
btn.addEventListener("click", () => { btn.addEventListener("click", () => {
if (!menu) return;
menu.hidden = !menu.hidden; menu.hidden = !menu.hidden;
}); });
}); });

View File

@ -1,17 +1,19 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../authentik.css";
import PFBackdrop from "@patternfly/patternfly/components/Backdrop/backdrop.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFModalBox from "@patternfly/patternfly/components/ModalBox/modal-box.css"; import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFBullseye from "@patternfly/patternfly/layouts/Bullseye/bullseye.css"; import PFModalBox from "@patternfly/patternfly/components/ModalBox/modal-box.css";
import PFBackdrop from "@patternfly/patternfly/components/Backdrop/backdrop.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css"; import PFBullseye from "@patternfly/patternfly/layouts/Bullseye/bullseye.css";
import AKGlobal from "../../authentik.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { PFSize } from "../Spinner"; import { PFSize } from "../Spinner";
export const MODAL_BUTTON_STYLES = css` export const MODAL_BUTTON_STYLES = css`

View File

@ -1,11 +1,13 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFSpinner from "@patternfly/patternfly/components/Spinner/spinner.css"; import PFSpinner from "@patternfly/patternfly/components/Spinner/spinner.css";
import AKGlobal from "../../authentik.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { PFSize } from "../Spinner";
import { ERROR_CLASS, PROGRESS_CLASS, SUCCESS_CLASS } from "../../constants"; import { ERROR_CLASS, PROGRESS_CLASS, SUCCESS_CLASS } from "../../constants";
import { PFSize } from "../Spinner";
@customElement("ak-spinner-button") @customElement("ak-spinner-button")
export class SpinnerButton extends LitElement { export class SpinnerButton extends LitElement {

View File

@ -1,7 +1,9 @@
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { CoreApi } from "@goauthentik/api"; import { CoreApi } from "@goauthentik/api";
import { ERROR_CLASS, SECONDARY_CLASS, SUCCESS_CLASS } from "../../constants";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import { ERROR_CLASS, SECONDARY_CLASS, SUCCESS_CLASS } from "../../constants";
import { ActionButton } from "./ActionButton"; import { ActionButton } from "./ActionButton";
@customElement("ak-token-copy-button") @customElement("ak-token-copy-button")

View File

@ -1,10 +1,11 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined"; import { ifDefined } from "lit/directives/if-defined";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../authentik.css";
import PFCard from "@patternfly/patternfly/components/Card/card.css"; import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFFlex from "@patternfly/patternfly/layouts/Flex/flex.css"; import PFFlex from "@patternfly/patternfly/layouts/Flex/flex.css";
import AKGlobal from "../../authentik.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-aggregate-card") @customElement("ak-aggregate-card")
export class AggregateCard extends LitElement { export class AggregateCard extends LitElement {

View File

@ -1,9 +1,10 @@
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { until } from "lit/directives/until"; import { until } from "lit/directives/until";
import { AggregateCard } from "./AggregateCard";
import "../Spinner"; import "../Spinner";
import { PFSize } from "../Spinner"; import { PFSize } from "../Spinner";
import { AggregateCard } from "./AggregateCard";
@customElement("ak-aggregate-card-promise") @customElement("ak-aggregate-card-promise")
export class AggregatePromiseCard extends AggregateCard { export class AggregatePromiseCard extends AggregateCard {

View File

@ -1,8 +1,11 @@
import { customElement } from "lit/decorators";
import { ChartData } from "chart.js"; import { ChartData } from "chart.js";
import { customElement } from "lit/decorators";
import { AdminApi, LoginMetrics } from "@goauthentik/api"; import { AdminApi, LoginMetrics } from "@goauthentik/api";
import { AKChart } from "./Chart";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import { AKChart } from "./Chart";
@customElement("ak-charts-admin-login") @customElement("ak-charts-admin-login")
export class AdminLoginsChart extends AKChart<LoginMetrics> { export class AdminLoginsChart extends AKChart<LoginMetrics> {

View File

@ -1,8 +1,11 @@
import { ChartData } from "chart.js";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { Coordinate, CoreApi } from "@goauthentik/api"; import { Coordinate, CoreApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import { AKChart } from "./Chart"; import { AKChart } from "./Chart";
import { ChartData } from "chart.js";
@customElement("ak-charts-application-authorize") @customElement("ak-charts-application-authorize")
export class ApplicationAuthorizeChart extends AKChart<Coordinate[]> { export class ApplicationAuthorizeChart extends AKChart<Coordinate[]> {

View File

@ -1,13 +1,15 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { property } from "lit/decorators";
import { Chart, Plugin, Tick, ChartConfiguration, ChartData, ChartOptions } from "chart.js"; import { Chart, Plugin, Tick, ChartConfiguration, ChartData, ChartOptions } from "chart.js";
import { Legend, Tooltip } from "chart.js"; import { Legend, Tooltip } from "chart.js";
import { DoughnutController, LineController, BarController } from "chart.js"; import { DoughnutController, LineController, BarController } from "chart.js";
import { ArcElement, BarElement } from "chart.js"; import { ArcElement, BarElement } from "chart.js";
import { TimeScale, LinearScale } from "chart.js"; import { TimeScale, LinearScale } from "chart.js";
import "chartjs-adapter-moment"; import "chartjs-adapter-moment";
import { FONT_COLOUR_DARK_MODE, FONT_COLOUR_LIGHT_MODE } from "../../pages/flows/FlowDiagram";
import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { property } from "lit/decorators";
import { EVENT_REFRESH } from "../../constants"; import { EVENT_REFRESH } from "../../constants";
import { FONT_COLOUR_DARK_MODE, FONT_COLOUR_LIGHT_MODE } from "../../pages/flows/FlowDiagram";
Chart.register(Legend, Tooltip); Chart.register(Legend, Tooltip);
Chart.register(LineController, BarController, DoughnutController); Chart.register(LineController, BarController, DoughnutController);
@ -68,7 +70,7 @@ export abstract class AKChart<T> extends LitElement {
firstUpdated(): void { firstUpdated(): void {
this.apiRequest().then((r) => { this.apiRequest().then((r) => {
const canvas = <HTMLCanvasElement>this.shadowRoot?.querySelector("canvas"); const canvas = this.shadowRoot?.querySelector<HTMLCanvasElement>("canvas");
if (!canvas) { if (!canvas) {
console.warn("Failed to get canvas element"); console.warn("Failed to get canvas element");
return false; return false;

View File

@ -1,9 +1,12 @@
import { customElement, property } from "lit/decorators";
import { CoreApi, UserMetrics } from "@goauthentik/api";
import { AKChart } from "./Chart";
import { DEFAULT_CONFIG } from "../../api/Config";
import { ChartData } from "chart.js"; import { ChartData } from "chart.js";
import { customElement, property } from "lit/decorators";
import { CoreApi, UserMetrics } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../api/Config";
import { AKChart } from "./Chart";
@customElement("ak-charts-user") @customElement("ak-charts-user")
export class UserChart extends AKChart<UserMetrics> { export class UserChart extends AKChart<UserMetrics> {
@property({ type: Number }) @property({ type: Number })

View File

@ -1,10 +1,10 @@
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import AKGlobal from "../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFChip from "@patternfly/patternfly/components/Chip/chip.css"; import PFChip from "@patternfly/patternfly/components/Chip/chip.css";
import AKGlobal from "../../authentik.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
@customElement("ak-chip") @customElement("ak-chip")
export class Chip extends LitElement { export class Chip extends LitElement {

View File

@ -1,11 +1,12 @@
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import AKGlobal from "../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFChip from "@patternfly/patternfly/components/Chip/chip.css"; import PFChip from "@patternfly/patternfly/components/Chip/chip.css";
import PFChipGroup from "@patternfly/patternfly/components/ChipGroup/chip-group.css"; import PFChipGroup from "@patternfly/patternfly/components/ChipGroup/chip-group.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../authentik.css";
import { Chip } from "./Chip"; import { Chip } from "./Chip";
@customElement("ak-chip-group") @customElement("ak-chip-group")

View File

@ -1,18 +1,20 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { AKResponse } from "../../api/Client";
import { Table, TableColumn } from "../table/Table";
import { Event, EventsApi } from "@goauthentik/api"; import { Event, EventsApi } from "@goauthentik/api";
import "../Tabs"; import { AKResponse } from "../../api/Client";
import "../buttons/ModalButton";
import "../buttons/SpinnerButton";
import "../buttons/Dropdown";
import "../../pages/events/EventInfo";
import { PAGE_SIZE } from "../../constants";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import { EventWithContext } from "../../api/Events"; import { EventWithContext } from "../../api/Events";
import { PAGE_SIZE } from "../../constants";
import "../../pages/events/EventInfo";
import "../Tabs";
import "../buttons/Dropdown";
import "../buttons/ModalButton";
import "../buttons/SpinnerButton";
import { Table, TableColumn } from "../table/Table";
@customElement("ak-object-changelog") @customElement("ak-object-changelog")
export class ObjectChangelog extends Table<Event> { export class ObjectChangelog extends Table<Event> {

View File

@ -1,18 +1,20 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { AKResponse } from "../../api/Client";
import { Table, TableColumn } from "../table/Table";
import { Event, EventsApi } from "@goauthentik/api"; import { Event, EventsApi } from "@goauthentik/api";
import "../Tabs"; import { AKResponse } from "../../api/Client";
import "../buttons/ModalButton";
import "../buttons/SpinnerButton";
import "../buttons/Dropdown";
import "../../pages/events/EventInfo";
import { PAGE_SIZE } from "../../constants";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import { EventWithContext } from "../../api/Events"; import { EventWithContext } from "../../api/Events";
import { PAGE_SIZE } from "../../constants";
import "../../pages/events/EventInfo";
import "../Tabs";
import "../buttons/Dropdown";
import "../buttons/ModalButton";
import "../buttons/SpinnerButton";
import { Table, TableColumn } from "../table/Table";
@customElement("ak-events-user") @customElement("ak-events-user")
export class ObjectChangelog extends Table<Event> { export class ObjectChangelog extends Table<Event> {

View File

@ -1,6 +1,8 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { EVENT_REFRESH } from "../../constants"; import { EVENT_REFRESH } from "../../constants";
import { ModalButton } from "../buttons/ModalButton"; import { ModalButton } from "../buttons/ModalButton";
import "../buttons/SpinnerButton"; import "../buttons/SpinnerButton";

View File

@ -1,17 +1,21 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { until } from "lit/directives/until";
import PFList from "@patternfly/patternfly/components/List/list.css";
import { UsedBy, UsedByActionEnum } from "@goauthentik/api";
import { AKResponse } from "../../api/Client";
import { EVENT_REFRESH } from "../../constants"; import { EVENT_REFRESH } from "../../constants";
import { PFSize } from "../Spinner";
import { ModalButton } from "../buttons/ModalButton"; import { ModalButton } from "../buttons/ModalButton";
import "../buttons/SpinnerButton";
import { MessageLevel } from "../messages/Message"; import { MessageLevel } from "../messages/Message";
import { showMessage } from "../messages/MessageContainer"; import { showMessage } from "../messages/MessageContainer";
import "../buttons/SpinnerButton";
import { UsedBy, UsedByActionEnum } from "@goauthentik/api";
import PFList from "@patternfly/patternfly/components/List/list.css";
import { until } from "lit/directives/until";
import { Table, TableColumn } from "../table/Table"; import { Table, TableColumn } from "../table/Table";
import { AKResponse } from "../../api/Client";
import { PFSize } from "../Spinner";
type BulkDeleteMetadata = { key: string; value: string }[]; type BulkDeleteMetadata = { key: string; value: string }[];

View File

@ -1,14 +1,18 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { until } from "lit/directives/until";
import PFList from "@patternfly/patternfly/components/List/list.css";
import { UsedBy, UsedByActionEnum } from "@goauthentik/api";
import { EVENT_REFRESH } from "../../constants"; import { EVENT_REFRESH } from "../../constants";
import { ModalButton } from "../buttons/ModalButton"; import { ModalButton } from "../buttons/ModalButton";
import "../buttons/SpinnerButton";
import { MessageLevel } from "../messages/Message"; import { MessageLevel } from "../messages/Message";
import { showMessage } from "../messages/MessageContainer"; import { showMessage } from "../messages/MessageContainer";
import "../buttons/SpinnerButton";
import { UsedBy, UsedByActionEnum } from "@goauthentik/api";
import PFList from "@patternfly/patternfly/components/List/list.css";
import { until } from "lit/directives/until";
@customElement("ak-forms-delete") @customElement("ak-forms-delete")
export class DeleteForm extends ModalButton { export class DeleteForm extends ModalButton {

View File

@ -1,22 +1,26 @@
import "@polymer/paper-input/paper-input";
import "@polymer/iron-form/iron-form"; import "@polymer/iron-form/iron-form";
import { IronFormElement } from "@polymer/iron-form/iron-form";
import "@polymer/paper-input/paper-input";
import { PaperInputElement } from "@polymer/paper-input/paper-input"; import { PaperInputElement } from "@polymer/paper-input/paper-input";
import { showMessage } from "../../elements/messages/MessageContainer";
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import AKGlobal from "../../authentik.css"; import AKGlobal from "../../authentik.css";
import PFAlert from "@patternfly/patternfly/components/Alert/alert.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFCard from "@patternfly/patternfly/components/Card/card.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFAlert from "@patternfly/patternfly/components/Alert/alert.css";
import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css"; import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css";
import { MessageLevel } from "../messages/Message"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { IronFormElement } from "@polymer/iron-form/iron-form";
import { camelToSnake, convertToSlug } from "../../utils";
import { ValidationError } from "@goauthentik/api"; import { ValidationError } from "@goauthentik/api";
import { EVENT_REFRESH } from "../../constants"; import { EVENT_REFRESH } from "../../constants";
import { showMessage } from "../../elements/messages/MessageContainer";
import { camelToSnake, convertToSlug } from "../../utils";
import { MessageLevel } from "../messages/Message";
export class APIError extends Error { export class APIError extends Error {
constructor(public response: ValidationError) { constructor(public response: ValidationError) {

View File

@ -1,8 +1,10 @@
import { LitElement, CSSResult, css } from "lit"; import { LitElement, CSSResult, css } from "lit";
import { customElement, property } from "lit/decorators";
import { TemplateResult, html } from "lit"; import { TemplateResult, html } from "lit";
import { customElement, property } from "lit/decorators";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import { ErrorDetail } from "@goauthentik/api"; import { ErrorDetail } from "@goauthentik/api";
@customElement("ak-form-element") @customElement("ak-form-element")

View File

@ -1,10 +1,11 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import AKGlobal from "../../authentik.css"; import AKGlobal from "../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; 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";
@customElement("ak-form-group") @customElement("ak-form-group")
export class FormGroup extends LitElement { export class FormGroup extends LitElement {

View File

@ -1,11 +1,14 @@
import { t } from "@lingui/macro";
import { LitElement, CSSResult, css } from "lit"; import { LitElement, CSSResult, css } from "lit";
import { customElement, property } from "lit/decorators";
import { TemplateResult, html } from "lit"; import { TemplateResult, html } from "lit";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import { customElement, property } from "lit/decorators";
import AKGlobal from "../../authentik.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import AKGlobal from "../../authentik.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { t } from "@lingui/macro";
import { FormGroup } from "./FormGroup"; import { FormGroup } from "./FormGroup";
@customElement("ak-form-element-horizontal") @customElement("ak-form-element-horizontal")

View File

@ -1,11 +1,13 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { EVENT_REFRESH } from "../../constants"; import { EVENT_REFRESH } from "../../constants";
import { ModalButton } from "../buttons/ModalButton";
import { Form } from "./Form";
import "../buttons/SpinnerButton";
import "../LoadingOverlay"; import "../LoadingOverlay";
import { ModalButton } from "../buttons/ModalButton";
import "../buttons/SpinnerButton";
import { Form } from "./Form";
@customElement("ak-forms-modal") @customElement("ak-forms-modal")
export class ModalForm extends ModalButton { export class ModalForm extends ModalButton {

View File

@ -1,5 +1,6 @@
import { TemplateResult } from "lit"; import { TemplateResult } from "lit";
import { property } from "lit/decorators"; import { property } from "lit/decorators";
import { EVENT_REFRESH } from "../../constants"; import { EVENT_REFRESH } from "../../constants";
import { Form } from "./Form"; import { Form } from "./Form";

View File

@ -1,5 +1,6 @@
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { Form } from "./Form"; import { Form } from "./Form";
@customElement("ak-proxy-form") @customElement("ak-proxy-form")

View File

@ -1,10 +1,10 @@
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFAlertGroup from "@patternfly/patternfly/components/AlertGroup/alert-group.css";
import PFAlert from "@patternfly/patternfly/components/Alert/alert.css"; import PFAlert from "@patternfly/patternfly/components/Alert/alert.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFAlertGroup from "@patternfly/patternfly/components/AlertGroup/alert-group.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
export enum MessageLevel { export enum MessageLevel {
error = "error", error = "error",

View File

@ -1,11 +1,13 @@
import { LitElement, html, TemplateResult, CSSResult, css } from "lit"; import { LitElement, html, TemplateResult, CSSResult, css } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import "./Message";
import { APIMessage } from "./Message";
import PFAlertGroup from "@patternfly/patternfly/components/AlertGroup/alert-group.css"; import PFAlertGroup from "@patternfly/patternfly/components/AlertGroup/alert-group.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { EVENT_WS_MESSAGE, WS_MSG_TYPE_MESSAGE } from "../../constants";
import { WSMessage } from "../../common/ws"; import { WSMessage } from "../../common/ws";
import { EVENT_WS_MESSAGE, WS_MSG_TYPE_MESSAGE } from "../../constants";
import "./Message";
import { APIMessage } from "./Message";
export function showMessage(message: APIMessage): void { export function showMessage(message: APIMessage): void {
const container = document.querySelector<MessageContainer>("ak-message-container"); const container = document.querySelector<MessageContainer>("ak-message-container");

View File

@ -1,5 +1,7 @@
import { Middleware, ResponseContext } from "@goauthentik/api";
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { Middleware, ResponseContext } from "@goauthentik/api";
import { MessageLevel } from "./Message"; import { MessageLevel } from "./Message";
import { showMessage } from "./MessageContainer"; import { showMessage } from "./MessageContainer";

View File

@ -1,13 +1,17 @@
import { Middleware, ResponseContext } from "@goauthentik/api"; import { t } from "@lingui/macro";
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFNotificationDrawer from "@patternfly/patternfly/components/NotificationDrawer/notification-drawer.css"; import AKGlobal from "../../authentik.css";
import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css"; import PFContent from "@patternfly/patternfly/components/Content/content.css";
import AKGlobal from "../../authentik.css"; import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css";
import { t } from "@lingui/macro"; import PFNotificationDrawer from "@patternfly/patternfly/components/NotificationDrawer/notification-drawer.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { Middleware, ResponseContext } from "@goauthentik/api";
import { EVENT_API_DRAWER_REFRESH, EVENT_API_DRAWER_TOGGLE } from "../../constants"; import { EVENT_API_DRAWER_REFRESH, EVENT_API_DRAWER_TOGGLE } from "../../constants";
export interface RequestInfo { export interface RequestInfo {

View File

@ -1,19 +1,23 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import AKGlobal from "../../authentik.css";
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";
import { EventsApi, Notification } from "@goauthentik/api"; import { EventsApi, Notification } from "@goauthentik/api";
import { AKResponse } from "../../api/Client"; import { AKResponse } from "../../api/Client";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFNotificationDrawer from "@patternfly/patternfly/components/NotificationDrawer/notification-drawer.css";
import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import AKGlobal from "../../authentik.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
import { EVENT_NOTIFICATION_DRAWER_TOGGLE, EVENT_REFRESH } from "../../constants"; import { EVENT_NOTIFICATION_DRAWER_TOGGLE, EVENT_REFRESH } from "../../constants";
import { ActionToLabel } from "../../pages/events/utils"; import { ActionToLabel } from "../../pages/events/utils";
import { showMessage } from "../messages/MessageContainer";
import { MessageLevel } from "../messages/Message"; import { MessageLevel } from "../messages/Message";
import { showMessage } from "../messages/MessageContainer";
@customElement("ak-notification-drawer") @customElement("ak-notification-drawer")
export class NotificationDrawer extends LitElement { export class NotificationDrawer extends LitElement {

View File

@ -1,13 +1,15 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { AKResponse } from "../../api/Client";
import { Table, TableColumn } from "../table/Table";
import "../forms/DeleteBulkForm";
import { PAGE_SIZE } from "../../constants";
import { ExpiringBaseGrantModel, Oauth2Api } from "@goauthentik/api"; import { ExpiringBaseGrantModel, Oauth2Api } from "@goauthentik/api";
import { AKResponse } from "../../api/Client";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import { PAGE_SIZE } from "../../constants";
import "../forms/DeleteBulkForm";
import { Table, TableColumn } from "../table/Table";
@customElement("ak-user-oauth-code-list") @customElement("ak-user-oauth-code-list")
export class UserOAuthCodeList extends Table<ExpiringBaseGrantModel> { export class UserOAuthCodeList extends Table<ExpiringBaseGrantModel> {

View File

@ -1,14 +1,17 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { AKResponse } from "../../api/Client";
import { Table, TableColumn } from "../table/Table";
import PFFlex from "@patternfly/patternfly/layouts/Flex/flex.css"; import PFFlex from "@patternfly/patternfly/layouts/Flex/flex.css";
import "../forms/DeleteBulkForm";
import { PAGE_SIZE } from "../../constants";
import { RefreshTokenModel, Oauth2Api, ExpiringBaseGrantModel } from "@goauthentik/api"; import { RefreshTokenModel, Oauth2Api, ExpiringBaseGrantModel } from "@goauthentik/api";
import { AKResponse } from "../../api/Client";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import { PAGE_SIZE } from "../../constants";
import "../forms/DeleteBulkForm";
import { Table, TableColumn } from "../table/Table";
@customElement("ak-user-oauth-refresh-list") @customElement("ak-user-oauth-refresh-list")
export class UserOAuthRefreshList extends Table<RefreshTokenModel> { export class UserOAuthRefreshList extends Table<RefreshTokenModel> {

View File

@ -1,4 +1,5 @@
import { TemplateResult } from "lit"; import { TemplateResult } from "lit";
import { Route } from "./Route"; import { Route } from "./Route";
export class RouteMatch { export class RouteMatch {

View File

@ -1,6 +1,8 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFEmptyState from "@patternfly/patternfly/components/EmptyState/empty-state.css"; import PFEmptyState from "@patternfly/patternfly/components/EmptyState/empty-state.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";

View File

@ -1,11 +1,12 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { Route } from "./Route";
import { RouteMatch } from "./RouteMatch";
import AKGlobal from "../../authentik.css"; import AKGlobal from "../../authentik.css";
import "./Router404";
import { ROUTE_SEPARATOR } from "../../constants"; import { ROUTE_SEPARATOR } from "../../constants";
import { Route } from "./Route";
import { RouteMatch } from "./RouteMatch";
import "./Router404";
// Poliyfill for hashchange.newURL, // Poliyfill for hashchange.newURL,
// https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onhashchange // https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onhashchange

View File

@ -1,9 +1,10 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFNav from "@patternfly/patternfly/components/Nav/nav.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../authentik.css"; import AKGlobal from "../../authentik.css";
import PFNav from "@patternfly/patternfly/components/Nav/nav.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import "./SidebarBrand"; import "./SidebarBrand";
import "./SidebarUser"; import "./SidebarUser";

View File

@ -1,15 +1,17 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import AKGlobal from "../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css"; import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGlobal from "@patternfly/patternfly/patternfly-base.css"; import PFGlobal from "@patternfly/patternfly/patternfly-base.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../authentik.css";
import { configureSentry } from "../../api/Sentry";
import { CurrentTenant } from "@goauthentik/api"; import { CurrentTenant } from "@goauthentik/api";
import { EVENT_SIDEBAR_TOGGLE } from "../../constants";
import { tenant } from "../../api/Config"; import { tenant } from "../../api/Config";
import { configureSentry } from "../../api/Sentry";
import { EVENT_SIDEBAR_TOGGLE } from "../../constants";
import { first } from "../../utils"; import { first } from "../../utils";
// If the viewport is wider than MIN_WIDTH, the sidebar // If the viewport is wider than MIN_WIDTH, the sidebar

View File

@ -1,11 +1,13 @@
import { css, CSSResult, LitElement } from "lit"; import { css, CSSResult, LitElement } from "lit";
import { customElement, property } from "lit/decorators";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFNav from "@patternfly/patternfly/components/Nav/nav.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../authentik.css";
import { TemplateResult, html } from "lit"; import { TemplateResult, html } from "lit";
import { customElement, property } from "lit/decorators";
import { until } from "lit/directives/until"; import { until } from "lit/directives/until";
import AKGlobal from "../../authentik.css";
import PFNav from "@patternfly/patternfly/components/Nav/nav.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { ROUTE_SEPARATOR } from "../../constants"; import { ROUTE_SEPARATOR } from "../../constants";
@customElement("ak-sidebar-item") @customElement("ak-sidebar-item")

View File

@ -1,12 +1,13 @@
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFNav from "@patternfly/patternfly/components/Nav/nav.css"; import { ifDefined } from "lit/directives/if-defined";
import PFAvatar from "@patternfly/patternfly/components/Avatar/avatar.css";
import { me } from "../../api/Users";
import { until } from "lit/directives/until"; import { until } from "lit/directives/until";
import PFAvatar from "@patternfly/patternfly/components/Avatar/avatar.css";
import PFNav from "@patternfly/patternfly/components/Nav/nav.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { ifDefined } from "lit/directives/if-defined"; import { me } from "../../api/Users";
@customElement("ak-sidebar-user") @customElement("ak-sidebar-user")
export class SidebarUser extends LitElement { export class SidebarUser extends LitElement {

View File

@ -1,24 +1,25 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import { property } from "lit/decorators"; import { property } from "lit/decorators";
import { AKResponse } from "../../api/Client"; import { ifDefined } from "lit/directives/if-defined";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import AKGlobal from "../../authentik.css";
import PFTable from "@patternfly/patternfly/components/Table/table.css";
import PFBullseye from "@patternfly/patternfly/layouts/Bullseye/bullseye.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFToolbar from "@patternfly/patternfly/components/Toolbar/toolbar.css";
import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css"; import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css";
import PFPagination from "@patternfly/patternfly/components/Pagination/pagination.css"; import PFPagination from "@patternfly/patternfly/components/Pagination/pagination.css";
import AKGlobal from "../../authentik.css"; import PFTable from "@patternfly/patternfly/components/Table/table.css";
import PFToolbar from "@patternfly/patternfly/components/Toolbar/toolbar.css";
import PFBullseye from "@patternfly/patternfly/layouts/Bullseye/bullseye.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import "./TablePagination"; import { AKResponse } from "../../api/Client";
import "./TableSearch"; import { EVENT_REFRESH } from "../../constants";
import "../EmptyState"; import "../EmptyState";
import "../chips/Chip"; import "../chips/Chip";
import "../chips/ChipGroup"; import "../chips/ChipGroup";
import { EVENT_REFRESH } from "../../constants"; import "./TablePagination";
import { ifDefined } from "lit/directives/if-defined"; import "./TableSearch";
export class TableColumn { export class TableColumn {
title: string; title: string;

View File

@ -1,16 +1,18 @@
import { CSSResult, LitElement } from "lit"; import { CSSResult, LitElement } from "lit";
import { property } from "lit/decorators";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { Table } from "./Table"; import { property } from "lit/decorators";
import PFModalBox from "@patternfly/patternfly/components/ModalBox/modal-box.css";
import PFBullseye from "@patternfly/patternfly/layouts/Bullseye/bullseye.css";
import PFBackdrop from "@patternfly/patternfly/components/Backdrop/backdrop.css";
import PFStack from "@patternfly/patternfly/layouts/Stack/stack.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
import AKGlobal from "../../authentik.css"; import AKGlobal from "../../authentik.css";
import PFBackdrop from "@patternfly/patternfly/components/Backdrop/backdrop.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFModalBox from "@patternfly/patternfly/components/ModalBox/modal-box.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFBullseye from "@patternfly/patternfly/layouts/Bullseye/bullseye.css";
import PFStack from "@patternfly/patternfly/layouts/Stack/stack.css";
import { PFSize } from "../Spinner"; import { PFSize } from "../Spinner";
import { MODAL_BUTTON_STYLES } from "../buttons/ModalButton"; import { MODAL_BUTTON_STYLES } from "../buttons/ModalButton";
import { Table } from "./Table";
export abstract class TableModal<T> extends Table<T> { export abstract class TableModal<T> extends Table<T> {
@property() @property()

View File

@ -1,10 +1,12 @@
import { CSSResult } from "lit"; import { CSSResult } from "lit";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { ifDefined } from "lit/directives/if-defined"; import { ifDefined } from "lit/directives/if-defined";
import { Table } from "./Table";
import "../../elements/PageHeader";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css"; import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import "../../elements/PageHeader";
import { Table } from "./Table";
export abstract class TablePage<T> extends Table<T> { export abstract class TablePage<T> extends Table<T> {
abstract pageTitle(): string; abstract pageTitle(): string;

View File

@ -1,11 +1,14 @@
import { t } from "@lingui/macro";
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { AKPagination } from "../../api/Client";
import { t } from "@lingui/macro"; import AKGlobal from "../../authentik.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFPagination from "@patternfly/patternfly/components/Pagination/pagination.css"; import PFPagination from "@patternfly/patternfly/components/Pagination/pagination.css";
import AKGlobal from "../../authentik.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import { AKPagination } from "../../api/Client";
@customElement("ak-table-pagination") @customElement("ak-table-pagination")
export class TablePagination extends LitElement { export class TablePagination extends LitElement {

View File

@ -1,13 +1,15 @@
import { t } from "@lingui/macro";
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined"; import { ifDefined } from "lit/directives/if-defined";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFToolbar from "@patternfly/patternfly/components/Toolbar/toolbar.css";
import PFInputGroup from "@patternfly/patternfly/components/InputGroup/input-group.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import AKGlobal from "../../authentik.css"; import AKGlobal from "../../authentik.css";
import { t } from "@lingui/macro"; 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") @customElement("ak-table-search")
export class TableSearch extends LitElement { export class TableSearch extends LitElement {

View File

@ -1,13 +1,15 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { AKResponse } from "../../api/Client";
import { Table, TableColumn } from "../table/Table";
import "../forms/DeleteBulkForm";
import { PAGE_SIZE } from "../../constants";
import { CoreApi, AuthenticatedSession } from "@goauthentik/api"; import { CoreApi, AuthenticatedSession } from "@goauthentik/api";
import { AKResponse } from "../../api/Client";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import { PAGE_SIZE } from "../../constants";
import "../forms/DeleteBulkForm";
import { Table, TableColumn } from "../table/Table";
@customElement("ak-user-session-list") @customElement("ak-user-session-list")
export class AuthenticatedSessionList extends Table<AuthenticatedSession> { export class AuthenticatedSessionList extends Table<AuthenticatedSession> {

View File

@ -1,13 +1,15 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { AKResponse } from "../../api/Client";
import { Table, TableColumn } from "../table/Table";
import "../forms/DeleteBulkForm";
import { PAGE_SIZE } from "../../constants";
import { CoreApi, UserConsent } from "@goauthentik/api"; import { CoreApi, UserConsent } from "@goauthentik/api";
import { AKResponse } from "../../api/Client";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import { PAGE_SIZE } from "../../constants";
import "../forms/DeleteBulkForm";
import { Table, TableColumn } from "../table/Table";
@customElement("ak-user-consent-list") @customElement("ak-user-consent-list")
export class UserConsentList extends Table<UserConsent> { export class UserConsentList extends Table<UserConsent> {

View File

@ -1,32 +1,18 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { LitElement, html, TemplateResult, CSSResult, css } from "lit"; import { LitElement, html, TemplateResult, CSSResult, css } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFBackgroundImage from "@patternfly/patternfly/components/BackgroundImage/background-image.css";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import AKGlobal from "../authentik.css";
import { unsafeHTML } from "lit/directives/unsafe-html"; import { unsafeHTML } from "lit/directives/unsafe-html";
import "../elements/LoadingOverlay"; import { until } from "lit/directives/until";
import "./access_denied/FlowAccessDenied";
import "./stages/authenticator_static/AuthenticatorStaticStage"; import AKGlobal from "../authentik.css";
import "./stages/authenticator_totp/AuthenticatorTOTPStage"; import PFBackgroundImage from "@patternfly/patternfly/components/BackgroundImage/background-image.css";
import "./stages/authenticator_duo/AuthenticatorDuoStage"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import "./stages/authenticator_validate/AuthenticatorValidateStage"; import PFList from "@patternfly/patternfly/components/List/list.css";
import "./stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage"; import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import "./stages/autosubmit/AutosubmitStage"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import "./stages/captcha/CaptchaStage"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import "./stages/consent/ConsentStage";
import "./stages/dummy/DummyStage";
import "./stages/email/EmailStage";
import "./stages/identification/IdentificationStage";
import "./stages/password/PasswordStage";
import "./stages/prompt/PromptStage";
import "./sources/plex/PlexLoginInit";
import { StageHost } from "./stages/base";
import { import {
ChallengeChoices, ChallengeChoices,
CurrentTenant, CurrentTenant,
@ -36,13 +22,30 @@ import {
RedirectChallenge, RedirectChallenge,
ShellChallenge, ShellChallenge,
} from "@goauthentik/api"; } from "@goauthentik/api";
import { DEFAULT_CONFIG, tenant } from "../api/Config"; import { DEFAULT_CONFIG, tenant } from "../api/Config";
import { until } from "lit/directives/until";
import { TITLE_DEFAULT } from "../constants";
import { configureSentry } from "../api/Sentry"; import { configureSentry } from "../api/Sentry";
import { WebsocketClient } from "../common/ws"; import { WebsocketClient } from "../common/ws";
import { first } from "../utils"; import { TITLE_DEFAULT } from "../constants";
import "../elements/LoadingOverlay";
import { DefaultTenant } from "../elements/sidebar/SidebarBrand"; import { DefaultTenant } from "../elements/sidebar/SidebarBrand";
import { first } from "../utils";
import "./access_denied/FlowAccessDenied";
import "./sources/plex/PlexLoginInit";
import "./stages/authenticator_duo/AuthenticatorDuoStage";
import "./stages/authenticator_static/AuthenticatorStaticStage";
import "./stages/authenticator_totp/AuthenticatorTOTPStage";
import "./stages/authenticator_validate/AuthenticatorValidateStage";
import "./stages/authenticator_webauthn/WebAuthnAuthenticatorRegisterStage";
import "./stages/autosubmit/AutosubmitStage";
import { StageHost } from "./stages/base";
import "./stages/captcha/CaptchaStage";
import "./stages/consent/ConsentStage";
import "./stages/dummy/DummyStage";
import "./stages/email/EmailStage";
import "./stages/identification/IdentificationStage";
import "./stages/password/PasswordStage";
import "./stages/prompt/PromptStage";
@customElement("ak-flow-executor") @customElement("ak-flow-executor")
export class FlowExecutor extends LitElement implements StageHost { export class FlowExecutor extends LitElement implements StageHost {

View File

@ -1,9 +1,11 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFAvatar from "@patternfly/patternfly/components/Avatar/avatar.css";
import { ifDefined } from "lit/directives/if-defined"; import { ifDefined } from "lit/directives/if-defined";
import PFAvatar from "@patternfly/patternfly/components/Avatar/avatar.css";
@customElement("ak-form-static") @customElement("ak-form-static")
export class FormStatic extends LitElement { export class FormStatic extends LitElement {
@property() @property()

View File

@ -1,17 +1,20 @@
import { AccessDeniedChallenge, FlowChallengeResponseRequest } from "@goauthentik/api"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { BaseStage } from "../stages/base";
import AKGlobal from "../../authentik.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFList from "@patternfly/patternfly/components/List/list.css"; import { AccessDeniedChallenge, FlowChallengeResponseRequest } from "@goauthentik/api";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import AKGlobal from "../../authentik.css";
import { t } from "@lingui/macro";
import "../../elements/EmptyState"; import "../../elements/EmptyState";
import { BaseStage } from "../stages/base";
@customElement("ak-stage-access-denied") @customElement("ak-stage-access-denied")
export class FlowAccessDenied extends BaseStage< export class FlowAccessDenied extends BaseStage<

View File

@ -1,24 +1,28 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult } from "lit";
import { html, TemplateResult } from "lit";
import { customElement } from "lit/decorators";
import AKGlobal from "../../../authentik.css";
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 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";
import { import {
PlexAuthenticationChallenge, PlexAuthenticationChallenge,
PlexAuthenticationChallengeResponseRequest, PlexAuthenticationChallengeResponseRequest,
} from "@goauthentik/api"; } from "@goauthentik/api";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import { SourcesApi } from "@goauthentik/api";
import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import { DEFAULT_CONFIG } from "../../../api/Config";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import { MessageLevel } from "../../../elements/messages/Message";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import { showMessage } from "../../../elements/messages/MessageContainer";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { CSSResult } from "lit";
import { customElement } from "lit/decorators";
import { html, TemplateResult } from "lit";
import { BaseStage } from "../../stages/base"; import { BaseStage } from "../../stages/base";
import { PlexAPIClient, popupCenterScreen } from "./API"; import { PlexAPIClient, popupCenterScreen } from "./API";
import { DEFAULT_CONFIG } from "../../../api/Config";
import { SourcesApi } from "@goauthentik/api";
import { showMessage } from "../../../elements/messages/MessageContainer";
import { MessageLevel } from "../../../elements/messages/Message";
@customElement("ak-flow-sources-plex") @customElement("ak-flow-sources-plex")
export class PlexLoginInit extends BaseStage< export class PlexLoginInit extends BaseStage<

View File

@ -1,24 +1,28 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import { ifDefined } from "lit/directives/if-defined";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base";
import "../../../elements/forms/FormElement";
import "../../../elements/EmptyState";
import "../../FormStatic";
import { import {
AuthenticatorDuoChallenge, AuthenticatorDuoChallenge,
AuthenticatorDuoChallengeResponseRequest, AuthenticatorDuoChallengeResponseRequest,
StagesApi, StagesApi,
} from "@goauthentik/api"; } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config"; import { DEFAULT_CONFIG } from "../../../api/Config";
import { ifDefined } from "lit/directives/if-defined"; import "../../../elements/EmptyState";
import "../../../elements/forms/FormElement";
import "../../FormStatic";
import { BaseStage } from "../base";
@customElement("ak-stage-authenticator-duo") @customElement("ak-stage-authenticator-duo")
export class AuthenticatorDuoStage extends BaseStage< export class AuthenticatorDuoStage extends BaseStage<

View File

@ -1,22 +1,26 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { css, CSSResult, html, TemplateResult } from "lit"; import { css, CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import { ifDefined } from "lit/directives/if-defined";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base";
import "../../../elements/forms/FormElement";
import "../../../elements/EmptyState";
import "../../FormStatic";
import { import {
AuthenticatorStaticChallenge, AuthenticatorStaticChallenge,
AuthenticatorStaticChallengeResponseRequest, AuthenticatorStaticChallengeResponseRequest,
} from "@goauthentik/api"; } from "@goauthentik/api";
import { ifDefined } from "lit/directives/if-defined";
import "../../../elements/EmptyState";
import "../../../elements/forms/FormElement";
import "../../FormStatic";
import { BaseStage } from "../base";
export const STATIC_TOKEN_STYLE = css` export const STATIC_TOKEN_STYLE = css`
/* Static OTP Tokens */ /* Static OTP Tokens */

View File

@ -1,26 +1,30 @@
import "webcomponent-qr-code";
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base";
import "webcomponent-qr-code";
import "../../../elements/forms/FormElement";
import { showMessage } from "../../../elements/messages/MessageContainer";
import "../../../elements/EmptyState";
import "../../FormStatic";
import { MessageLevel } from "../../../elements/messages/Message";
import { import {
AuthenticatorTOTPChallenge, AuthenticatorTOTPChallenge,
AuthenticatorTOTPChallengeResponseRequest, AuthenticatorTOTPChallengeResponseRequest,
} from "@goauthentik/api"; } from "@goauthentik/api";
import { ifDefined } from "lit/directives/if-defined";
import "../../../elements/EmptyState";
import "../../../elements/forms/FormElement";
import { MessageLevel } from "../../../elements/messages/Message";
import { showMessage } from "../../../elements/messages/MessageContainer";
import "../../FormStatic";
import { BaseStage } from "../base";
@customElement("ak-stage-authenticator-totp") @customElement("ak-stage-authenticator-totp")
export class AuthenticatorTOTPStage extends BaseStage< export class AuthenticatorTOTPStage extends BaseStage<

View File

@ -1,24 +1,28 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { css, CSSResult, html, TemplateResult } from "lit"; import { css, CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage, StageHost } from "../base";
import "./AuthenticatorValidateStageWebAuthn";
import "./AuthenticatorValidateStageCode";
import "./AuthenticatorValidateStageDuo";
import { PasswordManagerPrefill } from "../identification/IdentificationStage";
import { import {
AuthenticatorValidationChallenge, AuthenticatorValidationChallenge,
AuthenticatorValidationChallengeResponseRequest, AuthenticatorValidationChallengeResponseRequest,
DeviceChallenge, DeviceChallenge,
} from "@goauthentik/api"; } from "@goauthentik/api";
import { BaseStage, StageHost } from "../base";
import { PasswordManagerPrefill } from "../identification/IdentificationStage";
import "./AuthenticatorValidateStageCode";
import "./AuthenticatorValidateStageDuo";
import "./AuthenticatorValidateStageWebAuthn";
export enum DeviceClasses { export enum DeviceClasses {
STATIC = "static", STATIC = "static",
TOTP = "totp", TOTP = "totp",

View File

@ -1,25 +1,29 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import { ifDefined } from "lit/directives/if-defined";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base";
import { AuthenticatorValidateStage } from "./AuthenticatorValidateStage";
import "../../../elements/forms/FormElement";
import "../../../elements/EmptyState";
import { PasswordManagerPrefill } from "../identification/IdentificationStage";
import "../../FormStatic";
import { import {
AuthenticatorValidationChallenge, AuthenticatorValidationChallenge,
AuthenticatorValidationChallengeResponseRequest, AuthenticatorValidationChallengeResponseRequest,
DeviceChallenge, DeviceChallenge,
} from "@goauthentik/api"; } from "@goauthentik/api";
import { ifDefined } from "lit/directives/if-defined";
import "../../../elements/EmptyState";
import "../../../elements/forms/FormElement";
import "../../FormStatic";
import { BaseStage } from "../base";
import { PasswordManagerPrefill } from "../identification/IdentificationStage";
import { AuthenticatorValidateStage } from "./AuthenticatorValidateStage";
@customElement("ak-stage-authenticator-validate-code") @customElement("ak-stage-authenticator-validate-code")
export class AuthenticatorValidateStageWebCode extends BaseStage< export class AuthenticatorValidateStageWebCode extends BaseStage<

View File

@ -1,24 +1,28 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import { ifDefined } from "lit/directives/if-defined";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base";
import { AuthenticatorValidateStage } from "./AuthenticatorValidateStage";
import "../../../elements/forms/FormElement";
import "../../../elements/EmptyState";
import "../../FormStatic";
import { import {
AuthenticatorValidationChallenge, AuthenticatorValidationChallenge,
AuthenticatorValidationChallengeResponseRequest, AuthenticatorValidationChallengeResponseRequest,
DeviceChallenge, DeviceChallenge,
} from "@goauthentik/api"; } from "@goauthentik/api";
import { ifDefined } from "lit/directives/if-defined";
import "../../../elements/EmptyState";
import "../../../elements/forms/FormElement";
import "../../FormStatic";
import { BaseStage } from "../base";
import { AuthenticatorValidateStage } from "./AuthenticatorValidateStage";
@customElement("ak-stage-authenticator-validate-duo") @customElement("ak-stage-authenticator-validate-duo")
export class AuthenticatorValidateStageWebDuo extends BaseStage< export class AuthenticatorValidateStageWebDuo extends BaseStage<

View File

@ -1,13 +1,22 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import {
AuthenticatorValidationChallenge,
AuthenticatorValidationChallengeResponseRequest,
DeviceChallenge,
} from "@goauthentik/api";
import { PFSize } from "../../../elements/Spinner"; import { PFSize } from "../../../elements/Spinner";
import { import {
transformAssertionForServer, transformAssertionForServer,
@ -15,11 +24,6 @@ import {
} from "../authenticator_webauthn/utils"; } from "../authenticator_webauthn/utils";
import { BaseStage } from "../base"; import { BaseStage } from "../base";
import { AuthenticatorValidateStage } from "./AuthenticatorValidateStage"; import { AuthenticatorValidateStage } from "./AuthenticatorValidateStage";
import {
AuthenticatorValidationChallenge,
AuthenticatorValidationChallengeResponseRequest,
DeviceChallenge,
} from "@goauthentik/api";
@customElement("ak-stage-authenticator-validate-webauthn") @customElement("ak-stage-authenticator-validate-webauthn")
export class AuthenticatorValidateStageWebAuthn extends BaseStage< export class AuthenticatorValidateStageWebAuthn extends BaseStage<
@ -45,9 +49,8 @@ export class AuthenticatorValidateStageWebAuthn extends BaseStage<
async authenticate(): Promise<void> { async authenticate(): Promise<void> {
// convert certain members of the PublicKeyCredentialRequestOptions into // convert certain members of the PublicKeyCredentialRequestOptions into
// byte arrays as expected by the spec. // byte arrays as expected by the spec.
const credentialRequestOptions = <PublicKeyCredentialRequestOptions>( const credentialRequestOptions = this.deviceChallenge
this.deviceChallenge?.challenge ?.challenge as PublicKeyCredentialRequestOptions;
);
const transformedCredentialRequestOptions = const transformedCredentialRequestOptions =
transformCredentialRequestOptions(credentialRequestOptions); transformCredentialRequestOptions(credentialRequestOptions);
@ -68,7 +71,7 @@ export class AuthenticatorValidateStageWebAuthn extends BaseStage<
// we now have an authentication assertion! encode the byte arrays contained // we now have an authentication assertion! encode the byte arrays contained
// in the assertion data as strings for posting to the server // in the assertion data as strings for posting to the server
const transformedAssertionForServer = transformAssertionForServer( const transformedAssertionForServer = transformAssertionForServer(
<PublicKeyCredential>assertion, assertion as PublicKeyCredential,
); );
// post the assertion to the server for verification. // post the assertion to the server for verification.

View File

@ -1,13 +1,21 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import {
AuthenticatorWebAuthnChallenge,
AuthenticatorWebAuthnChallengeResponseRequest,
} from "@goauthentik/api";
import { PFSize } from "../../../elements/Spinner"; import { PFSize } from "../../../elements/Spinner";
import { BaseStage } from "../base"; import { BaseStage } from "../base";
import { import {
@ -15,10 +23,6 @@ import {
transformCredentialCreateOptions, transformCredentialCreateOptions,
transformNewAssertionForServer, transformNewAssertionForServer,
} from "./utils"; } from "./utils";
import {
AuthenticatorWebAuthnChallenge,
AuthenticatorWebAuthnChallengeResponseRequest,
} from "@goauthentik/api";
export interface WebAuthnAuthenticatorRegisterChallengeResponse { export interface WebAuthnAuthenticatorRegisterChallengeResponse {
response: Assertion; response: Assertion;
@ -52,9 +56,9 @@ export class WebAuthnAuthenticatorRegisterStage extends BaseStage<
// request the authenticator(s) to create a new credential keypair. // request the authenticator(s) to create a new credential keypair.
let credential; let credential;
try { try {
credential = <PublicKeyCredential>await navigator.credentials.create({ credential = (await navigator.credentials.create({
publicKey: publicKeyCredentialCreateOptions, publicKey: publicKeyCredentialCreateOptions,
}); })) as PublicKeyCredential;
if (!credential) { if (!credential) {
throw new Error("Credential is empty"); throw new Error("Credential is empty");
} }

View File

@ -1,4 +1,5 @@
import * as base64js from "base64-js"; import * as base64js from "base64-js";
import { hexEncode } from "../../../utils"; import { hexEncode } from "../../../utils";
export function b64enc(buf: Uint8Array): string { export function b64enc(buf: Uint8Array): string {
@ -44,7 +45,7 @@ export interface Assertion {
*/ */
export function transformNewAssertionForServer(newAssertion: PublicKeyCredential): Assertion { export function transformNewAssertionForServer(newAssertion: PublicKeyCredential): Assertion {
const attObj = new Uint8Array( const attObj = new Uint8Array(
(<AuthenticatorAttestationResponse>newAssertion.response).attestationObject, (newAssertion.response as AuthenticatorAttestationResponse).attestationObject,
); );
const clientDataJSON = new Uint8Array(newAssertion.response.clientDataJSON); const clientDataJSON = new Uint8Array(newAssertion.response.clientDataJSON);
const rawId = new Uint8Array(newAssertion.rawId); const rawId = new Uint8Array(newAssertion.rawId);
@ -101,7 +102,7 @@ export interface AuthAssertion {
* @param {PublicKeyCredential} newAssertion * @param {PublicKeyCredential} newAssertion
*/ */
export function transformAssertionForServer(newAssertion: PublicKeyCredential): AuthAssertion { export function transformAssertionForServer(newAssertion: PublicKeyCredential): AuthAssertion {
const response = <AuthenticatorAssertionResponse>newAssertion.response; const response = newAssertion.response as AuthenticatorAssertionResponse;
const authData = new Uint8Array(response.authenticatorData); const authData = new Uint8Array(response.authenticatorData);
const clientDataJSON = new Uint8Array(response.clientDataJSON); const clientDataJSON = new Uint8Array(response.clientDataJSON);
const rawId = new Uint8Array(newAssertion.rawId); const rawId = new Uint8Array(newAssertion.rawId);

View File

@ -1,17 +1,21 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base";
import "../../../elements/EmptyState";
import { AutosubmitChallenge, AutoSubmitChallengeResponseRequest } from "@goauthentik/api"; import { AutosubmitChallenge, AutoSubmitChallengeResponseRequest } from "@goauthentik/api";
import "../../../elements/EmptyState";
import { BaseStage } from "../base";
@customElement("ak-stage-autosubmit") @customElement("ak-stage-autosubmit")
export class AutosubmitStage extends BaseStage< export class AutosubmitStage extends BaseStage<
AutosubmitChallenge, AutosubmitChallenge,

View File

@ -1,7 +1,8 @@
import { ErrorDetail } from "@goauthentik/api";
import { html, LitElement, TemplateResult } from "lit"; import { html, LitElement, TemplateResult } from "lit";
import { property } from "lit/decorators"; import { property } from "lit/decorators";
import { ErrorDetail } from "@goauthentik/api";
export interface StageHost { export interface StageHost {
challenge?: unknown; challenge?: unknown;
submit(payload: unknown): Promise<void>; submit(payload: unknown): Promise<void>;

View File

@ -1,20 +1,24 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import { ifDefined } from "lit/directives/if-defined";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { PFSize } from "../../../elements/Spinner";
import { BaseStage } from "../base";
import "../../../elements/forms/FormElement";
import "../../../elements/EmptyState";
import "../../FormStatic";
import { CaptchaChallenge, CaptchaChallengeResponseRequest } from "@goauthentik/api"; import { CaptchaChallenge, CaptchaChallengeResponseRequest } from "@goauthentik/api";
import { ifDefined } from "lit/directives/if-defined";
import "../../../elements/EmptyState";
import { PFSize } from "../../../elements/Spinner";
import "../../../elements/forms/FormElement";
import "../../FormStatic";
import { BaseStage } from "../base";
@customElement("ak-stage-captcha") @customElement("ak-stage-captcha")
export class CaptchaStage extends BaseStage<CaptchaChallenge, CaptchaChallengeResponseRequest> { export class CaptchaStage extends BaseStage<CaptchaChallenge, CaptchaChallengeResponseRequest> {

View File

@ -1,20 +1,24 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import { ifDefined } from "lit/directives/if-defined";
import PFList from "@patternfly/patternfly/components/List/list.css";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFList from "@patternfly/patternfly/components/List/list.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFSpacing from "@patternfly/patternfly/utilities/Spacing/spacing.css"; import PFSpacing from "@patternfly/patternfly/utilities/Spacing/spacing.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base"; import { ConsentChallenge, ConsentChallengeResponseRequest } from "@goauthentik/api";
import "../../../elements/EmptyState"; import "../../../elements/EmptyState";
import "../../FormStatic"; import "../../FormStatic";
import { ConsentChallenge, ConsentChallengeResponseRequest } from "@goauthentik/api"; import { BaseStage } from "../base";
import { ifDefined } from "lit/directives/if-defined";
@customElement("ak-stage-consent") @customElement("ak-stage-consent")
export class ConsentStage extends BaseStage<ConsentChallenge, ConsentChallengeResponseRequest> { export class ConsentStage extends BaseStage<ConsentChallenge, ConsentChallengeResponseRequest> {

View File

@ -1,17 +1,21 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base"; import { DummyChallenge, DummyChallengeResponseRequest } from "@goauthentik/api";
import "../../../elements/EmptyState"; import "../../../elements/EmptyState";
import "../../FormStatic"; import "../../FormStatic";
import { DummyChallenge, DummyChallengeResponseRequest } from "@goauthentik/api"; import { BaseStage } from "../base";
@customElement("ak-stage-dummy") @customElement("ak-stage-dummy")
export class DummyStage extends BaseStage<DummyChallenge, DummyChallengeResponseRequest> { export class DummyStage extends BaseStage<DummyChallenge, DummyChallengeResponseRequest> {

View File

@ -1,17 +1,21 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base";
import "../../../elements/EmptyState";
import { EmailChallenge, EmailChallengeResponseRequest } from "@goauthentik/api"; import { EmailChallenge, EmailChallengeResponseRequest } from "@goauthentik/api";
import "../../../elements/EmptyState";
import { BaseStage } from "../base";
@customElement("ak-stage-email") @customElement("ak-stage-email")
export class EmailStage extends BaseStage<EmailChallenge, EmailChallengeResponseRequest> { export class EmailStage extends BaseStage<EmailChallenge, EmailChallengeResponseRequest> {
static get styles(): CSSResult[] { static get styles(): CSSResult[] {

View File

@ -1,17 +1,17 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { css, CSSResult, html, TemplateResult } from "lit"; import { css, CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { BaseStage } from "../base";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import AKGlobal from "../../../authentik.css";
import PFAlert from "@patternfly/patternfly/components/Alert/alert.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFAlert from "@patternfly/patternfly/components/Alert/alert.css";
import AKGlobal from "../../../authentik.css";
import "../../../elements/forms/FormElement";
import "../../../elements/EmptyState";
import { import {
IdentificationChallenge, IdentificationChallenge,
IdentificationChallengeResponseRequest, IdentificationChallengeResponseRequest,
@ -19,6 +19,10 @@ import {
UserFieldsEnum, UserFieldsEnum,
} from "@goauthentik/api"; } from "@goauthentik/api";
import "../../../elements/EmptyState";
import "../../../elements/forms/FormElement";
import { BaseStage } from "../base";
export const PasswordManagerPrefill: { export const PasswordManagerPrefill: {
password: string | undefined; password: string | undefined;
totp: string | undefined; totp: string | undefined;

View File

@ -1,20 +1,24 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import PFLogin from "@patternfly/patternfly/components/Login/login.css"; import { ifDefined } from "lit/directives/if-defined";
import AKGlobal from "../../../authentik.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base";
import "../../../elements/forms/FormElement";
import "../../../elements/EmptyState";
import { PasswordManagerPrefill } from "../identification/IdentificationStage";
import "../../FormStatic";
import { PasswordChallenge, PasswordChallengeResponseRequest } from "@goauthentik/api"; import { PasswordChallenge, PasswordChallengeResponseRequest } from "@goauthentik/api";
import { ifDefined } from "lit/directives/if-defined";
import "../../../elements/EmptyState";
import "../../../elements/forms/FormElement";
import "../../FormStatic";
import { BaseStage } from "../base";
import { PasswordManagerPrefill } from "../identification/IdentificationStage";
@customElement("ak-stage-password") @customElement("ak-stage-password")
export class PasswordStage extends BaseStage<PasswordChallenge, PasswordChallengeResponseRequest> { export class PasswordStage extends BaseStage<PasswordChallenge, PasswordChallengeResponseRequest> {

View File

@ -1,21 +1,25 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, TemplateResult } from "lit"; import { CSSResult, html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { unsafeHTML } from "lit/directives/unsafe-html"; import { unsafeHTML } from "lit/directives/unsafe-html";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import AKGlobal from "../../../authentik.css";
import PFAlert from "@patternfly/patternfly/components/Alert/alert.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFForm from "@patternfly/patternfly/components/Form/form.css"; import PFForm from "@patternfly/patternfly/components/Form/form.css";
import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css"; import PFFormControl from "@patternfly/patternfly/components/FormControl/form-control.css";
import PFLogin from "@patternfly/patternfly/components/Login/login.css";
import PFTitle from "@patternfly/patternfly/components/Title/title.css"; import PFTitle from "@patternfly/patternfly/components/Title/title.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css"; import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFAlert from "@patternfly/patternfly/components/Alert/alert.css";
import AKGlobal from "../../../authentik.css";
import { BaseStage } from "../base";
import "../../../elements/forms/FormElement";
import "../../../elements/EmptyState";
import "../../../elements/Divider";
import { PromptChallenge, PromptChallengeResponseRequest, StagePrompt } from "@goauthentik/api"; import { PromptChallenge, PromptChallengeResponseRequest, StagePrompt } from "@goauthentik/api";
import "../../../elements/Divider";
import "../../../elements/EmptyState";
import "../../../elements/forms/FormElement";
import { BaseStage } from "../base";
@customElement("ak-stage-prompt") @customElement("ak-stage-prompt")
export class PromptStage extends BaseStage<PromptChallenge, PromptChallengeResponseRequest> { export class PromptStage extends BaseStage<PromptChallenge, PromptChallengeResponseRequest> {
static get styles(): CSSResult[] { static get styles(): CSSResult[] {

View File

@ -1,32 +1,35 @@
import "../elements/messages/MessageContainer"; import { t } from "@lingui/macro";
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { me } from "../api/Users"; import { until } from "lit/directives/until";
import { ID_REGEX, SLUG_REGEX, UUID_REGEX } from "../elements/router/Route";
import "./locale"; import AKGlobal from "../authentik.css";
import "../elements/sidebar/SidebarItem";
import { t } from "@lingui/macro";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFDrawer from "@patternfly/patternfly/components/Drawer/drawer.css"; import PFDrawer from "@patternfly/patternfly/components/Drawer/drawer.css";
import AKGlobal from "../authentik.css"; import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import "../elements/router/RouterOutlet"; import { AdminApi, Version } from "@goauthentik/api";
import "../elements/messages/MessageContainer";
import "../elements/notifications/NotificationDrawer"; import { DEFAULT_CONFIG } from "../api/Config";
import "../elements/sidebar/Sidebar"; import { me } from "../api/Users";
import { until } from "lit/directives/until"; import { WebsocketClient } from "../common/ws";
import { import {
EVENT_API_DRAWER_TOGGLE, EVENT_API_DRAWER_TOGGLE,
EVENT_NOTIFICATION_DRAWER_TOGGLE, EVENT_NOTIFICATION_DRAWER_TOGGLE,
EVENT_SIDEBAR_TOGGLE, EVENT_SIDEBAR_TOGGLE,
VERSION, VERSION,
} from "../constants"; } from "../constants";
import { AdminApi, Version } from "@goauthentik/api"; import "../elements/messages/MessageContainer";
import { DEFAULT_CONFIG } from "../api/Config"; import "../elements/messages/MessageContainer";
import { WebsocketClient } from "../common/ws"; import "../elements/notifications/NotificationDrawer";
import { ID_REGEX, SLUG_REGEX, UUID_REGEX } from "../elements/router/Route";
import "../elements/router/RouterOutlet";
import "../elements/sidebar/Sidebar";
import "../elements/sidebar/SidebarItem";
import { ROUTES } from "../routesAdmin"; import { ROUTES } from "../routesAdmin";
import "./locale";
@customElement("ak-interface-admin") @customElement("ak-interface-admin")
export class AdminInterface extends LitElement { export class AdminInterface extends LitElement {

View File

@ -1,3 +1,3 @@
import "./locale";
import "../elements/messages/MessageContainer"; import "../elements/messages/MessageContainer";
import "../flows/FlowExecutor"; import "../flows/FlowExecutor";
import "./locale";

View File

@ -1,37 +1,40 @@
import "../elements/messages/MessageContainer"; import { t } from "@lingui/macro";
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { me } from "../api/Users"; import { until } from "lit/directives/until";
import "./locale";
import "../elements/sidebar/SidebarItem"; import AKGlobal from "../authentik.css";
import { t } from "@lingui/macro"; import PFAvatar from "@patternfly/patternfly/components/Avatar/avatar.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFBrand from "@patternfly/patternfly/components/Brand/brand.css"; import PFBrand from "@patternfly/patternfly/components/Brand/brand.css";
import PFButton from "@patternfly/patternfly/components/Button/button.css"; import PFButton from "@patternfly/patternfly/components/Button/button.css";
import PFDrawer from "@patternfly/patternfly/components/Drawer/drawer.css"; import PFDrawer from "@patternfly/patternfly/components/Drawer/drawer.css";
import PFAvatar from "@patternfly/patternfly/components/Avatar/avatar.css";
import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css"; import PFDropdown from "@patternfly/patternfly/components/Dropdown/dropdown.css";
import PFNotificationBadge from "@patternfly/patternfly/components/NotificationBadge/notification-badge.css"; import PFNotificationBadge from "@patternfly/patternfly/components/NotificationBadge/notification-badge.css";
import AKGlobal from "../authentik.css"; import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFBase from "@patternfly/patternfly/patternfly-base.css";
import "../elements/router/RouterOutlet"; import { CurrentTenant, EventsApi } from "@goauthentik/api";
import "../elements/messages/MessageContainer";
import "../elements/notifications/NotificationDrawer"; import { DEFAULT_CONFIG, tenant } from "../api/Config";
import "../elements/sidebar/Sidebar"; import { me } from "../api/Users";
import { WebsocketClient } from "../common/ws";
import { import {
EVENT_API_DRAWER_TOGGLE, EVENT_API_DRAWER_TOGGLE,
EVENT_NOTIFICATION_DRAWER_TOGGLE, EVENT_NOTIFICATION_DRAWER_TOGGLE,
EVENT_REFRESH, EVENT_REFRESH,
} from "../constants"; } from "../constants";
import { CurrentTenant, EventsApi } from "@goauthentik/api"; import "../elements/messages/MessageContainer";
import { DEFAULT_CONFIG, tenant } from "../api/Config"; import "../elements/messages/MessageContainer";
import { WebsocketClient } from "../common/ws"; import "../elements/notifications/NotificationDrawer";
import { ROUTES } from "../routesUser"; import "../elements/router/RouterOutlet";
import { first } from "../utils"; import "../elements/sidebar/Sidebar";
import { DefaultTenant } from "../elements/sidebar/SidebarBrand"; import { DefaultTenant } from "../elements/sidebar/SidebarBrand";
import { until } from "lit/directives/until"; import "../elements/sidebar/SidebarItem";
import { ROUTES } from "../routesUser";
import { uiConfig } from "../user/config"; import { uiConfig } from "../user/config";
import { first } from "../utils";
import "./locale";
@customElement("ak-interface-user") @customElement("ak-interface-user")
export class UserInterface extends LitElement { export class UserInterface extends LitElement {

View File

@ -1,5 +1,7 @@
import { i18n } from "@lingui/core";
import { en } from "make-plural/plurals"; import { en } from "make-plural/plurals";
import { i18n } from "@lingui/core";
import { messages as localeEN } from "../locales/en"; import { messages as localeEN } from "../locales/en";
import { messages as localeDEBUG } from "../locales/pseudo-LOCALE"; import { messages as localeDEBUG } from "../locales/pseudo-LOCALE";

View File

@ -1,29 +1,28 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { css, CSSResult, html, LitElement, TemplateResult } from "lit"; import { css, CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import "../../elements/charts/AdminLoginsChart"; import AKGlobal from "../../authentik.css";
import "../../elements/cards/AggregatePromiseCard"; import PFContent from "@patternfly/patternfly/components/Content/content.css";
import "./TopApplicationsTable"; import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import "../../elements/PageHeader";
import "../../elements/cards/AggregatePromiseCard";
import "../../elements/charts/AdminLoginsChart";
import "./TopApplicationsTable";
import "./cards/AdminStatusCard"; import "./cards/AdminStatusCard";
import "./cards/BackupStatusCard"; import "./cards/BackupStatusCard";
import "./cards/SystemStatusCard";
import "./cards/VersionStatusCard"; import "./cards/VersionStatusCard";
import "./cards/WorkerStatusCard"; import "./cards/WorkerStatusCard";
import "./cards/SystemStatusCard";
import "./charts/FlowStatusChart"; import "./charts/FlowStatusChart";
import "./charts/GroupCountStatusChart";
import "./charts/LDAPSyncStatusChart"; import "./charts/LDAPSyncStatusChart";
import "./charts/OutpostStatusChart"; import "./charts/OutpostStatusChart";
import "./charts/UserCountStatusChart";
import "./charts/GroupCountStatusChart";
import "./charts/PolicyStatusChart"; import "./charts/PolicyStatusChart";
import "./charts/UserCountStatusChart";
import PFPage from "@patternfly/patternfly/components/Page/page.css";
import PFContent from "@patternfly/patternfly/components/Content/content.css";
import PFGrid from "@patternfly/patternfly/layouts/Grid/grid.css";
import AKGlobal from "../../authentik.css";
import "../../elements/PageHeader";
@customElement("ak-admin-overview") @customElement("ak-admin-overview")
export class AdminOverviewPage extends LitElement { export class AdminOverviewPage extends LitElement {

View File

@ -1,12 +1,15 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { CSSResult, html, LitElement, TemplateResult } from "lit"; import { CSSResult, html, LitElement, TemplateResult } from "lit";
import { customElement, property } from "lit/decorators"; import { customElement, property } from "lit/decorators";
import { EventsApi, EventTopPerUser } from "@goauthentik/api";
import PFTable from "@patternfly/patternfly/components/Table/table.css";
import AKGlobal from "../../authentik.css";
import "../../elements/Spinner"; import AKGlobal from "../../authentik.css";
import PFTable from "@patternfly/patternfly/components/Table/table.css";
import { EventsApi, EventTopPerUser } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../api/Config"; import { DEFAULT_CONFIG } from "../../api/Config";
import "../../elements/Spinner";
@customElement("ak-top-applications-table") @customElement("ak-top-applications-table")
export class TopApplicationsTable extends LitElement { export class TopApplicationsTable extends LitElement {

View File

@ -1,8 +1,9 @@
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { until } from "lit/directives/until"; import { until } from "lit/directives/until";
import { EVENT_REFRESH } from "../../../constants"; import { EVENT_REFRESH } from "../../../constants";
import { AggregateCard } from "../../../elements/cards/AggregateCard";
import { PFSize } from "../../../elements/Spinner"; import { PFSize } from "../../../elements/Spinner";
import { AggregateCard } from "../../../elements/cards/AggregateCard";
export interface AdminStatus { export interface AdminStatus {
icon: string; icon: string;

View File

@ -1,10 +1,13 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { AdminStatus, AdminStatusCard } from "./AdminStatusCard";
import { AdminApi, StatusEnum, CapabilitiesEnum } from "@goauthentik/api"; import { AdminApi, StatusEnum, CapabilitiesEnum } from "@goauthentik/api";
import { config, DEFAULT_CONFIG } from "../../../api/Config"; import { config, DEFAULT_CONFIG } from "../../../api/Config";
import { convertToTitle } from "../../../utils"; import { convertToTitle } from "../../../utils";
import { AdminStatus, AdminStatusCard } from "./AdminStatusCard";
@customElement("ak-admin-status-card-backup") @customElement("ak-admin-status-card-backup")
export class BackupStatusCard extends AdminStatusCard<StatusEnum> { export class BackupStatusCard extends AdminStatusCard<StatusEnum> {

View File

@ -1,7 +1,10 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { AdminApi, System } from "@goauthentik/api"; import { AdminApi, System } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config"; import { DEFAULT_CONFIG } from "../../../api/Config";
import { AdminStatusCard, AdminStatus } from "./AdminStatusCard"; import { AdminStatusCard, AdminStatus } from "./AdminStatusCard";

View File

@ -1,7 +1,10 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html, TemplateResult } from "lit"; import { html, TemplateResult } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { AdminApi, Version } from "@goauthentik/api"; import { AdminApi, Version } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config"; import { DEFAULT_CONFIG } from "../../../api/Config";
import { AdminStatusCard, AdminStatus } from "./AdminStatusCard"; import { AdminStatusCard, AdminStatus } from "./AdminStatusCard";

View File

@ -1,7 +1,10 @@
import { t } from "@lingui/macro"; import { t } from "@lingui/macro";
import { html } from "lit"; import { html } from "lit";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { AdminApi } from "@goauthentik/api"; import { AdminApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config"; import { DEFAULT_CONFIG } from "../../../api/Config";
import { AdminStatus, AdminStatusCard } from "./AdminStatusCard"; import { AdminStatus, AdminStatusCard } from "./AdminStatusCard";

View File

@ -1,11 +1,15 @@
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators";
import { FlowsApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config";
import "../../../elements/forms/ConfirmationForm";
import { AKChart } from "../../../elements/charts/Chart";
import { ChartData, ChartOptions } from "chart.js"; import { ChartData, ChartOptions } from "chart.js";
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators";
import { FlowsApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config";
import { AKChart } from "../../../elements/charts/Chart";
import "../../../elements/forms/ConfirmationForm";
interface FlowMetrics { interface FlowMetrics {
count: number; count: number;
cached: number; cached: number;

View File

@ -1,9 +1,13 @@
import { ChartOptions, ChartData } from "chart.js";
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { CoreApi } from "@goauthentik/api"; import { CoreApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config"; import { DEFAULT_CONFIG } from "../../../api/Config";
import { AKChart } from "../../../elements/charts/Chart"; import { AKChart } from "../../../elements/charts/Chart";
import { t } from "@lingui/macro";
import { ChartOptions, ChartData } from "chart.js";
interface GroupMetrics { interface GroupMetrics {
count: number; count: number;

View File

@ -1,11 +1,15 @@
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators";
import { SourcesApi, StatusEnum } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config";
import "../../../elements/forms/ConfirmationForm";
import { AKChart } from "../../../elements/charts/Chart";
import { ChartOptions, ChartData } from "chart.js"; import { ChartOptions, ChartData } from "chart.js";
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators";
import { SourcesApi, StatusEnum } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config";
import { AKChart } from "../../../elements/charts/Chart";
import "../../../elements/forms/ConfirmationForm";
interface LDAPSyncStats { interface LDAPSyncStats {
healthy: number; healthy: number;
failed: number; failed: number;

View File

@ -1,11 +1,15 @@
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators";
import { OutpostsApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config";
import "../../../elements/forms/ConfirmationForm";
import { AKChart } from "../../../elements/charts/Chart";
import { ChartOptions, ChartData } from "chart.js"; import { ChartOptions, ChartData } from "chart.js";
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators";
import { OutpostsApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config";
import { AKChart } from "../../../elements/charts/Chart";
import "../../../elements/forms/ConfirmationForm";
interface OutpostStats { interface OutpostStats {
healthy: number; healthy: number;
outdated: number; outdated: number;

View File

@ -1,11 +1,15 @@
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators";
import { PoliciesApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config";
import "../../../elements/forms/ConfirmationForm";
import { AKChart } from "../../../elements/charts/Chart";
import { ChartData, ChartOptions } from "chart.js"; import { ChartData, ChartOptions } from "chart.js";
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators";
import { PoliciesApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config";
import { AKChart } from "../../../elements/charts/Chart";
import "../../../elements/forms/ConfirmationForm";
interface PolicyMetrics { interface PolicyMetrics {
count: number; count: number;
cached: number; cached: number;

View File

@ -1,9 +1,13 @@
import { ChartOptions, ChartData } from "chart.js";
import { t } from "@lingui/macro";
import { customElement } from "lit/decorators"; import { customElement } from "lit/decorators";
import { CoreApi } from "@goauthentik/api"; import { CoreApi } from "@goauthentik/api";
import { DEFAULT_CONFIG } from "../../../api/Config"; import { DEFAULT_CONFIG } from "../../../api/Config";
import { AKChart } from "../../../elements/charts/Chart"; import { AKChart } from "../../../elements/charts/Chart";
import { t } from "@lingui/macro";
import { ChartOptions, ChartData } from "chart.js";
interface UserMetrics { interface UserMetrics {
count: number; count: number;

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