All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.FormAccess-DyLNkc18.js.map Maven / Gradle / Ivy

There is a newer version: 26.0.7
Show newest version
{"version":3,"file":"FormAccess-DyLNkc18.js","sources":["../../../../../node_modules/.pnpm/@[email protected]/node_modules/@patternfly/react-styles/css/components/ClipboardCopy/clipboard-copy.mjs","../../../../../node_modules/.pnpm/@[email protected][email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/ClipboardCopy/ClipboardCopyButton.js","../../../../../node_modules/.pnpm/@[email protected][email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/ClipboardCopy/ClipboardCopyToggle.js","../../../../../node_modules/.pnpm/@[email protected][email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/ClipboardCopy/ClipboardCopyExpanded.js","../../../../../node_modules/.pnpm/@[email protected][email protected][email protected][email protected]/node_modules/@patternfly/react-core/dist/esm/components/ClipboardCopy/ClipboardCopy.js","../../src/components/form/FixedButtonGroup.tsx","../../src/components/form/FormAccess.tsx"],"sourcesContent":["import './clipboard-copy.css';\nexport default {\n  \"button\": \"pf-v5-c-button\",\n  \"clipboardCopy\": \"pf-v5-c-clipboard-copy\",\n  \"clipboardCopyActions\": \"pf-v5-c-clipboard-copy__actions\",\n  \"clipboardCopyActionsItem\": \"pf-v5-c-clipboard-copy__actions-item\",\n  \"clipboardCopyExpandableContent\": \"pf-v5-c-clipboard-copy__expandable-content\",\n  \"clipboardCopyGroup\": \"pf-v5-c-clipboard-copy__group\",\n  \"clipboardCopyText\": \"pf-v5-c-clipboard-copy__text\",\n  \"clipboardCopyToggleIcon\": \"pf-v5-c-clipboard-copy__toggle-icon\",\n  \"dirRtl\": \"pf-v5-m-dir-rtl\",\n  \"modifiers\": {\n    \"expanded\": \"pf-m-expanded\",\n    \"inline\": \"pf-m-inline\",\n    \"block\": \"pf-m-block\",\n    \"code\": \"pf-m-code\"\n  },\n  \"themeDark\": \"pf-v5-theme-dark\"\n};","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport CopyIcon from '@patternfly/react-icons/dist/esm/icons/copy-icon';\nimport { Button } from '../Button';\nimport { Tooltip } from '../Tooltip';\nexport const ClipboardCopyButton = (_a) => {\n    var { onClick, exitDelay = 0, entryDelay = 300, maxWidth = '100px', position = 'top', 'aria-label': ariaLabel = 'Copyable input', id, textId, children, variant = 'control', onTooltipHidden = () => { }, className } = _a, props = __rest(_a, [\"onClick\", \"exitDelay\", \"entryDelay\", \"maxWidth\", \"position\", 'aria-label', \"id\", \"textId\", \"children\", \"variant\", \"onTooltipHidden\", \"className\"]);\n    const triggerRef = React.createRef();\n    return (React.createElement(Tooltip, { trigger: \"mouseenter focus click\", triggerRef: triggerRef, exitDelay: exitDelay, entryDelay: entryDelay, maxWidth: maxWidth, position: position, \"aria-live\": \"polite\", aria: \"none\", content: React.createElement(\"div\", null, children), onTooltipHidden: onTooltipHidden },\n        React.createElement(Button, Object.assign({ type: \"button\", variant: variant, onClick: onClick, \"aria-label\": ariaLabel, className: className, id: id, \"aria-labelledby\": `${id} ${textId}` }, props, { ref: triggerRef }),\n            React.createElement(CopyIcon, null))));\n};\nClipboardCopyButton.displayName = 'ClipboardCopyButton';\n//# sourceMappingURL=ClipboardCopyButton.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/ClipboardCopy/clipboard-copy.mjs';\nimport { css } from '@patternfly/react-styles';\nimport AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';\nimport { Button } from '../Button';\nexport const ClipboardCopyToggle = (_a) => {\n    var { onClick, id, textId, contentId, isExpanded = false } = _a, props = __rest(_a, [\"onClick\", \"id\", \"textId\", \"contentId\", \"isExpanded\"]);\n    return (React.createElement(Button, Object.assign({ type: \"button\", variant: \"control\", onClick: onClick, id: id, \"aria-labelledby\": `${id} ${textId}`, \"aria-controls\": contentId, \"aria-expanded\": isExpanded }, props),\n        React.createElement(\"div\", { className: css(styles.clipboardCopyToggleIcon) },\n            React.createElement(AngleRightIcon, { \"aria-hidden\": \"true\" }))));\n};\nClipboardCopyToggle.displayName = 'ClipboardCopyToggle';\n//# sourceMappingURL=ClipboardCopyToggle.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/ClipboardCopy/clipboard-copy.mjs';\nimport { css } from '@patternfly/react-styles';\nclass ClipboardCopyExpanded extends React.Component {\n    constructor(props) {\n        super(props);\n    }\n    render() {\n        const _a = this.props, { className, children, onChange, isReadOnly, isCode } = _a, props = __rest(_a, [\"className\", \"children\", \"onChange\", \"isReadOnly\", \"isCode\"]);\n        return (React.createElement(\"div\", Object.assign({ suppressContentEditableWarning: true, className: css(styles.clipboardCopyExpandableContent, className), onInput: (e) => onChange(e, e.target.innerText), contentEditable: !isReadOnly }, props), isCode ? React.createElement(\"pre\", { dir: \"ltr\" }, children) : children));\n    }\n}\nClipboardCopyExpanded.displayName = 'ClipboardCopyExpanded';\nClipboardCopyExpanded.defaultProps = {\n    onChange: () => undefined,\n    className: '',\n    isReadOnly: false,\n    isCode: false\n};\nexport { ClipboardCopyExpanded };\n//# sourceMappingURL=ClipboardCopyExpanded.js.map","import { __rest } from \"tslib\";\nimport * as React from 'react';\nimport styles from '@patternfly/react-styles/css/components/ClipboardCopy/clipboard-copy.mjs';\nimport { css } from '@patternfly/react-styles';\nimport { TooltipPosition } from '../Tooltip';\nimport { TextInput } from '../TextInput';\nimport { GenerateId } from '../../helpers/GenerateId/GenerateId';\nimport { ClipboardCopyButton } from './ClipboardCopyButton';\nimport { ClipboardCopyToggle } from './ClipboardCopyToggle';\nimport { ClipboardCopyExpanded } from './ClipboardCopyExpanded';\nimport { getOUIAProps } from '../../helpers';\nexport const clipboardCopyFunc = (_event, text) => {\n    try {\n        navigator.clipboard.writeText(text.toString());\n    }\n    catch (error) {\n        // eslint-disable-next-line no-console\n        console.warn(\"Clipboard API not found, this copy function will not work. This is likely because you're using an\", \"unsupported browser or you're not using HTTPS. \\n\\nIf you're a developer building an application which needs\", \"to support copying to the clipboard without the clipboard API, you'll have to create your own copy\", 'function and pass it to the ClipboardCopy component as the onCopy prop. For more information see', 'https://developer.mozilla.org/en-US/docs/Web/API/Navigator/clipboard');\n        // eslint-disable-next-line no-console\n        console.error(error);\n    }\n};\nexport var ClipboardCopyVariant;\n(function (ClipboardCopyVariant) {\n    ClipboardCopyVariant[\"inline\"] = \"inline\";\n    ClipboardCopyVariant[\"expansion\"] = \"expansion\";\n    ClipboardCopyVariant[\"inlineCompact\"] = \"inline-compact\";\n})(ClipboardCopyVariant || (ClipboardCopyVariant = {}));\nclass ClipboardCopy extends React.Component {\n    constructor(props) {\n        super(props);\n        this.timer = null;\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        this.componentDidUpdate = (prevProps, prevState) => {\n            if (prevProps.children !== this.props.children) {\n                const newText = this.props.children;\n                this.setState({ text: newText, textWhenExpanded: newText });\n            }\n        };\n        this.componentWillUnmount = () => {\n            if (this.timer) {\n                window.clearTimeout(this.timer);\n            }\n        };\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n        this.expandContent = (_event) => {\n            this.setState((prevState) => ({\n                expanded: !prevState.expanded\n            }));\n        };\n        this.updateText = (event, text) => {\n            this.setState({ text });\n            this.props.onChange(event, text);\n        };\n        this.updateTextWhenExpanded = (event, text) => {\n            this.setState({ textWhenExpanded: text });\n            this.props.onChange(event, text);\n        };\n        this.render = () => {\n            const _a = this.props, { \n            /* eslint-disable @typescript-eslint/no-unused-vars */\n            isExpanded, onChange, // Don't pass to 
\n /* eslint-enable @typescript-eslint/no-unused-vars */\n isReadOnly, isCode, isBlock, exitDelay, maxWidth, entryDelay, onCopy, hoverTip, clickTip, textAriaLabel, toggleAriaLabel, variant, position, className, additionalActions, ouiaId, ouiaSafe } = _a, divProps = __rest(_a, [\"isExpanded\", \"onChange\", \"isReadOnly\", \"isCode\", \"isBlock\", \"exitDelay\", \"maxWidth\", \"entryDelay\", \"onCopy\", \"hoverTip\", \"clickTip\", \"textAriaLabel\", \"toggleAriaLabel\", \"variant\", \"position\", \"className\", \"additionalActions\", \"ouiaId\", \"ouiaSafe\"]);\n const textIdPrefix = 'text-input-';\n const toggleIdPrefix = 'toggle-';\n const contentIdPrefix = 'content-';\n return (React.createElement(\"div\", Object.assign({ className: css(styles.clipboardCopy, variant === 'inline-compact' && styles.modifiers.inline, isBlock && styles.modifiers.block, this.state.expanded && styles.modifiers.expanded, className) }, divProps, getOUIAProps(ClipboardCopy.displayName, ouiaId, ouiaSafe)),\n variant === 'inline-compact' && (React.createElement(GenerateId, { prefix: \"\" }, (id) => (React.createElement(React.Fragment, null,\n !isCode && (React.createElement(\"span\", { className: css(styles.clipboardCopyText), id: `${textIdPrefix}${id}` }, this.state.text)),\n isCode && (React.createElement(\"code\", { className: css(styles.clipboardCopyText, styles.modifiers.code), id: `${textIdPrefix}${id}` }, this.state.text)),\n React.createElement(\"span\", { className: css(styles.clipboardCopyActions) },\n React.createElement(\"span\", { className: css(styles.clipboardCopyActionsItem) },\n React.createElement(ClipboardCopyButton, { variant: \"plain\", exitDelay: exitDelay, entryDelay: entryDelay, maxWidth: maxWidth, position: position, id: `copy-button-${id}`, textId: `text-input-${id}`, \"aria-label\": hoverTip, onClick: (event) => {\n onCopy(event, this.state.text);\n this.setState({ copied: true });\n }, onTooltipHidden: () => this.setState({ copied: false }) }, this.state.copied ? clickTip : hoverTip)),\n additionalActions && additionalActions))))),\n variant !== 'inline-compact' && (React.createElement(GenerateId, { prefix: \"\" }, (id) => (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { className: css(styles.clipboardCopyGroup) },\n variant === 'expansion' && (React.createElement(ClipboardCopyToggle, { isExpanded: this.state.expanded, onClick: (_event) => {\n this.expandContent(_event);\n if (this.state.expanded) {\n this.setState({ text: this.state.textWhenExpanded });\n }\n else {\n this.setState({ textWhenExpanded: this.state.text });\n }\n }, id: `${toggleIdPrefix}${id}`, textId: `${textIdPrefix}${id}`, contentId: `${contentIdPrefix}${id}`, \"aria-label\": toggleAriaLabel })),\n React.createElement(TextInput, Object.assign({ readOnlyVariant: isReadOnly || this.state.expanded ? 'default' : undefined, onChange: this.updateText, value: this.state.expanded ? this.state.textWhenExpanded : this.state.text, id: `text-input-${id}`, \"aria-label\": textAriaLabel }, (isCode && { dir: 'ltr' }))),\n React.createElement(ClipboardCopyButton, { exitDelay: exitDelay, entryDelay: entryDelay, maxWidth: maxWidth, position: position, id: `copy-button-${id}`, textId: `text-input-${id}`, \"aria-label\": hoverTip, onClick: (event) => {\n onCopy(event, this.state.expanded ? this.state.textWhenExpanded : this.state.text);\n this.setState({ copied: true });\n }, onTooltipHidden: () => this.setState({ copied: false }) }, this.state.copied ? clickTip : hoverTip)),\n this.state.expanded && (React.createElement(ClipboardCopyExpanded, { isReadOnly: isReadOnly, isCode: isCode, id: `content-${id}`, onChange: this.updateTextWhenExpanded }, this.state.text))))))));\n };\n const text = Array.isArray(this.props.children) ? this.props.children.join('') : this.props.children;\n this.state = {\n text,\n expanded: this.props.isExpanded,\n copied: false,\n textWhenExpanded: text\n };\n }\n}\nClipboardCopy.displayName = 'ClipboardCopy';\nClipboardCopy.defaultProps = {\n hoverTip: 'Copy to clipboard',\n clickTip: 'Successfully copied to clipboard!',\n isReadOnly: false,\n isExpanded: false,\n isCode: false,\n variant: 'inline',\n position: TooltipPosition.top,\n maxWidth: '150px',\n exitDelay: 1500,\n entryDelay: 300,\n onCopy: clipboardCopyFunc,\n onChange: () => undefined,\n textAriaLabel: 'Copyable input',\n toggleAriaLabel: 'Show content',\n additionalActions: null,\n ouiaSafe: true\n};\nexport { ClipboardCopy };\n//# sourceMappingURL=ClipboardCopy.js.map","import { useTranslation } from \"react-i18next\";\nimport { ActionGroup, ActionGroupProps, Button } from \"@patternfly/react-core\";\nimport { PropsWithChildren } from \"react\";\n\nimport style from \"./fixed-buttons.module.css\";\n\ntype FixedButtonGroupProps = ActionGroupProps & {\n name: string;\n save?: () => void;\n reset?: () => void;\n isSubmit?: boolean;\n isActive?: boolean;\n};\n\nexport const FixedButtonsGroup = ({\n name,\n save,\n reset,\n isSubmit = false,\n isActive = true,\n children,\n ...rest\n}: PropsWithChildren) => {\n const { t } = useTranslation();\n return (\n \n {(save || isSubmit) && (\n save?.()}\n type={isSubmit ? \"submit\" : \"button\"}\n >\n {t(\"save\")}\n \n )}\n {reset && (\n reset()}\n >\n {t(\"revert\")}\n \n )}\n {children}\n \n );\n};\n","import type { AccessType } from \"@keycloak/keycloak-admin-client/lib/defs/whoAmIRepresentation\";\nimport {\n ActionGroup,\n ClipboardCopy,\n Form,\n FormGroup,\n FormProps,\n Grid,\n GridItem,\n Stack,\n StackItem,\n TextArea,\n} from \"@patternfly/react-core\";\nimport {\n Children,\n cloneElement,\n isValidElement,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n} from \"react\";\nimport { Controller } from \"react-hook-form\";\n\nimport { useAccess } from \"../../context/access/Access\";\nimport { FixedButtonsGroup } from \"./FixedButtonGroup\";\n\nexport type FormAccessProps = FormProps & {\n /**\n * One of the AccessType's that the user needs to have to view this form. Also see {@link useAccess}.\n * @type {AccessType}\n */\n role: AccessType;\n\n /**\n * An override property if fine grained access has been setup for this form.\n * @type {boolean}\n */\n fineGrainedAccess?: boolean;\n\n /**\n * Set unWrap when you don't want this component to wrap your \"children\" in a {@link Form} component.\n * @type {boolean}\n */\n unWrap?: boolean;\n\n /**\n * Overwrite the fineGrainedAccess and make form regardless of access rights.\n */\n isReadOnly?: boolean;\n};\n\n/**\n * Use this in place of a patternfly Form component and add the `role` and `fineGrainedAccess` properties.\n * @param {FormAccessProps} param0 - all properties of Form + role and fineGrainedAccess\n */\nexport const FormAccess = ({\n children,\n role,\n fineGrainedAccess = false,\n isReadOnly = false,\n unWrap = false,\n ...rest\n}: PropsWithChildren) => {\n const { hasAccess } = useAccess();\n\n const recursiveCloneChildren = (\n children: ReactNode,\n newProps: any,\n ): ReactNode => {\n return Children.map(children, (child) => {\n if (!isValidElement(child)) {\n return child;\n }\n\n if (child.props) {\n const element = child as ReactElement;\n if (child.type === Controller) {\n return cloneElement(child, {\n ...element.props,\n render: (props: any) => {\n const renderElement = element.props.render(props);\n return cloneElement(renderElement, {\n ...renderElement.props,\n ...newProps,\n });\n },\n });\n }\n const children = recursiveCloneChildren(\n element.props.children,\n newProps,\n );\n switch (child.type) {\n case FixedButtonsGroup:\n return cloneElement(child, {\n isActive: !newProps.isDisabled,\n children,\n } as any);\n case TextArea:\n return cloneElement(child, {\n readOnly: newProps.isDisabled,\n children,\n } as any);\n }\n\n return cloneElement(\n child,\n child.type === FormGroup ||\n child.type === GridItem ||\n child.type === Grid ||\n child.type === ActionGroup ||\n child.type === ClipboardCopy ||\n child.type === Stack ||\n child.type === StackItem\n ? { children }\n : { ...newProps, children },\n );\n }\n return child;\n });\n };\n\n const isDisabled = isReadOnly || (!hasAccess(role) && !fineGrainedAccess);\n\n return (\n <>\n {!unWrap && (\n
\n {recursiveCloneChildren(children, isDisabled ? { isDisabled } : {})}\n
\n )}\n {unWrap &&\n recursiveCloneChildren(children, isDisabled ? { isDisabled } : {})}\n \n );\n};\n"],"names":["styles","ClipboardCopyButton","_a","onClick","exitDelay","entryDelay","maxWidth","position","ariaLabel","id","textId","children","variant","onTooltipHidden","className","props","__rest","triggerRef","React","Tooltip","Button","CopyIcon","ClipboardCopyToggle","contentId","isExpanded","css","AngleRightIcon","ClipboardCopyExpanded","onChange","isReadOnly","isCode","e","clipboardCopyFunc","_event","text","error","ClipboardCopyVariant","ClipboardCopy","prevProps","prevState","newText","event","isBlock","onCopy","hoverTip","clickTip","textAriaLabel","toggleAriaLabel","additionalActions","ouiaId","ouiaSafe","divProps","textIdPrefix","toggleIdPrefix","contentIdPrefix","getOUIAProps","GenerateId","TextInput","TooltipPosition","FixedButtonsGroup","name","save","reset","isSubmit","isActive","rest","t","useTranslation","ActionGroup","style","jsx","FormAccess","role","fineGrainedAccess","unWrap","hasAccess","useAccess","recursiveCloneChildren","newProps","Children","child","isValidElement","element","Controller","cloneElement","renderElement","TextArea","FormGroup","GridItem","Grid","Stack","StackItem","isDisabled","jsxs","Fragment","Form"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy