@backstage-community/plugin-rbac 1.40.0 → 1.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/components/Administration.esm.js +2 -2
- package/dist/components/Administration.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/AddNestedConditionButton.esm.js +16 -7
- package/dist/components/ConditionalAccess/AddNestedConditionButton.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/ComplexConditionRow.esm.js +40 -38
- package/dist/components/ConditionalAccess/ComplexConditionRow.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/ComplexConditionRowButtons.esm.js +34 -32
- package/dist/components/ConditionalAccess/ComplexConditionRowButtons.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/ConditionRule.esm.js +2 -2
- package/dist/components/ConditionalAccess/ConditionRule.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/ConditionalAccessSidebar.esm.js +63 -53
- package/dist/components/ConditionalAccess/ConditionalAccessSidebar.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/ConditionsForm.esm.js +108 -96
- package/dist/components/ConditionalAccess/ConditionsForm.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/ConditionsFormRow.esm.js +236 -215
- package/dist/components/ConditionalAccess/ConditionsFormRow.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/ConditionsFormRowFields.esm.js +63 -60
- package/dist/components/ConditionalAccess/ConditionsFormRowFields.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/CriteriaToggleButton.esm.js +5 -5
- package/dist/components/ConditionalAccess/CriteriaToggleButton.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/CustomArrayField.esm.js +33 -31
- package/dist/components/ConditionalAccess/CustomArrayField.esm.js.map +1 -1
- package/dist/components/ConditionalAccess/RulesDropdownOption.esm.js +11 -10
- package/dist/components/ConditionalAccess/RulesDropdownOption.esm.js.map +1 -1
- package/dist/components/CreateRole/AddMembersForm.esm.js +69 -59
- package/dist/components/CreateRole/AddMembersForm.esm.js.map +1 -1
- package/dist/components/CreateRole/AddedMembersTable.esm.js +3 -3
- package/dist/components/CreateRole/AddedMembersTable.esm.js.map +1 -1
- package/dist/components/CreateRole/AddedMembersTableColumn.esm.js +7 -7
- package/dist/components/CreateRole/AddedMembersTableColumn.esm.js.map +1 -1
- package/dist/components/CreateRole/CancelDialog.esm.js +73 -59
- package/dist/components/CreateRole/CancelDialog.esm.js.map +1 -1
- package/dist/components/CreateRole/CreateRolePage.esm.js +23 -20
- package/dist/components/CreateRole/CreateRolePage.esm.js.map +1 -1
- package/dist/components/CreateRole/EditRolePage.esm.js +27 -24
- package/dist/components/CreateRole/EditRolePage.esm.js.map +1 -1
- package/dist/components/CreateRole/MembersDropdownOption.esm.js +34 -24
- package/dist/components/CreateRole/MembersDropdownOption.esm.js.map +1 -1
- package/dist/components/CreateRole/PermissionPoliciesForm.esm.js +39 -26
- package/dist/components/CreateRole/PermissionPoliciesForm.esm.js.map +1 -1
- package/dist/components/CreateRole/PermissionPoliciesFormNestedRow.esm.js +107 -90
- package/dist/components/CreateRole/PermissionPoliciesFormNestedRow.esm.js.map +1 -1
- package/dist/components/CreateRole/PermissionPoliciesFormRow.esm.js +82 -72
- package/dist/components/CreateRole/PermissionPoliciesFormRow.esm.js.map +1 -1
- package/dist/components/CreateRole/PermissionPoliciesFormTable.esm.js +127 -111
- package/dist/components/CreateRole/PermissionPoliciesFormTable.esm.js.map +1 -1
- package/dist/components/CreateRole/PluginsDropdown.esm.js +6 -5
- package/dist/components/CreateRole/PluginsDropdown.esm.js.map +1 -1
- package/dist/components/CreateRole/PluginsDropdownOption.esm.js +21 -18
- package/dist/components/CreateRole/PluginsDropdownOption.esm.js.map +1 -1
- package/dist/components/CreateRole/ReviewStep.esm.js +21 -12
- package/dist/components/CreateRole/ReviewStep.esm.js.map +1 -1
- package/dist/components/CreateRole/ReviewStepTable.esm.js +18 -11
- package/dist/components/CreateRole/ReviewStepTable.esm.js.map +1 -1
- package/dist/components/CreateRole/RoleDetailsForm.esm.js +55 -53
- package/dist/components/CreateRole/RoleDetailsForm.esm.js.map +1 -1
- package/dist/components/CreateRole/RoleForm.esm.js +136 -113
- package/dist/components/CreateRole/RoleForm.esm.js.map +1 -1
- package/dist/components/DownloadUserStatistics.esm.js +5 -5
- package/dist/components/DownloadUserStatistics.esm.js.map +1 -1
- package/dist/components/EditRole.esm.js +6 -6
- package/dist/components/EditRole.esm.js.map +1 -1
- package/dist/components/RbacPage.esm.js +6 -3
- package/dist/components/RbacPage.esm.js.map +1 -1
- package/dist/components/RoleOverview/AboutCard.esm.js +46 -39
- package/dist/components/RoleOverview/AboutCard.esm.js.map +1 -1
- package/dist/components/RoleOverview/MembersCard.esm.js +36 -32
- package/dist/components/RoleOverview/MembersCard.esm.js.map +1 -1
- package/dist/components/RoleOverview/MembersListColumns.esm.js +5 -5
- package/dist/components/RoleOverview/MembersListColumns.esm.js.map +1 -1
- package/dist/components/RoleOverview/PermissionsCard.esm.js +36 -32
- package/dist/components/RoleOverview/PermissionsCard.esm.js.map +1 -1
- package/dist/components/RoleOverview/RoleOverviewPage.esm.js +39 -30
- package/dist/components/RoleOverview/RoleOverviewPage.esm.js.map +1 -1
- package/dist/components/RolesList/DeleteRole.esm.js +6 -6
- package/dist/components/RolesList/DeleteRole.esm.js.map +1 -1
- package/dist/components/RolesList/DeleteRoleDialog.esm.js +128 -92
- package/dist/components/RolesList/DeleteRoleDialog.esm.js.map +1 -1
- package/dist/components/RolesList/RolesList.esm.js +54 -46
- package/dist/components/RolesList/RolesList.esm.js.map +1 -1
- package/dist/components/RolesList/RolesListColumns.esm.js +19 -16
- package/dist/components/RolesList/RolesListColumns.esm.js.map +1 -1
- package/dist/components/RolesList/RolesListToolbar.esm.js +49 -36
- package/dist/components/RolesList/RolesListToolbar.esm.js.map +1 -1
- package/dist/components/Router.esm.js +14 -9
- package/dist/components/Router.esm.js.map +1 -1
- package/dist/components/SnackbarAlert.esm.js +5 -5
- package/dist/components/SnackbarAlert.esm.js.map +1 -1
- package/dist/components/ToastContext.esm.js +5 -4
- package/dist/components/ToastContext.esm.js.map +1 -1
- package/dist/hooks/useMembers.esm.js +2 -2
- package/dist/hooks/useMembers.esm.js.map +1 -1
- package/dist/hooks/usePermissionPolicies.esm.js +4 -4
- package/dist/hooks/usePermissionPolicies.esm.js.map +1 -1
- package/dist/hooks/useRoles.esm.js +9 -7
- package/dist/hooks/useRoles.esm.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionsFormRow.esm.js","sources":["../../../src/components/ConditionalAccess/ConditionsFormRow.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\n\nimport { PermissionCondition } from '@backstage/plugin-permission-common';\n\nimport AddIcon from '@mui/icons-material/Add';\nimport RemoveIcon from '@mui/icons-material/Remove';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport IconButton from '@mui/material/IconButton';\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport { useTheme } from '@mui/material/styles';\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup';\n\nimport {\n extractNestedConditions,\n getDefaultRule,\n getNestedConditionSimpleRulesCount,\n getSimpleRulesCount,\n isNestedConditionRule,\n isSimpleRule,\n nestedConditionButtons,\n resetErrors,\n ruleOptionDisabled,\n} from '../../utils/conditional-access-utils';\nimport { AddNestedConditionButton } from './AddNestedConditionButton';\nimport { ComplexConditionRow } from './ComplexConditionRow';\nimport { ComplexConditionRowButtons } from './ComplexConditionRowButtons';\nimport { ConditionRule } from './ConditionRule';\nimport { ConditionsFormRowFields } from './ConditionsFormRowFields';\nimport { conditionButtons, criterias } from './const';\nimport { CriteriaToggleButton } from './CriteriaToggleButton';\nimport {\n ComplexErrors,\n Condition,\n ConditionFormRowProps,\n ConditionsData,\n NestedCriteriaErrors,\n NotConditionType,\n} from './types';\n\nexport const ConditionsFormRow = ({\n conditionRulesData,\n conditionRow,\n selPluginResourceType,\n criteria,\n onRuleChange,\n setCriteria,\n setErrors,\n setRemoveAllClicked,\n}: ConditionFormRowProps) => {\n const theme = useTheme();\n const [nestedConditionRow, setNestedConditionRow] = React.useState<\n Condition[]\n >([]);\n const [notConditionType, setNotConditionType] =\n React.useState<NotConditionType>(NotConditionType.SimpleCondition);\n\n React.useEffect(() => {\n const nestedConditions: Condition[] = [];\n const criteriaTypes = [criterias.allOf, criterias.anyOf, criterias.not];\n switch (criteria) {\n case criterias.allOf:\n extractNestedConditions(\n conditionRow.allOf || [],\n criteriaTypes,\n nestedConditions,\n );\n break;\n case criterias.anyOf:\n extractNestedConditions(\n conditionRow.anyOf || [],\n criteriaTypes,\n nestedConditions,\n );\n break;\n case criterias.not:\n if (\n conditionRow.not &&\n criteriaTypes.includes(\n Object.keys(conditionRow.not)[0] as keyof ConditionsData,\n )\n ) {\n nestedConditions.push(conditionRow.not);\n setNotConditionType(NotConditionType.NestedCondition);\n }\n break;\n default:\n break;\n }\n\n setNestedConditionRow(nestedConditions);\n }, [conditionRow, criteria]);\n\n const handleCriteriaChange = (val: keyof ConditionsData) => {\n setCriteria(val);\n setErrors(resetErrors(val));\n\n const defaultRule = getDefaultRule(selPluginResourceType);\n\n const ruleMap = {\n [criterias.condition]: { condition: defaultRule },\n [criterias.allOf]: { allOf: [defaultRule] },\n [criterias.anyOf]: { anyOf: [defaultRule] },\n [criterias.not]: { not: defaultRule },\n };\n\n if (val === criterias.not) {\n setNotConditionType(NotConditionType.SimpleCondition);\n }\n\n const ruleChange = ruleMap[val];\n if (ruleChange) {\n onRuleChange(ruleChange);\n }\n };\n\n const updateRules = (updatedNestedConditionRow: Condition[] | Condition) => {\n const existingSimpleCondition =\n criteria !== criterias.not\n ? (conditionRow[criteria as keyof Condition] as Condition[])?.filter(\n con => isSimpleRule(con),\n ) || []\n : [];\n\n const newCondition: Condition[] = Array.isArray(updatedNestedConditionRow)\n ? [...existingSimpleCondition, ...updatedNestedConditionRow]\n : [...existingSimpleCondition, updatedNestedConditionRow];\n\n if (criteria === criterias.anyOf || criteria === criterias.allOf) {\n onRuleChange({\n [criteria]: newCondition,\n });\n } else if (\n criteria === criterias.not &&\n !Array.isArray(updatedNestedConditionRow)\n ) {\n onRuleChange({\n not: updatedNestedConditionRow,\n });\n }\n };\n\n const handleNestedConditionCriteriaChange = (\n val: string,\n nestedConditionIndex: number,\n ) => {\n const defaultRule = getDefaultRule(selPluginResourceType);\n\n const nestedConditionMap = {\n [criterias.not]: { [val]: defaultRule },\n [criterias.allOf]: { [val]: [defaultRule] },\n [criterias.anyOf]: { [val]: [defaultRule] },\n [criterias.condition]: { [val]: [defaultRule] },\n };\n\n const newCondition = nestedConditionMap[val] || { [val]: [defaultRule] };\n\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n\n if (updatedErrors[criteria] !== undefined) {\n if (criteria === criterias.not) {\n (updatedErrors[criteria] as ComplexErrors) =\n val !== criterias.not ? { [val]: [''] } : { [val]: '' };\n return updatedErrors;\n }\n const criteriaErrors = updatedErrors[criteria];\n const simpleRuleErrors = (criteriaErrors as ComplexErrors[]).filter(\n (err: ComplexErrors) => typeof err === 'string',\n );\n const nestedConditionErrors = (\n criteriaErrors as ComplexErrors[]\n ).filter((err: ComplexErrors) => typeof err !== 'string');\n nestedConditionErrors[nestedConditionIndex] =\n val !== criterias.not ? { [val]: [''] } : { [val]: '' };\n updatedErrors[criteria] = [\n ...simpleRuleErrors,\n ...nestedConditionErrors,\n ];\n }\n\n return updatedErrors;\n });\n\n if (criteria === criterias.not) {\n updateRules(newCondition);\n } else {\n const updatedNestedConditionRow = nestedConditionRow.map((c, index) => {\n if (index === nestedConditionIndex) {\n return newCondition;\n }\n return c;\n });\n updateRules(updatedNestedConditionRow);\n }\n };\n\n const handleAddNestedCondition = (currentCriteria: string) => {\n const newNestedCondition = {\n [criterias.allOf]: [getDefaultRule(selPluginResourceType)],\n };\n const updatedNestedConditionRow = [\n ...nestedConditionRow,\n newNestedCondition,\n ];\n updateRules(\n currentCriteria === criterias.not\n ? newNestedCondition\n : updatedNestedConditionRow,\n );\n\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n if (updatedErrors[currentCriteria]) {\n const criteriaErrors = updatedErrors[\n currentCriteria\n ] as ComplexErrors[];\n if (Array.isArray(criteriaErrors)) {\n criteriaErrors.push({ [criterias.allOf]: [''] });\n } else {\n (updatedErrors[currentCriteria] as ComplexErrors) = {\n [criterias.allOf]: [''],\n };\n }\n }\n return updatedErrors;\n });\n };\n\n const handleNotConditionTypeChange = (val: NotConditionType) => {\n setNotConditionType(val);\n setErrors(resetErrors(criteria, val));\n if (val === 'nested-condition') {\n handleAddNestedCondition(criterias.not);\n } else {\n onRuleChange({\n not: getDefaultRule(selPluginResourceType),\n });\n }\n };\n\n const handleAddRuleInNestedCondition = (\n nestedConditionCriteria: string,\n nestedConditionIndex: number,\n ) => {\n const updatedNestedConditionRow: Condition[] = [];\n\n nestedConditionRow.forEach((c, index) => {\n if (index === nestedConditionIndex) {\n updatedNestedConditionRow.push({\n [nestedConditionCriteria as keyof Condition]: [\n ...((c[\n nestedConditionCriteria as keyof Condition\n ] as PermissionCondition[]) || []),\n getDefaultRule(selPluginResourceType),\n ],\n });\n } else {\n updatedNestedConditionRow.push(c);\n }\n });\n updateRules(\n criteria === criterias.not\n ? updatedNestedConditionRow[0]\n : updatedNestedConditionRow,\n );\n\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n if (updatedErrors[criteria] !== undefined) {\n const criteriaErrors = updatedErrors[criteria];\n if (\n criteria === criterias.not &&\n notConditionType === 'nested-condition'\n ) {\n (\n (criteriaErrors as NestedCriteriaErrors)[\n nestedConditionCriteria\n ] as string[]\n ).push('');\n return updatedErrors;\n }\n const simpleRuleErrors = (criteriaErrors as ComplexErrors[]).filter(\n (err: ComplexErrors) => typeof err === 'string',\n );\n const nestedConditionErrors = (\n criteriaErrors as ComplexErrors[]\n ).filter((err: ComplexErrors) => typeof err !== 'string');\n\n (\n ((\n nestedConditionErrors[nestedConditionIndex] as NestedCriteriaErrors\n )[nestedConditionCriteria] as string[]) || []\n ).push('');\n updatedErrors[criteria] = [\n ...simpleRuleErrors,\n ...nestedConditionErrors,\n ];\n }\n return updatedErrors;\n });\n };\n\n const handleRemoveNestedCondition = (nestedConditionIndex: number) => {\n const updatedNestedConditionRow = nestedConditionRow.filter(\n (_, index) => index !== nestedConditionIndex,\n );\n\n updateRules(updatedNestedConditionRow);\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n\n if (updatedErrors[criteria] !== undefined) {\n const criteriaErrors = updatedErrors[criteria] as ComplexErrors[];\n const simpleRuleErrors = criteriaErrors.filter(\n (err: ComplexErrors) => typeof err === 'string',\n );\n const nestedConditionErrors = criteriaErrors.filter(\n (err: ComplexErrors) => typeof err !== 'string',\n );\n nestedConditionErrors.splice(nestedConditionIndex, 1);\n\n updatedErrors[criteria] = [\n ...simpleRuleErrors,\n ...nestedConditionErrors,\n ];\n }\n\n return updatedErrors;\n });\n };\n\n const updateErrors = (_index: number) => {\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n\n if (!Array.isArray(updatedErrors[criteria])) {\n updatedErrors[criteria] = [];\n }\n\n const firstNestedConditionErrorIndex =\n (updatedErrors[criteria] as ComplexErrors[]).findIndex(\n e => typeof e !== 'string',\n ) || 0;\n\n (updatedErrors[criteria] as ComplexErrors[]).splice(\n firstNestedConditionErrorIndex,\n 0,\n '',\n );\n\n return updatedErrors;\n });\n };\n\n const renderNestedConditionRow = (\n nc: Condition,\n nestedConditionIndex: number,\n ) => {\n const selectedNestedConditionCriteria = Object.keys(nc)[0];\n const simpleRulesCount = getSimpleRulesCount(conditionRow, criteria);\n const nestedConditionsCount = nestedConditionRow.length;\n const nestedConditionSimpleRulesCount = getNestedConditionSimpleRulesCount(\n nc,\n selectedNestedConditionCriteria,\n );\n return (\n nestedConditionSimpleRulesCount > 0 && (\n <Box\n mt={2}\n key={`nestedCondition-${nestedConditionIndex}`}\n sx={{\n padding: '20px',\n marginLeft: theme.spacing(3),\n border: `1px solid ${theme.palette.border}`,\n borderRadius: '4px',\n backgroundColor: theme.palette.background.default,\n '& input': {\n backgroundColor: `${theme.palette.background.paper}!important`,\n },\n }}\n >\n <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n <ToggleButtonGroup\n exclusive\n value={selectedNestedConditionCriteria}\n onChange={(_event, newNestedCriteria) =>\n handleNestedConditionCriteriaChange(\n newNestedCriteria,\n nestedConditionIndex,\n )\n }\n sx={{\n backgroundColor: theme.palette.background.paper,\n width: '60%',\n height: '100%',\n }}\n >\n {nestedConditionButtons.map(({ val, label }) => (\n <CriteriaToggleButton\n key={`nested-criteria-${val}`}\n val={val}\n label={label}\n selectedCriteria={selectedNestedConditionCriteria}\n theme={theme}\n />\n ))}\n </ToggleButtonGroup>\n {criteria !== criterias.not && (\n <IconButton\n title=\"Remove nested condition\"\n sx={{\n color: theme.palette.grey[500],\n flexGrow: 0,\n alignSelf: 'baseline',\n }}\n disabled={simpleRulesCount === 0 && nestedConditionsCount === 1} // 0 simple rules and this is the only 1 nested condition\n onClick={() =>\n handleRemoveNestedCondition(nestedConditionIndex)\n }\n >\n <RemoveIcon data-testid=\"remove-nested-condition\" />\n </IconButton>\n )}\n </div>\n <Box>\n {selectedNestedConditionCriteria !== criterias.not &&\n (\n nc[\n selectedNestedConditionCriteria as keyof Condition\n ] as PermissionCondition[]\n ).map((c, ncrIndex) => (\n <ComplexConditionRow\n key={`nested-condition-${nestedConditionIndex}-${ncrIndex}`}\n conditionRow={conditionRow}\n nestedConditionRow={nestedConditionRow}\n criteria={criteria}\n onRuleChange={onRuleChange}\n updateRules={updateRules}\n setErrors={setErrors}\n setRemoveAllClicked={setRemoveAllClicked}\n conditionRulesData={conditionRulesData}\n notConditionType={notConditionType}\n currentCondition={c}\n ruleIndex={ncrIndex}\n isNestedCondition\n nestedConditionIndex={nestedConditionIndex}\n activeNestedCriteria={\n selectedNestedConditionCriteria as 'allOf' | 'anyOf'\n }\n />\n ))}\n {selectedNestedConditionCriteria === criterias.not &&\n ((nc as ConditionsData).not as PermissionCondition)\n .resourceType && (\n <ConditionsFormRowFields\n oldCondition={\n (nc as ConditionsData).not ??\n getDefaultRule(selPluginResourceType)\n }\n onRuleChange={onRuleChange}\n conditionRow={conditionRow}\n criteria={criteria}\n conditionRulesData={conditionRulesData}\n setErrors={setErrors}\n optionDisabled={ruleOption =>\n ruleOptionDisabled(\n ruleOption,\n (nc as ConditionsData).not\n ? [(nc as ConditionsData).not as PermissionCondition]\n : undefined,\n )\n }\n setRemoveAllClicked={setRemoveAllClicked}\n nestedConditionRow={nestedConditionRow}\n nestedConditionCriteria={selectedNestedConditionCriteria}\n nestedConditionIndex={nestedConditionIndex}\n updateRules={updateRules}\n />\n )}\n {selectedNestedConditionCriteria !== criterias.not && (\n <Button\n sx={{\n mt: 1,\n color: theme.palette.primary.light,\n }}\n size=\"small\"\n onClick={() =>\n handleAddRuleInNestedCondition(\n selectedNestedConditionCriteria,\n nestedConditionIndex,\n )\n }\n startIcon={<AddIcon fontSize=\"small\" />}\n >\n Add rule\n </Button>\n )}\n </Box>\n </Box>\n )\n );\n };\n\n return (\n <Box\n sx={{\n padding: '20px',\n border: `1px solid ${theme.palette.border}`,\n borderRadius: '4px',\n backgroundColor: theme.palette.background.default,\n '& input': {\n color: `${theme.palette.textContrast}!important`,\n '&:-internal-autofill-selected, &:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active':\n {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.palette.background.paper} inset`,\n WebkitTextFillColor: `${theme.palette.textContrast}!important`,\n caretColor: `${theme.palette.textContrast}!important`,\n },\n },\n '& button': {\n textTransform: 'none',\n },\n }}\n data-testid=\"conditions-row\"\n >\n <ToggleButtonGroup\n exclusive\n value={criteria}\n onChange={(_event, newCriteria) => handleCriteriaChange(newCriteria)}\n sx={{\n backgroundColor: theme.palette.background.paper,\n width: '80%',\n }}\n >\n {conditionButtons.map(({ val, label }) => (\n <CriteriaToggleButton\n key={`criteria-${val}`}\n val={val}\n label={label}\n selectedCriteria={criteria}\n theme={theme}\n />\n ))}\n </ToggleButtonGroup>\n <ConditionRule\n conditionRow={conditionRow}\n selPluginResourceType={selPluginResourceType}\n onRuleChange={onRuleChange}\n criteria={criteria}\n conditionRulesData={conditionRulesData}\n setErrors={setErrors}\n setRemoveAllClicked={setRemoveAllClicked}\n />\n {criteria !== criterias.condition && (\n <Box>\n {criteria !== criterias.not &&\n (conditionRow[criteria] as PermissionCondition[])?.map(\n (c, srIndex) => (\n <ComplexConditionRow\n key={`${criteria}-simple-condition-${srIndex}`}\n conditionRow={conditionRow}\n nestedConditionRow={nestedConditionRow}\n criteria={criteria}\n onRuleChange={onRuleChange}\n updateRules={updateRules}\n setErrors={setErrors}\n setRemoveAllClicked={setRemoveAllClicked}\n conditionRulesData={conditionRulesData}\n notConditionType={notConditionType}\n currentCondition={c}\n ruleIndex={srIndex}\n activeCriteria={criteria as 'allOf' | 'anyOf'}\n />\n ),\n )}\n {criteria === criterias.not && (\n <RadioGroup\n sx={{\n margin: theme.spacing(1),\n }}\n value={notConditionType}\n onChange={(_event, value) =>\n handleNotConditionTypeChange(value as NotConditionType)\n }\n >\n <FormControlLabel\n value={NotConditionType.SimpleCondition}\n control={<Radio color=\"primary\" />}\n label=\"Add rule\"\n sx={{\n marginTop: theme.spacing(1),\n }}\n />\n {notConditionType === NotConditionType.SimpleCondition && (\n <ConditionsFormRowFields\n oldCondition={\n conditionRow.not ?? getDefaultRule(selPluginResourceType)\n }\n onRuleChange={onRuleChange}\n conditionRow={conditionRow}\n criteria={criteria}\n conditionRulesData={conditionRulesData}\n setErrors={setErrors}\n optionDisabled={ruleOption =>\n ruleOptionDisabled(\n ruleOption,\n conditionRow.not\n ? [conditionRow.not as PermissionCondition]\n : undefined,\n )\n }\n setRemoveAllClicked={setRemoveAllClicked}\n />\n )}\n <FormControlLabel\n value={NotConditionType.NestedCondition}\n control={<Radio color=\"primary\" />}\n label={<AddNestedConditionButton />}\n sx={{\n marginTop: theme.spacing(1),\n }}\n />\n </RadioGroup>\n )}\n <ComplexConditionRowButtons\n conditionRow={conditionRow}\n onRuleChange={onRuleChange}\n criteria={criteria}\n selPluginResourceType={selPluginResourceType}\n updateErrors={updateErrors}\n isNestedConditionRule={isNestedConditionRule}\n handleAddNestedCondition={handleAddNestedCondition}\n />\n {nestedConditionRow?.length > 0 &&\n nestedConditionRow.map((nc, nestedConditionIndex) =>\n renderNestedConditionRow(nc, nestedConditionIndex),\n )}\n </Box>\n )}\n </Box>\n );\n};\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConditionsFormRow.esm.js","sources":["../../../src/components/ConditionalAccess/ConditionsFormRow.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useState, useEffect } from 'react';\n\nimport { PermissionCondition } from '@backstage/plugin-permission-common';\n\nimport AddIcon from '@mui/icons-material/Add';\nimport RemoveIcon from '@mui/icons-material/Remove';\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport IconButton from '@mui/material/IconButton';\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport { useTheme } from '@mui/material/styles';\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup';\n\nimport {\n extractNestedConditions,\n getDefaultRule,\n getNestedConditionSimpleRulesCount,\n getSimpleRulesCount,\n isNestedConditionRule,\n isSimpleRule,\n nestedConditionButtons,\n resetErrors,\n ruleOptionDisabled,\n} from '../../utils/conditional-access-utils';\nimport { AddNestedConditionButton } from './AddNestedConditionButton';\nimport { ComplexConditionRow } from './ComplexConditionRow';\nimport { ComplexConditionRowButtons } from './ComplexConditionRowButtons';\nimport { ConditionRule } from './ConditionRule';\nimport { ConditionsFormRowFields } from './ConditionsFormRowFields';\nimport { conditionButtons, criterias } from './const';\nimport { CriteriaToggleButton } from './CriteriaToggleButton';\nimport {\n ComplexErrors,\n Condition,\n ConditionFormRowProps,\n ConditionsData,\n NestedCriteriaErrors,\n NotConditionType,\n} from './types';\n\nexport const ConditionsFormRow = ({\n conditionRulesData,\n conditionRow,\n selPluginResourceType,\n criteria,\n onRuleChange,\n setCriteria,\n setErrors,\n setRemoveAllClicked,\n}: ConditionFormRowProps) => {\n const theme = useTheme();\n const [nestedConditionRow, setNestedConditionRow] = useState<Condition[]>([]);\n const [notConditionType, setNotConditionType] = useState<NotConditionType>(\n NotConditionType.SimpleCondition,\n );\n\n useEffect(() => {\n const nestedConditions: Condition[] = [];\n const criteriaTypes = [criterias.allOf, criterias.anyOf, criterias.not];\n switch (criteria) {\n case criterias.allOf:\n extractNestedConditions(\n conditionRow.allOf || [],\n criteriaTypes,\n nestedConditions,\n );\n break;\n case criterias.anyOf:\n extractNestedConditions(\n conditionRow.anyOf || [],\n criteriaTypes,\n nestedConditions,\n );\n break;\n case criterias.not:\n if (\n conditionRow.not &&\n criteriaTypes.includes(\n Object.keys(conditionRow.not)[0] as keyof ConditionsData,\n )\n ) {\n nestedConditions.push(conditionRow.not);\n setNotConditionType(NotConditionType.NestedCondition);\n }\n break;\n default:\n break;\n }\n\n setNestedConditionRow(nestedConditions);\n }, [conditionRow, criteria]);\n\n const handleCriteriaChange = (val: keyof ConditionsData) => {\n setCriteria(val);\n setErrors(resetErrors(val));\n\n const defaultRule = getDefaultRule(selPluginResourceType);\n\n const ruleMap = {\n [criterias.condition]: { condition: defaultRule },\n [criterias.allOf]: { allOf: [defaultRule] },\n [criterias.anyOf]: { anyOf: [defaultRule] },\n [criterias.not]: { not: defaultRule },\n };\n\n if (val === criterias.not) {\n setNotConditionType(NotConditionType.SimpleCondition);\n }\n\n const ruleChange = ruleMap[val];\n if (ruleChange) {\n onRuleChange(ruleChange);\n }\n };\n\n const updateRules = (updatedNestedConditionRow: Condition[] | Condition) => {\n const existingSimpleCondition =\n criteria !== criterias.not\n ? (conditionRow[criteria as keyof Condition] as Condition[])?.filter(\n con => isSimpleRule(con),\n ) || []\n : [];\n\n const newCondition: Condition[] = Array.isArray(updatedNestedConditionRow)\n ? [...existingSimpleCondition, ...updatedNestedConditionRow]\n : [...existingSimpleCondition, updatedNestedConditionRow];\n\n if (criteria === criterias.anyOf || criteria === criterias.allOf) {\n onRuleChange({\n [criteria]: newCondition,\n });\n } else if (\n criteria === criterias.not &&\n !Array.isArray(updatedNestedConditionRow)\n ) {\n onRuleChange({\n not: updatedNestedConditionRow,\n });\n }\n };\n\n const handleNestedConditionCriteriaChange = (\n val: string,\n nestedConditionIndex: number,\n ) => {\n const defaultRule = getDefaultRule(selPluginResourceType);\n\n const nestedConditionMap = {\n [criterias.not]: { [val]: defaultRule },\n [criterias.allOf]: { [val]: [defaultRule] },\n [criterias.anyOf]: { [val]: [defaultRule] },\n [criterias.condition]: { [val]: [defaultRule] },\n };\n\n const newCondition = nestedConditionMap[val] || { [val]: [defaultRule] };\n\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n\n if (updatedErrors[criteria] !== undefined) {\n if (criteria === criterias.not) {\n (updatedErrors[criteria] as ComplexErrors) =\n val !== criterias.not ? { [val]: [''] } : { [val]: '' };\n return updatedErrors;\n }\n const criteriaErrors = updatedErrors[criteria];\n const simpleRuleErrors = (criteriaErrors as ComplexErrors[]).filter(\n (err: ComplexErrors) => typeof err === 'string',\n );\n const nestedConditionErrors = (\n criteriaErrors as ComplexErrors[]\n ).filter((err: ComplexErrors) => typeof err !== 'string');\n nestedConditionErrors[nestedConditionIndex] =\n val !== criterias.not ? { [val]: [''] } : { [val]: '' };\n updatedErrors[criteria] = [\n ...simpleRuleErrors,\n ...nestedConditionErrors,\n ];\n }\n\n return updatedErrors;\n });\n\n if (criteria === criterias.not) {\n updateRules(newCondition);\n } else {\n const updatedNestedConditionRow = nestedConditionRow.map((c, index) => {\n if (index === nestedConditionIndex) {\n return newCondition;\n }\n return c;\n });\n updateRules(updatedNestedConditionRow);\n }\n };\n\n const handleAddNestedCondition = (currentCriteria: string) => {\n const newNestedCondition = {\n [criterias.allOf]: [getDefaultRule(selPluginResourceType)],\n };\n const updatedNestedConditionRow = [\n ...nestedConditionRow,\n newNestedCondition,\n ];\n updateRules(\n currentCriteria === criterias.not\n ? newNestedCondition\n : updatedNestedConditionRow,\n );\n\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n if (updatedErrors[currentCriteria]) {\n const criteriaErrors = updatedErrors[\n currentCriteria\n ] as ComplexErrors[];\n if (Array.isArray(criteriaErrors)) {\n criteriaErrors.push({ [criterias.allOf]: [''] });\n } else {\n (updatedErrors[currentCriteria] as ComplexErrors) = {\n [criterias.allOf]: [''],\n };\n }\n }\n return updatedErrors;\n });\n };\n\n const handleNotConditionTypeChange = (val: NotConditionType) => {\n setNotConditionType(val);\n setErrors(resetErrors(criteria, val));\n if (val === 'nested-condition') {\n handleAddNestedCondition(criterias.not);\n } else {\n onRuleChange({\n not: getDefaultRule(selPluginResourceType),\n });\n }\n };\n\n const handleAddRuleInNestedCondition = (\n nestedConditionCriteria: string,\n nestedConditionIndex: number,\n ) => {\n const updatedNestedConditionRow: Condition[] = [];\n\n nestedConditionRow.forEach((c, index) => {\n if (index === nestedConditionIndex) {\n updatedNestedConditionRow.push({\n [nestedConditionCriteria as keyof Condition]: [\n ...((c[\n nestedConditionCriteria as keyof Condition\n ] as PermissionCondition[]) || []),\n getDefaultRule(selPluginResourceType),\n ],\n });\n } else {\n updatedNestedConditionRow.push(c);\n }\n });\n updateRules(\n criteria === criterias.not\n ? updatedNestedConditionRow[0]\n : updatedNestedConditionRow,\n );\n\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n if (updatedErrors[criteria] !== undefined) {\n const criteriaErrors = updatedErrors[criteria];\n if (\n criteria === criterias.not &&\n notConditionType === 'nested-condition'\n ) {\n (\n (criteriaErrors as NestedCriteriaErrors)[\n nestedConditionCriteria\n ] as string[]\n ).push('');\n return updatedErrors;\n }\n const simpleRuleErrors = (criteriaErrors as ComplexErrors[]).filter(\n (err: ComplexErrors) => typeof err === 'string',\n );\n const nestedConditionErrors = (\n criteriaErrors as ComplexErrors[]\n ).filter((err: ComplexErrors) => typeof err !== 'string');\n\n (\n ((\n nestedConditionErrors[nestedConditionIndex] as NestedCriteriaErrors\n )[nestedConditionCriteria] as string[]) || []\n ).push('');\n updatedErrors[criteria] = [\n ...simpleRuleErrors,\n ...nestedConditionErrors,\n ];\n }\n return updatedErrors;\n });\n };\n\n const handleRemoveNestedCondition = (nestedConditionIndex: number) => {\n const updatedNestedConditionRow = nestedConditionRow.filter(\n (_, index) => index !== nestedConditionIndex,\n );\n\n updateRules(updatedNestedConditionRow);\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n\n if (updatedErrors[criteria] !== undefined) {\n const criteriaErrors = updatedErrors[criteria] as ComplexErrors[];\n const simpleRuleErrors = criteriaErrors.filter(\n (err: ComplexErrors) => typeof err === 'string',\n );\n const nestedConditionErrors = criteriaErrors.filter(\n (err: ComplexErrors) => typeof err !== 'string',\n );\n nestedConditionErrors.splice(nestedConditionIndex, 1);\n\n updatedErrors[criteria] = [\n ...simpleRuleErrors,\n ...nestedConditionErrors,\n ];\n }\n\n return updatedErrors;\n });\n };\n\n const updateErrors = (_index: number) => {\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n\n if (!Array.isArray(updatedErrors[criteria])) {\n updatedErrors[criteria] = [];\n }\n\n const firstNestedConditionErrorIndex =\n (updatedErrors[criteria] as ComplexErrors[]).findIndex(\n e => typeof e !== 'string',\n ) || 0;\n\n (updatedErrors[criteria] as ComplexErrors[]).splice(\n firstNestedConditionErrorIndex,\n 0,\n '',\n );\n\n return updatedErrors;\n });\n };\n\n const renderNestedConditionRow = (\n nc: Condition,\n nestedConditionIndex: number,\n ) => {\n const selectedNestedConditionCriteria = Object.keys(nc)[0];\n const simpleRulesCount = getSimpleRulesCount(conditionRow, criteria);\n const nestedConditionsCount = nestedConditionRow.length;\n const nestedConditionSimpleRulesCount = getNestedConditionSimpleRulesCount(\n nc,\n selectedNestedConditionCriteria,\n );\n return (\n nestedConditionSimpleRulesCount > 0 && (\n <Box\n mt={2}\n key={`nestedCondition-${nestedConditionIndex}`}\n sx={{\n padding: '20px',\n marginLeft: theme.spacing(3),\n border: `1px solid ${theme.palette.border}`,\n borderRadius: '4px',\n backgroundColor: theme.palette.background.default,\n '& input': {\n backgroundColor: `${theme.palette.background.paper}!important`,\n },\n }}\n >\n <div style={{ display: 'flex', justifyContent: 'space-between' }}>\n <ToggleButtonGroup\n exclusive\n value={selectedNestedConditionCriteria}\n onChange={(_event, newNestedCriteria) =>\n handleNestedConditionCriteriaChange(\n newNestedCriteria,\n nestedConditionIndex,\n )\n }\n sx={{\n backgroundColor: theme.palette.background.paper,\n width: '60%',\n height: '100%',\n }}\n >\n {nestedConditionButtons.map(({ val, label }) => (\n <CriteriaToggleButton\n key={`nested-criteria-${val}`}\n val={val}\n label={label}\n selectedCriteria={selectedNestedConditionCriteria}\n theme={theme}\n />\n ))}\n </ToggleButtonGroup>\n {criteria !== criterias.not && (\n <IconButton\n title=\"Remove nested condition\"\n sx={{\n color: theme.palette.grey[500],\n flexGrow: 0,\n alignSelf: 'baseline',\n }}\n disabled={simpleRulesCount === 0 && nestedConditionsCount === 1} // 0 simple rules and this is the only 1 nested condition\n onClick={() =>\n handleRemoveNestedCondition(nestedConditionIndex)\n }\n >\n <RemoveIcon data-testid=\"remove-nested-condition\" />\n </IconButton>\n )}\n </div>\n <Box>\n {selectedNestedConditionCriteria !== criterias.not &&\n (\n nc[\n selectedNestedConditionCriteria as keyof Condition\n ] as PermissionCondition[]\n ).map((c, ncrIndex) => (\n <ComplexConditionRow\n key={`nested-condition-${nestedConditionIndex}-${ncrIndex}`}\n conditionRow={conditionRow}\n nestedConditionRow={nestedConditionRow}\n criteria={criteria}\n onRuleChange={onRuleChange}\n updateRules={updateRules}\n setErrors={setErrors}\n setRemoveAllClicked={setRemoveAllClicked}\n conditionRulesData={conditionRulesData}\n notConditionType={notConditionType}\n currentCondition={c}\n ruleIndex={ncrIndex}\n isNestedCondition\n nestedConditionIndex={nestedConditionIndex}\n activeNestedCriteria={\n selectedNestedConditionCriteria as 'allOf' | 'anyOf'\n }\n />\n ))}\n {selectedNestedConditionCriteria === criterias.not &&\n ((nc as ConditionsData).not as PermissionCondition)\n .resourceType && (\n <ConditionsFormRowFields\n oldCondition={\n (nc as ConditionsData).not ??\n getDefaultRule(selPluginResourceType)\n }\n onRuleChange={onRuleChange}\n conditionRow={conditionRow}\n criteria={criteria}\n conditionRulesData={conditionRulesData}\n setErrors={setErrors}\n optionDisabled={ruleOption =>\n ruleOptionDisabled(\n ruleOption,\n (nc as ConditionsData).not\n ? [(nc as ConditionsData).not as PermissionCondition]\n : undefined,\n )\n }\n setRemoveAllClicked={setRemoveAllClicked}\n nestedConditionRow={nestedConditionRow}\n nestedConditionCriteria={selectedNestedConditionCriteria}\n nestedConditionIndex={nestedConditionIndex}\n updateRules={updateRules}\n />\n )}\n {selectedNestedConditionCriteria !== criterias.not && (\n <Button\n sx={{\n mt: 1,\n color: theme.palette.primary.light,\n }}\n size=\"small\"\n onClick={() =>\n handleAddRuleInNestedCondition(\n selectedNestedConditionCriteria,\n nestedConditionIndex,\n )\n }\n startIcon={<AddIcon fontSize=\"small\" />}\n >\n Add rule\n </Button>\n )}\n </Box>\n </Box>\n )\n );\n };\n\n return (\n <Box\n sx={{\n padding: '20px',\n border: `1px solid ${theme.palette.border}`,\n borderRadius: '4px',\n backgroundColor: theme.palette.background.default,\n '& input': {\n color: `${theme.palette.textContrast}!important`,\n '&:-internal-autofill-selected, &:-webkit-autofill, &:-webkit-autofill:hover, &:-webkit-autofill:focus, &:-webkit-autofill:active':\n {\n WebkitBoxShadow: `0 0 0px 1000px ${theme.palette.background.paper} inset`,\n WebkitTextFillColor: `${theme.palette.textContrast}!important`,\n caretColor: `${theme.palette.textContrast}!important`,\n },\n },\n '& button': {\n textTransform: 'none',\n },\n }}\n data-testid=\"conditions-row\"\n >\n <ToggleButtonGroup\n exclusive\n value={criteria}\n onChange={(_event, newCriteria) => handleCriteriaChange(newCriteria)}\n sx={{\n backgroundColor: theme.palette.background.paper,\n width: '80%',\n }}\n >\n {conditionButtons.map(({ val, label }) => (\n <CriteriaToggleButton\n key={`criteria-${val}`}\n val={val}\n label={label}\n selectedCriteria={criteria}\n theme={theme}\n />\n ))}\n </ToggleButtonGroup>\n <ConditionRule\n conditionRow={conditionRow}\n selPluginResourceType={selPluginResourceType}\n onRuleChange={onRuleChange}\n criteria={criteria}\n conditionRulesData={conditionRulesData}\n setErrors={setErrors}\n setRemoveAllClicked={setRemoveAllClicked}\n />\n {criteria !== criterias.condition && (\n <Box>\n {criteria !== criterias.not &&\n (conditionRow[criteria] as PermissionCondition[])?.map(\n (c, srIndex) => (\n <ComplexConditionRow\n key={`${criteria}-simple-condition-${srIndex}`}\n conditionRow={conditionRow}\n nestedConditionRow={nestedConditionRow}\n criteria={criteria}\n onRuleChange={onRuleChange}\n updateRules={updateRules}\n setErrors={setErrors}\n setRemoveAllClicked={setRemoveAllClicked}\n conditionRulesData={conditionRulesData}\n notConditionType={notConditionType}\n currentCondition={c}\n ruleIndex={srIndex}\n activeCriteria={criteria as 'allOf' | 'anyOf'}\n />\n ),\n )}\n {criteria === criterias.not && (\n <RadioGroup\n sx={{\n margin: theme.spacing(1),\n }}\n value={notConditionType}\n onChange={(_event, value) =>\n handleNotConditionTypeChange(value as NotConditionType)\n }\n >\n <FormControlLabel\n value={NotConditionType.SimpleCondition}\n control={<Radio color=\"primary\" />}\n label=\"Add rule\"\n sx={{\n marginTop: theme.spacing(1),\n }}\n />\n {notConditionType === NotConditionType.SimpleCondition && (\n <ConditionsFormRowFields\n oldCondition={\n conditionRow.not ?? getDefaultRule(selPluginResourceType)\n }\n onRuleChange={onRuleChange}\n conditionRow={conditionRow}\n criteria={criteria}\n conditionRulesData={conditionRulesData}\n setErrors={setErrors}\n optionDisabled={ruleOption =>\n ruleOptionDisabled(\n ruleOption,\n conditionRow.not\n ? [conditionRow.not as PermissionCondition]\n : undefined,\n )\n }\n setRemoveAllClicked={setRemoveAllClicked}\n />\n )}\n <FormControlLabel\n value={NotConditionType.NestedCondition}\n control={<Radio color=\"primary\" />}\n label={<AddNestedConditionButton />}\n sx={{\n marginTop: theme.spacing(1),\n }}\n />\n </RadioGroup>\n )}\n <ComplexConditionRowButtons\n conditionRow={conditionRow}\n onRuleChange={onRuleChange}\n criteria={criteria}\n selPluginResourceType={selPluginResourceType}\n updateErrors={updateErrors}\n isNestedConditionRule={isNestedConditionRule}\n handleAddNestedCondition={handleAddNestedCondition}\n />\n {nestedConditionRow?.length > 0 &&\n nestedConditionRow.map((nc, nestedConditionIndex) =>\n renderNestedConditionRow(nc, nestedConditionIndex),\n )}\n </Box>\n )}\n </Box>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import Autocomplete from '@mui/material/Autocomplete';
|
|
3
3
|
import Box from '@mui/material/Box';
|
|
4
4
|
import { useTheme } from '@mui/material/styles';
|
|
@@ -233,65 +233,68 @@ const ConditionsFormRowFields = ({
|
|
|
233
233
|
handleConditionChange(newCondition);
|
|
234
234
|
}
|
|
235
235
|
};
|
|
236
|
-
return /* @__PURE__ */
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
{
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
236
|
+
return /* @__PURE__ */ jsxs(Box, { className: classes.inputFieldContainer, children: [
|
|
237
|
+
/* @__PURE__ */ jsx(
|
|
238
|
+
Autocomplete,
|
|
239
|
+
{
|
|
240
|
+
style: { width: "50%", marginTop: "26px" },
|
|
241
|
+
sx: getTextFieldStyles(theme),
|
|
242
|
+
options: rules ?? [],
|
|
243
|
+
value: oldCondition?.rule || null,
|
|
244
|
+
getOptionDisabled: (option) => optionDisabled ? optionDisabled(option) : false,
|
|
245
|
+
onChange: (_event, ruleVal) => onConditionChange({
|
|
246
|
+
...oldCondition,
|
|
247
|
+
rule: ruleVal ?? "",
|
|
248
|
+
params: {}
|
|
249
|
+
}),
|
|
250
|
+
renderOption: (props, option) => /* @__PURE__ */ jsx(
|
|
251
|
+
RulesDropdownOption,
|
|
252
|
+
{
|
|
253
|
+
props,
|
|
254
|
+
label: option ?? "",
|
|
255
|
+
rulesData: conditionRulesData
|
|
256
|
+
}
|
|
257
|
+
),
|
|
258
|
+
renderInput: (params) => /* @__PURE__ */ jsx(
|
|
259
|
+
TextField,
|
|
260
|
+
{
|
|
261
|
+
...params,
|
|
262
|
+
label: "Rule",
|
|
263
|
+
variant: "outlined",
|
|
264
|
+
placeholder: "Select a rule",
|
|
265
|
+
required: true
|
|
266
|
+
}
|
|
267
|
+
)
|
|
268
|
+
}
|
|
269
|
+
),
|
|
270
|
+
/* @__PURE__ */ jsx(Box, { style: { width: "50%" }, children: schema ? /* @__PURE__ */ jsx(
|
|
271
|
+
Form,
|
|
272
|
+
{
|
|
273
|
+
schema: paramsSchema,
|
|
274
|
+
formData: oldCondition?.params || {},
|
|
275
|
+
validator,
|
|
276
|
+
uiSchema,
|
|
277
|
+
fields: customFields,
|
|
278
|
+
onChange: (data) => onConditionChange({
|
|
279
|
+
...oldCondition,
|
|
280
|
+
params: data.formData || {}
|
|
281
|
+
}),
|
|
282
|
+
transformErrors: handleTransformErrors,
|
|
283
|
+
showErrorList: false,
|
|
284
|
+
liveValidate: true
|
|
285
|
+
}
|
|
286
|
+
) : /* @__PURE__ */ jsx(
|
|
287
|
+
TextField,
|
|
288
|
+
{
|
|
289
|
+
style: { width: "100%", marginTop: "26px" },
|
|
290
|
+
sx: getTextFieldStyles(theme),
|
|
291
|
+
disabled: true,
|
|
292
|
+
label: "string, string",
|
|
293
|
+
required: true,
|
|
294
|
+
variant: "outlined"
|
|
295
|
+
}
|
|
296
|
+
) })
|
|
297
|
+
] });
|
|
295
298
|
};
|
|
296
299
|
|
|
297
300
|
export { ConditionsFormRowFields, getTextFieldStyles };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionsFormRowFields.esm.js","sources":["../../../src/components/ConditionalAccess/ConditionsFormRowFields.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport React from 'react';\n\nimport { PermissionCondition } from '@backstage/plugin-permission-common';\n\nimport Autocomplete from '@mui/material/Autocomplete';\nimport Box from '@mui/material/Box';\nimport { Theme, useTheme } from '@mui/material/styles';\nimport TextField from '@mui/material/TextField';\nimport { makeStyles } from '@mui/styles';\nimport Form from '@rjsf/mui';\nimport {\n RegistryFieldsType,\n RJSFSchema,\n RJSFValidationError,\n UiSchema,\n} from '@rjsf/utils';\nimport validator from '@rjsf/validator-ajv8';\n\nimport {\n getNestedRuleErrors,\n getSimpleRuleErrors,\n isSimpleRule,\n setErrorMessage,\n} from '../../utils/conditional-access-utils';\nimport { criterias } from './const';\nimport { CustomArrayField } from './CustomArrayField';\nimport { RulesDropdownOption } from './RulesDropdownOption';\nimport {\n AccessConditionsErrors,\n ComplexErrors,\n Condition,\n ConditionsData,\n NestedCriteriaErrors,\n RulesData,\n} from './types';\n\ntype ConditionFormRowFieldsProps = {\n oldCondition: Condition;\n index?: number;\n criteria: string;\n onRuleChange: (newCondition: ConditionsData) => void;\n conditionRow: ConditionsData | Condition;\n conditionRulesData?: RulesData;\n setErrors: React.Dispatch<\n React.SetStateAction<AccessConditionsErrors | undefined>\n >;\n optionDisabled?: (ruleOption: string) => boolean;\n setRemoveAllClicked: React.Dispatch<React.SetStateAction<boolean>>;\n nestedConditionRow?: Condition[];\n nestedConditionCriteria?: string;\n nestedConditionIndex?: number;\n nestedConditionRuleIndex?: number;\n updateRules?: (newCondition: Condition[] | Condition) => void;\n};\n\ninterface StyleProps {\n isNotSimpleCondition: boolean;\n}\n\nconst makeConditionsFormRowFieldsStyles = makeStyles<Theme, StyleProps>(() => ({\n inputFieldContainer: {\n display: 'flex',\n flexFlow: 'row',\n gap: '10px',\n flexGrow: 1,\n margin: ({ isNotSimpleCondition }) =>\n isNotSimpleCondition ? '-1.5rem 0 0 1.85rem' : '0',\n },\n}));\n\nexport const getTextFieldStyles = (theme: Theme) => ({\n '& div[class*=\"MuiInputBase-root\"]': {\n backgroundColor: theme.palette.background.paper,\n },\n '& span': {\n color: theme.palette.textSubtle,\n },\n '& input': {\n color: theme.palette.textContrast,\n },\n '& fieldset.MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.grey[500],\n },\n '& div.MuiOutlinedInput-root': {\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.primary.light,\n },\n '&.Mui-error .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.status.error,\n '&:hover': {\n borderColor: theme.palette.status.error,\n },\n },\n },\n '& label.MuiFormLabel-root.Mui-focused': {\n color: theme.palette.primary.light,\n },\n '& label.MuiFormLabel-root.Mui-error': {\n color: theme.palette.status.error,\n },\n '& div.MuiOutlinedInput-root:hover fieldset': {\n borderColor:\n theme.palette.mode === 'dark' ? theme.palette.textContrast : 'unset',\n },\n '& label': {\n color: theme.palette.textSubtle,\n },\n});\n\nexport const ConditionsFormRowFields = ({\n oldCondition,\n index,\n criteria,\n onRuleChange,\n conditionRow,\n conditionRulesData,\n setErrors,\n optionDisabled,\n setRemoveAllClicked,\n nestedConditionRow,\n nestedConditionCriteria,\n nestedConditionIndex,\n nestedConditionRuleIndex,\n updateRules,\n}: ConditionFormRowFieldsProps) => {\n const isNotSimpleCondition =\n criteria === criterias.not && !nestedConditionCriteria;\n const theme = useTheme();\n const classes = makeConditionsFormRowFieldsStyles({\n isNotSimpleCondition,\n });\n\n const rules = conditionRulesData?.rules ?? [];\n const paramsSchema =\n conditionRulesData?.[(oldCondition as PermissionCondition).rule]?.schema;\n\n const schema: RJSFSchema = paramsSchema;\n\n const uiSchema: UiSchema = {\n 'ui:submitButtonOptions': {\n norender: true,\n },\n 'ui:classNames': `{\n '& div[class*=\"MuiInputBase-root\"]': {\n backgroundColor: theme.palette.background.paper,\n },\n '& span': {\n color: theme.palette.textSubtle,\n },\n '& input': {\n color: theme.palette.textContrast,\n },\n '& fieldset.MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.grey[500],\n },\n '& div.MuiOutlinedInput-root': {\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.primary.light,\n },\n '&.Mui-error .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.status.error,\n '&:hover': {\n borderColor: theme.palette.status.error,\n },\n },\n },\n '& label.MuiFormLabel-root.Mui-focused': {\n color: theme.palette.primary.light,\n },\n '& label.MuiFormLabel-root.Mui-error': {\n color: theme.palette.status.error,\n },\n '& div.MuiOutlinedInput-root:hover fieldset': {\n borderColor:\n theme.palette.mode === 'dark' ? theme.palette.textContrast : 'unset',\n },\n '& label': {\n color: theme.palette.textSubtle,\n },\n }`,\n 'ui:field': 'array',\n };\n\n const customFields: RegistryFieldsType = { ArrayField: CustomArrayField };\n\n const handleConditionChange = (newCondition: PermissionCondition) => {\n setRemoveAllClicked(false);\n switch (criteria) {\n case criterias.condition: {\n onRuleChange({ condition: newCondition });\n break;\n }\n case criterias.allOf: {\n const updatedCriteria = (conditionRow as ConditionsData).allOf ?? [];\n updatedCriteria[index ?? 0] = newCondition;\n onRuleChange({ allOf: updatedCriteria });\n break;\n }\n case criterias.anyOf: {\n const updatedCriteria = (conditionRow as ConditionsData).anyOf ?? [];\n updatedCriteria[index ?? 0] = newCondition;\n onRuleChange({ anyOf: updatedCriteria });\n break;\n }\n case criterias.not: {\n onRuleChange({ not: newCondition });\n break;\n }\n default:\n }\n };\n\n const handleNestedConditionChange = (newCondition: PermissionCondition) => {\n if (\n !nestedConditionRow ||\n !nestedConditionCriteria ||\n nestedConditionIndex === undefined ||\n !updateRules\n ) {\n return;\n }\n const updatedNestedConditionRow: Condition[] = nestedConditionRow.map(\n (c, i) => {\n if (i === nestedConditionIndex) {\n if (nestedConditionCriteria === criterias.not) {\n return {\n [nestedConditionCriteria]: newCondition,\n };\n }\n const updatedNestedConditionRules = (\n (c[\n nestedConditionCriteria as keyof Condition\n ] as PermissionCondition[]) || []\n ).map((rule, rindex) => {\n return rindex === nestedConditionRuleIndex ? newCondition : rule;\n });\n\n return {\n [nestedConditionCriteria]: updatedNestedConditionRules,\n };\n }\n return c;\n },\n );\n\n updateRules(\n criteria === criterias.not\n ? updatedNestedConditionRow[0]\n : updatedNestedConditionRow,\n );\n };\n\n const handleTransformErrors = (errors: RJSFValidationError[]) => {\n // criteria: condition or not simple-condition\n if (\n criteria === criterias.condition ||\n (criteria === criterias.not &&\n isSimpleRule(conditionRow[criteria as keyof Condition]))\n ) {\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n updatedErrors[criteria] = setErrorMessage(errors);\n\n return updatedErrors;\n });\n }\n\n // criteria: not nested-condition\n if (\n criteria === criterias.not &&\n nestedConditionCriteria &&\n !isSimpleRule(conditionRow[criteria as keyof Condition])\n ) {\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n const nestedErrors = (updatedErrors[criteria] as ComplexErrors)[\n nestedConditionCriteria as keyof Condition\n ] as NestedCriteriaErrors;\n\n // nestedCriteria: allOf or anyOf\n if (\n Array.isArray(nestedErrors) &&\n nestedConditionRuleIndex !== undefined\n ) {\n nestedErrors[nestedConditionRuleIndex] = setErrorMessage(errors);\n } else {\n // nestedCriteria: not\n updatedErrors[criteria] = {\n [nestedConditionCriteria]: setErrorMessage(errors),\n };\n }\n\n return updatedErrors;\n });\n }\n\n // criteria: allOf or anyOf\n if (criteria === criterias.allOf || criteria === criterias.anyOf) {\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n const simpleRuleErrors = getSimpleRuleErrors(\n updatedErrors[\n criteria as keyof AccessConditionsErrors\n ] as ComplexErrors[],\n );\n if (\n Array.isArray(simpleRuleErrors) &&\n simpleRuleErrors.length > 0 &&\n index !== undefined\n ) {\n simpleRuleErrors[index] = setErrorMessage(errors);\n }\n\n const nestedRuleErrors = getNestedRuleErrors(\n updatedErrors[\n criteria as keyof AccessConditionsErrors\n ] as ComplexErrors[],\n );\n\n // nestedCriteria: allOf or anyOf\n if (\n nestedConditionCriteria &&\n nestedConditionIndex !== undefined &&\n nestedConditionRuleIndex !== undefined\n ) {\n const nestedConditionRuleList =\n nestedRuleErrors[nestedConditionIndex][nestedConditionCriteria];\n\n if (Array.isArray(nestedConditionRuleList)) {\n nestedConditionRuleList[nestedConditionRuleIndex] =\n setErrorMessage(errors);\n }\n }\n\n // nestedCriteria: not\n if (\n Array.isArray(nestedRuleErrors) &&\n nestedRuleErrors.length > 0 &&\n nestedConditionCriteria === criterias.not &&\n nestedConditionIndex !== undefined\n ) {\n nestedRuleErrors[nestedConditionIndex][nestedConditionCriteria] =\n setErrorMessage(errors);\n }\n\n updatedErrors[criteria] = [...simpleRuleErrors, ...nestedRuleErrors];\n return updatedErrors;\n });\n }\n\n return errors;\n };\n\n const onConditionChange = (newCondition: PermissionCondition) => {\n if (nestedConditionRow) {\n handleNestedConditionChange(newCondition);\n } else {\n handleConditionChange(newCondition);\n }\n };\n\n return (\n <Box className={classes.inputFieldContainer}>\n <Autocomplete\n style={{ width: '50%', marginTop: '26px' }}\n sx={getTextFieldStyles(theme)}\n options={rules ?? []}\n value={(oldCondition as PermissionCondition)?.rule || null}\n getOptionDisabled={option =>\n optionDisabled ? optionDisabled(option) : false\n }\n onChange={(_event, ruleVal?: string | null) =>\n onConditionChange({\n ...oldCondition,\n rule: ruleVal ?? '',\n params: {},\n } as PermissionCondition)\n }\n renderOption={(props, option) => (\n <RulesDropdownOption\n props={props}\n label={option ?? ''}\n rulesData={conditionRulesData}\n />\n )}\n renderInput={(params: any) => (\n <TextField\n {...params}\n label=\"Rule\"\n variant=\"outlined\"\n placeholder=\"Select a rule\"\n required\n />\n )}\n />\n <Box style={{ width: '50%' }}>\n {schema ? (\n <Form\n schema={paramsSchema}\n formData={(oldCondition as PermissionCondition)?.params || {}}\n validator={validator}\n uiSchema={uiSchema}\n fields={customFields}\n onChange={data =>\n onConditionChange({\n ...oldCondition,\n params: data.formData || {},\n } as PermissionCondition)\n }\n transformErrors={handleTransformErrors}\n showErrorList={false}\n liveValidate\n />\n ) : (\n <TextField\n style={{ width: '100%', marginTop: '26px' }}\n sx={getTextFieldStyles(theme)}\n disabled\n label=\"string, string\"\n required\n variant=\"outlined\"\n />\n )}\n </Box>\n </Box>\n );\n};\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConditionsFormRowFields.esm.js","sources":["../../../src/components/ConditionalAccess/ConditionsFormRowFields.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport type { SetStateAction, Dispatch } from 'react';\n\nimport { PermissionCondition } from '@backstage/plugin-permission-common';\n\nimport Autocomplete from '@mui/material/Autocomplete';\nimport Box from '@mui/material/Box';\nimport { Theme, useTheme } from '@mui/material/styles';\nimport TextField from '@mui/material/TextField';\nimport { makeStyles } from '@mui/styles';\nimport Form from '@rjsf/mui';\nimport {\n RegistryFieldsType,\n RJSFSchema,\n RJSFValidationError,\n UiSchema,\n} from '@rjsf/utils';\nimport validator from '@rjsf/validator-ajv8';\n\nimport {\n getNestedRuleErrors,\n getSimpleRuleErrors,\n isSimpleRule,\n setErrorMessage,\n} from '../../utils/conditional-access-utils';\nimport { criterias } from './const';\nimport { CustomArrayField } from './CustomArrayField';\nimport { RulesDropdownOption } from './RulesDropdownOption';\nimport {\n AccessConditionsErrors,\n ComplexErrors,\n Condition,\n ConditionsData,\n NestedCriteriaErrors,\n RulesData,\n} from './types';\n\ntype ConditionFormRowFieldsProps = {\n oldCondition: Condition;\n index?: number;\n criteria: string;\n onRuleChange: (newCondition: ConditionsData) => void;\n conditionRow: ConditionsData | Condition;\n conditionRulesData?: RulesData;\n setErrors: Dispatch<SetStateAction<AccessConditionsErrors | undefined>>;\n optionDisabled?: (ruleOption: string) => boolean;\n setRemoveAllClicked: Dispatch<SetStateAction<boolean>>;\n nestedConditionRow?: Condition[];\n nestedConditionCriteria?: string;\n nestedConditionIndex?: number;\n nestedConditionRuleIndex?: number;\n updateRules?: (newCondition: Condition[] | Condition) => void;\n};\n\ninterface StyleProps {\n isNotSimpleCondition: boolean;\n}\n\nconst makeConditionsFormRowFieldsStyles = makeStyles<Theme, StyleProps>(() => ({\n inputFieldContainer: {\n display: 'flex',\n flexFlow: 'row',\n gap: '10px',\n flexGrow: 1,\n margin: ({ isNotSimpleCondition }) =>\n isNotSimpleCondition ? '-1.5rem 0 0 1.85rem' : '0',\n },\n}));\n\nexport const getTextFieldStyles = (theme: Theme) => ({\n '& div[class*=\"MuiInputBase-root\"]': {\n backgroundColor: theme.palette.background.paper,\n },\n '& span': {\n color: theme.palette.textSubtle,\n },\n '& input': {\n color: theme.palette.textContrast,\n },\n '& fieldset.MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.grey[500],\n },\n '& div.MuiOutlinedInput-root': {\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.primary.light,\n },\n '&.Mui-error .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.status.error,\n '&:hover': {\n borderColor: theme.palette.status.error,\n },\n },\n },\n '& label.MuiFormLabel-root.Mui-focused': {\n color: theme.palette.primary.light,\n },\n '& label.MuiFormLabel-root.Mui-error': {\n color: theme.palette.status.error,\n },\n '& div.MuiOutlinedInput-root:hover fieldset': {\n borderColor:\n theme.palette.mode === 'dark' ? theme.palette.textContrast : 'unset',\n },\n '& label': {\n color: theme.palette.textSubtle,\n },\n});\n\nexport const ConditionsFormRowFields = ({\n oldCondition,\n index,\n criteria,\n onRuleChange,\n conditionRow,\n conditionRulesData,\n setErrors,\n optionDisabled,\n setRemoveAllClicked,\n nestedConditionRow,\n nestedConditionCriteria,\n nestedConditionIndex,\n nestedConditionRuleIndex,\n updateRules,\n}: ConditionFormRowFieldsProps) => {\n const isNotSimpleCondition =\n criteria === criterias.not && !nestedConditionCriteria;\n const theme = useTheme();\n const classes = makeConditionsFormRowFieldsStyles({\n isNotSimpleCondition,\n });\n\n const rules = conditionRulesData?.rules ?? [];\n const paramsSchema =\n conditionRulesData?.[(oldCondition as PermissionCondition).rule]?.schema;\n\n const schema: RJSFSchema = paramsSchema;\n\n const uiSchema: UiSchema = {\n 'ui:submitButtonOptions': {\n norender: true,\n },\n 'ui:classNames': `{\n '& div[class*=\"MuiInputBase-root\"]': {\n backgroundColor: theme.palette.background.paper,\n },\n '& span': {\n color: theme.palette.textSubtle,\n },\n '& input': {\n color: theme.palette.textContrast,\n },\n '& fieldset.MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.grey[500],\n },\n '& div.MuiOutlinedInput-root': {\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.primary.light,\n },\n '&.Mui-error .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.status.error,\n '&:hover': {\n borderColor: theme.palette.status.error,\n },\n },\n },\n '& label.MuiFormLabel-root.Mui-focused': {\n color: theme.palette.primary.light,\n },\n '& label.MuiFormLabel-root.Mui-error': {\n color: theme.palette.status.error,\n },\n '& div.MuiOutlinedInput-root:hover fieldset': {\n borderColor:\n theme.palette.mode === 'dark' ? theme.palette.textContrast : 'unset',\n },\n '& label': {\n color: theme.palette.textSubtle,\n },\n }`,\n 'ui:field': 'array',\n };\n\n const customFields: RegistryFieldsType = { ArrayField: CustomArrayField };\n\n const handleConditionChange = (newCondition: PermissionCondition) => {\n setRemoveAllClicked(false);\n switch (criteria) {\n case criterias.condition: {\n onRuleChange({ condition: newCondition });\n break;\n }\n case criterias.allOf: {\n const updatedCriteria = (conditionRow as ConditionsData).allOf ?? [];\n updatedCriteria[index ?? 0] = newCondition;\n onRuleChange({ allOf: updatedCriteria });\n break;\n }\n case criterias.anyOf: {\n const updatedCriteria = (conditionRow as ConditionsData).anyOf ?? [];\n updatedCriteria[index ?? 0] = newCondition;\n onRuleChange({ anyOf: updatedCriteria });\n break;\n }\n case criterias.not: {\n onRuleChange({ not: newCondition });\n break;\n }\n default:\n }\n };\n\n const handleNestedConditionChange = (newCondition: PermissionCondition) => {\n if (\n !nestedConditionRow ||\n !nestedConditionCriteria ||\n nestedConditionIndex === undefined ||\n !updateRules\n ) {\n return;\n }\n const updatedNestedConditionRow: Condition[] = nestedConditionRow.map(\n (c, i) => {\n if (i === nestedConditionIndex) {\n if (nestedConditionCriteria === criterias.not) {\n return {\n [nestedConditionCriteria]: newCondition,\n };\n }\n const updatedNestedConditionRules = (\n (c[\n nestedConditionCriteria as keyof Condition\n ] as PermissionCondition[]) || []\n ).map((rule, rindex) => {\n return rindex === nestedConditionRuleIndex ? newCondition : rule;\n });\n\n return {\n [nestedConditionCriteria]: updatedNestedConditionRules,\n };\n }\n return c;\n },\n );\n\n updateRules(\n criteria === criterias.not\n ? updatedNestedConditionRow[0]\n : updatedNestedConditionRow,\n );\n };\n\n const handleTransformErrors = (errors: RJSFValidationError[]) => {\n // criteria: condition or not simple-condition\n if (\n criteria === criterias.condition ||\n (criteria === criterias.not &&\n isSimpleRule(conditionRow[criteria as keyof Condition]))\n ) {\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n updatedErrors[criteria] = setErrorMessage(errors);\n\n return updatedErrors;\n });\n }\n\n // criteria: not nested-condition\n if (\n criteria === criterias.not &&\n nestedConditionCriteria &&\n !isSimpleRule(conditionRow[criteria as keyof Condition])\n ) {\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n const nestedErrors = (updatedErrors[criteria] as ComplexErrors)[\n nestedConditionCriteria as keyof Condition\n ] as NestedCriteriaErrors;\n\n // nestedCriteria: allOf or anyOf\n if (\n Array.isArray(nestedErrors) &&\n nestedConditionRuleIndex !== undefined\n ) {\n nestedErrors[nestedConditionRuleIndex] = setErrorMessage(errors);\n } else {\n // nestedCriteria: not\n updatedErrors[criteria] = {\n [nestedConditionCriteria]: setErrorMessage(errors),\n };\n }\n\n return updatedErrors;\n });\n }\n\n // criteria: allOf or anyOf\n if (criteria === criterias.allOf || criteria === criterias.anyOf) {\n setErrors(prevErrors => {\n const updatedErrors = { ...prevErrors };\n const simpleRuleErrors = getSimpleRuleErrors(\n updatedErrors[\n criteria as keyof AccessConditionsErrors\n ] as ComplexErrors[],\n );\n if (\n Array.isArray(simpleRuleErrors) &&\n simpleRuleErrors.length > 0 &&\n index !== undefined\n ) {\n simpleRuleErrors[index] = setErrorMessage(errors);\n }\n\n const nestedRuleErrors = getNestedRuleErrors(\n updatedErrors[\n criteria as keyof AccessConditionsErrors\n ] as ComplexErrors[],\n );\n\n // nestedCriteria: allOf or anyOf\n if (\n nestedConditionCriteria &&\n nestedConditionIndex !== undefined &&\n nestedConditionRuleIndex !== undefined\n ) {\n const nestedConditionRuleList =\n nestedRuleErrors[nestedConditionIndex][nestedConditionCriteria];\n\n if (Array.isArray(nestedConditionRuleList)) {\n nestedConditionRuleList[nestedConditionRuleIndex] =\n setErrorMessage(errors);\n }\n }\n\n // nestedCriteria: not\n if (\n Array.isArray(nestedRuleErrors) &&\n nestedRuleErrors.length > 0 &&\n nestedConditionCriteria === criterias.not &&\n nestedConditionIndex !== undefined\n ) {\n nestedRuleErrors[nestedConditionIndex][nestedConditionCriteria] =\n setErrorMessage(errors);\n }\n\n updatedErrors[criteria] = [...simpleRuleErrors, ...nestedRuleErrors];\n return updatedErrors;\n });\n }\n\n return errors;\n };\n\n const onConditionChange = (newCondition: PermissionCondition) => {\n if (nestedConditionRow) {\n handleNestedConditionChange(newCondition);\n } else {\n handleConditionChange(newCondition);\n }\n };\n\n return (\n <Box className={classes.inputFieldContainer}>\n <Autocomplete\n style={{ width: '50%', marginTop: '26px' }}\n sx={getTextFieldStyles(theme)}\n options={rules ?? []}\n value={(oldCondition as PermissionCondition)?.rule || null}\n getOptionDisabled={option =>\n optionDisabled ? optionDisabled(option) : false\n }\n onChange={(_event, ruleVal?: string | null) =>\n onConditionChange({\n ...oldCondition,\n rule: ruleVal ?? '',\n params: {},\n } as PermissionCondition)\n }\n renderOption={(props, option) => (\n <RulesDropdownOption\n props={props}\n label={option ?? ''}\n rulesData={conditionRulesData}\n />\n )}\n renderInput={(params: any) => (\n <TextField\n {...params}\n label=\"Rule\"\n variant=\"outlined\"\n placeholder=\"Select a rule\"\n required\n />\n )}\n />\n <Box style={{ width: '50%' }}>\n {schema ? (\n <Form\n schema={paramsSchema}\n formData={(oldCondition as PermissionCondition)?.params || {}}\n validator={validator}\n uiSchema={uiSchema}\n fields={customFields}\n onChange={data =>\n onConditionChange({\n ...oldCondition,\n params: data.formData || {},\n } as PermissionCondition)\n }\n transformErrors={handleTransformErrors}\n showErrorList={false}\n liveValidate\n />\n ) : (\n <TextField\n style={{ width: '100%', marginTop: '26px' }}\n sx={getTextFieldStyles(theme)}\n disabled\n label=\"string, string\"\n required\n variant=\"outlined\"\n />\n )}\n </Box>\n </Box>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import ToggleButton from '@mui/material/ToggleButton';
|
|
3
3
|
|
|
4
4
|
const CriteriaToggleButton = ({
|
|
@@ -16,16 +16,16 @@ const CriteriaToggleButton = ({
|
|
|
16
16
|
textTransform: "none",
|
|
17
17
|
padding: theme.spacing(1)
|
|
18
18
|
};
|
|
19
|
-
return /* @__PURE__ */
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
20
|
ToggleButton,
|
|
21
21
|
{
|
|
22
|
-
key: val,
|
|
23
22
|
value: val,
|
|
24
23
|
style: buttonStyle,
|
|
25
24
|
size: "large",
|
|
26
|
-
disabled: isSelected
|
|
25
|
+
disabled: isSelected,
|
|
26
|
+
children: label
|
|
27
27
|
},
|
|
28
|
-
|
|
28
|
+
val
|
|
29
29
|
);
|
|
30
30
|
};
|
|
31
31
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CriteriaToggleButton.esm.js","sources":["../../../src/components/ConditionalAccess/CriteriaToggleButton.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport
|
|
1
|
+
{"version":3,"file":"CriteriaToggleButton.esm.js","sources":["../../../src/components/ConditionalAccess/CriteriaToggleButton.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { CSSProperties } from 'react';\n\nimport { Theme } from '@mui/material/styles';\nimport ToggleButton from '@mui/material/ToggleButton';\n\ntype CriteriaToggleButtonProps = {\n val: string;\n label: string;\n selectedCriteria: string;\n theme: Theme;\n};\n\nexport const CriteriaToggleButton = ({\n val,\n label,\n selectedCriteria,\n theme,\n}: CriteriaToggleButtonProps) => {\n const isSelected = val === selectedCriteria;\n const buttonStyle: CSSProperties = {\n color: isSelected ? theme.palette.infoText : theme.palette.textSubtle,\n backgroundColor: isSelected ? theme.palette.infoBackground : '',\n border: `1px solid ${theme.palette.border}`,\n width: '100%',\n textTransform: 'none',\n padding: theme.spacing(1),\n };\n\n return (\n <ToggleButton\n key={val}\n value={val}\n style={buttonStyle}\n size=\"large\"\n disabled={isSelected}\n >\n {label}\n </ToggleButton>\n );\n};\n"],"names":[],"mappings":";;;AA2BO,MAAM,uBAAuB,CAAC;AAAA,EACnC,GAAA;AAAA,EACA,KAAA;AAAA,EACA,gBAAA;AAAA,EACA;AACF,CAAiC,KAAA;AAC/B,EAAA,MAAM,aAAa,GAAQ,KAAA,gBAAA;AAC3B,EAAA,MAAM,WAA6B,GAAA;AAAA,IACjC,OAAO,UAAa,GAAA,KAAA,CAAM,OAAQ,CAAA,QAAA,GAAW,MAAM,OAAQ,CAAA,UAAA;AAAA,IAC3D,eAAiB,EAAA,UAAA,GAAa,KAAM,CAAA,OAAA,CAAQ,cAAiB,GAAA,EAAA;AAAA,IAC7D,MAAQ,EAAA,CAAA,UAAA,EAAa,KAAM,CAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AAAA,IACzC,KAAO,EAAA,MAAA;AAAA,IACP,aAAe,EAAA,MAAA;AAAA,IACf,OAAA,EAAS,KAAM,CAAA,OAAA,CAAQ,CAAC;AAAA,GAC1B;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MAEC,KAAO,EAAA,GAAA;AAAA,MACP,KAAO,EAAA,WAAA;AAAA,MACP,IAAK,EAAA,OAAA;AAAA,MACL,QAAU,EAAA,UAAA;AAAA,MAET,QAAA,EAAA;AAAA,KAAA;AAAA,IANI;AAAA,GAOP;AAEJ;;;;"}
|
|
@@ -1,43 +1,45 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState } from 'react';
|
|
2
3
|
import TextField from '@mui/material/TextField';
|
|
3
4
|
import Typography from '@mui/material/Typography';
|
|
4
5
|
import { getDefaultRegistry } from '@rjsf/core';
|
|
5
|
-
import { getInnerSchemaForArrayItem } from '@rjsf/utils/lib/schema/getDefaultFormState';
|
|
6
|
+
import { getInnerSchemaForArrayItem } from '@rjsf/utils/lib/schema/getDefaultFormState.js';
|
|
6
7
|
|
|
7
8
|
const CustomArrayField = (props) => {
|
|
8
9
|
const { name, required, schema: sch, formData, onChange } = props;
|
|
9
|
-
const [fieldVal, setFieldVal] =
|
|
10
|
-
formData?.toString() ?? ""
|
|
11
|
-
);
|
|
10
|
+
const [fieldVal, setFieldVal] = useState(formData?.toString() ?? "");
|
|
12
11
|
const arrayItemsType = getInnerSchemaForArrayItem(sch).type;
|
|
13
12
|
const DefaultArrayField = getDefaultRegistry().fields.ArrayField;
|
|
14
|
-
return arrayItemsType === "string" ? /* @__PURE__ */
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
), /* @__PURE__ */ React__default.createElement(Typography, { variant: "caption" }, /* @__PURE__ */ React__default.createElement(
|
|
30
|
-
Typography,
|
|
31
|
-
{
|
|
32
|
-
variant: "subtitle2",
|
|
33
|
-
sx: {
|
|
34
|
-
mt: 0.5,
|
|
35
|
-
fontWeight: 500,
|
|
36
|
-
color: (theme) => `${theme.palette.grey[500]}`
|
|
13
|
+
return arrayItemsType === "string" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
14
|
+
/* @__PURE__ */ jsx(
|
|
15
|
+
TextField,
|
|
16
|
+
{
|
|
17
|
+
name,
|
|
18
|
+
variant: "outlined",
|
|
19
|
+
label: name,
|
|
20
|
+
value: fieldVal,
|
|
21
|
+
onChange: (e) => {
|
|
22
|
+
const value = e.target.value;
|
|
23
|
+
setFieldVal(value);
|
|
24
|
+
onChange(value ? value.split(",").map((val) => val.trim()) : []);
|
|
25
|
+
},
|
|
26
|
+
required,
|
|
27
|
+
placeholder: "string, string"
|
|
37
28
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
),
|
|
30
|
+
/* @__PURE__ */ jsx(Typography, { variant: "caption", children: /* @__PURE__ */ jsx(
|
|
31
|
+
Typography,
|
|
32
|
+
{
|
|
33
|
+
variant: "subtitle2",
|
|
34
|
+
sx: {
|
|
35
|
+
mt: 0.5,
|
|
36
|
+
fontWeight: 500,
|
|
37
|
+
color: (theme) => `${theme.palette.grey[500]}`
|
|
38
|
+
},
|
|
39
|
+
children: sch.description ?? ""
|
|
40
|
+
}
|
|
41
|
+
) })
|
|
42
|
+
] }) : /* @__PURE__ */ jsx(DefaultArrayField, { ...props });
|
|
41
43
|
};
|
|
42
44
|
|
|
43
45
|
export { CustomArrayField };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomArrayField.esm.js","sources":["../../../src/components/ConditionalAccess/CustomArrayField.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport
|
|
1
|
+
{"version":3,"file":"CustomArrayField.esm.js","sources":["../../../src/components/ConditionalAccess/CustomArrayField.tsx"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { useState } from 'react';\n\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\nimport { getDefaultRegistry } from '@rjsf/core';\nimport { FieldProps } from '@rjsf/utils';\nimport { getInnerSchemaForArrayItem } from '@rjsf/utils/lib/schema/getDefaultFormState.js';\n\nexport const CustomArrayField = (props: FieldProps) => {\n const { name, required, schema: sch, formData, onChange } = props;\n const [fieldVal, setFieldVal] = useState<string>(formData?.toString() ?? '');\n\n const arrayItemsType = getInnerSchemaForArrayItem(sch).type;\n\n const DefaultArrayField = getDefaultRegistry().fields.ArrayField;\n\n return arrayItemsType === 'string' ? (\n <>\n <TextField\n name={name}\n variant=\"outlined\"\n label={name}\n value={fieldVal}\n onChange={e => {\n const value = e.target.value;\n setFieldVal(value);\n onChange(value ? value.split(',').map(val => val.trim()) : []);\n }}\n required={required}\n placeholder=\"string, string\"\n />\n <Typography variant=\"caption\">\n <Typography\n variant=\"subtitle2\"\n sx={{\n mt: 0.5,\n fontWeight: 500,\n color: theme => `${theme.palette.grey[500]}`,\n }}\n >\n {sch.description ?? ''}\n </Typography>\n </Typography>\n </>\n ) : (\n <DefaultArrayField {...props} />\n );\n};\n"],"names":[],"mappings":";;;;;;;AAuBa,MAAA,gBAAA,GAAmB,CAAC,KAAsB,KAAA;AACrD,EAAA,MAAM,EAAE,IAAM,EAAA,QAAA,EAAU,QAAQ,GAAK,EAAA,QAAA,EAAU,UAAa,GAAA,KAAA;AAC5D,EAAM,MAAA,CAAC,UAAU,WAAW,CAAA,GAAI,SAAiB,QAAU,EAAA,QAAA,MAAc,EAAE,CAAA;AAE3E,EAAM,MAAA,cAAA,GAAiB,0BAA2B,CAAA,GAAG,CAAE,CAAA,IAAA;AAEvD,EAAM,MAAA,iBAAA,GAAoB,kBAAmB,EAAA,CAAE,MAAO,CAAA,UAAA;AAEtD,EAAO,OAAA,cAAA,KAAmB,2BAEtB,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,OAAQ,EAAA,UAAA;AAAA,QACR,KAAO,EAAA,IAAA;AAAA,QACP,KAAO,EAAA,QAAA;AAAA,QACP,UAAU,CAAK,CAAA,KAAA;AACb,UAAM,MAAA,KAAA,GAAQ,EAAE,MAAO,CAAA,KAAA;AACvB,UAAA,WAAA,CAAY,KAAK,CAAA;AACjB,UAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAM,KAAM,CAAA,GAAG,CAAE,CAAA,GAAA,CAAI,CAAO,GAAA,KAAA,GAAA,CAAI,IAAK,EAAC,CAAI,GAAA,EAAE,CAAA;AAAA,SAC/D;AAAA,QACA,QAAA;AAAA,QACA,WAAY,EAAA;AAAA;AAAA,KACd;AAAA,oBACA,GAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,SAClB,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,OAAQ,EAAA,WAAA;AAAA,QACR,EAAI,EAAA;AAAA,UACF,EAAI,EAAA,GAAA;AAAA,UACJ,UAAY,EAAA,GAAA;AAAA,UACZ,OAAO,CAAS,KAAA,KAAA,CAAA,EAAG,MAAM,OAAQ,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA;AAAA,SAC5C;AAAA,QAEC,cAAI,WAAe,IAAA;AAAA;AAAA,KAExB,EAAA;AAAA,GAAA,EACF,CAEA,mBAAA,GAAA,CAAC,iBAAmB,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA;AAElC;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { createElement } from 'react';
|
|
2
3
|
import Typography from '@mui/material/Typography';
|
|
3
4
|
|
|
4
5
|
const RulesDropdownOption = ({
|
|
@@ -7,31 +8,31 @@ const RulesDropdownOption = ({
|
|
|
7
8
|
props
|
|
8
9
|
}) => {
|
|
9
10
|
const description = rulesData?.[label]?.description ?? "";
|
|
10
|
-
return /* @__PURE__ */
|
|
11
|
+
return /* @__PURE__ */ createElement(
|
|
11
12
|
"li",
|
|
12
13
|
{
|
|
13
14
|
...props,
|
|
14
15
|
style: { display: "flex", flexFlow: "column", alignItems: "flex-start" },
|
|
15
16
|
key: label
|
|
16
17
|
},
|
|
17
|
-
/* @__PURE__ */
|
|
18
|
+
/* @__PURE__ */ jsx(
|
|
18
19
|
Typography,
|
|
19
20
|
{
|
|
20
21
|
sx: {
|
|
21
22
|
color: (theme) => theme.palette.text.primary
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
},
|
|
24
|
+
children: label
|
|
25
|
+
}
|
|
25
26
|
),
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
+
/* @__PURE__ */ jsx(
|
|
27
28
|
Typography,
|
|
28
29
|
{
|
|
29
30
|
sx: {
|
|
30
31
|
color: (theme) => theme.palette.text.secondary,
|
|
31
32
|
fontSize: "14px"
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
},
|
|
34
|
+
children: description
|
|
35
|
+
}
|
|
35
36
|
)
|
|
36
37
|
);
|
|
37
38
|
};
|