@bigbinary/neeto-team-members-frontend 5.0.57 → 5.0.59

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Roles.js","sources":["../../app/javascript/src/v2/components/Roles/Header/utils.js","../../app/javascript/src/v2/components/Roles/AddRoleButton.jsx","../../app/javascript/src/v2/components/Roles/Header/index.jsx","../../app/javascript/src/v2/components/Roles/constants.js","../../app/javascript/src/v2/components/Roles/ManageRoles.jsx","../../app/javascript/src/v2/components/Roles/Table/constants.js","../../app/javascript/src/v2/components/Roles/Table/utils.js","../../app/javascript/src/v2/components/Roles/Table/Row.jsx","../../app/javascript/src/v2/components/Roles/Table/Sidebar/utils.jsx","../../app/javascript/src/v2/components/Roles/Table/TableHeader.jsx","../../app/javascript/src/v2/components/Roles/Delete.jsx","../../app/javascript/src/v2/components/Roles/Table/Columns.jsx","../../app/javascript/src/v2/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../../app/javascript/src/v2/components/Roles/Table/Sidebar/index.jsx","../../app/javascript/src/v2/components/Roles/Table/useRowHeightSync.js","../../app/javascript/src/v2/components/Roles/Table/index.jsx","../../app/javascript/src/v2/components/Roles/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\n\nexport const renderSearchProps = () => ({\n \"data-testid\": \"ntm-search-roles-input\",\n placeholder: t(\"neetoTeamMembers.placeholders.searchRole\", PLURAL),\n});\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [{ text: taxonomies.member.plural, link: \"/members\" }];\n","import { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddRoleButton = ({ config, onClick }) => {\n const { t } = useTranslation();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n return (\n <Tooltip\n position=\"bottom\"\n content={\n !isCreatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")\n : null\n }\n >\n <span>\n <Button\n {...{ onClick }}\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n >\n {t(\"neetoTeamMembers.labels.addNewRole\")}\n </Button>\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderBreadcrumbs, renderSearchProps } from \"./utils\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty = false,\n setIsNewRolePaneOpen,\n roles,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n searchProps={isNotEmpty(roles) ? renderSearchProps() : null}\n title={t(\"neetoTeamMembers.common.role\", PLURAL)}\n titleHelpPopoverProps={config?.header?.titleHelpPopoverProps ?? {}}\n actionBlock={\n isDirty ? (\n <div className=\"flex items-center gap-2\">\n <Tooltip\n position=\"bottom\"\n content={\n !isUpdatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")\n : null\n }\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n type=\"submit\"\n onClick={handleSubmit}\n >\n {t(\"neetoTeamMembers.buttons.saveChanges\")}\n </Button>\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n type=\"reset\"\n variant=\"ghost\"\n onClick={handleReset}\n >\n {t(\"neetoTeamMembers.buttons.reset\")}\n </Button>\n </div>\n ) : (\n <AddRoleButton\n {...{ config }}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Header;\n","import { t } from \"i18next\";\nimport { string, object } from \"yup\";\n\nexport const ROLE_NAME_MAX_LENGTH = 40;\n\nexport const ROLE_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n ROLE_NAME_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.nameLimitExceeded\", {\n limit: ROLE_NAME_MAX_LENGTH,\n })\n )\n // @ts-ignore\n .required(t(\"neetoTeamMembers.validations.enterRoleName\")),\n description: string()\n .nullable()\n .trim()\n .max(\n ROLE_DESCRIPTION_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.descriptionLimitExceeded\", {\n limit: ROLE_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nexport const ROLE_FORMIK_PROPS = {\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import { useEffect, useRef } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n Input as FormikInput,\n Textarea as FormikTextarea,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { useCreateRole, useUpdateRole } from \"hooks/roles/useRolesApi\";\n\nimport {\n ADD_ROLE_FORM_INITIAL_VALUES,\n ROLE_DESCRIPTION_MAX_LENGTH,\n ROLE_FORMIK_PROPS,\n ROLE_NAME_MAX_LENGTH,\n} from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nimport { FormikActionBlock, FormikForm } from \"../Common/formik\";\nimport ScrollToErrorField from \"../Common/ScrollToErrorField\";\n\nconst ManageRoles = ({\n config,\n isOpen = false,\n onClose,\n permissions = [],\n selectedRole = {},\n scrollTo = null,\n}) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const lastScrollKeyRef = useRef(null);\n const { mutate: createRole, isPending: isCreatingRole } = useCreateRole({\n onSuccess: onClose,\n });\n\n const { mutate: updateRole, isPending: isUpdatingRole } = useUpdateRole({\n onSuccess: onClose,\n });\n const isEdit = isPresent(selectedRole);\n const isSubmitting = isCreatingRole || isUpdatingRole;\n\n const handleSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...formValues,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n },\n };\n\n isEdit ? updateRole({ payload, id: selectedRole.id }) : createRole(payload);\n };\n\n const initialValues = isEdit\n ? {\n ...selectedRole,\n permissionIds: selectedRole.permissionIds?.sort(),\n description: selectedRole.description || \"\",\n }\n : ADD_ROLE_FORM_INITIAL_VALUES;\n\n const formikProps = {\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n };\n\n const isReadOnly = selectedRole.kind === \"system\";\n const isDisabled = ADMIN_ROLES.includes(selectedRole.name) && isReadOnly;\n\n useEffect(() => {\n const activeClassName = \"ntm-roles-permission-category-card--active\";\n const blinkClassName = \"ntm-roles-permission__card--blink\";\n\n const getScrollableParent = node => {\n let current = node?.parentElement;\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const isScrollable =\n (overflowY === \"auto\" || overflowY === \"scroll\") &&\n current.scrollHeight > current.clientHeight;\n if (isScrollable) return current;\n current = current.parentElement;\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n if (!isOpen) {\n lastScrollKeyRef.current = null;\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n return () => {};\n }\n\n if (!scrollTo) return () => {};\n\n const key = `${selectedRole?.id ?? \"new\"}:${scrollTo.type}:${\n scrollTo.permissionId ?? scrollTo.category ?? \"\"\n }`;\n if (lastScrollKeyRef.current === key) return () => {};\n lastScrollKeyRef.current = key;\n\n let timeoutId;\n let highlightTimeoutId;\n let blinkTimeoutId;\n let scrollEndTimeoutId;\n let attempts = 0;\n let highlightedCard = null;\n let blinkedPermissionCard = null;\n\n const attemptScroll = () => {\n attempts += 1;\n const elementId =\n scrollTo.type === \"permission\"\n ? `ntm-role-permission-${scrollTo.permissionId}`\n : `ntm-role-permission-category-${hyphenate(scrollTo.category || \"\")}`;\n\n const el = document.getElementById(elementId);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n const categoryCard =\n scrollTo.type === \"permission\"\n ? el.closest(\".ntm-roles-permission-category-card\")\n : el.querySelector(\".ntm-roles-permission-category-card\");\n\n const scrollContainer = getScrollableParent(el);\n\n const startHighlight = () => {\n if (!categoryCard) return;\n\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n categoryCard.classList.add(activeClassName);\n highlightedCard = categoryCard;\n\n clearTimeout(highlightTimeoutId);\n highlightTimeoutId = setTimeout(() => {\n categoryCard.classList.remove(activeClassName);\n }, 3000);\n };\n\n if (scrollTo.type === \"permission\") {\n const animationDurationMs = 600;\n const animationIterations = 3;\n const totalDurationMs =\n animationDurationMs * animationIterations + 100;\n\n const startBlink = () => {\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n el.classList.remove(blinkClassName);\n // Restart animation if the class was already present\n void el.offsetWidth;\n el.classList.add(blinkClassName);\n blinkedPermissionCard = el;\n\n clearTimeout(blinkTimeoutId);\n blinkTimeoutId = setTimeout(() => {\n el.classList.remove(blinkClassName);\n }, totalDurationMs);\n };\n\n // Start animation only after scroll settles (or after a max wait).\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n } else {\n // Highlight should also start only after scroll settles.\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n }\n\n return;\n }\n\n // Sheet content can mount after open animation; retry briefly.\n if (attempts < 5) timeoutId = setTimeout(attemptScroll, 100);\n };\n\n timeoutId = setTimeout(attemptScroll, 0);\n\n return () => {\n clearTimeout(timeoutId);\n clearTimeout(highlightTimeoutId);\n clearTimeout(blinkTimeoutId);\n clearTimeout(scrollEndTimeoutId);\n highlightedCard?.classList.remove(activeClassName);\n blinkedPermissionCard?.classList.remove(blinkClassName);\n };\n }, [isOpen, scrollTo, selectedRole?.id]);\n\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <Sheet.Header>\n <Sheet.Title data-testid=\"ntm-add-role-title\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Sheet.Title>\n </Sheet.Header>\n <FormikForm\n {...{ formikProps }}\n className=\"flex min-h-0 flex-1 flex-col\"\n ref={formReference}\n >\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Sheet.Body>\n <div className=\"mb-6 w-full space-y-6\">\n <div className=\"space-y-4\">\n <FormikInput\n required\n data-testid=\"ntm-add-role-name-text-field\"\n label={t(\"neetoTeamMembers.common.name\")}\n maxLength={ROLE_NAME_MAX_LENGTH}\n name=\"name\"\n placeholder={t(\"neetoTeamMembers.placeholders.enterName\")}\n readOnly={isReadOnly}\n ref={!isEdit ? inputReference : undefined}\n />\n <FormikTextarea\n data-testid=\"ntm-add-role-description-text-field\"\n label={t(\"neetoTeamMembers.common.description\")}\n maxLength={ROLE_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n readOnly={isDisabled}\n placeholder={t(\n \"neetoTeamMembers.placeholders.enterDescription\"\n )}\n />\n </div>\n <Permissions\n {...{ isDisabled, permissions }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <FormikActionBlock\n {...{ isSubmitting }}\n className=\"flex gap-2\"\n cancelButtonProps={{\n \"data-testid\": \"ntm-add-role-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-add-role-submit-button\",\n disabled: isSubmitting || isDisabled || !dirty,\n }}\n />\n </Sheet.Footer>\n </>\n )}\n </FormikForm>\n </Sheet>\n );\n};\n\nexport default ManageRoles;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n scrollTo: null,\n};\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n\nexport const SIDEBAR_CELL_SELECTOR = \".ntm-roles-table-sidebar__list-item-cell\";\n\nexport const COLUMN_ROW_SELECTOR =\n \".ntm-roles-table__rows > div[data-testid], .ntm-roles-table__empty-row\";\n","import { t } from \"i18next\";\nimport { _findBy } from \"neetocist\";\nimport { not } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\") || Object.is(roleName, \"Owner\")\n ? t(\"neetoTeamMembers.tooltips.adminMustHaveAccess\", { roleName })\n : t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n\nexport const getMenuItems = ({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-edit-role-button\",\n isDisabled: not(isUpdatePermissionGranted),\n size: \"small\",\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\"),\n disabled: isUpdatePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.edit\"),\n onClick: () =>\n setManageRole({ isEdit: true, selectedRole: role, scrollTo: null }),\n },\n {\n key: MENU_ITEMS.DELETE,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-delete-role-button\",\n isDisabled: not(isDeletePermissionGranted),\n size: \"small\",\n isVisible: not(isSystemRole),\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToRemoveRoles\"),\n disabled: isDeletePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.delete\"),\n onClick: () =>\n setManageRole({ isDelete: true, selectedRole: role, scrollTo: null }),\n },\n];\n\nexport const getRowClientHeight = permission => {\n const sidebarItems = Array.from(\n document.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n )\n );\n\n const sidebarItem = _findBy(\n { dataset: { name: permission?.description } },\n sidebarItems\n );\n\n return sidebarItem?.clientHeight;\n};\n","import { Checkbox, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n category = \"\",\n config,\n permission = null,\n roles,\n setManageRole = noop,\n}) => {\n const isUpdatePermissionGranted = config.permissions.update;\n\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = role => {\n const scrollTo = permission?.id\n ? { type: \"permission\", permissionId: permission.id }\n : { type: \"category\", category };\n\n setManageRole({ isEdit: true, selectedRole: role, scrollTo });\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(includes(__, role.permissionIds));\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div\n className=\"ntm-roles-table__cell\"\n data-testid={`${hyphenate(role.name)}-role-cell`}\n key={role.id}\n >\n <Tooltip\n position=\"top\"\n content={\n !(\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n )\n ? renderRolesTooltipContent(role.name)\n : null\n }\n >\n <div className=\"absolute z-10 m-auto size-4\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox z-10\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onCheckedChange={() => handleSubmit(role)}\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","import { Fragment } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Info } from \"lucide-react\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"common/utils\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\n\nexport const renderDescription = (\n permissions,\n filteredPermissions,\n permissionTooltip = {},\n depth = 0\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n const isChild = depth > 0;\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item flex min-h-[var(--ntm-roles-table-cell-height)] flex-row items-center gap-1 whitespace-normal break-words\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n variant={isChild ? \"body3\" : \"body2\"}\n weight={isChild ? \"normal\" : \"medium\"}\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={Info}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"ntm-roles-table-sidebar__sub-blocks relative pl-6\">\n {renderDescription(\n children,\n filteredPermissions,\n permissionTooltip,\n depth + 1\n )}\n </div>\n </Fragment>\n );\n });\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return { marginBottom: `${scrollBarWidth}px` };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n\nexport const getFilteredCategories = filteredGroupPermissions =>\n Array.from(filteredGroupPermissions?.keys() || []).filter(category => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const permissions = groupedPermissions.get(\"permissions\") || [];\n\n return permissions.length > 0;\n });\n","import { useEffect, useCallback, useRef, memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const isUpdatePermissionGranted = config.permissions.update;\n const isDeletePermissionGranted = config.permissions.delete;\n\n const scrollSyncElement = useRef(null);\n\n const getOverflowStatus = useCallback(() => {\n if (!scrollSyncElement.current) return;\n\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }, [setIsScrollPresent]);\n\n useEffect(() => {\n addEventListener(\"resize\", getOverflowStatus);\n\n return () => removeEventListener(\"resize\", getOverflowStatus);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(getOverflowStatus, [getOverflowStatus, scrollSyncElement, roles]);\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div\n className=\"ntm-roles-table__header\"\n data-testid=\"ntm-roles-table-header\"\n >\n {roles?.map((role, index) => {\n const isSystemRole = identical(\"system\", role.kind);\n const isAdminRole = ADMIN_ROLES.includes(role.name) && isSystemRole;\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div\n className=\"flex w-full items-center justify-between overflow-hidden\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"w-full text-center\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineClamp={1}\n variant=\"body3\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-0.5 shrink-0\",\n \"data-testid\":\n \"ntm-roles-table-header-role-dropdown-button\",\n }}\n menuItems={getMenuItems({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n })}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default memo(TableHeader);\n","import { Alert } from \"@bigbinary/neeto-atoms\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isPending: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.delete\")}\n title={t(\"neetoTeamMembers.labels.deleteRole\")}\n message={\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.deletingRole\"\n values={{ name: selectedRole?.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import { useState, useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { hyphenate } from \"neetocist\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport { getFilteredCategories } from \"./Sidebar/utils\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n {...{ config, setIsScrollPresent, setManageRole }}\n roles={filteredRoles}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table__empty-row\">\n <div className=\"ntm-roles-table__row\">\n <div className=\"ntm-roles-table__cell\">\n <div>&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div\n data-testid={`${hyphenate(category)}-permission-card`}\n key={index}\n >\n <Row\n {...{ category, config, setManageRole }}\n allPermissionsOfCategory={groupedPermissions}\n roles={filteredRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n {...{ config, permission, setManageRole }}\n data-testid={`${hyphenate(permission)}-permission-row`}\n key={permission.id}\n roles={filteredRoles}\n />\n ))}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n <ManageRoles\n {...{ config, onClose, permissions }}\n isOpen={manageRole.isEdit}\n scrollTo={manageRole.scrollTo}\n selectedRole={manageRole.selectedRole}\n />\n <Delete\n {...{ onClose, roles }}\n isOpen={manageRole.isDelete}\n selectedRole={manageRole.selectedRole}\n />\n </div>\n );\n};\n\nexport default Columns;\n","import { ChevronUp, ChevronRight } from \"lucide-react\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <ChevronUp\n className=\"ntm-roles-table-sidebar__drop-down-button cursor-pointer text-muted-foreground\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <ChevronRight\n className=\"ntm-roles-table-sidebar__drop-down-button cursor-pointer text-muted-foreground\"\n data-testid=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n />\n );\n\nexport default ToggleDropdown;\n","import { useMemo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nimport { getChildrenRemovedFromRoot } from \"../../utils\";\n\nconst Sidebar = ({\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n permissions = [],\n permissionRelationConfig = {},\n permissionTooltip = {},\n}) => {\n const { t } = useTranslation();\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const groupedPermissionsWithChildren = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Search\n enableUrlSync\n data-testid=\"ntm-search-permissions-input\"\n searchParamName=\"permission_search_term\"\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchPermission\",\n PLURAL\n )}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table-sidebar__list-item-cell\">\n <div className=\"ntm-roles-table-sidebar__list-item flex flex-col items-start justify-center gap-1 px-6 py-6\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.permissionSearchEmpty\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\n \"neetoTeamMembers.labels.permissionSearchEmptyDescription\"\n )}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n\n return (\n <div\n className=\"ntm-roles-table-sidebar__list-item-cell\"\n key={index}\n >\n <div\n className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted flex cursor-pointer items-center justify-between border-t border-border bg-muted px-6 py-2.5\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n data-testid=\"ntm-permission-category-title\"\n variant=\"h6\"\n >\n {category}\n </Typography>\n <ToggleDropdown isVisible={isPermissionVisible} />\n </div>\n {isPermissionVisible && (\n <div className=\"ntm-roles-table-sidebar__list-item-spacing-handler ms-3 px-6\">\n {renderDescription(\n groupedPermissionsWithChildren[category],\n pluck(\n \"id\",\n filteredGroupPermissions\n .get(category)\n .get(\"permissions\") || []\n ),\n permissionTooltip\n )}\n </div>\n )}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import { useCallback, useEffect } from \"react\";\n\nimport { SIDEBAR_CELL_SELECTOR, COLUMN_ROW_SELECTOR } from \"./constants\";\n\nconst syncRowHeights = () => {\n const sidebarCells = document.querySelectorAll(SIDEBAR_CELL_SELECTOR);\n const columnRows = document.querySelectorAll(COLUMN_ROW_SELECTOR);\n\n const count = Math.min(sidebarCells.length, columnRows.length);\n\n for (let i = 0; i < count; i++) {\n // Reset heights so we can measure natural size\n sidebarCells[i].style.height = \"auto\";\n\n const sidebarChildren = sidebarCells[i].children;\n for (let j = 0; j < sidebarChildren.length; j++) {\n sidebarChildren[j].style.height = \"auto\";\n }\n\n const columnChildren = columnRows[i].children;\n for (let j = 0; j < columnChildren.length; j++) {\n const cells = columnChildren[j].querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n\n cells.forEach(cell => {\n cell.style.height = \"auto\";\n });\n }\n }\n\n // Force reflow before measuring\n\n document.body.offsetHeight;\n\n for (let i = 0; i < count; i++) {\n // For each row group (category header + its permission rows),\n // sync the sidebar cell block with the column row block.\n const sidebarBlock = sidebarCells[i];\n const columnBlock = columnRows[i];\n\n // Sync the category header row (first child of each block)\n const sidebarHeader = sidebarBlock.querySelector(\n \".ntm-roles-table-sidebar__list-item--highlighted\"\n );\n\n const columnHeader = columnBlock.querySelector(\n \".ntm-roles-table__row--highlighted\"\n );\n\n if (sidebarHeader && columnHeader) {\n const columnHeaderCells = columnHeader.querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n const sidebarH = sidebarHeader.getBoundingClientRect().height;\n const columnH = columnHeaderCells[0]?.getBoundingClientRect().height || 0;\n const maxH = Math.max(sidebarH, columnH);\n\n sidebarHeader.style.height = `${maxH}px`;\n columnHeaderCells.forEach(cell => {\n cell.style.height = `${maxH}px`;\n });\n }\n\n // Sync individual permission rows\n const sidebarItems = sidebarBlock.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n );\n\n const columnPermRows = columnBlock.querySelectorAll(\n \".ntm-roles-table__row:not(.ntm-roles-table__row--highlighted)\"\n );\n\n const permCount = Math.min(sidebarItems.length, columnPermRows.length);\n for (let j = 0; j < permCount; j++) {\n const sidebarH = sidebarItems[j].getBoundingClientRect().height;\n const columnCells = columnPermRows[j].querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n const columnH = columnCells[0]?.getBoundingClientRect().height || 0;\n const maxH = Math.max(sidebarH, columnH);\n\n sidebarItems[j].style.height = `${maxH}px`;\n columnCells.forEach(cell => {\n cell.style.height = `${maxH}px`;\n });\n }\n }\n};\n\nconst useRowHeightSync = filteredGroupPermissions => {\n const sync = useCallback(() => {\n requestAnimationFrame(syncRowHeights);\n }, []);\n\n useEffect(() => {\n sync();\n }, [filteredGroupPermissions, sync]);\n\n useEffect(() => {\n const observer = new ResizeObserver(sync);\n const container = document.querySelector(\".ntm-roles-table__container\");\n if (container) observer.observe(container);\n\n window.addEventListener(\"resize\", sync);\n\n return () => {\n observer.disconnect();\n window.removeEventListener(\"resize\", sync);\n };\n }, [sync]);\n};\n\nexport default useRowHeightSync;\n","import { useEffect, useState } from \"react\";\n\nimport { Empty } from \"@bigbinary/neeto-atoms\";\nimport { Search, UserCog } from \"lucide-react\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport useRowHeightSync from \"./useRowHeightSync\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Table = ({\n config,\n filteredRoles,\n roles,\n permissionGroups,\n permissions,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const { permissionSearchTerm = \"\" } = useQueryParams();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const [selectedRole, setSelectedRole] = useState(undefined);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useRowHeightSync(filteredGroupPermissions);\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(\n permissionSearchTerm,\n permissionGroups\n );\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, permissionSearchTerm]);\n\n return (\n <>\n <div className=\"ntm-roles-table__wrapper flex flex-1 flex-col\">\n {isEmpty(roles) ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={t(\"neetoTeamMembers.labels.roleEmptyDescription\")}\n icon={UserCog}\n title={t(\"neetoTeamMembers.labels.roleEmptyTitle\")}\n primaryButtonProps={{\n \"data-testid\": \"ntm-add-role-button\",\n disabled: !isCreatePermissionGranted,\n label: t(\"neetoTeamMembers.labels.addNewRole\"),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n />\n </div>\n ) : isEmpty(filteredRoles) ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n icon={Search}\n title={t(\"neetoTeamMembers.labels.roleSearchEmptyTitle\")}\n description={t(\n \"neetoTeamMembers.labels.roleSearchEmptyDescription\"\n )}\n />\n </div>\n ) : (\n <div className=\"ntm-roles-table__container\">\n <Sidebar\n {...{\n filteredGroupPermissions,\n isScrollPresent,\n permissions,\n toggleDropdown,\n }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n permissionTooltip={config?.permissionTooltip ?? {}}\n />\n <Columns\n {...{\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n setModifiedRoles,\n }}\n />\n </div>\n )}\n </div>\n <ManageRoles\n {...{ config, permissions, selectedRole }}\n isOpen={isEditPaneOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsEditPaneOpen(false);\n }}\n />\n <Delete\n {...{ roles, selectedRole }}\n isOpen={isDeleteAlertOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsDeleteAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSync } from \"@bigbinary/react-scroll-sync\";\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { useQueryParams, withTitle } from \"neetocommons/v2/react-utils\";\nimport Container from \"neetomolecules/v2/Container\";\nimport { filter, includes } from \"ramda\";\n\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/roles.css\";\n\nimport Header from \"./Header\";\nimport ManageRoles from \"./ManageRoles\";\nimport Table from \"./Table\";\nimport {\n getModifiedPermissions,\n getPermissionGroups,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nimport withReactQuery from \"../Common/withReactQuery\";\n\nconst Roles = ({ config }) => {\n const isViewPermissionGranted = config.permissions.view;\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [modifiedRoles, setModifiedRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const {\n data: roles = [],\n isLoading: isRolesLoading,\n status,\n } = useFetchRoles({ enabled: isViewPermissionGranted });\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const { data: permissionData, isLoading: isPermissionsLoading } =\n useFetchPermissions({ enabled: isViewPermissionGranted });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: isUpdatePermissionGranted,\n });\n\n const permissions = sortPermissionsBySequence(permissionData);\n const permissionGroups = getPermissionGroups(permissions);\n\n const filteredRoles = filter(\n ({ name }) =>\n includes(searchTerm.toLowerCase().trim(), name.toLowerCase().trim()),\n isNotEmpty(modifiedRoles) ? modifiedRoles : roles\n );\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n useEffect(() => {\n if (status !== \"success\") return;\n setModifiedRoles(roles);\n }, [roles, status]);\n\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed className=\"pb-10\">\n <Header\n {...{\n config,\n handleReset,\n handleSubmit,\n roles,\n setIsNewRolePaneOpen,\n }}\n />\n <Table\n {...{\n config,\n filteredRoles,\n permissionGroups,\n permissions,\n roles,\n setIsNewRolePaneOpen,\n setModifiedRoles,\n }}\n />\n </Container>\n </ScrollSync>\n <ManageRoles\n {...{ config, permissions }}\n isOpen={isNewRolePaneOpen}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(Roles),\n i18next.t(\"neetoTeamMembers.common.role\", PLURAL)\n);\n"],"names":["renderSearchProps","placeholder","t","PLURAL","renderBreadcrumbs","breadcrumbs","text","taxonomies","member","plural","link","AddRoleButton","_ref","config","onClick","_useTranslation","useTranslation","isCreatePermissionGranted","permissions","create","_jsx","Tooltip","position","content","children","Button","disabled","Header","_config$header","_config$header$titleH","_config$header2","handleReset","handleSubmit","_ref$isDirty","isDirty","setIsNewRolePaneOpen","roles","isUpdatePermissionGranted","update","NeetoHeader","header","className","searchProps","isNotEmpty","title","titleHelpPopoverProps","actionBlock","_jsxs","type","variant","ROLE_NAME_MAX_LENGTH","ROLE_DESCRIPTION_MAX_LENGTH","ADD_ROLE_FORM_VALIDATION_SCHEMA","object","name","string","trim","max","limit","required","description","nullable","ADD_ROLE_FORM_INITIAL_VALUES","permissionIds","ROLE_FORMIK_PROPS","validationSchema","ManageRoles","_selectedRole$permiss","_ref$isOpen","isOpen","onClose","_ref$permissions","_ref$selectedRole","selectedRole","_ref$scrollTo","scrollTo","formReference","useRef","inputReference","lastScrollKeyRef","_useCreateRole","useCreateRole","onSuccess","createRole","mutate","isCreatingRole","isPending","_useUpdateRole","useUpdateRole","updateRole","isUpdatingRole","isEdit","isPresent","isSubmitting","formValues","payload","organizationRole","_objectSpread","id","initialValues","sort","formikProps","onSubmit","isReadOnly","kind","isDisabled","ADMIN_ROLES","includes","useEffect","_selectedRole$id","_ref2","_scrollTo$permissionI","activeClassName","blinkClassName","getScrollableParent","node","current","parentElement","style","getComputedStyle","overflowY","isScrollable","scrollHeight","clientHeight","document","scrollingElement","documentElement","querySelectorAll","concat","forEach","classList","remove","key","permissionId","category","timeoutId","highlightTimeoutId","blinkTimeoutId","scrollEndTimeoutId","attempts","highlightedCard","blinkedPermissionCard","attemptScroll","elementId","hyphenate","el","getElementById","scrollIntoView","behavior","block","categoryCard","closest","querySelector","scrollContainer","startHighlight","add","clearTimeout","setTimeout","animationDurationMs","animationIterations","totalDurationMs","startBlink","offsetWidth","started","maxWaitTimeoutId","removeEventListener","scheduleStart","addEventListener","passive","_highlightedCard","_blinkedPermissionCar","Sheet","size","Title","FormikForm","ref","_ref3","_config$permissionRel","dirty","_Fragment","ScrollToErrorField","formRef","Body","FormikInput","label","maxLength","readOnly","undefined","FormikTextarea","Permissions","permissionRelationConfig","permissionRelation","Footer","FormikActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","SIDEBAR_CELL_SELECTOR","COLUMN_ROW_SELECTOR","deepClone","objectType","_typeof","result","Array","isArray","constructor","Map","_iterator","_createForOfIteratorHelper","keys","_step","s","n","done","value","set","get","err","e","f","Object","prototype","hasOwnProperty","call","renderRolesTooltipContent","roleName","is","updatePermissionVisibility","categoryName","isPermissionVisible","filterPermissionsBySearch","searchTerm","permissionGroups","newValue","filteredPermissions","filter","permission","_permission$descripti","toLowerCase","getMenuItems","isDeletePermissionGranted","role","setManageRole","isSystemRole","not","tooltipProps","isVisible","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","_ref$setManageRole","noop","allPermissionIdsOfCategory","map","prop","isCheckboxChecked","every","__","classnames","identical","Checkbox","checked","onCheckedChange","renderDescription","permissionTooltip","arguments","length","depth","tooltipContent","isChild","Fragment","Typography","weight","HelpPopover","icon","Info","getSearchWrapperStyle","scrollBarWidth","getScrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","from","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","isOverflown","ScrollSyncPane","group","index","isAdminRole","lineClamp","MoreDropdown","dropdownButtonProps","menuItems","memo","Delete","_useDestroyRole","useDestroyRole","deleteRole","isDeleting","handleDelete","_roles$find","newRoleId","find","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","values","Columns","filteredRoles","_useState","useState","_useState2","_slicedToArray","manageRole","categories","useMemo","_createElement","ToggleDropdown","ChevronUp","strokeWidth","ChevronRight","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","color","pluck","syncRowHeights","sidebarCells","columnRows","count","Math","min","i","height","sidebarChildren","j","columnChildren","cells","cell","body","offsetHeight","_loop","sidebarBlock","columnBlock","sidebarHeader","columnHeader","_columnHeaderCells$","columnHeaderCells","sidebarH","getBoundingClientRect","columnH","maxH","sidebarItems","columnPermRows","permCount","_loop2","_columnCells$","columnCells","useRowHeightSync","sync","requestAnimationFrame","observer","ResizeObserver","container","observe","window","disconnect","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","Empty","UserCog","primaryButtonProps","Roles","isViewPermissionGranted","view","modifiedRoles","isNewRolePaneOpen","_useFetchRoles","useFetchRoles","enabled","_useFetchRoles$data","data","isRolesLoading","isLoading","status","_useQueryParams$searc","_useFetchPermissions","useFetchPermissions","permissionData","isPermissionsLoading","_useBulkUpdateRoles","useBulkUpdateRoles","bulkUpdate","sortPermissionsBySequence","getPermissionGroups","updatedRoles","getModifiedPermissions","organizationRoles","Spinner","ScrollSync","Container","isHeaderFixed","withTitle","withReactQuery","i18next"],"mappings":"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"}
1
+ {"version":3,"file":"Roles.js","sources":["../../app/javascript/src/v2/components/Roles/Header/utils.js","../../app/javascript/src/v2/components/Roles/AddRoleButton.jsx","../../app/javascript/src/v2/components/Roles/Header/index.jsx","../../app/javascript/src/v2/components/Roles/constants.js","../../app/javascript/src/v2/components/Roles/ManageRoles.jsx","../../app/javascript/src/v2/components/Roles/Table/constants.js","../../app/javascript/src/v2/components/Roles/Table/utils.js","../../app/javascript/src/v2/components/Roles/Table/Row.jsx","../../app/javascript/src/v2/components/Roles/Table/Sidebar/utils.jsx","../../app/javascript/src/v2/components/Roles/Table/TableHeader.jsx","../../app/javascript/src/v2/components/Roles/Delete.jsx","../../app/javascript/src/v2/components/Roles/Table/Columns.jsx","../../app/javascript/src/v2/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../../app/javascript/src/v2/components/Roles/Table/Sidebar/index.jsx","../../app/javascript/src/v2/components/Roles/Table/useRowHeightSync.js","../../app/javascript/src/v2/components/Roles/Table/index.jsx","../../app/javascript/src/v2/components/Roles/index.jsx"],"sourcesContent":["import { taxonomies } from \"neetocommons/v2/initializers\";\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [{ text: taxonomies.member.plural, link: \"/members\" }];\n","import { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddRoleButton = ({ config, onClick }) => {\n const { t } = useTranslation();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n return (\n <Tooltip\n position=\"bottom\"\n content={\n !isCreatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")\n : null\n }\n >\n <span>\n <Button\n {...{ onClick }}\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n >\n {t(\"neetoTeamMembers.labels.addNewRole\")}\n </Button>\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderBreadcrumbs } from \"./utils\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty = false,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n title={t(\"neetoTeamMembers.common.role\", PLURAL)}\n titleHelpPopoverProps={config?.header?.titleHelpPopoverProps ?? {}}\n actionBlock={\n isDirty ? (\n <div className=\"flex items-center gap-2\">\n <Tooltip\n position=\"bottom\"\n content={\n !isUpdatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")\n : null\n }\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n type=\"submit\"\n onClick={handleSubmit}\n >\n {t(\"neetoTeamMembers.buttons.saveChanges\")}\n </Button>\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n type=\"reset\"\n variant=\"ghost\"\n onClick={handleReset}\n >\n {t(\"neetoTeamMembers.buttons.reset\")}\n </Button>\n </div>\n ) : (\n <AddRoleButton\n {...{ config }}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Header;\n","import { t } from \"i18next\";\nimport { string, object } from \"yup\";\n\nexport const ROLE_NAME_MAX_LENGTH = 40;\n\nexport const ROLE_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n ROLE_NAME_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.nameLimitExceeded\", {\n limit: ROLE_NAME_MAX_LENGTH,\n })\n )\n // @ts-ignore\n .required(t(\"neetoTeamMembers.validations.enterRoleName\")),\n description: string()\n .nullable()\n .trim()\n .max(\n ROLE_DESCRIPTION_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.descriptionLimitExceeded\", {\n limit: ROLE_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nexport const ROLE_FORMIK_PROPS = {\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import { useEffect, useRef } from \"react\";\n\nimport { Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n Input as FormikInput,\n Textarea as FormikTextarea,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { useCreateRole, useUpdateRole } from \"hooks/roles/useRolesApi\";\n\nimport {\n ADD_ROLE_FORM_INITIAL_VALUES,\n ROLE_DESCRIPTION_MAX_LENGTH,\n ROLE_FORMIK_PROPS,\n ROLE_NAME_MAX_LENGTH,\n} from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nimport { FormikActionBlock, FormikForm } from \"../Common/formik\";\nimport ScrollToErrorField from \"../Common/ScrollToErrorField\";\n\nconst ManageRoles = ({\n config,\n isOpen = false,\n onClose,\n permissions = [],\n selectedRole = {},\n scrollTo = null,\n}) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const lastScrollKeyRef = useRef(null);\n const { mutate: createRole, isPending: isCreatingRole } = useCreateRole({\n onSuccess: onClose,\n });\n\n const { mutate: updateRole, isPending: isUpdatingRole } = useUpdateRole({\n onSuccess: onClose,\n });\n const isEdit = isPresent(selectedRole);\n const isSubmitting = isCreatingRole || isUpdatingRole;\n\n const handleSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...formValues,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n },\n };\n\n isEdit ? updateRole({ payload, id: selectedRole.id }) : createRole(payload);\n };\n\n const initialValues = isEdit\n ? {\n ...selectedRole,\n permissionIds: selectedRole.permissionIds?.sort(),\n description: selectedRole.description || \"\",\n }\n : ADD_ROLE_FORM_INITIAL_VALUES;\n\n const formikProps = {\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n };\n\n const isReadOnly = selectedRole.kind === \"system\";\n const isDisabled = ADMIN_ROLES.includes(selectedRole.name) && isReadOnly;\n\n useEffect(() => {\n const activeClassName = \"ntm-roles-permission-category-card--active\";\n const blinkClassName = \"ntm-roles-permission__card--blink\";\n\n const getScrollableParent = node => {\n let current = node?.parentElement;\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const isScrollable =\n (overflowY === \"auto\" || overflowY === \"scroll\") &&\n current.scrollHeight > current.clientHeight;\n if (isScrollable) return current;\n current = current.parentElement;\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n if (!isOpen) {\n lastScrollKeyRef.current = null;\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n return () => {};\n }\n\n if (!scrollTo) return () => {};\n\n const key = `${selectedRole?.id ?? \"new\"}:${scrollTo.type}:${\n scrollTo.permissionId ?? scrollTo.category ?? \"\"\n }`;\n if (lastScrollKeyRef.current === key) return () => {};\n lastScrollKeyRef.current = key;\n\n let timeoutId;\n let highlightTimeoutId;\n let blinkTimeoutId;\n let scrollEndTimeoutId;\n let attempts = 0;\n let highlightedCard = null;\n let blinkedPermissionCard = null;\n\n const attemptScroll = () => {\n attempts += 1;\n const elementId =\n scrollTo.type === \"permission\"\n ? `ntm-role-permission-${scrollTo.permissionId}`\n : `ntm-role-permission-category-${hyphenate(scrollTo.category || \"\")}`;\n\n const el = document.getElementById(elementId);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n const categoryCard =\n scrollTo.type === \"permission\"\n ? el.closest(\".ntm-roles-permission-category-card\")\n : el.querySelector(\".ntm-roles-permission-category-card\");\n\n const scrollContainer = getScrollableParent(el);\n\n const startHighlight = () => {\n if (!categoryCard) return;\n\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n categoryCard.classList.add(activeClassName);\n highlightedCard = categoryCard;\n\n clearTimeout(highlightTimeoutId);\n highlightTimeoutId = setTimeout(() => {\n categoryCard.classList.remove(activeClassName);\n }, 3000);\n };\n\n if (scrollTo.type === \"permission\") {\n const animationDurationMs = 600;\n const animationIterations = 3;\n const totalDurationMs =\n animationDurationMs * animationIterations + 100;\n\n const startBlink = () => {\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n el.classList.remove(blinkClassName);\n // Restart animation if the class was already present\n void el.offsetWidth;\n el.classList.add(blinkClassName);\n blinkedPermissionCard = el;\n\n clearTimeout(blinkTimeoutId);\n blinkTimeoutId = setTimeout(() => {\n el.classList.remove(blinkClassName);\n }, totalDurationMs);\n };\n\n // Start animation only after scroll settles (or after a max wait).\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n } else {\n // Highlight should also start only after scroll settles.\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n }\n\n return;\n }\n\n // Sheet content can mount after open animation; retry briefly.\n if (attempts < 5) timeoutId = setTimeout(attemptScroll, 100);\n };\n\n timeoutId = setTimeout(attemptScroll, 0);\n\n return () => {\n clearTimeout(timeoutId);\n clearTimeout(highlightTimeoutId);\n clearTimeout(blinkTimeoutId);\n clearTimeout(scrollEndTimeoutId);\n highlightedCard?.classList.remove(activeClassName);\n blinkedPermissionCard?.classList.remove(blinkClassName);\n };\n }, [isOpen, scrollTo, selectedRole?.id]);\n\n return (\n <Sheet {...{ isOpen, onClose }} size=\"large\">\n <Sheet.Header>\n <Sheet.Title data-testid=\"ntm-add-role-title\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Sheet.Title>\n </Sheet.Header>\n <FormikForm\n {...{ formikProps }}\n className=\"flex min-h-0 flex-1 flex-col\"\n ref={formReference}\n >\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Sheet.Body>\n <div className=\"mb-6 w-full space-y-6\">\n <div className=\"space-y-4\">\n <FormikInput\n required\n data-testid=\"ntm-add-role-name-text-field\"\n label={t(\"neetoTeamMembers.common.name\")}\n maxLength={ROLE_NAME_MAX_LENGTH}\n name=\"name\"\n placeholder={t(\"neetoTeamMembers.placeholders.enterName\")}\n readOnly={isReadOnly}\n ref={!isEdit ? inputReference : undefined}\n />\n <FormikTextarea\n data-testid=\"ntm-add-role-description-text-field\"\n label={t(\"neetoTeamMembers.common.description\")}\n maxLength={ROLE_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n readOnly={isDisabled}\n placeholder={t(\n \"neetoTeamMembers.placeholders.enterDescription\"\n )}\n />\n </div>\n <Permissions\n {...{ isDisabled, permissions }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n />\n </div>\n </Sheet.Body>\n <Sheet.Footer>\n <FormikActionBlock\n {...{ isSubmitting }}\n className=\"flex gap-2\"\n cancelButtonProps={{\n \"data-testid\": \"ntm-add-role-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-add-role-submit-button\",\n disabled: isSubmitting || isDisabled || !dirty,\n }}\n />\n </Sheet.Footer>\n </>\n )}\n </FormikForm>\n </Sheet>\n );\n};\n\nexport default ManageRoles;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n scrollTo: null,\n};\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n\nexport const SIDEBAR_CELL_SELECTOR = \".ntm-roles-table-sidebar__list-item-cell\";\n\nexport const COLUMN_ROW_SELECTOR =\n \".ntm-roles-table__rows > div[data-testid], .ntm-roles-table__empty-row\";\n","import { t } from \"i18next\";\nimport { _findBy } from \"neetocist\";\nimport { not } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\") || Object.is(roleName, \"Owner\")\n ? t(\"neetoTeamMembers.tooltips.adminMustHaveAccess\", { roleName })\n : t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n\nexport const getMenuItems = ({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-edit-role-button\",\n isDisabled: not(isUpdatePermissionGranted),\n size: \"small\",\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\"),\n disabled: isUpdatePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.edit\"),\n onClick: () =>\n setManageRole({ isEdit: true, selectedRole: role, scrollTo: null }),\n },\n {\n key: MENU_ITEMS.DELETE,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-delete-role-button\",\n isDisabled: not(isDeletePermissionGranted),\n size: \"small\",\n isVisible: not(isSystemRole),\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToRemoveRoles\"),\n disabled: isDeletePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.delete\"),\n onClick: () =>\n setManageRole({ isDelete: true, selectedRole: role, scrollTo: null }),\n },\n];\n\nexport const getRowClientHeight = permission => {\n const sidebarItems = Array.from(\n document.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n )\n );\n\n const sidebarItem = _findBy(\n { dataset: { name: permission?.description } },\n sidebarItems\n );\n\n return sidebarItem?.clientHeight;\n};\n","import { Checkbox, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n category = \"\",\n config,\n permission = null,\n roles,\n setManageRole = noop,\n}) => {\n const isUpdatePermissionGranted = config.permissions.update;\n\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = role => {\n const scrollTo = permission?.id\n ? { type: \"permission\", permissionId: permission.id }\n : { type: \"category\", category };\n\n setManageRole({ isEdit: true, selectedRole: role, scrollTo });\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(includes(__, role.permissionIds));\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div\n className=\"ntm-roles-table__cell\"\n data-testid={`${hyphenate(role.name)}-role-cell`}\n key={role.id}\n >\n <Tooltip\n position=\"top\"\n content={\n !(\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n )\n ? renderRolesTooltipContent(role.name)\n : null\n }\n >\n <div className=\"absolute z-10 m-auto size-4\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox z-10\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onCheckedChange={() => handleSubmit(role)}\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","import { Fragment } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Info } from \"lucide-react\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"common/utils\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\n\nexport const renderDescription = (\n permissions,\n filteredPermissions,\n permissionTooltip = {},\n depth = 0\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n const isChild = depth > 0;\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item flex min-h-[var(--ntm-roles-table-cell-height)] flex-row items-center gap-1 whitespace-normal break-words\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n variant={isChild ? \"body3\" : \"body2\"}\n weight={isChild ? \"normal\" : \"medium\"}\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={Info}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"ntm-roles-table-sidebar__sub-blocks relative pl-6\">\n {renderDescription(\n children,\n filteredPermissions,\n permissionTooltip,\n depth + 1\n )}\n </div>\n </Fragment>\n );\n });\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return { marginBottom: `${scrollBarWidth}px` };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n\nexport const getFilteredCategories = filteredGroupPermissions =>\n Array.from(filteredGroupPermissions?.keys() || []).filter(category => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const permissions = groupedPermissions.get(\"permissions\") || [];\n\n return permissions.length > 0;\n });\n","import { useEffect, useCallback, useRef, memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const isUpdatePermissionGranted = config.permissions.update;\n const isDeletePermissionGranted = config.permissions.delete;\n\n const scrollSyncElement = useRef(null);\n\n const getOverflowStatus = useCallback(() => {\n if (!scrollSyncElement.current) return;\n\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }, [setIsScrollPresent]);\n\n useEffect(() => {\n addEventListener(\"resize\", getOverflowStatus);\n\n return () => removeEventListener(\"resize\", getOverflowStatus);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(getOverflowStatus, [getOverflowStatus, scrollSyncElement, roles]);\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div\n className=\"ntm-roles-table__header\"\n data-testid=\"ntm-roles-table-header\"\n >\n {roles?.map((role, index) => {\n const isSystemRole = identical(\"system\", role.kind);\n const isAdminRole = ADMIN_ROLES.includes(role.name) && isSystemRole;\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div\n className=\"flex w-full items-center justify-between overflow-hidden\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"w-full text-center\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineClamp={1}\n variant=\"body3\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-0.5 shrink-0\",\n \"data-testid\":\n \"ntm-roles-table-header-role-dropdown-button\",\n }}\n menuItems={getMenuItems({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n })}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default memo(TableHeader);\n","import { Alert } from \"@bigbinary/neeto-atoms\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isPending: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.delete\")}\n title={t(\"neetoTeamMembers.labels.deleteRole\")}\n message={\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.deletingRole\"\n values={{ name: selectedRole?.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import { useState, useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { hyphenate } from \"neetocist\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport { getFilteredCategories } from \"./Sidebar/utils\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n {...{ config, setIsScrollPresent, setManageRole }}\n roles={filteredRoles}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table__empty-row\">\n <div className=\"ntm-roles-table__row\">\n <div className=\"ntm-roles-table__cell\">\n <div>&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div\n data-testid={`${hyphenate(category)}-permission-card`}\n key={index}\n >\n <Row\n {...{ category, config, setManageRole }}\n allPermissionsOfCategory={groupedPermissions}\n roles={filteredRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n {...{ config, permission, setManageRole }}\n data-testid={`${hyphenate(permission)}-permission-row`}\n key={permission.id}\n roles={filteredRoles}\n />\n ))}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n <ManageRoles\n {...{ config, onClose, permissions }}\n isOpen={manageRole.isEdit}\n scrollTo={manageRole.scrollTo}\n selectedRole={manageRole.selectedRole}\n />\n <Delete\n {...{ onClose, roles }}\n isOpen={manageRole.isDelete}\n selectedRole={manageRole.selectedRole}\n />\n </div>\n );\n};\n\nexport default Columns;\n","import { ChevronUp, ChevronRight } from \"lucide-react\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <ChevronUp\n className=\"ntm-roles-table-sidebar__drop-down-button cursor-pointer text-muted-foreground\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <ChevronRight\n className=\"ntm-roles-table-sidebar__drop-down-button cursor-pointer text-muted-foreground\"\n data-testid=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n />\n );\n\nexport default ToggleDropdown;\n","import { useMemo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nimport { getChildrenRemovedFromRoot } from \"../../utils\";\n\nconst Sidebar = ({\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n permissions = [],\n permissionRelationConfig = {},\n permissionTooltip = {},\n}) => {\n const { t } = useTranslation();\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const groupedPermissionsWithChildren = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Search\n enableUrlSync\n data-testid=\"ntm-search-permissions-input\"\n searchParamName=\"permission_search_term\"\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchPermission\",\n PLURAL\n )}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table-sidebar__list-item-cell\">\n <div className=\"ntm-roles-table-sidebar__list-item flex flex-col items-start justify-center gap-1 px-6 py-6\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.permissionSearchEmpty\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\n \"neetoTeamMembers.labels.permissionSearchEmptyDescription\"\n )}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n\n return (\n <div\n className=\"ntm-roles-table-sidebar__list-item-cell\"\n key={index}\n >\n <div\n className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted flex cursor-pointer items-center justify-between border-t border-border bg-muted px-6 py-2.5\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n data-testid=\"ntm-permission-category-title\"\n variant=\"h6\"\n >\n {category}\n </Typography>\n <ToggleDropdown isVisible={isPermissionVisible} />\n </div>\n {isPermissionVisible && (\n <div className=\"ntm-roles-table-sidebar__list-item-spacing-handler ms-3 px-6\">\n {renderDescription(\n groupedPermissionsWithChildren[category],\n pluck(\n \"id\",\n filteredGroupPermissions\n .get(category)\n .get(\"permissions\") || []\n ),\n permissionTooltip\n )}\n </div>\n )}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import { useCallback, useEffect } from \"react\";\n\nimport { SIDEBAR_CELL_SELECTOR, COLUMN_ROW_SELECTOR } from \"./constants\";\n\nconst syncRowHeights = () => {\n const sidebarCells = document.querySelectorAll(SIDEBAR_CELL_SELECTOR);\n const columnRows = document.querySelectorAll(COLUMN_ROW_SELECTOR);\n\n const count = Math.min(sidebarCells.length, columnRows.length);\n\n for (let i = 0; i < count; i++) {\n // Reset heights so we can measure natural size\n sidebarCells[i].style.height = \"auto\";\n\n const sidebarChildren = sidebarCells[i].children;\n for (let j = 0; j < sidebarChildren.length; j++) {\n sidebarChildren[j].style.height = \"auto\";\n }\n\n const columnChildren = columnRows[i].children;\n for (let j = 0; j < columnChildren.length; j++) {\n const cells = columnChildren[j].querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n\n cells.forEach(cell => {\n cell.style.height = \"auto\";\n });\n }\n }\n\n // Force reflow before measuring\n\n document.body.offsetHeight;\n\n for (let i = 0; i < count; i++) {\n // For each row group (category header + its permission rows),\n // sync the sidebar cell block with the column row block.\n const sidebarBlock = sidebarCells[i];\n const columnBlock = columnRows[i];\n\n // Sync the category header row (first child of each block)\n const sidebarHeader = sidebarBlock.querySelector(\n \".ntm-roles-table-sidebar__list-item--highlighted\"\n );\n\n const columnHeader = columnBlock.querySelector(\n \".ntm-roles-table__row--highlighted\"\n );\n\n if (sidebarHeader && columnHeader) {\n const columnHeaderCells = columnHeader.querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n const sidebarH = sidebarHeader.getBoundingClientRect().height;\n const columnH = columnHeaderCells[0]?.getBoundingClientRect().height || 0;\n const maxH = Math.max(sidebarH, columnH);\n\n sidebarHeader.style.height = `${maxH}px`;\n columnHeaderCells.forEach(cell => {\n cell.style.height = `${maxH}px`;\n });\n }\n\n // Sync individual permission rows\n const sidebarItems = sidebarBlock.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n );\n\n const columnPermRows = columnBlock.querySelectorAll(\n \".ntm-roles-table__row:not(.ntm-roles-table__row--highlighted)\"\n );\n\n const permCount = Math.min(sidebarItems.length, columnPermRows.length);\n for (let j = 0; j < permCount; j++) {\n const sidebarH = sidebarItems[j].getBoundingClientRect().height;\n const columnCells = columnPermRows[j].querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n const columnH = columnCells[0]?.getBoundingClientRect().height || 0;\n const maxH = Math.max(sidebarH, columnH);\n\n sidebarItems[j].style.height = `${maxH}px`;\n columnCells.forEach(cell => {\n cell.style.height = `${maxH}px`;\n });\n }\n }\n};\n\nconst useRowHeightSync = filteredGroupPermissions => {\n const sync = useCallback(() => {\n requestAnimationFrame(syncRowHeights);\n }, []);\n\n useEffect(() => {\n sync();\n }, [filteredGroupPermissions, sync]);\n\n useEffect(() => {\n const observer = new ResizeObserver(sync);\n const container = document.querySelector(\".ntm-roles-table__container\");\n if (container) observer.observe(container);\n\n window.addEventListener(\"resize\", sync);\n\n return () => {\n observer.disconnect();\n window.removeEventListener(\"resize\", sync);\n };\n }, [sync]);\n};\n\nexport default useRowHeightSync;\n","import { useEffect, useState } from \"react\";\n\nimport { Empty } from \"@bigbinary/neeto-atoms\";\nimport { UserCog } from \"lucide-react\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport useRowHeightSync from \"./useRowHeightSync\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Table = ({\n config,\n filteredRoles,\n roles,\n permissionGroups,\n permissions,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const { permissionSearchTerm = \"\" } = useQueryParams();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const [selectedRole, setSelectedRole] = useState(undefined);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useRowHeightSync(filteredGroupPermissions);\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(\n permissionSearchTerm,\n permissionGroups\n );\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, permissionSearchTerm]);\n\n return (\n <>\n <div className=\"ntm-roles-table__wrapper flex flex-1 flex-col\">\n {isEmpty(roles) ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={t(\"neetoTeamMembers.labels.roleEmptyDescription\")}\n icon={UserCog}\n title={t(\"neetoTeamMembers.labels.roleEmptyTitle\")}\n primaryButtonProps={{\n \"data-testid\": \"ntm-add-role-button\",\n disabled: !isCreatePermissionGranted,\n label: t(\"neetoTeamMembers.labels.addNewRole\"),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n />\n </div>\n ) : (\n <div className=\"ntm-roles-table__container\">\n <Sidebar\n {...{\n filteredGroupPermissions,\n isScrollPresent,\n permissions,\n toggleDropdown,\n }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n permissionTooltip={config?.permissionTooltip ?? {}}\n />\n <Columns\n {...{\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n setModifiedRoles,\n }}\n />\n </div>\n )}\n </div>\n <ManageRoles\n {...{ config, permissions, selectedRole }}\n isOpen={isEditPaneOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsEditPaneOpen(false);\n }}\n />\n <Delete\n {...{ roles, selectedRole }}\n isOpen={isDeleteAlertOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsDeleteAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSync } from \"@bigbinary/react-scroll-sync\";\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { withTitle } from \"neetocommons/v2/react-utils\";\nimport Container from \"neetomolecules/v2/Container\";\n\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/roles.css\";\n\nimport Header from \"./Header\";\nimport ManageRoles from \"./ManageRoles\";\nimport Table from \"./Table\";\nimport {\n getModifiedPermissions,\n getPermissionGroups,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nimport withReactQuery from \"../Common/withReactQuery\";\n\nconst Roles = ({ config }) => {\n const isViewPermissionGranted = config.permissions.view;\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [modifiedRoles, setModifiedRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const {\n data: roles = [],\n isLoading: isRolesLoading,\n status,\n } = useFetchRoles({ enabled: isViewPermissionGranted });\n\n const { data: permissionData, isLoading: isPermissionsLoading } =\n useFetchPermissions({ enabled: isViewPermissionGranted });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: isUpdatePermissionGranted,\n });\n\n const permissions = sortPermissionsBySequence(permissionData);\n const permissionGroups = getPermissionGroups(permissions);\n\n const filteredRoles = isNotEmpty(modifiedRoles) ? modifiedRoles : roles;\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n useEffect(() => {\n if (status !== \"success\") return;\n setModifiedRoles(roles);\n }, [roles, status]);\n\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed className=\"pb-10\">\n <Header\n {...{\n config,\n handleReset,\n handleSubmit,\n setIsNewRolePaneOpen,\n }}\n />\n <Table\n {...{\n config,\n filteredRoles,\n permissionGroups,\n permissions,\n roles,\n setIsNewRolePaneOpen,\n setModifiedRoles,\n }}\n />\n </Container>\n </ScrollSync>\n <ManageRoles\n {...{ config, permissions }}\n isOpen={isNewRolePaneOpen}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(Roles),\n i18next.t(\"neetoTeamMembers.common.role\", PLURAL)\n);\n"],"names":["renderBreadcrumbs","breadcrumbs","text","taxonomies","member","plural","link","AddRoleButton","_ref","config","onClick","_useTranslation","useTranslation","t","isCreatePermissionGranted","permissions","create","_jsx","Tooltip","position","content","children","Button","disabled","Header","_config$header","_config$header$titleH","_config$header2","handleReset","handleSubmit","_ref$isDirty","isDirty","setIsNewRolePaneOpen","isUpdatePermissionGranted","update","NeetoHeader","header","className","title","PLURAL","titleHelpPopoverProps","actionBlock","_jsxs","type","variant","ROLE_NAME_MAX_LENGTH","ROLE_DESCRIPTION_MAX_LENGTH","ADD_ROLE_FORM_VALIDATION_SCHEMA","object","name","string","trim","max","limit","required","description","nullable","ADD_ROLE_FORM_INITIAL_VALUES","permissionIds","ROLE_FORMIK_PROPS","validationSchema","ManageRoles","_selectedRole$permiss","_ref$isOpen","isOpen","onClose","_ref$permissions","_ref$selectedRole","selectedRole","_ref$scrollTo","scrollTo","formReference","useRef","inputReference","lastScrollKeyRef","_useCreateRole","useCreateRole","onSuccess","createRole","mutate","isCreatingRole","isPending","_useUpdateRole","useUpdateRole","updateRole","isUpdatingRole","isEdit","isPresent","isSubmitting","formValues","payload","organizationRole","_objectSpread","id","initialValues","sort","formikProps","onSubmit","isReadOnly","kind","isDisabled","ADMIN_ROLES","includes","useEffect","_selectedRole$id","_ref2","_scrollTo$permissionI","activeClassName","blinkClassName","getScrollableParent","node","current","parentElement","style","getComputedStyle","overflowY","isScrollable","scrollHeight","clientHeight","document","scrollingElement","documentElement","querySelectorAll","concat","forEach","classList","remove","key","permissionId","category","timeoutId","highlightTimeoutId","blinkTimeoutId","scrollEndTimeoutId","attempts","highlightedCard","blinkedPermissionCard","attemptScroll","elementId","hyphenate","el","getElementById","scrollIntoView","behavior","block","categoryCard","closest","querySelector","scrollContainer","startHighlight","add","clearTimeout","setTimeout","animationDurationMs","animationIterations","totalDurationMs","startBlink","offsetWidth","started","maxWaitTimeoutId","removeEventListener","scheduleStart","addEventListener","passive","_highlightedCard","_blinkedPermissionCar","Sheet","size","Title","FormikForm","ref","_ref3","_config$permissionRel","dirty","_Fragment","ScrollToErrorField","formRef","Body","FormikInput","label","maxLength","placeholder","readOnly","undefined","FormikTextarea","Permissions","permissionRelationConfig","permissionRelation","Footer","FormikActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","SIDEBAR_CELL_SELECTOR","COLUMN_ROW_SELECTOR","deepClone","objectType","_typeof","result","Array","isArray","constructor","Map","_iterator","_createForOfIteratorHelper","keys","_step","s","n","done","value","set","get","err","e","f","Object","prototype","hasOwnProperty","call","renderRolesTooltipContent","roleName","is","updatePermissionVisibility","categoryName","isPermissionVisible","filterPermissionsBySearch","searchTerm","permissionGroups","newValue","filteredPermissions","filter","permission","_permission$descripti","toLowerCase","getMenuItems","isDeletePermissionGranted","role","setManageRole","isSystemRole","not","tooltipProps","isVisible","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","roles","_ref$setManageRole","noop","allPermissionIdsOfCategory","map","prop","isCheckboxChecked","every","__","classnames","identical","Checkbox","checked","onCheckedChange","renderDescription","permissionTooltip","arguments","length","depth","tooltipContent","isChild","Fragment","Typography","weight","HelpPopover","icon","Info","getSearchWrapperStyle","scrollBarWidth","getScrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","from","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","isOverflown","ScrollSyncPane","group","index","isAdminRole","lineClamp","MoreDropdown","dropdownButtonProps","menuItems","memo","Delete","_useDestroyRole","useDestroyRole","deleteRole","isDeleting","handleDelete","_roles$find","newRoleId","find","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","values","Columns","filteredRoles","_useState","useState","_useState2","_slicedToArray","manageRole","categories","useMemo","_createElement","ToggleDropdown","ChevronUp","strokeWidth","ChevronRight","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","color","pluck","syncRowHeights","sidebarCells","columnRows","count","Math","min","i","height","sidebarChildren","j","columnChildren","cells","cell","body","offsetHeight","_loop","sidebarBlock","columnBlock","sidebarHeader","columnHeader","_columnHeaderCells$","columnHeaderCells","sidebarH","getBoundingClientRect","columnH","maxH","sidebarItems","columnPermRows","permCount","_loop2","_columnCells$","columnCells","useRowHeightSync","sync","requestAnimationFrame","observer","ResizeObserver","container","observe","window","disconnect","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","Empty","UserCog","primaryButtonProps","Roles","isViewPermissionGranted","view","modifiedRoles","isNewRolePaneOpen","_useFetchRoles","useFetchRoles","enabled","_useFetchRoles$data","data","isRolesLoading","isLoading","status","_useFetchPermissions","useFetchPermissions","permissionData","isPermissionsLoading","_useBulkUpdateRoles","useBulkUpdateRoles","bulkUpdate","sortPermissionsBySequence","getPermissionGroups","isNotEmpty","updatedRoles","getModifiedPermissions","organizationRoles","Spinner","ScrollSync","Container","isHeaderFixed","withTitle","withReactQuery","i18next"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,WAAW,EAAA;AAAA,EAAA,OAC1CA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAXA,WAAW,GAAI,CAAC;AAAEC,IAAAA,IAAI,EAAEC,UAAU,CAACC,MAAM,CAACC,MAAM;AAAEC,IAAAA,IAAI,EAAE;AAAW,GAAC,CAAC;AAAA,CAAA;;ACAvE,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAA4B;AAAA,EAAA,IAAtBC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;AACtC,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAMC,yBAAyB,GAAGL,MAAM,CAACM,WAAW,CAACC,MAAM;EAE3D,oBACEC,GAAA,CAACC,OAAO,EAAA;AACNC,IAAAA,QAAQ,EAAC,QAAQ;IACjBC,OAAO,EACL,CAACN,yBAAyB,GACtBD,CAAC,CAAC,iDAAiD,CAAC,GACpD,IACL;AAAAQ,IAAAA,QAAA,eAEDJ,GAAA,CAAA,MAAA,EAAA;MAAAI,QAAA,eACEJ,GAAA,CAACK,MAAM,EAAA;AACCZ,QAAAA,OAAO,EAAPA,OAAO;AACb,QAAA,aAAA,EAAY,qBAAqB;QACjCa,QAAQ,EAAE,CAACT,yBAA0B;QAAAO,QAAA,EAEpCR,CAAC,CAAC,oCAAoC;OACjC;KACJ;AAAC,GACA,CAAC;AAEd,CAAC;;ACnBD,IAAMW,MAAM,GAAG,SAATA,MAAMA,CAAAhB,IAAA,EAMN;AAAA,EAAA,IAAAiB,cAAA,EAAAC,qBAAA,EAAAC,eAAA;AAAA,EAAA,IALJlB,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNmB,WAAW,GAAApB,IAAA,CAAXoB,WAAW;IACXC,YAAY,GAAArB,IAAA,CAAZqB,YAAY;IAAAC,YAAA,GAAAtB,IAAA,CACZuB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,YAAA;IACfE,oBAAoB,GAAAxB,IAAA,CAApBwB,oBAAoB;AAEpB,EAAA,IAAArB,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAMoB,yBAAyB,GAAGxB,MAAM,CAACM,WAAW,CAACmB,MAAM;EAE3D,oBACEjB,GAAA,CAACkB,WAAW,EAAA;AACVlC,IAAAA,WAAW,EAAED,iBAAiB,CAACS,MAAM,KAAA,IAAA,IAANA,MAAM,gBAAAgB,cAAA,GAANhB,MAAM,CAAE2B,MAAM,MAAA,IAAA,IAAAX,cAAA,uBAAdA,cAAA,CAAgBxB,WAAW,CAAE;AAC5DoC,IAAAA,SAAS,EAAC,kBAAkB;AAC5BC,IAAAA,KAAK,EAAEzB,CAAC,CAAC,8BAA8B,EAAE0B,MAAM,CAAE;IACjDC,qBAAqB,EAAA,CAAAd,qBAAA,GAAEjB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,IAAA,CAAAkB,eAAA,GAANlB,MAAM,CAAE2B,MAAM,cAAAT,eAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,eAAA,CAAgBa,qBAAqB,MAAA,IAAA,IAAAd,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAG;IACnEe,WAAW,EACTV,OAAO,gBACLW,IAAA,CAAA,KAAA,EAAA;AAAKL,MAAAA,SAAS,EAAC,yBAAyB;MAAAhB,QAAA,EAAA,cACtCJ,GAAA,CAACC,OAAO,EAAA;AACNC,QAAAA,QAAQ,EAAC,QAAQ;QACjBC,OAAO,EACL,CAACa,yBAAyB,GACtBpB,CAAC,CAAC,mDAAmD,CAAC,GACtD,IACL;AAAAQ,QAAAA,QAAA,eAEDJ,GAAA,CAAA,MAAA,EAAA;UAAAI,QAAA,eACEJ,GAAA,CAACK,MAAM,EAAA;AACL,YAAA,aAAA,EAAY,4BAA4B;YACxCC,QAAQ,EAAE,CAACU,yBAA0B;AACrCU,YAAAA,IAAI,EAAC,QAAQ;AACbjC,YAAAA,OAAO,EAAEmB,YAAa;YAAAR,QAAA,EAErBR,CAAC,CAAC,sCAAsC;WACnC;SACJ;AAAC,OACA,CAAC,eACVI,GAAA,CAACK,MAAM,EAAA;AACL,QAAA,aAAA,EAAY,uBAAuB;AACnCqB,QAAAA,IAAI,EAAC,OAAO;AACZC,QAAAA,OAAO,EAAC,OAAO;AACflC,QAAAA,OAAO,EAAEkB,WAAY;QAAAP,QAAA,EAEpBR,CAAC,CAAC,gCAAgC;AAAC,OAC9B,CAAC;AAAA,KACN,CAAC,gBAENI,GAAA,CAACV,aAAa,EAAA;AACNE,MAAAA,MAAM,EAANA,MAAM;MACZC,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQsB,oBAAoB,CAAC,IAAI,CAAC;AAAA,MAAA;KAC1C;AAEJ,GACF,CAAC;AAEN,CAAC;;AC/DM,IAAMa,oBAAoB,GAAG,EAAE;AAE/B,IAAMC,2BAA2B,GAAG,GAAG;AAEvC,IAAMC,+BAA+B,GAAGC,MAAM,CAAC;EACpDC,IAAI,EAAEC,MAAM,EAAE,CACXC,IAAI,EAAE,CACNC,GAAG,CACFP,oBAAoB;AACpB;EACAhC,CAAC,CAAC,gDAAgD,EAAE;AAClDwC,IAAAA,KAAK,EAAER;AACT,GAAC,CACH;AACA;AAAA,GACCS,QAAQ,CAACzC,CAAC,CAAC,4CAA4C,CAAC,CAAC;AAC5D0C,EAAAA,WAAW,EAAEL,MAAM,EAAE,CAClBM,QAAQ,EAAE,CACVL,IAAI,EAAE,CACNC,GAAG,CACFN,2BAA2B;AAC3B;EACAjC,CAAC,CAAC,uDAAuD,EAAE;AACzDwC,IAAAA,KAAK,EAAEP;AACT,GAAC,CACH;AACJ,CAAC,CAAC;AAEK,IAAMW,4BAA4B,GAAG;AAC1CR,EAAAA,IAAI,EAAE,EAAE;AACRM,EAAAA,WAAW,EAAE,EAAE;AACfG,EAAAA,aAAa,EAAE;AACjB,CAAC;AAEM,IAAMC,iBAAiB,GAAG;AAC/BC,EAAAA,gBAAgB,EAAEb;AACpB,CAAC;;;;ACfD,IAAMc,WAAW,GAAG,SAAdA,WAAWA,CAAArD,IAAA,EAOX;AAAA,EAAA,IAAAsD,qBAAA;AAAA,EAAA,IANJrD,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAAsD,WAAA,GAAAvD,IAAA,CACNwD,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,WAAA;IACdE,OAAO,GAAAzD,IAAA,CAAPyD,OAAO;IAAAC,gBAAA,GAAA1D,IAAA,CACPO,WAAW;AAAXA,IAAAA,WAAW,GAAAmD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAC,iBAAA,GAAA3D,IAAA,CAChB4D,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,iBAAA;IAAAE,aAAA,GAAA7D,IAAA,CACjB8D,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,aAAA;AAEf,EAAA,IAAA1D,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAM0D,aAAa,GAAGC,MAAM,CAAC,IAAI,CAAC;AAClC,EAAA,IAAMC,cAAc,GAAGD,MAAM,CAAC,IAAI,CAAC;AACnC,EAAA,IAAME,gBAAgB,GAAGF,MAAM,CAAC,IAAI,CAAC;EACrC,IAAAG,cAAA,GAA0DC,aAAa,CAAC;AACtEC,MAAAA,SAAS,EAAEZ;AACb,KAAC,CAAC;IAFca,UAAU,GAAAH,cAAA,CAAlBI,MAAM;IAAyBC,cAAc,GAAAL,cAAA,CAAzBM,SAAS;EAIrC,IAAAC,cAAA,GAA0DC,aAAa,CAAC;AACtEN,MAAAA,SAAS,EAAEZ;AACb,KAAC,CAAC;IAFcmB,UAAU,GAAAF,cAAA,CAAlBH,MAAM;IAAyBM,cAAc,GAAAH,cAAA,CAAzBD,SAAS;AAGrC,EAAA,IAAMK,MAAM,GAAGC,SAAS,CAACnB,YAAY,CAAC;AACtC,EAAA,IAAMoB,YAAY,GAAGR,cAAc,IAAIK,cAAc;AAErD,EAAA,IAAMxD,YAAY,GAAG,SAAfA,YAAYA,CAAG4D,UAAU,EAAI;AACjC,IAAA,IAAMC,OAAO,GAAG;AACdC,MAAAA,gBAAgB,EAAAC,aAAA,CAAAA,aAAA,KACXH,UAAU,CAAA,EAAA,EAAA,EAAA;AACbxC,QAAAA,IAAI,EAAEwC,UAAU,CAACxC,IAAI,CAACE,IAAI,EAAE;AAC5BI,QAAAA,WAAW,EAAEkC,UAAU,CAAClC,WAAW,CAACJ,IAAI;AAAE,OAAA;KAE7C;IAEDmC,MAAM,GAAGF,UAAU,CAAC;AAAEM,MAAAA,OAAO,EAAPA,OAAO;MAAEG,EAAE,EAAEzB,YAAY,CAACyB;AAAG,KAAC,CAAC,GAAGf,UAAU,CAACY,OAAO,CAAC;EAC7E,CAAC;EAED,IAAMI,aAAa,GAAGR,MAAM,GAAAM,aAAA,CAAAA,aAAA,KAEnBxB,YAAY,CAAA,EAAA,EAAA,EAAA;AACfV,IAAAA,aAAa,EAAA,CAAAI,qBAAA,GAAEM,YAAY,CAACV,aAAa,MAAA,IAAA,IAAAI,qBAAA,KAAA,MAAA,GAAA,MAAA,GAA1BA,qBAAA,CAA4BiC,IAAI,EAAE;AACjDxC,IAAAA,WAAW,EAAEa,YAAY,CAACb,WAAW,IAAI;AAAE,GAAA,CAAA,GAE7CE,4BAA4B;AAEhC,EAAA,IAAMuC,WAAW,GAAAJ,aAAA,CAAAA,aAAA,KACZjC,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACpBmC,IAAAA,aAAa,EAAbA,aAAa;AACbG,IAAAA,QAAQ,EAAEpE;GAAY,CACvB;AAED,EAAA,IAAMqE,UAAU,GAAG9B,YAAY,CAAC+B,IAAI,KAAK,QAAQ;EACjD,IAAMC,UAAU,GAAGC,WAAW,CAACC,QAAQ,CAAClC,YAAY,CAACnB,IAAI,CAAC,IAAIiD,UAAU;AAExEK,EAAAA,SAAS,CAAC,YAAM;AAAA,IAAA,IAAAC,gBAAA,EAAAC,KAAA,EAAAC,qBAAA;IACd,IAAMC,eAAe,GAAG,4CAA4C;IACpE,IAAMC,cAAc,GAAG,mCAAmC;AAE1D,IAAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAGC,IAAI,EAAI;MAClC,IAAIC,OAAO,GAAGD,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEE,aAAa;AACjC,MAAA,OAAOD,OAAO,EAAE;AACd,QAAA,IAAME,KAAK,GAAGC,gBAAgB,CAACH,OAAO,CAAC;AACvC,QAAA,IAAMI,SAAS,GAAGF,KAAK,CAACE,SAAS;AACjC,QAAA,IAAMC,YAAY,GAChB,CAACD,SAAS,KAAK,MAAM,IAAIA,SAAS,KAAK,QAAQ,KAC/CJ,OAAO,CAACM,YAAY,GAAGN,OAAO,CAACO,YAAY;QAC7C,IAAIF,YAAY,EAAE,OAAOL,OAAO;QAChCA,OAAO,GAAGA,OAAO,CAACC,aAAa;AACjC,MAAA;AAEA,MAAA,OAAOO,QAAQ,CAACC,gBAAgB,IAAID,QAAQ,CAACE,eAAe;IAC9D,CAAC;IAED,IAAI,CAACzD,MAAM,EAAE;MACXU,gBAAgB,CAACqC,OAAO,GAAG,IAAI;AAC/BQ,MAAAA,QAAQ,CACLG,gBAAgB,CAAA,GAAA,CAAAC,MAAA,CAAKhB,eAAe,CAAE,CAAC,CACvCiB,OAAO,CAAC,UAAAd,IAAI,EAAA;AAAA,QAAA,OAAIA,IAAI,CAACe,SAAS,CAACC,MAAM,CAACnB,eAAe,CAAC;MAAA,CAAA,CAAC;AAE1DY,MAAAA,QAAQ,CACLG,gBAAgB,CAAA,GAAA,CAAAC,MAAA,CAAKf,cAAc,CAAE,CAAC,CACtCgB,OAAO,CAAC,UAAAd,IAAI,EAAA;AAAA,QAAA,OAAIA,IAAI,CAACe,SAAS,CAACC,MAAM,CAAClB,cAAc,CAAC;MAAA,CAAA,CAAC;MAEzD,OAAO,YAAM,CAAC,CAAC;AACjB,IAAA;AAEA,IAAA,IAAI,CAACtC,QAAQ,EAAE,OAAO,YAAM,CAAC,CAAC;IAE9B,IAAMyD,GAAG,MAAAJ,MAAA,CAAA,CAAAnB,gBAAA,GAAMpC,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEyB,EAAE,MAAA,IAAA,IAAAW,gBAAA,KAAA,MAAA,GAAAA,gBAAA,GAAI,KAAK,EAAA,GAAA,CAAA,CAAAmB,MAAA,CAAIrD,QAAQ,CAAC3B,IAAI,EAAA,GAAA,CAAA,CAAAgF,MAAA,EAAAlB,KAAA,GAAA,CAAAC,qBAAA,GACvDpC,QAAQ,CAAC0D,YAAY,MAAA,IAAA,IAAAtB,qBAAA,cAAAA,qBAAA,GAAIpC,QAAQ,CAAC2D,QAAQ,MAAA,IAAA,IAAAxB,KAAA,KAAA,MAAA,GAAAA,KAAA,GAAI,EAAE,CAChD;IACF,IAAI/B,gBAAgB,CAACqC,OAAO,KAAKgB,GAAG,EAAE,OAAO,YAAM,CAAC,CAAC;IACrDrD,gBAAgB,CAACqC,OAAO,GAAGgB,GAAG;AAE9B,IAAA,IAAIG,SAAS;AACb,IAAA,IAAIC,kBAAkB;AACtB,IAAA,IAAIC,cAAc;AAClB,IAAA,IAAIC,kBAAkB;IACtB,IAAIC,QAAQ,GAAG,CAAC;IAChB,IAAIC,eAAe,GAAG,IAAI;IAC1B,IAAIC,qBAAqB,GAAG,IAAI;AAEhC,IAAA,IAAMC,cAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1BH,MAAAA,QAAQ,IAAI,CAAC;MACb,IAAMI,SAAS,GACbpE,QAAQ,CAAC3B,IAAI,KAAK,YAAY,GAAA,sBAAA,CAAAgF,MAAA,CACHrD,QAAQ,CAAC0D,YAAY,CAAA,GAAA,+BAAA,CAAAL,MAAA,CACZgB,SAAS,CAACrE,QAAQ,CAAC2D,QAAQ,IAAI,EAAE,CAAC,CAAE;AAE1E,MAAA,IAAMW,EAAE,GAAGrB,QAAQ,CAACsB,cAAc,CAACH,SAAS,CAAC;AAC7C,MAAA,IAAIE,EAAE,EAAE;QACNA,EAAE,CAACE,cAAc,CAAC;AAAEC,UAAAA,QAAQ,EAAE,QAAQ;AAAEC,UAAAA,KAAK,EAAE;AAAS,SAAC,CAAC;QAE1D,IAAMC,YAAY,GAChB3E,QAAQ,CAAC3B,IAAI,KAAK,YAAY,GAC1BiG,EAAE,CAACM,OAAO,CAAC,qCAAqC,CAAC,GACjDN,EAAE,CAACO,aAAa,CAAC,qCAAqC,CAAC;AAE7D,QAAA,IAAMC,eAAe,GAAGvC,mBAAmB,CAAC+B,EAAE,CAAC;AAE/C,QAAA,IAAMS,cAAc,GAAG,SAAjBA,cAAcA,GAAS;UAC3B,IAAI,CAACJ,YAAY,EAAE;AAEnB1B,UAAAA,QAAQ,CACLG,gBAAgB,CAAA,GAAA,CAAAC,MAAA,CAAKhB,eAAe,CAAE,CAAC,CACvCiB,OAAO,CAAC,UAAAd,IAAI,EAAA;AAAA,YAAA,OAAIA,IAAI,CAACe,SAAS,CAACC,MAAM,CAACnB,eAAe,CAAC;UAAA,CAAA,CAAC;AAE1DsC,UAAAA,YAAY,CAACpB,SAAS,CAACyB,GAAG,CAAC3C,eAAe,CAAC;AAC3C4B,UAAAA,eAAe,GAAGU,YAAY;UAE9BM,YAAY,CAACpB,kBAAkB,CAAC;UAChCA,kBAAkB,GAAGqB,UAAU,CAAC,YAAM;AACpCP,YAAAA,YAAY,CAACpB,SAAS,CAACC,MAAM,CAACnB,eAAe,CAAC;UAChD,CAAC,EAAE,IAAI,CAAC;QACV,CAAC;AAED,QAAA,IAAIrC,QAAQ,CAAC3B,IAAI,KAAK,YAAY,EAAE;UAClC,IAAM8G,mBAAmB,GAAG,GAAG;UAC/B,IAAMC,mBAAmB,GAAG,CAAC;AAC7B,UAAA,IAAMC,eAAe,GACnBF,mBAAmB,GAAGC,mBAAmB,GAAG,GAAG;AAEjD,UAAA,IAAME,UAAU,GAAG,SAAbA,UAAUA,GAAS;AACvBrC,YAAAA,QAAQ,CACLG,gBAAgB,CAAA,GAAA,CAAAC,MAAA,CAAKf,cAAc,CAAE,CAAC,CACtCgB,OAAO,CAAC,UAAAd,IAAI,EAAA;AAAA,cAAA,OAAIA,IAAI,CAACe,SAAS,CAACC,MAAM,CAAClB,cAAc,CAAC;YAAA,CAAA,CAAC;AAEzDgC,YAAAA,EAAE,CAACf,SAAS,CAACC,MAAM,CAAClB,cAAc,CAAC;AACnC;YACA,KAAKgC,EAAE,CAACiB,WAAW;AACnBjB,YAAAA,EAAE,CAACf,SAAS,CAACyB,GAAG,CAAC1C,cAAc,CAAC;AAChC4B,YAAAA,qBAAqB,GAAGI,EAAE;YAE1BW,YAAY,CAACnB,cAAc,CAAC;YAC5BA,cAAc,GAAGoB,UAAU,CAAC,YAAM;AAChCZ,cAAAA,EAAE,CAACf,SAAS,CAACC,MAAM,CAAClB,cAAc,CAAC;YACrC,CAAC,EAAE+C,eAAe,CAAC;UACrB,CAAC;;AAED;UACA,IAAIG,OAAO,GAAG,KAAK;AACnB,UAAA,IAAMC,gBAAgB,GAAGP,UAAU,CAAC,YAAM;AACxC,YAAA,IAAIM,OAAO,EAAE;AACbA,YAAAA,OAAO,GAAG,IAAI;AACdT,YAAAA,cAAc,EAAE;AAChBO,YAAAA,UAAU,EAAE;AACZR,YAAAA,eAAe,CAACY,mBAAmB,CAAC,QAAQ,EAAEC,cAAa,CAAC;UAC9D,CAAC,EAAE,IAAI,CAAC;AAER,UAAA,IAAMA,cAAa,GAAG,SAAhBA,aAAaA,GAAS;YAC1BV,YAAY,CAAClB,kBAAkB,CAAC;YAChCA,kBAAkB,GAAGmB,UAAU,CAAC,YAAM;AACpC,cAAA,IAAIM,OAAO,EAAE;AACbA,cAAAA,OAAO,GAAG,IAAI;AACdT,cAAAA,cAAc,EAAE;AAChBO,cAAAA,UAAU,EAAE;AACZR,cAAAA,eAAe,CAACY,mBAAmB,CAAC,QAAQ,EAAEC,cAAa,CAAC;cAC5DV,YAAY,CAACQ,gBAAgB,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC;UACT,CAAC;AAEDX,UAAAA,eAAe,CAACc,gBAAgB,CAAC,QAAQ,EAAED,cAAa,EAAE;AACxDE,YAAAA,OAAO,EAAE;AACX,WAAC,CAAC;AACFF,UAAAA,cAAa,EAAE;AACjB,QAAA,CAAC,MAAM;AACL;UACA,IAAIH,QAAO,GAAG,KAAK;AACnB,UAAA,IAAMC,iBAAgB,GAAGP,UAAU,CAAC,YAAM;AACxC,YAAA,IAAIM,QAAO,EAAE;AACbA,YAAAA,QAAO,GAAG,IAAI;AACdT,YAAAA,cAAc,EAAE;AAChBD,YAAAA,eAAe,CAACY,mBAAmB,CAAC,QAAQ,EAAEC,eAAa,CAAC;UAC9D,CAAC,EAAE,IAAI,CAAC;AAER,UAAA,IAAMA,eAAa,GAAG,SAAhBA,aAAaA,GAAS;YAC1BV,YAAY,CAAClB,kBAAkB,CAAC;YAChCA,kBAAkB,GAAGmB,UAAU,CAAC,YAAM;AACpC,cAAA,IAAIM,QAAO,EAAE;AACbA,cAAAA,QAAO,GAAG,IAAI;AACdT,cAAAA,cAAc,EAAE;AAChBD,cAAAA,eAAe,CAACY,mBAAmB,CAAC,QAAQ,EAAEC,eAAa,CAAC;cAC5DV,YAAY,CAACQ,iBAAgB,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC;UACT,CAAC;AAEDX,UAAAA,eAAe,CAACc,gBAAgB,CAAC,QAAQ,EAAED,eAAa,EAAE;AACxDE,YAAAA,OAAO,EAAE;AACX,WAAC,CAAC;AACFF,UAAAA,eAAa,EAAE;AACjB,QAAA;AAEA,QAAA;AACF,MAAA;;AAEA;MACA,IAAI3B,QAAQ,GAAG,CAAC,EAAEJ,SAAS,GAAGsB,UAAU,CAACf,cAAa,EAAE,GAAG,CAAC;IAC9D,CAAC;AAEDP,IAAAA,SAAS,GAAGsB,UAAU,CAACf,cAAa,EAAE,CAAC,CAAC;AAExC,IAAA,OAAO,YAAM;MAAA,IAAA2B,gBAAA,EAAAC,qBAAA;MACXd,YAAY,CAACrB,SAAS,CAAC;MACvBqB,YAAY,CAACpB,kBAAkB,CAAC;MAChCoB,YAAY,CAACnB,cAAc,CAAC;MAC5BmB,YAAY,CAAClB,kBAAkB,CAAC;AAChC,MAAA,CAAA+B,gBAAA,GAAA7B,eAAe,MAAA,IAAA,IAAA6B,gBAAA,KAAA,MAAA,IAAfA,gBAAA,CAAiBvC,SAAS,CAACC,MAAM,CAACnB,eAAe,CAAC;AAClD,MAAA,CAAA0D,qBAAA,GAAA7B,qBAAqB,MAAA,IAAA,IAAA6B,qBAAA,KAAA,MAAA,IAArBA,qBAAA,CAAuBxC,SAAS,CAACC,MAAM,CAAClB,cAAc,CAAC;IACzD,CAAC;AACH,EAAA,CAAC,EAAE,CAAC5C,MAAM,EAAEM,QAAQ,EAAEF,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEyB,EAAE,CAAC,CAAC;EAExC,oBACEnD,IAAA,CAAC4H,KAAK,EAAA;AAAOtG,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AAAIsG,IAAAA,IAAI,EAAC,OAAO;AAAAlJ,IAAAA,QAAA,EAAA,cAC1CJ,GAAA,CAACqJ,KAAK,CAAC9I,MAAM,EAAA;AAAAH,MAAAA,QAAA,eACXJ,GAAA,CAACqJ,KAAK,CAACE,KAAK,EAAA;AAAC,QAAA,aAAA,EAAY,oBAAoB;QAAAnJ,QAAA,EAC1CiE,MAAM,GACHzE,CAAC,CAAC,kCAAkC,CAAC,GACrCA,CAAC,CAAC,oCAAoC;OAC/B;AAAC,KACF,CAAC,eACfI,GAAA,CAACwJ,UAAU,EAAA;AACHzE,MAAAA,WAAW,EAAXA,WAAW;AACjB3D,MAAAA,SAAS,EAAC,8BAA8B;AACxCqI,MAAAA,GAAG,EAAEnG,aAAc;MAAAlD,QAAA,EAElB,SAAAA,QAAAA,CAAAsJ,KAAA,EAAA;AAAA,QAAA,IAAAC,qBAAA;AAAA,QAAA,IAAGC,KAAK,GAAAF,KAAA,CAALE,KAAK;QAAA,oBACPnI,IAAA,CAAAoI,QAAA,EAAA;UAAAzJ,QAAA,EAAA,cACEJ,GAAA,CAAC8J,kBAAkB,EAAA;AAACC,YAAAA,OAAO,EAAEzG;AAAc,WAAE,CAAC,eAC9CtD,GAAA,CAACqJ,KAAK,CAACW,IAAI,EAAA;AAAA5J,YAAAA,QAAA,eACTqB,IAAA,CAAA,KAAA,EAAA;AAAKL,cAAAA,SAAS,EAAC,uBAAuB;AAAAhB,cAAAA,QAAA,gBACpCqB,IAAA,CAAA,KAAA,EAAA;AAAKL,gBAAAA,SAAS,EAAC,WAAW;gBAAAhB,QAAA,EAAA,cACxBJ,GAAA,CAACiK,KAAW,EAAA;kBACV5H,QAAQ,EAAA,IAAA;AACR,kBAAA,aAAA,EAAY,8BAA8B;AAC1C6H,kBAAAA,KAAK,EAAEtK,CAAC,CAAC,8BAA8B,CAAE;AACzCuK,kBAAAA,SAAS,EAAEvI,oBAAqB;AAChCI,kBAAAA,IAAI,EAAC,MAAM;AACXoI,kBAAAA,WAAW,EAAExK,CAAC,CAAC,yCAAyC,CAAE;AAC1DyK,kBAAAA,QAAQ,EAAEpF,UAAW;AACrBwE,kBAAAA,GAAG,EAAE,CAACpF,MAAM,GAAGb,cAAc,GAAG8G;AAAU,iBAC3C,CAAC,eACFtK,GAAA,CAACuK,QAAc,EAAA;AACb,kBAAA,aAAA,EAAY,qCAAqC;AACjDL,kBAAAA,KAAK,EAAEtK,CAAC,CAAC,qCAAqC,CAAE;AAChDuK,kBAAAA,SAAS,EAAEtI,2BAA4B;AACvCG,kBAAAA,IAAI,EAAC,aAAa;AAClBqI,kBAAAA,QAAQ,EAAElF,UAAW;kBACrBiF,WAAW,EAAExK,CAAC,CACZ,gDACF;AAAE,iBACH,CAAC;AAAA,eACC,CAAC,eACNI,GAAA,CAACwK,WAAW,EAAA;AACJrF,gBAAAA,UAAU,EAAVA,UAAU;AAAErF,gBAAAA,WAAW,EAAXA,WAAW;AAC7B2K,gBAAAA,wBAAwB,EAAA,CAAAd,qBAAA,GAAEnK,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEkL,kBAAkB,MAAA,IAAA,IAAAf,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI;AAAG,eAC5D,CAAC;aACC;AAAC,WACI,CAAC,eACb3J,GAAA,CAACqJ,KAAK,CAACsB,MAAM,EAAA;YAAAvK,QAAA,eACXJ,GAAA,CAAC4K,iBAAiB,EAAA;AACVrG,cAAAA,YAAY,EAAZA,YAAY;AAClBnD,cAAAA,SAAS,EAAC,YAAY;AACtByJ,cAAAA,iBAAiB,EAAE;AACjB,gBAAA,aAAa,EAAE,4BAA4B;AAC3CpL,gBAAAA,OAAO,EAAEuD;eACT;AACF8H,cAAAA,iBAAiB,EAAE;AACjB,gBAAA,aAAa,EAAE,4BAA4B;AAC3CxK,gBAAAA,QAAQ,EAAEiE,YAAY,IAAIY,UAAU,IAAI,CAACyE;AAC3C;aACD;AAAC,WACU,CAAC;AAAA,SACf,CAAC;AAAA,MAAA;AACJ,KACS,CAAC;AAAA,GACR,CAAC;AAEZ,CAAC;;AC9TM,IAAMmB,0BAA0B,GAAG;AACxCC,EAAAA,QAAQ,EAAE,KAAK;AACf3G,EAAAA,MAAM,EAAE,KAAK;EACblB,YAAY,EAAE,EAAE;AAChBE,EAAAA,QAAQ,EAAE;AACZ,CAAC;AAEM,IAAM4H,UAAU,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,MAAM,EAAE;AAAS,CAAC;AAErD,IAAMC,qBAAqB,GAAG,0CAA0C;AAExE,IAAMC,mBAAmB,GAC9B,wEAAwE;;;;;ACN1E,IAAMC,UAAS,GAAG,SAAZA,SAASA,CAAGvJ,MAAM,EAAI;AAC1B,EAAA,IAAI,CAACA,MAAM,IAAI,IAAI,KAAKA,MAAM,EAAE;AAC9B;AACA,IAAA,OAAOA,MAAM;AACf,EAAA;AACA,EAAA,IAAMwJ,UAAU,GAAAC,OAAA,CAAUzJ,MAAM,CAAA;AAChC,EAAA,IAAI,QAAQ,KAAKwJ,UAAU,IAAI,QAAQ,KAAKA,UAAU,EAAE;AACtD;AACA,IAAA,OAAOxJ,MAAM;AACf,EAAA;EAEA,IAAI0J,MAAM,GAAG,IAAI;AACjB,EAAA,IAAIC,KAAK,CAACC,OAAO,CAAC5J,MAAM,CAAC,EAAE;AACzB0J,IAAAA,MAAM,GAAG,EAAE;AACb,EAAA,CAAC,MAAM,IAAI,CAAC1J,MAAM,CAAC6J,WAAW,EAAE;IAC9BH,MAAM,GAAG,EAAE;AACb,EAAA,CAAC,MAAM;AACLA,IAAAA,MAAM,GAAG,IAAI1J,MAAM,CAAC6J,WAAW,EAAE;AACnC,EAAA;EAEA,IAAI7J,MAAM,YAAY8J,GAAG,EAAE;IAAA,IAAAC,SAAA,GAAAC,0BAAA,CACPhK,MAAM,CAACiK,IAAI,EAAE,CAAA;MAAAC,KAAA;AAAA,IAAA,IAAA;MAA/B,KAAAH,SAAA,CAAAI,CAAA,EAAA,EAAA,CAAA,CAAAD,KAAA,GAAAH,SAAA,CAAAK,CAAA,EAAA,EAAAC,IAAA,GAAiC;AAAA,QAAA,IAAtBtF,GAAG,GAAAmF,KAAA,CAAAI,KAAA;AACZZ,QAAAA,MAAM,CAACa,GAAG,CAACxF,GAAG,EAAEwE,UAAS,CAACvJ,MAAM,CAACwK,GAAG,CAACzF,GAAG,CAAC,CAAC,CAAC;AAC7C,MAAA;AAAC,IAAA,CAAA,CAAA,OAAA0F,GAAA,EAAA;MAAAV,SAAA,CAAAW,CAAA,CAAAD,GAAA,CAAA;AAAA,IAAA,CAAA,SAAA;AAAAV,MAAAA,SAAA,CAAAY,CAAA,EAAA;AAAA,IAAA;AACH,EAAA;EAEAC,MAAM,CAACX,IAAI,CAACjK,MAAM,CAAC,CAAC4E,OAAO,CAAC,UAAAG,GAAG,EAAI;AACjC,IAAA,IAAI6F,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC/K,MAAM,EAAE+E,GAAG,CAAC,EAAE;MACrD2E,MAAM,CAAC3E,GAAG,CAAC,GAAGwE,UAAS,CAACvJ,MAAM,CAAC+E,GAAG,CAAC,CAAC;AACtC,IAAA;AACF,EAAA,CAAC,CAAC;AAEF,EAAA,OAAO2E,MAAM;AACf,CAAC;AAEM,IAAMsB,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAGC,QAAQ,EAAA;EAAA,OAC/CL,MAAM,CAACM,EAAE,CAACD,QAAQ,EAAE,OAAO,CAAC,IAAIL,MAAM,CAACM,EAAE,CAACD,QAAQ,EAAE,OAAO,CAAC,GACxDpN,CAAC,CAAC,+CAA+C,EAAE;AAAEoN,IAAAA,QAAQ,EAARA;AAAS,GAAC,CAAC,GAChEpN,CAAC,CAAC,mDAAmD,CAAC;AAAA,CAAA;AAIrD,IAAMsN,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIC,YAAY,EAAErN,WAAW,EAAK;AACvE,EAAA,IAAMkH,QAAQ,GAAGlH,WAAW,CAACyM,GAAG,CAACY,YAAY,CAAC;AAC9C,EAAA,IAAMC,mBAAmB,GAAGpG,QAAQ,CAACuF,GAAG,CAAC,qBAAqB,CAAC;AAC/DvF,EAAAA,QAAQ,CAACsF,GAAG,CAAC,qBAAqB,EAAE,CAACc,mBAAmB,CAAC;EAEzD,OAAO,IAAIvB,GAAG,CAAC/L,WAAW,CAACwM,GAAG,CAACa,YAAY,EAAEnG,QAAQ,CAAC,CAAC;AACzD,CAAC;AAEM,IAAMqG,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,UAAU,EAAEC,gBAAgB,EAAK;AACzE,EAAA,IAAMC,QAAQ,GAAGlC,UAAS,CAACiC,gBAAgB,CAAC;AAC5CC,EAAAA,QAAQ,CAAC7G,OAAO,CAAC,UAAA0F,KAAK,EAAI;AACxB,IAAA,IAAMvM,WAAW,GAAGuM,KAAK,CAACE,GAAG,CAAC,aAAa,CAAC;AAE5C,IAAA,IAAMkB,mBAAmB,GAAG3N,WAAW,CAAC4N,MAAM,CAAC,UAAAC,UAAU,EAAA;AAAA,MAAA,IAAAC,qBAAA;MAAA,OACvDD,UAAU,aAAVA,UAAU,KAAA,MAAA,IAAA,CAAAC,qBAAA,GAAVD,UAAU,CAAErL,WAAW,MAAA,IAAA,IAAAsL,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GAAvBA,qBAAA,CACIC,WAAW,EAAE,cAAAD,qBAAA,KAAA,MAAA,IAAA,CAAAA,qBAAA,GADjBA,qBAAA,CAEI1L,IAAI,EAAE,MAAA,IAAA,IAAA0L,qBAAA,uBAFVA,qBAAA,CAGIvI,QAAQ,CAACiI,UAAU,CAACO,WAAW,EAAE,CAAC3L,IAAI,EAAE,CAAC;AAAA,IAAA,CAC/C,CAAC;AACDmK,IAAAA,KAAK,CAACC,GAAG,CAAC,aAAa,EAAEmB,mBAAmB,CAAC;AAC/C,EAAA,CAAC,CAAC;AAEF,EAAA,OAAOD,QAAQ;AACjB,CAAC;AAEM,IAAMM,YAAY,GAAG,SAAfA,YAAYA,CAAAvO,IAAA,EAAA;AAAA,EAAA,IACvBwO,yBAAyB,GAAAxO,IAAA,CAAzBwO,yBAAyB;IACzB/M,yBAAyB,GAAAzB,IAAA,CAAzByB,yBAAyB;IACzBgN,IAAI,GAAAzO,IAAA,CAAJyO,IAAI;IACJC,aAAa,GAAA1O,IAAA,CAAb0O,aAAa;IACbC,YAAY,GAAA3O,IAAA,CAAZ2O,YAAY;AAAA,EAAA,OACR,CACJ;IACEpH,GAAG,EAAEmE,UAAU,CAACC,IAAI;AACpB9J,IAAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,aAAa,EAAE,kCAAkC;AACjD+D,IAAAA,UAAU,EAAEgJ,GAAG,CAACnN,yBAAyB,CAAC;AAC1CsI,IAAAA,IAAI,EAAE,OAAO;AACb8E,IAAAA,YAAY,EAAE;AACZjO,MAAAA,OAAO,EAAEP,CAAC,CAAC,mDAAmD,CAAC;AAC/DU,MAAAA,QAAQ,EAAEU,yBAAyB;AACnCd,MAAAA,QAAQ,EAAE;KACX;AACDgK,IAAAA,KAAK,EAAEtK,CAAC,CAAC,8BAA8B,CAAC;IACxCH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OACLwO,aAAa,CAAC;AAAE5J,QAAAA,MAAM,EAAE,IAAI;AAAElB,QAAAA,YAAY,EAAE6K,IAAI;AAAE3K,QAAAA,QAAQ,EAAE;AAAK,OAAC,CAAC;AAAA,IAAA;AACvE,GAAC,EACD;IACEyD,GAAG,EAAEmE,UAAU,CAACE,MAAM;AACtB/J,IAAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,aAAa,EAAE,oCAAoC;AACnD+D,IAAAA,UAAU,EAAEgJ,GAAG,CAACJ,yBAAyB,CAAC;AAC1CzE,IAAAA,IAAI,EAAE,OAAO;AACb+E,IAAAA,SAAS,EAAEF,GAAG,CAACD,YAAY,CAAC;AAC5BE,IAAAA,YAAY,EAAE;AACZjO,MAAAA,OAAO,EAAEP,CAAC,CAAC,qDAAqD,CAAC;AACjEU,MAAAA,QAAQ,EAAEyN,yBAAyB;AACnC7N,MAAAA,QAAQ,EAAE;KACX;AACDgK,IAAAA,KAAK,EAAEtK,CAAC,CAAC,gCAAgC,CAAC;IAC1CH,OAAO,EAAE,SAATA,OAAOA,GAAA;AAAA,MAAA,OACLwO,aAAa,CAAC;AAAEjD,QAAAA,QAAQ,EAAE,IAAI;AAAE7H,QAAAA,YAAY,EAAE6K,IAAI;AAAE3K,QAAAA,QAAQ,EAAE;AAAK,OAAC,CAAC;AAAA,IAAA;AACzE,GAAC,CACF;AAAA,CAAA;;ACxGD,IAAMiL,GAAG,GAAG,SAANA,GAAGA,CAAA/O,IAAA,EAOH;AAAA,EAAA,IAAAgP,qBAAA,GAAAhP,IAAA,CANJiP,wBAAwB;AAAxBA,IAAAA,wBAAwB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,aAAA,GAAAlP,IAAA,CAC/ByH,QAAQ;AAARA,IAAAA,QAAQ,GAAAyH,aAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,aAAA;IACbjP,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAAkP,eAAA,GAAAnP,IAAA,CACNoO,UAAU;AAAVA,IAAAA,UAAU,GAAAe,eAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,eAAA;IACjBC,KAAK,GAAApP,IAAA,CAALoP,KAAK;IAAAC,kBAAA,GAAArP,IAAA,CACL0O,aAAa;AAAbA,IAAAA,aAAa,GAAAW,kBAAA,KAAA,MAAA,GAAGC,IAAI,GAAAD,kBAAA;AAEpB,EAAA,IAAM5N,yBAAyB,GAAGxB,MAAM,CAACM,WAAW,CAACmB,MAAM;AAE3D,EAAA,IAAMnB,WAAW,GAAG,CAAA0O,wBAAwB,aAAxBA,wBAAwB,KAAA,MAAA,GAAA,MAAA,GAAxBA,wBAAwB,CAAEjC,GAAG,CAAC,aAAa,CAAC,KAAI,EAAE;EACtE,IAAMuC,0BAA0B,GAAGC,GAAG,CAACC,IAAI,CAAC,IAAI,CAAC,EAAElP,WAAW,CAAC;AAE/D,EAAA,IAAMc,YAAY,GAAG,SAAfA,YAAYA,CAAGoN,IAAI,EAAI;IAC3B,IAAM3K,QAAQ,GAAGsK,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,IAAVA,UAAU,CAAE/I,EAAE,GAC3B;AAAElD,MAAAA,IAAI,EAAE,YAAY;MAAEqF,YAAY,EAAE4G,UAAU,CAAC/I;AAAG,KAAC,GACnD;AAAElD,MAAAA,IAAI,EAAE,UAAU;AAAEsF,MAAAA,QAAQ,EAARA;KAAU;AAElCiH,IAAAA,aAAa,CAAC;AAAE5J,MAAAA,MAAM,EAAE,IAAI;AAAElB,MAAAA,YAAY,EAAE6K,IAAI;AAAE3K,MAAAA,QAAQ,EAARA;AAAS,KAAC,CAAC;EAC/D,CAAC;AAED,EAAA,IAAM4L,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGjB,IAAI,EAAA;AAAA,IAAA,OAC5B,CAACQ,wBAAwB,GACrBnJ,QAAQ,CAACsI,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,MAAA,GAAA,MAAA,GAAVA,UAAU,CAAE/I,EAAE,EAAEoJ,IAAI,CAACvL,aAAa,CAAC,GAC5CqM,0BAA0B,CAACI,KAAK,CAAC7J,QAAQ,CAAC8J,EAAE,EAAEnB,IAAI,CAACvL,aAAa,CAAC,CAAC;AAAA,EAAA,CAAA;AAExE,EAAA,oBACEzC,GAAA,CAAA,KAAA,EAAA;AACEoB,IAAAA,SAAS,EAAEgO,UAAU,CAAC,sBAAsB,EAAE;MAC5C,mCAAmC,EAAE,CAAC,CAACZ;AACzC,KAAC,CAAE;AAAApO,IAAAA,QAAA,EAEFuO,KAAK,CAACI,GAAG,CAAC,UAAAf,IAAI,EAAA;AAAA,MAAA,oBACbhO,GAAA,CAAA,KAAA,EAAA;AACEoB,QAAAA,SAAS,EAAC,uBAAuB;QACjC,aAAA,EAAA,EAAA,CAAAsF,MAAA,CAAgBgB,SAAS,CAACsG,IAAI,CAAChM,IAAI,CAAC,EAAA,YAAA,CAAa;QAAA5B,QAAA,eAGjDJ,GAAA,CAACC,OAAO,EAAA;AACNC,UAAAA,QAAQ,EAAC,KAAK;AACdC,UAAAA,OAAO,EACL,EACEa,yBAAyB,IACzB,CAACqO,SAAS,CAACrB,IAAI,CAAChM,IAAI,EAAE,OAAO,CAAC,IAC9B,CAACqN,SAAS,CAACrB,IAAI,CAAChM,IAAI,EAAE,OAAO,CAAC,CAC/B,GACG+K,yBAAyB,CAACiB,IAAI,CAAChM,IAAI,CAAC,GACpC,IACL;AAAA5B,UAAAA,QAAA,eAEDJ,GAAA,CAAA,KAAA,EAAA;AAAKoB,YAAAA,SAAS,EAAC,6BAA6B;YAAAhB,QAAA,eAC1CJ,GAAA,CAACsP,QAAQ,EAAA;AACPC,cAAAA,OAAO,EAAEN,iBAAiB,CAACjB,IAAI,CAAE;AACjC5M,cAAAA,SAAS,EAAC,qCAAqC;AAC/C,cAAA,aAAA,EAAY,qCAAqC;cACjDd,QAAQ,EACN+O,SAAS,CAACrB,IAAI,CAAChM,IAAI,EAAE,OAAO,CAAC,IAC7BqN,SAAS,CAACrB,IAAI,CAAChM,IAAI,EAAE,OAAO,CAAC,IAC7B,CAAChB,yBACF;cACDwO,eAAe,EAAE,SAAjBA,eAAeA,GAAA;gBAAA,OAAQ5O,YAAY,CAACoN,IAAI,CAAC;AAAA,cAAA;aAC1C;WACE;SACE;OAAC,EA3BLA,IAAI,CAACpJ,EA4BP,CAAC;IAAA,CACP;AAAC,GACC,CAAC;AAEV,CAAC;;ACxDM,IAAM6K,kBAAiB,GAAG,SAApBA,iBAAiBA,CAC5B3P,WAAW,EACX2N,mBAAmB,EAAA;AAAA,EAAA,IACnBiC,iBAAiB,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAArF,SAAA,GAAAqF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE;AAAA,EAAA,IACtBE,KAAK,GAAAF,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAArF,SAAA,GAAAqF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;EAAA,OAET7P,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,MAAA,GAAA,MAAA,GAAXA,WAAW,CAAEiP,GAAG,CAAC,UAAAxP,IAAA,EAAyC;AAAA,IAAA,IAAtCqF,EAAE,GAAArF,IAAA,CAAFqF,EAAE;MAAE5C,IAAI,GAAAzC,IAAA,CAAJyC,IAAI;MAAEM,WAAW,GAAA/C,IAAA,CAAX+C,WAAW;MAAElC,QAAQ,GAAAb,IAAA,CAARa,QAAQ;AACjD,IAAA,IAAM0P,cAAc,GAAGJ,iBAAiB,CAAC1N,IAAI,CAAC;AAC9C,IAAA,IAAM+N,OAAO,GAAGF,KAAK,GAAG,CAAC;IAEzB,oBACEpO,IAAA,CAACuO,UAAQ,EAAA;MAAA5P,QAAA,EAAA,CACNqN,mBAAmB,CAACpI,QAAQ,CAACT,EAAE,CAAC,iBAC/BnD,IAAA,CAAA,KAAA,EAAA;AACEL,QAAAA,SAAS,EAAC,8IAA8I;AACxJ,QAAA,WAAA,EAAWkB,WAAY;QAAAlC,QAAA,EAAA,cAEvBJ,GAAA,CAACiQ,UAAU,EAAA;AACT,UAAA,aAAA,EAAY,qCAAqC;AACjDtO,UAAAA,OAAO,EAAEoO,OAAO,GAAG,OAAO,GAAG,OAAQ;AACrCG,UAAAA,MAAM,EAAEH,OAAO,GAAG,QAAQ,GAAG,QAAS;AAAA3P,UAAAA,QAAA,EAErCkC;AAAW,SACF,CAAC,EACZwN,cAAc,iBACb9P,GAAA,CAACmQ,WAAW,EAAA;AACV7N,UAAAA,WAAW,EAAEwN,cAAe;AAC5BM,UAAAA,IAAI,EAAEC,IAAK;AACX/G,UAAAA,IAAI,EAAC;AAAS,SACf,CACF;OACE,CACN,eACDtJ,GAAA,CAAA,KAAA,EAAA;AAAKoB,QAAAA,SAAS,EAAC,mDAAmD;QAAAhB,QAAA,EAC/DqP,kBAAiB,CAChBrP,QAAQ,EACRqN,mBAAmB,EACnBiC,iBAAiB,EACjBG,KAAK,GAAG,CACV;AAAC,OACE,CAAC;AAAA,KAAA,EA7BOjL,EA8BL,CAAC;AAEf,EAAA,CAAC,CAAC;AAAA,CAAA;AAEG,IAAM0L,qBAAqB,GAAG,SAAxBA,qBAAqBA,GAAS;AACzC,EAAA,IAAMC,cAAc,GAAGC,iBAAiB,EAAE;AAE1ClK,EAAAA,QAAQ,CAACE,eAAe,CAACR,KAAK,CAACyK,WAAW,CACxC,kCAAkC,EAAA,EAAA,CAAA/J,MAAA,CAC/B6J,cAAc,OACnB,CAAC;EAED,OAAO;IAAEG,YAAY,EAAA,EAAA,CAAAhK,MAAA,CAAK6J,cAAc,EAAA,IAAA;GAAM;AAChD,CAAC;AAkBM,IAAMI,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,wBAAwB,EAAA;EAAA,OAC3DlF,KAAK,CAACmF,IAAI,CAAC,CAAAD,wBAAwB,KAAA,IAAA,IAAxBA,wBAAwB,KAAA,MAAA,GAAA,MAAA,GAAxBA,wBAAwB,CAAE5E,IAAI,EAAE,KAAI,EAAE,CAAC,CAAC0B,MAAM,CAAC,UAAA1G,QAAQ,EAAI;AACpE,IAAA,IAAM8J,kBAAkB,GAAGF,wBAAwB,CAACrE,GAAG,CAACvF,QAAQ,CAAC;IACjE,IAAMlH,WAAW,GAAGgR,kBAAkB,CAACvE,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE;AAE/D,IAAA,OAAOzM,WAAW,CAAC8P,MAAM,GAAG,CAAC;AAC/B,EAAA,CAAC,CAAC;AAAA,CAAA;;ACrFJ,IAAMmB,aAAW,GAAG,SAAdA,WAAWA,CAAAxR,IAAA,EAA6D;AAAA,EAAA,IAAvDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEmP,KAAK,GAAApP,IAAA,CAALoP,KAAK;IAAEV,aAAa,GAAA1O,IAAA,CAAb0O,aAAa;IAAE+C,kBAAkB,GAAAzR,IAAA,CAAlByR,kBAAkB;AACrE,EAAA,IAAMhQ,yBAAyB,GAAGxB,MAAM,CAACM,WAAW,CAACmB,MAAM;AAC3D,EAAA,IAAM8M,yBAAyB,GAAGvO,MAAM,CAACM,WAAW,CAAA,QAAA,CAAO;AAE3D,EAAA,IAAMmR,iBAAiB,GAAG1N,MAAM,CAAC,IAAI,CAAC;AAEtC,EAAA,IAAM2N,iBAAiB,GAAGC,WAAW,CAAC,YAAM;AAC1C,IAAA,IAAI,CAACF,iBAAiB,CAACnL,OAAO,EAAE;AAEhC,IAAA,IAAMsL,aAAa,GAAGH,iBAAiB,CAACnL,OAAO,CAACD,IAAI;AACpD,IAAA,IAAMwL,kBAAkB,GAAGC,WAAW,CAACF,aAAa,CAAC;IACrDJ,kBAAkB,CAACK,kBAAkB,CAAC;AACxC,EAAA,CAAC,EAAE,CAACL,kBAAkB,CAAC,CAAC;AAExB1L,EAAAA,SAAS,CAAC,YAAM;AACd2D,IAAAA,gBAAgB,CAAC,QAAQ,EAAEiI,iBAAiB,CAAC;IAE7C,OAAO,YAAA;AAAA,MAAA,OAAMnI,mBAAmB,CAAC,QAAQ,EAAEmI,iBAAiB,CAAC;AAAA,IAAA,CAAA;AAC7D;EACF,CAAC,EAAE,EAAE,CAAC;EAEN5L,SAAS,CAAC4L,iBAAiB,EAAE,CAACA,iBAAiB,EAAED,iBAAiB,EAAEtC,KAAK,CAAC,CAAC;EAE3E,oBACE3O,GAAA,CAACuR,0BAAc,EAAA;AAACC,IAAAA,KAAK,EAAC,YAAY;AAAC/H,IAAAA,GAAG,EAAEwH,iBAAkB;AAAA7Q,IAAAA,QAAA,eACxDJ,GAAA,CAAA,KAAA,EAAA;AACEoB,MAAAA,SAAS,EAAC,yBAAyB;AACnC,MAAA,aAAA,EAAY,wBAAwB;AAAAhB,MAAAA,QAAA,EAEnCuO,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEI,GAAG,CAAC,UAACf,IAAI,EAAEyD,KAAK,EAAK;QAC3B,IAAMvD,YAAY,GAAGmB,SAAS,CAAC,QAAQ,EAAErB,IAAI,CAAC9I,IAAI,CAAC;QACnD,IAAMwM,WAAW,GAAGtM,WAAW,CAACC,QAAQ,CAAC2I,IAAI,CAAChM,IAAI,CAAC,IAAIkM,YAAY;AAEnE,QAAA,oBACElO,GAAA,CAAA,KAAA,EAAA;AAAKoB,UAAAA,SAAS,EAAC,uBAAuB;AAAAhB,UAAAA,QAAA,eACpCqB,IAAA,CAAA,KAAA,EAAA;AACEL,YAAAA,SAAS,EAAC,0DAA0D;AACpE,YAAA,aAAA,EAAY,6BAA6B;YAAAhB,QAAA,EAAA,cAEzCJ,GAAA,CAACiQ,UAAU,EAAA;AACT7O,cAAAA,SAAS,EAAC,oBAAoB;AAC9B,cAAA,aAAA,EAAY,mCAAmC;AAC/CuQ,cAAAA,SAAS,EAAE,CAAE;AACbhQ,cAAAA,OAAO,EAAC,OAAO;AACfuO,cAAAA,MAAM,EAAC,UAAU;cAAA9P,QAAA,EAEhB4N,IAAI,CAAChM;AAAI,aACA,CAAC,EACZ,CAAC0P,WAAW,iBACX1R,GAAA,CAAC4R,YAAY,EAAA;AACXC,cAAAA,mBAAmB,EAAE;AACnBzQ,gBAAAA,SAAS,EAAE,gBAAgB;AAC3B,gBAAA,aAAa,EACX;eACF;cACF0Q,SAAS,EAAEhE,YAAY,CAAC;AACtBC,gBAAAA,yBAAyB,EAAzBA,yBAAyB;AACzB/M,gBAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBgN,gBAAAA,IAAI,EAAJA,IAAI;AACJC,gBAAAA,aAAa,EAAbA,aAAa;AACbC,gBAAAA,YAAY,EAAZA;eACD;AAAE,aACJ,CACF;WACE;AAAC,SAAA,EAAA,YAAA,CAAAxH,MAAA,CA9BiD+K,KAAK,CA+BzD,CAAC;MAEV,CAAC;KACE;AAAC,GACQ,CAAC;AAErB,CAAC;AAED,kBAAA,aAAeM,IAAI,CAAChB,aAAW,CAAC;;AChFhC,IAAMiB,MAAM,GAAG,SAATA,MAAMA,CAAAzS,IAAA,EAAiD;AAAA,EAAA,IAA3CwD,MAAM,GAAAxD,IAAA,CAANwD,MAAM;IAAEC,OAAO,GAAAzD,IAAA,CAAPyD,OAAO;IAAEG,YAAY,GAAA5D,IAAA,CAAZ4D,YAAY;IAAEwL,KAAK,GAAApP,IAAA,CAALoP,KAAK;AACpD,EAAA,IAAAjP,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EACT,IAAAqS,eAAA,GAAsDC,cAAc,CAAC;AACnEtO,MAAAA,SAAS,EAAEZ;AACb,KAAC,CAAC;IAFcmP,UAAU,GAAAF,eAAA,CAAlBnO,MAAM;IAAyBsO,UAAU,GAAAH,eAAA,CAArBjO,SAAS;AAIrC,EAAA,IAAMqO,YAAY,GAAG,SAAfA,YAAYA,GAAS;AAAA,IAAA,IAAAC,WAAA;AACzB,IAAA,IAAQ1N,EAAE,GAAKzB,YAAY,CAAnByB,EAAE;AACV,IAAA,IAAMH,OAAO,GAAG;MAAE8N,SAAS,EAAA,CAAAD,WAAA,GAAE3D,KAAK,CAAC6D,IAAI,CAAC,UAAAxE,IAAI,EAAA;AAAA,QAAA,OAAIA,IAAI,CAACpJ,EAAE,KAAKA,EAAE;AAAA,MAAA,CAAA,CAAC,MAAA,IAAA,IAAA0N,WAAA,KAAA,MAAA,GAAA,MAAA,GAAlCA,WAAA,CAAoC1N;KAAI;AACrEuN,IAAAA,UAAU,CAAC;AAAEvN,MAAAA,EAAE,EAAFA,EAAE;AAAEH,MAAAA,OAAO,EAAPA;AAAQ,KAAC,CAAC;EAC7B,CAAC;EAED,oBACEzE,GAAA,CAACyS,KAAK,EAAA;AACE1P,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,OAAO,EAAPA,OAAO;AACrB0P,IAAAA,iBAAiB,EAAE9S,CAAC,CAAC,iCAAiC,CAAE;AACxD2E,IAAAA,YAAY,EAAE6N,UAAW;AACzBO,IAAAA,iBAAiB,EAAE/S,CAAC,CAAC,iCAAiC,CAAE;AACxDyB,IAAAA,KAAK,EAAEzB,CAAC,CAAC,oCAAoC,CAAE;IAC/CgT,OAAO,eACL5S,GAAA,CAAC6S,KAAK,EAAA;AACJC,MAAAA,OAAO,EAAC,+CAA+C;AACvDC,MAAAA,MAAM,EAAE;AAAE/Q,QAAAA,IAAI,EAAEmB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,MAAA,GAAA,MAAA,GAAZA,YAAY,CAAEnB;AAAK;AAAE,KACtC,CACF;AACDgD,IAAAA,QAAQ,EAAEqN;AAAa,GACxB,CAAC;AAEN,CAAC;;ACpBD,IAAMW,OAAO,GAAG,SAAVA,OAAOA,CAAAzT,IAAA,EAOP;AAAA,EAAA,IANJC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNoR,wBAAwB,GAAArR,IAAA,CAAxBqR,wBAAwB;IACxBqC,aAAa,GAAA1T,IAAA,CAAb0T,aAAa;IACbnT,WAAW,GAAAP,IAAA,CAAXO,WAAW;IACX6O,KAAK,GAAApP,IAAA,CAALoP,KAAK;IACLqC,kBAAkB,GAAAzR,IAAA,CAAlByR,kBAAkB;AAElB,EAAA,IAAAkC,SAAA,GAAoCC,QAAQ,CAACpI,0BAA0B,CAAC;IAAAqI,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAjEI,IAAAA,UAAU,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEnF,IAAAA,aAAa,GAAAmF,UAAA,CAAA,CAAA,CAAA;EAEhC,IAAMG,UAAU,GAAGC,OAAO,CACxB,YAAA;IAAA,OAAM7C,qBAAqB,CAACC,wBAAwB,CAAC;EAAA,CAAA,EACrD,CAACA,wBAAwB,CAC3B,CAAC;AAED,EAAA,IAAM5N,OAAO,GAAG,SAAVA,OAAOA,GAAA;IAAA,OAASiL,aAAa,CAAClD,0BAA0B,CAAC;AAAA,EAAA,CAAA;AAE/D,EAAA,oBACEtJ,IAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAC,0BAA0B;IAAAhB,QAAA,EAAA,cACvCJ,GAAA,CAAC+Q,WAAW,EAAA;AACJvR,MAAAA,MAAM,EAANA,MAAM;AAAEwR,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAAE/C,MAAAA,aAAa,EAAbA,aAAa;AAC/CU,MAAAA,KAAK,EAAEsE;AAAc,KACtB,CAAC,eACFjT,GAAA,CAACuR,0BAAc,EAAA;AAACC,MAAAA,KAAK,EAAE,CAAC,YAAY,EAAE,UAAU,CAAE;AAAApR,MAAAA,QAAA,eAChDJ,GAAA,CAAA,KAAA,EAAA;AAAKoB,QAAAA,SAAS,EAAC,uBAAuB;AAAAhB,QAAAA,QAAA,EACnCmT,UAAU,CAAC3D,MAAM,KAAK,CAAC,gBACtB5P,GAAA,CAAA,KAAA,EAAA;AAAKoB,UAAAA,SAAS,EAAC,4BAA4B;AAAAhB,UAAAA,QAAA,eACzCJ,GAAA,CAAA,KAAA,EAAA;AAAKoB,YAAAA,SAAS,EAAC,sBAAsB;AAAAhB,YAAAA,QAAA,eACnCJ,GAAA,CAAA,KAAA,EAAA;AAAKoB,cAAAA,SAAS,EAAC,uBAAuB;AAAAhB,cAAAA,QAAA,eACpCJ,GAAA,CAAA,KAAA,EAAA;AAAAI,gBAAAA,QAAA,EAAK;eAAW;aACb;WACF;SACF,CAAC,GAENmT,UAAU,CAACxE,GAAG,CAAC,UAAC/H,QAAQ,EAAEyK,KAAK,EAAK;AAClC,UAAA,IAAMX,kBAAkB,GAAGF,wBAAwB,CAACrE,GAAG,CAACvF,QAAQ,CAAC;AAEjE,UAAA,IAAMoG,mBAAmB,GAAG0D,kBAAkB,CAACvE,GAAG,CAChD,qBACF,CAAC;AACD,UAAA,IAAMzM,WAAW,GAAGgR,kBAAkB,CAACvE,GAAG,CAAC,aAAa,CAAC;AAEzD,UAAA,oBACE9K,IAAA,CAAA,KAAA,EAAA;AACE,YAAA,aAAA,EAAA,EAAA,CAAAiF,MAAA,CAAgBgB,SAAS,CAACV,QAAQ,CAAC,EAAA,kBAAA,CAAmB;YAAA5G,QAAA,EAAA,cAGtDJ,GAAA,CAACsO,GAAG,EAAA;AACItH,cAAAA,QAAQ,EAARA,QAAQ;AAAExH,cAAAA,MAAM,EAANA,MAAM;AAAEyO,cAAAA,aAAa,EAAbA,aAAa;AACrCO,cAAAA,wBAAwB,EAAEsC,kBAAmB;AAC7CnC,cAAAA,KAAK,EAAEsE;aACR,CAAC,EACD7F,mBAAmB,IAClBtN,WAAW,CAACiP,GAAG,CAAC,UAAApB,UAAU,EAAA;cAAA,oBACxB8F,aAAA,CAACnF,GAAG,EAAA;AACI9O,gBAAAA,MAAM,EAANA,MAAM;AAAEmO,gBAAAA,UAAU,EAAVA,UAAU;AAAEM,gBAAAA,aAAa,EAAbA,aAAa;AACvC,gBAAA,aAAA,EAAA,EAAA,CAAAvH,MAAA,CAAgBgB,SAAS,CAACiG,UAAU,CAAC,EAAA,iBAAA,CAAkB;gBACvD7G,GAAG,EAAE6G,UAAU,CAAC/I,EAAG;AACnB+J,gBAAAA,KAAK,EAAEsE;AAAc,eACtB,CAAC;AAAA,YAAA,CACH,CAAC;AAAA,WAAA,EAfCxB,KAgBF,CAAC;QAEV,CAAC;OAEA;AAAC,KACQ,CAAC,eACjBzR,GAAA,CAAC4C,WAAW,EAAA;AACJpD,MAAAA,MAAM,EAANA,MAAM;AAAEwD,MAAAA,OAAO,EAAPA,OAAO;AAAElD,MAAAA,WAAW,EAAXA,WAAW;MAClCiD,MAAM,EAAEuQ,UAAU,CAACjP,MAAO;MAC1BhB,QAAQ,EAAEiQ,UAAU,CAACjQ,QAAS;MAC9BF,YAAY,EAAEmQ,UAAU,CAACnQ;AAAa,KACvC,CAAC,eACFnD,GAAA,CAACgS,MAAM,EAAA;AACChP,MAAAA,OAAO,EAAPA,OAAO;AAAE2L,MAAAA,KAAK,EAALA,KAAK;MACpB5L,MAAM,EAAEuQ,UAAU,CAACtI,QAAS;MAC5B7H,YAAY,EAAEmQ,UAAU,CAACnQ;AAAa,KACvC,CAAC;AAAA,GACC,CAAC;AAEV,CAAC;;AC3FD,IAAMuQ,cAAc,GAAG,SAAjBA,cAAcA,CAAAnU,IAAA,EAAA;AAAA,EAAA,IAAM8O,SAAS,GAAA9O,IAAA,CAAT8O,SAAS;AAAA,EAAA,OACjCA,SAAS,gBACPrO,GAAA,CAAC2T,SAAS,EAAA;AACRvS,IAAAA,SAAS,EAAC,gFAAgF;AAC1F,IAAA,aAAA,EAAY,qCAAqC;AACjDkI,IAAAA,IAAI,EAAE,EAAG;AACTsK,IAAAA,WAAW,EAAE;AAAE,GAChB,CAAC,gBAEF5T,GAAA,CAAC6T,YAAY,EAAA;AACXzS,IAAAA,SAAS,EAAC,gFAAgF;AAC1F,IAAA,aAAA,EAAY,qCAAqC;AACjDkI,IAAAA,IAAI,EAAE,EAAG;AACTsK,IAAAA,WAAW,EAAE;AAAE,GAChB,CACF;AAAA,CAAA;;ACCH,IAAME,OAAO,GAAG,SAAVA,OAAOA,CAAAvU,IAAA,EAOP;AAAA,EAAA,IANJqR,wBAAwB,GAAArR,IAAA,CAAxBqR,wBAAwB;IACxBmD,cAAc,GAAAxU,IAAA,CAAdwU,cAAc;IACdC,eAAe,GAAAzU,IAAA,CAAfyU,eAAe;IAAA/Q,gBAAA,GAAA1D,IAAA,CACfO,WAAW;AAAXA,IAAAA,WAAW,GAAAmD,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAgR,qBAAA,GAAA1U,IAAA,CAChBkL,wBAAwB;AAAxBA,IAAAA,wBAAwB,GAAAwJ,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAA3U,IAAA,CAC7BmQ,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAwE,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;AAEtB,EAAA,IAAAxU,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,IAAM2T,UAAU,GAAGC,OAAO,CACxB,YAAA;IAAA,OAAM7C,qBAAqB,CAACC,wBAAwB,CAAC;EAAA,CAAA,EACrD,CAACA,wBAAwB,CAC3B,CAAC;EAED,IAAMuD,kBAAkB,GAAGH,eAAe,GAAG1D,qBAAqB,EAAE,GAAG,EAAE;EAEzE,IAAM8D,kBAAkB,GAAGC,OAAO,CAACrF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAClP,WAAW,CAAC;AAE7D,EAAA,IAAMwU,8BAA8B,GAAGd,OAAO,CAAC,YAAM;IACnD,IAAMe,uBAAuB,GAAGC,0BAA0B,CAAC;AACzD1U,MAAAA,WAAW,EAAXA,WAAW;AACXsU,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClB3J,MAAAA,wBAAwB,EAAxBA;AACF,KAAC,CAAC;IAEF,OAAO4J,OAAO,CAACrF,IAAI,CAAC,UAAU,CAAC,CAAC,CAACuF,uBAAuB,CAAC;AAC3D,EAAA,CAAC,EAAE,CAACzU,WAAW,CAAC,CAAC,CAAC;;AAElB,EAAA,oBACE2B,IAAA,CAAA,KAAA,EAAA;AAAKL,IAAAA,SAAS,EAAC,0BAA0B;AAAAhB,IAAAA,QAAA,gBACvCJ,GAAA,CAAA,KAAA,EAAA;AACEoB,MAAAA,SAAS,EAAC,iCAAiC;AAC3C4E,MAAAA,KAAK,EAAEmO,kBAAmB;MAAA/T,QAAA,eAE1BJ,GAAA,CAACyU,MAAM,EAAA;QACLC,aAAa,EAAA,IAAA;AACb,QAAA,aAAA,EAAY,8BAA8B;AAC1CC,QAAAA,eAAe,EAAC,wBAAwB;AACxCvK,QAAAA,WAAW,EAAExK,CAAC,CACZ,gDAAgD,EAChD0B,MACF;OACD;AAAC,KACC,CAAC,eACNtB,GAAA,CAACuR,0BAAc,EAAA;AAACC,MAAAA,KAAK,EAAC,UAAU;AAAApR,MAAAA,QAAA,eAC9BJ,GAAA,CAAA,KAAA,EAAA;AAAKoB,QAAAA,SAAS,EAAC,+BAA+B;AAAAhB,QAAAA,QAAA,EAC3CmT,UAAU,CAAC3D,MAAM,KAAK,CAAC,gBACtB5P,GAAA,CAAA,KAAA,EAAA;AAAKoB,UAAAA,SAAS,EAAC,yCAAyC;AAAAhB,UAAAA,QAAA,eACtDqB,IAAA,CAAA,KAAA,EAAA;AAAKL,YAAAA,SAAS,EAAC,6FAA6F;YAAAhB,QAAA,EAAA,cAC1GJ,GAAA,CAACiQ,UAAU,EAAA;AACT,cAAA,aAAA,EAAY,wBAAwB;AACpCtO,cAAAA,OAAO,EAAC,OAAO;AACfuO,cAAAA,MAAM,EAAC,QAAQ;cAAA9P,QAAA,EAEdR,CAAC,CAAC,+CAA+C;AAAC,aACzC,CAAC,eACbI,GAAA,CAACiQ,UAAU,EAAA;AAAC2E,cAAAA,KAAK,EAAC,OAAO;AAACjT,cAAAA,OAAO,EAAC,OAAO;cAAAvB,QAAA,EACtCR,CAAC,CACA,0DACF;AAAC,aACS,CAAC;WACV;SACF,CAAC,GAEN2T,UAAU,CAACxE,GAAG,CAAC,UAAC/H,QAAQ,EAAEyK,KAAK,EAAK;AAClC,UAAA,IAAMX,kBAAkB,GAAGF,wBAAwB,CAACrE,GAAG,CAACvF,QAAQ,CAAC;AAEjE,UAAA,IAAMoG,mBAAmB,GAAG0D,kBAAkB,CAACvE,GAAG,CAChD,qBACF,CAAC;AAED,UAAA,oBACE9K,IAAA,CAAA,KAAA,EAAA;AACEL,YAAAA,SAAS,EAAC,yCAAyC;AAAAhB,YAAAA,QAAA,gBAGnDqB,IAAA,CAAA,KAAA,EAAA;AACEL,cAAAA,SAAS,EAAC,iLAAiL;cAC3L3B,OAAO,EAAE,SAATA,OAAOA,GAAA;gBAAA,OAAQsU,cAAc,CAAC/M,QAAQ,CAAC;cAAA,CAAC;cAAA5G,QAAA,EAAA,cAExCJ,GAAA,CAACiQ,UAAU,EAAA;AACT,gBAAA,aAAA,EAAY,+BAA+B;AAC3CtO,gBAAAA,OAAO,EAAC,IAAI;AAAAvB,gBAAAA,QAAA,EAEX4G;AAAQ,eACC,CAAC,eACbhH,GAAA,CAAC0T,cAAc,EAAA;AAACrF,gBAAAA,SAAS,EAAEjB;AAAoB,eAAE,CAAC;AAAA,aAC/C,CAAC,EACLA,mBAAmB,iBAClBpN,GAAA,CAAA,KAAA,EAAA;AAAKoB,cAAAA,SAAS,EAAC,8DAA8D;cAAAhB,QAAA,EAC1EqP,kBAAiB,CAChB6E,8BAA8B,CAACtN,QAAQ,CAAC,EACxC6N,KAAK,CACH,IAAI,EACJjE,wBAAwB,CACrBrE,GAAG,CAACvF,QAAQ,CAAC,CACbuF,GAAG,CAAC,aAAa,CAAC,IAAI,EAC3B,CAAC,EACDmD,iBACF;AAAC,aACE,CACN;AAAA,WAAA,EA3BI+B,KA4BF,CAAC;QAEV,CAAC;OAEA;AAAC,KACQ,CAAC;AAAA,GACd,CAAC;AAEV,CAAC;;AC7HD,IAAMqD,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,EAAA,IAAMC,YAAY,GAAGzO,QAAQ,CAACG,gBAAgB,CAAC2E,qBAAqB,CAAC;AACrE,EAAA,IAAM4J,UAAU,GAAG1O,QAAQ,CAACG,gBAAgB,CAAC4E,mBAAmB,CAAC;AAEjE,EAAA,IAAM4J,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACJ,YAAY,CAACnF,MAAM,EAAEoF,UAAU,CAACpF,MAAM,CAAC;EAE9D,KAAK,IAAIwF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,EAAEG,CAAC,EAAE,EAAE;AAC9B;IACAL,YAAY,CAACK,CAAC,CAAC,CAACpP,KAAK,CAACqP,MAAM,GAAG,MAAM;AAErC,IAAA,IAAMC,eAAe,GAAGP,YAAY,CAACK,CAAC,CAAC,CAAChV,QAAQ;AAChD,IAAA,KAAK,IAAImV,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,eAAe,CAAC1F,MAAM,EAAE2F,CAAC,EAAE,EAAE;MAC/CD,eAAe,CAACC,CAAC,CAAC,CAACvP,KAAK,CAACqP,MAAM,GAAG,MAAM;AAC1C,IAAA;AAEA,IAAA,IAAMG,cAAc,GAAGR,UAAU,CAACI,CAAC,CAAC,CAAChV,QAAQ;AAC7C,IAAA,KAAK,IAAImV,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGC,cAAc,CAAC5F,MAAM,EAAE2F,EAAC,EAAE,EAAE;MAC9C,IAAME,KAAK,GAAGD,cAAc,CAACD,EAAC,CAAC,CAAC9O,gBAAgB,CAC9C,wBACF,CAAC;AAEDgP,MAAAA,KAAK,CAAC9O,OAAO,CAAC,UAAA+O,IAAI,EAAI;AACpBA,QAAAA,IAAI,CAAC1P,KAAK,CAACqP,MAAM,GAAG,MAAM;AAC5B,MAAA,CAAC,CAAC;AACJ,IAAA;AACF,EAAA;;AAEA;;EAEA/O,QAAQ,CAACqP,IAAI,CAACC,YAAY;EAAC,IAAAC,KAAA,GAAA,SAAAA,KAAAA,GAEK;AAC9B;AACA;AACA,IAAA,IAAMC,YAAY,GAAGf,YAAY,CAACK,EAAC,CAAC;AACpC,IAAA,IAAMW,WAAW,GAAGf,UAAU,CAACI,EAAC,CAAC;;AAEjC;AACA,IAAA,IAAMY,aAAa,GAAGF,YAAY,CAAC5N,aAAa,CAC9C,kDACF,CAAC;AAED,IAAA,IAAM+N,YAAY,GAAGF,WAAW,CAAC7N,aAAa,CAC5C,oCACF,CAAC;IAED,IAAI8N,aAAa,IAAIC,YAAY,EAAE;AAAA,MAAA,IAAAC,mBAAA;AACjC,MAAA,IAAMC,iBAAiB,GAAGF,YAAY,CAACxP,gBAAgB,CACrD,wBACF,CAAC;MACD,IAAM2P,QAAQ,GAAGJ,aAAa,CAACK,qBAAqB,EAAE,CAAChB,MAAM;MAC7D,IAAMiB,OAAO,GAAG,CAAA,CAAAJ,mBAAA,GAAAC,iBAAiB,CAAC,CAAC,CAAC,MAAA,IAAA,IAAAD,mBAAA,KAAA,MAAA,GAAA,MAAA,GAApBA,mBAAA,CAAsBG,qBAAqB,EAAE,CAAChB,MAAM,KAAI,CAAC;MACzE,IAAMkB,IAAI,GAAGrB,IAAI,CAAC/S,GAAG,CAACiU,QAAQ,EAAEE,OAAO,CAAC;MAExCN,aAAa,CAAChQ,KAAK,CAACqP,MAAM,MAAA3O,MAAA,CAAM6P,IAAI,EAAA,IAAA,CAAI;AACxCJ,MAAAA,iBAAiB,CAACxP,OAAO,CAAC,UAAA+O,IAAI,EAAI;QAChCA,IAAI,CAAC1P,KAAK,CAACqP,MAAM,MAAA3O,MAAA,CAAM6P,IAAI,EAAA,IAAA,CAAI;AACjC,MAAA,CAAC,CAAC;AACJ,IAAA;;AAEA;AACA,IAAA,IAAMC,YAAY,GAAGV,YAAY,CAACrP,gBAAgB,CAChD,2FACF,CAAC;AAED,IAAA,IAAMgQ,cAAc,GAAGV,WAAW,CAACtP,gBAAgB,CACjD,+DACF,CAAC;AAED,IAAA,IAAMiQ,SAAS,GAAGxB,IAAI,CAACC,GAAG,CAACqB,YAAY,CAAC5G,MAAM,EAAE6G,cAAc,CAAC7G,MAAM,CAAC;IAAC,IAAA+G,MAAA,GAAA,SAAAA,MAAAA,GACnC;AAAA,MAAA,IAAAC,aAAA;MAClC,IAAMR,QAAQ,GAAGI,YAAY,CAACjB,GAAC,CAAC,CAACc,qBAAqB,EAAE,CAAChB,MAAM;MAC/D,IAAMwB,WAAW,GAAGJ,cAAc,CAAClB,GAAC,CAAC,CAAC9O,gBAAgB,CACpD,wBACF,CAAC;MACD,IAAM6P,OAAO,GAAG,CAAA,CAAAM,aAAA,GAAAC,WAAW,CAAC,CAAC,CAAC,MAAA,IAAA,IAAAD,aAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,aAAA,CAAgBP,qBAAqB,EAAE,CAAChB,MAAM,KAAI,CAAC;MACnE,IAAMkB,IAAI,GAAGrB,IAAI,CAAC/S,GAAG,CAACiU,QAAQ,EAAEE,OAAO,CAAC;MAExCE,YAAY,CAACjB,GAAC,CAAC,CAACvP,KAAK,CAACqP,MAAM,GAAA,EAAA,CAAA3O,MAAA,CAAM6P,IAAI,EAAA,IAAA,CAAI;AAC1CM,MAAAA,WAAW,CAAClQ,OAAO,CAAC,UAAA+O,IAAI,EAAI;QAC1BA,IAAI,CAAC1P,KAAK,CAACqP,MAAM,MAAA3O,MAAA,CAAM6P,IAAI,EAAA,IAAA,CAAI;AACjC,MAAA,CAAC,CAAC;IACJ,CAAC;IAZD,KAAK,IAAIhB,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAGmB,SAAS,EAAEnB,GAAC,EAAE,EAAA;MAAAoB,MAAA,EAAA;AAAA,IAAA;EAapC,CAAC;EApDD,KAAK,IAAIvB,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGH,KAAK,EAAEG,EAAC,EAAE,EAAA;IAAAS,KAAA,EAAA;AAAA,EAAA;AAqDhC,CAAC;AAED,IAAMiB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGlG,wBAAwB,EAAI;AACnD,EAAA,IAAMmG,IAAI,GAAG5F,WAAW,CAAC,YAAM;IAC7B6F,qBAAqB,CAAClC,cAAc,CAAC;EACvC,CAAC,EAAE,EAAE,CAAC;AAENxP,EAAAA,SAAS,CAAC,YAAM;AACdyR,IAAAA,IAAI,EAAE;AACR,EAAA,CAAC,EAAE,CAACnG,wBAAwB,EAAEmG,IAAI,CAAC,CAAC;AAEpCzR,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAM2R,QAAQ,GAAG,IAAIC,cAAc,CAACH,IAAI,CAAC;AACzC,IAAA,IAAMI,SAAS,GAAG7Q,QAAQ,CAAC4B,aAAa,CAAC,6BAA6B,CAAC;AACvE,IAAA,IAAIiP,SAAS,EAAEF,QAAQ,CAACG,OAAO,CAACD,SAAS,CAAC;AAE1CE,IAAAA,MAAM,CAACpO,gBAAgB,CAAC,QAAQ,EAAE8N,IAAI,CAAC;AAEvC,IAAA,OAAO,YAAM;MACXE,QAAQ,CAACK,UAAU,EAAE;AACrBD,MAAAA,MAAM,CAACtO,mBAAmB,CAAC,QAAQ,EAAEgO,IAAI,CAAC;IAC5C,CAAC;AACH,EAAA,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;AACZ,CAAC;;AC/FD,IAAMQ,KAAK,GAAG,SAARA,KAAKA,CAAAhY,IAAA,EAQL;EAAA,IAAAoK,qBAAA,EAAA6N,qBAAA;AAAA,EAAA,IAPJhY,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNyT,aAAa,GAAA1T,IAAA,CAAb0T,aAAa;IACbtE,KAAK,GAAApP,IAAA,CAALoP,KAAK;IACLpB,gBAAgB,GAAAhO,IAAA,CAAhBgO,gBAAgB;IAChBzN,WAAW,GAAAP,IAAA,CAAXO,WAAW;IACX2X,gBAAgB,GAAAlY,IAAA,CAAhBkY,gBAAgB;IAChB1W,oBAAoB,GAAAxB,IAAA,CAApBwB,oBAAoB;AAEpB,EAAA,IAAArB,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AACT,EAAA,IAAA8X,eAAA,GAAsCC,cAAc,EAAE;IAAAC,qBAAA,GAAAF,eAAA,CAA9CG,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;AAEjC,EAAA,IAAM/X,yBAAyB,GAAGL,MAAM,CAACM,WAAW,CAACC,MAAM;AAE3D,EAAA,IAAAmT,SAAA,GACEC,QAAQ,CAAC5F,gBAAgB,CAAC;IAAA6F,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AADrBtC,IAAAA,wBAAwB,GAAAwC,UAAA,CAAA,CAAA,CAAA;AAAE0E,IAAAA,2BAA2B,GAAA1E,UAAA,CAAA,CAAA,CAAA;AAE5D,EAAA,IAAA2E,UAAA,GAA8C5E,QAAQ,CAAC,KAAK,CAAC;IAAA6E,UAAA,GAAA3E,cAAA,CAAA0E,UAAA,EAAA,CAAA,CAAA;AAAtD/D,IAAAA,eAAe,GAAAgE,UAAA,CAAA,CAAA,CAAA;AAAEhH,IAAAA,kBAAkB,GAAAgH,UAAA,CAAA,CAAA,CAAA;AAE1C,EAAA,IAAAC,UAAA,GAAwC9E,QAAQ,CAAC7I,SAAS,CAAC;IAAA4N,UAAA,GAAA7E,cAAA,CAAA4E,UAAA,EAAA,CAAA,CAAA;AAApD9U,IAAAA,YAAY,GAAA+U,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,eAAe,GAAAD,UAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAE,UAAA,GAAkDjF,QAAQ,CAAC,KAAK,CAAC;IAAAkF,UAAA,GAAAhF,cAAA,CAAA+E,UAAA,EAAA,CAAA,CAAA;AAA1DE,IAAAA,iBAAiB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,oBAAoB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAG,UAAA,GAA4CrF,QAAQ,CAAC,KAAK,CAAC;IAAAsF,WAAA,GAAApF,cAAA,CAAAmF,UAAA,EAAA,CAAA,CAAA;AAApDE,IAAAA,cAAc,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,iBAAiB,GAAAF,WAAA,CAAA,CAAA,CAAA;AAExC,EAAA,IAAM1E,cAAc,GAAG,SAAjBA,cAAcA,CAAG/M,QAAQ,EAAI;AACjC,IAAA,IAAMlH,WAAW,GAAGoN,0BAA0B,CAC5ClG,QAAQ,EACR4J,wBACF,CAAC;IACDkH,2BAA2B,CAAChY,WAAW,CAAC;EAC1C,CAAC;EAEDgX,gBAAgB,CAAClG,wBAAwB,CAAC;AAE1CtL,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMkI,QAAQ,GAAGH,yBAAyB,CACxCwK,oBAAoB,EACpBtK,gBACF,CAAC;IACDuK,2BAA2B,CAACtK,QAAQ,CAAC;AACvC,EAAA,CAAC,EAAE,CAACD,gBAAgB,EAAEsK,oBAAoB,CAAC,CAAC;EAE5C,oBACEpW,IAAA,CAAAoI,QAAA,EAAA;AAAAzJ,IAAAA,QAAA,gBACEJ,GAAA,CAAA,KAAA,EAAA;AAAKoB,MAAAA,SAAS,EAAC,+CAA+C;AAAAhB,MAAAA,QAAA,EAC3DwY,OAAO,CAACjK,KAAK,CAAC,gBACb3O,GAAA,CAAA,KAAA,EAAA;AAAKoB,QAAAA,SAAS,EAAC,gDAAgD;QAAAhB,QAAA,eAC7DJ,GAAA,CAAC6Y,KAAK,EAAA;AACJvW,UAAAA,WAAW,EAAE1C,CAAC,CAAC,8CAA8C,CAAE;AAC/DwQ,UAAAA,IAAI,EAAE0I,OAAQ;AACdzX,UAAAA,KAAK,EAAEzB,CAAC,CAAC,wCAAwC,CAAE;AACnDmZ,UAAAA,kBAAkB,EAAE;AAClB,YAAA,aAAa,EAAE,qBAAqB;YACpCzY,QAAQ,EAAE,CAACT,yBAAyB;AACpCqK,YAAAA,KAAK,EAAEtK,CAAC,CAAC,oCAAoC,CAAC;YAC9CH,OAAO,EAAE,SAATA,OAAOA,GAAA;cAAA,OAAQsB,oBAAoB,CAAC,IAAI,CAAC;AAAA,YAAA;AAC3C;SACD;OACE,CAAC,gBAENU,IAAA,CAAA,KAAA,EAAA;AAAKL,QAAAA,SAAS,EAAC,4BAA4B;QAAAhB,QAAA,EAAA,cACzCJ,GAAA,CAAC8T,OAAO,EAAA;AAEJlD,UAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBoD,UAAAA,eAAe,EAAfA,eAAe;AACflU,UAAAA,WAAW,EAAXA,WAAW;AACXiU,UAAAA,cAAc,EAAdA,cAAc;AAEhBtJ,UAAAA,wBAAwB,GAAAd,qBAAA,GAAEnK,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEkL,kBAAkB,cAAAf,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAG;AAC3D+F,UAAAA,iBAAiB,EAAA,CAAA8H,qBAAA,GAAEhY,MAAM,aAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEkQ,iBAAiB,MAAA,IAAA,IAAA8H,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI;AAAG,SACpD,CAAC,eACFxX,GAAA,CAACgT,OAAO,EAAA;AAEJxT,UAAAA,MAAM,EAANA,MAAM;AACNoR,UAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBqC,UAAAA,aAAa,EAAbA,aAAa;AACbnT,UAAAA,WAAW,EAAXA,WAAW;AACX6O,UAAAA,KAAK,EAALA,KAAK;AACLqC,UAAAA,kBAAkB,EAAlBA,kBAAkB;AAClByG,UAAAA,gBAAgB,EAAhBA;AAAgB,SAEnB,CAAC;OACC;AACN,KACE,CAAC,eACNzX,GAAA,CAAC4C,WAAW,EAAA;AACJpD,MAAAA,MAAM,EAANA,MAAM;AAAEM,MAAAA,WAAW,EAAXA,WAAW;AAAEqD,MAAAA,YAAY,EAAZA,YAAY;AACvCJ,MAAAA,MAAM,EAAE2V,cAAe;AACvB1V,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACbmV,eAAe,CAAC7N,SAAS,CAAC;QAC1BqO,iBAAiB,CAAC,KAAK,CAAC;AAC1B,MAAA;AAAE,KACH,CAAC,eACF3Y,GAAA,CAACgS,MAAM,EAAA;AACCrD,MAAAA,KAAK,EAALA,KAAK;AAAExL,MAAAA,YAAY,EAAZA,YAAY;AACzBJ,MAAAA,MAAM,EAAEuV,iBAAkB;AAC1BtV,MAAAA,OAAO,EAAE,SAATA,OAAOA,GAAQ;QACbmV,eAAe,CAAC7N,SAAS,CAAC;QAC1BiO,oBAAoB,CAAC,KAAK,CAAC;AAC7B,MAAA;AAAE,KACH,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;;AC3FD,IAAMS,KAAK,GAAG,SAARA,KAAKA,CAAAzZ,IAAA,EAAmB;AAAA,EAAA,IAAbC,MAAM,GAAAD,IAAA,CAANC,MAAM;AACrB,EAAA,IAAMyZ,uBAAuB,GAAGzZ,MAAM,CAACM,WAAW,CAACoZ,IAAI;AACvD,EAAA,IAAMlY,yBAAyB,GAAGxB,MAAM,CAACM,WAAW,CAACmB,MAAM;AAE3D,EAAA,IAAAiS,SAAA,GAA0CC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA/CiG,IAAAA,aAAa,GAAA/F,UAAA,CAAA,CAAA,CAAA;AAAEqE,IAAAA,gBAAgB,GAAArE,UAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAA2E,UAAA,GAAkD5E,QAAQ,CAAC,KAAK,CAAC;IAAA6E,UAAA,GAAA3E,cAAA,CAAA0E,UAAA,EAAA,CAAA,CAAA;AAA1DqB,IAAAA,iBAAiB,GAAApB,UAAA,CAAA,CAAA,CAAA;AAAEjX,IAAAA,oBAAoB,GAAAiX,UAAA,CAAA,CAAA,CAAA;EAC9C,IAAAqB,cAAA,GAIIC,aAAa,CAAC;AAAEC,MAAAA,OAAO,EAAEN;AAAwB,KAAC,CAAC;IAAAO,mBAAA,GAAAH,cAAA,CAHrDI,IAAI;AAAE9K,IAAAA,KAAK,GAAA6K,mBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,mBAAA;IACLE,cAAc,GAAAL,cAAA,CAAzBM,SAAS;IACTC,MAAM,GAAAP,cAAA,CAANO,MAAM;EAGR,IAAAC,oBAAA,GACEC,mBAAmB,CAAC;AAAEP,MAAAA,OAAO,EAAEN;AAAwB,KAAC,CAAC;IAD7Cc,cAAc,GAAAF,oBAAA,CAApBJ,IAAI;IAA6BO,oBAAoB,GAAAH,oBAAA,CAA/BF,SAAS;EAGvC,IAAAM,mBAAA,GAA+BC,kBAAkB,CAAC;AAChDX,MAAAA,OAAO,EAAEvY;AACX,KAAC,CAAC;IAFcmZ,UAAU,GAAAF,mBAAA,CAAlBnW,MAAM;AAId,EAAA,IAAMhE,WAAW,GAAGsa,yBAAyB,CAACL,cAAc,CAAC;AAC7D,EAAA,IAAMxM,gBAAgB,GAAG8M,mBAAmB,CAACva,WAAW,CAAC;EAEzD,IAAMmT,aAAa,GAAGqH,UAAU,CAACnB,aAAa,CAAC,GAAGA,aAAa,GAAGxK,KAAK;AAEvE,EAAA,IAAM/N,YAAY,GAAG,SAAfA,YAAYA,GAAS;AACzB,IAAA,IAAM2Z,YAAY,GAAGC,sBAAsB,CAAC7L,KAAK,EAAEwK,aAAa,CAAC;AACjEgB,IAAAA,UAAU,CAAC;AAAEM,MAAAA,iBAAiB,EAAE;AAAEF,QAAAA,YAAY,EAAZA;AAAa;AAAE,KAAC,CAAC;EACrD,CAAC;AAED,EAAA,IAAM5Z,WAAW,GAAG,SAAdA,WAAWA,GAAA;IAAA,OAAS8W,gBAAgB,CAAC9I,KAAK,CAAC;AAAA,EAAA,CAAA;AAEjDrJ,EAAAA,SAAS,CAAC,YAAM;IACd,IAAIsU,MAAM,KAAK,SAAS,EAAE;IAC1BnC,gBAAgB,CAAC9I,KAAK,CAAC;AACzB,EAAA,CAAC,EAAE,CAACA,KAAK,EAAEiL,MAAM,CAAC,CAAC;EAEnB,IAAIF,cAAc,IAAIM,oBAAoB,EAAE;AAC1C,IAAA,oBACEha,GAAA,CAAA,KAAA,EAAA;AAAKoB,MAAAA,SAAS,EAAC,6DAA6D;AAAAhB,MAAAA,QAAA,eAC1EJ,GAAA,CAAC0a,OAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;EAEA,oBACEjZ,IAAA,CAAAoI,QAAA,EAAA;IAAAzJ,QAAA,EAAA,cACEJ,GAAA,CAAC2a,sBAAU,EAAA;MAAAva,QAAA,eACTqB,IAAA,CAACmZ,SAAS,EAAA;QAACC,aAAa,EAAA,IAAA;AAACzZ,QAAAA,SAAS,EAAC,OAAO;QAAAhB,QAAA,EAAA,cACxCJ,GAAA,CAACO,MAAM,EAAA;AAEHf,UAAAA,MAAM,EAANA,MAAM;AACNmB,UAAAA,WAAW,EAAXA,WAAW;AACXC,UAAAA,YAAY,EAAZA,YAAY;AACZG,UAAAA,oBAAoB,EAApBA;AAAoB,SAEvB,CAAC,eACFf,GAAA,CAACuX,KAAK,EAAA;AAEF/X,UAAAA,MAAM,EAANA,MAAM;AACNyT,UAAAA,aAAa,EAAbA,aAAa;AACb1F,UAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBzN,UAAAA,WAAW,EAAXA,WAAW;AACX6O,UAAAA,KAAK,EAALA,KAAK;AACL5N,UAAAA,oBAAoB,EAApBA,oBAAoB;AACpB0W,UAAAA,gBAAgB,EAAhBA;AAAgB,SAEnB,CAAC;OACO;AAAC,KACF,CAAC,eACbzX,GAAA,CAAC4C,WAAW,EAAA;AACJpD,MAAAA,MAAM,EAANA,MAAM;AAAEM,MAAAA,WAAW,EAAXA,WAAW;AACzBiD,MAAAA,MAAM,EAAEqW,iBAAkB;MAC1BpW,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQjC,oBAAoB,CAAC,KAAK,CAAC;AAAA,MAAA;AAAC,KAC5C,CAAC;AAAA,GACF,CAAC;AAEP,CAAC;AAED,YAAe+Z,SAAS,CACtBC,cAAc,CAAC/B,KAAK,CAAC,EACrBgC,OAAO,CAACpb,CAAC,CAAC,8BAA8B,EAAE0B,MAAM,CAClD,CAAC;;;;"}
@@ -21,7 +21,7 @@ import { TABLE_KEYS, EVENTS } from '../constants.js';
21
21
  import { noop, isNotEmpty, hyphenate, findBy } from '@bigbinary/neeto-cist';
22
22
  import { t } from 'i18next';
23
23
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
24
- import { D as DEFAULT_SELECTED_ROWS, h as handlePageChange, g as getFilteredRoles, a as getColumnData, b as generateNoDataContent, c as DEFAULT_RADIX, M as ManageMember, r as renderUpdateAlert } from '../index-Bjnj8X1U.js';
24
+ import { D as DEFAULT_SELECTED_ROWS, h as handlePageChange, g as getFilteredRoles, a as getColumnData, b as generateNoDataContent, c as DEFAULT_RADIX, M as ManageMember, r as renderUpdateAlert } from '../index-BFScwOib.js';
25
25
  import { toast } from 'sonner';
26
26
  import NeetoHeader from '@bigbinary/neeto-molecules/v2/Header';
27
27
  import { w as withReactQuery } from '../withReactQuery-CSuiy5RK.js';
@@ -45,7 +45,7 @@ import '@bigbinary/neetoui/Typography';
45
45
  import '@babel/runtime/helpers/asyncToGenerator';
46
46
  import '@babel/runtime/regenerator';
47
47
  import 'classnames';
48
- import '@bigbinary/neeto-image-uploader-frontend/hooks';
48
+ import '@bigbinary/neeto-image-uploader-frontend/v2/hooks';
49
49
  import 'formik';
50
50
  import '../RolesRadioGroup-CsTenjqQ.js';
51
51
  import 'yup';
package/dist/v2/index.js CHANGED
@@ -8,7 +8,7 @@ export { default as Profile } from './Profile.js';
8
8
  export { default as Roles } from './Roles.js';
9
9
  export { P as Permissions } from '../Permissions-Bz0SmJzH.js';
10
10
  export { default as TeamMembers } from './TeamMembers.js';
11
- export { M as ManageMember } from '../index-Bjnj8X1U.js';
11
+ export { M as ManageMember } from '../index-BFScwOib.js';
12
12
  export { R as RolesRadioGroup } from '../RolesRadioGroup-CsTenjqQ.js';
13
13
  export { default as TeamsAndMembersDropdown } from './TeamsAndMembersDropdown.js';
14
14
  export { default as TeamsDropdown } from './TeamsDropdown.js';
@@ -56,7 +56,7 @@ import '@babel/runtime/helpers/asyncToGenerator';
56
56
  import '@babel/runtime/regenerator';
57
57
  import '@bigbinary/neeto-atoms/primitives/Card';
58
58
  import '@bigbinary/neeto-time-zones';
59
- import '@bigbinary/neeto-image-uploader-frontend/hooks';
59
+ import '@bigbinary/neeto-image-uploader-frontend/v2/hooks';
60
60
  import '@bigbinary/neeto-molecules/v2/PhoneNumber';
61
61
  import 'sonner';
62
62
  import '../useProfileApi-Dkt6sE5p.js';