react-toolkits 0.6.3 → 0.6.5
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 +13 -0
- package/lib/immer-BLf7GM7E.chunk.js +0 -1
- package/lib/{index-sG30lYpd.chunk.js → index-6hfEAo8m.chunk.js} +3 -4
- package/lib/{index-mGxkr4KP.chunk.js → index-DwxDIdPN.chunk.js} +4 -5
- package/lib/{index-8S2if1HN.chunk.js → index-GbdPmQIm.chunk.js} +10 -11
- package/lib/{index-LFJ8CuhL.chunk.js → index-HtxBCkWB.chunk.js} +2 -3
- package/lib/{index-CYvZ4eXp.chunk.js → index-M6uw3Hhg.chunk.js} +21 -22
- package/lib/{index-gveuSV73.chunk.js → index-eczljdwB.chunk.js} +1 -2
- package/lib/index-jIaB0f6T.chunk.js +4803 -0
- package/lib/{index-2famwFN5.chunk.js → index-oFEpxp61.chunk.js} +1 -2
- package/lib/{index-t9jv_VWg.chunk.js → index-sZjVIAIn.chunk.js} +25 -26
- package/lib/index.d.ts +15 -29
- package/lib/index.js +1 -2
- package/package.json +1 -1
- package/lib/immer-BLf7GM7E.chunk.js.map +0 -1
- package/lib/index-2famwFN5.chunk.js.map +0 -1
- package/lib/index-8S2if1HN.chunk.js.map +0 -1
- package/lib/index-CYvZ4eXp.chunk.js.map +0 -1
- package/lib/index-LFJ8CuhL.chunk.js.map +0 -1
- package/lib/index-dkau8dN4.chunk.js +0 -15924
- package/lib/index-dkau8dN4.chunk.js.map +0 -1
- package/lib/index-gveuSV73.chunk.js.map +0 -1
- package/lib/index-mGxkr4KP.chunk.js.map +0 -1
- package/lib/index-sG30lYpd.chunk.js.map +0 -1
- package/lib/index-t9jv_VWg.chunk.js.map +0 -1
- package/lib/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-CYvZ4eXp.chunk.js","sources":["../../../node_modules/.pnpm/@ant-design+icons-svg@4.3.1/node_modules/@ant-design/icons-svg/es/asn/UsergroupAddOutlined.js","../../../node_modules/.pnpm/@ant-design+icons@5.2.6_react-dom@18.2.0_react@18.2.0/node_modules/@ant-design/icons/es/icons/UsergroupAddOutlined.js","../src/pages/RoleList/index.tsx"],"sourcesContent":["// This icon file is generated automatically.\nvar UsergroupAddOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 01-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 008 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 00-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 008 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 01-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z\" } }] }, \"name\": \"usergroup-add\", \"theme\": \"outlined\" };\nexport default UsergroupAddOutlined;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport UsergroupAddOutlinedSvg from \"@ant-design/icons-svg/es/asn/UsergroupAddOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar UsergroupAddOutlined = function UsergroupAddOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: UsergroupAddOutlinedSvg\n }));\n};\nif (process.env.NODE_ENV !== 'production') {\n UsergroupAddOutlined.displayName = 'UsergroupAddOutlined';\n}\nexport default /*#__PURE__*/React.forwardRef(UsergroupAddOutlined);","import { UsergroupAddOutlined } from '@ant-design/icons'\nimport type { TableColumnsType } from 'antd'\nimport { App, Card, Form, Input, Space } from 'antd'\nimport { produce } from 'immer'\nimport { Link } from 'react-router-dom'\nimport { useToolkitsContext } from '../../components/ContextProvider'\nimport Highlight from '../../components/Highlight'\nimport PermissionButton from '../../components/PermissionButton'\nimport QueryList from '../../components/QueryList'\nimport type { RoleListItem, RoleV1, RoleV2 } from '../../features/permission'\nimport { PermissionList, useCreateRole, useRemoveRole, useUpdateRole } from '../../features/permission'\nimport { useFormModal } from '../../hooks/formModal'\nimport { useTranslation } from '../../hooks/i18n'\nimport { usePermission } from '../../hooks/permission'\nimport { useQueryListStore } from '../../stores/queryList'\nimport { request } from '../../utils/request'\n\nconst action = '/api/usystem/role/list'\n\nconst useCreatingUserModal = () => {\n const { message } = App.useApp()\n const { setPage } = useQueryListStore()\n const create = useCreateRole()\n const t = useTranslation()\n\n const onConfirm = async (values: { name: string; permissions: RoleV1['permissions'] | RoleV2['permissions'] }) => {\n await create.trigger({\n name: `role_${values.name}`,\n permissions: values.permissions,\n })\n setPage(action, 1)\n message.success(t('RoleList.createSuccessfully'))\n }\n\n return useFormModal<{\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n }>({\n title: t('RoleList.createTitle'),\n width: '50vw',\n content: form => (\n <Form form={form} layout=\"vertical\">\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input addonBefore=\"role_\" />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </Form>\n ),\n onConfirm,\n })\n}\n\nconst useUpdatingRoleModal = () => {\n const { message } = App.useApp()\n const { mutate } = useQueryListStore()\n const update = useUpdateRole()\n const t = useTranslation()\n\n return useFormModal<{\n name: string\n permissions: RoleV1['permissions'] | RoleV2['permissions']\n }>({\n title: t('RoleList.updateTitle'),\n width: '50vw',\n content: form => (\n <Form form={form}>\n <Form.Item label={t('global.name')} name=\"name\" rules={[{ required: true }]}>\n <Input readOnly addonBefore=\"role_\" />\n </Form.Item>\n <Form.Item name=\"permissions\">\n <PermissionList />\n </Form.Item>\n </Form>\n ),\n onConfirm: async (values, _form, extraValues: { id: number }) => {\n await update.trigger({\n id: extraValues.id as number,\n name: `role_${values.name}`,\n permissions: values.permissions,\n })\n\n mutate(\n action,\n prev =>\n produce(prev, draft => {\n const match = draft?.list?.find(item => item.id === extraValues.id)\n\n if (match) {\n match.permissions = values.permissions\n }\n }),\n { revalidate: false },\n )\n message.success(t('RoleList.updateSuccessfully'))\n },\n })\n}\n\nconst RoleList = () => {\n const { accessible: viewable } = usePermission('200005', { isGlobalNS: true })\n const { modal, message } = App.useApp()\n const { usePermissionApiV2 } = useToolkitsContext()\n const remove = useRemoveRole()\n const { mutate } = useQueryListStore()\n const { show: showCreatingModal, contextHolder: creatingContextHolder } = useCreatingUserModal()\n const { show: showUpdatingModal, contextHolder: updatingContextHolder } = useUpdatingRoleModal()\n const t = useTranslation()\n\n const columns: TableColumnsType<RoleListItem> = [\n {\n title: t('global.name'),\n key: 'name',\n render(value: RoleListItem) {\n if (viewable) {\n return <Link to={`${value.name}`}>{value.name}</Link>\n } else {\n return <>{value.name}</>\n }\n },\n },\n {\n title: 'ID',\n dataIndex: 'id',\n key: 'id',\n },\n {\n title: t('global.creationTime'),\n dataIndex: 'ctime',\n key: 'ctime',\n },\n {\n title: t('global.operation'),\n width: 150,\n align: 'center',\n render: (value: RoleListItem) => {\n return (\n <Space size=\"small\">\n <PermissionButton\n isGlobalNS\n code=\"200003\"\n size=\"small\"\n type=\"link\"\n onClick={async () => {\n const { data: role } = await request<RoleV1 | RoleV2>(\n `/api/usystem/role/info${usePermissionApiV2 ? 'V2' : ''}?name=${value.name}`,\n { isGlobalNS: true },\n )\n showUpdatingModal({\n initialValues: {\n permissions: role?.permissions,\n name: role?.name.replace(/^role_/, ''),\n },\n extraValues: {\n id: role?.id,\n },\n })\n }}\n >\n {t('global.edit')}\n </PermissionButton>\n <PermissionButton\n isGlobalNS\n danger\n code=\"200004\"\n size=\"small\"\n type=\"link\"\n onClick={() => {\n modal.confirm({\n title: t('RoleList.deleteTitle'),\n content: (\n <Highlight texts={[value.name]}>{t('RoleList.deleteContent', { role: value.name })}</Highlight>\n ),\n async onOk() {\n await remove.trigger({\n id: value.id,\n name: value.name,\n })\n mutate(action, prev => {\n return produce(prev, draft => {\n const index = draft?.list?.findIndex(item => item.id === value.id)\n if (index) {\n draft?.list?.splice(index, 1)\n }\n })\n })\n message.success(t('RoleList.deleteSuccessfully'))\n },\n })\n }}\n >\n {t('global.delete')}\n </PermissionButton>\n </Space>\n )\n },\n },\n ]\n\n return (\n <Card\n title={t('global.role')}\n extra={\n <PermissionButton\n isGlobalNS\n type=\"primary\"\n code=\"200002\"\n icon={<UsergroupAddOutlined />}\n onClick={() => {\n showCreatingModal()\n }}\n >\n {t('RoleList.createTitle')}\n </PermissionButton>\n }\n >\n <QueryList<RoleListItem, undefined, { List: RoleListItem[]; Total: number }>\n isGlobalNS\n rowKey=\"name\"\n columns={columns}\n code=\"200001\"\n action={action}\n transformResponse={response => {\n const { List, Total } = response\n return { list: List, total: Total }\n }}\n />\n {creatingContextHolder}\n {updatingContextHolder}\n </Card>\n )\n}\n\nexport default RoleList\n"],"names":["UsergroupAddOutlined","UsergroupAddOutlinedSvg","props","ref","React","AntdIcon","_extends","UsergroupAddOutlined$1","action","useCreatingUserModal","message","App","setPage","useQueryListStore","create","useCreateRole","t","useTranslation","onConfirm","values","useFormModal","form","jsxs","Form","jsx","Input","PermissionList","useUpdatingRoleModal","mutate","update","useUpdateRole","_form","extraValues","prev","produce","draft","match","_a","item","RoleList","viewable","usePermission","modal","usePermissionApiV2","useToolkitsContext","remove","useRemoveRole","showCreatingModal","creatingContextHolder","showUpdatingModal","updatingContextHolder","columns","value","Link","Fragment","Space","PermissionButton","role","request","Highlight","index","_b","Card","QueryList","response","List","Total"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-LFJ8CuhL.chunk.js","sources":["../src/features/permission/components/PermissionCollapse/index.tsx","../src/features/permission/components/PermissionListV1/index.tsx","../src/features/permission/components/PermissionListV2/index.tsx","../src/features/permission/components/PermissionList/index.tsx"],"sourcesContent":["import { Checkbox, Col, Collapse, Row } from 'antd'\nimport type { CheckboxChangeEvent } from 'antd/es/checkbox'\nimport type { FC } from 'react'\nimport { useCallback, useEffect, useState } from 'react'\nimport { useTranslation } from '../../../../hooks/i18n'\nimport type { PermissionEnumItem } from '../../types'\n\ninterface PermissionCollapseProps {\n expand?: boolean\n permissions?: PermissionEnumItem[]\n readonly?: boolean\n value?: string[]\n onChange?: (value: string[]) => void\n}\n\nconst PermissionCollapse: FC<PermissionCollapseProps> = props => {\n const { permissions, readonly, expand, value, onChange } = props\n const [activeKey, setActiveKey] = useState<string[]>([])\n const [checkedMap, setCheckedMap] = useState<Record<string, boolean>>({})\n const [internalValue, setInternalValue] = useState<string[]>(value ?? [])\n const t = useTranslation()\n\n const onCollapseChange = useCallback((key: string | string[]) => {\n setActiveKey(key as string[])\n }, [])\n\n const getCheckedValue = (checkedValue: boolean, codes: string[]) => {\n let tempValue: string[] = []\n\n if (checkedValue) {\n tempValue = [...new Set(internalValue.concat(codes))]\n } else {\n tempValue = internalValue.slice()\n\n codes.forEach(code => {\n const index = tempValue.findIndex(item => item === code)\n if (index > -1) {\n tempValue.splice(index, 1)\n }\n })\n }\n\n return tempValue\n }\n\n const onCheckChange = (e: CheckboxChangeEvent, codes: string[]) => {\n const checkedValue = getCheckedValue(e.target.checked, codes)\n setInternalValue(checkedValue)\n onChange?.(checkedValue)\n }\n\n useEffect(() => {\n setInternalValue(value ?? [])\n }, [value])\n\n useEffect(() => {\n if (expand) {\n setActiveKey((permissions ?? []).map(({ category }) => category))\n }\n }, [expand, permissions])\n\n useEffect(() => {\n const checkedValue = (permissions ?? []).reduce(\n (acc, curr) => {\n acc[curr.category] = curr.permissions.every(item => internalValue?.includes(item.value))\n return acc\n },\n {} as Record<string, boolean>,\n )\n\n setCheckedMap(checkedValue)\n }, [internalValue, permissions])\n\n return (\n <Collapse\n style={{ width: '100%' }}\n collapsible=\"header\"\n activeKey={activeKey}\n items={(permissions ?? []).map(item => ({\n key: item.category,\n label: item.category,\n extra: !readonly && (\n <Checkbox\n checked={checkedMap[item.category]}\n onChange={e => {\n onCheckChange(\n e,\n item.permissions.map(permission => permission.value),\n )\n }}\n >\n {t('global.selectAll')}\n </Checkbox>\n ),\n children: (\n <Checkbox.Group style={{ width: '100%' }} value={internalValue} disabled={readonly}>\n <Row gutter={[10, 10]} style={{ width: '100%' }}>\n {item.permissions.map(permission => (\n <Col key={permission.value} span={6}>\n <Checkbox\n value={permission.value}\n onChange={e => {\n onCheckChange(e, [permission.value])\n }}\n >\n {permission.label}\n </Checkbox>\n </Col>\n ))}\n </Row>\n </Checkbox.Group>\n ),\n }))}\n onChange={onCollapseChange}\n />\n )\n}\n\nexport default PermissionCollapse\n","import { Skeleton, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useTranslation } from '../../../../hooks/i18n'\nimport { useAllPermissions } from '../../hooks'\nimport type { RoleV1 } from '../../types'\nimport PermissionCollapse from '../PermissionCollapse'\nimport type { PermissionListPropsBase } from '../PermissionList'\n\nconst { Text } = Typography\n\ninterface PermissionListV1Props extends PermissionListPropsBase {\n value?: RoleV1['permissions']\n onChange?: (checkedValue: RoleV1['permissions']) => void\n}\n\nconst PermissionListV1: FC<PermissionListV1Props> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: permissions, isLoading, error } = useAllPermissions()\n const t = useTranslation()\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n return (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value}\n permissions={permissions}\n readonly={readonly}\n expand={expand}\n onChange={onChange}\n />\n </Skeleton>\n )\n}\n\nexport default PermissionListV1\n","import { Button, Card, Divider, Empty, Select, Skeleton, Space, Typography } from 'antd'\nimport type { FC } from 'react'\nimport { useEffect, useState } from 'react'\nimport { useTranslation } from '../../../../hooks/i18n'\nimport { useAllPermissionsV2 } from '../../hooks'\nimport type { RoleV2 } from '../../types'\nimport PermissionCollapse from '../PermissionCollapse'\nimport type { PermissionListPropsBase } from '../PermissionList'\n\nconst { Text } = Typography\nconst { Option } = Select\n\ninterface PermissionListV2Props extends PermissionListPropsBase {\n value?: RoleV2['permissions']\n onChange?: (checkedValue: RoleV2['permissions']) => void\n}\n\nconst PermissionListV2: FC<PermissionListV2Props> = props => {\n const { expand = true, value, readonly, onChange } = props\n const { data: { permission, game: games } = {}, isLoading, error } = useAllPermissionsV2()\n const [gameList, setGameList] = useState<{ gameId: string; permissions: string[] }[]>([])\n const globalPermissions = permission?.filter(item => item.is_common)\n const gamePermissions = permission?.filter(item => !item.is_common)\n const t = useTranslation()\n\n useEffect(() => {\n const list: { gameId: string; permissions: string[] }[] = []\n\n Object.keys(value ?? {}).forEach(key => {\n if (key !== 'global') {\n list.push({ gameId: key, permissions: value?.[key] ?? [] })\n }\n })\n\n setGameList(list)\n }, [value])\n\n if (error) {\n return (\n <div className=\"flex justify-center\">\n <Text type=\"danger\">{t('PermissionList.failedDescription')}</Text>\n </div>\n )\n }\n\n const addGame = () => {\n setGameList(prev => [...prev, { gameId: '', permissions: [] }])\n }\n\n const removeGame = (index: number) => {\n setGameList(prev => prev.filter((_, i) => i !== index))\n }\n\n return (\n <div className=\"flex flex-col w-full\">\n <div className=\"mb-12\">\n <Divider dashed>{t('PermissionList.baseSectionTitle')}</Divider>\n </div>\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.global}\n readonly={readonly}\n permissions={globalPermissions}\n expand={expand}\n onChange={newValue => {\n onChange?.({\n ...value,\n global: newValue,\n })\n }}\n />\n </Skeleton>\n <div className=\"my-12\">\n <Divider dashed>{t('PermissionList.gameSectionTitle')}</Divider>\n </div>\n {gameList.map((item, index) => (\n <Card\n title={\n <Space>\n <Text>{t('global.game')}</Text>\n {readonly ? (\n <Text>{games?.find(game => game.id === item.gameId)?.name}</Text>\n ) : (\n <Select\n disabled={readonly}\n value={gameList[index].gameId || undefined}\n style={{ width: '160px' }}\n placeholder={t('PermissionList.gameSelectPlaceholder')}\n onChange={selectedValue => {\n setGameList(pev => {\n const temp = pev.slice()\n temp[index].gameId = selectedValue\n return temp\n })\n }}\n >\n {games?.map(game => (\n <Option key={game.id} value={game.id} disabled={gameList.some(({ gameId }) => gameId === game.id)}>\n {game.name}\n </Option>\n ))}\n </Select>\n )}\n </Space>\n }\n key={index}\n className=\"mb-6\"\n extra={\n !readonly && (\n <Button\n type=\"link\"\n onClick={() => {\n removeGame(index)\n }}\n >\n {t('PermissionList.removeText')}\n </Button>\n )\n }\n >\n {gameList[index].gameId ? (\n <Skeleton active loading={isLoading}>\n <PermissionCollapse\n value={value?.[gameList[index].gameId]}\n readonly={readonly}\n expand={expand}\n permissions={gamePermissions}\n onChange={newValue => {\n onChange?.({\n ...value,\n [gameList[index].gameId]: newValue,\n })\n }}\n />\n </Skeleton>\n ) : (\n <Empty description={t('PermissionList.gameSectionDescription')} />\n )}\n </Card>\n ))}\n {!readonly && (\n <Button block type=\"dashed\" onClick={addGame}>\n {t('PermissionList.addText')}\n </Button>\n )}\n </div>\n )\n}\n\nexport default PermissionListV2\n","import type { FC } from 'react'\nimport { useToolkitsContext } from '../../../../components/ContextProvider'\nimport type { RoleV1, RoleV2 } from '../../types'\nimport PermissionListV1 from '../PermissionListV1'\nimport PermissionListV2 from '../PermissionListV2'\n\nexport interface PermissionListPropsBase {\n expand?: boolean\n readonly?: boolean\n}\n\ninterface PermissionListProps extends PermissionListPropsBase {\n value?: RoleV1['permissions'] | RoleV2['permissions']\n onChange?: (checkedValue: RoleV1['permissions'] | RoleV2['permissions']) => void\n}\n\nconst PermissionList: FC<PermissionListProps> = (props: PermissionListProps) => {\n const { value } = props\n const { usePermissionApiV2 } = useToolkitsContext()\n\n return (\n <>\n {usePermissionApiV2 ? (\n <PermissionListV2 {...props} value={value as RoleV2['permissions']} />\n ) : (\n <PermissionListV1 {...props} value={value as RoleV1['permissions']} />\n )}\n </>\n )\n}\n\nexport default PermissionList\n"],"names":["PermissionCollapse","props","permissions","readonly","expand","value","onChange","activeKey","setActiveKey","useState","checkedMap","setCheckedMap","internalValue","setInternalValue","t","useTranslation","onCollapseChange","useCallback","key","getCheckedValue","checkedValue","codes","tempValue","code","index","item","onCheckChange","e","useEffect","category","acc","curr","jsx","Collapse","Checkbox","permission","Row","Col","PermissionCollapse$1","Text","Typography","PermissionListV1","isLoading","error","useAllPermissions","Skeleton","PermissionListV1$1","Option","Select","PermissionListV2","games","useAllPermissionsV2","gameList","setGameList","globalPermissions","gamePermissions","list","addGame","prev","removeGame","_","i","jsxs","Divider","newValue","Card","Space","_a","game","selectedValue","pev","temp","gameId","Button","Empty","PermissionListV2$1","PermissionList","usePermissionApiV2","useToolkitsContext","Fragment","PermissionList$1"],"mappings":"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"}
|