changed name and added version number (#28157)
Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
This commit is contained in:
parent
3e0a185070
commit
659f0f583f
199 changed files with 495 additions and 214 deletions
|
@ -9,3 +9,6 @@ mvn:documentation/keycloak-documentation:keycloak-documentation
|
|||
|
||||
npm:js/libs/keycloak-admin-client/target/keycloak-keycloak-admin-client-$$VERSION$$.tgz:keycloak-admin-client-$$VERSION$$.tgz
|
||||
npm:js/libs/keycloak-js/target/keycloak-js-$$VERSION$$.tgz:keycloak-js-$$VERSION$$.tgz
|
||||
npm:js/libs/ui-shared/target/keycloak-keycloak-ui-shared-$$VERSION$$.tgz:keycloak-ui-shared-$$VERSION$$.tgz
|
||||
npm:js/apps/account-ui/target/keycloak-keycloak-account-ui-$$VERSION$$.tgz:keycloak-account-ui-$$VERSION$$.tgz
|
||||
|
||||
|
|
3
js/apps/account-ui/.gitignore
vendored
3
js/apps/account-ui/.gitignore
vendored
|
@ -1,4 +1,5 @@
|
|||
/test-results/
|
||||
/playwright-report/
|
||||
/playwright/.cache/
|
||||
.auth/
|
||||
.auth/
|
||||
lib/
|
|
@ -1,3 +1,97 @@
|
|||
# Keycloak Account UI
|
||||
|
||||
This project is the next generation of the Keycloak Account UI. It is written with React and [PatternFly 4](https://www.patternfly.org/v4/) and uses [Vite](https://vitejs.dev/guide/).
|
||||
|
||||
## Features
|
||||
|
||||
Contains all the "pages" from the account-ui as re-usable components, all the functions to save and the side menu to use in your own build of the account-ui
|
||||
|
||||
## Install
|
||||
|
||||
```bash
|
||||
npm i @keycloak/keycloak-account-ui
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
To use these pages you'll need to add `KeycloakProvider` in your component hierarchy to setup what client, realm and url to use.
|
||||
|
||||
```jsx
|
||||
import { KeycloakProvider } from "@keycloak/keycloak-account-ui";
|
||||
|
||||
//...
|
||||
|
||||
<KeycloakProvider environment={{
|
||||
authUrl: "http://localhost:8080",
|
||||
realm: "master",
|
||||
clientId: "security-admin-console"
|
||||
}}>
|
||||
{/* rest of you application */}
|
||||
</KeycloakProvider>
|
||||
```
|
||||
|
||||
### Translation
|
||||
|
||||
For the translation we use `react-i18next` you can [set it up](https://react.i18next.com/) as described on their website.
|
||||
If you want to use the translations that are provided then you need to add `i18next-http-backend` to your project and add:
|
||||
|
||||
```ts
|
||||
|
||||
backend: {
|
||||
loadPath: `http://localhost:8180/resources/master/account/{{lng}}`,
|
||||
parse: (data: string) => {
|
||||
const messages = JSON.parse(data);
|
||||
|
||||
const result: Record<string, string> = {};
|
||||
messages.forEach((v) => (result[v.key] = v.value));
|
||||
return result;
|
||||
},
|
||||
},
|
||||
```
|
||||
to the `i18next` config object.
|
||||
|
||||
### Save functions
|
||||
|
||||
If you want to build your own "pages" you can still reuse the save functions:
|
||||
* deleteConsent
|
||||
* deleteCredentials
|
||||
* deleteSession
|
||||
* getApplications
|
||||
* getCredentials
|
||||
* getDevices
|
||||
* getGroups
|
||||
* getLinkedAccounts
|
||||
* getPermissionRequests
|
||||
* getPersonalInfo
|
||||
* getSupportedLocales
|
||||
* linkAccount
|
||||
* savePersonalInfo
|
||||
* unLinkAccount
|
||||
|
||||
Example:
|
||||
```ts
|
||||
import { savePersonalInfo, useEnvironment } from "@keycloak/keycloak-account-ui";
|
||||
|
||||
//...
|
||||
function App() {
|
||||
// the save function also needs to have the context so that it knows where to POST
|
||||
// this hook gives us access to the `KeycloakProvider` context
|
||||
const context = useEnvironment();
|
||||
const submit = async (data) => {
|
||||
try {
|
||||
await savePersonalInfo(context, data);
|
||||
} catch (error) {
|
||||
// Error contains `name` and `value` of the server side errors
|
||||
// and your app will have better error handling ;)
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
// ...
|
||||
```
|
||||
## Building
|
||||
|
||||
To build a library instead of an app you need to add the `LIB=true` environment variable.
|
||||
|
||||
```bash
|
||||
LIB=true pnpm run build
|
||||
```
|
|
@ -1,14 +1,18 @@
|
|||
{
|
||||
"name": "account-ui",
|
||||
"name": "@keycloak/keycloak-account-ui",
|
||||
"version": "999.0.0-SNAPSHOT",
|
||||
"type": "module",
|
||||
"main": "dist/account-ui.js",
|
||||
"types": "./dist/account-ui.d.ts",
|
||||
"main": "lib/keycloak-account-ui.js",
|
||||
"types": "./lib/keycloak-account-ui.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./dist/account-ui.js",
|
||||
"types": "./dist/account-ui.d.ts"
|
||||
"import": "./lib/keycloak-account-ui.js",
|
||||
"types": "./lib/keycloak-account-ui.d.ts"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"scripts": {
|
||||
"dev": "wireit",
|
||||
"build": "wireit",
|
||||
|
@ -30,7 +34,7 @@
|
|||
"react-hook-form": "^7.51.3",
|
||||
"react-i18next": "^14.1.0",
|
||||
"react-router-dom": "^6.22.3",
|
||||
"ui-shared": "workspace:*"
|
||||
"@keycloak/keycloak-ui-shared": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@keycloak/keycloak-admin-client": "workspace:*",
|
||||
|
|
|
@ -172,6 +172,25 @@
|
|||
</replacements>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>com.github.eirslett</groupId>
|
||||
<artifactId>frontend-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>pack</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>pnpm</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<arguments>pack --pack-destination=target</arguments>
|
||||
<systemPropertyVariables>
|
||||
<LIB>true</LIB>
|
||||
</systemPropertyVariables>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
|
@ -12,7 +12,7 @@ import {
|
|||
} from "@patternfly/react-core";
|
||||
import { LinkIcon, UnlinkIcon } from "@patternfly/react-icons";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { IconMapper, useAlerts } from "ui-shared";
|
||||
import { IconMapper, useAlerts } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { linkAccount, unLinkAccount } from "../api/methods";
|
||||
import { LinkedAccountRepresentation } from "../api/representations";
|
||||
|
|
|
@ -23,7 +23,7 @@ import {
|
|||
} from "@patternfly/react-icons";
|
||||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { ContinueCancelModal, useAlerts } from "ui-shared";
|
||||
import { ContinueCancelModal, useAlerts } from "@keycloak/keycloak-ui-shared";
|
||||
import { deleteSession, getDevices } from "../api/methods";
|
||||
import {
|
||||
ClientRepresentation,
|
||||
|
|
|
@ -22,7 +22,7 @@ import {
|
|||
} from "@patternfly/react-icons";
|
||||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { ContinueCancelModal, useAlerts } from "ui-shared";
|
||||
import { ContinueCancelModal, useAlerts } from "@keycloak/keycloak-ui-shared";
|
||||
import { deleteConsent, getApplications } from "../api/methods";
|
||||
import { ClientRepresentation } from "../api/representations";
|
||||
import { Page } from "../components/page/Page";
|
||||
|
|
|
@ -17,7 +17,7 @@ import {
|
|||
debeerify,
|
||||
setUserProfileServerError,
|
||||
useAlerts,
|
||||
} from "ui-shared";
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import {
|
||||
getPersonalInfo,
|
||||
|
|
|
@ -3,7 +3,11 @@ import { Fragment, useEffect } from "react";
|
|||
import { FormProvider, useFieldArray, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { SelectControl, TextControl, useAlerts } from "ui-shared";
|
||||
import {
|
||||
SelectControl,
|
||||
TextControl,
|
||||
useAlerts,
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
import { updatePermissions } from "../api";
|
||||
import type { Permission, Resource } from "../api/representations";
|
||||
import { useEnvironment } from "../root/KeycloakContext";
|
||||
|
|
|
@ -11,7 +11,7 @@ import { UserCheckIcon } from "@patternfly/react-icons";
|
|||
import { Table, Tbody, Td, Th, Thead, Tr } from "@patternfly/react-table";
|
||||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useAlerts } from "ui-shared";
|
||||
import { useAlerts } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { fetchPermission, updateRequest } from "../api";
|
||||
import { Permission, Resource } from "../api/representations";
|
||||
|
|
|
@ -33,7 +33,7 @@ import {
|
|||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { ContinueCancelModal, useAlerts } from "ui-shared";
|
||||
import { ContinueCancelModal, useAlerts } from "@keycloak/keycloak-ui-shared";
|
||||
import { fetchPermission, fetchResources, updatePermissions } from "../api";
|
||||
import { getPermissionRequests } from "../api/methods";
|
||||
import { Links } from "../api/parse-links";
|
||||
|
|
|
@ -18,8 +18,11 @@ import {
|
|||
useWatch,
|
||||
} from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { FormErrorText, SelectControl, useAlerts } from "ui-shared";
|
||||
|
||||
import {
|
||||
FormErrorText,
|
||||
SelectControl,
|
||||
useAlerts,
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
import { updateRequest } from "../api";
|
||||
import { Permission, Resource } from "../api/representations";
|
||||
import { useEnvironment } from "../root/KeycloakContext";
|
||||
|
|
|
@ -2,7 +2,7 @@ import { Button } from "@patternfly/react-core";
|
|||
import { ExternalLinkSquareAltIcon } from "@patternfly/react-icons";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useHref } from "react-router-dom";
|
||||
import { KeycloakMasthead, label } from "ui-shared";
|
||||
import { KeycloakMasthead, label } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { environment } from "../environment";
|
||||
import { joinPath } from "../utils/joinPath";
|
||||
|
|
|
@ -9,7 +9,7 @@ import {
|
|||
useRef,
|
||||
useState,
|
||||
} from "react";
|
||||
import { AlertProvider, Help } from "ui-shared";
|
||||
import { AlertProvider, Help } from "@keycloak/keycloak-ui-shared";
|
||||
import { Environment } from "../environment";
|
||||
import { ErrorPage } from "./ErrorPage";
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ export default defineConfig(({ mode }) => {
|
|||
}
|
||||
const lib = env.LIB
|
||||
? {
|
||||
outDir: "lib",
|
||||
lib: {
|
||||
entry: path.resolve(__dirname, "src/index.ts"),
|
||||
formats: ["es"],
|
||||
|
@ -37,7 +38,7 @@ export default defineConfig(({ mode }) => {
|
|||
modulePreload: false,
|
||||
cssMinify: "lightningcss",
|
||||
rollupOptions: {
|
||||
external: external,
|
||||
external,
|
||||
},
|
||||
},
|
||||
plugins,
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
"react-i18next": "^14.1.0",
|
||||
"react-router-dom": "^6.22.3",
|
||||
"reactflow": "^11.11.1",
|
||||
"ui-shared": "workspace:*",
|
||||
"@keycloak/keycloak-ui-shared": "workspace:*",
|
||||
"use-react-router-breadcrumbs": "^4.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Page } from "@patternfly/react-core";
|
||||
import { PropsWithChildren, Suspense } from "react";
|
||||
import { Outlet } from "react-router-dom";
|
||||
import { Help, mainPageContentId } from "ui-shared";
|
||||
import { Help, mainPageContentId } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { Header } from "./PageHeader";
|
||||
import { PageNav } from "./PageNav";
|
||||
|
|
|
@ -18,7 +18,7 @@ import { BarsIcon, EllipsisVIcon, HelpIcon } from "@patternfly/react-icons";
|
|||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useHref } from "react-router-dom";
|
||||
import { useHelp } from "ui-shared";
|
||||
import { useHelp } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { HelpHeader } from "./components/help-enabler/HelpHeader";
|
||||
import { useRealm } from "./context/realm-context/RealmContext";
|
||||
|
|
|
@ -9,7 +9,7 @@ import {
|
|||
import { SelectVariant } from "@patternfly/react-core/deprecated";
|
||||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl } from "ui-shared";
|
||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../admin-client";
|
||||
import { useAlerts } from "../components/alert/Alerts";
|
||||
|
|
|
@ -10,7 +10,7 @@ import { PencilAltIcon } from "@patternfly/react-icons";
|
|||
import { useEffect } from "react";
|
||||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { TextAreaControl, TextControl } from "ui-shared";
|
||||
import { TextAreaControl, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import useToggle from "../../utils/useToggle";
|
||||
import type { ExpandableExecution } from "../execution-model";
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ import { CogIcon, TrashIcon } from "@patternfly/react-icons";
|
|||
import { useEffect, useState } from "react";
|
||||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { DynamicComponents } from "../../components/dynamic/DynamicComponents";
|
||||
|
|
|
@ -9,7 +9,7 @@ import {
|
|||
import { useEffect, useState } from "react";
|
||||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl, TextControl } from "ui-shared";
|
||||
import { SelectControl, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../../admin-client";
|
||||
import { useFetch } from "../../../utils/useFetch";
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ import { FormProvider, useForm } from "react-hook-form";
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
|
||||
import { SelectControl } from "ui-shared";
|
||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
export const NameDescription = () => {
|
||||
const { t } = useTranslation();
|
||||
|
|
|
@ -9,7 +9,7 @@ import {
|
|||
import { useEffect } from "react";
|
||||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl, TextControl } from "ui-shared";
|
||||
import { SelectControl, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
|
|
|
@ -18,7 +18,7 @@ import {
|
|||
NumberControl,
|
||||
SelectControl,
|
||||
SwitchControl,
|
||||
} from "ui-shared";
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
|
|
|
@ -12,7 +12,7 @@ import {
|
|||
import { MinusCircleIcon } from "@patternfly/react-icons";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { FormErrorText, HelpItem } from "ui-shared";
|
||||
import { FormErrorText, HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import "./policy-row.css";
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ import {
|
|||
SwitchControl,
|
||||
TextControl,
|
||||
useHelp,
|
||||
} from "ui-shared";
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
|
|
|
@ -14,7 +14,7 @@ import { DropdownItem } from "@patternfly/react-core/deprecated";
|
|||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import { useHelp } from "ui-shared";
|
||||
import { useHelp } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../admin-client";
|
||||
import { useAlerts } from "../components/alert/Alerts";
|
||||
|
|
|
@ -14,7 +14,7 @@ import { useState } from "react";
|
|||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useMatch, useNavigate } from "react-router-dom";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { useConfirmDialog } from "../../components/confirm-dialog/ConfirmDialog";
|
||||
|
|
|
@ -5,7 +5,11 @@ import { useEffect } from "react";
|
|||
import { FormProvider, useForm, useWatch } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link } from "react-router-dom";
|
||||
import { SelectControl, TextAreaControl, TextControl } from "ui-shared";
|
||||
import {
|
||||
SelectControl,
|
||||
TextAreaControl,
|
||||
TextControl,
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { getProtocolName } from "../../clients/utils";
|
||||
import { DefaultSwitchControl } from "../../components/SwitchControl";
|
||||
|
|
|
@ -4,7 +4,7 @@ import { AlertVariant, PageSection, Text } from "@patternfly/react-core";
|
|||
import type { TFunction } from "i18next";
|
||||
import { useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { ScrollForm } from "ui-shared";
|
||||
import { ScrollForm } from "@keycloak/keycloak-ui-shared";
|
||||
import type { AddAlertFunction } from "../components/alert/Alerts";
|
||||
import { convertAttributeNameToForm, toUpperCase } from "../util";
|
||||
import type { FormFields, SaveOptions } from "./ClientDetails";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { TextControl, TextAreaControl } from "ui-shared";
|
||||
import { TextControl, TextAreaControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { FormAccess } from "../components/form/FormAccess";
|
||||
import { DefaultSwitchControl } from "../components/SwitchControl";
|
||||
|
|
|
@ -2,7 +2,7 @@ import type ClientRepresentation from "@keycloak/keycloak-admin-client/lib/defs/
|
|||
import { Form } from "@patternfly/react-core";
|
||||
import { useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { ScrollForm } from "ui-shared";
|
||||
import { ScrollForm } from "@keycloak/keycloak-ui-shared";
|
||||
import { ClientDescription } from "./ClientDescription";
|
||||
import { FormFields } from "./ClientDetails";
|
||||
import { AccessSettings } from "./add/AccessSettings";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { FixedButtonsGroup } from "../../components/form/FixedButtonGroup";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
|
|
|
@ -10,7 +10,7 @@ import {
|
|||
} from "@patternfly/react-core";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { DefaultSwitchControl } from "../../components/SwitchControl";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { convertAttributeNameToForm } from "../../util";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl } from "ui-shared";
|
||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { useLoginProviders } from "../../context/server-info/ServerInfoProvider";
|
||||
import { ClientDescription } from "../ClientDescription";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { FormGroup } from "@patternfly/react-core";
|
||||
import { useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem, TextControl } from "ui-shared";
|
||||
import { HelpItem, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { MultiLineInput } from "../../components/multi-line-input/MultiLineInput";
|
||||
import { convertAttributeNameToForm } from "../../util";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl, TextAreaControl } from "ui-shared";
|
||||
import { SelectControl, TextAreaControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { DefaultSwitchControl } from "../../components/SwitchControl";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { useServerInfo } from "../../context/server-info/ServerInfoProvider";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { FormGroup, Switch } from "@patternfly/react-core";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem, TextControl } from "ui-shared";
|
||||
import { HelpItem, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { FixedButtonsGroup } from "../../components/form/FixedButtonGroup";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Path, PathValue } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl } from "ui-shared";
|
||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { DefaultSwitchControl } from "../../components/SwitchControl";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { convertAttributeNameToForm } from "../../util";
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl } from "ui-shared";
|
||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { convertAttributeNameToForm } from "../../util";
|
||||
import { FormFields } from "../ClientDetails";
|
||||
|
|
|
@ -7,7 +7,7 @@ import {
|
|||
} from "@patternfly/react-core";
|
||||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ import { useState } from "react";
|
|||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { DefaultSwitchControl } from "../../components/SwitchControl";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { KeyValueInput } from "../../components/key-value-form/KeyValueInput";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
type ApplicationUrlsProps = {
|
||||
isDisabled?: boolean;
|
||||
|
|
|
@ -3,7 +3,7 @@ import { ActionGroup, Button } from "@patternfly/react-core";
|
|||
import { sortBy } from "lodash-es";
|
||||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl } from "ui-shared";
|
||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { useFetch } from "../../utils/useFetch";
|
||||
|
|
|
@ -10,7 +10,7 @@ import {
|
|||
} from "@patternfly/react-core";
|
||||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { ProviderRepresentation } from "@keycloak/keycloak-admin-client/lib/defs/serverInfoRepesentation";
|
||||
import { ActionGroup, Button, FormGroup } from "@patternfly/react-core";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem, SelectControl } from "ui-shared";
|
||||
import { HelpItem, SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { MultiLineInput } from "../../components/multi-line-input/MultiLineInput";
|
||||
import { useServerInfo } from "../../context/server-info/ServerInfoProvider";
|
||||
|
|
|
@ -2,7 +2,7 @@ import { ActionGroup, Button } from "@patternfly/react-core";
|
|||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { ApplicationUrls } from "./ApplicationUrls";
|
||||
|
||||
type FineGrainSamlEndpointConfigProps = {
|
||||
|
|
|
@ -3,7 +3,7 @@ import { Controller, useFormContext } from "react-hook-form";
|
|||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { convertAttributeNameToForm } from "../../util";
|
||||
import { FormFields } from "../ClientDetails";
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import { useState } from "react";
|
|||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import {
|
||||
TimeSelector,
|
||||
Unit,
|
||||
|
|
|
@ -25,7 +25,11 @@ import {
|
|||
import { useState } from "react";
|
||||
import { Controller, FormProvider, useForm, useWatch } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { FormErrorText, HelpItem, TextControl } from "ui-shared";
|
||||
import {
|
||||
FormErrorText,
|
||||
HelpItem,
|
||||
TextControl,
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { ForbiddenSection } from "../../ForbiddenSection";
|
||||
import { adminClient } from "../../admin-client";
|
||||
|
|
|
@ -8,7 +8,7 @@ import {
|
|||
import { saveAs } from "file-saver";
|
||||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { TextAreaControl } from "ui-shared";
|
||||
import { TextAreaControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
|
|
|
@ -2,7 +2,7 @@ import { FormGroup, Radio } from "@patternfly/react-core";
|
|||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
const DECISION_STRATEGY = ["UNANIMOUS", "AFFIRMATIVE", "CONSENSUS"] as const;
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ import {
|
|||
|
||||
import type ResourceServerRepresentation from "@keycloak/keycloak-admin-client/lib/defs/resourceServerRepresentation";
|
||||
import { JsonFileUpload } from "../../components/json-file-upload/JsonFileUpload";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
type ImportDialogProps = {
|
||||
onConfirm: (value: ResourceServerRepresentation) => void;
|
||||
|
|
|
@ -20,7 +20,7 @@ import {
|
|||
HelpItem,
|
||||
TextAreaControl,
|
||||
TextControl,
|
||||
} from "ui-shared";
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
|
|
|
@ -15,7 +15,7 @@ import { useState } from "react";
|
|||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import { HelpItem, TextControl } from "ui-shared";
|
||||
import { HelpItem, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { useConfirmDialog } from "../../components/confirm-dialog/ConfirmDialog";
|
||||
|
|
|
@ -11,7 +11,7 @@ import { useState } from "react";
|
|||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
|
|
|
@ -8,7 +8,7 @@ import {
|
|||
import { useState } from "react";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useFetch } from "../../utils/useFetch";
|
||||
|
|
|
@ -4,7 +4,7 @@ import { Dropdown, DropdownToggle } from "@patternfly/react-core/deprecated";
|
|||
import { useEffect } from "react";
|
||||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl, TextControl } from "ui-shared";
|
||||
import { SelectControl, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import useToggle from "../../utils/useToggle";
|
||||
|
||||
import "./search-dropdown.css";
|
||||
|
|
|
@ -10,7 +10,7 @@ import {
|
|||
import { useState } from "react";
|
||||
import { Controller, FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { DefaultSwitchControl } from "../../components/SwitchControl";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { FormGroup } from "@patternfly/react-core";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { useParams } from "../../../utils/useParams";
|
||||
import type { PolicyDetailsParams } from "../../routes/PolicyDetails";
|
||||
import { DecisionStrategySelect } from "../DecisionStrategySelect";
|
||||
|
|
|
@ -5,7 +5,7 @@ import { Table, Tbody, Td, Th, Thead, Tr } from "@patternfly/react-table";
|
|||
import { useState } from "react";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { FormErrorText, HelpItem } from "ui-shared";
|
||||
import { FormErrorText, HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../../admin-client";
|
||||
import { useFetch } from "../../../utils/useFetch";
|
||||
|
|
|
@ -5,7 +5,11 @@ import { Table, Tbody, Td, Th, Thead, Tr } from "@patternfly/react-table";
|
|||
import { useState } from "react";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { FormErrorText, HelpItem, TextControl } from "ui-shared";
|
||||
import {
|
||||
FormErrorText,
|
||||
HelpItem,
|
||||
TextControl,
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../../admin-client";
|
||||
import { GroupPickerDialog } from "../../../components/group/GroupPickerDialog";
|
||||
|
|
|
@ -3,7 +3,7 @@ import { Controller, useFormContext } from "react-hook-form";
|
|||
import { FormGroup } from "@patternfly/react-core";
|
||||
import { CodeEditor, Language } from "@patternfly/react-code-editor";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
export const JavaScript = () => {
|
||||
const { t } = useTranslation();
|
||||
|
|
|
@ -2,7 +2,7 @@ import { useTranslation } from "react-i18next";
|
|||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { FormGroup, Radio } from "@patternfly/react-core";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
const LOGIC_TYPES = ["POSITIVE", "NEGATIVE"] as const;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { TextAreaControl, TextControl } from "ui-shared";
|
||||
import { TextAreaControl, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
type NameDescriptionProps = {
|
||||
isDisabled: boolean;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { SwitchControl, TextControl } from "ui-shared";
|
||||
import { SwitchControl, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
export const Regex = () => {
|
||||
const { t } = useTranslation();
|
||||
|
|
|
@ -4,7 +4,7 @@ import { Table, Tbody, Td, Th, Thead, Tr } from "@patternfly/react-table";
|
|||
import { useState } from "react";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { FormErrorText, HelpItem } from "ui-shared";
|
||||
import { FormErrorText, HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../../admin-client";
|
||||
import { DefaultSwitchControl } from "../../../components/SwitchControl";
|
||||
|
|
|
@ -10,9 +10,9 @@ import {
|
|||
TimePicker,
|
||||
} from "@patternfly/react-core";
|
||||
import { useState } from "react";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { FormErrorText, HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { FormErrorText, HelpItem } from "ui-shared";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
|
||||
const DATE_TIME_FORMAT = /(\d\d\d\d-\d\d-\d\d)? (\d\d?):(\d\d?)/;
|
||||
const padDateSegment = (value: number) => value.toString().padStart(2, "0");
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
import { useState } from "react";
|
||||
import { useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { PasswordInput } from "ui-shared";
|
||||
import { PasswordInput } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { useConfirmDialog } from "../../components/confirm-dialog/ConfirmDialog";
|
||||
|
|
|
@ -18,7 +18,7 @@ import {
|
|||
import { useState } from "react";
|
||||
import { useFormContext, useWatch } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem, SelectControl } from "ui-shared";
|
||||
import { HelpItem, SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { useConfirmDialog } from "../../components/confirm-dialog/ConfirmDialog";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl } from "ui-shared";
|
||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { useServerInfo } from "../../context/server-info/ServerInfoProvider";
|
||||
import { convertAttributeNameToForm } from "../../util";
|
||||
import { FormFields } from "../ClientDetails";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { DefaultSwitchControl } from "../../components/SwitchControl";
|
||||
import { convertAttributeNameToForm } from "../../util";
|
||||
import { FormFields } from "../ClientDetails";
|
||||
|
|
|
@ -11,7 +11,7 @@ import { useState } from "react";
|
|||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
|
|
|
@ -9,7 +9,7 @@ import { useState } from "react";
|
|||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import { NumberControl } from "ui-shared";
|
||||
import { NumberControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
|
|
|
@ -2,7 +2,7 @@ import type CertificateRepresentation from "@keycloak/keycloak-admin-client/lib/
|
|||
import { FormGroup, TextArea } from "@patternfly/react-core";
|
||||
import { useId } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
type CertificateProps = Omit<CertificateDisplayProps, "id"> & {
|
||||
plain?: boolean;
|
||||
|
|
|
@ -18,7 +18,7 @@ import {
|
|||
} from "@patternfly/react-core";
|
||||
|
||||
import type KeyStoreConfig from "@keycloak/keycloak-admin-client/lib/defs/keystoreConfig";
|
||||
import { HelpItem, SelectControl } from "ui-shared";
|
||||
import { HelpItem, SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { StoreSettings } from "./StoreSettings";
|
||||
import { FileUpload } from "../../components/json-file-upload/patternfly/FileUpload";
|
||||
import { useServerInfo } from "../../context/server-info/ServerInfoProvider";
|
||||
|
|
|
@ -10,7 +10,7 @@ import {
|
|||
} from "@patternfly/react-core";
|
||||
import { Controller, FormProvider, useForm, useWatch } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl } from "ui-shared";
|
||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { FileUpload } from "../../components/json-file-upload/patternfly/FileUpload";
|
||||
import { useServerInfo } from "../../context/server-info/ServerInfoProvider";
|
||||
import { StoreSettings } from "./StoreSettings";
|
||||
|
|
|
@ -16,7 +16,7 @@ import { saveAs } from "file-saver";
|
|||
import { useState } from "react";
|
||||
import { useFormContext, useWatch } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { DefaultSwitchControl } from "../../components/SwitchControl";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
|
|
|
@ -16,7 +16,7 @@ import { saveAs } from "file-saver";
|
|||
import { Fragment, useState } from "react";
|
||||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { FormPanel, HelpItem } from "ui-shared";
|
||||
import { FormPanel, HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { useConfirmDialog } from "../../components/confirm-dialog/ConfirmDialog";
|
||||
|
|
|
@ -21,7 +21,7 @@ import { saveAs } from "file-saver";
|
|||
import { useState } from "react";
|
||||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { PasswordControl, TextControl } from "ui-shared";
|
||||
import { PasswordControl, TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
export const StoreSettings = ({
|
||||
hidePassword = false,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Tab, TabTitleText } from "@patternfly/react-core";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import {
|
||||
RoutableTabs,
|
||||
useRoutableTab,
|
||||
|
|
|
@ -11,7 +11,7 @@ import { useState } from "react";
|
|||
import { FormProvider, useForm, useWatch } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import { TextControl } from "ui-shared";
|
||||
import { TextControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
import { useConfirmDialog } from "../../components/confirm-dialog/ConfirmDialog";
|
||||
|
|
|
@ -11,7 +11,7 @@ import { useState } from "react";
|
|||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { FormAccess } from "../../components/form/FormAccess";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useAlerts } from "../../components/alert/Alerts";
|
||||
|
|
|
@ -27,7 +27,7 @@ import { QuestionCircleIcon } from "@patternfly/react-icons";
|
|||
import { useEffect, useRef, useState } from "react";
|
||||
import { FormProvider, useForm } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem, useHelp } from "ui-shared";
|
||||
import { HelpItem, useHelp } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { KeycloakDataTable } from "../../components/table-toolbar/KeycloakDataTable";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { FieldPath, FieldValues } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import type { SwitchControlProps } from "ui-shared";
|
||||
import { SwitchControl } from "ui-shared";
|
||||
import type { SwitchControlProps } from "@keycloak/keycloak-ui-shared";
|
||||
import { SwitchControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
export type DefaultSwitchControlProps<
|
||||
T extends FieldValues,
|
||||
|
|
|
@ -4,7 +4,10 @@ import { PropsWithChildren, useCallback, useMemo, useState } from "react";
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { generateId } from "../../util";
|
||||
|
||||
import { createNamedContext, useRequiredContext } from "ui-shared";
|
||||
import {
|
||||
createNamedContext,
|
||||
useRequiredContext,
|
||||
} from "@keycloak/keycloak-ui-shared";
|
||||
import useSetTimeout from "../../utils/useSetTimeout";
|
||||
import { AlertPanel } from "./AlertPanel";
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import type { ClientQuery } from "@keycloak/keycloak-admin-client/lib/resources/
|
|||
import { SelectProps, SelectVariant } from "@patternfly/react-core/deprecated";
|
||||
import { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { SelectControl } from "ui-shared";
|
||||
import { SelectControl } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useFetch } from "../../utils/useFetch";
|
||||
|
|
|
@ -15,7 +15,7 @@ import {
|
|||
import { saveAs } from "file-saver";
|
||||
import { useEffect, useMemo, useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { HelpItem, useHelp } from "ui-shared";
|
||||
import { HelpItem, useHelp } from "@keycloak/keycloak-ui-shared";
|
||||
|
||||
import { adminClient } from "../../admin-client";
|
||||
import { useRealm } from "../../context/realm-context/RealmContext";
|
||||
|
|
|
@ -2,7 +2,7 @@ import { FormGroup, Switch } from "@patternfly/react-core";
|
|||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import type { ComponentProps } from "./components";
|
||||
import { convertToName } from "./DynamicComponents";
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import { useState } from "react";
|
|||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { FileUpload } from "../json-file-upload/patternfly/FileUpload";
|
||||
import type { ComponentProps } from "./components";
|
||||
import { convertToName } from "./DynamicComponents";
|
||||
|
|
|
@ -12,7 +12,7 @@ import { Controller, useFormContext } from "react-hook-form";
|
|||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { GroupPickerDialog } from "../group/GroupPickerDialog";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import type { ComponentProps } from "./components";
|
||||
import { convertToName } from "./DynamicComponents";
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import { useState } from "react";
|
|||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import type { ComponentProps } from "./components";
|
||||
import { convertToName } from "./DynamicComponents";
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ import { useFormContext } from "react-hook-form";
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { generateId } from "../../util";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { KeyValueType } from "../key-value-form/key-value-convert";
|
||||
import type { ComponentProps } from "./components";
|
||||
import { convertToName } from "./DynamicComponents";
|
||||
|
|
|
@ -8,7 +8,7 @@ import { useState } from "react";
|
|||
import { Controller, useFormContext } from "react-hook-form";
|
||||
import { useTranslation } from "react-i18next";
|
||||
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import type { ComponentProps } from "./components";
|
||||
import { convertToName } from "./DynamicComponents";
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ import { useTranslation } from "react-i18next";
|
|||
import { FormGroup } from "@patternfly/react-core";
|
||||
|
||||
import type { ComponentProps } from "./components";
|
||||
import { HelpItem } from "ui-shared";
|
||||
import { HelpItem } from "@keycloak/keycloak-ui-shared";
|
||||
import { MultiLineInput } from "../multi-line-input/MultiLineInput";
|
||||
import { convertToName } from "./DynamicComponents";
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useTranslation } from "react-i18next";
|
||||
import { PasswordControl } from "ui-shared";
|
||||
import { PasswordControl } from "@keycloak/keycloak-ui-shared";
|
||||
import { convertToName } from "./DynamicComponents";
|
||||
import type { ComponentProps } from "./components";
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue