@bigbinary/neeto-team-members-frontend 5.0.42 → 5.0.43

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.
Files changed (215) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/ActionBlock-C9Iy0jGZ.js.map +1 -1
  3. package/dist/ActionBlock-jgw1N-As.js.map +1 -1
  4. package/dist/Groups.js +8 -104
  5. package/dist/Groups.js.map +1 -1
  6. package/dist/{InviteLinkError-C6OLGrD0.js → InviteLinkError-5auG6HEb.js} +37 -2
  7. package/dist/InviteLinkError-5auG6HEb.js.map +1 -0
  8. package/dist/{InviteLinkError-AphtWLhe.js → InviteLinkError-Chs1iVCJ.js} +57 -16
  9. package/dist/InviteLinkError-Chs1iVCJ.js.map +1 -0
  10. package/dist/ManageMember.js +988 -50
  11. package/dist/ManageMember.js.map +1 -1
  12. package/dist/MembersInvite.js +5 -36
  13. package/dist/MembersInvite.js.map +1 -1
  14. package/dist/{Permissions-C5poOq-v.js → Permissions-Bz0SmJzH.js} +6 -6
  15. package/dist/{Permissions-C5poOq-v.js.map → Permissions-Bz0SmJzH.js.map} +1 -1
  16. package/dist/{Permissions-DoGY84sh.js → Permissions-LWRAefeb.js} +6 -6
  17. package/dist/{Permissions-DoGY84sh.js.map → Permissions-LWRAefeb.js.map} +1 -1
  18. package/dist/Profile.js +7 -24
  19. package/dist/Profile.js.map +1 -1
  20. package/dist/ProfileImage-BLnx0E90.js +136 -0
  21. package/dist/ProfileImage-BLnx0E90.js.map +1 -0
  22. package/dist/{ProfileImage-QeSzsfzl.js → ProfileImage-Ddqkbj2f.js} +3 -37
  23. package/dist/ProfileImage-Ddqkbj2f.js.map +1 -0
  24. package/dist/{ProfileImage-Ypf3HreX.js → ProfileImage-EB117DPX.js} +3 -34
  25. package/dist/ProfileImage-EB117DPX.js.map +1 -0
  26. package/dist/ProfileImage-V240yfTY.js +129 -0
  27. package/dist/ProfileImage-V240yfTY.js.map +1 -0
  28. package/dist/Roles.js +7 -48
  29. package/dist/Roles.js.map +1 -1
  30. package/dist/{RolesRadioGroup-D4LlGV4N.js → RolesRadioGroup-BCrxWI9_.js} +11 -10
  31. package/dist/RolesRadioGroup-BCrxWI9_.js.map +1 -0
  32. package/dist/{RolesRadioGroup-cjHORagK.js → RolesRadioGroup-BwiP6Akj.js} +13 -11
  33. package/dist/RolesRadioGroup-BwiP6Akj.js.map +1 -0
  34. package/dist/Select-CshPoN2b.js.map +1 -1
  35. package/dist/Select-DZ56UG-l.js.map +1 -1
  36. package/dist/TeamMembers.js +18 -176
  37. package/dist/TeamMembers.js.map +1 -1
  38. package/dist/cjs/Groups.js +12 -109
  39. package/dist/cjs/Groups.js.map +1 -1
  40. package/dist/cjs/ManageMember.js +1012 -51
  41. package/dist/cjs/ManageMember.js.map +1 -1
  42. package/dist/cjs/MembersInvite.js +9 -42
  43. package/dist/cjs/MembersInvite.js.map +1 -1
  44. package/dist/cjs/Profile.js +8 -25
  45. package/dist/cjs/Profile.js.map +1 -1
  46. package/dist/cjs/Roles.js +28 -70
  47. package/dist/cjs/Roles.js.map +1 -1
  48. package/dist/cjs/TeamMembers.js +30 -189
  49. package/dist/cjs/TeamMembers.js.map +1 -1
  50. package/dist/cjs/index.js +13 -7
  51. package/dist/cjs/index.js.map +1 -1
  52. package/dist/cjs/utils.js +512 -3
  53. package/dist/cjs/utils.js.map +1 -1
  54. package/dist/cjs/v2/Groups.js +37 -134
  55. package/dist/cjs/v2/Groups.js.map +1 -1
  56. package/dist/cjs/v2/ManageMember.js +18 -13
  57. package/dist/cjs/v2/ManageMember.js.map +1 -1
  58. package/dist/cjs/v2/MembersDropdown.js +1 -1
  59. package/dist/cjs/v2/MembersDropdown.js.map +1 -1
  60. package/dist/cjs/v2/MembersInvite.js +20 -59
  61. package/dist/cjs/v2/MembersInvite.js.map +1 -1
  62. package/dist/cjs/v2/Permissions.js +2 -2
  63. package/dist/cjs/v2/Profile.js +17 -33
  64. package/dist/cjs/v2/Profile.js.map +1 -1
  65. package/dist/cjs/v2/Roles.js +42 -83
  66. package/dist/cjs/v2/Roles.js.map +1 -1
  67. package/dist/cjs/v2/RolesRadioGroup.js +7 -6
  68. package/dist/cjs/v2/RolesRadioGroup.js.map +1 -1
  69. package/dist/cjs/v2/TeamMembers.js +41 -191
  70. package/dist/cjs/v2/TeamMembers.js.map +1 -1
  71. package/dist/cjs/v2/TeamsAndMembersDropdown.js +1 -1
  72. package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -1
  73. package/dist/cjs/v2/TeamsDropdown.js +1 -1
  74. package/dist/cjs/v2/TeamsDropdown.js.map +1 -1
  75. package/dist/cjs/v2/constants.js +8 -20
  76. package/dist/cjs/v2/constants.js.map +1 -1
  77. package/dist/cjs/v2/hooks.js +5 -5
  78. package/dist/cjs/v2/index.js +52 -35
  79. package/dist/cjs/v2/index.js.map +1 -1
  80. package/dist/cjs/v2/utils.js +9 -18
  81. package/dist/cjs/v2/utils.js.map +1 -1
  82. package/dist/hooks.js +1 -1
  83. package/dist/index-4wQ9Y7v9.js +61 -0
  84. package/dist/index-4wQ9Y7v9.js.map +1 -0
  85. package/dist/{index-CgcUZO11.js → index-BHZSKqUU.js} +248 -359
  86. package/dist/index-BHZSKqUU.js.map +1 -0
  87. package/dist/index-BISwUwuE.js +55 -0
  88. package/dist/index-BISwUwuE.js.map +1 -0
  89. package/dist/{index-CVZHlIdE.js → index-BMb0DElQ.js} +3 -3
  90. package/dist/index-BMb0DElQ.js.map +1 -0
  91. package/dist/index-BOQKf6as.js +61 -0
  92. package/dist/index-BOQKf6as.js.map +1 -0
  93. package/dist/{index-BVrpRWeD.js → index-BRgcqXVL.js} +3 -3
  94. package/dist/index-BRgcqXVL.js.map +1 -0
  95. package/dist/{index-Dfnw71qd.js → index-BjyZ-9G_.js} +244 -350
  96. package/dist/index-BjyZ-9G_.js.map +1 -0
  97. package/dist/index-CKQDhbTA.js +55 -0
  98. package/dist/index-CKQDhbTA.js.map +1 -0
  99. package/dist/index.js +13 -7
  100. package/dist/index.js.map +1 -1
  101. package/dist/useCountriesApi-CjhrbnjK.js +43 -0
  102. package/dist/useCountriesApi-CjhrbnjK.js.map +1 -0
  103. package/dist/useCountriesApi-DK00167T.js +35 -0
  104. package/dist/useCountriesApi-DK00167T.js.map +1 -0
  105. package/dist/useInviteLinksApi-COVfmZiQ.js +64 -0
  106. package/dist/useInviteLinksApi-COVfmZiQ.js.map +1 -0
  107. package/dist/useInviteLinksApi-gn-AP0Yx.js +55 -0
  108. package/dist/useInviteLinksApi-gn-AP0Yx.js.map +1 -0
  109. package/dist/useProfileApi-BcuLCyms.js +35 -0
  110. package/dist/useProfileApi-BcuLCyms.js.map +1 -0
  111. package/dist/useProfileApi-Dkt6sE5p.js +28 -0
  112. package/dist/useProfileApi-Dkt6sE5p.js.map +1 -0
  113. package/dist/{index-D_GBFQ6T.js → useRolesApi-93OoRU1s.js} +2 -54
  114. package/dist/useRolesApi-93OoRU1s.js.map +1 -0
  115. package/dist/{index-BOmT_MDe.js → useRolesApi-DuL4eCuF.js} +1 -55
  116. package/dist/useRolesApi-DuL4eCuF.js.map +1 -0
  117. package/dist/useTeams-9Lgu4ogZ.js +187 -0
  118. package/dist/useTeams-9Lgu4ogZ.js.map +1 -0
  119. package/dist/useTeams-CJQiyvCI.js +178 -0
  120. package/dist/useTeams-CJQiyvCI.js.map +1 -0
  121. package/dist/{useTeamsApi-DH-TbrNP.js → useTeamsApi-BXvhKbyp.js} +2 -2
  122. package/dist/{useTeamsApi-DH-TbrNP.js.map → useTeamsApi-BXvhKbyp.js.map} +1 -1
  123. package/dist/useUsersApi-BRPy1kqa.js +105 -0
  124. package/dist/useUsersApi-BRPy1kqa.js.map +1 -0
  125. package/dist/useUsersApi-CBZ1Dk5d.js +117 -0
  126. package/dist/useUsersApi-CBZ1Dk5d.js.map +1 -0
  127. package/dist/utils-3WlshQ9e.js +312 -0
  128. package/dist/utils-3WlshQ9e.js.map +1 -0
  129. package/dist/{index-Dus0cbgo.js → utils-CcTwXoRH.js} +52 -1
  130. package/dist/utils-CcTwXoRH.js.map +1 -0
  131. package/dist/utils-CgwJI9pk.js +334 -0
  132. package/dist/utils-CgwJI9pk.js.map +1 -0
  133. package/dist/{index-ureO6U2w.js → utils-CrN1b-Jp.js} +48 -2
  134. package/dist/utils-CrN1b-Jp.js.map +1 -0
  135. package/dist/utils.js +512 -3
  136. package/dist/utils.js.map +1 -1
  137. package/dist/v2/Groups.js +30 -126
  138. package/dist/v2/Groups.js.map +1 -1
  139. package/dist/v2/ManageMember.js +18 -13
  140. package/dist/v2/ManageMember.js.map +1 -1
  141. package/dist/v2/MembersDropdown.js +1 -1
  142. package/dist/v2/MembersDropdown.js.map +1 -1
  143. package/dist/v2/MembersInvite.js +16 -54
  144. package/dist/v2/MembersInvite.js.map +1 -1
  145. package/dist/v2/Permissions.js +2 -2
  146. package/dist/v2/Profile.js +12 -28
  147. package/dist/v2/Profile.js.map +1 -1
  148. package/dist/v2/Roles.js +23 -63
  149. package/dist/v2/Roles.js.map +1 -1
  150. package/dist/v2/RolesRadioGroup.js +7 -6
  151. package/dist/v2/RolesRadioGroup.js.map +1 -1
  152. package/dist/v2/TeamMembers.js +38 -187
  153. package/dist/v2/TeamMembers.js.map +1 -1
  154. package/dist/v2/TeamsAndMembersDropdown.js +1 -1
  155. package/dist/v2/TeamsAndMembersDropdown.js.map +1 -1
  156. package/dist/v2/TeamsDropdown.js +1 -1
  157. package/dist/v2/TeamsDropdown.js.map +1 -1
  158. package/dist/v2/constants.js +2 -18
  159. package/dist/v2/constants.js.map +1 -1
  160. package/dist/v2/hooks.js +5 -5
  161. package/dist/v2/index.js +48 -31
  162. package/dist/v2/index.js.map +1 -1
  163. package/dist/v2/utils.js +6 -19
  164. package/dist/v2/utils.js.map +1 -1
  165. package/dist/withReactQuery-CSuiy5RK.js +1 -1
  166. package/dist/withReactQuery-CSuiy5RK.js.map +1 -1
  167. package/dist/withReactQuery-DvSkXhEx.js +1 -1
  168. package/dist/withReactQuery-DvSkXhEx.js.map +1 -1
  169. package/package.json +9 -9
  170. package/dist/InviteLinkError-AphtWLhe.js.map +0 -1
  171. package/dist/InviteLinkError-C6OLGrD0.js.map +0 -1
  172. package/dist/ProfileImage-QeSzsfzl.js.map +0 -1
  173. package/dist/ProfileImage-Ypf3HreX.js.map +0 -1
  174. package/dist/RolesRadioGroup-D4LlGV4N.js.map +0 -1
  175. package/dist/RolesRadioGroup-cjHORagK.js.map +0 -1
  176. package/dist/constants-B1L6arSR.js +0 -49
  177. package/dist/constants-B1L6arSR.js.map +0 -1
  178. package/dist/constants-CMNbKvoF.js +0 -61
  179. package/dist/constants-CMNbKvoF.js.map +0 -1
  180. package/dist/index-BOmT_MDe.js.map +0 -1
  181. package/dist/index-BVrpRWeD.js.map +0 -1
  182. package/dist/index-BkEJugj1.js +0 -184
  183. package/dist/index-BkEJugj1.js.map +0 -1
  184. package/dist/index-C6ph58Vg.js +0 -169
  185. package/dist/index-C6ph58Vg.js.map +0 -1
  186. package/dist/index-CVZHlIdE.js.map +0 -1
  187. package/dist/index-CgcUZO11.js.map +0 -1
  188. package/dist/index-DFFRcH_S.js +0 -1328
  189. package/dist/index-DFFRcH_S.js.map +0 -1
  190. package/dist/index-DTONHIze.js +0 -1373
  191. package/dist/index-DTONHIze.js.map +0 -1
  192. package/dist/index-D_GBFQ6T.js.map +0 -1
  193. package/dist/index-Dfnw71qd.js.map +0 -1
  194. package/dist/index-Dus0cbgo.js.map +0 -1
  195. package/dist/index-ureO6U2w.js.map +0 -1
  196. package/dist/pluralize-BoSEafiC.js +0 -514
  197. package/dist/pluralize-BoSEafiC.js.map +0 -1
  198. package/dist/pluralize-CFlSRsRn.js +0 -516
  199. package/dist/pluralize-CFlSRsRn.js.map +0 -1
  200. package/dist/queryClient-B-JFya8X.js +0 -16
  201. package/dist/queryClient-B-JFya8X.js.map +0 -1
  202. package/dist/queryClient-BncpekSV.js +0 -14
  203. package/dist/queryClient-BncpekSV.js.map +0 -1
  204. package/dist/timezone-selector-CKRmWIBV.js +0 -161
  205. package/dist/timezone-selector-CKRmWIBV.js.map +0 -1
  206. package/dist/timezone-selector-DzjWIcWK.js +0 -171
  207. package/dist/timezone-selector-DzjWIcWK.js.map +0 -1
  208. package/dist/useMembersSidenav-CTK2-tT0.js +0 -19
  209. package/dist/useMembersSidenav-CTK2-tT0.js.map +0 -1
  210. package/dist/useMembersSidenav-Dj60wgFC.js +0 -17
  211. package/dist/useMembersSidenav-Dj60wgFC.js.map +0 -1
  212. package/dist/useTeamsApi-CWp4G7JZ.js +0 -179
  213. package/dist/useTeamsApi-CWp4G7JZ.js.map +0 -1
  214. package/dist/useTeamsApi-Ch5sHR2_.js +0 -197
  215. package/dist/useTeamsApi-Ch5sHR2_.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Permissions-DoGY84sh.js","sources":["../app/javascript/src/components/v2/Roles/utils.js","../app/javascript/src/components/v2/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nimport \"../styles/roles-permissions.css\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = 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 const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography variant=\"body1\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","variant","weight","SINGULAR","color","keys","hyphenate"],"mappings":"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"}
1
+ {"version":3,"file":"Permissions-LWRAefeb.js","sources":["../app/javascript/src/v2/components/Roles/utils.js","../app/javascript/src/v2/components/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/roles-permissions.css\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = 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 const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography variant=\"body1\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card neeto-ui-rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","variant","weight","SINGULAR","color","keys","hyphenate"],"mappings":"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"}
package/dist/Profile.js CHANGED
@@ -12,7 +12,7 @@ import _regeneratorRuntime from '@babel/runtime/regenerator';
12
12
  import { NeetoTimezoneSelector, ianaTimezoneToHumanReadable } from '@bigbinary/neeto-time-zones';
13
13
  import classnames from 'classnames';
14
14
  import { findBy, noop, _findBy } from '@bigbinary/neeto-cist';
15
- import { DEFAULT_STALE_TIME, LANGUAGE_OPTIONS } from '@bigbinary/neeto-commons-frontend/constants';
15
+ import { LANGUAGE_OPTIONS } from '@bigbinary/neeto-commons-frontend/constants';
16
16
  import { useProfileImageUpload } from '@bigbinary/neeto-image-uploader-frontend/hooks';
17
17
  import Label from '@bigbinary/neetoui/Label';
18
18
  import Spinner from '@bigbinary/neetoui/Spinner';
@@ -22,10 +22,9 @@ import Select from '@bigbinary/neetoui/formik/Select';
22
22
  import Form from '@bigbinary/neetoui/formik/Form';
23
23
  import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
24
24
  import { isNotNil, isNil, is, trim } from 'ramda';
25
- import { Q as QUERY_KEYS, D as DATE_FORMAT_OPTIONS, T as TIME_FORMAT_OPTIONS } from './constants-CXdiW8NZ.js';
26
- import { useQuery } from '@tanstack/react-query';
27
- import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
28
- import { p as profileApi, u as useCountries, P as PROFILE_VALIDATION_SCHEMA, a as ProfileImage, M as MY_PROFILE_PATH } from './ProfileImage-Ypf3HreX.js';
25
+ import { D as DATE_FORMAT_OPTIONS, T as TIME_FORMAT_OPTIONS } from './constants-CXdiW8NZ.js';
26
+ import { u as useFetchProfile, a as useUpdateProfileMutation } from './useProfileApi-Dkt6sE5p.js';
27
+ import { u as useCountries, P as PROFILE_VALIDATION_SCHEMA, a as ProfileImage, M as MY_PROFILE_PATH } from './ProfileImage-EB117DPX.js';
29
28
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
30
29
  import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions';
31
30
  import { create } from 'zustand';
@@ -37,30 +36,14 @@ import Avatar from '@bigbinary/neetoui/Avatar';
37
36
  import Button from '@bigbinary/neetoui/Button';
38
37
  import { n } from './inject-css-C2dztUxs.js';
39
38
  import 'i18next';
39
+ import '@tanstack/react-query';
40
+ import '@bigbinary/neeto-commons-frontend/react-utils';
41
+ import './useCountriesApi-DK00167T.js';
40
42
  import 'axios';
41
43
  import 'formik';
42
44
  import '@bigbinary/neeto-icons/Edit';
43
45
  import 'yup';
44
46
 
45
- function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
46
- function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
47
- var useFetchProfile = function useFetchProfile(options) {
48
- return useQuery(_objectSpread$1({
49
- queryKey: [QUERY_KEYS.USER_PROFILE],
50
- queryFn: profileApi.fetchUserDetails,
51
- staleTime: DEFAULT_STALE_TIME
52
- }, options));
53
- };
54
- var useUpdateProfileMutation = function useUpdateProfileMutation(options) {
55
- return useMutationWithInvalidation(profileApi.updateUser, _objectSpread$1(_objectSpread$1({
56
- keysToInvalidate: [[QUERY_KEYS.USER_PROFILE]]
57
- }, options), {}, {
58
- onSuccess: function onSuccess() {
59
- return window.location.reload();
60
- }
61
- }));
62
- };
63
-
64
47
  var _excluded = ["countryId"];
65
48
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
66
49
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1 +1 @@
1
- {"version":3,"file":"Profile.js","sources":["../app/javascript/src/hooks/profile/useProfileApi.js","../app/javascript/src/components/Profile/ChangeProfile.jsx","../app/javascript/src/components/Profile/hooks/useProfileUpdatePane.js","../app/javascript/src/components/Profile/utils.js","../app/javascript/src/components/Profile/Preview.jsx","../app/javascript/src/components/Profile/index.jsx"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport profileApi from \"src/apis/profile\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchProfile = options =>\n useQuery({\n queryKey: [QUERY_KEYS.USER_PROFILE],\n queryFn: profileApi.fetchUserDetails,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nconst useUpdateProfileMutation = options =>\n useMutationWithInvalidation(profileApi.updateUser, {\n keysToInvalidate: [[QUERY_KEYS.USER_PROFILE]],\n ...options,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useFetchProfile, useUpdateProfileMutation };\n","import { useCallback, useEffect, useRef } from \"react\";\n\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport classNames from \"classnames\";\nimport { findBy, noop } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { Label, Pane, Spinner, Toastr, Typography } from \"neetoui\";\nimport { Input, Select, Form, ActionBlock } from \"neetoui/formik\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"hooks/profile/useProfileApi\";\n\nimport { PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\n\nconst ChangeProfile = ({ onClose }) => {\n const { t } = useTranslation();\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = image =>\n new Promise(resolve => {\n uploadImage(image, uploadedImageData => {\n resolve(uploadedImageData);\n });\n });\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const {\n firstName = \"\",\n lastName = \"\",\n dateFormat = DATE_FORMAT_OPTIONS[0].value,\n timeZone = \"\",\n profileImageUrl = \"\",\n countryId = \"\",\n timeFormat = TIME_FORMAT_OPTIONS[0].value,\n isOwner = false,\n timezoneChangeEnabled = true,\n language = \"\",\n } = user;\n\n const isTimezoneFieldDisabled = !isOwner && !timezoneChangeEnabled;\n const setFieldValueRef = useRef(null);\n\n const {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange = noop,\n } = useCountries();\n\n const { mutate: updateProfile, isPending: isUpdatingProfile } =\n useUpdateProfileMutation();\n\n const timezoneRef = useCallback(\n node => {\n if (isNotNil(node)) {\n new NeetoTimezoneSelector(node, {\n isTimeFormat24H: timeFormat === \"24h\",\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: timeZone,\n onChange: ({ main }) => setFieldValueRef.current(\"timeZone\", main),\n disabled: isTimezoneFieldDisabled,\n });\n }\n },\n [timeZone, timeFormat, isTimezoneFieldDisabled]\n );\n\n const initialFormValues = {\n firstName,\n lastName,\n timeZone,\n dateFormat,\n timeFormat,\n language,\n avatar: { imageUrl: profileImageUrl, file: null },\n };\n\n const handleSubmit = async values => {\n try {\n let avatar = {};\n\n if (values.avatar.file === \"_destroy\") {\n avatar = { fileId: \"_destroy\", filePath: \"\", url: \"\" };\n } else if (values.avatar.file) {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n avatar = { fileId, filePath, url };\n }\n\n const { countryId: updatedCountryId, ...rest } = values;\n\n const payload = {\n ...rest,\n avatar,\n countryIdentifier:\n updatedCountryId !== countryId ? updatedCountryId : undefined,\n };\n\n updateProfile({ id: user.id, payload });\n } catch (error) {\n Toastr.error(error.message);\n }\n };\n\n useEffect(() => {\n const country = findBy({ value: countryId }, countryDropdownOptions);\n if (country) {\n handleCountryChange(country);\n }\n }, [countryId, countryDropdownOptions, handleCountryChange]);\n\n if (isUpdatingProfile || isFetchingCountriesList || isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Form\n formProps={{ \"data-testid\": \"ntm-profile-form\" }}\n formikProps={{\n initialValues: initialFormValues,\n validationSchema: PROFILE_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ setFieldValue, errors, touched }) => {\n setFieldValueRef.current = setFieldValue;\n\n return (\n <>\n <Pane.Body className=\"w-full\">\n <div className=\"w-full pb-6\">\n <ProfileImage />\n <div className=\"neeto-ui-border-gray-200 mt-4 w-full space-y-4 border-t pt-4\">\n <Input\n autoFocus\n required\n data-testid=\"profile-first-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.firstName\")}\n name=\"firstName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.firstName\"\n )}\n />\n <Input\n required\n data-testid=\"profile-last-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.lastName\")}\n name=\"lastName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.lastName\"\n )}\n />\n </div>\n <div className=\"neeto-ui-border-gray-200 mt-4 w-full space-y-4 border-t pt-4\">\n <Select\n required\n data-testid=\"ntm-profile-country-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.country\")}\n name=\"countryId\"\n options={countryDropdownOptions}\n value={selectedCountryOption}\n onChange={option => {\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n setFieldValue(\"countryId\", option?.value);\n }}\n />\n <div className=\"space-y-2\">\n <Select\n required\n data-testid=\"ntm-language-select\"\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.language\"\n )}\n onChange={option => {\n setFieldValue(\"language\", option.value);\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <div className=\"space-y-2\">\n <Label required>\n {t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}\n </Label>\n <div\n data-testid=\"ntm-profile-time-zone-select\"\n ref={timezoneRef}\n className={classNames(\"w-full grow\", {\n \"neeto-ui-bg-gray-100 pointer-events-none\":\n isTimezoneFieldDisabled,\n })}\n />\n </div>\n {touched.timeZone && errors.timeZone && (\n <Typography\n className=\"neeto-ui-text-error-800\"\n lineHeight=\"none\"\n style=\"body3\"\n >\n {errors.timeZone}\n </Typography>\n )}\n </div>\n <Select\n required\n data-testid=\"ntm-time-format-select\"\n name=\"timeFormat\"\n options={TIME_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredTimeFormat\"\n )}\n onChange={option => {\n setFieldValue(\"timeFormat\", option.value);\n }}\n />\n <div className=\"space-y-2\">\n <Select\n required\n data-testid=\"ntm-date-format-select\"\n name=\"dateFormat\"\n options={DATE_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredDateFormat\"\n )}\n onChange={option => {\n setFieldValue(\"dateFormat\", option.value);\n }}\n />\n </div>\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n isSubmitting={isUpdatingProfile || isUploading}\n cancelButtonProps={{\n \"data-testid\": \"ntm-profile-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-profile-submit-button\",\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\n\nexport default ChangeProfile;\n","/* eslint-disable @bigbinary/neeto/ensure-zustand-stores-are-type-annotated */\nimport withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useProfileUpdatePaneState;\n","import { is, isNil, trim } from \"ramda\";\n\nexport const sanitizeValue = (value, defaultValue) =>\n isNil(value) || (is(String, value) && trim(value) === \"\")\n ? defaultValue\n : value;\n","import { memo } from \"react\";\n\nimport { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport { _findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Crown } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Avatar, Button, Pane, Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport { useFetchProfile } from \"hooks/profile/useProfileApi\";\n\nimport { MY_PROFILE_PATH } from \"./constants\";\nimport { sanitizeValue } from \"./utils\";\n\nconst Preview = () => {\n const { t } = useTranslation();\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const sanitizedUser = {\n countryName: sanitizeValue(user.countryName, \"-\"),\n dateFormat: sanitizeValue(user.dateFormat, \"\"),\n email: sanitizeValue(user.email, \"-\"),\n firstName: sanitizeValue(user.firstName, \"-\"),\n lastName: sanitizeValue(user.lastName, \"-\"),\n language: sanitizeValue(user.language, \"-\"),\n profileImageUrl: sanitizeValue(user.profileImageUrl, \"\"),\n timeFormat: sanitizeValue(user.timeFormat, \"\"),\n timeZone: sanitizeValue(user.timeZone, \"Etc/UTC\"),\n };\n\n const {\n countryName,\n dateFormat,\n email,\n firstName,\n lastName,\n language,\n profileImageUrl,\n timeFormat,\n timeZone,\n } = sanitizedUser;\n\n const name = `${firstName} ${lastName}`.trim();\n const subscription = sanitizeValue(\n globalProps.user?.subscriptionPlan,\n t(\"neetoTeamMembers.common.free\")\n );\n\n const isHour12 = (timeFormat || TIME_FORMAT_OPTIONS[0].value) === \"12h\";\n\n const time = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: isHour12,\n }).format(new Date());\n\n const timeZoneAbbreviation = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n timeZoneName: \"short\",\n })\n .formatToParts(new Date())\n .find(part => part.type === \"timeZoneName\")?.value;\n\n if (isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Pane.Body className=\"neeto-ui-bg-gray-50 w-full\">\n <div className=\"flex w-full flex-col gap-2\">\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-md p-3\">\n <div className=\"flex items-center gap-3\">\n <Avatar size=\"large\" user={{ name, imageUrl: profileImageUrl }} />\n <div className=\"flex flex-col\">\n <Typography\n data-testid=\"profile-full-name-field\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {name}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-email-field\"\n style=\"body3\"\n >\n {email}\n </Typography>\n <CopyToClipboardButton\n size=\"small\"\n style=\"text\"\n value={email}\n />\n </div>\n </div>\n </div>\n </div>\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-md p-3 divide-y divide-gray-100\">\n <div className=\"flex flex-col gap-1 pb-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.firstName\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-first-name-field\"\n style=\"body2\"\n >\n {firstName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.lastName\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-last-name-field\"\n style=\"body2\"\n >\n {lastName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.country\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-country-field\"\n style=\"body2\"\n >\n {countryName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.language\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-preferred-language-field\"\n style=\"body2\"\n >\n {_findBy({ value: language }, LANGUAGE_OPTIONS)?.label || \"-\"}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.timeZone\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-time-zone-field\"\n style=\"body2\"\n >\n {ianaTimezoneToHumanReadable(timeZone)}\n {timeZoneAbbreviation ? ` (${timeZoneAbbreviation})` : \"\"} {time}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.preferredTimeFormat\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-preferred-time-format-field\"\n style=\"body2\"\n >\n {_findBy({ value: timeFormat }, TIME_FORMAT_OPTIONS)?.label ||\n \"-\"}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.preferredDateFormat\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-preferred-date-format-field\"\n style=\"body2\"\n >\n {_findBy({ value: dateFormat }, DATE_FORMAT_OPTIONS)?.label ||\n \"-\"}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-md p-3\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex flex-col gap-1\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.currentPlan\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-subscription-type\"\n style=\"body2\"\n >\n {t(\"neetoTeamMembers.common.subscriptionType\", {\n subscription,\n })}\n </Typography>\n </div>\n <Button\n className=\"neeto-ui-rounded-full\"\n data-testid=\"profile-upgrade-button\"\n href={MY_PROFILE_PATH}\n icon={Crown}\n iconPosition=\"left\"\n label={t(\"neetoTeamMembers.buttons.upgrade\")}\n size=\"small\"\n style=\"primary\"\n />\n </div>\n </div>\n </div>\n </Pane.Body>\n );\n};\n\nexport default memo(Preview);\n","import { useState } from \"react\";\n\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Dropdown, Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"./ChangeProfile\";\nimport { MY_PROFILE_PATH } from \"./constants\";\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\nimport Preview from \"./Preview\";\nimport \"./styles.scss\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst Profile = () => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useProfileUpdatePaneState();\n const [isEditMode, setIsEditMode] = useState(false);\n\n const onClose = () => {\n setIsOpen(false);\n setIsEditMode(false);\n };\n\n const enableEditMode = () => setIsEditMode(true);\n\n return (\n <div className=\"w-full\">\n <Pane {...{ isOpen, onClose }} className=\"neeto-ui-bg-gray-50 max-w-96\">\n <Pane.Header className=\"neeto-ui-bg-gray-50\">\n <div className=\"flex justify-between\">\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Typography>\n {!isEditMode && (\n <Dropdown buttonStyle=\"text\" icon={MenuHorizontal}>\n <Menu>\n <MenuItem.Button\n data-testid=\"edit-basic-info-menu-button\"\n onClick={enableEditMode}\n >\n {t(\"neetoTeamMembers.buttons.editBasicInfo\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"update-email-menu-button\"\n href={MY_PROFILE_PATH}\n >\n {t(\"neetoTeamMembers.buttons.updateEmail\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"manage-billing-subscriptions-menu-button\"\n href={MY_PROFILE_PATH}\n >\n {t(\n \"neetoTeamMembers.buttons.manageBillingAndSubscriptions\"\n )}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n )}\n </div>\n </Pane.Header>\n {isEditMode ? <ChangeProfile {...{ onClose }} /> : <Preview />}\n </Pane>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["useFetchProfile","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","USER_PROFILE","queryFn","profileApi","fetchUserDetails","staleTime","DEFAULT_STALE_TIME","useUpdateProfileMutation","useMutationWithInvalidation","updateUser","keysToInvalidate","onSuccess","window","location","reload","ChangeProfile","_ref","onClose","_useTranslation","useTranslation","t","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","appName","uploadImage","isUploading","handleUploadImage","image","Promise","resolve","uploadedImageData","_useFetchProfile","_useFetchProfile$data","data","_useFetchProfile$data2","_useFetchProfile$data3","user","isFetchingUserDetails","isFetching","_user$firstName","firstName","_user$lastName","lastName","_user$dateFormat","dateFormat","DATE_FORMAT_OPTIONS","value","_user$timeZone","timeZone","_user$profileImageUrl","profileImageUrl","_user$countryId","countryId","_user$timeFormat","timeFormat","TIME_FORMAT_OPTIONS","_user$isOwner","isOwner","_user$timezoneChangeE","timezoneChangeEnabled","_user$language","language","isTimezoneFieldDisabled","setFieldValueRef","useRef","_useCountries","useCountries","countryDropdownOptions","selectedCountryOption","isFetchingCountriesList","_useCountries$handleC","handleCountryChange","noop","_useUpdateProfileMuta","updateProfile","mutate","isUpdatingProfile","isPending","timezoneRef","useCallback","node","isNotNil","NeetoTimezoneSelector","isTimeFormat24H","className","position","initialValue","onChange","_ref2","main","current","disabled","initialFormValues","avatar","imageUrl","file","handleSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","_yield$handleUploadIm","fileId","filePath","url","updatedCountryId","rest","payload","wrap","_callee$","_context","prev","next","sent","_objectWithoutProperties","_excluded","countryIdentifier","undefined","id","t0","Toastr","error","message","stop","_x","apply","arguments","useEffect","country","findBy","_jsx","children","Spinner","Form","formProps","formikProps","initialValues","validationSchema","PROFILE_VALIDATION_SCHEMA","onSubmit","_ref4","setFieldValue","errors","touched","_jsxs","_Fragment","Pane","Body","ProfileImage","Input","autoFocus","required","label","name","type","placeholder","Select","option","dependentFields","LANGUAGE_OPTIONS","Label","ref","classNames","Typography","lineHeight","style","Footer","ActionBlock","isSubmitting","cancelButtonProps","onClick","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","sanitizeValue","defaultValue","isNil","is","String","trim","Preview","_globalProps$user","_Intl$DateTimeFormat$","_findBy2","_findBy3","_findBy4","sanitizedUser","countryName","email","concat","subscription","globalProps","subscriptionPlan","isHour12","time","Intl","DateTimeFormat","hour","minute","hour12","format","Date","timeZoneAbbreviation","timeZoneName","formatToParts","find","part","Avatar","size","weight","CopyToClipboardButton","_findBy","ianaTimezoneToHumanReadable","Button","href","MY_PROFILE_PATH","icon","Crown","iconPosition","memo","Menu","Dropdown","MenuItem","Profile","_useProfileUpdatePane","_useProfileUpdatePane2","_slicedToArray","_useState","useState","_useState2","isEditMode","setIsEditMode","enableEditMode","Header","buttonStyle","MenuHorizontal","usePaneState"],"mappings":"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"}
1
+ {"version":3,"file":"Profile.js","sources":["../app/javascript/src/components/Profile/ChangeProfile.jsx","../app/javascript/src/components/Profile/hooks/useProfileUpdatePane.js","../app/javascript/src/components/Profile/utils.js","../app/javascript/src/components/Profile/Preview.jsx","../app/javascript/src/components/Profile/index.jsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\n\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport classNames from \"classnames\";\nimport { findBy, noop } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { Label, Pane, Spinner, Toastr, Typography } from \"neetoui\";\nimport { Input, Select, Form, ActionBlock } from \"neetoui/formik\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"hooks/profile/useProfileApi\";\n\nimport { PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\n\nconst ChangeProfile = ({ onClose }) => {\n const { t } = useTranslation();\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = image =>\n new Promise(resolve => {\n uploadImage(image, uploadedImageData => {\n resolve(uploadedImageData);\n });\n });\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const {\n firstName = \"\",\n lastName = \"\",\n dateFormat = DATE_FORMAT_OPTIONS[0].value,\n timeZone = \"\",\n profileImageUrl = \"\",\n countryId = \"\",\n timeFormat = TIME_FORMAT_OPTIONS[0].value,\n isOwner = false,\n timezoneChangeEnabled = true,\n language = \"\",\n } = user;\n\n const isTimezoneFieldDisabled = !isOwner && !timezoneChangeEnabled;\n const setFieldValueRef = useRef(null);\n\n const {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange = noop,\n } = useCountries();\n\n const { mutate: updateProfile, isPending: isUpdatingProfile } =\n useUpdateProfileMutation();\n\n const timezoneRef = useCallback(\n node => {\n if (isNotNil(node)) {\n new NeetoTimezoneSelector(node, {\n isTimeFormat24H: timeFormat === \"24h\",\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: timeZone,\n onChange: ({ main }) => setFieldValueRef.current(\"timeZone\", main),\n disabled: isTimezoneFieldDisabled,\n });\n }\n },\n [timeZone, timeFormat, isTimezoneFieldDisabled]\n );\n\n const initialFormValues = {\n firstName,\n lastName,\n timeZone,\n dateFormat,\n timeFormat,\n language,\n avatar: { imageUrl: profileImageUrl, file: null },\n };\n\n const handleSubmit = async values => {\n try {\n let avatar = {};\n\n if (values.avatar.file === \"_destroy\") {\n avatar = { fileId: \"_destroy\", filePath: \"\", url: \"\" };\n } else if (values.avatar.file) {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n avatar = { fileId, filePath, url };\n }\n\n const { countryId: updatedCountryId, ...rest } = values;\n\n const payload = {\n ...rest,\n avatar,\n countryIdentifier:\n updatedCountryId !== countryId ? updatedCountryId : undefined,\n };\n\n updateProfile({ id: user.id, payload });\n } catch (error) {\n Toastr.error(error.message);\n }\n };\n\n useEffect(() => {\n const country = findBy({ value: countryId }, countryDropdownOptions);\n if (country) {\n handleCountryChange(country);\n }\n }, [countryId, countryDropdownOptions, handleCountryChange]);\n\n if (isUpdatingProfile || isFetchingCountriesList || isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Form\n formProps={{ \"data-testid\": \"ntm-profile-form\" }}\n formikProps={{\n initialValues: initialFormValues,\n validationSchema: PROFILE_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ setFieldValue, errors, touched }) => {\n setFieldValueRef.current = setFieldValue;\n\n return (\n <>\n <Pane.Body className=\"w-full\">\n <div className=\"w-full pb-6\">\n <ProfileImage />\n <div className=\"neeto-ui-border-gray-200 mt-4 w-full space-y-4 border-t pt-4\">\n <Input\n autoFocus\n required\n data-testid=\"profile-first-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.firstName\")}\n name=\"firstName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.firstName\"\n )}\n />\n <Input\n required\n data-testid=\"profile-last-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.lastName\")}\n name=\"lastName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.lastName\"\n )}\n />\n </div>\n <div className=\"neeto-ui-border-gray-200 mt-4 w-full space-y-4 border-t pt-4\">\n <Select\n required\n data-testid=\"ntm-profile-country-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.country\")}\n name=\"countryId\"\n options={countryDropdownOptions}\n value={selectedCountryOption}\n onChange={option => {\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n setFieldValue(\"countryId\", option?.value);\n }}\n />\n <div className=\"space-y-2\">\n <Select\n required\n data-testid=\"ntm-language-select\"\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.language\"\n )}\n onChange={option => {\n setFieldValue(\"language\", option.value);\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <div className=\"space-y-2\">\n <Label required>\n {t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}\n </Label>\n <div\n data-testid=\"ntm-profile-time-zone-select\"\n ref={timezoneRef}\n className={classNames(\"w-full grow\", {\n \"neeto-ui-bg-gray-100 pointer-events-none\":\n isTimezoneFieldDisabled,\n })}\n />\n </div>\n {touched.timeZone && errors.timeZone && (\n <Typography\n className=\"neeto-ui-text-error-800\"\n lineHeight=\"none\"\n style=\"body3\"\n >\n {errors.timeZone}\n </Typography>\n )}\n </div>\n <Select\n required\n data-testid=\"ntm-time-format-select\"\n name=\"timeFormat\"\n options={TIME_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredTimeFormat\"\n )}\n onChange={option => {\n setFieldValue(\"timeFormat\", option.value);\n }}\n />\n <div className=\"space-y-2\">\n <Select\n required\n data-testid=\"ntm-date-format-select\"\n name=\"dateFormat\"\n options={DATE_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredDateFormat\"\n )}\n onChange={option => {\n setFieldValue(\"dateFormat\", option.value);\n }}\n />\n </div>\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n isSubmitting={isUpdatingProfile || isUploading}\n cancelButtonProps={{\n \"data-testid\": \"ntm-profile-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-profile-submit-button\",\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\n\nexport default ChangeProfile;\n","/* eslint-disable @bigbinary/neeto/ensure-zustand-stores-are-type-annotated */\nimport withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useProfileUpdatePaneState;\n","import { is, isNil, trim } from \"ramda\";\n\nexport const sanitizeValue = (value, defaultValue) =>\n isNil(value) || (is(String, value) && trim(value) === \"\")\n ? defaultValue\n : value;\n","import { memo } from \"react\";\n\nimport { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport { _findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Crown } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Avatar, Button, Pane, Spinner, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport { useFetchProfile } from \"hooks/profile/useProfileApi\";\n\nimport { MY_PROFILE_PATH } from \"./constants\";\nimport { sanitizeValue } from \"./utils\";\n\nconst Preview = () => {\n const { t } = useTranslation();\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const sanitizedUser = {\n countryName: sanitizeValue(user.countryName, \"-\"),\n dateFormat: sanitizeValue(user.dateFormat, \"\"),\n email: sanitizeValue(user.email, \"-\"),\n firstName: sanitizeValue(user.firstName, \"-\"),\n lastName: sanitizeValue(user.lastName, \"-\"),\n language: sanitizeValue(user.language, \"-\"),\n profileImageUrl: sanitizeValue(user.profileImageUrl, \"\"),\n timeFormat: sanitizeValue(user.timeFormat, \"\"),\n timeZone: sanitizeValue(user.timeZone, \"Etc/UTC\"),\n };\n\n const {\n countryName,\n dateFormat,\n email,\n firstName,\n lastName,\n language,\n profileImageUrl,\n timeFormat,\n timeZone,\n } = sanitizedUser;\n\n const name = `${firstName} ${lastName}`.trim();\n const subscription = sanitizeValue(\n globalProps.user?.subscriptionPlan,\n t(\"neetoTeamMembers.common.free\")\n );\n\n const isHour12 = (timeFormat || TIME_FORMAT_OPTIONS[0].value) === \"12h\";\n\n const time = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: isHour12,\n }).format(new Date());\n\n const timeZoneAbbreviation = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n timeZoneName: \"short\",\n })\n .formatToParts(new Date())\n .find(part => part.type === \"timeZoneName\")?.value;\n\n if (isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Pane.Body className=\"neeto-ui-bg-gray-50 w-full\">\n <div className=\"flex w-full flex-col gap-2\">\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-md p-3\">\n <div className=\"flex items-center gap-3\">\n <Avatar size=\"large\" user={{ name, imageUrl: profileImageUrl }} />\n <div className=\"flex flex-col\">\n <Typography\n data-testid=\"profile-full-name-field\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {name}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-email-field\"\n style=\"body3\"\n >\n {email}\n </Typography>\n <CopyToClipboardButton\n size=\"small\"\n style=\"text\"\n value={email}\n />\n </div>\n </div>\n </div>\n </div>\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-md p-3 divide-y divide-gray-100\">\n <div className=\"flex flex-col gap-1 pb-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.firstName\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-first-name-field\"\n style=\"body2\"\n >\n {firstName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.lastName\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-last-name-field\"\n style=\"body2\"\n >\n {lastName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.country\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-country-field\"\n style=\"body2\"\n >\n {countryName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.language\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-preferred-language-field\"\n style=\"body2\"\n >\n {_findBy({ value: language }, LANGUAGE_OPTIONS)?.label || \"-\"}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.timeZone\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-time-zone-field\"\n style=\"body2\"\n >\n {ianaTimezoneToHumanReadable(timeZone)}\n {timeZoneAbbreviation ? ` (${timeZoneAbbreviation})` : \"\"} {time}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 py-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.preferredTimeFormat\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-preferred-time-format-field\"\n style=\"body2\"\n >\n {_findBy({ value: timeFormat }, TIME_FORMAT_OPTIONS)?.label ||\n \"-\"}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1 pt-3\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.preferredDateFormat\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-preferred-date-format-field\"\n style=\"body2\"\n >\n {_findBy({ value: dateFormat }, DATE_FORMAT_OPTIONS)?.label ||\n \"-\"}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-md p-3\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex flex-col gap-1\">\n <Typography\n className=\"neeto-ui-text-gray-500\"\n style=\"body3\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.currentPlan\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-black profile-preview-value\"\n data-testid=\"profile-subscription-type\"\n style=\"body2\"\n >\n {t(\"neetoTeamMembers.common.subscriptionType\", {\n subscription,\n })}\n </Typography>\n </div>\n <Button\n className=\"neeto-ui-rounded-full\"\n data-testid=\"profile-upgrade-button\"\n href={MY_PROFILE_PATH}\n icon={Crown}\n iconPosition=\"left\"\n label={t(\"neetoTeamMembers.buttons.upgrade\")}\n size=\"small\"\n style=\"primary\"\n />\n </div>\n </div>\n </div>\n </Pane.Body>\n );\n};\n\nexport default memo(Preview);\n","import { useState } from \"react\";\n\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Dropdown, Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"./ChangeProfile\";\nimport { MY_PROFILE_PATH } from \"./constants\";\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\nimport Preview from \"./Preview\";\nimport \"./styles.scss\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst Profile = () => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useProfileUpdatePaneState();\n const [isEditMode, setIsEditMode] = useState(false);\n\n const onClose = () => {\n setIsOpen(false);\n setIsEditMode(false);\n };\n\n const enableEditMode = () => setIsEditMode(true);\n\n return (\n <div className=\"w-full\">\n <Pane {...{ isOpen, onClose }} className=\"neeto-ui-bg-gray-50 max-w-96\">\n <Pane.Header className=\"neeto-ui-bg-gray-50\">\n <div className=\"flex justify-between\">\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Typography>\n {!isEditMode && (\n <Dropdown buttonStyle=\"text\" icon={MenuHorizontal}>\n <Menu>\n <MenuItem.Button\n data-testid=\"edit-basic-info-menu-button\"\n onClick={enableEditMode}\n >\n {t(\"neetoTeamMembers.buttons.editBasicInfo\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"update-email-menu-button\"\n href={MY_PROFILE_PATH}\n >\n {t(\"neetoTeamMembers.buttons.updateEmail\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"manage-billing-subscriptions-menu-button\"\n href={MY_PROFILE_PATH}\n >\n {t(\n \"neetoTeamMembers.buttons.manageBillingAndSubscriptions\"\n )}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n )}\n </div>\n </Pane.Header>\n {isEditMode ? <ChangeProfile {...{ onClose }} /> : <Preview />}\n </Pane>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["ChangeProfile","_ref","onClose","_useTranslation","useTranslation","t","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","appName","uploadImage","isUploading","handleUploadImage","image","Promise","resolve","uploadedImageData","_useFetchProfile","useFetchProfile","_useFetchProfile$data","data","_useFetchProfile$data2","_useFetchProfile$data3","user","isFetchingUserDetails","isFetching","_user$firstName","firstName","_user$lastName","lastName","_user$dateFormat","dateFormat","DATE_FORMAT_OPTIONS","value","_user$timeZone","timeZone","_user$profileImageUrl","profileImageUrl","_user$countryId","countryId","_user$timeFormat","timeFormat","TIME_FORMAT_OPTIONS","_user$isOwner","isOwner","_user$timezoneChangeE","timezoneChangeEnabled","_user$language","language","isTimezoneFieldDisabled","setFieldValueRef","useRef","_useCountries","useCountries","countryDropdownOptions","selectedCountryOption","isFetchingCountriesList","_useCountries$handleC","handleCountryChange","noop","_useUpdateProfileMuta","useUpdateProfileMutation","updateProfile","mutate","isUpdatingProfile","isPending","timezoneRef","useCallback","node","isNotNil","NeetoTimezoneSelector","isTimeFormat24H","className","position","initialValue","onChange","_ref2","main","current","disabled","initialFormValues","avatar","imageUrl","file","handleSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","_yield$handleUploadIm","fileId","filePath","url","updatedCountryId","rest","payload","wrap","_callee$","_context","prev","next","sent","_objectWithoutProperties","_excluded","_objectSpread","countryIdentifier","undefined","id","t0","Toastr","error","message","stop","_x","apply","arguments","useEffect","country","findBy","_jsx","children","Spinner","Form","formProps","formikProps","initialValues","validationSchema","PROFILE_VALIDATION_SCHEMA","onSubmit","_ref4","setFieldValue","errors","touched","_jsxs","_Fragment","Pane","Body","ProfileImage","Input","autoFocus","required","label","name","type","placeholder","Select","options","option","dependentFields","LANGUAGE_OPTIONS","Label","ref","classNames","Typography","lineHeight","style","Footer","ActionBlock","isSubmitting","cancelButtonProps","onClick","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","sanitizeValue","defaultValue","isNil","is","String","trim","Preview","_globalProps$user","_Intl$DateTimeFormat$","_findBy2","_findBy3","_findBy4","sanitizedUser","countryName","email","concat","subscription","globalProps","subscriptionPlan","isHour12","time","Intl","DateTimeFormat","hour","minute","hour12","format","Date","timeZoneAbbreviation","timeZoneName","formatToParts","find","part","Avatar","size","weight","CopyToClipboardButton","_findBy","ianaTimezoneToHumanReadable","Button","href","MY_PROFILE_PATH","icon","Crown","iconPosition","memo","Menu","Dropdown","MenuItem","Profile","_useProfileUpdatePane","_useProfileUpdatePane2","_slicedToArray","_useState","useState","_useState2","isEditMode","setIsEditMode","enableEditMode","Header","buttonStyle","MenuHorizontal","usePaneState"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAoB;AAAA,EAAA,IAAdC,OAAO,GAAAD,IAAA,CAAPC,OAAO;AAC9B,EAAA,IAAAC,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;EAET,IAAAC,qBAAA,GAAqCC,qBAAqB,CAAC;AACzDC,MAAAA,YAAY,EAAE;AACZC,QAAAA,MAAM,EAAE,MAAM;AACdC,QAAAA,cAAc,EAAE;AAAEC,UAAAA,OAAO,EAAE;AAAY;AACzC;AACF,KAAC,CAAC;IALMC,WAAW,GAAAN,qBAAA,CAAXM,WAAW;IAAEC,WAAW,GAAAP,qBAAA,CAAXO,WAAW;AAOhC,EAAA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,KAAK,EAAA;AAAA,IAAA,OAC7B,IAAIC,OAAO,CAAC,UAAAC,OAAO,EAAI;AACrBL,MAAAA,WAAW,CAACG,KAAK,EAAE,UAAAG,iBAAiB,EAAI;QACtCD,OAAO,CAACC,iBAAiB,CAAC;AAC5B,MAAA,CAAC,CAAC;AACJ,IAAA,CAAC,CAAC;AAAA,EAAA,CAAA;AAEJ,EAAA,IAAAC,gBAAA,GACEC,eAAe,EAAE;IAAAC,qBAAA,GAAAF,gBAAA,CADXG,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,MAAA,GAAkB,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAAhBE,IAAI;AAAJA,IAAAA,IAAI,GAAAD,sBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,sBAAA;IAAqBE,qBAAqB,GAAAP,gBAAA,CAAjCQ,UAAU;AAG5C,EAAA,IAAAC,eAAA,GAWIH,IAAI,CAVNI,SAAS;AAATA,IAAAA,SAAS,GAAAD,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;IAAAE,cAAA,GAUZL,IAAI,CATNM,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAE,gBAAA,GASXP,IAAI,CARNQ,UAAU;IAAVA,UAAU,GAAAD,gBAAA,KAAA,MAAA,GAAGE,mBAAmB,CAAC,CAAC,CAAC,CAACC,KAAK,GAAAH,gBAAA;IAAAI,cAAA,GAQvCX,IAAI,CAPNY,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;IAAAE,qBAAA,GAOXb,IAAI,CANNc,eAAe;AAAfA,IAAAA,eAAe,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAAE,eAAA,GAMlBf,IAAI,CALNgB,SAAS;AAATA,IAAAA,SAAS,GAAAD,eAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,eAAA;IAAAE,gBAAA,GAKZjB,IAAI,CAJNkB,UAAU;IAAVA,UAAU,GAAAD,gBAAA,KAAA,MAAA,GAAGE,mBAAmB,CAAC,CAAC,CAAC,CAACT,KAAK,GAAAO,gBAAA;IAAAG,aAAA,GAIvCpB,IAAI,CAHNqB,OAAO;AAAPA,IAAAA,OAAO,GAAAD,aAAA,KAAA,MAAA,GAAG,KAAK,GAAAA,aAAA;IAAAE,qBAAA,GAGbtB,IAAI,CAFNuB,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,cAAA,GAE1BxB,IAAI,CADNyB,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,cAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,cAAA;AAGf,EAAA,IAAME,uBAAuB,GAAG,CAACL,OAAO,IAAI,CAACE,qBAAqB;AAClE,EAAA,IAAMI,gBAAgB,GAAGC,MAAM,CAAC,IAAI,CAAC;AAErC,EAAA,IAAAC,aAAA,GAKIC,YAAY,EAAE;IAJhBC,sBAAsB,GAAAF,aAAA,CAAtBE,sBAAsB;IACtBC,qBAAqB,GAAAH,aAAA,CAArBG,qBAAqB;IACrBC,uBAAuB,GAAAJ,aAAA,CAAvBI,uBAAuB;IAAAC,qBAAA,GAAAL,aAAA,CACvBM,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAGE,IAAI,GAAAF,qBAAA;AAG5B,EAAA,IAAAG,qBAAA,GACEC,wBAAwB,EAAE;IADZC,aAAa,GAAAF,qBAAA,CAArBG,MAAM;IAA4BC,iBAAiB,GAAAJ,qBAAA,CAA5BK,SAAS;AAGxC,EAAA,IAAMC,WAAW,GAAGC,WAAW,CAC7B,UAAAC,IAAI,EAAI;AACN,IAAA,IAAIC,QAAQ,CAACD,IAAI,CAAC,EAAE;MAClB,IAAIE,qBAAqB,CAACF,IAAI,EAAE;QAC9BG,eAAe,EAAE9B,UAAU,KAAK,KAAK;AACrC+B,QAAAA,SAAS,EAAE,aAAa;AACxBC,QAAAA,QAAQ,EAAE,QAAQ;AAClBC,QAAAA,YAAY,EAAEvC,QAAQ;AACtBwC,QAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAAC,KAAA,EAAA;AAAA,UAAA,IAAKC,IAAI,GAAAD,KAAA,CAAJC,IAAI;AAAA,UAAA,OAAO3B,gBAAgB,CAAC4B,OAAO,CAAC,UAAU,EAAED,IAAI,CAAC;AAAA,QAAA,CAAA;AAClEE,QAAAA,QAAQ,EAAE9B;AACZ,OAAC,CAAC;AACJ,IAAA;EACF,CAAC,EACD,CAACd,QAAQ,EAAEM,UAAU,EAAEQ,uBAAuB,CAChD,CAAC;AAED,EAAA,IAAM+B,iBAAiB,GAAG;AACxBrD,IAAAA,SAAS,EAATA,SAAS;AACTE,IAAAA,QAAQ,EAARA,QAAQ;AACRM,IAAAA,QAAQ,EAARA,QAAQ;AACRJ,IAAAA,UAAU,EAAVA,UAAU;AACVU,IAAAA,UAAU,EAAVA,UAAU;AACVO,IAAAA,QAAQ,EAARA,QAAQ;AACRiC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,QAAQ,EAAE7C,eAAe;AAAE8C,MAAAA,IAAI,EAAE;AAAK;GACjD;AAED,EAAA,IAAMC,YAAY,gBAAA,YAAA;IAAA,IAAAC,KAAA,GAAAC,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,CAAMC,MAAM,EAAA;AAAA,MAAA,IAAAT,MAAA,EAAAU,qBAAA,EAAAC,MAAA,EAAAC,QAAA,EAAAC,GAAA,EAAAC,gBAAA,EAAAC,IAAA,EAAAC,OAAA;AAAA,MAAA,OAAAV,mBAAA,CAAAW,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;YAEzBpB,MAAM,GAAG,EAAE;AAAA,YAAA,IAAA,EAEXS,MAAM,CAACT,MAAM,CAACE,IAAI,KAAK,UAAU,CAAA,EAAA;AAAAiB,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;AACnCrB,YAAAA,MAAM,GAAG;AAAEW,cAAAA,MAAM,EAAE,UAAU;AAAEC,cAAAA,QAAQ,EAAE,EAAE;AAAEC,cAAAA,GAAG,EAAE;aAAI;AAACM,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,CAC9CZ,MAAM,CAACT,MAAM,CAACE,IAAI,EAAA;AAAAiB,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,cAAA;AAAA,YAAA;AAAAF,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,YAAA,OACa1F,iBAAiB,CACvD8E,MAAM,CAACT,MAAM,CAACE,IAChB,CAAC;AAAA,UAAA,KAAA,CAAA;YAAAQ,qBAAA,GAAAS,QAAA,CAAAG,IAAA;YAFOX,MAAM,GAAAD,qBAAA,CAANC,MAAM;YAAEC,QAAQ,GAAAF,qBAAA,CAARE,QAAQ;YAAEC,GAAG,GAAAH,qBAAA,CAAHG,GAAG;AAG7Bb,YAAAA,MAAM,GAAG;AAAEW,cAAAA,MAAM,EAANA,MAAM;AAAEC,cAAAA,QAAQ,EAARA,QAAQ;AAAEC,cAAAA,GAAG,EAAHA;aAAK;AAAC,UAAA,KAAA,EAAA;YAGlBC,gBAAgB,GAAcL,MAAM,CAA/CnD,SAAS,EAAuByD,IAAI,GAAAQ,wBAAA,CAAKd,MAAM,EAAAe,SAAA,CAAA;AAEjDR,YAAAA,OAAO,GAAAS,aAAA,CAAAA,aAAA,KACRV,IAAI,CAAA,EAAA,EAAA,EAAA;AACPf,cAAAA,MAAM,EAANA,MAAM;AACN0B,cAAAA,iBAAiB,EACfZ,gBAAgB,KAAKxD,SAAS,GAAGwD,gBAAgB,GAAGa;AAAS,aAAA,CAAA;AAGjE9C,YAAAA,aAAa,CAAC;cAAE+C,EAAE,EAAEtF,IAAI,CAACsF,EAAE;AAAEZ,cAAAA,OAAO,EAAPA;AAAQ,aAAC,CAAC;AAACG,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;AAAA,YAAA;AAAA,UAAA,KAAA,EAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA;YAAAD,QAAA,CAAAU,EAAA,GAAAV,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;YAExCW,MAAM,CAACC,KAAK,CAACZ,QAAA,CAAAU,EAAA,CAAMG,OAAO,CAAC;AAAC,UAAA,KAAA,EAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAb,QAAA,CAAAc,IAAA,EAAA;AAAA;AAAA,MAAA,CAAA,EAAAzB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA;IAAA,CAE/B,CAAA,CAAA;IAAA,OAAA,SA1BKL,YAAYA,CAAA+B,EAAA,EAAA;AAAA,MAAA,OAAA9B,KAAA,CAAA+B,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EA0BjB;AAEDC,EAAAA,SAAS,CAAC,YAAM;IACd,IAAMC,OAAO,GAAGC,MAAM,CAAC;AAAEvF,MAAAA,KAAK,EAAEM;KAAW,EAAEe,sBAAsB,CAAC;AACpE,IAAA,IAAIiE,OAAO,EAAE;MACX7D,mBAAmB,CAAC6D,OAAO,CAAC;AAC9B,IAAA;EACF,CAAC,EAAE,CAAChF,SAAS,EAAEe,sBAAsB,EAAEI,mBAAmB,CAAC,CAAC;AAE5D,EAAA,IAAIM,iBAAiB,IAAIR,uBAAuB,IAAIhC,qBAAqB,EAAE;AACzE,IAAA,oBACEiG,GAAA,CAAA,KAAA,EAAA;AAAKjD,MAAAA,SAAS,EAAC,gDAAgD;AAAAkD,MAAAA,QAAA,eAC7DD,GAAA,CAACE,OAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;EAEA,oBACEF,GAAA,CAACG,IAAI,EAAA;AACHC,IAAAA,SAAS,EAAE;AAAE,MAAA,aAAa,EAAE;KAAqB;AACjDC,IAAAA,WAAW,EAAE;AACXC,MAAAA,aAAa,EAAE/C,iBAAiB;AAChCgD,MAAAA,gBAAgB,EAAEC,yBAAyB;AAC3CC,MAAAA,QAAQ,EAAE9C;KACV;AAAAsC,IAAAA,QAAA,EAED,SAAAA,QAAAA,CAAAS,KAAA,EAAwC;AAAA,MAAA,IAArCC,aAAa,GAAAD,KAAA,CAAbC,aAAa;QAAEC,MAAM,GAAAF,KAAA,CAANE,MAAM;QAAEC,OAAO,GAAAH,KAAA,CAAPG,OAAO;MAChCpF,gBAAgB,CAAC4B,OAAO,GAAGsD,aAAa;MAExC,oBACEG,IAAA,CAAAC,QAAA,EAAA;AAAAd,QAAAA,QAAA,EAAA,cACED,GAAA,CAACgB,IAAI,CAACC,IAAI,EAAA;AAAClE,UAAAA,SAAS,EAAC,QAAQ;AAAAkD,UAAAA,QAAA,eAC3Ba,IAAA,CAAA,KAAA,EAAA;AAAK/D,YAAAA,SAAS,EAAC,aAAa;AAAAkD,YAAAA,QAAA,gBAC1BD,GAAA,CAACkB,YAAY,EAAA,EAAE,CAAC,eAChBJ,IAAA,CAAA,KAAA,EAAA;AAAK/D,cAAAA,SAAS,EAAC,8DAA8D;cAAAkD,QAAA,EAAA,cAC3ED,GAAA,CAACmB,KAAK,EAAA;gBACJC,SAAS,EAAA,IAAA;gBACTC,QAAQ,EAAA,IAAA;AACR,gBAAA,aAAA,EAAY,+BAA+B;AAC3CC,gBAAAA,KAAK,EAAE5I,CAAC,CAAC,iDAAiD,CAAE;AAC5D6I,gBAAAA,IAAI,EAAC,WAAW;AAChBC,gBAAAA,IAAI,EAAC,MAAM;gBACXC,WAAW,EAAE/I,CAAC,CACZ,uDACF;AAAE,eACH,CAAC,eACFsH,GAAA,CAACmB,KAAK,EAAA;gBACJE,QAAQ,EAAA,IAAA;AACR,gBAAA,aAAA,EAAY,8BAA8B;AAC1CC,gBAAAA,KAAK,EAAE5I,CAAC,CAAC,gDAAgD,CAAE;AAC3D6I,gBAAAA,IAAI,EAAC,UAAU;AACfC,gBAAAA,IAAI,EAAC,MAAM;gBACXC,WAAW,EAAE/I,CAAC,CACZ,sDACF;AAAE,eACH,CAAC;aACC,CAAC,eACNoI,IAAA,CAAA,KAAA,EAAA;AAAK/D,cAAAA,SAAS,EAAC,8DAA8D;cAAAkD,QAAA,EAAA,cAC3ED,GAAA,CAAC0B,MAAM,EAAA;gBACLL,QAAQ,EAAA,IAAA;AACR,gBAAA,aAAA,EAAY,4BAA4B;AACxCC,gBAAAA,KAAK,EAAE5I,CAAC,CAAC,+CAA+C,CAAE;AAC1D6I,gBAAAA,IAAI,EAAC,WAAW;AAChBI,gBAAAA,OAAO,EAAE9F,sBAAuB;AAChCrB,gBAAAA,KAAK,EAAEsB,qBAAsB;AAC7BoB,gBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE0E,MAAM,EAAI;AAClB,kBAAA,IAAMC,eAAe,GAAG5F,mBAAmB,CAAC2F,MAAM,CAAC;kBACnDjB,aAAa,CAAC,YAAY,EAAEkB,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAA,MAAA,GAAA,MAAA,GAAfA,eAAe,CAAEvH,UAAU,CAAC;kBACxDqG,aAAa,CAAC,WAAW,EAAEiB,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAEpH,KAAK,CAAC;AAC3C,gBAAA;eACD,CAAC,eACFwF,GAAA,CAAA,KAAA,EAAA;AAAKjD,gBAAAA,SAAS,EAAC,WAAW;gBAAAkD,QAAA,eACxBD,GAAA,CAAC0B,MAAM,EAAA;kBACLL,QAAQ,EAAA,IAAA;AACR,kBAAA,aAAA,EAAY,qBAAqB;AACjCE,kBAAAA,IAAI,EAAC,UAAU;AACfI,kBAAAA,OAAO,EAAEG,gBAAiB;AAC1BR,kBAAAA,KAAK,EAAE5I,CAAC,CACN,gDACF,CAAE;AACFwE,kBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE0E,MAAM,EAAI;AAClBjB,oBAAAA,aAAa,CAAC,UAAU,EAAEiB,MAAM,CAACpH,KAAK,CAAC;AACzC,kBAAA;iBACD;eACE,CAAC,eACNsG,IAAA,CAAA,KAAA,EAAA;AAAK/D,gBAAAA,SAAS,EAAC,WAAW;AAAAkD,gBAAAA,QAAA,gBACxBa,IAAA,CAAA,KAAA,EAAA;AAAK/D,kBAAAA,SAAS,EAAC,WAAW;kBAAAkD,QAAA,EAAA,cACxBD,GAAA,CAAC+B,KAAK,EAAA;oBAACV,QAAQ,EAAA,IAAA;oBAAApB,QAAA,EACZvH,CAAC,CAAC,gDAAgD;mBAC9C,CAAC,eACRsH,GAAA,CAAA,KAAA,EAAA;AACE,oBAAA,aAAA,EAAY,8BAA8B;AAC1CgC,oBAAAA,GAAG,EAAEvF,WAAY;AACjBM,oBAAAA,SAAS,EAAEkF,UAAU,CAAC,aAAa,EAAE;AACnC,sBAAA,0CAA0C,EACxCzG;qBACH;AAAE,mBACJ,CAAC;AAAA,iBACC,CAAC,EACLqF,OAAO,CAACnG,QAAQ,IAAIkG,MAAM,CAAClG,QAAQ,iBAClCsF,GAAA,CAACkC,UAAU,EAAA;AACTnF,kBAAAA,SAAS,EAAC,yBAAyB;AACnCoF,kBAAAA,UAAU,EAAC,MAAM;AACjBC,kBAAAA,KAAK,EAAC,OAAO;kBAAAnC,QAAA,EAEZW,MAAM,CAAClG;AAAQ,iBACN,CACb;AAAA,eACE,CAAC,eACNsF,GAAA,CAAC0B,MAAM,EAAA;gBACLL,QAAQ,EAAA,IAAA;AACR,gBAAA,aAAA,EAAY,wBAAwB;AACpCE,gBAAAA,IAAI,EAAC,YAAY;AACjBI,gBAAAA,OAAO,EAAE1G,mBAAoB;AAC7BqG,gBAAAA,KAAK,EAAE5I,CAAC,CACN,2DACF,CAAE;AACFwE,gBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE0E,MAAM,EAAI;AAClBjB,kBAAAA,aAAa,CAAC,YAAY,EAAEiB,MAAM,CAACpH,KAAK,CAAC;AAC3C,gBAAA;eACD,CAAC,eACFwF,GAAA,CAAA,KAAA,EAAA;AAAKjD,gBAAAA,SAAS,EAAC,WAAW;gBAAAkD,QAAA,eACxBD,GAAA,CAAC0B,MAAM,EAAA;kBACLL,QAAQ,EAAA,IAAA;AACR,kBAAA,aAAA,EAAY,wBAAwB;AACpCE,kBAAAA,IAAI,EAAC,YAAY;AACjBI,kBAAAA,OAAO,EAAEpH,mBAAoB;AAC7B+G,kBAAAA,KAAK,EAAE5I,CAAC,CACN,2DACF,CAAE;AACFwE,kBAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAE0E,MAAM,EAAI;AAClBjB,oBAAAA,aAAa,CAAC,YAAY,EAAEiB,MAAM,CAACpH,KAAK,CAAC;AAC3C,kBAAA;iBACD;AAAC,eACC,CAAC;AAAA,aACH,CAAC;WACH;AAAC,SACG,CAAC,eACZwF,GAAA,CAACgB,IAAI,CAACqB,MAAM,EAAA;UAAApC,QAAA,eACVD,GAAA,CAACsC,WAAW,EAAA;YACVC,YAAY,EAAEhG,iBAAiB,IAAIrD,WAAY;AAC/CsJ,YAAAA,iBAAiB,EAAE;AACjB,cAAA,aAAa,EAAE,2BAA2B;AAC1CC,cAAAA,OAAO,EAAElK;aACT;AACFmK,YAAAA,iBAAiB,EAAE;AACjB,cAAA,aAAa,EAAE;AACjB;WACD;AAAC,SACS,CAAC;AAAA,OACd,CAAC;AAEP,IAAA;AAAC,GACG,CAAC;AAEX,CAAC;;ACnRD;AAKA,IAAMC,qBAAqB,GAAGC,MAAM,CAClCC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,MAAM,EAAE,KAAK;AAEbC,IAAAA,SAAS,EAAE,SAAXA,SAASA,CAAEC,GAAG,EAAI;AAChB,MAAA,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC7BH,GAAG,CAAC,UAAAI,KAAK,EAAA;UAAA,OAAK;AAAEH,YAAAA,MAAM,EAAEE,GAAG,CAACC,KAAK,CAACH,MAAM;WAAG;AAAA,QAAA,CAAC,CAAC;AAC/C,MAAA,CAAC,MAAM;AACLD,QAAAA,GAAG,CAAC;AAAEC,UAAAA,MAAM,EAAEE;AAAI,SAAC,CAAC;AACtB,MAAA;AACF,IAAA;GACD;AAAA,CAAC,CACJ,CAAC;AAED,IAAME,yBAAyB,GAAG,SAA5BA,yBAAyBA,GAAA;EAAA,OAC7BR,qBAAqB,CACnB,UAAArK,IAAA,EAAA;AAAA,IAAA,IAAGyK,MAAM,GAAAzK,IAAA,CAANyK,MAAM;MAAEC,SAAS,GAAA1K,IAAA,CAAT0K,SAAS;AAAA,IAAA,OAAO,CAACD,MAAM,EAAEC,SAAS,CAAC;AAAA,EAAA,CAAA,EAC9CI,OACF,CAAC;AAAA,CAAA;;ACrBI,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAI7I,KAAK,EAAE8I,YAAY,EAAA;EAAA,OAC/CC,KAAK,CAAC/I,KAAK,CAAC,IAAKgJ,EAAE,CAACC,MAAM,EAAEjJ,KAAK,CAAC,IAAIkJ,IAAI,CAAClJ,KAAK,CAAC,KAAK,EAAG,GACrD8I,YAAY,GACZ9I,KAAK;AAAA,CAAA;;ACYX,IAAMmJ,SAAO,GAAG,SAAVA,OAAOA,GAAS;EAAA,IAAAC,iBAAA,EAAAC,qBAAA,EAAAC,QAAA,EAAAC,QAAA,EAAAC,QAAA;AACpB,EAAA,IAAAxL,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAAc,gBAAA,GACEC,eAAe,EAAE;IAAAC,qBAAA,GAAAF,gBAAA,CADXG,IAAI;AAAAC,IAAAA,sBAAA,GAAAF,qBAAA,KAAA,MAAA,GAAkB,EAAE,GAAAA,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA,CAAhBE,IAAI;AAAJA,IAAAA,IAAI,GAAAD,sBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,sBAAA;IAAqBE,qBAAqB,GAAAP,gBAAA,CAAjCQ,UAAU;AAG5C,EAAA,IAAMiK,aAAa,GAAG;IACpBC,WAAW,EAAEb,aAAa,CAACvJ,IAAI,CAACoK,WAAW,EAAE,GAAG,CAAC;IACjD5J,UAAU,EAAE+I,aAAa,CAACvJ,IAAI,CAACQ,UAAU,EAAE,EAAE,CAAC;IAC9C6J,KAAK,EAAEd,aAAa,CAACvJ,IAAI,CAACqK,KAAK,EAAE,GAAG,CAAC;IACrCjK,SAAS,EAAEmJ,aAAa,CAACvJ,IAAI,CAACI,SAAS,EAAE,GAAG,CAAC;IAC7CE,QAAQ,EAAEiJ,aAAa,CAACvJ,IAAI,CAACM,QAAQ,EAAE,GAAG,CAAC;IAC3CmB,QAAQ,EAAE8H,aAAa,CAACvJ,IAAI,CAACyB,QAAQ,EAAE,GAAG,CAAC;IAC3CX,eAAe,EAAEyI,aAAa,CAACvJ,IAAI,CAACc,eAAe,EAAE,EAAE,CAAC;IACxDI,UAAU,EAAEqI,aAAa,CAACvJ,IAAI,CAACkB,UAAU,EAAE,EAAE,CAAC;AAC9CN,IAAAA,QAAQ,EAAE2I,aAAa,CAACvJ,IAAI,CAACY,QAAQ,EAAE,SAAS;GACjD;AAED,EAAA,IACEwJ,WAAW,GASTD,aAAa,CATfC,WAAW;IACX5J,UAAU,GAQR2J,aAAa,CARf3J,UAAU;IACV6J,KAAK,GAOHF,aAAa,CAPfE,KAAK;IACLjK,SAAS,GAMP+J,aAAa,CANf/J,SAAS;IACTE,QAAQ,GAKN6J,aAAa,CALf7J,QAAQ;IACRmB,QAAQ,GAIN0I,aAAa,CAJf1I,QAAQ;IACRX,eAAe,GAGbqJ,aAAa,CAHfrJ,eAAe;IACfI,UAAU,GAERiJ,aAAa,CAFfjJ,UAAU;IACVN,QAAQ,GACNuJ,aAAa,CADfvJ,QAAQ;AAGV,EAAA,IAAM6G,IAAI,GAAG,EAAA,CAAA6C,MAAA,CAAGlK,SAAS,EAAA,GAAA,CAAA,CAAAkK,MAAA,CAAIhK,QAAQ,CAAA,CAAGsJ,IAAI,EAAE;EAC9C,IAAMW,YAAY,GAAGhB,aAAa,CAAA,CAAAO,iBAAA,GAChCU,WAAW,CAACxK,IAAI,MAAA,IAAA,IAAA8J,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAhBA,iBAAA,CAAkBW,gBAAgB,EAClC7L,CAAC,CAAC,8BAA8B,CAClC,CAAC;AAED,EAAA,IAAM8L,QAAQ,GAAG,CAACxJ,UAAU,IAAIC,mBAAmB,CAAC,CAAC,CAAC,CAACT,KAAK,MAAM,KAAK;EAEvE,IAAMiK,IAAI,GAAG,IAAIC,IAAI,CAACC,cAAc,CAAC,OAAO,EAAE;AAC5CjK,IAAAA,QAAQ,EAARA,QAAQ;AACRkK,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,MAAM,EAAE,SAAS;AACjBC,IAAAA,MAAM,EAAEN;GACT,CAAC,CAACO,MAAM,CAAC,IAAIC,IAAI,EAAE,CAAC;EAErB,IAAMC,oBAAoB,GAAA,CAAApB,qBAAA,GAAG,IAAIa,IAAI,CAACC,cAAc,CAAC,OAAO,EAAE;AAC5DjK,IAAAA,QAAQ,EAARA,QAAQ;AACRwK,IAAAA,YAAY,EAAE;AAChB,GAAC,CAAC,CACCC,aAAa,CAAC,IAAIH,IAAI,EAAE,CAAC,CACzBI,IAAI,CAAC,UAAAC,IAAI,EAAA;AAAA,IAAA,OAAIA,IAAI,CAAC7D,IAAI,KAAK,cAAc;AAAA,EAAA,CAAA,CAAC,MAAA,IAAA,IAAAqC,qBAAA,KAAA,MAAA,GAAA,MAAA,GALhBA,qBAAA,CAKkBrJ,KAAK;AAEpD,EAAA,IAAIT,qBAAqB,EAAE;AACzB,IAAA,oBACEiG,GAAA,CAAA,KAAA,EAAA;AAAKjD,MAAAA,SAAS,EAAC,gDAAgD;AAAAkD,MAAAA,QAAA,eAC7DD,GAAA,CAACE,OAAO,EAAA,EAAE;AAAC,KACR,CAAC;AAEV,EAAA;AAEA,EAAA,oBACEF,GAAA,CAACgB,IAAI,CAACC,IAAI,EAAA;AAAClE,IAAAA,SAAS,EAAC,4BAA4B;AAAAkD,IAAAA,QAAA,eAC/Ca,IAAA,CAAA,KAAA,EAAA;AAAK/D,MAAAA,SAAS,EAAC,4BAA4B;AAAAkD,MAAAA,QAAA,gBACzCD,GAAA,CAAA,KAAA,EAAA;AAAKjD,QAAAA,SAAS,EAAC,2CAA2C;AAAAkD,QAAAA,QAAA,eACxDa,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,yBAAyB;UAAAkD,QAAA,EAAA,cACtCD,GAAA,CAACsF,MAAM,EAAA;AAACC,YAAAA,IAAI,EAAC,OAAO;AAACzL,YAAAA,IAAI,EAAE;AAAEyH,cAAAA,IAAI,EAAJA,IAAI;AAAE9D,cAAAA,QAAQ,EAAE7C;AAAgB;WAAI,CAAC,eAClEkG,IAAA,CAAA,KAAA,EAAA;AAAK/D,YAAAA,SAAS,EAAC,eAAe;YAAAkD,QAAA,EAAA,cAC5BD,GAAA,CAACkC,UAAU,EAAA;AACT,cAAA,aAAA,EAAY,yBAAyB;AACrCE,cAAAA,KAAK,EAAC,IAAI;AACVoD,cAAAA,MAAM,EAAC,UAAU;AAAAvF,cAAAA,QAAA,EAEhBsB;aACS,CAAC,eACbT,IAAA,CAAA,KAAA,EAAA;AAAK/D,cAAAA,SAAS,EAAC,yBAAyB;cAAAkD,QAAA,EAAA,cACtCD,GAAA,CAACkC,UAAU,EAAA;AACTnF,gBAAAA,SAAS,EAAC,wBAAwB;AAClC,gBAAA,aAAA,EAAY,qBAAqB;AACjCqF,gBAAAA,KAAK,EAAC,OAAO;AAAAnC,gBAAAA,QAAA,EAEZkE;AAAK,eACI,CAAC,eACbnE,GAAA,CAACyF,qBAAqB,EAAA;AACpBF,gBAAAA,IAAI,EAAC,OAAO;AACZnD,gBAAAA,KAAK,EAAC,MAAM;AACZ5H,gBAAAA,KAAK,EAAE2J;AAAM,eACd,CAAC;AAAA,aACC,CAAC;AAAA,WACH,CAAC;SACH;OACF,CAAC,eACNrD,IAAA,CAAA,KAAA,EAAA;AAAK/D,QAAAA,SAAS,EAAC,oEAAoE;AAAAkD,QAAAA,QAAA,gBACjFa,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,0BAA0B;UAAAkD,QAAA,EAAA,cACvCD,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,wBAAwB;AAClCqF,YAAAA,KAAK,EAAC,OAAO;AACboD,YAAAA,MAAM,EAAC,QAAQ;YAAAvF,QAAA,EAEdvH,CAAC,CAAC,mCAAmC;AAAC,WAC7B,CAAC,eACbsH,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,2CAA2C;AACrD,YAAA,aAAA,EAAY,0BAA0B;AACtCqF,YAAAA,KAAK,EAAC,OAAO;AAAAnC,YAAAA,QAAA,EAEZ/F;AAAS,WACA,CAAC;SACV,CAAC,eACN4G,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,0BAA0B;UAAAkD,QAAA,EAAA,cACvCD,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,wBAAwB;AAClCqF,YAAAA,KAAK,EAAC,OAAO;AACboD,YAAAA,MAAM,EAAC,QAAQ;YAAAvF,QAAA,EAEdvH,CAAC,CAAC,kCAAkC;AAAC,WAC5B,CAAC,eACbsH,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,2CAA2C;AACrD,YAAA,aAAA,EAAY,yBAAyB;AACrCqF,YAAAA,KAAK,EAAC,OAAO;AAAAnC,YAAAA,QAAA,EAEZ7F;AAAQ,WACC,CAAC;SACV,CAAC,eACN0G,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,0BAA0B;UAAAkD,QAAA,EAAA,cACvCD,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,wBAAwB;AAClCqF,YAAAA,KAAK,EAAC,OAAO;AACboD,YAAAA,MAAM,EAAC,QAAQ;YAAAvF,QAAA,EAEdvH,CAAC,CAAC,iCAAiC;AAAC,WAC3B,CAAC,eACbsH,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,2CAA2C;AACrD,YAAA,aAAA,EAAY,uBAAuB;AACnCqF,YAAAA,KAAK,EAAC,OAAO;AAAAnC,YAAAA,QAAA,EAEZiE;AAAW,WACF,CAAC;SACV,CAAC,eACNpD,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,0BAA0B;UAAAkD,QAAA,EAAA,cACvCD,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,wBAAwB;AAClCqF,YAAAA,KAAK,EAAC,OAAO;AACboD,YAAAA,MAAM,EAAC,QAAQ;YAAAvF,QAAA,EAEdvH,CAAC,CAAC,kCAAkC;AAAC,WAC5B,CAAC,eACbsH,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,2CAA2C;AACrD,YAAA,aAAA,EAAY,kCAAkC;AAC9CqF,YAAAA,KAAK,EAAC,OAAO;AAAAnC,YAAAA,QAAA,EAEZ,CAAA,CAAA6D,QAAA,GAAA4B,OAAO,CAAC;AAAElL,cAAAA,KAAK,EAAEe;aAAU,EAAEuG,gBAAgB,CAAC,MAAA,IAAA,IAAAgC,QAAA,KAAA,MAAA,GAAA,MAAA,GAA9CA,QAAA,CAAgDxC,KAAK,KAAI;AAAG,WACnD,CAAC;SACV,CAAC,eACNR,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,0BAA0B;UAAAkD,QAAA,EAAA,cACvCD,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,wBAAwB;AAClCqF,YAAAA,KAAK,EAAC,OAAO;AACboD,YAAAA,MAAM,EAAC,QAAQ;YAAAvF,QAAA,EAEdvH,CAAC,CAAC,kCAAkC;AAAC,WAC5B,CAAC,eACboI,IAAA,CAACoB,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,2CAA2C;AACrD,YAAA,aAAA,EAAY,yBAAyB;AACrCqF,YAAAA,KAAK,EAAC,OAAO;AAAAnC,YAAAA,QAAA,GAEZ0F,2BAA2B,CAACjL,QAAQ,CAAC,EACrCuK,oBAAoB,GAAA,IAAA,CAAAb,MAAA,CAAQa,oBAAoB,EAAA,GAAA,CAAA,GAAM,EAAE,EAAC,GAAC,EAACR,IAAI;AAAA,WACtD,CAAC;SACV,CAAC,eACN3D,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,0BAA0B;UAAAkD,QAAA,EAAA,cACvCD,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,wBAAwB;AAClCqF,YAAAA,KAAK,EAAC,OAAO;AACboD,YAAAA,MAAM,EAAC,QAAQ;YAAAvF,QAAA,EAEdvH,CAAC,CAAC,6CAA6C;AAAC,WACvC,CAAC,eACbsH,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,2CAA2C;AACrD,YAAA,aAAA,EAAY,qCAAqC;AACjDqF,YAAAA,KAAK,EAAC,OAAO;AAAAnC,YAAAA,QAAA,EAEZ,CAAA,CAAA8D,QAAA,GAAA2B,OAAO,CAAC;AAAElL,cAAAA,KAAK,EAAEQ;aAAY,EAAEC,mBAAmB,CAAC,MAAA,IAAA,IAAA8I,QAAA,KAAA,MAAA,GAAA,MAAA,GAAnDA,QAAA,CAAqDzC,KAAK,KACzD;AAAG,WACK,CAAC;SACV,CAAC,eACNR,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,0BAA0B;UAAAkD,QAAA,EAAA,cACvCD,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,wBAAwB;AAClCqF,YAAAA,KAAK,EAAC,OAAO;AACboD,YAAAA,MAAM,EAAC,QAAQ;YAAAvF,QAAA,EAEdvH,CAAC,CAAC,6CAA6C;AAAC,WACvC,CAAC,eACbsH,GAAA,CAACkC,UAAU,EAAA;AACTnF,YAAAA,SAAS,EAAC,2CAA2C;AACrD,YAAA,aAAA,EAAY,qCAAqC;AACjDqF,YAAAA,KAAK,EAAC,OAAO;AAAAnC,YAAAA,QAAA,EAEZ,CAAA,CAAA+D,QAAA,GAAA0B,OAAO,CAAC;AAAElL,cAAAA,KAAK,EAAEF;aAAY,EAAEC,mBAAmB,CAAC,MAAA,IAAA,IAAAyJ,QAAA,KAAA,MAAA,GAAA,MAAA,GAAnDA,QAAA,CAAqD1C,KAAK,KACzD;AAAG,WACK,CAAC;AAAA,SACV,CAAC;OACH,CAAC,eACNtB,GAAA,CAAA,KAAA,EAAA;AAAKjD,QAAAA,SAAS,EAAC,2CAA2C;AAAAkD,QAAAA,QAAA,eACxDa,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,mCAAmC;AAAAkD,UAAAA,QAAA,gBAChDa,IAAA,CAAA,KAAA,EAAA;AAAK/D,YAAAA,SAAS,EAAC,qBAAqB;YAAAkD,QAAA,EAAA,cAClCD,GAAA,CAACkC,UAAU,EAAA;AACTnF,cAAAA,SAAS,EAAC,wBAAwB;AAClCqF,cAAAA,KAAK,EAAC,OAAO;AACboD,cAAAA,MAAM,EAAC,QAAQ;cAAAvF,QAAA,EAEdvH,CAAC,CAAC,qCAAqC;AAAC,aAC/B,CAAC,eACbsH,GAAA,CAACkC,UAAU,EAAA;AACTnF,cAAAA,SAAS,EAAC,2CAA2C;AACrD,cAAA,aAAA,EAAY,2BAA2B;AACvCqF,cAAAA,KAAK,EAAC,OAAO;AAAAnC,cAAAA,QAAA,EAEZvH,CAAC,CAAC,0CAA0C,EAAE;AAC7C2L,gBAAAA,YAAY,EAAZA;eACD;AAAC,aACQ,CAAC;AAAA,WACV,CAAC,eACNrE,GAAA,CAAC4F,MAAM,EAAA;AACL7I,YAAAA,SAAS,EAAC,uBAAuB;AACjC,YAAA,aAAA,EAAY,wBAAwB;AACpC8I,YAAAA,IAAI,EAAEC,eAAgB;AACtBC,YAAAA,IAAI,EAAEC,KAAM;AACZC,YAAAA,YAAY,EAAC,MAAM;AACnB3E,YAAAA,KAAK,EAAE5I,CAAC,CAAC,kCAAkC,CAAE;AAC7C6M,YAAAA,IAAI,EAAC,OAAO;AACZnD,YAAAA,KAAK,EAAC;AAAS,WAChB,CAAC;SACC;AAAC,OACH,CAAC;KACH;AAAC,GACG,CAAC;AAEhB,CAAC;AAED,cAAA,aAAe8D,IAAI,CAACvC,SAAO,CAAC;;;;;AC1P5B,IAAQwC,IAAI,GAAeC,QAAQ,CAA3BD,IAAI;EAAEE,QAAQ,GAAKD,QAAQ,CAArBC,QAAQ;AAEtB,IAAMC,OAAO,GAAG,SAAVA,OAAOA,GAAS;AACpB,EAAA,IAAA9N,eAAA,GAAcC,cAAc,EAAE;IAAtBC,CAAC,GAAAF,eAAA,CAADE,CAAC;AAET,EAAA,IAAA6N,qBAAA,GAA4BpD,yBAAyB,EAAE;IAAAqD,sBAAA,GAAAC,cAAA,CAAAF,qBAAA,EAAA,CAAA,CAAA;AAAhDxD,IAAAA,MAAM,GAAAyD,sBAAA,CAAA,CAAA,CAAA;AAAExD,IAAAA,SAAS,GAAAwD,sBAAA,CAAA,CAAA,CAAA;AACxB,EAAA,IAAAE,SAAA,GAAoCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAH,cAAA,CAAAC,SAAA,EAAA,CAAA,CAAA;AAA5CG,IAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMrO,OAAO,GAAG,SAAVA,OAAOA,GAAS;IACpByK,SAAS,CAAC,KAAK,CAAC;IAChB8D,aAAa,CAAC,KAAK,CAAC;EACtB,CAAC;AAED,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,GAAA;IAAA,OAASD,aAAa,CAAC,IAAI,CAAC;AAAA,EAAA,CAAA;AAEhD,EAAA,oBACE9G,GAAA,CAAA,KAAA,EAAA;AAAKjD,IAAAA,SAAS,EAAC,QAAQ;IAAAkD,QAAA,eACrBa,IAAA,CAACE,IAAI,EAAA;AAAO+B,MAAAA,MAAM,EAANA,MAAM;AAAExK,MAAAA,OAAO,EAAPA,OAAO;AAAIwE,MAAAA,SAAS,EAAC,8BAA8B;AAAAkD,MAAAA,QAAA,EAAA,cACrED,GAAA,CAACgB,IAAI,CAACgG,MAAM,EAAA;AAACjK,QAAAA,SAAS,EAAC,qBAAqB;AAAAkD,QAAAA,QAAA,eAC1Ca,IAAA,CAAA,KAAA,EAAA;AAAK/D,UAAAA,SAAS,EAAC,sBAAsB;UAAAkD,QAAA,EAAA,cACnCD,GAAA,CAACkC,UAAU,EAAA;AAACE,YAAAA,KAAK,EAAC,IAAI;AAACoD,YAAAA,MAAM,EAAC,UAAU;YAAAvF,QAAA,EACrCvH,CAAC,CAAC,2CAA2C;AAAC,WACrC,CAAC,EACZ,CAACmO,UAAU,iBACV7G,GAAA,CAACoG,QAAQ,EAAA;AAACa,YAAAA,WAAW,EAAC,MAAM;AAAClB,YAAAA,IAAI,EAAEmB,cAAe;YAAAjH,QAAA,eAChDa,IAAA,CAACqF,IAAI,EAAA;AAAAlG,cAAAA,QAAA,EAAA,cACHD,GAAA,CAACqG,QAAQ,CAACT,MAAM,EAAA;AACd,gBAAA,aAAA,EAAY,6BAA6B;AACzCnD,gBAAAA,OAAO,EAAEsE,cAAe;gBAAA9G,QAAA,EAEvBvH,CAAC,CAAC,wCAAwC;AAAC,eAC7B,CAAC,eAClBsH,GAAA,CAACqG,QAAQ,CAACT,MAAM,EAAA;AACd,gBAAA,aAAA,EAAY,0BAA0B;AACtCC,gBAAAA,IAAI,EAAEC,eAAgB;gBAAA7F,QAAA,EAErBvH,CAAC,CAAC,sCAAsC;AAAC,eAC3B,CAAC,eAClBsH,GAAA,CAACqG,QAAQ,CAACT,MAAM,EAAA;AACd,gBAAA,aAAA,EAAY,0CAA0C;AACtDC,gBAAAA,IAAI,EAAEC,eAAgB;gBAAA7F,QAAA,EAErBvH,CAAC,CACA,wDACF;AAAC,eACc,CAAC;aACd;AAAC,WACC,CACX;SACE;AAAC,OACK,CAAC,EACbmO,UAAU,gBAAG7G,GAAA,CAAC3H,aAAa,EAAA;AAAOE,QAAAA,OAAO,EAAPA;AAAO,OAAK,CAAC,gBAAGyH,GAAA,CAAC2D,OAAO,IAAE,CAAC;KAC1D;AAAC,GACJ,CAAC;AAEV,CAAC;AAED,YAAe;AACb3C,EAAAA,IAAI,EAAEsF,OAAO;AACba,EAAAA,YAAY,EAAEhE;AAChB,CAAC;;;;"}