theme.keycloak.v2.admin.resources.assets.KeyValueInput-CoupoYmE.js.map Maven / Gradle / Ivy
{"version":3,"file":"KeyValueInput-CoupoYmE.js","sources":["../../src/components/key-value-form/ValueSelect.tsx","../../src/components/key-value-form/KeyValueInput.tsx"],"sourcesContent":["import { KeycloakSelect } from \"@keycloak/keycloak-ui-shared\";\nimport { SelectOption, TextInput } from \"@patternfly/react-core\";\nimport { useMemo, useState } from \"react\";\nimport { UseControllerProps, useController } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { DefaultValue } from \"./KeyValueInput\";\n\ntype ValueSelectProps = UseControllerProps & {\n selectItems: DefaultValue[];\n keyValue: string;\n};\n\nexport const ValueSelect = ({\n selectItems,\n keyValue,\n ...rest\n}: ValueSelectProps) => {\n const { t } = useTranslation();\n const { field } = useController(rest);\n const [open, setOpen] = useState(false);\n\n const defaultItem = useMemo(\n () => selectItems.find((v) => v.key === keyValue),\n [selectItems, keyValue],\n );\n\n return defaultItem?.values ? (\n setOpen(isOpen)}\n isOpen={open}\n onSelect={(value) => {\n field.onChange(value);\n setOpen(false);\n }}\n selections={field.value ? [field.value] : t(\"choose\")}\n placeholderText={t(\"valuePlaceholder\")}\n >\n {defaultItem.values.map((item) => (\n \n {item}\n \n ))}\n \n ) : (\n \n );\n};\n","import {\n ActionList,\n ActionListItem,\n Button,\n EmptyState,\n EmptyStateBody,\n EmptyStateFooter,\n Grid,\n GridItem,\n HelperText,\n HelperTextItem,\n TextInput,\n} from \"@patternfly/react-core\";\nimport { MinusCircleIcon, PlusCircleIcon } from \"@patternfly/react-icons\";\nimport { Fragment } from \"react\";\nimport {\n FieldValues,\n useFieldArray,\n useFormContext,\n useWatch,\n} from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { KeySelect } from \"./KeySelect\";\nimport { ValueSelect } from \"./ValueSelect\";\n\nexport type DefaultValue = {\n key: string;\n values?: string[];\n label: string;\n};\n\ntype KeyValueInputProps = {\n name: string;\n label?: string;\n defaultKeyValue?: DefaultValue[];\n isDisabled?: boolean;\n};\n\nexport const KeyValueInput = ({\n name,\n label = \"attributes\",\n defaultKeyValue,\n isDisabled = false,\n}: KeyValueInputProps) => {\n const { t } = useTranslation();\n const {\n control,\n register,\n formState: { errors },\n } = useFormContext();\n\n const { fields, append, remove } = useFieldArray({\n shouldUnregister: true,\n control,\n name,\n });\n\n const appendNew = () => append({ key: \"\", value: \"\" });\n\n const values = useWatch({\n name,\n control,\n defaultValue: [],\n });\n\n return fields.length > 0 ? (\n <>\n \n \n {t(\"key\")}\n \n \n {t(\"value\")}\n \n {fields.map((attribute, index) => {\n const error = (errors as any)[name]?.[index];\n const keyError = !!error?.key;\n const valueErrorPresent = !!error?.value || !!error?.message;\n const valueError = error?.message || t(\"valueError\");\n return (\n \n \n {defaultKeyValue ? (\n \n ) : (\n \n )}\n {keyError && (\n \n \n {t(\"keyError\")}\n \n \n )}\n \n \n {defaultKeyValue ? (\n \n ) : (\n \n )}\n {valueErrorPresent && (\n \n \n {valueError}\n \n \n )}\n \n \n \n \n \n );\n })}\n \n \n \n }\n onClick={appendNew}\n isDisabled={isDisabled}\n >\n {t(\"addAttribute\", { label })}\n \n \n \n >\n ) : (\n \n {t(\"missingAttributes\", { label })} \n \n }\n size=\"sm\"\n onClick={appendNew}\n isDisabled={isDisabled}\n >\n {t(\"addAttribute\", { label })}\n \n \n \n );\n};\n"],"names":["ValueSelect","selectItems","keyValue","rest","t","useTranslation","field","useController","open","setOpen","useState","defaultItem","useMemo","v","jsx","KeycloakSelect","isOpen","value","item","SelectOption","TextInput","KeyValueInput","name","label","defaultKeyValue","isDisabled","control","register","errors","useFormContext","fields","append","remove","useFieldArray","appendNew","values","useWatch","jsxs","Fragment","Grid","GridItem","attribute","index","error","keyError","valueErrorPresent","valueError","KeySelect","HelperText","HelperTextItem","Button","MinusCircleIcon","ActionList","ActionListItem","PlusCircleIcon","EmptyState","EmptyStateBody","EmptyStateFooter"],"mappings":"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"}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy