@erpsquad/common 1.8.70 → 1.8.71

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 (60) hide show
  1. package/dist/_virtual/index/index.esm.js +4 -2
  2. package/dist/_virtual/index/index.esm.js.map +1 -1
  3. package/dist/_virtual/index/index.esm10.js +3 -3
  4. package/dist/_virtual/index/index.esm2.js +1 -1
  5. package/dist/_virtual/index/index.esm3.js +3 -3
  6. package/dist/_virtual/index/index.esm4.js +3 -3
  7. package/dist/_virtual/index/index.esm5.js +3 -3
  8. package/dist/_virtual/index/index.esm6.js +3 -3
  9. package/dist/_virtual/index/index.esm7.js +3 -3
  10. package/dist/_virtual/index/index.esm8.js +2 -4
  11. package/dist/_virtual/index/index.esm8.js.map +1 -1
  12. package/dist/_virtual/index/index.esm9.js +3 -3
  13. package/dist/_virtual/index/index.js +1 -1
  14. package/dist/_virtual/index/index10.js +1 -1
  15. package/dist/_virtual/index/index2.js +1 -1
  16. package/dist/_virtual/index/index3.js +1 -1
  17. package/dist/_virtual/index/index4.js +1 -1
  18. package/dist/_virtual/index/index5.js +1 -1
  19. package/dist/_virtual/index/index6.js +1 -1
  20. package/dist/_virtual/index/index7.js +1 -1
  21. package/dist/_virtual/index/index8.js +1 -1
  22. package/dist/_virtual/index/index9.js +1 -1
  23. package/dist/api-client/api.hrms/api/index.esm.js +44 -0
  24. package/dist/api-client/api.hrms/api/index.esm.js.map +1 -0
  25. package/dist/api-client/api.hrms/api/index.js +2 -0
  26. package/dist/api-client/api.hrms/api/index.js.map +1 -0
  27. package/dist/api-client/api.hrms/api.d.ts +128 -0
  28. package/dist/api-client/api.rbac/api/index.esm2.js +44 -0
  29. package/dist/api-client/api.rbac/api/index.esm2.js.map +1 -0
  30. package/dist/api-client/api.rbac/api/index2.js +2 -0
  31. package/dist/api-client/api.rbac/api/index2.js.map +1 -0
  32. package/dist/api-client/api.rbac/api.d.ts +12 -5
  33. package/dist/components/searchable-select/index.esm.js +1 -1
  34. package/dist/components/searchable-select/index.esm.js.map +1 -1
  35. package/dist/components/searchable-select/index.js +8 -8
  36. package/dist/components/searchable-select/index.js.map +1 -1
  37. package/dist/hooks/useApi/index.esm.js +5 -14
  38. package/dist/hooks/useApi/index.esm.js.map +1 -1
  39. package/dist/hooks/useApi/index.js +1 -1
  40. package/dist/hooks/useApi/index.js.map +1 -1
  41. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
  42. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
  43. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js.map +1 -1
  44. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
  45. package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
  46. package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
  47. package/dist/node_modules/@mui/system/createStyled/index.esm.js +6 -6
  48. package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
  49. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
  50. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
  51. package/dist/node_modules/prop-types/index/index.esm.js +1 -1
  52. package/dist/node_modules/prop-types/index/index.js +1 -1
  53. package/dist/node_modules/prop-types/index/index.js.map +1 -1
  54. package/dist/src/utils/api.d.ts +14 -0
  55. package/dist/style.css +2 -2
  56. package/dist/utils/api/index.esm.js +16 -7
  57. package/dist/utils/api/index.esm.js.map +1 -1
  58. package/dist/utils/api/index.js +1 -1
  59. package/dist/utils/api/index.js.map +1 -1
  60. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index2.js","sources":["../../../../api-client/api.rbac/api.ts"],"sourcesContent":["// This client was generated by Platformatic from an OpenAPI specification.\n\nimport type { Api } from './api-types'\nimport type * as Types from './api-types'\n\n// The base URL for the API. This can be overridden by calling `setBaseUrl`.\nlet baseUrl = ''\n// The default headers to send within each request. This can be overridden by calling `setDefaultHeaders`.\nlet defaultHeaders = {}\n\nfunction sanitizeUrl(url: string) : string {\n if (url.endsWith('/')) { return url.slice(0, -1) } else { return url }\n}\nexport const setBaseUrl = (newUrl: string) : void => { baseUrl = sanitizeUrl(newUrl) }\n\nexport const setDefaultHeaders = (headers: Object): void => { defaultHeaders = headers }\n\ntype JSON = Record<string, unknown>\n/* @ts-ignore */\nfunction headersToJSON(headers: Headers): JSON {\n const output: JSON = {}\n headers.forEach((value, key) => {\n output[key] = value\n })\n return output\n}\n\nconst _postV1Permission = async (url: string, request: Types.PostV1PermissionRequest): Promise<Types.PostV1PermissionResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/permission/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Permission: Api['postV1Permission'] = async (request: Types.PostV1PermissionRequest): Promise<Types.PostV1PermissionResponses> => {\n return await _postV1Permission(baseUrl, request)\n}\nconst _getV1Permission = async (url: string, request: Types.GetV1PermissionRequest): Promise<Types.GetV1PermissionResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/permission/`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Permission: Api['getV1Permission'] = async (request: Types.GetV1PermissionRequest): Promise<Types.GetV1PermissionResponses> => {\n return await _getV1Permission(baseUrl, request)\n}\nconst _getV1PermissionId = async (url: string, request: Types.GetV1PermissionIdRequest): Promise<Types.GetV1PermissionIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/permission/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1PermissionId: Api['getV1PermissionId'] = async (request: Types.GetV1PermissionIdRequest): Promise<Types.GetV1PermissionIdResponses> => {\n return await _getV1PermissionId(baseUrl, request)\n}\nconst _putV1PermissionId = async (url: string, request: Types.PutV1PermissionIdRequest): Promise<Types.PutV1PermissionIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/permission/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1PermissionId: Api['putV1PermissionId'] = async (request: Types.PutV1PermissionIdRequest): Promise<Types.PutV1PermissionIdResponses> => {\n return await _putV1PermissionId(baseUrl, request)\n}\nconst _deleteV1PermissionId = async (url: string, request: Types.DeleteV1PermissionIdRequest): Promise<Types.DeleteV1PermissionIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/permission/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1PermissionId: Api['deleteV1PermissionId'] = async (request: Types.DeleteV1PermissionIdRequest): Promise<Types.DeleteV1PermissionIdResponses> => {\n return await _deleteV1PermissionId(baseUrl, request)\n}\nconst _getV1PermissionRoleId = async (url: string, request: Types.GetV1PermissionRoleIdRequest): Promise<Types.GetV1PermissionRoleIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/permission/role/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1PermissionRoleId: Api['getV1PermissionRoleId'] = async (request: Types.GetV1PermissionRoleIdRequest): Promise<Types.GetV1PermissionRoleIdResponses> => {\n return await _getV1PermissionRoleId(baseUrl, request)\n}\nconst _postV1Resource = async (url: string, request: Types.PostV1ResourceRequest): Promise<Types.PostV1ResourceResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Resource: Api['postV1Resource'] = async (request: Types.PostV1ResourceRequest): Promise<Types.PostV1ResourceResponses> => {\n return await _postV1Resource(baseUrl, request)\n}\nconst _getV1Resource = async (url: string, request: Types.GetV1ResourceRequest): Promise<Types.GetV1ResourceResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource/`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Resource: Api['getV1Resource'] = async (request: Types.GetV1ResourceRequest): Promise<Types.GetV1ResourceResponses> => {\n return await _getV1Resource(baseUrl, request)\n}\nconst _getV1ResourceId = async (url: string, request: Types.GetV1ResourceIdRequest): Promise<Types.GetV1ResourceIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceId: Api['getV1ResourceId'] = async (request: Types.GetV1ResourceIdRequest): Promise<Types.GetV1ResourceIdResponses> => {\n return await _getV1ResourceId(baseUrl, request)\n}\nconst _putV1ResourceId = async (url: string, request: Types.PutV1ResourceIdRequest): Promise<Types.PutV1ResourceIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1ResourceId: Api['putV1ResourceId'] = async (request: Types.PutV1ResourceIdRequest): Promise<Types.PutV1ResourceIdResponses> => {\n return await _putV1ResourceId(baseUrl, request)\n}\nconst _deleteV1ResourceId = async (url: string, request: Types.DeleteV1ResourceIdRequest): Promise<Types.DeleteV1ResourceIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1ResourceId: Api['deleteV1ResourceId'] = async (request: Types.DeleteV1ResourceIdRequest): Promise<Types.DeleteV1ResourceIdResponses> => {\n return await _deleteV1ResourceId(baseUrl, request)\n}\nconst _getV1ResourceModules = async (url: string, request: Types.GetV1ResourceModulesRequest): Promise<Types.GetV1ResourceModulesResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource/modules`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ResourceModules: Api['getV1ResourceModules'] = async (request: Types.GetV1ResourceModulesRequest): Promise<Types.GetV1ResourceModulesResponses> => {\n return await _getV1ResourceModules(baseUrl, request)\n}\nconst _postV1ResourceSubModules = async (url: string, request: Types.PostV1ResourceSubModulesRequest): Promise<Types.PostV1ResourceSubModulesResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/resource/sub-modules`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1ResourceSubModules: Api['postV1ResourceSubModules'] = async (request: Types.PostV1ResourceSubModulesRequest): Promise<Types.PostV1ResourceSubModulesResponses> => {\n return await _postV1ResourceSubModules(baseUrl, request)\n}\nconst _postV1Role = async (url: string, request: Types.PostV1RoleRequest): Promise<Types.PostV1RoleResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/role/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Role: Api['postV1Role'] = async (request: Types.PostV1RoleRequest): Promise<Types.PostV1RoleResponses> => {\n return await _postV1Role(baseUrl, request)\n}\nconst _getV1Role = async (url: string, request: Types.GetV1RoleRequest): Promise<Types.GetV1RoleResponses> => {\n const queryParameters: (keyof Types.GetV1RoleRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/role/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Role: Api['getV1Role'] = async (request: Types.GetV1RoleRequest): Promise<Types.GetV1RoleResponses> => {\n return await _getV1Role(baseUrl, request)\n}\nconst _getV1RoleId = async (url: string, request: Types.GetV1RoleIdRequest): Promise<Types.GetV1RoleIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/role/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1RoleId: Api['getV1RoleId'] = async (request: Types.GetV1RoleIdRequest): Promise<Types.GetV1RoleIdResponses> => {\n return await _getV1RoleId(baseUrl, request)\n}\nconst _putV1RoleId = async (url: string, request: Types.PutV1RoleIdRequest): Promise<Types.PutV1RoleIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/role/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1RoleId: Api['putV1RoleId'] = async (request: Types.PutV1RoleIdRequest): Promise<Types.PutV1RoleIdResponses> => {\n return await _putV1RoleId(baseUrl, request)\n}\nconst _deleteV1RoleId = async (url: string, request: Types.DeleteV1RoleIdRequest): Promise<Types.DeleteV1RoleIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/role/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1RoleId: Api['deleteV1RoleId'] = async (request: Types.DeleteV1RoleIdRequest): Promise<Types.DeleteV1RoleIdResponses> => {\n return await _deleteV1RoleId(baseUrl, request)\n}\nconst _getV1RoleUserId = async (url: string, request: Types.GetV1RoleUserIdRequest): Promise<Types.GetV1RoleUserIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/role/user/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1RoleUserId: Api['getV1RoleUserId'] = async (request: Types.GetV1RoleUserIdRequest): Promise<Types.GetV1RoleUserIdResponses> => {\n return await _getV1RoleUserId(baseUrl, request)\n}\nconst _postV1RoleUserId = async (url: string, request: Types.PostV1RoleUserIdRequest): Promise<Types.PostV1RoleUserIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/role/user/${request['id']}`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1RoleUserId: Api['postV1RoleUserId'] = async (request: Types.PostV1RoleUserIdRequest): Promise<Types.PostV1RoleUserIdResponses> => {\n return await _postV1RoleUserId(baseUrl, request)\n}\nconst _postV1User = async (url: string, request: Types.PostV1UserRequest): Promise<Types.PostV1UserResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1User: Api['postV1User'] = async (request: Types.PostV1UserRequest): Promise<Types.PostV1UserResponses> => {\n return await _postV1User(baseUrl, request)\n}\nconst _getV1User = async (url: string, request: Types.GetV1UserRequest): Promise<Types.GetV1UserResponses> => {\n const queryParameters: (keyof Types.GetV1UserRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1User: Api['getV1User'] = async (request: Types.GetV1UserRequest): Promise<Types.GetV1UserResponses> => {\n return await _getV1User(baseUrl, request)\n}\nconst _getV1UserBranch = async (url: string, request: Types.GetV1UserBranchRequest): Promise<Types.GetV1UserBranchResponses> => {\n const queryParameters: (keyof Types.GetV1UserBranchRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/branch?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1UserBranch: Api['getV1UserBranch'] = async (request: Types.GetV1UserBranchRequest): Promise<Types.GetV1UserBranchResponses> => {\n return await _getV1UserBranch(baseUrl, request)\n}\nconst _getV1UserLocation = async (url: string, request: Types.GetV1UserLocationRequest): Promise<Types.GetV1UserLocationResponses> => {\n const queryParameters: (keyof Types.GetV1UserLocationRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/location?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1UserLocation: Api['getV1UserLocation'] = async (request: Types.GetV1UserLocationRequest): Promise<Types.GetV1UserLocationResponses> => {\n return await _getV1UserLocation(baseUrl, request)\n}\nconst _getV1UserDepartment = async (url: string, request: Types.GetV1UserDepartmentRequest): Promise<Types.GetV1UserDepartmentResponses> => {\n const queryParameters: (keyof Types.GetV1UserDepartmentRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/department?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1UserDepartment: Api['getV1UserDepartment'] = async (request: Types.GetV1UserDepartmentRequest): Promise<Types.GetV1UserDepartmentResponses> => {\n return await _getV1UserDepartment(baseUrl, request)\n}\nconst _getV1UserId = async (url: string, request: Types.GetV1UserIdRequest): Promise<Types.GetV1UserIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1UserId: Api['getV1UserId'] = async (request: Types.GetV1UserIdRequest): Promise<Types.GetV1UserIdResponses> => {\n return await _getV1UserId(baseUrl, request)\n}\nconst _putV1UserId = async (url: string, request: Types.PutV1UserIdRequest): Promise<Types.PutV1UserIdResponses> => {\n const queryParameters: (keyof Types.PutV1UserIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/${request['id']}?${searchParams.toString()}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1UserId: Api['putV1UserId'] = async (request: Types.PutV1UserIdRequest): Promise<Types.PutV1UserIdResponses> => {\n return await _putV1UserId(baseUrl, request)\n}\nconst _deleteV1UserId = async (url: string, request: Types.DeleteV1UserIdRequest): Promise<Types.DeleteV1UserIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1UserId: Api['deleteV1UserId'] = async (request: Types.DeleteV1UserIdRequest): Promise<Types.DeleteV1UserIdResponses> => {\n return await _deleteV1UserId(baseUrl, request)\n}\nconst _patchV1UserUpdateStatusId = async (url: string, request: Types.PatchV1UserUpdateStatusIdRequest): Promise<Types.PatchV1UserUpdateStatusIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/update-status/${request['id']}`, {\n method: 'PATCH',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const patchV1UserUpdateStatusId: Api['patchV1UserUpdateStatusId'] = async (request: Types.PatchV1UserUpdateStatusIdRequest): Promise<Types.PatchV1UserUpdateStatusIdResponses> => {\n return await _patchV1UserUpdateStatusId(baseUrl, request)\n}\nconst _getV1UserModules = async (url: string, request: Types.GetV1UserModulesRequest): Promise<Types.GetV1UserModulesResponses> => {\n const queryParameters: (keyof Types.GetV1UserModulesRequest)[] = ['module']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/user/modules?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1UserModules: Api['getV1UserModules'] = async (request: Types.GetV1UserModulesRequest): Promise<Types.GetV1UserModulesResponses> => {\n return await _getV1UserModules(baseUrl, request)\n}\nconst _postV1AuthLogin = async (url: string, request: Types.PostV1AuthLoginRequest): Promise<Types.PostV1AuthLoginResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/auth/login`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AuthLogin: Api['postV1AuthLogin'] = async (request: Types.PostV1AuthLoginRequest): Promise<Types.PostV1AuthLoginResponses> => {\n return await _postV1AuthLogin(baseUrl, request)\n}\nconst _postV1AuthForgotPassword = async (url: string, request: Types.PostV1AuthForgotPasswordRequest): Promise<Types.PostV1AuthForgotPasswordResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/auth/forgot-password`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AuthForgotPassword: Api['postV1AuthForgotPassword'] = async (request: Types.PostV1AuthForgotPasswordRequest): Promise<Types.PostV1AuthForgotPasswordResponses> => {\n return await _postV1AuthForgotPassword(baseUrl, request)\n}\nconst _getV1AuthResetPassword = async (url: string, request: Types.GetV1AuthResetPasswordRequest): Promise<Types.GetV1AuthResetPasswordResponses> => {\n const headers = {\n ...defaultHeaders\n }\n\n const response = await fetch(`${url}/v1/auth/reset-password`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1AuthResetPassword: Api['getV1AuthResetPassword'] = async (request: Types.GetV1AuthResetPasswordRequest): Promise<Types.GetV1AuthResetPasswordResponses> => {\n return await _getV1AuthResetPassword(baseUrl, request)\n}\nconst _postV1AuthChangePassword = async (url: string, request: Types.PostV1AuthChangePasswordRequest): Promise<Types.PostV1AuthChangePasswordResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/auth/change-password`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AuthChangePassword: Api['postV1AuthChangePassword'] = async (request: Types.PostV1AuthChangePasswordRequest): Promise<Types.PostV1AuthChangePasswordResponses> => {\n return await _postV1AuthChangePassword(baseUrl, request)\n}\nconst _postV1AuthChangeUserPassword = async (url: string, request: Types.PostV1AuthChangeUserPasswordRequest): Promise<Types.PostV1AuthChangeUserPasswordResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/auth/change-user-password`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AuthChangeUserPassword: Api['postV1AuthChangeUserPassword'] = async (request: Types.PostV1AuthChangeUserPasswordRequest): Promise<Types.PostV1AuthChangeUserPasswordResponses> => {\n return await _postV1AuthChangeUserPassword(baseUrl, request)\n}\nconst _postV1AuthChangeUserPasswordByAdmin = async (url: string, request: Types.PostV1AuthChangeUserPasswordByAdminRequest): Promise<Types.PostV1AuthChangeUserPasswordByAdminResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n\n const response = await fetch(`${url}/v1/auth/change-user-password-by-admin`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1AuthChangeUserPasswordByAdmin: Api['postV1AuthChangeUserPasswordByAdmin'] = async (request: Types.PostV1AuthChangeUserPasswordByAdminRequest): Promise<Types.PostV1AuthChangeUserPasswordByAdminResponses> => {\n return await _postV1AuthChangeUserPasswordByAdmin(baseUrl, request)\n}\nconst _postV1Company = async (url: string, request: Types.PostV1CompanyRequest): Promise<Types.PostV1CompanyResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Company: Api['postV1Company'] = async (request: Types.PostV1CompanyRequest): Promise<Types.PostV1CompanyResponses> => {\n return await _postV1Company(baseUrl, request)\n}\nconst _getV1Company = async (url: string, request: Types.GetV1CompanyRequest): Promise<Types.GetV1CompanyResponses> => {\n const queryParameters: (keyof Types.GetV1CompanyRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Company: Api['getV1Company'] = async (request: Types.GetV1CompanyRequest): Promise<Types.GetV1CompanyResponses> => {\n return await _getV1Company(baseUrl, request)\n}\nconst _getV1CompanyId = async (url: string, request: Types.GetV1CompanyIdRequest): Promise<Types.GetV1CompanyIdResponses> => {\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company/${request['id']}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1CompanyId: Api['getV1CompanyId'] = async (request: Types.GetV1CompanyIdRequest): Promise<Types.GetV1CompanyIdResponses> => {\n return await _getV1CompanyId(baseUrl, request)\n}\nconst _putV1CompanyId = async (url: string, request: Types.PutV1CompanyIdRequest): Promise<Types.PutV1CompanyIdResponses> => {\n const queryParameters: (keyof Types.PutV1CompanyIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company/${request['id']}?${searchParams.toString()}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1CompanyId: Api['putV1CompanyId'] = async (request: Types.PutV1CompanyIdRequest): Promise<Types.PutV1CompanyIdResponses> => {\n return await _putV1CompanyId(baseUrl, request)\n}\nconst _deleteV1CompanyId = async (url: string, request: Types.DeleteV1CompanyIdRequest): Promise<Types.DeleteV1CompanyIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/company/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1CompanyId: Api['deleteV1CompanyId'] = async (request: Types.DeleteV1CompanyIdRequest): Promise<Types.DeleteV1CompanyIdResponses> => {\n return await _deleteV1CompanyId(baseUrl, request)\n}\nconst _postV1Config = async (url: string, request: Types.PostV1ConfigRequest): Promise<Types.PostV1ConfigResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/config/`, {\n method: 'POST',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const postV1Config: Api['postV1Config'] = async (request: Types.PostV1ConfigRequest): Promise<Types.PostV1ConfigResponses> => {\n return await _postV1Config(baseUrl, request)\n}\nconst _getV1Config = async (url: string, request: Types.GetV1ConfigRequest): Promise<Types.GetV1ConfigResponses> => {\n const queryParameters: (keyof Types.GetV1ConfigRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/config/?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1Config: Api['getV1Config'] = async (request: Types.GetV1ConfigRequest): Promise<Types.GetV1ConfigResponses> => {\n return await _getV1Config(baseUrl, request)\n}\nconst _getV1ConfigId = async (url: string, request: Types.GetV1ConfigIdRequest): Promise<Types.GetV1ConfigIdResponses> => {\n const queryParameters: (keyof Types.GetV1ConfigIdRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/config/${request['id']}?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1ConfigId: Api['getV1ConfigId'] = async (request: Types.GetV1ConfigIdRequest): Promise<Types.GetV1ConfigIdResponses> => {\n return await _getV1ConfigId(baseUrl, request)\n}\nconst _putV1ConfigId = async (url: string, request: Types.PutV1ConfigIdRequest): Promise<Types.PutV1ConfigIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/config/${request['id']}`, {\n method: 'PUT',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const putV1ConfigId: Api['putV1ConfigId'] = async (request: Types.PutV1ConfigIdRequest): Promise<Types.PutV1ConfigIdResponses> => {\n return await _putV1ConfigId(baseUrl, request)\n}\nconst _deleteV1ConfigId = async (url: string, request: Types.DeleteV1ConfigIdRequest): Promise<Types.DeleteV1ConfigIdResponses> => {\n const headers = {\n ...defaultHeaders,\n 'Content-type': 'application/json; charset=utf-8'\n }\n if (request['x-token'] !== undefined) {\n headers['x-token'] = request['x-token']\n delete request['x-token']\n }\n if (request['x-timezone'] !== undefined) {\n headers['x-timezone'] = request['x-timezone']\n delete request['x-timezone']\n }\n\n const response = await fetch(`${url}/v1/config/${request['id']}`, {\n method: 'DELETE',\n body: JSON.stringify(request),\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const deleteV1ConfigId: Api['deleteV1ConfigId'] = async (request: Types.DeleteV1ConfigIdRequest): Promise<Types.DeleteV1ConfigIdResponses> => {\n return await _deleteV1ConfigId(baseUrl, request)\n}\nconst _getV1LocationsCountries = async (url: string, request: Types.GetV1LocationsCountriesRequest): Promise<Types.GetV1LocationsCountriesResponses> => {\n const queryParameters: (keyof Types.GetV1LocationsCountriesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n\n const response = await fetch(`${url}/v1/locations/countries?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LocationsCountries: Api['getV1LocationsCountries'] = async (request: Types.GetV1LocationsCountriesRequest): Promise<Types.GetV1LocationsCountriesResponses> => {\n return await _getV1LocationsCountries(baseUrl, request)\n}\nconst _getV1LocationsStates = async (url: string, request: Types.GetV1LocationsStatesRequest): Promise<Types.GetV1LocationsStatesResponses> => {\n const queryParameters: (keyof Types.GetV1LocationsStatesRequest)[] = ['skip', 'limit', 'order', 'filters', 'search', 'select']\n const searchParams = new URLSearchParams()\n queryParameters.forEach((qp) => {\n if (request[qp]) {\n if (Array.isArray(request[qp])) {\n (request[qp] as string[]).forEach((p) => {\n searchParams.append(qp, p)\n })\n } else {\n searchParams.append(qp, request[qp]?.toString() || '')\n }\n }\n delete request[qp]\n })\n\n const headers = {\n ...defaultHeaders\n }\n\n const response = await fetch(`${url}/v1/locations/states?${searchParams.toString()}`, {\n headers\n })\n\n if (!response.ok) {\n throw new Error(await response.text())\n }\n\n return await response.json()\n}\n\nexport const getV1LocationsStates: Api['getV1LocationsStates'] = async (request: Types.GetV1LocationsStatesRequest): Promise<Types.GetV1LocationsStatesResponses> => {\n return await _getV1LocationsStates(baseUrl, request)\n}\ntype BuildOptions = {\n headers?: Object\n}\nexport default function build (url: string, options?: BuildOptions) {\n url = sanitizeUrl(url)\n if (options?.headers) {\n defaultHeaders = options.headers\n }\n return {\n postV1Permission: _postV1Permission.bind(url, ...arguments),\n getV1Permission: _getV1Permission.bind(url, ...arguments),\n getV1PermissionId: _getV1PermissionId.bind(url, ...arguments),\n putV1PermissionId: _putV1PermissionId.bind(url, ...arguments),\n deleteV1PermissionId: _deleteV1PermissionId.bind(url, ...arguments),\n getV1PermissionRoleId: _getV1PermissionRoleId.bind(url, ...arguments),\n postV1Resource: _postV1Resource.bind(url, ...arguments),\n getV1Resource: _getV1Resource.bind(url, ...arguments),\n getV1ResourceId: _getV1ResourceId.bind(url, ...arguments),\n putV1ResourceId: _putV1ResourceId.bind(url, ...arguments),\n deleteV1ResourceId: _deleteV1ResourceId.bind(url, ...arguments),\n getV1ResourceModules: _getV1ResourceModules.bind(url, ...arguments),\n postV1ResourceSubModules: _postV1ResourceSubModules.bind(url, ...arguments),\n postV1Role: _postV1Role.bind(url, ...arguments),\n getV1Role: _getV1Role.bind(url, ...arguments),\n getV1RoleId: _getV1RoleId.bind(url, ...arguments),\n putV1RoleId: _putV1RoleId.bind(url, ...arguments),\n deleteV1RoleId: _deleteV1RoleId.bind(url, ...arguments),\n getV1RoleUserId: _getV1RoleUserId.bind(url, ...arguments),\n postV1RoleUserId: _postV1RoleUserId.bind(url, ...arguments),\n postV1User: _postV1User.bind(url, ...arguments),\n getV1User: _getV1User.bind(url, ...arguments),\n getV1UserBranch: _getV1UserBranch.bind(url, ...arguments),\n getV1UserLocation: _getV1UserLocation.bind(url, ...arguments),\n getV1UserDepartment: _getV1UserDepartment.bind(url, ...arguments),\n getV1UserId: _getV1UserId.bind(url, ...arguments),\n putV1UserId: _putV1UserId.bind(url, ...arguments),\n deleteV1UserId: _deleteV1UserId.bind(url, ...arguments),\n patchV1UserUpdateStatusId: _patchV1UserUpdateStatusId.bind(url, ...arguments),\n getV1UserModules: _getV1UserModules.bind(url, ...arguments),\n postV1AuthLogin: _postV1AuthLogin.bind(url, ...arguments),\n postV1AuthForgotPassword: _postV1AuthForgotPassword.bind(url, ...arguments),\n getV1AuthResetPassword: _getV1AuthResetPassword.bind(url, ...arguments),\n postV1AuthChangePassword: _postV1AuthChangePassword.bind(url, ...arguments),\n postV1AuthChangeUserPassword: _postV1AuthChangeUserPassword.bind(url, ...arguments),\n postV1AuthChangeUserPasswordByAdmin: _postV1AuthChangeUserPasswordByAdmin.bind(url, ...arguments),\n postV1Company: _postV1Company.bind(url, ...arguments),\n getV1Company: _getV1Company.bind(url, ...arguments),\n getV1CompanyId: _getV1CompanyId.bind(url, ...arguments),\n putV1CompanyId: _putV1CompanyId.bind(url, ...arguments),\n deleteV1CompanyId: _deleteV1CompanyId.bind(url, ...arguments),\n postV1Config: _postV1Config.bind(url, ...arguments),\n getV1Config: _getV1Config.bind(url, ...arguments),\n getV1ConfigId: _getV1ConfigId.bind(url, ...arguments),\n putV1ConfigId: _putV1ConfigId.bind(url, ...arguments),\n deleteV1ConfigId: _deleteV1ConfigId.bind(url, ...arguments),\n getV1LocationsCountries: _getV1LocationsCountries.bind(url, ...arguments),\n getV1LocationsStates: _getV1LocationsStates.bind(url, ...arguments)\n }\n}"],"names":["defaultHeaders","async","request","url","searchParams","URLSearchParams","forEach","qp","Array","isArray","p","append","_a","toString","headers","response","fetch","ok","Error","text","json","_getV1UserModules"],"mappings":"oEAMA,IAEIA,EAAiB,CAAA,2BAg9BoCC,MAAOC,QAvCtCD,OAAOE,EAAaD,KAC5C,MACME,EAAe,IAAIC,gBADyC,CAAC,UAEnDC,QAASC,UACnBL,EAAQK,KACNC,MAAMC,QAAQP,EAAQK,IACvBL,EAAQK,GAAiBD,QAASI,IACjCN,EAAaO,OAAOJ,EAAIG,KAG1BN,EAAaO,OAAOJ,GAAI,OAAAK,EAAAV,EAAQK,SAAR,EAAAK,EAAaC,aAAc,YAGhDX,EAAQK,KAGjB,MAAMO,EAAU,IACXd,QAEsB,IAAvBE,EAAQ,aACVY,EAAQ,WAAaZ,EAAQ,kBACtBA,EAAQ,iBAEa,IAA1BA,EAAQ,gBACVY,EAAQ,cAAgBZ,EAAQ,qBACzBA,EAAQ,eAGjB,MAAMa,QAAiBC,MAAM,oBAA0BZ,EAAaS,aAAc,CAChFC,YAGF,IAAKC,EAASE,GACZ,MAAM,IAAIC,YAAYH,EAASI,QAGjC,aAAaJ,EAASK,QAITC,CAn9BD,EAm9B4BnB"}
@@ -31,7 +31,13 @@ export declare const getV1UserId: Api['getV1UserId'];
31
31
  export declare const putV1UserId: Api['putV1UserId'];
32
32
  export declare const deleteV1UserId: Api['deleteV1UserId'];
33
33
  export declare const patchV1UserUpdateStatusId: Api['patchV1UserUpdateStatusId'];
34
+ export declare const getV1UserModules: Api['getV1UserModules'];
34
35
  export declare const postV1AuthLogin: Api['postV1AuthLogin'];
36
+ export declare const postV1AuthForgotPassword: Api['postV1AuthForgotPassword'];
37
+ export declare const getV1AuthResetPassword: Api['getV1AuthResetPassword'];
38
+ export declare const postV1AuthChangePassword: Api['postV1AuthChangePassword'];
39
+ export declare const postV1AuthChangeUserPassword: Api['postV1AuthChangeUserPassword'];
40
+ export declare const postV1AuthChangeUserPasswordByAdmin: Api['postV1AuthChangeUserPasswordByAdmin'];
35
41
  export declare const postV1Company: Api['postV1Company'];
36
42
  export declare const getV1Company: Api['getV1Company'];
37
43
  export declare const getV1CompanyId: Api['getV1CompanyId'];
@@ -44,11 +50,6 @@ export declare const putV1ConfigId: Api['putV1ConfigId'];
44
50
  export declare const deleteV1ConfigId: Api['deleteV1ConfigId'];
45
51
  export declare const getV1LocationsCountries: Api['getV1LocationsCountries'];
46
52
  export declare const getV1LocationsStates: Api['getV1LocationsStates'];
47
- export declare const postV1AuthForgotPassword: Api['postV1AuthLogin'];
48
- export declare const postV1AuthResetPassword: Api['postV1AuthLogin'];
49
- export declare const postV1AuthChangePassword: Api['postV1AuthLogin'];
50
- export declare const postV1AuthChangeUserPassword: Api['postV1AuthLogin'];
51
- export declare const postV1AuthChangeUserPasswordByAdmin: Api['postV1AuthLogin'];
52
53
  type BuildOptions = {
53
54
  headers?: Object;
54
55
  };
@@ -82,7 +83,13 @@ export default function build(url: string, options?: BuildOptions): {
82
83
  putV1UserId: any;
83
84
  deleteV1UserId: any;
84
85
  patchV1UserUpdateStatusId: any;
86
+ getV1UserModules: any;
85
87
  postV1AuthLogin: any;
88
+ postV1AuthForgotPassword: any;
89
+ getV1AuthResetPassword: any;
90
+ postV1AuthChangePassword: any;
91
+ postV1AuthChangeUserPassword: any;
92
+ postV1AuthChangeUserPasswordByAdmin: any;
86
93
  postV1Company: any;
87
94
  getV1Company: any;
88
95
  getV1CompanyId: any;
@@ -382,7 +382,7 @@ const SearchableSelect = (props) => {
382
382
  const fetchIdOptions = useCallback(async () => {
383
383
  if (open) return;
384
384
  if (await setSelectedData()) return;
385
- const fValue = multiple ? value && (value == null ? void 0 : value.filter((v) => Boolean(Number(v)))) : Number(value) ? value : null;
385
+ const fValue = multiple ? value && (value == null ? void 0 : value.filter((v) => Boolean(Number(v)))) : value ? value : null;
386
386
  const condition = (multiple ? (fValue == null ? void 0 : fValue.length) > 0 : fValue) && !isInternalOptions;
387
387
  if (condition) {
388
388
  setInitialLoading(true);
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/components/searchable-select.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Box,\n CircularProgress,\n Divider,\n IconButton,\n InputAdornment,\n MenuItem,\n OutlinedInput,\n} from \"@mui/material\";\nimport Select from \"./select/select\";\nimport Checkbox from \"./checkbox/checkbox\";\nimport Typography from \"./typography/typography\";\nimport { Close } from \"./icons\";\nimport { debounce, sortBy } from \"lodash\";\nimport { fetchApi } from \"../utils/api\";\nimport ChipOrPlaceholder from \"./form-control/form-builder/form-builder-element/chip-or-placeholder\";\nimport { Add } from \"@mui/icons-material\";\nimport { useLanguage } from \"../hooks/useLangauge\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface IOption {\n id: string | number;\n value: string | number;\n label: string | React.ReactNode;\n disabled?: boolean;\n isGroup?: boolean;\n options?: IOption[];\n searchLabel?: string;\n}\n\ninterface IPaginationState {\n page: number;\n hasMore: boolean;\n isLoadingMore: boolean;\n total: number;\n}\n\ninterface IMenuItems {\n options: IOption[];\n multiple: boolean;\n placeholder: string;\n with_checkboxes: boolean;\n values: string | string[];\n field: any;\n disabledIds: any[];\n handleClear: () => void;\n handleChange?: (value: string | string[]) => void;\n hasParent?: boolean;\n}\n\n// Custom API fetch function type for parent components\ninterface CustomFetchApiParams {\n search?: string;\n filters?: any;\n limit: number;\n skip: number;\n select?: string;\n order?: string;\n}\n\ninterface CustomFetchApiResponse {\n data: IOption[];\n pagination?: {\n totalCount: number;\n };\n}\n\ninterface SearchableSelectProps {\n labelId: string;\n label: string;\n value: any;\n onChange?: (event: any, selectedData?: any) => void;\n options: IOption[];\n multiple?: boolean;\n placeholder?: string;\n size?: \"small\" | \"medium\";\n searchPlaceholder?: string;\n CustomDropDownIcon: React.ReactNode;\n customStyle: any;\n name?: string;\n defaultValue?: any;\n apiType?: string;\n isInternal?: boolean;\n autoFocus?: any;\n error?: any;\n disabled: any;\n customeFilter?: string;\n attributes?: string;\n getSelectedData?: (row: any) => void;\n disabledIds: any[];\n labelKey?: string;\n valueKey?: string;\n inputStyle?: any;\n onChipRemove?: (value: string) => void;\n selectedLabel?: string;\n is_loading?: boolean;\n hasParent?: boolean;\n sortOrder?: string;\n handleChange?: (value: string | string[]) => void;\n enable_footer?: boolean;\n onFooterClick?: () => void;\n showCancelButton?: boolean;\n /** Custom API function to fetch options from parent component */\n customFetchApi?: (params: CustomFetchApiParams) => Promise<CustomFetchApiResponse>;\n}\n\nconst generateMenuItems = ({\n options,\n multiple,\n placeholder,\n with_checkboxes,\n values,\n field,\n disabledIds,\n handleClear,\n handleChange,\n hasParent = false,\n}: IMenuItems) => {\n const itemDisabled = (ls: any) => disabledIds?.includes(ls);\n const items: React.ReactElement[] = [];\n\n if (!multiple) {\n items.push(\n <MenuItem disabled value='' key=\"placeholder\" sx={{ opacity: `0 !important`, height: `0 !important`, p: `0 !important`, m: `0 !important` }}>\n <Typography type='s3' color='theme.secondary.1000'>\n <em>{placeholder}</em>\n </Typography>\n </MenuItem>\n );\n }\n\n const selectedValues = Array.isArray(values) ? values?.filter((value) => value) : [];\n\n // Parent selection handlers\n const handleParentChange = (parentValue: string, childOptions: IOption[]) => {\n const childValues = childOptions.map((child) => child.value);\n const valueArray = Array.isArray(selectedValues) ? selectedValues : [selectedValues];\n\n const isParentSelected = valueArray.includes(parentValue);\n const updatedValues = isParentSelected\n ? valueArray.filter((value) => value !== parentValue && !childValues.includes(value))\n : [...new Set([...valueArray, parentValue, ...childValues])];\n\n handleChange?.(updatedValues);\n };\n\n const isAllOptionsSelected = (parentValue: string, childOptions: IOption[]) => {\n const childValues = childOptions.map((child) => child.value);\n const valueArray = Array.isArray(selectedValues) ? selectedValues : [selectedValues];\n return childValues.every((childValue) => valueArray.includes(childValue));\n };\n\n const isSomeOptionsSelected = (childOptions: IOption[]) => {\n const childValues = childOptions.map((child) => child.value);\n const valueArray = Array.isArray(selectedValues) ? selectedValues : [selectedValues];\n return childValues.some((childValue) => valueArray.includes(childValue));\n };\n\n Array.isArray(options) && options?.length > 0 && options?.forEach((option) => {\n items.push(\n <MenuItem\n value={option?.value}\n key={option?.value}\n disabled={Boolean(option?.disabled) || itemDisabled(option?.value)}\n className={option?.isGroup ? 'select--MenuItemHeader' : ''}\n onClick={() => {\n if (values?.length == 1) {\n handleClear();\n }\n }}\n >\n <Box sx={{ display: 'flex', gap: 1 }}>\n {multiple && with_checkboxes && (\n <Checkbox\n checked={\n hasParent\n ? isAllOptionsSelected(option.value, option.options || [])\n : Boolean(Array.isArray(values) && values?.indexOf(option?.value) > -1)\n }\n indeterminate={\n hasParent && isSomeOptionsSelected(option.options || [])\n }\n onChange={() =>\n hasParent\n ? handleParentChange(option.value, option.options || [])\n : handleChange?.(option.value)\n }\n />\n )}\n <Typography\n type='s3'\n color='theme.secondary.1000'\n onClick={() => handleChange?.(option.value)}\n >\n {option?.label}\n </Typography>\n </Box>\n </MenuItem>\n );\n\n // Handle child options for grouped items\n if (option?.isGroup && Array.isArray(option?.options)) {\n option.options.forEach((opt) => {\n items.push(\n <MenuItem\n value={opt.value}\n disabled={Boolean(opt.disabled) || itemDisabled(opt.value)}\n sx={{ pl: 5 }}\n onClick={() => {\n if (values?.length == 1) {\n handleClear();\n }\n }}\n key={`${option.value}-${opt.value}`}\n >\n <Box sx={{ display: 'flex', gap: 1 }}>\n {multiple && with_checkboxes && (\n <Checkbox\n checked={Boolean(Array.isArray(values) && values?.indexOf(opt.value) > -1)}\n />\n )}\n <Typography\n type='s3'\n color='theme.secondary.1000'\n onClick={() => handleChange?.(String(opt.value))}\n >\n {opt.label == \"Payment Entries\" ? \"Payment and Collection Entries\" : opt.label || opt.value}\n </Typography>\n </Box>\n </MenuItem>\n );\n });\n }\n });\n\n // Footer item\n if (field.enable_footer) {\n items.push(\n <Box key=\"footer\">\n <Divider flexItem />\n <MenuItem sx={{ gap: 1 }} onClick={field.onFooterClick}>\n <Add fontSize='small' />\n <Typography type='s4' color='theme.secondary.1000'>\n Create New {field.label}\n </Typography>\n </MenuItem>\n </Box>\n );\n }\n\n // No data fallback\n if (!items.length || (items.length == 1 && !multiple)) {\n items.push(\n <MenuItem disabled key=\"no-data\">\n No data available\n </MenuItem>\n );\n }\n\n return items;\n};\n\nconst SearchableSelect: React.FC<SearchableSelectProps> = (props) => {\n const {\n labelId,\n label,\n value,\n onChange,\n options,\n multiple = false,\n size = \"small\",\n searchPlaceholder,\n placeholder,\n name,\n defaultValue,\n apiType,\n isInternal = false,\n autoFocus,\n error,\n disabled,\n customeFilter,\n attributes,\n getSelectedData,\n disabledIds,\n onChipRemove,\n selectedLabel,\n is_loading,\n customStyle = {},\n CustomDropDownIcon,\n labelKey,\n valueKey,\n inputStyle,\n hasParent = false,\n sortOrder = 'id:-1',\n handleChange,\n enable_footer = false,\n onFooterClick,\n showCancelButton = true,\n customFetchApi\n } = props;\n\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [dynamicOptions, setOptions] = useState<IOption[]>([]);\n const [selectedOptions, setSelectedOptions] = useState<IOption[]>([]);\n const [isAlredyLoaded, setIsAlredyLoaded] = useState(false);\n const [initailLoading, setInitialLoading] = useState(false);\n const [searchInitiate, setSearchInitiate] = useState(false);\n const [open, setOpen] = useState(false);\n const [prevFilter, setPrevFilter] = useState<any>(null);\n const { t } = useTranslation();\n\n // Pagination state\n const [pagination, setPagination] = useState<IPaginationState>({\n page: 1,\n hasMore: true,\n isLoadingMore: false,\n total: 0\n });\n\n const { isRtl } = useLanguage();\n const limit = 25;\n\n const isInternalOptions = useMemo(() => {\n return isInternal || (!apiType && !customFetchApi);\n }, [isInternal, apiType, customFetchApi]);\n\n // Local search function for internal options\n const searchOptionsLocally = useCallback((searchTerm: string, value: any): IOption[] => {\n if (!searchTerm) return options || [];\n\n const lowercasedSearchTerm = searchTerm.toLowerCase();\n\n const filteredOptions = hasParent\n ? options?.reduce((acc: IOption[], opt) => {\n const searchedOptions = opt.options?.filter((item) => {\n const label = React.isValidElement(item.label) ? item.searchLabel : String(item.label);\n return label?.toLowerCase().includes(lowercasedSearchTerm);\n });\n\n if (searchedOptions?.length) {\n acc.push({ ...opt, options: searchedOptions });\n }\n\n return acc;\n }, []) || []\n : options?.filter((opt) => {\n const label = React.isValidElement(opt.label) ? opt.searchLabel : String(opt.label);\n return label?.toLowerCase().includes(lowercasedSearchTerm);\n }) || [];\n\n return sortBySelectedValues(filteredOptions, value);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options, hasParent]);\n\n // Clear Selected Options\n const handleClear = () => {\n onChange?.({ target: { value: multiple ? [] : null } });\n if (getSelectedData && typeof getSelectedData === \"function\") {\n getSelectedData(null);\n }\n };\n\n // Get unique options\n const getUniqueOptions = useCallback((data: IOption[]): IOption[] => {\n const uniqueOptions = [\n ...new Map(data?.map(item => [item.value, item])).values()\n ];\n return uniqueOptions;\n }, []);\n\n // Sort by selected values\n const sortBySelectedValues = useCallback((arrayToSort: IOption[], value: any): IOption[] => {\n const selectedValues = Array.isArray(value) ? value : [value];\n const sortedValue = sortBy(arrayToSort, (item) => {\n const index = selectedValues.indexOf(item.id || item.value);\n return index === -1 ? Infinity : index;\n });\n return sortedValue;\n }, []);\n\n // Options with search and pagination support\n const filteredOptions = useMemo(() => {\n if (isInternalOptions) {\n return searchOptionsLocally(searchQuery, value);\n }\n return sortBySelectedValues(getUniqueOptions([...dynamicOptions, ...selectedOptions]), value);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchQuery, dynamicOptions, options, value, isInternalOptions, selectedOptions, searchOptionsLocally, sortBySelectedValues, getUniqueOptions]);\n\n // Handle scroll pagination\n const handleScroll = useCallback((event: React.UIEvent<HTMLDivElement>) => {\n const { scrollTop, scrollHeight, clientHeight } = event.currentTarget;\n const isBottom = scrollHeight - scrollTop <= clientHeight + 10;\n\n if (isBottom && pagination.hasMore && !pagination.isLoadingMore && !isInternalOptions) {\n const nextPage = pagination.page + 1;\n fetchOptions(searchQuery, customeFilter, nextPage, true);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pagination.hasMore, pagination.isLoadingMore, pagination.page, isInternalOptions, searchQuery, JSON.stringify(customeFilter)]);\n\n // Update Options\n const updateOptions = useCallback((newOptions: IOption[], append = false) => {\n const oldOptions = append ? dynamicOptions : selectedOptions;\n const uniqueOptions = getUniqueOptions([...oldOptions, ...newOptions]);\n setOptions(uniqueOptions);\n }, [dynamicOptions, selectedOptions, getUniqueOptions]);\n\n // Fetch Options with pagination support\n const fetchOptions = useCallback(async (searchTerm: any = '', filters = customeFilter, page = 1, append = false) => {\n // Skip if neither apiType nor customFetchApi is provided\n if (!apiType && !customFetchApi) return [];\n\n setLoading(true);\n if (page > 1) {\n setPagination(prev => ({ ...prev, isLoadingMore: true }));\n }\n\n try {\n let data: IOption[] = [];\n let paginationResult: { totalCount?: number } = {};\n\n // Use custom API if provided, otherwise use default fetchApi\n if (customFetchApi) {\n const response = await customFetchApi({\n search: searchTerm,\n filters,\n limit,\n skip: (page - 1) * limit,\n select: attributes,\n order: sortOrder\n });\n data = response?.data || [];\n paginationResult = response?.pagination || {};\n } else {\n const response = await fetchApi({\n apiKey: apiType!,\n filters: {\n limit,\n skip: (page - 1) * limit,\n search: searchTerm,\n filters,\n select: attributes,\n order: sortOrder\n },\n labelKey,\n valueKey\n });\n data = response?.data || [];\n paginationResult = response?.pagination || {};\n }\n\n if (data && Array.isArray(data)) {\n updateOptions(data, append);\n\n // Update pagination\n setPagination(prev => ({\n ...prev,\n page,\n hasMore: (paginationResult?.totalCount || 0) > (page * limit),\n total: paginationResult?.totalCount || 0,\n isLoadingMore: false\n }));\n\n if (data?.length > 0) {\n setSelectedData();\n }\n }\n\n return data || [];\n } catch (error) {\n console.error('Error fetching options:', error);\n setPagination(prev => ({ ...prev, isLoadingMore: false }));\n return [];\n } finally {\n setLoading(false);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [apiType, customFetchApi, attributes, sortOrder, limit, updateOptions]);\n\n // Search Options with debounce\n const debounceSearch = useMemo(\n () => debounce(async (searchTerm: string) => {\n if (loading) return;\n\n if (!searchTerm && !isInternalOptions && searchInitiate) {\n setPagination({\n page: 1,\n hasMore: true,\n isLoadingMore: false,\n total: 0\n });\n await fetchOptions('', customeFilter, 1, false);\n }\n if (searchTerm?.length > 1 && !isInternalOptions) {\n setPagination({\n page: 1,\n hasMore: true,\n isLoadingMore: false,\n total: 0\n });\n await fetchOptions(searchTerm, customeFilter, 1, false);\n }\n }, 700),\n //eslint-disable-next-line react-hooks/exhaustive-deps\n [isInternalOptions, searchInitiate, JSON.stringify(customeFilter)]\n );\n\n // Initial fetch with filter change detection\n const initialFetch = useCallback(async () => {\n const condition = JSON.stringify(customeFilter) !== JSON.stringify(prevFilter);\n\n if (condition && !isInternalOptions && !isAlredyLoaded) {\n setPrevFilter(customeFilter);\n setOptions([]);\n setIsAlredyLoaded(false);\n setPagination({\n page: 1,\n hasMore: true,\n isLoadingMore: false,\n total: 0\n });\n }\n\n if (!isInternalOptions && !isAlredyLoaded) {\n await fetchOptions(searchQuery, customeFilter, 1, false);\n setIsAlredyLoaded(true);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(customeFilter), isInternalOptions, isAlredyLoaded]);\n\n // Set Selected Data\n const setSelectedData = useCallback(() => {\n let hasOptions = false;\n const isInOptions = filteredOptions?.filter((i: any) =>\n multiple ? value?.includes(i?.value) : i?.value == value\n );\n\n if ((Array.isArray(isInOptions) && isInOptions?.length > 0)) {\n getSelectedData?.(multiple ? isInOptions : isInOptions[0]);\n hasOptions = true;\n }\n return hasOptions;\n }, [filteredOptions, value, multiple, getSelectedData]);\n\n // Fetch Options for Selected Id\n const fetchIdOptions = useCallback(async () => {\n if (open) return;\n if (await setSelectedData()) return;\n\n const fValue = multiple ? value && value?.filter(v => Boolean(Number(v))) : Number(value) ? value : null;\n const condition = (multiple ? fValue?.length > 0 : fValue) && !isInternalOptions;\n\n if (condition) {\n setInitialLoading(true);\n await fetchOptions('', { ...customeFilter, ...{ '&id.in': fValue } }, 1, false);\n setInitialLoading(false);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, value, JSON.stringify(customeFilter)]);\n\n const hasValue = multiple\n ? Array.isArray(value) && value.length > 0\n : value !== null && value !== undefined && value !== \"\";\n\n // Effects\n useEffect(() => {\n if (open) {\n debounceSearch(searchQuery);\n }\n return () => debounceSearch.cancel();\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchQuery, JSON.stringify(customeFilter), open, isAlredyLoaded, debounceSearch]);\n\n useEffect(() => {\n setSelectedData();\n }, [setSelectedData]);\n\n useEffect(() => {\n fetchIdOptions();\n }, [fetchIdOptions]);\n\n useEffect(() => {\n if (open) {\n initialFetch();\n }\n }, [open, initialFetch]);\n\n useEffect(() => {\n const condition = JSON.stringify(customeFilter) !== JSON.stringify(prevFilter);\n if (customeFilter && condition) {\n setIsAlredyLoaded(false);\n }\n }, [customeFilter, prevFilter]);\n\n useEffect(() => {\n if (value && !open) {\n const selectedData = options?.filter((i: any) =>\n multiple ? value?.includes(i?.value) : i?.value == value\n ) || [];\n setSelectedOptions(selectedData);\n }\n setSelectedOptions(filteredOptions?.filter((i: any) =>\n multiple ? value?.includes(i?.value) : i?.value == value\n ));\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, open, options, multiple]);\n\n const handleOnChange = (event: any) => {\n const { value } = event.target;\n if ((multiple && Array.isArray(value) && value?.filter(v => v).length == 0) || !value) return;\n\n const isSelected = (item: any) => {\n return multiple ? value?.includes(item?.value) : item?.value === value;\n };\n\n const selected = filteredOptions?.filter(isSelected);\n onChange?.(event, multiple ? selected : selected?.[0]);\n };\n\n const removeUndefine = (selectOptions: any[]) => {\n return Array.isArray(selectOptions) && selectOptions?.length > 0 && selectOptions?.filter((option) => option);\n };\n\n return (\n <Select\n labelId={labelId}\n name={name}\n defaultValue={defaultValue || (multiple ? [] : '')}\n placeholder={placeholder}\n className=\"filter-select\"\n size={size}\n onOpen={() => setOpen(true)}\n onClose={() => {\n setOpen(false);\n if (searchQuery?.length > 0) {\n setIsAlredyLoaded(false);\n }\n setSearchInitiate(false);\n setSearchQuery('');\n }}\n onChange={handleOnChange}\n showCancelButton={showCancelButton}\n multiple={multiple}\n label={t(label)}\n fullWidth\n displayEmpty\n autoFocus={autoFocus}\n error={Boolean(error)}\n disabled={disabled}\n value={initailLoading ? (multiple ? [] : '') : value?.id || value || (multiple ? [] : '')}\n searchPlaceholder={searchPlaceholder}\n CustomDropdownIcon={CustomDropDownIcon}\n sx={(multiple && value?.length) ? { ...customStyle, \"& .MuiSelect-select\": { padding: '5.5px !important' } } : customStyle}\n MenuProps={{\n PaperProps: {\n onScroll: handleScroll,\n style: { maxHeight: 295, maxWidth: 250 }\n }\n }}\n input={\n !disabled ? (\n <OutlinedInput\n label=\"\"\n sx={inputStyle}\n endAdornment={\n <InputAdornment position=\"end\">\n {loading || is_loading ? (\n <CircularProgress\n size={20}\n sx={{ mr: 3, color: \"#4AC08C\" }}\n />\n ) : (\n showCancelButton && hasValue && (\n <IconButton\n aria-label=\"clear selection\"\n onClick={handleClear}\n edge=\"end\"\n sx={isRtl ? { ml: 2.5 } : { mr: 1.5 }}\n size=\"small\"\n >\n <Close fontSize=\"small\" color='theme.primary.800' />\n </IconButton>\n )\n )}\n </InputAdornment>\n }\n />\n ) : undefined\n }\n renderValue={(selected?: string | string[]) => {\n return (\n <>\n {Array.isArray(selected) ? (\n <ChipOrPlaceholder\n selectedLabel={selectedLabel}\n data={removeUndefine(selected)}\n placeholder={placeholder}\n onDelete={onChipRemove}\n disabled={disabled}\n chipProps={{\n sx: {\n bgcolor: 'theme.primary.100',\n border: 0,\n // borderRadius: '15px',\n '& .MuiTypography-body1': {\n color: 'theme.primary.800',\n fontWeight: \"500\",\n }\n }\n }}\n />\n ) : (\n Array.isArray(filteredOptions) && filteredOptions?.length > 0 && filteredOptions?.find(\n (option: any) => option?.value == value\n )?.label || selected || placeholder\n )}\n </>\n );\n }}\n handleSearch={(text) => {\n setSearchQuery(text);\n setSearchInitiate(true);\n }}\n >\n {generateMenuItems({\n options: filteredOptions,\n multiple: Boolean(multiple),\n placeholder,\n values: value,\n with_checkboxes: true,\n field: {\n ...props,\n enable_footer,\n onFooterClick,\n label\n },\n disabledIds,\n handleClear,\n handleChange,\n hasParent,\n t: (key: string) => key\n })}\n {pagination.isLoadingMore && (\n <MenuItem disabled>\n <Box sx={{ display: 'flex', justifyContent: 'center', width: '100%' }}>\n <CircularProgress size={20} />\n </Box>\n </MenuItem>\n )}\n </Select>\n );\n};\n\nexport default SearchableSelect;"],"names":["value","filteredOptions","label","React","error"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/components/searchable-select.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Box,\n CircularProgress,\n Divider,\n IconButton,\n InputAdornment,\n MenuItem,\n OutlinedInput,\n} from \"@mui/material\";\nimport Select from \"./select/select\";\nimport Checkbox from \"./checkbox/checkbox\";\nimport Typography from \"./typography/typography\";\nimport { Close } from \"./icons\";\nimport { debounce, sortBy } from \"lodash\";\nimport { fetchApi } from \"../utils/api\";\nimport ChipOrPlaceholder from \"./form-control/form-builder/form-builder-element/chip-or-placeholder\";\nimport { Add } from \"@mui/icons-material\";\nimport { useLanguage } from \"../hooks/useLangauge\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface IOption {\n id: string | number;\n value: string | number;\n label: string | React.ReactNode;\n disabled?: boolean;\n isGroup?: boolean;\n options?: IOption[];\n searchLabel?: string;\n}\n\ninterface IPaginationState {\n page: number;\n hasMore: boolean;\n isLoadingMore: boolean;\n total: number;\n}\n\ninterface IMenuItems {\n options: IOption[];\n multiple: boolean;\n placeholder: string;\n with_checkboxes: boolean;\n values: string | string[];\n field: any;\n disabledIds: any[];\n handleClear: () => void;\n handleChange?: (value: string | string[]) => void;\n hasParent?: boolean;\n}\n\n// Custom API fetch function type for parent components\ninterface CustomFetchApiParams {\n search?: string;\n filters?: any;\n limit: number;\n skip: number;\n select?: string;\n order?: string;\n}\n\ninterface CustomFetchApiResponse {\n data: IOption[];\n pagination?: {\n totalCount: number;\n };\n}\n\ninterface SearchableSelectProps {\n labelId: string;\n label: string;\n value: any;\n onChange?: (event: any, selectedData?: any) => void;\n options: IOption[];\n multiple?: boolean;\n placeholder?: string;\n size?: \"small\" | \"medium\";\n searchPlaceholder?: string;\n CustomDropDownIcon: React.ReactNode;\n customStyle: any;\n name?: string;\n defaultValue?: any;\n apiType?: string;\n isInternal?: boolean;\n autoFocus?: any;\n error?: any;\n disabled: any;\n customeFilter?: string;\n attributes?: string;\n getSelectedData?: (row: any) => void;\n disabledIds: any[];\n labelKey?: string;\n valueKey?: string;\n inputStyle?: any;\n onChipRemove?: (value: string) => void;\n selectedLabel?: string;\n is_loading?: boolean;\n hasParent?: boolean;\n sortOrder?: string;\n handleChange?: (value: string | string[]) => void;\n enable_footer?: boolean;\n onFooterClick?: () => void;\n showCancelButton?: boolean;\n /** Custom API function to fetch options from parent component */\n customFetchApi?: (params: CustomFetchApiParams) => Promise<CustomFetchApiResponse>;\n}\n\nconst generateMenuItems = ({\n options,\n multiple,\n placeholder,\n with_checkboxes,\n values,\n field,\n disabledIds,\n handleClear,\n handleChange,\n hasParent = false,\n}: IMenuItems) => {\n const itemDisabled = (ls: any) => disabledIds?.includes(ls);\n const items: React.ReactElement[] = [];\n\n if (!multiple) {\n items.push(\n <MenuItem disabled value='' key=\"placeholder\" sx={{ opacity: `0 !important`, height: `0 !important`, p: `0 !important`, m: `0 !important` }}>\n <Typography type='s3' color='theme.secondary.1000'>\n <em>{placeholder}</em>\n </Typography>\n </MenuItem>\n );\n }\n\n const selectedValues = Array.isArray(values) ? values?.filter((value) => value) : [];\n\n // Parent selection handlers\n const handleParentChange = (parentValue: string, childOptions: IOption[]) => {\n const childValues = childOptions.map((child) => child.value);\n const valueArray = Array.isArray(selectedValues) ? selectedValues : [selectedValues];\n\n const isParentSelected = valueArray.includes(parentValue);\n const updatedValues = isParentSelected\n ? valueArray.filter((value) => value !== parentValue && !childValues.includes(value))\n : [...new Set([...valueArray, parentValue, ...childValues])];\n\n handleChange?.(updatedValues);\n };\n\n const isAllOptionsSelected = (parentValue: string, childOptions: IOption[]) => {\n const childValues = childOptions.map((child) => child.value);\n const valueArray = Array.isArray(selectedValues) ? selectedValues : [selectedValues];\n return childValues.every((childValue) => valueArray.includes(childValue));\n };\n\n const isSomeOptionsSelected = (childOptions: IOption[]) => {\n const childValues = childOptions.map((child) => child.value);\n const valueArray = Array.isArray(selectedValues) ? selectedValues : [selectedValues];\n return childValues.some((childValue) => valueArray.includes(childValue));\n };\n\n Array.isArray(options) && options?.length > 0 && options?.forEach((option) => {\n items.push(\n <MenuItem\n value={option?.value}\n key={option?.value}\n disabled={Boolean(option?.disabled) || itemDisabled(option?.value)}\n className={option?.isGroup ? 'select--MenuItemHeader' : ''}\n onClick={() => {\n if (values?.length == 1) {\n handleClear();\n }\n }}\n >\n <Box sx={{ display: 'flex', gap: 1 }}>\n {multiple && with_checkboxes && (\n <Checkbox\n checked={\n hasParent\n ? isAllOptionsSelected(option.value, option.options || [])\n : Boolean(Array.isArray(values) && values?.indexOf(option?.value) > -1)\n }\n indeterminate={\n hasParent && isSomeOptionsSelected(option.options || [])\n }\n onChange={() =>\n hasParent\n ? handleParentChange(option.value, option.options || [])\n : handleChange?.(option.value)\n }\n />\n )}\n <Typography\n type='s3'\n color='theme.secondary.1000'\n onClick={() => handleChange?.(option.value)}\n >\n {option?.label}\n </Typography>\n </Box>\n </MenuItem>\n );\n\n // Handle child options for grouped items\n if (option?.isGroup && Array.isArray(option?.options)) {\n option.options.forEach((opt) => {\n items.push(\n <MenuItem\n value={opt.value}\n disabled={Boolean(opt.disabled) || itemDisabled(opt.value)}\n sx={{ pl: 5 }}\n onClick={() => {\n if (values?.length == 1) {\n handleClear();\n }\n }}\n key={`${option.value}-${opt.value}`}\n >\n <Box sx={{ display: 'flex', gap: 1 }}>\n {multiple && with_checkboxes && (\n <Checkbox\n checked={Boolean(Array.isArray(values) && values?.indexOf(opt.value) > -1)}\n />\n )}\n <Typography\n type='s3'\n color='theme.secondary.1000'\n onClick={() => handleChange?.(String(opt.value))}\n >\n {opt.label == \"Payment Entries\" ? \"Payment and Collection Entries\" : opt.label || opt.value}\n </Typography>\n </Box>\n </MenuItem>\n );\n });\n }\n });\n\n // Footer item\n if (field.enable_footer) {\n items.push(\n <Box key=\"footer\">\n <Divider flexItem />\n <MenuItem sx={{ gap: 1 }} onClick={field.onFooterClick}>\n <Add fontSize='small' />\n <Typography type='s4' color='theme.secondary.1000'>\n Create New {field.label}\n </Typography>\n </MenuItem>\n </Box>\n );\n }\n\n // No data fallback\n if (!items.length || (items.length == 1 && !multiple)) {\n items.push(\n <MenuItem disabled key=\"no-data\">\n No data available\n </MenuItem>\n );\n }\n\n return items;\n};\n\nconst SearchableSelect: React.FC<SearchableSelectProps> = (props) => {\n const {\n labelId,\n label,\n value,\n onChange,\n options,\n multiple = false,\n size = \"small\",\n searchPlaceholder,\n placeholder,\n name,\n defaultValue,\n apiType,\n isInternal = false,\n autoFocus,\n error,\n disabled,\n customeFilter,\n attributes,\n getSelectedData,\n disabledIds,\n onChipRemove,\n selectedLabel,\n is_loading,\n customStyle = {},\n CustomDropDownIcon,\n labelKey,\n valueKey,\n inputStyle,\n hasParent = false,\n sortOrder = 'id:-1',\n handleChange,\n enable_footer = false,\n onFooterClick,\n showCancelButton = true,\n customFetchApi\n } = props;\n\n const [searchQuery, setSearchQuery] = useState(\"\");\n const [loading, setLoading] = useState<boolean>(false);\n const [dynamicOptions, setOptions] = useState<IOption[]>([]);\n const [selectedOptions, setSelectedOptions] = useState<IOption[]>([]);\n const [isAlredyLoaded, setIsAlredyLoaded] = useState(false);\n const [initailLoading, setInitialLoading] = useState(false);\n const [searchInitiate, setSearchInitiate] = useState(false);\n const [open, setOpen] = useState(false);\n const [prevFilter, setPrevFilter] = useState<any>(null);\n const { t } = useTranslation();\n\n // Pagination state\n const [pagination, setPagination] = useState<IPaginationState>({\n page: 1,\n hasMore: true,\n isLoadingMore: false,\n total: 0\n });\n\n const { isRtl } = useLanguage();\n const limit = 25;\n\n const isInternalOptions = useMemo(() => {\n return isInternal || (!apiType && !customFetchApi);\n }, [isInternal, apiType, customFetchApi]);\n\n // Local search function for internal options\n const searchOptionsLocally = useCallback((searchTerm: string, value: any): IOption[] => {\n if (!searchTerm) return options || [];\n\n const lowercasedSearchTerm = searchTerm.toLowerCase();\n\n const filteredOptions = hasParent\n ? options?.reduce((acc: IOption[], opt) => {\n const searchedOptions = opt.options?.filter((item) => {\n const label = React.isValidElement(item.label) ? item.searchLabel : String(item.label);\n return label?.toLowerCase().includes(lowercasedSearchTerm);\n });\n\n if (searchedOptions?.length) {\n acc.push({ ...opt, options: searchedOptions });\n }\n\n return acc;\n }, []) || []\n : options?.filter((opt) => {\n const label = React.isValidElement(opt.label) ? opt.searchLabel : String(opt.label);\n return label?.toLowerCase().includes(lowercasedSearchTerm);\n }) || [];\n\n return sortBySelectedValues(filteredOptions, value);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options, hasParent]);\n\n // Clear Selected Options\n const handleClear = () => {\n onChange?.({ target: { value: multiple ? [] : null } });\n if (getSelectedData && typeof getSelectedData === \"function\") {\n getSelectedData(null);\n }\n };\n\n // Get unique options\n const getUniqueOptions = useCallback((data: IOption[]): IOption[] => {\n const uniqueOptions = [\n ...new Map(data?.map(item => [item.value, item])).values()\n ];\n return uniqueOptions;\n }, []);\n\n // Sort by selected values\n const sortBySelectedValues = useCallback((arrayToSort: IOption[], value: any): IOption[] => {\n const selectedValues = Array.isArray(value) ? value : [value];\n const sortedValue = sortBy(arrayToSort, (item) => {\n const index = selectedValues.indexOf(item.id || item.value);\n return index === -1 ? Infinity : index;\n });\n return sortedValue;\n }, []);\n\n // Options with search and pagination support\n const filteredOptions = useMemo(() => {\n if (isInternalOptions) {\n return searchOptionsLocally(searchQuery, value);\n }\n return sortBySelectedValues(getUniqueOptions([...dynamicOptions, ...selectedOptions]), value);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchQuery, dynamicOptions, options, value, isInternalOptions, selectedOptions, searchOptionsLocally, sortBySelectedValues, getUniqueOptions]);\n\n // Handle scroll pagination\n const handleScroll = useCallback((event: React.UIEvent<HTMLDivElement>) => {\n const { scrollTop, scrollHeight, clientHeight } = event.currentTarget;\n const isBottom = scrollHeight - scrollTop <= clientHeight + 10;\n\n if (isBottom && pagination.hasMore && !pagination.isLoadingMore && !isInternalOptions) {\n const nextPage = pagination.page + 1;\n fetchOptions(searchQuery, customeFilter, nextPage, true);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pagination.hasMore, pagination.isLoadingMore, pagination.page, isInternalOptions, searchQuery, JSON.stringify(customeFilter)]);\n\n // Update Options\n const updateOptions = useCallback((newOptions: IOption[], append = false) => {\n const oldOptions = append ? dynamicOptions : selectedOptions;\n const uniqueOptions = getUniqueOptions([...oldOptions, ...newOptions]);\n setOptions(uniqueOptions);\n }, [dynamicOptions, selectedOptions, getUniqueOptions]);\n\n // Fetch Options with pagination support\n const fetchOptions = useCallback(async (searchTerm: any = '', filters = customeFilter, page = 1, append = false) => {\n // Skip if neither apiType nor customFetchApi is provided\n if (!apiType && !customFetchApi) return [];\n\n setLoading(true);\n if (page > 1) {\n setPagination(prev => ({ ...prev, isLoadingMore: true }));\n }\n\n try {\n let data: IOption[] = [];\n let paginationResult: { totalCount?: number } = {};\n\n // Use custom API if provided, otherwise use default fetchApi\n if (customFetchApi) {\n const response = await customFetchApi({\n search: searchTerm,\n filters,\n limit,\n skip: (page - 1) * limit,\n select: attributes,\n order: sortOrder\n });\n data = response?.data || [];\n paginationResult = response?.pagination || {};\n } else {\n const response = await fetchApi({\n apiKey: apiType!,\n filters: {\n limit,\n skip: (page - 1) * limit,\n search: searchTerm,\n filters,\n select: attributes,\n order: sortOrder\n },\n labelKey,\n valueKey\n });\n data = response?.data || [];\n paginationResult = response?.pagination || {};\n }\n\n if (data && Array.isArray(data)) {\n updateOptions(data, append);\n\n // Update pagination\n setPagination(prev => ({\n ...prev,\n page,\n hasMore: (paginationResult?.totalCount || 0) > (page * limit),\n total: paginationResult?.totalCount || 0,\n isLoadingMore: false\n }));\n\n if (data?.length > 0) {\n setSelectedData();\n }\n }\n\n return data || [];\n } catch (error) {\n console.error('Error fetching options:', error);\n setPagination(prev => ({ ...prev, isLoadingMore: false }));\n return [];\n } finally {\n setLoading(false);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [apiType, customFetchApi, attributes, sortOrder, limit, updateOptions]);\n\n // Search Options with debounce\n const debounceSearch = useMemo(\n () => debounce(async (searchTerm: string) => {\n if (loading) return;\n\n if (!searchTerm && !isInternalOptions && searchInitiate) {\n setPagination({\n page: 1,\n hasMore: true,\n isLoadingMore: false,\n total: 0\n });\n await fetchOptions('', customeFilter, 1, false);\n }\n if (searchTerm?.length > 1 && !isInternalOptions) {\n setPagination({\n page: 1,\n hasMore: true,\n isLoadingMore: false,\n total: 0\n });\n await fetchOptions(searchTerm, customeFilter, 1, false);\n }\n }, 700),\n //eslint-disable-next-line react-hooks/exhaustive-deps\n [isInternalOptions, searchInitiate, JSON.stringify(customeFilter)]\n );\n\n // Initial fetch with filter change detection\n const initialFetch = useCallback(async () => {\n const condition = JSON.stringify(customeFilter) !== JSON.stringify(prevFilter);\n\n if (condition && !isInternalOptions && !isAlredyLoaded) {\n setPrevFilter(customeFilter);\n setOptions([]);\n setIsAlredyLoaded(false);\n setPagination({\n page: 1,\n hasMore: true,\n isLoadingMore: false,\n total: 0\n });\n }\n\n if (!isInternalOptions && !isAlredyLoaded) {\n await fetchOptions(searchQuery, customeFilter, 1, false);\n setIsAlredyLoaded(true);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(customeFilter), isInternalOptions, isAlredyLoaded]);\n\n // Set Selected Data\n const setSelectedData = useCallback(() => {\n let hasOptions = false;\n const isInOptions = filteredOptions?.filter((i: any) =>\n multiple ? value?.includes(i?.value) : i?.value == value\n );\n\n if ((Array.isArray(isInOptions) && isInOptions?.length > 0)) {\n getSelectedData?.(multiple ? isInOptions : isInOptions[0]);\n hasOptions = true;\n }\n return hasOptions;\n }, [filteredOptions, value, multiple, getSelectedData]);\n\n // Fetch Options for Selected Id\n const fetchIdOptions = useCallback(async () => {\n if (open) return;\n if (await setSelectedData()) return;\n\n const fValue = multiple ? value && value?.filter(v => Boolean(Number(v))) : value ? value : null;\n const condition = (multiple ? fValue?.length > 0 : fValue) && !isInternalOptions;\n\n if (condition) {\n setInitialLoading(true);\n await fetchOptions('', { ...customeFilter, ...{ '&id.in': fValue } }, 1, false);\n setInitialLoading(false);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, value, JSON.stringify(customeFilter)]);\n\n const hasValue = multiple\n ? Array.isArray(value) && value.length > 0\n : value !== null && value !== undefined && value !== \"\";\n\n // Effects\n useEffect(() => {\n if (open) {\n debounceSearch(searchQuery);\n }\n return () => debounceSearch.cancel();\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchQuery, JSON.stringify(customeFilter), open, isAlredyLoaded, debounceSearch]);\n\n useEffect(() => {\n setSelectedData();\n }, [setSelectedData]);\n\n useEffect(() => {\n fetchIdOptions();\n }, [fetchIdOptions]);\n\n useEffect(() => {\n if (open) {\n initialFetch();\n }\n }, [open, initialFetch]);\n\n useEffect(() => {\n const condition = JSON.stringify(customeFilter) !== JSON.stringify(prevFilter);\n if (customeFilter && condition) {\n setIsAlredyLoaded(false);\n }\n }, [customeFilter, prevFilter]);\n\n useEffect(() => {\n if (value && !open) {\n const selectedData = options?.filter((i: any) =>\n multiple ? value?.includes(i?.value) : i?.value == value\n ) || [];\n setSelectedOptions(selectedData);\n }\n setSelectedOptions(filteredOptions?.filter((i: any) =>\n multiple ? value?.includes(i?.value) : i?.value == value\n ));\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, open, options, multiple]);\n\n const handleOnChange = (event: any) => {\n const { value } = event.target;\n if ((multiple && Array.isArray(value) && value?.filter(v => v).length == 0) || !value) return;\n\n const isSelected = (item: any) => {\n return multiple ? value?.includes(item?.value) : item?.value === value;\n };\n\n const selected = filteredOptions?.filter(isSelected);\n onChange?.(event, multiple ? selected : selected?.[0]);\n };\n\n const removeUndefine = (selectOptions: any[]) => {\n return Array.isArray(selectOptions) && selectOptions?.length > 0 && selectOptions?.filter((option) => option);\n };\n\n return (\n <Select\n labelId={labelId}\n name={name}\n defaultValue={defaultValue || (multiple ? [] : '')}\n placeholder={placeholder}\n className=\"filter-select\"\n size={size}\n onOpen={() => setOpen(true)}\n onClose={() => {\n setOpen(false);\n if (searchQuery?.length > 0) {\n setIsAlredyLoaded(false);\n }\n setSearchInitiate(false);\n setSearchQuery('');\n }}\n onChange={handleOnChange}\n showCancelButton={showCancelButton}\n multiple={multiple}\n label={t(label)}\n fullWidth\n displayEmpty\n autoFocus={autoFocus}\n error={Boolean(error)}\n disabled={disabled}\n value={initailLoading ? (multiple ? [] : '') : value?.id || value || (multiple ? [] : '')}\n searchPlaceholder={searchPlaceholder}\n CustomDropdownIcon={CustomDropDownIcon}\n sx={(multiple && value?.length) ? { ...customStyle, \"& .MuiSelect-select\": { padding: '5.5px !important' } } : customStyle}\n MenuProps={{\n PaperProps: {\n onScroll: handleScroll,\n style: { maxHeight: 295, maxWidth: 250 }\n }\n }}\n input={\n !disabled ? (\n <OutlinedInput\n label=\"\"\n sx={inputStyle}\n endAdornment={\n <InputAdornment position=\"end\">\n {loading || is_loading ? (\n <CircularProgress\n size={20}\n sx={{ mr: 3, color: \"#4AC08C\" }}\n />\n ) : (\n showCancelButton && hasValue && (\n <IconButton\n aria-label=\"clear selection\"\n onClick={handleClear}\n edge=\"end\"\n sx={isRtl ? { ml: 2.5 } : { mr: 1.5 }}\n size=\"small\"\n >\n <Close fontSize=\"small\" color='theme.primary.800' />\n </IconButton>\n )\n )}\n </InputAdornment>\n }\n />\n ) : undefined\n }\n renderValue={(selected?: string | string[]) => {\n return (\n <>\n {Array.isArray(selected) ? (\n <ChipOrPlaceholder\n selectedLabel={selectedLabel}\n data={removeUndefine(selected)}\n placeholder={placeholder}\n onDelete={onChipRemove}\n disabled={disabled}\n chipProps={{\n sx: {\n bgcolor: 'theme.primary.100',\n border: 0,\n // borderRadius: '15px',\n '& .MuiTypography-body1': {\n color: 'theme.primary.800',\n fontWeight: \"500\",\n }\n }\n }}\n />\n ) : (\n Array.isArray(filteredOptions) && filteredOptions?.length > 0 && filteredOptions?.find(\n (option: any) => option?.value == value\n )?.label || selected || placeholder\n )}\n </>\n );\n }}\n handleSearch={(text) => {\n setSearchQuery(text);\n setSearchInitiate(true);\n }}\n >\n {generateMenuItems({\n options: filteredOptions,\n multiple: Boolean(multiple),\n placeholder,\n values: value,\n with_checkboxes: true,\n field: {\n ...props,\n enable_footer,\n onFooterClick,\n label\n },\n disabledIds,\n handleClear,\n handleChange,\n hasParent,\n t: (key: string) => key\n })}\n {pagination.isLoadingMore && (\n <MenuItem disabled>\n <Box sx={{ display: 'flex', justifyContent: 'center', width: '100%' }}>\n <CircularProgress size={20} />\n </Box>\n </MenuItem>\n )}\n </Select>\n );\n};\n\nexport default SearchableSelect;"],"names":["value","filteredOptions","label","React","error"],"mappings":";;;;;;;;;;;;;;;;;;;AA2GA,MAAM,oBAAoB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAChB,MAAkB;AACd,QAAM,eAAe,CAAC,OAAY,2CAAa,SAAS;AACxD,QAAM,QAA8B,CAAA;AAEpC,MAAI,CAAC,UAAU;AACX,UAAM;AAAA,MACF,oBAAC,UAAA,EAAS,UAAQ,MAAC,OAAM,IAAqB,IAAI,EAAE,SAAS,gBAAgB,QAAQ,gBAAgB,GAAG,gBAAgB,GAAG,eAAA,GACvH,UAAA,oBAAC,YAAA,EAAW,MAAK,MAAK,OAAM,wBACxB,UAAA,oBAAC,MAAA,EAAI,UAAA,aAAY,EAAA,CACrB,EAAA,GAH4B,aAIhC;AAAA,IAAA;AAAA,EAER;AAEA,QAAM,iBAAiB,MAAM,QAAQ,MAAM,IAAI,iCAAQ,OAAO,CAAC,UAAU,SAAS,CAAA;AAGlF,QAAM,qBAAqB,CAAC,aAAqB,iBAA4B;AACzE,UAAM,cAAc,aAAa,IAAI,CAAC,UAAU,MAAM,KAAK;AAC3D,UAAM,aAAa,MAAM,QAAQ,cAAc,IAAI,iBAAiB,CAAC,cAAc;AAEnF,UAAM,mBAAmB,WAAW,SAAS,WAAW;AACxD,UAAM,gBAAgB,mBAChB,WAAW,OAAO,CAAC,UAAU,UAAU,eAAe,CAAC,YAAY,SAAS,KAAK,CAAC,IAClF,CAAC,GAAG,oBAAI,IAAI,CAAC,GAAG,YAAY,aAAa,GAAG,WAAW,CAAC,CAAC;AAE/D,iDAAe;AAAA,EACnB;AAEA,QAAM,uBAAuB,CAAC,aAAqB,iBAA4B;AAC3E,UAAM,cAAc,aAAa,IAAI,CAAC,UAAU,MAAM,KAAK;AAC3D,UAAM,aAAa,MAAM,QAAQ,cAAc,IAAI,iBAAiB,CAAC,cAAc;AACnF,WAAO,YAAY,MAAM,CAAC,eAAe,WAAW,SAAS,UAAU,CAAC;AAAA,EAC5E;AAEA,QAAM,wBAAwB,CAAC,iBAA4B;AACvD,UAAM,cAAc,aAAa,IAAI,CAAC,UAAU,MAAM,KAAK;AAC3D,UAAM,aAAa,MAAM,QAAQ,cAAc,IAAI,iBAAiB,CAAC,cAAc;AACnF,WAAO,YAAY,KAAK,CAAC,eAAe,WAAW,SAAS,UAAU,CAAC;AAAA,EAC3E;AAEA,QAAM,QAAQ,OAAO,MAAK,mCAAS,UAAS,MAAK,mCAAS,QAAQ,CAAC,WAAW;AAC1E,UAAM;AAAA,MACF;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,OAAO,iCAAQ;AAAA,UAEf,UAAU,QAAQ,iCAAQ,QAAQ,KAAK,aAAa,iCAAQ,KAAK;AAAA,UACjE,YAAW,iCAAQ,WAAU,2BAA2B;AAAA,UACxD,SAAS,MAAM;AACX,iBAAI,iCAAQ,WAAU,GAAG;AACrB,0BAAA;AAAA,YACJ;AAAA,UACJ;AAAA,UAEA,UAAA,qBAAC,OAAI,IAAI,EAAE,SAAS,QAAQ,KAAK,KAC5B,UAAA;AAAA,YAAA,YAAY,mBACT;AAAA,cAAC;AAAA,cAAA;AAAA,gBACG,SACI,YACM,qBAAqB,OAAO,OAAO,OAAO,WAAW,CAAA,CAAE,IACvD,QAAQ,MAAM,QAAQ,MAAM,MAAK,iCAAQ,QAAQ,iCAAQ,UAAS,EAAE;AAAA,gBAE9E,eACI,aAAa,sBAAsB,OAAO,WAAW,CAAA,CAAE;AAAA,gBAE3D,UAAU,MACN,YACM,mBAAmB,OAAO,OAAO,OAAO,WAAW,CAAA,CAAE,IACrD,6CAAe,OAAO;AAAA,cAAK;AAAA,YAAA;AAAA,YAI7C;AAAA,cAAC;AAAA,cAAA;AAAA,gBACG,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,SAAS,MAAM,6CAAe,OAAO;AAAA,gBAEpC,UAAA,iCAAQ;AAAA,cAAA;AAAA,YAAA;AAAA,UACb,EAAA,CACJ;AAAA,QAAA;AAAA,QAlCK,iCAAQ;AAAA,MAAA;AAAA,IAmCjB;AAIJ,SAAI,iCAAQ,YAAW,MAAM,QAAQ,iCAAQ,OAAO,GAAG;AACnD,aAAO,QAAQ,QAAQ,CAAC,QAAQ;AAC5B,cAAM;AAAA,UACF;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,OAAO,IAAI;AAAA,cACX,UAAU,QAAQ,IAAI,QAAQ,KAAK,aAAa,IAAI,KAAK;AAAA,cACzD,IAAI,EAAE,IAAI,EAAA;AAAA,cACV,SAAS,MAAM;AACX,qBAAI,iCAAQ,WAAU,GAAG;AACrB,8BAAA;AAAA,gBACJ;AAAA,cACJ;AAAA,cAGA,UAAA,qBAAC,OAAI,IAAI,EAAE,SAAS,QAAQ,KAAK,KAC5B,UAAA;AAAA,gBAAA,YAAY,mBACT;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACG,SAAS,QAAQ,MAAM,QAAQ,MAAM,MAAK,iCAAQ,QAAQ,IAAI,UAAS,EAAE;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGjF;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACG,MAAK;AAAA,oBACL,OAAM;AAAA,oBACN,SAAS,MAAM,6CAAe,OAAO,IAAI,KAAK;AAAA,oBAE7C,cAAI,SAAS,oBAAoB,mCAAmC,IAAI,SAAS,IAAI;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAC1F,EAAA,CACJ;AAAA,YAAA;AAAA,YAfK,GAAG,OAAO,KAAK,IAAI,IAAI,KAAK;AAAA,UAAA;AAAA,QAgBrC;AAAA,MAER,CAAC;AAAA,IACL;AAAA,EACJ;AAGA,MAAI,MAAM,eAAe;AACrB,UAAM;AAAA,2BACD,KAAA,EACG,UAAA;AAAA,QAAA,oBAAC,SAAA,EAAQ,UAAQ,KAAA,CAAC;AAAA,QAClB,qBAAC,YAAS,IAAI,EAAE,KAAK,EAAA,GAAK,SAAS,MAAM,eACrC,UAAA;AAAA,UAAA,oBAAC,KAAA,EAAI,UAAS,QAAA,CAAQ;AAAA,UACtB,qBAAC,YAAA,EAAW,MAAK,MAAK,OAAM,wBAAuB,UAAA;AAAA,YAAA;AAAA,YACnC,MAAM;AAAA,UAAA,EAAA,CACtB;AAAA,QAAA,EAAA,CACJ;AAAA,MAAA,EAAA,GAPK,QAQT;AAAA,IAAA;AAAA,EAER;AAGA,MAAI,CAAC,MAAM,UAAW,MAAM,UAAU,KAAK,CAAC,UAAW;AACnD,UAAM;AAAA,MACF,oBAAC,UAAA,EAAS,UAAQ,MAAe,iCAAV,SAEvB;AAAA,IAAA;AAAA,EAER;AAEA,SAAO;AACX;AAEA,MAAM,mBAAoD,CAAC,UAAU;AACjE,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc,CAAA;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA,mBAAmB;AAAA,IACnB;AAAA,EAAA,IACA;AAEJ,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,EAAE;AACjD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAkB,KAAK;AACrD,QAAM,CAAC,gBAAgB,UAAU,IAAI,SAAoB,CAAA,CAAE;AAC3D,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAoB,CAAA,CAAE;AACpE,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,CAAC,YAAY,aAAa,IAAI,SAAc,IAAI;AACtD,QAAM,EAAE,EAAA,IAAM,eAAA;AAGd,QAAM,CAAC,YAAY,aAAa,IAAI,SAA2B;AAAA,IAC3D,MAAM;AAAA,IACN,SAAS;AAAA,IACT,eAAe;AAAA,IACf,OAAO;AAAA,EAAA,CACV;AAED,QAAM,EAAE,MAAA,IAAU,YAAA;AAClB,QAAM,QAAQ;AAEd,QAAM,oBAAoB,QAAQ,MAAM;AACpC,WAAO,cAAe,CAAC,WAAW,CAAC;AAAA,EACvC,GAAG,CAAC,YAAY,SAAS,cAAc,CAAC;AAGxC,QAAM,uBAAuB,YAAY,CAAC,YAAoBA,WAA0B;AACpF,QAAI,CAAC,WAAY,QAAO,WAAW,CAAA;AAEnC,UAAM,uBAAuB,WAAW,YAAA;AAExC,UAAMC,mBAAkB,aAClB,mCAAS,OAAO,CAAC,KAAgB,QAAQ;;AACvC,YAAM,mBAAkB,SAAI,YAAJ,mBAAa,OAAO,CAAC,SAAS;AAClD,cAAMC,SAAQC,eAAM,eAAe,KAAK,KAAK,IAAI,KAAK,cAAc,OAAO,KAAK,KAAK;AACrF,eAAOD,iCAAO,cAAc,SAAS;AAAA,MACzC;AAEA,UAAI,mDAAiB,QAAQ;AACzB,YAAI,KAAK,EAAE,GAAG,KAAK,SAAS,iBAAiB;AAAA,MACjD;AAEA,aAAO;AAAA,IACX,GAAG,CAAA,OAAO,CAAA,KACR,mCAAS,OAAO,CAAC,QAAQ;AACvB,YAAMA,SAAQC,eAAM,eAAe,IAAI,KAAK,IAAI,IAAI,cAAc,OAAO,IAAI,KAAK;AAClF,aAAOD,iCAAO,cAAc,SAAS;AAAA,IACzC,OAAM,CAAA;AAEV,WAAO,qBAAqBD,kBAAiBD,MAAK;AAAA,EAEtD,GAAG,CAAC,SAAS,SAAS,CAAC;AAGvB,QAAM,cAAc,MAAM;AACtB,yCAAW,EAAE,QAAQ,EAAE,OAAO,WAAW,CAAA,IAAK,KAAA;AAC9C,QAAI,mBAAmB,OAAO,oBAAoB,YAAY;AAC1D,sBAAgB,IAAI;AAAA,IACxB;AAAA,EACJ;AAGA,QAAM,mBAAmB,YAAY,CAAC,SAA+B;AACjE,UAAM,gBAAgB;AAAA,MAClB,GAAG,IAAI,IAAI,6BAAM,IAAI,CAAA,SAAQ,CAAC,KAAK,OAAO,IAAI,EAAE,EAAE,OAAA;AAAA,IAAO;AAE7D,WAAO;AAAA,EACX,GAAG,CAAA,CAAE;AAGL,QAAM,uBAAuB,YAAY,CAAC,aAAwBA,WAA0B;AACxF,UAAM,iBAAiB,MAAM,QAAQA,MAAK,IAAIA,SAAQ,CAACA,MAAK;AAC5D,UAAM,cAAc,OAAO,aAAa,CAAC,SAAS;AAC9C,YAAM,QAAQ,eAAe,QAAQ,KAAK,MAAM,KAAK,KAAK;AAC1D,aAAO,UAAU,KAAK,WAAW;AAAA,IACrC,CAAC;AACD,WAAO;AAAA,EACX,GAAG,CAAA,CAAE;AAGL,QAAM,kBAAkB,QAAQ,MAAM;AAClC,QAAI,mBAAmB;AACnB,aAAO,qBAAqB,aAAa,KAAK;AAAA,IAClD;AACA,WAAO,qBAAqB,iBAAiB,CAAC,GAAG,gBAAgB,GAAG,eAAe,CAAC,GAAG,KAAK;AAAA,EAEhG,GAAG,CAAC,aAAa,gBAAgB,SAAS,OAAO,mBAAmB,iBAAiB,sBAAsB,sBAAsB,gBAAgB,CAAC;AAGlJ,QAAM,eAAe,YAAY,CAAC,UAAyC;AACvE,UAAM,EAAE,WAAW,cAAc,aAAA,IAAiB,MAAM;AACxD,UAAM,WAAW,eAAe,aAAa,eAAe;AAE5D,QAAI,YAAY,WAAW,WAAW,CAAC,WAAW,iBAAiB,CAAC,mBAAmB;AACnF,YAAM,WAAW,WAAW,OAAO;AACnC,mBAAa,aAAa,eAAe,UAAU,IAAI;AAAA,IAC3D;AAAA,EAEJ,GAAG,CAAC,WAAW,SAAS,WAAW,eAAe,WAAW,MAAM,mBAAmB,aAAa,KAAK,UAAU,aAAa,CAAC,CAAC;AAGjI,QAAM,gBAAgB,YAAY,CAAC,YAAuB,SAAS,UAAU;AACzE,UAAM,aAAa,SAAS,iBAAiB;AAC7C,UAAM,gBAAgB,iBAAiB,CAAC,GAAG,YAAY,GAAG,UAAU,CAAC;AACrE,eAAW,aAAa;AAAA,EAC5B,GAAG,CAAC,gBAAgB,iBAAiB,gBAAgB,CAAC;AAGtD,QAAM,eAAe,YAAY,OAAO,aAAkB,IAAI,UAAU,eAAe,OAAO,GAAG,SAAS,UAAU;AAEhH,QAAI,CAAC,WAAW,CAAC,uBAAuB,CAAA;AAExC,eAAW,IAAI;AACf,QAAI,OAAO,GAAG;AACV,oBAAc,WAAS,EAAE,GAAG,MAAM,eAAe,OAAO;AAAA,IAC5D;AAEA,QAAI;AACA,UAAI,OAAkB,CAAA;AACtB,UAAI,mBAA4C,CAAA;AAGhD,UAAI,gBAAgB;AAChB,cAAM,WAAW,MAAM,eAAe;AAAA,UAClC,QAAQ;AAAA,UACR;AAAA,UACA;AAAA,UACA,OAAO,OAAO,KAAK;AAAA,UACnB,QAAQ;AAAA,UACR,OAAO;AAAA,QAAA,CACV;AACD,gBAAO,qCAAU,SAAQ,CAAA;AACzB,4BAAmB,qCAAU,eAAc,CAAA;AAAA,MAC/C,OAAO;AACH,cAAM,WAAW,MAAM,SAAS;AAAA,UAC5B,QAAQ;AAAA,UACR,SAAS;AAAA,YACL;AAAA,YACA,OAAO,OAAO,KAAK;AAAA,YACnB,QAAQ;AAAA,YACR;AAAA,YACA,QAAQ;AAAA,YACR,OAAO;AAAA,UAAA;AAAA,UAEX;AAAA,UACA;AAAA,QAAA,CACH;AACD,gBAAO,qCAAU,SAAQ,CAAA;AACzB,4BAAmB,qCAAU,eAAc,CAAA;AAAA,MAC/C;AAEA,UAAI,QAAQ,MAAM,QAAQ,IAAI,GAAG;AAC7B,sBAAc,MAAM,MAAM;AAG1B,sBAAc,CAAA,UAAS;AAAA,UACnB,GAAG;AAAA,UACH;AAAA,UACA,WAAU,qDAAkB,eAAc,KAAM,OAAO;AAAA,UACvD,QAAO,qDAAkB,eAAc;AAAA,UACvC,eAAe;AAAA,QAAA,EACjB;AAEF,aAAI,6BAAM,UAAS,GAAG;AAClB,0BAAA;AAAA,QACJ;AAAA,MACJ;AAEA,aAAO,QAAQ,CAAA;AAAA,IACnB,SAASI,QAAO;AACZ,cAAQ,MAAM,2BAA2BA,MAAK;AAC9C,oBAAc,WAAS,EAAE,GAAG,MAAM,eAAe,QAAQ;AACzD,aAAO,CAAA;AAAA,IACX,UAAA;AACI,iBAAW,KAAK;AAAA,IACpB;AAAA,EAEJ,GAAG,CAAC,SAAS,gBAAgB,YAAY,WAAW,OAAO,aAAa,CAAC;AAGzE,QAAM,iBAAiB;AAAA,IACnB,MAAM,SAAS,OAAO,eAAuB;AACzC,UAAI,QAAS;AAEb,UAAI,CAAC,cAAc,CAAC,qBAAqB,gBAAgB;AACrD,sBAAc;AAAA,UACV,MAAM;AAAA,UACN,SAAS;AAAA,UACT,eAAe;AAAA,UACf,OAAO;AAAA,QAAA,CACV;AACD,cAAM,aAAa,IAAI,eAAe,GAAG,KAAK;AAAA,MAClD;AACA,WAAI,yCAAY,UAAS,KAAK,CAAC,mBAAmB;AAC9C,sBAAc;AAAA,UACV,MAAM;AAAA,UACN,SAAS;AAAA,UACT,eAAe;AAAA,UACf,OAAO;AAAA,QAAA,CACV;AACD,cAAM,aAAa,YAAY,eAAe,GAAG,KAAK;AAAA,MAC1D;AAAA,IACJ,GAAG,GAAG;AAAA;AAAA,IAEN,CAAC,mBAAmB,gBAAgB,KAAK,UAAU,aAAa,CAAC;AAAA,EAAA;AAIrE,QAAM,eAAe,YAAY,YAAY;AACzC,UAAM,YAAY,KAAK,UAAU,aAAa,MAAM,KAAK,UAAU,UAAU;AAE7E,QAAI,aAAa,CAAC,qBAAqB,CAAC,gBAAgB;AACpD,oBAAc,aAAa;AAC3B,iBAAW,CAAA,CAAE;AACb,wBAAkB,KAAK;AACvB,oBAAc;AAAA,QACV,MAAM;AAAA,QACN,SAAS;AAAA,QACT,eAAe;AAAA,QACf,OAAO;AAAA,MAAA,CACV;AAAA,IACL;AAEA,QAAI,CAAC,qBAAqB,CAAC,gBAAgB;AACvC,YAAM,aAAa,aAAa,eAAe,GAAG,KAAK;AACvD,wBAAkB,IAAI;AAAA,IAC1B;AAAA,EAEJ,GAAG,CAAC,KAAK,UAAU,aAAa,GAAG,mBAAmB,cAAc,CAAC;AAGrE,QAAM,kBAAkB,YAAY,MAAM;AACtC,QAAI,aAAa;AACjB,UAAM,cAAc,mDAAiB;AAAA,MAAO,CAAC,MACzC,WAAW,+BAAO,SAAS,uBAAG,UAAS,uBAAG,UAAS;AAAA;AAGvD,QAAK,MAAM,QAAQ,WAAW,MAAK,2CAAa,UAAS,GAAI;AACzD,yDAAkB,WAAW,cAAc,YAAY,CAAC;AACxD,mBAAa;AAAA,IACjB;AACA,WAAO;AAAA,EACX,GAAG,CAAC,iBAAiB,OAAO,UAAU,eAAe,CAAC;AAGtD,QAAM,iBAAiB,YAAY,YAAY;AAC3C,QAAI,KAAM;AACV,QAAI,MAAM,kBAAmB;AAE7B,UAAM,SAAS,WAAW,UAAS,+BAAO,OAAO,CAAA,MAAK,QAAQ,OAAO,CAAC,CAAC,MAAK,QAAQ,QAAQ;AAC5F,UAAM,aAAa,YAAW,iCAAQ,UAAS,IAAI,WAAW,CAAC;AAE/D,QAAI,WAAW;AACX,wBAAkB,IAAI;AACtB,YAAM,aAAa,IAAI,EAAE,GAAG,eAAe,GAAG,EAAE,UAAU,OAAA,EAAO,GAAK,GAAG,KAAK;AAC9E,wBAAkB,KAAK;AAAA,IAC3B;AAAA,EAEJ,GAAG,CAAC,MAAM,OAAO,KAAK,UAAU,aAAa,CAAC,CAAC;AAE/C,QAAM,WAAW,WACX,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,IACvC,UAAU,QAAQ,UAAU,UAAa,UAAU;AAGzD,YAAU,MAAM;AACZ,QAAI,MAAM;AACN,qBAAe,WAAW;AAAA,IAC9B;AACA,WAAO,MAAM,eAAe,OAAA;AAAA,EAEhC,GAAG,CAAC,aAAa,KAAK,UAAU,aAAa,GAAG,MAAM,gBAAgB,cAAc,CAAC;AAErF,YAAU,MAAM;AACZ,oBAAA;AAAA,EACJ,GAAG,CAAC,eAAe,CAAC;AAEpB,YAAU,MAAM;AACZ,mBAAA;AAAA,EACJ,GAAG,CAAC,cAAc,CAAC;AAEnB,YAAU,MAAM;AACZ,QAAI,MAAM;AACN,mBAAA;AAAA,IACJ;AAAA,EACJ,GAAG,CAAC,MAAM,YAAY,CAAC;AAEvB,YAAU,MAAM;AACZ,UAAM,YAAY,KAAK,UAAU,aAAa,MAAM,KAAK,UAAU,UAAU;AAC7E,QAAI,iBAAiB,WAAW;AAC5B,wBAAkB,KAAK;AAAA,IAC3B;AAAA,EACJ,GAAG,CAAC,eAAe,UAAU,CAAC;AAE9B,YAAU,MAAM;AACZ,QAAI,SAAS,CAAC,MAAM;AAChB,YAAM,gBAAe,mCAAS;AAAA,QAAO,CAAC,MAClC,WAAW,+BAAO,SAAS,uBAAG,UAAS,uBAAG,UAAS;AAAA,YAClD,CAAA;AACL,yBAAmB,YAAY;AAAA,IACnC;AACA,uBAAmB,mDAAiB;AAAA,MAAO,CAAC,MACxC,WAAW,+BAAO,SAAS,uBAAG,UAAS,uBAAG,UAAS;AAAA,KACtD;AAAA,EAEL,GAAG,CAAC,OAAO,MAAM,SAAS,QAAQ,CAAC;AAEnC,QAAM,iBAAiB,CAAC,UAAe;AACnC,UAAM,EAAE,OAAAJ,OAAAA,IAAU,MAAM;AACxB,QAAK,YAAY,MAAM,QAAQA,MAAK,MAAKA,iCAAO,OAAO,CAAA,MAAK,GAAG,WAAU,KAAM,CAACA,OAAO;AAEvF,UAAM,aAAa,CAAC,SAAc;AAC9B,aAAO,WAAWA,iCAAO,SAAS,6BAAM,UAAS,6BAAM,WAAUA;AAAAA,IACrE;AAEA,UAAM,WAAW,mDAAiB,OAAO;AACzC,yCAAW,OAAO,WAAW,WAAW,qCAAW;AAAA,EACvD;AAEA,QAAM,iBAAiB,CAAC,kBAAyB;AAC7C,WAAO,MAAM,QAAQ,aAAa,MAAK,+CAAe,UAAS,MAAK,+CAAe,OAAO,CAAC,WAAW;AAAA,EAC1G;AAEA,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,cAAc,iBAAiB,WAAW,CAAA,IAAK;AAAA,MAC/C;AAAA,MACA,WAAU;AAAA,MACV;AAAA,MACA,QAAQ,MAAM,QAAQ,IAAI;AAAA,MAC1B,SAAS,MAAM;AACX,gBAAQ,KAAK;AACb,aAAI,2CAAa,UAAS,GAAG;AACzB,4BAAkB,KAAK;AAAA,QAC3B;AACA,0BAAkB,KAAK;AACvB,uBAAe,EAAE;AAAA,MACrB;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,OAAO,EAAE,KAAK;AAAA,MACd,WAAS;AAAA,MACT,cAAY;AAAA,MACZ;AAAA,MACA,OAAO,QAAQ,KAAK;AAAA,MACpB;AAAA,MACA,OAAO,iBAAkB,WAAW,CAAA,IAAK,MAAM,+BAAO,OAAM,UAAU,WAAW,CAAA,IAAK;AAAA,MACtF;AAAA,MACA,oBAAoB;AAAA,MACpB,IAAK,aAAY,+BAAO,UAAU,EAAE,GAAG,aAAa,uBAAuB,EAAE,SAAS,mBAAA,EAAmB,IAAM;AAAA,MAC/G,WAAW;AAAA,QACP,YAAY;AAAA,UACR,UAAU;AAAA,UACV,OAAO,EAAE,WAAW,KAAK,UAAU,IAAA;AAAA,QAAI;AAAA,MAC3C;AAAA,MAEJ,OACI,CAAC,WACG;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,OAAM;AAAA,UACN,IAAI;AAAA,UACJ,cACI,oBAAC,gBAAA,EAAe,UAAS,OACpB,qBAAW,aACR;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,MAAM;AAAA,cACN,IAAI,EAAE,IAAI,GAAG,OAAO,UAAA;AAAA,YAAU;AAAA,UAAA,IAGlC,oBAAoB,YAChB;AAAA,YAAC;AAAA,YAAA;AAAA,cACG,cAAW;AAAA,cACX,SAAS;AAAA,cACT,MAAK;AAAA,cACL,IAAI,QAAQ,EAAE,IAAI,QAAQ,EAAE,IAAI,IAAA;AAAA,cAChC,MAAK;AAAA,cAEL,UAAA,oBAAC,OAAA,EAAM,UAAS,SAAQ,OAAM,oBAAA,CAAoB;AAAA,YAAA;AAAA,UAAA,EACtD,CAGZ;AAAA,QAAA;AAAA,MAAA,IAGR;AAAA,MAER,aAAa,CAAC,aAAiC;;AAC3C,eACI,oBAAA,UAAA,EACK,UAAA,MAAM,QAAQ,QAAQ,IACnB;AAAA,UAAC;AAAA,UAAA;AAAA,YACG;AAAA,YACA,MAAM,eAAe,QAAQ;AAAA,YAC7B;AAAA,YACA,UAAU;AAAA,YACV;AAAA,YACA,WAAW;AAAA,cACP,IAAI;AAAA,gBACA,SAAS;AAAA,gBACT,QAAQ;AAAA;AAAA,gBAER,0BAA0B;AAAA,kBACtB,OAAO;AAAA,kBACP,YAAY;AAAA,gBAAA;AAAA,cAChB;AAAA,YACJ;AAAA,UACJ;AAAA,QAAA,IAGJ,MAAM,QAAQ,eAAe,MAAK,mDAAiB,UAAS,OAAK,wDAAiB;AAAA,UAC9E,CAAC,YAAgB,iCAAQ,UAAS;AAAA,cAD2B,mBAE9D,UAAS,YAAY,aAEhC;AAAA,MAER;AAAA,MACA,cAAc,CAAC,SAAS;AACpB,uBAAe,IAAI;AACnB,0BAAkB,IAAI;AAAA,MAC1B;AAAA,MAEC,UAAA;AAAA,QAAA,kBAAkB;AAAA,UACf,SAAS;AAAA,UACT,UAAU,QAAQ,QAAQ;AAAA,UAC1B;AAAA,UACA,QAAQ;AAAA,UACR,iBAAiB;AAAA,UACjB,OAAO;AAAA,YAEH;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,UAEJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAEJ,CAAC;AAAA,QACA,WAAW,iBACR,oBAAC,UAAA,EAAS,UAAQ,MACd,UAAA,oBAAC,KAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,gBAAgB,UAAU,OAAO,OAAA,GACzD,8BAAC,kBAAA,EAAiB,MAAM,GAAA,CAAI,EAAA,CAChC,EAAA,CACJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIhB;"}
@@ -1,14 +1,14 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),a=require("../select/select/index.js"),i=require("../checkbox/checkbox/index.js"),n=require("../typography/typography/index.js"),r=require("lodash"),t=require("../../utils/api/index.js"),o=require("../form-control/form-builder/form-builder-element/chip-or-placeholder/index.js"),s=require("../../hooks/useLangauge/index.js"),u=require("react-i18next"),d=require("../../node_modules/@mui/material/MenuItem/MenuItem/index.js"),c=require("../../node_modules/@mui/material/Box/Box/index.js"),h=require("../../node_modules/@mui/material/CircularProgress/CircularProgress/index.js"),v=require("../../node_modules/@mui/material/OutlinedInput/OutlinedInput/index.js"),p=require("../../node_modules/@mui/material/InputAdornment/InputAdornment/index.js"),f=require("../../node_modules/@mui/material/IconButton/IconButton/index.js"),m=require("../icons/close/index.js"),y=require("../../node_modules/@mui/material/Divider/Divider/index.js"),g=require("../../node_modules/@mui/icons-material/esm/Add/index.js");function x(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=/* @__PURE__ */x(l);const j=({options:l,multiple:a,placeholder:r,with_checkboxes:t,values:o,field:s,disabledIds:u,handleClear:h,handleChange:v,hasParent:p=!1})=>{const f=e=>null==u?void 0:u.includes(e),m=[];a||m.push(
2
- /* @__PURE__ */e.jsx(d.default,{disabled:!0,value:"",sx:{opacity:"0 !important",height:"0 !important",p:"0 !important",m:"0 !important"},children:/* @__PURE__ */e.jsx(n.Typography,{type:"s3",color:"theme.secondary.1000",children:/* @__PURE__ */e.jsx("em",{children:r})})},"placeholder"));const x=Array.isArray(o)?null==o?void 0:o.filter(e=>e):[],b=(e,l)=>{const a=l.map(e=>e.value),i=Array.isArray(x)?x:[x];return a.every(e=>i.includes(e))},j=e=>{const l=e.map(e=>e.value),a=Array.isArray(x)?x:[x];return l.some(e=>a.includes(e))};return Array.isArray(l)&&(null==l?void 0:l.length)>0&&(null==l||l.forEach(l=>{m.push(
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),l=require("react"),a=require("../select/select/index.js"),i=require("../checkbox/checkbox/index.js"),n=require("../typography/typography/index.js"),r=require("lodash"),t=require("../../utils/api/index.js"),o=require("../form-control/form-builder/form-builder-element/chip-or-placeholder/index.js"),s=require("../../hooks/useLangauge/index.js"),u=require("react-i18next"),d=require("../../node_modules/@mui/material/MenuItem/MenuItem/index.js"),c=require("../../node_modules/@mui/material/Box/Box/index.js"),h=require("../../node_modules/@mui/material/CircularProgress/CircularProgress/index.js"),v=require("../../node_modules/@mui/material/OutlinedInput/OutlinedInput/index.js"),p=require("../../node_modules/@mui/material/InputAdornment/InputAdornment/index.js"),f=require("../../node_modules/@mui/material/IconButton/IconButton/index.js"),y=require("../icons/close/index.js"),m=require("../../node_modules/@mui/material/Divider/Divider/index.js"),g=require("../../node_modules/@mui/icons-material/esm/Add/index.js");function x(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=/* @__PURE__ */x(l);const j=({options:l,multiple:a,placeholder:r,with_checkboxes:t,values:o,field:s,disabledIds:u,handleClear:h,handleChange:v,hasParent:p=!1})=>{const f=e=>null==u?void 0:u.includes(e),y=[];a||y.push(
2
+ /* @__PURE__ */e.jsx(d.default,{disabled:!0,value:"",sx:{opacity:"0 !important",height:"0 !important",p:"0 !important",m:"0 !important"},children:/* @__PURE__ */e.jsx(n.Typography,{type:"s3",color:"theme.secondary.1000",children:/* @__PURE__ */e.jsx("em",{children:r})})},"placeholder"));const x=Array.isArray(o)?null==o?void 0:o.filter(e=>e):[],b=(e,l)=>{const a=l.map(e=>e.value),i=Array.isArray(x)?x:[x];return a.every(e=>i.includes(e))},j=e=>{const l=e.map(e=>e.value),a=Array.isArray(x)?x:[x];return l.some(e=>a.includes(e))};return Array.isArray(l)&&(null==l?void 0:l.length)>0&&(null==l||l.forEach(l=>{y.push(
3
3
  /* @__PURE__ */e.jsx(d.default,{value:null==l?void 0:l.value,disabled:Boolean(null==l?void 0:l.disabled)||f(null==l?void 0:l.value),className:(null==l?void 0:l.isGroup)?"select--MenuItemHeader":"",onClick:()=>{1==(null==o?void 0:o.length)&&h()},children:/* @__PURE__ */e.jsxs(c.default,{sx:{display:"flex",gap:1},children:[a&&t&&/* @__PURE__ */e.jsx(i.default,{checked:p?b(l.value,l.options||[]):Boolean(Array.isArray(o)&&(null==o?void 0:o.indexOf(null==l?void 0:l.value))>-1),indeterminate:p&&j(l.options||[]),onChange:()=>p?((e,l)=>{const a=l.map(e=>e.value),i=Array.isArray(x)?x:[x],n=i.includes(e)?i.filter(l=>l!==e&&!a.includes(l)):[.../* @__PURE__ */new Set([...i,e,...a])];null==v||v(n)})(l.value,l.options||[]):null==v?void 0:v(l.value)}),
4
- /* @__PURE__ */e.jsx(n.Typography,{type:"s3",color:"theme.secondary.1000",onClick:()=>null==v?void 0:v(l.value),children:null==l?void 0:l.label})]})},null==l?void 0:l.value)),(null==l?void 0:l.isGroup)&&Array.isArray(null==l?void 0:l.options)&&l.options.forEach(r=>{m.push(
4
+ /* @__PURE__ */e.jsx(n.Typography,{type:"s3",color:"theme.secondary.1000",onClick:()=>null==v?void 0:v(l.value),children:null==l?void 0:l.label})]})},null==l?void 0:l.value)),(null==l?void 0:l.isGroup)&&Array.isArray(null==l?void 0:l.options)&&l.options.forEach(r=>{y.push(
5
5
  /* @__PURE__ */e.jsx(d.default,{value:r.value,disabled:Boolean(r.disabled)||f(r.value),sx:{pl:5},onClick:()=>{1==(null==o?void 0:o.length)&&h()},children:/* @__PURE__ */e.jsxs(c.default,{sx:{display:"flex",gap:1},children:[a&&t&&/* @__PURE__ */e.jsx(i.default,{checked:Boolean(Array.isArray(o)&&(null==o?void 0:o.indexOf(r.value))>-1)}),
6
- /* @__PURE__ */e.jsx(n.Typography,{type:"s3",color:"theme.secondary.1000",onClick:()=>null==v?void 0:v(String(r.value)),children:"Payment Entries"==r.label?"Payment and Collection Entries":r.label||r.value})]})},`${l.value}-${r.value}`))})})),s.enable_footer&&m.push(
6
+ /* @__PURE__ */e.jsx(n.Typography,{type:"s3",color:"theme.secondary.1000",onClick:()=>null==v?void 0:v(String(r.value)),children:"Payment Entries"==r.label?"Payment and Collection Entries":r.label||r.value})]})},`${l.value}-${r.value}`))})})),s.enable_footer&&y.push(
7
7
  /* @__PURE__ */e.jsxs(c.default,{children:[
8
- /* @__PURE__ */e.jsx(y.default,{flexItem:!0}),
8
+ /* @__PURE__ */e.jsx(m.default,{flexItem:!0}),
9
9
  /* @__PURE__ */e.jsxs(d.default,{sx:{gap:1},onClick:s.onFooterClick,children:[
10
10
  /* @__PURE__ */e.jsx(g.default,{fontSize:"small"}),
11
- /* @__PURE__ */e.jsxs(n.Typography,{type:"s4",color:"theme.secondary.1000",children:["Create New ",s.label]})]})]},"footer")),m.length&&(1!=m.length||a)||m.push(
12
- /* @__PURE__ */e.jsx(d.default,{disabled:!0,children:"No data available"},"no-data")),m};exports.default=i=>{const{labelId:n,label:y,value:g,onChange:x,options:C,multiple:A=!1,size:S="small",searchPlaceholder:M,placeholder:k,name:w,defaultValue:q,apiType:L,isInternal:I=!1,autoFocus:O,error:_,disabled:N,customeFilter:B,attributes:P,getSelectedData:E,disabledIds:J,onChipRemove:T,selectedLabel:F,is_loading:z,customStyle:D={},CustomDropDownIcon:K,labelKey:V,valueKey:H,inputStyle:W,hasParent:G=!1,sortOrder:R="id:-1",handleChange:$,enable_footer:Q=!1,onFooterClick:U,showCancelButton:X=!0,customFetchApi:Y}=i,[Z,ee]=l.useState(""),[le,ae]=l.useState(!1),[ie,ne]=l.useState([]),[re,te]=l.useState([]),[oe,se]=l.useState(!1),[ue,de]=l.useState(!1),[ce,he]=l.useState(!1),[ve,pe]=l.useState(!1),[fe,me]=l.useState(null),{t:ye}=u.useTranslation(),[ge,xe]=l.useState({page:1,hasMore:!0,isLoadingMore:!1,total:0}),{isRtl:be}=s.useLanguage(),je=25,Ce=l.useMemo(()=>I||!L&&!Y,[I,L,Y]),Ae=l.useCallback((e,l)=>{if(!e)return C||[];const a=e.toLowerCase(),i=G?(null==C?void 0:C.reduce((e,l)=>{var i;const n=null==(i=l.options)?void 0:i.filter(e=>{const l=b.default.isValidElement(e.label)?e.searchLabel:String(e.label);return null==l?void 0:l.toLowerCase().includes(a)});return(null==n?void 0:n.length)&&e.push({...l,options:n}),e},[]))||[]:(null==C?void 0:C.filter(e=>{const l=b.default.isValidElement(e.label)?e.searchLabel:String(e.label);return null==l?void 0:l.toLowerCase().includes(a)}))||[];return ke(i,l)},[C,G]),Se=()=>{null==x||x({target:{value:A?[]:null}}),E&&"function"==typeof E&&E(null)},Me=l.useCallback(e=>[...new Map(null==e?void 0:e.map(e=>[e.value,e])).values()],[]),ke=l.useCallback((e,l)=>{const a=Array.isArray(l)?l:[l];return r.sortBy(e,e=>{const l=a.indexOf(e.id||e.value);return-1===l?1/0:l})},[]),we=l.useMemo(()=>Ce?Ae(Z,g):ke(Me([...ie,...re]),g),[Z,ie,C,g,Ce,re,Ae,ke,Me]),qe=l.useCallback(e=>{const{scrollTop:l,scrollHeight:a,clientHeight:i}=e.currentTarget;if(a-l<=i+10&&ge.hasMore&&!ge.isLoadingMore&&!Ce){const e=ge.page+1;Ie(Z,B,e,!0)}},[ge.hasMore,ge.isLoadingMore,ge.page,Ce,Z,JSON.stringify(B)]),Le=l.useCallback((e,l=!1)=>{const a=Me([...l?ie:re,...e]);ne(a)},[ie,re,Me]),Ie=l.useCallback(async(e="",l=B,a=1,i=!1)=>{if(!L&&!Y)return[];ae(!0),a>1&&xe(e=>({...e,isLoadingMore:!0}));try{let n=[],r={};if(Y){const i=await Y({search:e,filters:l,limit:je,skip:(a-1)*je,select:P,order:R});n=(null==i?void 0:i.data)||[],r=(null==i?void 0:i.pagination)||{}}else{const i=await t.fetchApi({apiKey:L,filters:{limit:je,skip:(a-1)*je,search:e,filters:l,select:P,order:R},labelKey:V,valueKey:H});n=(null==i?void 0:i.data)||[],r=(null==i?void 0:i.pagination)||{}}return n&&Array.isArray(n)&&(Le(n,i),xe(e=>({...e,page:a,hasMore:((null==r?void 0:r.totalCount)||0)>a*je,total:(null==r?void 0:r.totalCount)||0,isLoadingMore:!1})),(null==n?void 0:n.length)>0&&Ne()),n||[]}catch(n){return xe(e=>({...e,isLoadingMore:!1})),[]}finally{ae(!1)}},[L,Y,P,R,je,Le]),Oe=l.useMemo(()=>r.debounce(async e=>{le||(e||Ce||!ce||(xe({page:1,hasMore:!0,isLoadingMore:!1,total:0}),await Ie("",B,1,!1)),(null==e?void 0:e.length)>1&&!Ce&&(xe({page:1,hasMore:!0,isLoadingMore:!1,total:0}),await Ie(e,B,1,!1)))},700),[Ce,ce,JSON.stringify(B)]),_e=l.useCallback(async()=>{!(JSON.stringify(B)!==JSON.stringify(fe))||Ce||oe||(me(B),ne([]),se(!1),xe({page:1,hasMore:!0,isLoadingMore:!1,total:0})),Ce||oe||(await Ie(Z,B,1,!1),se(!0))},[JSON.stringify(B),Ce,oe]),Ne=l.useCallback(()=>{let e=!1;const l=null==we?void 0:we.filter(e=>A?null==g?void 0:g.includes(null==e?void 0:e.value):(null==e?void 0:e.value)==g);return Array.isArray(l)&&(null==l?void 0:l.length)>0&&(null==E||E(A?l:l[0]),e=!0),e},[we,g,A,E]),Be=l.useCallback(async()=>{if(ve)return;if(await Ne())return;const e=A?g&&(null==g?void 0:g.filter(e=>Boolean(Number(e)))):Number(g)?g:null;(A?(null==e?void 0:e.length)>0:e)&&!Ce&&(de(!0),await Ie("",{...B,"&id.in":e},1,!1),de(!1))},[ve,g,JSON.stringify(B)]),Pe=A?Array.isArray(g)&&g.length>0:null!=g&&""!==g;return l.useEffect(()=>(ve&&Oe(Z),()=>Oe.cancel()),[Z,JSON.stringify(B),ve,oe,Oe]),l.useEffect(()=>{Ne()},[Ne]),l.useEffect(()=>{Be()},[Be]),l.useEffect(()=>{ve&&_e()},[ve,_e]),l.useEffect(()=>{const e=JSON.stringify(B)!==JSON.stringify(fe);B&&e&&se(!1)},[B,fe]),l.useEffect(()=>{if(g&&!ve){const e=(null==C?void 0:C.filter(e=>A?null==g?void 0:g.includes(null==e?void 0:e.value):(null==e?void 0:e.value)==g))||[];te(e)}te(null==we?void 0:we.filter(e=>A?null==g?void 0:g.includes(null==e?void 0:e.value):(null==e?void 0:e.value)==g))},[g,ve,C,A]),/* @__PURE__ */e.jsxs(a.default,{labelId:n,name:w,defaultValue:q||(A?[]:""),placeholder:k,className:"filter-select",size:S,onOpen:()=>pe(!0),onClose:()=>{pe(!1),(null==Z?void 0:Z.length)>0&&se(!1),he(!1),ee("")},onChange:e=>{const{value:l}=e.target;if(A&&Array.isArray(l)&&0==(null==l?void 0:l.filter(e=>e).length)||!l)return;const a=null==we?void 0:we.filter(e=>A?null==l?void 0:l.includes(null==e?void 0:e.value):(null==e?void 0:e.value)===l);null==x||x(e,A?a:null==a?void 0:a[0])},showCancelButton:X,multiple:A,label:ye(y),fullWidth:!0,displayEmpty:!0,autoFocus:O,error:Boolean(_),disabled:N,value:ue?A?[]:"":(null==g?void 0:g.id)||g||(A?[]:""),searchPlaceholder:M,CustomDropdownIcon:K,sx:A&&(null==g?void 0:g.length)?{...D,"& .MuiSelect-select":{padding:"5.5px !important"}}:D,MenuProps:{PaperProps:{onScroll:qe,style:{maxHeight:295,maxWidth:250}}},input:N?void 0:/* @__PURE__ */e.jsx(v.default,{label:"",sx:W,endAdornment:/* @__PURE__ */e.jsx(p.default,{position:"end",children:le||z?/* @__PURE__ */e.jsx(h.default,{size:20,sx:{mr:3,color:"#4AC08C"}}):X&&Pe&&/* @__PURE__ */e.jsx(f.default,{"aria-label":"clear selection",onClick:Se,edge:"end",sx:be?{ml:2.5}:{mr:1.5},size:"small",children:/* @__PURE__ */e.jsx(m.Close,{fontSize:"small",color:"theme.primary.800"})})})}),renderValue:l=>{var a,i;/* @__PURE__ */
13
- return e.jsx(e.Fragment,{children:Array.isArray(l)?/* @__PURE__ */e.jsx(o.default,{selectedLabel:F,data:(i=l,Array.isArray(i)&&(null==i?void 0:i.length)>0&&(null==i?void 0:i.filter(e=>e))),placeholder:k,onDelete:T,disabled:N,chipProps:{sx:{bgcolor:"theme.primary.100",border:0,"& .MuiTypography-body1":{color:"theme.primary.800",fontWeight:"500"}}}}):Array.isArray(we)&&(null==we?void 0:we.length)>0&&(null==(a=null==we?void 0:we.find(e=>(null==e?void 0:e.value)==g))?void 0:a.label)||l||k})},handleSearch:e=>{ee(e),he(!0)},children:[j({options:we,multiple:Boolean(A),placeholder:k,values:g,with_checkboxes:!0,field:{enable_footer:Q,onFooterClick:U,label:y},disabledIds:J,handleClear:Se,handleChange:$,hasParent:G}),ge.isLoadingMore&&/* @__PURE__ */e.jsx(d.default,{disabled:!0,children:/* @__PURE__ */e.jsx(c.default,{sx:{display:"flex",justifyContent:"center",width:"100%"},children:/* @__PURE__ */e.jsx(h.default,{size:20})})})]})};
11
+ /* @__PURE__ */e.jsxs(n.Typography,{type:"s4",color:"theme.secondary.1000",children:["Create New ",s.label]})]})]},"footer")),y.length&&(1!=y.length||a)||y.push(
12
+ /* @__PURE__ */e.jsx(d.default,{disabled:!0,children:"No data available"},"no-data")),y};exports.default=i=>{const{labelId:n,label:m,value:g,onChange:x,options:C,multiple:A=!1,size:S="small",searchPlaceholder:M,placeholder:k,name:w,defaultValue:q,apiType:L,isInternal:I=!1,autoFocus:O,error:_,disabled:B,customeFilter:N,attributes:P,getSelectedData:E,disabledIds:J,onChipRemove:T,selectedLabel:F,is_loading:z,customStyle:D={},CustomDropDownIcon:K,labelKey:V,valueKey:H,inputStyle:W,hasParent:G=!1,sortOrder:R="id:-1",handleChange:$,enable_footer:Q=!1,onFooterClick:U,showCancelButton:X=!0,customFetchApi:Y}=i,[Z,ee]=l.useState(""),[le,ae]=l.useState(!1),[ie,ne]=l.useState([]),[re,te]=l.useState([]),[oe,se]=l.useState(!1),[ue,de]=l.useState(!1),[ce,he]=l.useState(!1),[ve,pe]=l.useState(!1),[fe,ye]=l.useState(null),{t:me}=u.useTranslation(),[ge,xe]=l.useState({page:1,hasMore:!0,isLoadingMore:!1,total:0}),{isRtl:be}=s.useLanguage(),je=25,Ce=l.useMemo(()=>I||!L&&!Y,[I,L,Y]),Ae=l.useCallback((e,l)=>{if(!e)return C||[];const a=e.toLowerCase(),i=G?(null==C?void 0:C.reduce((e,l)=>{var i;const n=null==(i=l.options)?void 0:i.filter(e=>{const l=b.default.isValidElement(e.label)?e.searchLabel:String(e.label);return null==l?void 0:l.toLowerCase().includes(a)});return(null==n?void 0:n.length)&&e.push({...l,options:n}),e},[]))||[]:(null==C?void 0:C.filter(e=>{const l=b.default.isValidElement(e.label)?e.searchLabel:String(e.label);return null==l?void 0:l.toLowerCase().includes(a)}))||[];return ke(i,l)},[C,G]),Se=()=>{null==x||x({target:{value:A?[]:null}}),E&&"function"==typeof E&&E(null)},Me=l.useCallback(e=>[...new Map(null==e?void 0:e.map(e=>[e.value,e])).values()],[]),ke=l.useCallback((e,l)=>{const a=Array.isArray(l)?l:[l];return r.sortBy(e,e=>{const l=a.indexOf(e.id||e.value);return-1===l?1/0:l})},[]),we=l.useMemo(()=>Ce?Ae(Z,g):ke(Me([...ie,...re]),g),[Z,ie,C,g,Ce,re,Ae,ke,Me]),qe=l.useCallback(e=>{const{scrollTop:l,scrollHeight:a,clientHeight:i}=e.currentTarget;if(a-l<=i+10&&ge.hasMore&&!ge.isLoadingMore&&!Ce){const e=ge.page+1;Ie(Z,N,e,!0)}},[ge.hasMore,ge.isLoadingMore,ge.page,Ce,Z,JSON.stringify(N)]),Le=l.useCallback((e,l=!1)=>{const a=Me([...l?ie:re,...e]);ne(a)},[ie,re,Me]),Ie=l.useCallback(async(e="",l=N,a=1,i=!1)=>{if(!L&&!Y)return[];ae(!0),a>1&&xe(e=>({...e,isLoadingMore:!0}));try{let n=[],r={};if(Y){const i=await Y({search:e,filters:l,limit:je,skip:(a-1)*je,select:P,order:R});n=(null==i?void 0:i.data)||[],r=(null==i?void 0:i.pagination)||{}}else{const i=await t.fetchApi({apiKey:L,filters:{limit:je,skip:(a-1)*je,search:e,filters:l,select:P,order:R},labelKey:V,valueKey:H});n=(null==i?void 0:i.data)||[],r=(null==i?void 0:i.pagination)||{}}return n&&Array.isArray(n)&&(Le(n,i),xe(e=>({...e,page:a,hasMore:((null==r?void 0:r.totalCount)||0)>a*je,total:(null==r?void 0:r.totalCount)||0,isLoadingMore:!1})),(null==n?void 0:n.length)>0&&Be()),n||[]}catch(n){return xe(e=>({...e,isLoadingMore:!1})),[]}finally{ae(!1)}},[L,Y,P,R,je,Le]),Oe=l.useMemo(()=>r.debounce(async e=>{le||(e||Ce||!ce||(xe({page:1,hasMore:!0,isLoadingMore:!1,total:0}),await Ie("",N,1,!1)),(null==e?void 0:e.length)>1&&!Ce&&(xe({page:1,hasMore:!0,isLoadingMore:!1,total:0}),await Ie(e,N,1,!1)))},700),[Ce,ce,JSON.stringify(N)]),_e=l.useCallback(async()=>{!(JSON.stringify(N)!==JSON.stringify(fe))||Ce||oe||(ye(N),ne([]),se(!1),xe({page:1,hasMore:!0,isLoadingMore:!1,total:0})),Ce||oe||(await Ie(Z,N,1,!1),se(!0))},[JSON.stringify(N),Ce,oe]),Be=l.useCallback(()=>{let e=!1;const l=null==we?void 0:we.filter(e=>A?null==g?void 0:g.includes(null==e?void 0:e.value):(null==e?void 0:e.value)==g);return Array.isArray(l)&&(null==l?void 0:l.length)>0&&(null==E||E(A?l:l[0]),e=!0),e},[we,g,A,E]),Ne=l.useCallback(async()=>{if(ve)return;if(await Be())return;const e=A?g&&(null==g?void 0:g.filter(e=>Boolean(Number(e)))):g||null;(A?(null==e?void 0:e.length)>0:e)&&!Ce&&(de(!0),await Ie("",{...N,"&id.in":e},1,!1),de(!1))},[ve,g,JSON.stringify(N)]),Pe=A?Array.isArray(g)&&g.length>0:null!=g&&""!==g;return l.useEffect(()=>(ve&&Oe(Z),()=>Oe.cancel()),[Z,JSON.stringify(N),ve,oe,Oe]),l.useEffect(()=>{Be()},[Be]),l.useEffect(()=>{Ne()},[Ne]),l.useEffect(()=>{ve&&_e()},[ve,_e]),l.useEffect(()=>{const e=JSON.stringify(N)!==JSON.stringify(fe);N&&e&&se(!1)},[N,fe]),l.useEffect(()=>{if(g&&!ve){const e=(null==C?void 0:C.filter(e=>A?null==g?void 0:g.includes(null==e?void 0:e.value):(null==e?void 0:e.value)==g))||[];te(e)}te(null==we?void 0:we.filter(e=>A?null==g?void 0:g.includes(null==e?void 0:e.value):(null==e?void 0:e.value)==g))},[g,ve,C,A]),/* @__PURE__ */e.jsxs(a.default,{labelId:n,name:w,defaultValue:q||(A?[]:""),placeholder:k,className:"filter-select",size:S,onOpen:()=>pe(!0),onClose:()=>{pe(!1),(null==Z?void 0:Z.length)>0&&se(!1),he(!1),ee("")},onChange:e=>{const{value:l}=e.target;if(A&&Array.isArray(l)&&0==(null==l?void 0:l.filter(e=>e).length)||!l)return;const a=null==we?void 0:we.filter(e=>A?null==l?void 0:l.includes(null==e?void 0:e.value):(null==e?void 0:e.value)===l);null==x||x(e,A?a:null==a?void 0:a[0])},showCancelButton:X,multiple:A,label:me(m),fullWidth:!0,displayEmpty:!0,autoFocus:O,error:Boolean(_),disabled:B,value:ue?A?[]:"":(null==g?void 0:g.id)||g||(A?[]:""),searchPlaceholder:M,CustomDropdownIcon:K,sx:A&&(null==g?void 0:g.length)?{...D,"& .MuiSelect-select":{padding:"5.5px !important"}}:D,MenuProps:{PaperProps:{onScroll:qe,style:{maxHeight:295,maxWidth:250}}},input:B?void 0:/* @__PURE__ */e.jsx(v.default,{label:"",sx:W,endAdornment:/* @__PURE__ */e.jsx(p.default,{position:"end",children:le||z?/* @__PURE__ */e.jsx(h.default,{size:20,sx:{mr:3,color:"#4AC08C"}}):X&&Pe&&/* @__PURE__ */e.jsx(f.default,{"aria-label":"clear selection",onClick:Se,edge:"end",sx:be?{ml:2.5}:{mr:1.5},size:"small",children:/* @__PURE__ */e.jsx(y.Close,{fontSize:"small",color:"theme.primary.800"})})})}),renderValue:l=>{var a,i;/* @__PURE__ */
13
+ return e.jsx(e.Fragment,{children:Array.isArray(l)?/* @__PURE__ */e.jsx(o.default,{selectedLabel:F,data:(i=l,Array.isArray(i)&&(null==i?void 0:i.length)>0&&(null==i?void 0:i.filter(e=>e))),placeholder:k,onDelete:T,disabled:B,chipProps:{sx:{bgcolor:"theme.primary.100",border:0,"& .MuiTypography-body1":{color:"theme.primary.800",fontWeight:"500"}}}}):Array.isArray(we)&&(null==we?void 0:we.length)>0&&(null==(a=null==we?void 0:we.find(e=>(null==e?void 0:e.value)==g))?void 0:a.label)||l||k})},handleSearch:e=>{ee(e),he(!0)},children:[j({options:we,multiple:Boolean(A),placeholder:k,values:g,with_checkboxes:!0,field:{enable_footer:Q,onFooterClick:U,label:m},disabledIds:J,handleClear:Se,handleChange:$,hasParent:G}),ge.isLoadingMore&&/* @__PURE__ */e.jsx(d.default,{disabled:!0,children:/* @__PURE__ */e.jsx(c.default,{sx:{display:"flex",justifyContent:"center",width:"100%"},children:/* @__PURE__ */e.jsx(h.default,{size:20})})})]})};
14
14
  //# sourceMappingURL=index.js.map