keycloak-d4science-spi-parent/keycloak-d4science-theme/src/main/resources/theme/d4science/account/resources/assets/LinkedAccounts-F9riMkoW.js.map

1 line
17 KiB
Plaintext

{"version":3,"file":"LinkedAccounts-F9riMkoW.js","sources":["../../../../../node_modules/.pnpm/@patternfly+react-styles@5.2.1/node_modules/@patternfly/react-styles/css/layouts/Stack/stack.mjs","../../../../../node_modules/.pnpm/@patternfly+react-core@5.2.3_react-dom@18.2.0_react@18.2.0/node_modules/@patternfly/react-core/dist/esm/layouts/Stack/Stack.js","../../../../../node_modules/.pnpm/@patternfly+react-core@5.2.3_react-dom@18.2.0_react@18.2.0/node_modules/@patternfly/react-core/dist/esm/layouts/Stack/StackItem.js","../../../../../node_modules/.pnpm/@patternfly+react-icons@5.2.1_react-dom@18.2.0_react@18.2.0/node_modules/@patternfly/react-icons/dist/esm/icons/link-icon.js","../../../../../node_modules/.pnpm/@patternfly+react-icons@5.2.1_react-dom@18.2.0_react@18.2.0/node_modules/@patternfly/react-icons/dist/esm/icons/unlink-icon.js","../../src/account-security/AccountRow.tsx","../../src/account-security/LinkedAccounts.tsx"],"sourcesContent":["import './stack.css';\nexport default {\n \"modifiers\": {\n \"fill\": \"pf-m-fill\",\n \"gutter\": \"pf-m-gutter\"\n },\n \"stack\": \"pf-v5-l-stack\",\n \"stackItem\": \"pf-v5-l-stack__item\"\n};","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/layouts/Stack/stack.mjs';\nimport { css } from '@patternfly/react-styles';\nexport const Stack = (_a) => {\n var { hasGutter = false, className = '', children = null, component = 'div' } = _a, props = __rest(_a, [\"hasGutter\", \"className\", \"children\", \"component\"]);\n const Component = component;\n return (React.createElement(Component, Object.assign({}, props, { className: css(styles.stack, hasGutter && styles.modifiers.gutter, className) }), children));\n};\nStack.displayName = 'Stack';\n//# sourceMappingURL=Stack.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/layouts/Stack/stack.mjs';\nimport { css } from '@patternfly/react-styles';\nexport const StackItem = (_a) => {\n var { isFilled = false, className = '', children = null } = _a, props = __rest(_a, [\"isFilled\", \"className\", \"children\"]);\n return (React.createElement(\"div\", Object.assign({}, props, { className: css(styles.stackItem, isFilled && styles.modifiers.fill, className) }), children));\n};\nStackItem.displayName = 'StackItem';\n//# sourceMappingURL=StackItem.js.map","import { createIcon } from '../createIcon';\n\nexport const LinkIconConfig = {\n name: 'LinkIcon',\n height: 512,\n width: 512,\n svgPath: 'M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z',\n yOffset: 0,\n xOffset: 0,\n};\n\nexport const LinkIcon = createIcon(LinkIconConfig);\n\nexport default LinkIcon;","import { createIcon } from '../createIcon';\n\nexport const UnlinkIconConfig = {\n name: 'UnlinkIcon',\n height: 512,\n width: 512,\n svgPath: 'M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z',\n yOffset: 0,\n xOffset: 0,\n};\n\nexport const UnlinkIcon = createIcon(UnlinkIconConfig);\n\nexport default UnlinkIcon;","import {\r\n Button,\r\n DataListAction,\r\n DataListCell,\r\n DataListItem,\r\n DataListItemCells,\r\n DataListItemRow,\r\n Icon,\r\n Label,\r\n Split,\r\n SplitItem,\r\n} from \"@patternfly/react-core\";\r\nimport { LinkIcon, UnlinkIcon } from \"@patternfly/react-icons\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { IconMapper, useAlerts } from \"ui-shared\";\r\n\r\nimport { linkAccount, unLinkAccount } from \"../api/methods\";\r\nimport { LinkedAccountRepresentation } from \"../api/representations\";\r\nimport { useEnvironment } from \"../root/KeycloakContext\";\r\n\r\ntype AccountRowProps = {\r\n account: LinkedAccountRepresentation;\r\n isLinked?: boolean;\r\n refresh: () => void;\r\n};\r\n\r\nexport const AccountRow = ({\r\n account,\r\n isLinked = false,\r\n refresh,\r\n}: AccountRowProps) => {\r\n const { t } = useTranslation();\r\n const context = useEnvironment();\r\n const { addAlert, addError } = useAlerts();\r\n\r\n const unLink = async (account: LinkedAccountRepresentation) => {\r\n try {\r\n await unLinkAccount(context, account);\r\n addAlert(t(\"unLinkSuccess\"));\r\n refresh();\r\n } catch (error) {\r\n addError(t(\"unLinkError\", { error }).toString());\r\n }\r\n };\r\n\r\n const link = async (account: LinkedAccountRepresentation) => {\r\n try {\r\n const { accountLinkUri } = await linkAccount(context, account);\r\n location.href = accountLinkUri;\r\n } catch (error) {\r\n addError(t(\"linkError\", { error }).toString());\r\n }\r\n };\r\n\r\n return (\r\n <DataListItem\r\n id={`${account.providerAlias}-idp`}\r\n key={account.providerName}\r\n aria-label={t(\"linkedAccounts\")}\r\n >\r\n <DataListItemRow\r\n key={account.providerName}\r\n data-testid={`linked-accounts/${account.providerName}`}\r\n >\r\n <DataListItemCells\r\n dataListCells={[\r\n <DataListCell key=\"idp\">\r\n <Split>\r\n <SplitItem className=\"pf-v5-u-mr-sm\">\r\n <IconMapper icon={account.providerName} />\r\n </SplitItem>\r\n <SplitItem className=\"pf-v5-u-my-xs\" isFilled>\r\n <span id={`${account.providerAlias}-idp-name`}>\r\n {account.displayName}\r\n </span>\r\n </SplitItem>\r\n </Split>\r\n </DataListCell>,\r\n <DataListCell key=\"label\">\r\n <Split>\r\n <SplitItem className=\"pf-v5-u-my-xs\" isFilled>\r\n <span id={`${account.providerAlias}-idp-label`}>\r\n <Label color={account.social ? \"blue\" : \"green\"}>\r\n {t(account.social ? \"socialLogin\" : \"systemDefined\")}\r\n </Label>\r\n </span>\r\n </SplitItem>\r\n </Split>\r\n </DataListCell>,\r\n <DataListCell key=\"username\" width={5}>\r\n <Split>\r\n <SplitItem className=\"pf-v5-u-my-xs\" isFilled>\r\n <span id={`${account.providerAlias}-idp-username`}>\r\n {account.linkedUsername}\r\n </span>\r\n </SplitItem>\r\n </Split>\r\n </DataListCell>,\r\n ]}\r\n />\r\n <DataListAction\r\n aria-labelledby={t(\"link\")}\r\n aria-label={t(\"unLink\")}\r\n id=\"setPasswordAction\"\r\n >\r\n {isLinked && (\r\n <Button\r\n id={`${account.providerAlias}-idp-unlink`}\r\n variant=\"link\"\r\n onClick={() => unLink(account)}\r\n >\r\n <Icon size=\"sm\">\r\n <UnlinkIcon />\r\n </Icon>{\" \"}\r\n {t(\"unLink\")}\r\n </Button>\r\n )}\r\n {!isLinked && (\r\n <Button\r\n id={`${account.providerAlias}-idp-link`}\r\n variant=\"link\"\r\n onClick={() => link(account)}\r\n >\r\n <Icon size=\"sm\">\r\n <LinkIcon />\r\n </Icon>{\" \"}\r\n {t(\"link\")}\r\n </Button>\r\n )}\r\n </DataListAction>\r\n </DataListItemRow>\r\n </DataListItem>\r\n );\r\n};\r\n","import { DataList, Stack, StackItem, Title } from \"@patternfly/react-core\";\r\nimport { useMemo, useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { getLinkedAccounts } from \"../api/methods\";\r\nimport { LinkedAccountRepresentation } from \"../api/representations\";\r\nimport { EmptyRow } from \"../components/datalist/EmptyRow\";\r\nimport { Page } from \"../components/page/Page\";\r\nimport { usePromise } from \"../utils/usePromise\";\r\nimport { AccountRow } from \"./AccountRow\";\r\nimport { useEnvironment } from \"../root/KeycloakContext\";\r\n\r\nexport const LinkedAccounts = () => {\r\n const { t } = useTranslation();\r\n const context = useEnvironment();\r\n const [accounts, setAccounts] = useState<LinkedAccountRepresentation[]>([]);\r\n\r\n const [key, setKey] = useState(1);\r\n const refresh = () => setKey(key + 1);\r\n\r\n usePromise((signal) => getLinkedAccounts({ signal, context }), setAccounts, [\r\n key,\r\n ]);\r\n\r\n const linkedAccounts = useMemo(\r\n () => accounts.filter((account) => account.connected),\r\n [accounts],\r\n );\r\n\r\n const unLinkedAccounts = useMemo(\r\n () => accounts.filter((account) => !account.connected),\r\n [accounts],\r\n );\r\n\r\n return (\r\n <Page\r\n title={t(\"linkedAccounts\")}\r\n description={t(\"linkedAccountsIntroMessage\")}\r\n >\r\n <Stack hasGutter>\r\n <StackItem>\r\n <Title headingLevel=\"h2\" className=\"pf-v5-u-mb-lg\" size=\"xl\">\r\n {t(\"linkedLoginProviders\")}\r\n </Title>\r\n <DataList id=\"linked-idps\" aria-label={t(\"linkedLoginProviders\")}>\r\n {linkedAccounts.length > 0 ? (\r\n linkedAccounts.map((account) => (\r\n <AccountRow\r\n key={account.providerName}\r\n account={account}\r\n isLinked\r\n refresh={refresh}\r\n />\r\n ))\r\n ) : (\r\n <EmptyRow message={t(\"linkedEmpty\")} />\r\n )}\r\n </DataList>\r\n </StackItem>\r\n <StackItem>\r\n <Title\r\n headingLevel=\"h2\"\r\n className=\"pf-v5-u-mt-xl pf-v5-u-mb-lg\"\r\n size=\"xl\"\r\n >\r\n {t(\"unlinkedLoginProviders\")}\r\n </Title>\r\n <DataList id=\"unlinked-idps\" aria-label={t(\"unlinkedLoginProviders\")}>\r\n {unLinkedAccounts.length > 0 ? (\r\n unLinkedAccounts.map((account) => (\r\n <AccountRow\r\n key={account.providerName}\r\n account={account}\r\n refresh={refresh}\r\n />\r\n ))\r\n ) : (\r\n <EmptyRow message={t(\"unlinkedEmpty\")} />\r\n )}\r\n </DataList>\r\n </StackItem>\r\n </Stack>\r\n </Page>\r\n );\r\n};\r\n\r\nexport default LinkedAccounts;\r\n"],"names":["styles","Stack","_a","hasGutter","className","children","component","props","__rest","Component","React","css","StackItem","isFilled","LinkIconConfig","LinkIcon","createIcon","UnlinkIconConfig","UnlinkIcon","AccountRow","account","isLinked","refresh","t","useTranslation","context","useEnvironment","addAlert","addError","useAlerts","unLink","unLinkAccount","error","link","accountLinkUri","linkAccount","jsx","DataListItem","jsxs","DataListItemRow","DataListItemCells","DataListCell","Split","SplitItem","IconMapper","Label","DataListAction","Button","Icon","LinkedAccounts","accounts","setAccounts","useState","key","setKey","usePromise","signal","getLinkedAccounts","linkedAccounts","useMemo","unLinkedAccounts","Page","Title","DataList","EmptyRow"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}