@erpsquad/common 1.10.1-test → 1.10.2-test

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 (118) hide show
  1. package/dist/{Tooltip-0Msd6gJs.js → Tooltip-BWIywPIG.js} +2 -2
  2. package/dist/{Tooltip-0Msd6gJs.js.map → Tooltip-BWIywPIG.js.map} +1 -1
  3. package/dist/{Tooltip-DBg9E0nY.esm.js → Tooltip-BuKMQR27.esm.js} +5 -5
  4. package/dist/{Tooltip-DBg9E0nY.esm.js.map → Tooltip-BuKMQR27.esm.js.map} +1 -1
  5. package/dist/{android-12-switch-C2yR_ny0.js → android-12-switch-Cwoy0lqC.js} +2 -2
  6. package/dist/{android-12-switch-C2yR_ny0.js.map → android-12-switch-Cwoy0lqC.js.map} +1 -1
  7. package/dist/{android-12-switch-CFHHRoXl.esm.js → android-12-switch-DIRd6Hz1.esm.js} +10 -10
  8. package/dist/{android-12-switch-CFHHRoXl.esm.js.map → android-12-switch-DIRd6Hz1.esm.js.map} +1 -1
  9. package/dist/{apiHelper-C7xLzw2l.esm.js → apiHelper-BLkPhudw.esm.js} +5 -5
  10. package/dist/{apiHelper-C7xLzw2l.esm.js.map → apiHelper-BLkPhudw.esm.js.map} +1 -1
  11. package/dist/{apiHelper-uNnzNGPt.js → apiHelper-DurABKEn.js} +2 -2
  12. package/dist/{apiHelper-uNnzNGPt.js.map → apiHelper-DurABKEn.js.map} +1 -1
  13. package/dist/{arrow-up-RDVMEaNg.esm.js → arrow-up-BYufujcs.esm.js} +47 -48
  14. package/dist/arrow-up-BYufujcs.esm.js.map +1 -0
  15. package/dist/{arrow-up-CZCTjL2a.js → arrow-up-u2i6ArLB.js} +47 -47
  16. package/dist/arrow-up-u2i6ArLB.js.map +1 -0
  17. package/dist/components/icons/create-custom-icon.d.ts +16 -0
  18. package/dist/components/index.esm.js +14 -14
  19. package/dist/components/index.js +1 -1
  20. package/dist/contexts/index.esm.js +3 -3
  21. package/dist/contexts/index.js +1 -1
  22. package/dist/{dashboard-BU3Ivh-m.esm.js → dashboard-BHs900IA.esm.js} +3 -3
  23. package/dist/dashboard-BHs900IA.esm.js.map +1 -0
  24. package/dist/{dashboard-DC1wsH2n.js → dashboard-ecHBMV8C.js} +3 -3
  25. package/dist/dashboard-ecHBMV8C.js.map +1 -0
  26. package/dist/{default-data-DMRyIpbS.js → default-data-kq9UR-LT.js} +2 -2
  27. package/dist/{default-data-DMRyIpbS.js.map → default-data-kq9UR-LT.js.map} +1 -1
  28. package/dist/{default-data-DZ7_2K9V.esm.js → default-data-rqQOC7ed.esm.js} +10 -10
  29. package/dist/{default-data-DZ7_2K9V.esm.js.map → default-data-rqQOC7ed.esm.js.map} +1 -1
  30. package/dist/{document-MTw-RQlt.js → document-Dat2mYKY.js} +7 -7
  31. package/dist/document-Dat2mYKY.js.map +1 -0
  32. package/dist/{document-jQDTo49w.esm.js → document-Dc0e4Wgt.esm.js} +3 -4
  33. package/dist/document-Dc0e4Wgt.esm.js.map +1 -0
  34. package/dist/{form-builder-deconversion-DUwJpbWi.js → form-builder-deconversion-Bt6_FHty.js} +2 -2
  35. package/dist/{form-builder-deconversion-DUwJpbWi.js.map → form-builder-deconversion-Bt6_FHty.js.map} +1 -1
  36. package/dist/{form-builder-deconversion-BmnMG6UA.esm.js → form-builder-deconversion-CjCls618.esm.js} +3 -3
  37. package/dist/{form-builder-deconversion-BmnMG6UA.esm.js.map → form-builder-deconversion-CjCls618.esm.js.map} +1 -1
  38. package/dist/{fullScreen-bLbPf_Sx.esm.js → fullScreen-B7NBNLnc.esm.js} +2 -2
  39. package/dist/{fullScreen-bLbPf_Sx.esm.js.map → fullScreen-B7NBNLnc.esm.js.map} +1 -1
  40. package/dist/{fullScreen-z8Ci7IBM.js → fullScreen-Bk29OQHQ.js} +2 -2
  41. package/dist/{fullScreen-z8Ci7IBM.js.map → fullScreen-Bk29OQHQ.js.map} +1 -1
  42. package/dist/hooks/index.esm.js +5 -5
  43. package/dist/hooks/index.js +1 -1
  44. package/dist/icons/index.esm.js +7 -7
  45. package/dist/icons/index.js +1 -1
  46. package/dist/{index-abVANnYO.esm.js → index-CasNCevI.esm.js} +3 -3
  47. package/dist/{index-abVANnYO.esm.js.map → index-CasNCevI.esm.js.map} +1 -1
  48. package/dist/{index-C2m4EKMw.js → index-D6O6Gc88.js} +2 -2
  49. package/dist/{index-C2m4EKMw.js.map → index-D6O6Gc88.js.map} +1 -1
  50. package/dist/index.esm.js +19 -19
  51. package/dist/index.js +1 -1
  52. package/dist/{languageContext-z0EIAM7m.esm.js → languageContext-BqGnL8Sv.esm.js} +2 -2
  53. package/dist/{languageContext-z0EIAM7m.esm.js.map → languageContext-BqGnL8Sv.esm.js.map} +1 -1
  54. package/dist/{languageContext-7DprjT6b.js → languageContext-hAPMY56Y.js} +2 -2
  55. package/dist/{languageContext-7DprjT6b.js.map → languageContext-hAPMY56Y.js.map} +1 -1
  56. package/dist/layout/index.esm.js +4 -4
  57. package/dist/layout/index.js +1 -1
  58. package/dist/{migration-utils-DRGPH-n4.js → migration-utils-Bh98qTkC.js} +2 -2
  59. package/dist/{migration-utils-DRGPH-n4.js.map → migration-utils-Bh98qTkC.js.map} +1 -1
  60. package/dist/{migration-utils-BzRKOUW0.esm.js → migration-utils-byCdwgkF.esm.js} +2 -2
  61. package/dist/{migration-utils-BzRKOUW0.esm.js.map → migration-utils-byCdwgkF.esm.js.map} +1 -1
  62. package/dist/notification-BsWK2s3n.js +7 -0
  63. package/dist/notification-BsWK2s3n.js.map +1 -0
  64. package/dist/{notification-BNeR5Dyl.esm.js → notification-Dbo3l5Vw.esm.js} +27 -5
  65. package/dist/notification-Dbo3l5Vw.esm.js.map +1 -0
  66. package/dist/{sidebar-C6-wzTTF.esm.js → sidebar-DTv1DxTn.esm.js} +5 -5
  67. package/dist/{sidebar-C6-wzTTF.esm.js.map → sidebar-DTv1DxTn.esm.js.map} +1 -1
  68. package/dist/{sidebar-BT_zTOCc.js → sidebar-U2vsFarM.js} +2 -2
  69. package/dist/{sidebar-BT_zTOCc.js.map → sidebar-U2vsFarM.js.map} +1 -1
  70. package/dist/src/components/icons/create-custom-icon.d.ts +16 -0
  71. package/dist/{tick-CcyPwRXL.esm.js → tick-Cogsd5aG.esm.js} +8 -9
  72. package/dist/tick-Cogsd5aG.esm.js.map +1 -0
  73. package/dist/{tick-Ct-Ir-1S.js → tick-XKXM5oTD.js} +22 -22
  74. package/dist/tick-XKXM5oTD.js.map +1 -0
  75. package/dist/{toggle-switch-FMTO6609.esm.js → toggle-switch-Day9cZg5.esm.js} +3 -4
  76. package/dist/toggle-switch-Day9cZg5.esm.js.map +1 -0
  77. package/dist/{toggle-switch-BghzgMG8.js → toggle-switch-P3dX3iMp.js} +5 -5
  78. package/dist/toggle-switch-P3dX3iMp.js.map +1 -0
  79. package/dist/{trash-BTwzTBYO.esm.js → trash-cWyby5W5.esm.js} +36 -37
  80. package/dist/trash-cWyby5W5.esm.js.map +1 -0
  81. package/dist/{trash-5CZCQE4a.js → trash-iM5WzuPQ.js} +124 -124
  82. package/dist/trash-iM5WzuPQ.js.map +1 -0
  83. package/dist/{uom-field-wrapper-6F9MCc0-.js → uom-field-wrapper-D4vafbb3.js} +2 -2
  84. package/dist/{uom-field-wrapper-6F9MCc0-.js.map → uom-field-wrapper-D4vafbb3.js.map} +1 -1
  85. package/dist/{uom-field-wrapper-3usHZZm1.esm.js → uom-field-wrapper-DHzy94__.esm.js} +12 -12
  86. package/dist/{uom-field-wrapper-3usHZZm1.esm.js.map → uom-field-wrapper-DHzy94__.esm.js.map} +1 -1
  87. package/dist/{useAccountSetting-ChWt7JwC.js → useAccountSetting-CNoWakIN.js} +2 -2
  88. package/dist/{useAccountSetting-ChWt7JwC.js.map → useAccountSetting-CNoWakIN.js.map} +1 -1
  89. package/dist/{useAccountSetting-BEKGFdbo.esm.js → useAccountSetting-D2gUGGca.esm.js} +2 -2
  90. package/dist/{useAccountSetting-BEKGFdbo.esm.js.map → useAccountSetting-D2gUGGca.esm.js.map} +1 -1
  91. package/dist/{useAuth-C18aZa1n.esm.js → useAuth-Bvid1bpz.esm.js} +2 -2
  92. package/dist/{useAuth-C18aZa1n.esm.js.map → useAuth-Bvid1bpz.esm.js.map} +1 -1
  93. package/dist/{useAuth-Dpe5kDa6.js → useAuth-CVokk6Ra.js} +2 -2
  94. package/dist/{useAuth-Dpe5kDa6.js.map → useAuth-CVokk6Ra.js.map} +1 -1
  95. package/dist/{useLangauge-DKPl4qKr.esm.js → useLangauge-BQjH-l_B.esm.js} +2 -2
  96. package/dist/{useLangauge-DKPl4qKr.esm.js.map → useLangauge-BQjH-l_B.esm.js.map} +1 -1
  97. package/dist/{useLangauge-DaCaybJt.js → useLangauge-ySJIB0GV.js} +2 -2
  98. package/dist/{useLangauge-DaCaybJt.js.map → useLangauge-ySJIB0GV.js.map} +1 -1
  99. package/dist/utils/index.esm.js +3 -3
  100. package/dist/utils/index.js +1 -1
  101. package/dist/views/index.esm.js +5 -5
  102. package/dist/views/index.js +1 -1
  103. package/package.json +1 -1
  104. package/dist/arrow-up-CZCTjL2a.js.map +0 -1
  105. package/dist/arrow-up-RDVMEaNg.esm.js.map +0 -1
  106. package/dist/dashboard-BU3Ivh-m.esm.js.map +0 -1
  107. package/dist/dashboard-DC1wsH2n.js.map +0 -1
  108. package/dist/document-MTw-RQlt.js.map +0 -1
  109. package/dist/document-jQDTo49w.esm.js.map +0 -1
  110. package/dist/notification-BNeR5Dyl.esm.js.map +0 -1
  111. package/dist/notification-BmKHaKZF.js +0 -6
  112. package/dist/notification-BmKHaKZF.js.map +0 -1
  113. package/dist/tick-CcyPwRXL.esm.js.map +0 -1
  114. package/dist/tick-Ct-Ir-1S.js.map +0 -1
  115. package/dist/toggle-switch-BghzgMG8.js.map +0 -1
  116. package/dist/toggle-switch-FMTO6609.esm.js.map +0 -1
  117. package/dist/trash-5CZCQE4a.js.map +0 -1
  118. package/dist/trash-BTwzTBYO.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"form-builder-deconversion-BmnMG6UA.esm.js","sources":["../src/components/menu/menu.tsx","../src/components/material-table/aggregation-fns/index.ts","../src/components/material-table/components/default-aggregation.tsx","../src/components/chip/chip.tsx","../src/components/value-field/value-field.tsx","../src/utils/common-utility.tsx","../src/utils/form-builder-deconversion.ts"],"sourcesContent":["import { Menu as MUIMenu, MenuProps, styled } from \"@mui/material\";\r\n\r\nconst StyledMenu = styled(MUIMenu)(() => ({\r\n \".MuiPaper-rounded\": {\r\n borderRadius: \"0.5rem\",\r\n minWidth: \"10rem\",\r\n },\r\n}));\r\n\r\nconst Menu = ({ children, anchorEl, onClose, open, ...rest }: MenuProps) => {\r\n return (\r\n <>\r\n <StyledMenu\r\n id=\"basic-menu\"\r\n anchorEl={anchorEl}\r\n open={open}\r\n onClose={onClose}\r\n MenuListProps={{\r\n \"aria-labelledby\": \"basic-button\",\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </StyledMenu>\r\n </>\r\n );\r\n};\r\n\r\nexport { Menu };\r\nexport default Menu;\r\n","import _ from 'lodash';\nimport { MRT_RowData } from 'material-react-table';\n\nconst average = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\tconst count = data.length;\n\treturn !isNaN(sum) ? `${_.round(sum / count,2)}` : '-';\n};\n\nconst extractNumber = (inputString: any) => {\n\t// Use a regular expression to match the numeric part, including decimals\n\tif (typeof inputString === 'string') {\n\t\tconst match = inputString.match(/[\\d,]+(\\.\\d{1,2})?/);\n\t\treturn match ? match[0] : 0;\n\t}\n\treturn inputString;\n};\nconst sum = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\treturn !isNaN(sum) ? `${_.round(sum,2)}` : '-';\n};\n\nconst max = (data: MRT_RowData[], column: string) => {\n\tconst maxVal = Math.max(...data.map((row) => Number(row[column])));\n\treturn `${maxVal}`;\n};\n\nconst countEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value)) \n\t\t\t? Boolean(!_.size(value)) \n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\treturn `${empty.length}`;\n};\n\nconst percentageEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(!_.size(value))\n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\tconst percentage = (empty.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst percentageFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\tconst percentage = (full.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst countFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\treturn `${full.length}`;\n};\n\nconst none = () => {\n\treturn null;\n};\n\nconst min = (data: MRT_RowData[], column: string) => {\n\tconst minValue = Math.min(...data.map((row) => Number(row[column])));\n\treturn `${minValue}`;\n};\n\nexport const aggregationFns = {\n\tnone,\n\tmin,\n\tmax,\n\tsum,\n\taverage,\n\tcountEmpty,\n\tcountFull,\n\tpercentageEmpty,\n\tpercentageFull\n};\n","import React, { useEffect } from 'react';\nimport Typography from '../../typography/typography';\nimport { MenuItem } from '@mui/material';\nimport Menu from '../../menu/menu';\nimport { aggregationFns } from '../aggregation-fns';\nimport { MRT_RowData } from 'material-react-table';\n\ntype aggregationType =\n\t| 'none'\n\t| 'count_empty'\n\t| 'count_full'\n\t| 'percentage_empty'\n\t| 'percentage_full'\n\t| 'average'\n\t| 'sum';\n\ninterface IAggregation {\n\tlabel: string;\n\tvalue: aggregationType;\n}\n\nconst aggregations: IAggregation[] = [\n\t{\n\t\tlabel: 'Count Empty',\n\t\tvalue: 'count_empty'\n\t},\n\t{\n\t\tlabel: 'Count Full',\n\t\tvalue: 'count_full'\n\t},\n\t{\n\t\tlabel: 'Percentage Full',\n\t\tvalue: 'percentage_full'\n\t},\n\t{\n\t\tlabel: 'Percentage Empty',\n\t\tvalue: 'percentage_empty'\n\t},\n\t{\n\t\tlabel: 'Average',\n\t\tvalue: 'average'\n\t},\n\t{\n\t\tlabel: 'Sum',\n\t\tvalue: 'sum'\n\t},\n\t{\n\t\tlabel: 'None',\n\t\tvalue: 'none'\n\t}\n];\n\nconst aggregationFnsLookup = {\n\tcount_empty: aggregationFns.countEmpty,\n\tcount_full: aggregationFns.countFull,\n\tpercentage_empty: aggregationFns.percentageEmpty,\n\tpercentage_full: aggregationFns.percentageFull,\n\taverage: aggregationFns.average,\n\tsum: aggregationFns.sum,\n\tnone: aggregationFns.none\n};\n\ninterface IDefaultAggregation {\n\tdata: MRT_RowData[];\n\tcolumn: string;\n\tcolumnDef?: any;\n}\n\nconst DefaultAggregation = ({\n\tdata,\n\tcolumn,\n\t// columnDef\n}: IDefaultAggregation) => {\n\tconst [selectedType, setSelectedType] =\n\t\tReact.useState<aggregationType>('none');\n\tconst [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n\tconst [calculatedValue, setCalculatedValue] = React.useState<string | null>();\n\tconst open = Boolean(anchorEl);\n\n\tconst handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n\t\tsetAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleClose = () => {\n\t\tsetAnchorEl(null);\n\t};\n\n\tconst handleAggregationType = (val: aggregationType) => {\n\t\tsetSelectedType(val);\n\t\thandleClose();\n\t};\n\n\tuseEffect(() => {\n\t\tconst func = aggregationFnsLookup[selectedType];\n\t\tsetCalculatedValue(func(data, column));\n\t}, [selectedType, column, data]);\n\n\treturn (\n\t\t<>\n\t\t\t<Typography\n\t\t\t\tonClick={handleClick}\n\t\t\t\tsx={{ cursor: 'pointer', width:\"100%\", height:\"100%\" }}\n\t\t\t\ttype='s4'\n\t\t\t\tweight='normal'\n\t\t\t\tcolor={\n\t\t\t\t\tcalculatedValue ? 'theme.secondary.1000' : 'theme.secondary.500'\n\t\t\t\t}>\n\t\t\t\t{calculatedValue || '+ Add Calculation'}\n\t\t\t</Typography>\n\t\t\t<Menu\n\t\t\t\tid='basic-menu'\n\t\t\t\tanchorEl={anchorEl}\n\t\t\t\topen={open}\n\t\t\t\tonClose={handleClose}>\n\t\t\t\t{aggregations?.map((aggr) => (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tkey={aggr.value}\n\t\t\t\t\t\tselected={selectedType == aggr?.value}\n\t\t\t\t\t\tonClick={() => handleAggregationType(aggr?.value)}\n\t\t\t\t\t\t// disabled={\n\t\t\t\t\t\t// \t(!columnDef || columnDef?.type !== 'number') &&\n\t\t\t\t\t\t// \t(aggr.value === 'sum' || aggr.value === 'average')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<Typography color='theme.secondary.1000' type='s4'>\n\t\t\t\t\t\t\t{aggr?.label}\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t))}\n\t\t\t</Menu>\n\t\t</>\n\t);\n};\n\nexport { DefaultAggregation };\nexport default DefaultAggregation;\n","import { Chip as MUIChip, ChipProps, styled } from \"@mui/material\";\r\n\r\ninterface IChip extends ChipProps {\r\n type?: \"rounded\" | \"normal\";\r\n active?: boolean;\r\n inActive?: boolean;\r\n label?: string | React.ReactNode | number | JSX.Element;\r\n}\r\n\r\nconst StyledChip = styled(MUIChip)<IChip>(\r\n ({ theme: { palette }, active, type, inActive }) => ({\r\n cursor: \"pointer\",\r\n fontSize: \".75rem\",\r\n color: palette.theme?.secondary[800],\r\n borderRadius: type === \"rounded\" ? \"1.5rem\" : \"0.25rem\",\r\n backgroundColor: palette.theme?.secondary[200],\r\n ...(active && {\r\n \"&.MuiChip-filled\": {\r\n color: palette.theme?.primary[700],\r\n backgroundColor: palette.theme?.primary[200],\r\n \"&:hover\": {\r\n backgroundColor: palette.theme?.primary[200]\r\n },\r\n },\r\n \"&.MuiChip-outlined\": {\r\n color: palette.theme?.primary[800],\r\n borderColor: palette.theme?.primary[300],\r\n \"&:hover\": {\r\n backgroundColor: palette.theme?.primary[200]\r\n },\r\n },\r\n }),\r\n ...(inActive && {\r\n \"&.MuiChip-filled\": {\r\n color: palette.theme?.error[700],\r\n backgroundColor: palette.theme?.error[200],\r\n \"&:hover\": {\r\n backgroundColor: palette.theme?.error[200]\r\n },\r\n },\r\n \"&.MuiChip-outlined\": {\r\n color: palette.theme?.error[800],\r\n borderColor: palette.theme?.error[300],\r\n \"&:hover\": {\r\n backgroundColor: palette.theme?.error[200]\r\n },\r\n },\r\n }),\r\n\r\n \"& .MuiChip-icon\": {\r\n marginRight: \"0.125rem\",\r\n marginLeft: \"0rem\",\r\n color: \"inherit\",\r\n },\r\n \"& .MuiChip-deleteIcon\": {\r\n marginLeft: \"0.25rem\",\r\n fontSize: \".875rem\",\r\n color: \"inherit\",\r\n marginRight: \"0rem\",\r\n },\r\n \"&.MuiChip-root\": {\r\n height: \"fit-content\",\r\n padding: \"0.25rem 0.5rem\",\r\n \".MuiChip-label\": {\r\n padding: \"0rem\",\r\n },\r\n },\r\n }),\r\n);\r\n\r\nconst Chip = (props: IChip) => {\r\n const {\r\n label,\r\n type = \"rounded\",\r\n variant = \"filled\",\r\n active = false,\r\n inActive = false,\r\n ...rest\r\n } = props;\r\n\r\n return (\r\n <StyledChip\r\n label={label}\r\n variant={variant}\r\n active={active}\r\n inActive={inActive}\r\n type={type}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\nexport { Chip };\r\nexport default Chip;\r\n","import { Box } from \"@mui/material\";\r\nimport Typography from \"../typography/typography\";\r\nimport \"./value-field.scss\";\r\n\r\ninterface ValueFieldProps {\r\n label: string;\r\n children: React.ReactNode;\r\n childrenTypoProps?:any\r\n}\r\n\r\nconst ValueField = (props: ValueFieldProps) => {\r\n const { label, children, childrenTypoProps } = props;\r\n\r\n return (\r\n <Box className=\"valueField--Container\" >\r\n <Typography weight={\"medium\"} type=\"s3\" color={\"theme.secondary.1000\"}>\r\n {label}\r\n </Typography>\r\n <Typography weight={\"medium\"} type=\"s5\" color={\"theme.secondary.700\"} sx={{ wordBreak:'break-all', pr: 1 }} {...childrenTypoProps}>\r\n {children}\r\n </Typography>\r\n </Box>\r\n );\r\n};\r\n\r\nexport { ValueField };\r\nexport default ValueField;\r\n","\r\nimport React from 'react';\r\n\r\nimport { Box } from '@mui/material';\r\n/* eslint-disable no-mixed-spaces-and-tabs */\r\nimport Typography from '../components/typography/typography';\r\nimport { Document } from '../components/icons';\r\nimport { MaterialTableColumnProps, TypeBooleanLabels } from '../components/material-table/material-table';\r\nimport { TFunction } from 'i18next';\r\nimport { formatDate } from './dateFormat';\r\nimport { MRT_Row, MRT_RowData } from 'material-react-table';\r\nimport { Link } from 'react-router-dom';\r\nimport DefaultAggregation from '../components/material-table/components/default-aggregation';\r\nimport Chip from '../components/chip/chip';\r\nimport _ from 'lodash';\r\nimport images from '../assets/images';\r\nimport { formatAmount, formatAmountWithCurrency, toFixedWithNumbers } from \"./common\";\r\nimport { defaultCurrencyFormat } from './common';\r\n\r\nimport { defaultCurrencySymbol } from './common';\r\nimport ValueField from '../components/value-field/value-field';\r\nimport { formatLabel } from './format-text';\r\nimport { generateRouteWithId } from './route-utils';\r\nimport dayjs from 'dayjs';\r\nimport { useAuth } from '@/hooks';\r\nconst downloadFile = async (url, fileName) => {\r\n\ttry {\r\n\t\t// Fetch the file from the provided URL\r\n\t\tconst response = await fetch(url);\r\n\t\tif (!response.ok) {\r\n\t\t\tthrow new Error(`Failed to fetch file: ${response.statusText}`);\r\n\t\t}\r\n\r\n\t\t// Convert the response to a blob\r\n\t\tconst blob = await response.blob();\r\n\r\n\t\t// Create a temporary URL for the blob\r\n\t\tconst blobUrl = window.URL.createObjectURL(blob);\r\n\r\n\t\t// Create a link element\r\n\t\tconst link = document.createElement('a');\r\n\t\tlink.href = blobUrl;\r\n\t\tlink.download = fileName || 'downloaded-file'; // Fallback filename if none provided\r\n\r\n\t\t// Append link to the body, trigger click, and remove it\r\n\t\tdocument.body.appendChild(link);\r\n\t\tlink.click();\r\n\t\tdocument.body.removeChild(link);\r\n\r\n\t\t// Revoke the blob URL to free up memory\r\n\t\twindow.URL.revokeObjectURL(blobUrl);\r\n\t} catch (error) {\r\n\t\tconsole.error('Error downloading file:', error);\r\n\t\tthrow error; // Re-throw to allow caller to handle the error\r\n\t}\r\n};\r\n\r\nexport const getFileNamesFromUrlsAsLink = (fileUrls: string | string[], mode?: string) => {\r\n\tconst fUrls = fileUrls\r\n\t\t? Array.isArray(fileUrls)\r\n\t\t\t? fileUrls\r\n\t\t\t: [fileUrls]\r\n\t\t: [];\r\n\r\n\tif (fUrls && fUrls.length) {\r\n\t\treturn (\r\n\t\t\t<Box\r\n\t\t\t\tdisplay='flex'\r\n\t\t\t\tgap={1}\r\n\t\t\t\tmb={1}\r\n\t\t\t\talignItems='center'\r\n\t\t\t\tflexDirection='column'>\r\n\t\t\t\t{fUrls.map((url) => {\r\n\t\t\t\t\tconst fileName = url.substring(url.lastIndexOf('/') + 1);\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\ttype='s3'\r\n\t\t\t\t\t\t\tweight='medium'\r\n\t\t\t\t\t\t\tcolor='#246DFF'\r\n\t\t\t\t\t\t\tsx={{ textDecoration: 'underline', textUnderlineOffset: '3px', cursor: 'pointer' }}\r\n\t\t\t\t\t\t\tnoWrap\r\n\t\t\t\t\t\t\tonClick={() => mode === 'add' ? undefined : downloadFile(url, fileName)}>\r\n\t\t\t\t\t\t\t{fileName}\r\n\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t</Box>\r\n\t\t);\r\n\t}\r\n\r\n\treturn null;\r\n};\r\n\r\nexport const getFileNamesFromUrls = (fileUrls: string[]) => {\r\n\tif (!fileUrls) return null;\r\n\r\n\tif (!fileUrls?.filter(Boolean)?.length) return null;\r\n\r\n\treturn fileUrls?.filter(Boolean)?.map((url) => {\r\n\t\tconst fileName = url?.substring(url?.lastIndexOf('/') + 1) || '';\r\n\t\treturn (\r\n\t\t\t<Box display='flex' gap={1} mb={1} alignItems='center'>\r\n\t\t\t\t<Document fontSize='small' />\r\n\t\t\t\t<Typography\r\n\t\t\t\t\ttype='s3'\r\n\t\t\t\t\tweight='medium'\r\n\t\t\t\t\tcolor={'theme.secondary.1000'}\r\n\t\t\t\t\tsx={{ cursor: 'pointer' }}\r\n\t\t\t\t\tnoWrap onClick={() => downloadFile(url, fileName)}>\r\n\t\t\t\t\t{fileName}\r\n\t\t\t\t</Typography>\r\n\t\t\t</Box>\r\n\t\t);\r\n\t});\r\n};\r\n\r\nexport type CurrencySymbolFn = (row: MRT_Row<MRT_RowData>) => string;\r\nexport type StatusClassesFn = (row: MRT_Row<MRT_RowData>) => string;\r\nexport type RedirectionLinkFn = (row: MRT_Row<MRT_RowData>) => string;\r\n\r\nexport interface ITransformTableColumns {\r\n\tcolumns: MaterialTableColumnProps[];\r\n\tcurrencySymbol?: string | CurrencySymbolFn;\r\n\ttranslationFn?: TFunction<'translation', undefined>;\r\n\tenableFooter?: boolean;\r\n\tredirectionLink?: string | RedirectionLinkFn;\r\n\tredirectionLinkState?: (row: MRT_Row<MRT_RowData>) => void;\r\n\tredirectionPathWithId?: string;\r\n\tidField?: string;\r\n\tcustomizeValue?: (row: MRT_Row<MRT_RowData>, columnAccessorKey?: string, value?: any) => any;\r\n\tstatusClasses?: string | StatusClassesFn;\r\n\trows: any[];\r\n\tcurrencyFormat?: boolean\r\n}\r\n\r\nconst jsonArrayToString = (json: any) => {\r\n\tif (!json) return '';\r\n\r\n\ttry {\r\n\t\treturn JSON.parse(json)?.join(', ');\r\n\t} catch (error) {\r\n\t\treturn '';\r\n\t}\r\n};\r\nconst getStatusClass = (status: any) => {\r\n\tif (typeof status === 'string') {\r\n\t\treturn status?.toLowerCase()?.replace(' ', '');\r\n\t} else if (typeof status === 'number') {\r\n\t\treturn status ? 'enabled' : 'disabled';\r\n\t}\r\n};\r\n\r\nexport const transformTableColumns = ({\r\n\tcolumns = [],\r\n\tcurrencySymbol,\r\n\ttranslationFn = undefined,\r\n\tenableFooter = false,\r\n\tredirectionLink = '',\r\n\tredirectionLinkState = undefined,\r\n\tredirectionPathWithId = '',\r\n\tidField = 'id',\r\n\tstatusClasses = '',\r\n\trows = [],\r\n\tcustomizeValue = undefined,\r\n\tcurrencyFormat\r\n}: ITransformTableColumns) => {\r\n\tconst currencyFormatData = currencyFormat ? currencyFormat : defaultCurrencyFormat()\r\n\r\n\treturn columns.map((column) => ({\r\n\t\t...column,\r\n\t\theader: translationFn ? translationFn(column.header) : column.header,\r\n\t\tCell: ({ renderedCellValue, row }: any) => {\r\n\t\t\tlet v = renderedCellValue;\r\n\t\t\tif (typeof v === 'number' && v && String(v)?.includes('.')) {\r\n\t\t\t\treturn v = toFixedWithNumbers(v)\r\n\t\t\t}\r\n\t\t\tconst columnType = column.type || (column.header === \"Amount\" || column.header === \"Rate\" ? \"currency\" : undefined);\r\n\t\t\tswitch (columnType) {\r\n\t\t\t\tcase 'formattedString':\r\n\t\t\t\t\tv = formatLabel(renderedCellValue) || '-';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'date':\r\n\t\t\t\t\tv = formatDate(\r\n\t\t\t\t\t\trenderedCellValue,\r\n\t\t\t\t\t\tcolumn.editProperties?.dateFormat || 'DD-MM-YYYY'\r\n\t\t\t\t\t);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'datetime':\r\n\t\t\t\t\tv = formatDate(\r\n\t\t\t\t\t\trenderedCellValue,\r\n\t\t\t\t\t\tcolumn.editProperties?.dateFormat || 'DD-MM-YYYY hh:mm A'\r\n\t\t\t\t\t);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'currency':\r\n\t\t\t\tcase 'amount': {\r\n\t\t\t\t\tconst cs = column?.showDefaultCurrency ? defaultCurrencySymbol() : currencySymbol instanceof Function ? currencySymbol(row) : (currencySymbol || defaultCurrencySymbol());\r\n\t\t\t\t\tv = renderedCellValue || renderedCellValue == 0\r\n\t\t\t\t\t\t? `${formatAmount(renderedCellValue, currencyFormatData, 'before', cs) || '-'}`\r\n\t\t\t\t\t\t: null;\r\n\r\n\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'status':\r\n\t\t\t\tcase 'enum':\r\n\t\t\t\tcase 'array':\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tv = renderedCellValue || renderedCellValue === 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{Array.isArray(renderedCellValue) ? (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{renderedCellValue?.length ? <Box sx={{ display: 'flex', alignItems: 'center', gap: 1, flexWrap: 'wrap' }}>\r\n\t\t\t\t\t\t\t\t\t\t\t{renderedCellValue.map((rcv) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype='normal'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={column.custom_class ? column?.custom_class : (typeof rcv === 'string' ? rcv : '')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Typography type='s4' weight='medium' color={'inherit'}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{typeof rcv === 'object' ? _.get(rcv, column?.typeArrayAccessorKey || '', '') : rcv}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t</Box> : '-'}\r\n\t\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\t\t\ttype='normal'\r\n\t\t\t\t\t\t\t\t\t\tclassName={\r\n\t\t\t\t\t\t\t\t\t\t\tcolumn.custom_class ? column?.custom_class :\r\n\t\t\t\t\t\t\t\t\t\t\t\t(statusClasses instanceof Function\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? statusClasses(row)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: `${statusClasses}${getStatusClass(renderedCellValue)}`)\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tlabel={\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t<Typography type='s4' weight='medium' color={'inherit'}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{renderedCellValue}\r\n\t\t\t\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t'-'\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'boolean':\r\n\t\t\t\t\tv = (\r\n\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\ttype='normal'\r\n\t\t\t\t\t\t\t// active={Boolean(renderedCellValue)}\r\n\t\t\t\t\t\t\t// inActive={Boolean(!renderedCellValue)}\r\n\t\t\t\t\t\t\tsx={(theme) => ({\r\n\t\t\t\t\t\t\t\t...(renderedCellValue ?\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette?.theme.tertiary4[200],\r\n\t\t\t\t\t\t\t\t\t\tcolor: theme.palette?.theme.tertiary4[900]\r\n\t\t\t\t\t\t\t\t\t} :\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette?.theme.tertiary6[200],\r\n\t\t\t\t\t\t\t\t\t\tcolor: theme.palette?.theme.tertiary6[900]\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\tlabel={\r\n\t\t\t\t\t\t\t\t<Typography type='s4' weight='medium' color={'inherit'}>\r\n\t\t\t\t\t\t\t\t\t{column?.typeBooleanLabels?.[renderedCellValue as keyof TypeBooleanLabels] || '-'}\r\n\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'jsonArray':\r\n\t\t\t\t\tv = jsonArrayToString(renderedCellValue);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'custom':\r\n\t\t\t\tcase 'custom_link':\r\n\t\t\t\t\tv = customizeValue?.(row, column.accessorKey, renderedCellValue);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'toFixed':\r\n\t\t\t\t\tv = toFixedWithNumbers(renderedCellValue)\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\t// Allow customizeValue to override any type's default rendering\r\n\t\t\t// if (customizeValue) {\r\n\t\t\t// \tconst customResult = customizeValue(row, column.accessorKey, renderedCellValue);\r\n\t\t\t// \tif (customResult !== undefined) {\r\n\t\t\t// \t\tv = customResult;\r\n\t\t\t// \t}\r\n\t\t\t// }\r\n\r\n\t\t\t// If redirectionPathWithId is provided, use it for URL parameter-based navigation\r\n\t\t\tif (redirectionPathWithId && column.type != 'custom_link') {\r\n\t\t\t\tconst id = row.original[idField || 'id'];\r\n\t\t\t\tif (id) {\r\n\t\t\t\t\tconst path = redirectionPathWithId instanceof Function ? generateRouteWithId(redirectionPathWithId(row), id?.toString()) : generateRouteWithId(redirectionPathWithId, id?.toString());\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<Link to={path}>\r\n\t\t\t\t\t\t\t{v}\r\n\t\t\t\t\t\t</Link>\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Fall back to the existing redirection logic\r\n\t\t\telse if (redirectionLink && column.type != 'custom_link') {\r\n\t\t\t\tconst id = row.original[idField || 'id'];\r\n\t\t\t\tconst path = redirectionLink instanceof Function ? generateRouteWithId(redirectionLink(row), id?.toString()) : generateRouteWithId(redirectionLink, id?.toString());\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<Link to={path}\r\n\t\t\t\t\t\tstate={redirectionLinkState?.(row)}>\r\n\t\t\t\t\t\t{v}\r\n\t\t\t\t\t</Link>\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn v;\r\n\t\t},\r\n\t\t...(Boolean(enableFooter) && {\r\n\t\t\tFooter: ({ column }) => (\r\n\t\t\t\t<DefaultAggregation data={rows} column={String(column.id)} />\r\n\t\t\t)\r\n\t\t})\r\n\t}));\r\n};\r\n\r\nexport const renderEmptyRowsFallback = (text: string) => (\r\n\t<Box className='no-data'>\r\n\t\t<img src={images.common.tableNoData} />\r\n\t\t<Typography type='s3' weight='medium' color='theme.secondary.1000'>\r\n\t\t\t{text}\r\n\t\t</Typography>\r\n\t</Box>\r\n)\r\n\r\n/* eslint-disable no-mixed-spaces-and-tabs */\r\nexport const renderValueField = (label: string, value: any, t: any, formatFn?: (val: any) => string) => {\r\n\treturn (\r\n\t\t<ValueField key={label} label={t?.(label)}>\r\n\t\t\t{formatFn ? formatFn(value) : value ?? '-'}\r\n\t\t</ValueField>\r\n\t);\r\n};\r\n\r\nexport const formateValueByType = ({\r\n\tvalue,\r\n\ttype,\r\n\tformat,\r\n\tweight\r\n}: {\r\n\tvalue: any;\r\n\ttype: string;\r\n\tformat?: string;\r\n\tweight?: \"normal\" | \"medium\" | \"bold\";\r\n}) => {\r\n\tconst numberTypes = ['number', 'amount', 'toFixed'];\r\n\tconst valueCheck = [null, undefined, '0'];\r\n\tif (valueCheck.includes(value)) return <Typography type='s4' weight={weight} color='theme.neutral.1000'>{numberTypes?.includes(type) ? value : (value || '-')}</Typography>;\r\n\r\n\tswitch (type) {\r\n\t\tcase 'date':\r\n\t\t\treturn dayjs(value).isValid() ? formatDate(value, format) : value;\r\n\t\tcase 'toFixed':\r\n\t\t\treturn <Typography type='s4' weight={weight} color='theme.neutral.1000'>{value ? toFixedWithNumbers(Number(value)) : '-'}</Typography>;\r\n\t\tcase 'amount':\r\n\t\t\treturn <Typography type='s4' weight={weight} color='theme.neutral.1000'>{value ? formatAmountWithCurrency(Number(value)) : '-'}</Typography>;\r\n\t\tdefault:\r\n\t\t\treturn weight ? <Typography type='s4' weight={weight} color='theme.neutral.1000'>{value || '-'}</Typography> : value || '-';\r\n\t}\r\n};\r\n\r\n\r\nconst setCompany = (value: any) => {\r\n\tconst { user } = useAuth();\r\n\treturn {\r\n\t\tvalue: user?.company_id,\r\n\t\toptions: [{\r\n\t\t\tlabel: user?.company_data?.name,\r\n\t\t\tvalue: user?.company_id\r\n\t\t}]\r\n\t}\r\n}\r\nexport const configMapper = {\r\n\t'company': {\r\n\t\tcallBack: setCompany,\r\n\r\n\t}\r\n}\r\n","type ItemType = {\r\n section_name: any;\r\n is_system_field: boolean;\r\n field_type: string;\r\n label: string;\r\n name?: string;\r\n placeholder: string;\r\n default_value: any;\r\n validation: any[];\r\n is_multiline: any;\r\n section_order: any;\r\n option?: any;\r\n time_format?: string;\r\n currency?: string;\r\n field_properties: {\r\n is_accordion?: boolean;\r\n float_step?: any;\r\n options: any;\r\n is_multiselect: any;\r\n title: string;\r\n title_position: \"start\" | \"end\";\r\n is_multiline: boolean\r\n is_checked: boolean\r\n table: string,\r\n table_columns: string[]\r\n table_rows?: any\r\n is_multiple: boolean\r\n enable_footer?: boolean\r\n footer_action?: 'add'\r\n other_buttons?: React.ReactNode[]\r\n };\r\n is_section_field?: true;\r\n section_type?: \"default\" | \"Form switcher section\";\r\n form_switcher_label?: string;\r\n form_switcher_name?: string;\r\n switcher_forms?: {\r\n value?: string;\r\n name?: string;\r\n id?: number;\r\n }[];\r\n is_accordion?: boolean;\r\n}\r\n\r\nconst getFirstNonSectionField = (formData: any[]) => {\r\n const firstField = formData?.find((field) => !field.is_section_field)\r\n return firstField\r\n}\r\n\r\nconst formBuilderDeConversion = (formData: any) => {\r\n const outputData: any = {};\r\n if (formData.length === 0) {\r\n return outputData;\r\n }\r\n\r\n const firstItem = getFirstNonSectionField(formData);\r\n\r\n if (firstItem?.tab_name) {\r\n outputData.tab = <any>[];\r\n let currentTab: {\r\n title: string;\r\n data: any;\r\n remove_tab?: any;\r\n tab_order?: any;\r\n } | null = null;\r\n let currentSection: {\r\n label: string;\r\n members: any;\r\n remove_section: any;\r\n field_type?: string;\r\n is_accordion?: boolean;\r\n } | null = null;\r\n let otherSectionDetails: any = {}\r\n let sectionOrder: any = null\r\n\r\n formData.forEach((item: any) => {\r\n if (item?.is_section_field) {\r\n otherSectionDetails = {\r\n field_type: item?.field_type,\r\n label: item?.label,\r\n is_accordion: item?.is_accordion,\r\n is_section_field: item?.is_section_field,\r\n section_type: item?.section_type,\r\n form_switcher_label: item?.form_switcher_label,\r\n form_switcher_name: item?.form_switcher_name,\r\n switcher_forms: item?.switcher_forms,\r\n disabled: Boolean(item?.disabled)\r\n }\r\n currentSection = null\r\n sectionOrder = sectionOrder++\r\n } else {\r\n if (!currentTab || currentTab.title !== item.tab_name) {\r\n\r\n currentTab = {\r\n tab_order: item.tab_order || 1,\r\n title: item.tab_name,\r\n data: [],\r\n };\r\n const checkIfTabExist = outputData.tab.find(tab => tab.title === currentTab?.title)\r\n\r\n if (!checkIfTabExist) {\r\n outputData.tab.push(currentTab);\r\n } else {\r\n currentTab = checkIfTabExist\r\n }\r\n currentSection = null;\r\n }\r\n\r\n if (!currentSection || currentSection.label !== item.section_name || sectionOrder !== item.section_order) {\r\n currentSection = {\r\n field_type: \"section\",\r\n label: item.section_name || \"\",\r\n is_accordion: item.field_properties?.is_accordion,\r\n members: [],\r\n remove_section: item.is_system_field === true ? true : false,\r\n };\r\n\r\n const checkIfSectionExist = currentTab.data.find(section => section.label === currentSection?.label)\r\n if (!checkIfSectionExist) {\r\n // Merge section details and update currentSection reference to the actual pushed object\r\n currentSection = { ...otherSectionDetails, ...currentSection };\r\n currentTab.data.push(currentSection);\r\n } else {\r\n currentSection = checkIfSectionExist\r\n }\r\n otherSectionDetails = null\r\n }\r\n sectionOrder = item.section_order\r\n\r\n const thenValidations = item?.validation?.find((v: { type: string }) => v.type === \"when\")?.thenValidations || []\r\n\r\n const member = {\r\n ...item,\r\n id: `${Date.now()}-${Math.random()}`,\r\n field_type:\r\n item.field_type === \"media\" ? \"file\" : item.field_type || \"text\",\r\n type: item.is_system_field ? \"system\" : \"custom\",\r\n label: item.label || \"\",\r\n placeholder: item.placeholder || \"\",\r\n default_value: item.default_value || \"\",\r\n ...(item?.time_format &&\r\n item?.field_type === \"time\" && { option: item?.time_format }),\r\n ...(item?.currency &&\r\n item?.field_type === \"currency\" && { option: item?.currency }),\r\n ...(item.field_type === \"text\" && {\r\n min_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"min_length\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"text\" && {\r\n max_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_length\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"number\" && {\r\n min_length:\r\n item.validation.find((v: { type: string }) => v.type === \"min_val\")\r\n ?.value || null,\r\n }),\r\n ...(item.field_type === \"number\" && {\r\n max_length:\r\n item.validation.find((v: { type: string }) => v.type === \"max_val\")\r\n ?.value || null,\r\n }),\r\n ...((item.is_multiline !== undefined || item.field_properties.is_multiline !== undefined) && {\r\n is_multiline: item.is_multiline || item.field_properties.is_multiline,\r\n }),\r\n is_required:\r\n item.validation.find((v: { type: string }) => v.type === \"required\")?.value ||\r\n thenValidations?.find((v: { type: string }) => v.type === \"required\")?.value ||\r\n false,\r\n is_unique:\r\n item.validation.find((v: { type: string }) => v.type === \"unique\")\r\n ?.value || false,\r\n section_order: item.section_order || 0,\r\n ...(item.field_properties.float_step && {\r\n float_step: item.field_properties.float_step.toString(),\r\n }),\r\n ...(item.field_properties.options && {\r\n options: item.field_properties.options,\r\n }),\r\n ...(item.field_properties.is_multiselect !== undefined && {\r\n is_multiselect: item.field_properties.is_multiselect,\r\n }),\r\n ...(item.field_properties?.enable_footer !== undefined && {\r\n enable_footer: Boolean(item.field_properties.enable_footer),\r\n }),\r\n ...(item.field_properties?.footer_action !== undefined && {\r\n footer_action: item.field_properties.footer_action || 'add',\r\n }),\r\n ...(item.field_type === \"date\" && {\r\n is_future_dates_allowed:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"is_future_dates_allowed\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"date\" && {\r\n is_past_dates_allowed:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"is_past_dates_allowed\",\r\n )?.value || null,\r\n }),\r\n ...((item.field_type === \"image\" || item.field_type === \"media\" || item.field_type === \"file\") && {\r\n max_size:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_file_size\",\r\n )?.value || undefined,\r\n is_multiple: item.field_properties?.is_multiple\r\n }),\r\n ...((item.field_type === \"toggleButton\" || item.field_type === \"checkbox\" || item.field_type === \"radioButton\") && {\r\n title: item.field_properties?.title ? item.field_properties?.title : '',\r\n title_position: item.field_properties?.title_position ?? \"end\",\r\n is_checked: item.field_properties?.is_checked\r\n }),\r\n ...((item.field_type === \"table\") && {\r\n table: item.field_properties?.table,\r\n table_columns: convertTableColumns(item.field_properties?.table_columns),\r\n table_rows: item.field_properties?.table_rows,\r\n otherButtons: item.field_properties?.other_buttons || []\r\n }),\r\n };\r\n if (currentSection) {\r\n currentSection.members.push(member);\r\n if (\r\n currentSection.members.some((member: any) => member.type === \"system\")\r\n ) {\r\n currentSection.remove_section = true;\r\n } else {\r\n currentSection.remove_section = false;\r\n }\r\n currentTab.remove_tab = currentTab.data.some(\r\n (section: { members: any[] }) =>\r\n section.members.some(\r\n (member: { type: string }) => member.type === \"system\",\r\n ),\r\n );\r\n }\r\n }\r\n });\r\n } else {\r\n // Convert to sections format\r\n outputData.section = [];\r\n let currentSection: {\r\n label: any;\r\n members: any;\r\n remove_section: any;\r\n field_type?: string;\r\n is_accordion?: boolean;\r\n } | null = null;\r\n let otherSectionDetails: any = {}\r\n let sectionOrder: any = null\r\n\r\n formData.forEach(\r\n (item: ItemType) => {\r\n if (item.is_section_field) {\r\n otherSectionDetails = {\r\n field_type: item?.field_type,\r\n label: item?.label,\r\n is_accordion: item?.is_accordion,\r\n is_section_field: item?.is_section_field,\r\n section_type: item?.section_type,\r\n form_switcher_label: item?.form_switcher_label,\r\n form_switcher_name: item?.form_switcher_name,\r\n switcher_forms: item?.switcher_forms,\r\n disabled: Boolean(item?.disabled)\r\n }\r\n sectionOrder = sectionOrder++\r\n currentSection = null\r\n } else {\r\n if (!currentSection || currentSection.label !== item.section_name || sectionOrder !== item.section_order) {\r\n currentSection = {\r\n field_type: \"section\",\r\n label: item.section_name || \"\",\r\n is_accordion: item.field_properties?.is_accordion,\r\n members: [],\r\n remove_section: item.is_system_field === true ? true : false,\r\n };\r\n\r\n const checkIfSectionExist = outputData?.section?.find(section => section.label === currentSection?.label)\r\n if (!checkIfSectionExist) {\r\n // Merge section details and update currentSection reference to the actual pushed object\r\n currentSection = { ...otherSectionDetails, ...currentSection };\r\n outputData.section.push(currentSection);\r\n } else {\r\n currentSection = checkIfSectionExist\r\n }\r\n\r\n // outputData.section.push({ ...otherSectionDetails, ...currentSection });\r\n\r\n otherSectionDetails = null\r\n }\r\n sectionOrder = item.section_order\r\n\r\n const thenValidations = item?.validation?.find((v: { type: string }) => v.type === \"when\")?.thenValidations || []\r\n\r\n const member = {\r\n ...item,\r\n id: `${Date.now()}-${Math.random()}`,\r\n field_type:\r\n item.field_type === \"media\" ? \"file\" : item.field_type || \"text\",\r\n type: item.is_system_field ? \"system\" : \"custom\",\r\n label: item.label,\r\n placeholder: item.placeholder || \"\",\r\n default_value: item.default_value || \"\",\r\n ...(item?.time_format &&\r\n item?.field_type === \"time\" && { option: item?.time_format }),\r\n ...(item?.currency &&\r\n item?.field_type === \"currency\" && { option: item?.currency }),\r\n ...(item.field_type === \"text\" && {\r\n min_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"min_length\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"text\" && {\r\n max_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_length\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"number\" && {\r\n min_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"min_val\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"number\" && {\r\n max_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_val\",\r\n )?.value || null,\r\n }),\r\n ...((item.is_multiline !== undefined || item.field_properties?.is_multiline !== undefined) && {\r\n is_multiline: item.is_multiline || item.field_properties.is_multiline,\r\n }),\r\n is_required:\r\n item.validation.find((v: { type: string }) => v.type === \"required\")?.value ||\r\n thenValidations?.find((v: { type: string }) => v.type === \"required\")?.value ||\r\n false,\r\n is_unique:\r\n item.validation.find((v: { type: string }) => v.type === \"unique\")\r\n ?.value || false,\r\n section_order: item.section_order || 0,\r\n ...(item.field_properties?.float_step && {\r\n float_step: Number(item.field_properties.float_step),\r\n }),\r\n ...(item.field_properties?.options && {\r\n options: item.field_properties.options,\r\n }),\r\n ...(item.field_properties?.is_multiselect !== undefined && {\r\n is_multiselect: item.field_properties.is_multiselect,\r\n }),\r\n ...(item.field_properties?.enable_footer !== undefined && {\r\n enable_footer: Boolean(item.field_properties.enable_footer),\r\n }),\r\n ...(item.field_properties?.footer_action !== undefined && {\r\n footer_action: item.field_properties.footer_action || 'add',\r\n }),\r\n ...(item.field_type === \"date\" && {\r\n is_future_dates_allowed:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"is_future_dates_allowed\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"date\" && {\r\n is_past_dates_allowed:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"is_past_dates_allowed\",\r\n )?.value || null,\r\n }),\r\n ...((item.field_type === \"image\" || item.field_type === \"media\" || item.field_type === \"file\") && {\r\n max_size:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_file_size\",\r\n )?.value || undefined,\r\n is_multiple: item.field_properties?.is_multiple\r\n }),\r\n ...((item.field_type === \"toggleButton\" || item.field_type === \"checkbox\") && {\r\n title: item.field_properties?.title ? item.field_properties?.title : item.label,\r\n title_position: item.field_properties?.title_position ?? \"end\",\r\n is_checked: item.field_properties?.is_checked\r\n }),\r\n ...((item.field_type === \"table\") && {\r\n table: item.field_properties?.table,\r\n table_columns: convertTableColumns(item.field_properties?.table_columns),\r\n table_rows: item.field_properties?.table_rows,\r\n otherButtons: item.field_properties?.other_buttons || []\r\n }),\r\n };\r\n\r\n currentSection.members.push(member);\r\n if (\r\n currentSection.members.some((member: any) => member.type === \"system\")\r\n ) {\r\n currentSection.remove_section = true;\r\n } else {\r\n currentSection.remove_section = false;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n return outputData;\r\n};\r\n\r\n\r\n\r\nfunction formatText(key: string): string {\r\n return key ? key\r\n .split(/[:_-]/)\r\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\r\n .join(\" \") : key;\r\n}\r\n\r\nexport const convertTableColumns = (columns: string[]) => {\r\n if (!Array.isArray(columns)) return [];\r\n\r\n return columns.map(column => {\r\n if (typeof column === 'object') {\r\n return { ...column }\r\n } else {\r\n const colArr = column.split(\".\").filter(str => str)\r\n const header = colArr.length ? (colArr.length > 1 ? formatText(colArr[colArr.length - 1]) : formatText(colArr[0])) : \"-\"\r\n\r\n return {\r\n header,\r\n accessorKey: column,\r\n visible: true,\r\n }\r\n }\r\n })\r\n}\r\n\r\nexport default formBuilderDeConversion;\r\n"],"names":["MUIMenu","sum","React","MUIChip","_a","_b","_c","_d","column","member"],"mappings":"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"}
1
+ {"version":3,"file":"form-builder-deconversion-CjCls618.esm.js","sources":["../src/components/menu/menu.tsx","../src/components/material-table/aggregation-fns/index.ts","../src/components/material-table/components/default-aggregation.tsx","../src/components/chip/chip.tsx","../src/components/value-field/value-field.tsx","../src/utils/common-utility.tsx","../src/utils/form-builder-deconversion.ts"],"sourcesContent":["import { Menu as MUIMenu, MenuProps, styled } from \"@mui/material\";\r\n\r\nconst StyledMenu = styled(MUIMenu)(() => ({\r\n \".MuiPaper-rounded\": {\r\n borderRadius: \"0.5rem\",\r\n minWidth: \"10rem\",\r\n },\r\n}));\r\n\r\nconst Menu = ({ children, anchorEl, onClose, open, ...rest }: MenuProps) => {\r\n return (\r\n <>\r\n <StyledMenu\r\n id=\"basic-menu\"\r\n anchorEl={anchorEl}\r\n open={open}\r\n onClose={onClose}\r\n MenuListProps={{\r\n \"aria-labelledby\": \"basic-button\",\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </StyledMenu>\r\n </>\r\n );\r\n};\r\n\r\nexport { Menu };\r\nexport default Menu;\r\n","import _ from 'lodash';\nimport { MRT_RowData } from 'material-react-table';\n\nconst average = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\tconst count = data.length;\n\treturn !isNaN(sum) ? `${_.round(sum / count,2)}` : '-';\n};\n\nconst extractNumber = (inputString: any) => {\n\t// Use a regular expression to match the numeric part, including decimals\n\tif (typeof inputString === 'string') {\n\t\tconst match = inputString.match(/[\\d,]+(\\.\\d{1,2})?/);\n\t\treturn match ? match[0] : 0;\n\t}\n\treturn inputString;\n};\nconst sum = (data: MRT_RowData[], column: string) => {\n\tconst sum = data.reduce(\n\t\t(acc: number, row) => acc + Number(extractNumber(row[column])),\n\t\t0\n\t);\n\treturn !isNaN(sum) ? `${_.round(sum,2)}` : '-';\n};\n\nconst max = (data: MRT_RowData[], column: string) => {\n\tconst maxVal = Math.max(...data.map((row) => Number(row[column])));\n\treturn `${maxVal}`;\n};\n\nconst countEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value)) \n\t\t\t? Boolean(!_.size(value)) \n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\treturn `${empty.length}`;\n};\n\nconst percentageEmpty = (data: MRT_RowData[], column: string) => {\n\tconst empty = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(!_.size(value))\n\t\t\t: Boolean(!Number(value))\n\t}\n\t);\n\tconst percentage = (empty.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst percentageFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\tconst percentage = (full.length / data.length) * 100;\n\n\treturn `${_.round(percentage,2)}%`;\n};\n\nconst countFull = (data: MRT_RowData[], column: string) => {\n\tconst full = data?.filter((d) => {\n\t\tconst value = _.get(d, column); \n\t\treturn isNaN(Number(value))\n\t\t\t? Boolean(_.size(value))\n\t\t\t: Boolean(Number(value))\n\t}\n\t);\n\treturn `${full.length}`;\n};\n\nconst none = () => {\n\treturn null;\n};\n\nconst min = (data: MRT_RowData[], column: string) => {\n\tconst minValue = Math.min(...data.map((row) => Number(row[column])));\n\treturn `${minValue}`;\n};\n\nexport const aggregationFns = {\n\tnone,\n\tmin,\n\tmax,\n\tsum,\n\taverage,\n\tcountEmpty,\n\tcountFull,\n\tpercentageEmpty,\n\tpercentageFull\n};\n","import React, { useEffect } from 'react';\nimport Typography from '../../typography/typography';\nimport { MenuItem } from '@mui/material';\nimport Menu from '../../menu/menu';\nimport { aggregationFns } from '../aggregation-fns';\nimport { MRT_RowData } from 'material-react-table';\n\ntype aggregationType =\n\t| 'none'\n\t| 'count_empty'\n\t| 'count_full'\n\t| 'percentage_empty'\n\t| 'percentage_full'\n\t| 'average'\n\t| 'sum';\n\ninterface IAggregation {\n\tlabel: string;\n\tvalue: aggregationType;\n}\n\nconst aggregations: IAggregation[] = [\n\t{\n\t\tlabel: 'Count Empty',\n\t\tvalue: 'count_empty'\n\t},\n\t{\n\t\tlabel: 'Count Full',\n\t\tvalue: 'count_full'\n\t},\n\t{\n\t\tlabel: 'Percentage Full',\n\t\tvalue: 'percentage_full'\n\t},\n\t{\n\t\tlabel: 'Percentage Empty',\n\t\tvalue: 'percentage_empty'\n\t},\n\t{\n\t\tlabel: 'Average',\n\t\tvalue: 'average'\n\t},\n\t{\n\t\tlabel: 'Sum',\n\t\tvalue: 'sum'\n\t},\n\t{\n\t\tlabel: 'None',\n\t\tvalue: 'none'\n\t}\n];\n\nconst aggregationFnsLookup = {\n\tcount_empty: aggregationFns.countEmpty,\n\tcount_full: aggregationFns.countFull,\n\tpercentage_empty: aggregationFns.percentageEmpty,\n\tpercentage_full: aggregationFns.percentageFull,\n\taverage: aggregationFns.average,\n\tsum: aggregationFns.sum,\n\tnone: aggregationFns.none\n};\n\ninterface IDefaultAggregation {\n\tdata: MRT_RowData[];\n\tcolumn: string;\n\tcolumnDef?: any;\n}\n\nconst DefaultAggregation = ({\n\tdata,\n\tcolumn,\n\t// columnDef\n}: IDefaultAggregation) => {\n\tconst [selectedType, setSelectedType] =\n\t\tReact.useState<aggregationType>('none');\n\tconst [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n\tconst [calculatedValue, setCalculatedValue] = React.useState<string | null>();\n\tconst open = Boolean(anchorEl);\n\n\tconst handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n\t\tsetAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleClose = () => {\n\t\tsetAnchorEl(null);\n\t};\n\n\tconst handleAggregationType = (val: aggregationType) => {\n\t\tsetSelectedType(val);\n\t\thandleClose();\n\t};\n\n\tuseEffect(() => {\n\t\tconst func = aggregationFnsLookup[selectedType];\n\t\tsetCalculatedValue(func(data, column));\n\t}, [selectedType, column, data]);\n\n\treturn (\n\t\t<>\n\t\t\t<Typography\n\t\t\t\tonClick={handleClick}\n\t\t\t\tsx={{ cursor: 'pointer', width:\"100%\", height:\"100%\" }}\n\t\t\t\ttype='s4'\n\t\t\t\tweight='normal'\n\t\t\t\tcolor={\n\t\t\t\t\tcalculatedValue ? 'theme.secondary.1000' : 'theme.secondary.500'\n\t\t\t\t}>\n\t\t\t\t{calculatedValue || '+ Add Calculation'}\n\t\t\t</Typography>\n\t\t\t<Menu\n\t\t\t\tid='basic-menu'\n\t\t\t\tanchorEl={anchorEl}\n\t\t\t\topen={open}\n\t\t\t\tonClose={handleClose}>\n\t\t\t\t{aggregations?.map((aggr) => (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tkey={aggr.value}\n\t\t\t\t\t\tselected={selectedType == aggr?.value}\n\t\t\t\t\t\tonClick={() => handleAggregationType(aggr?.value)}\n\t\t\t\t\t\t// disabled={\n\t\t\t\t\t\t// \t(!columnDef || columnDef?.type !== 'number') &&\n\t\t\t\t\t\t// \t(aggr.value === 'sum' || aggr.value === 'average')\n\t\t\t\t\t\t// }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<Typography color='theme.secondary.1000' type='s4'>\n\t\t\t\t\t\t\t{aggr?.label}\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t</MenuItem>\n\t\t\t\t))}\n\t\t\t</Menu>\n\t\t</>\n\t);\n};\n\nexport { DefaultAggregation };\nexport default DefaultAggregation;\n","import { Chip as MUIChip, ChipProps, styled } from \"@mui/material\";\r\n\r\ninterface IChip extends ChipProps {\r\n type?: \"rounded\" | \"normal\";\r\n active?: boolean;\r\n inActive?: boolean;\r\n label?: string | React.ReactNode | number | JSX.Element;\r\n}\r\n\r\nconst StyledChip = styled(MUIChip)<IChip>(\r\n ({ theme: { palette }, active, type, inActive }) => ({\r\n cursor: \"pointer\",\r\n fontSize: \".75rem\",\r\n color: palette.theme?.secondary[800],\r\n borderRadius: type === \"rounded\" ? \"1.5rem\" : \"0.25rem\",\r\n backgroundColor: palette.theme?.secondary[200],\r\n ...(active && {\r\n \"&.MuiChip-filled\": {\r\n color: palette.theme?.primary[700],\r\n backgroundColor: palette.theme?.primary[200],\r\n \"&:hover\": {\r\n backgroundColor: palette.theme?.primary[200]\r\n },\r\n },\r\n \"&.MuiChip-outlined\": {\r\n color: palette.theme?.primary[800],\r\n borderColor: palette.theme?.primary[300],\r\n \"&:hover\": {\r\n backgroundColor: palette.theme?.primary[200]\r\n },\r\n },\r\n }),\r\n ...(inActive && {\r\n \"&.MuiChip-filled\": {\r\n color: palette.theme?.error[700],\r\n backgroundColor: palette.theme?.error[200],\r\n \"&:hover\": {\r\n backgroundColor: palette.theme?.error[200]\r\n },\r\n },\r\n \"&.MuiChip-outlined\": {\r\n color: palette.theme?.error[800],\r\n borderColor: palette.theme?.error[300],\r\n \"&:hover\": {\r\n backgroundColor: palette.theme?.error[200]\r\n },\r\n },\r\n }),\r\n\r\n \"& .MuiChip-icon\": {\r\n marginRight: \"0.125rem\",\r\n marginLeft: \"0rem\",\r\n color: \"inherit\",\r\n },\r\n \"& .MuiChip-deleteIcon\": {\r\n marginLeft: \"0.25rem\",\r\n fontSize: \".875rem\",\r\n color: \"inherit\",\r\n marginRight: \"0rem\",\r\n },\r\n \"&.MuiChip-root\": {\r\n height: \"fit-content\",\r\n padding: \"0.25rem 0.5rem\",\r\n \".MuiChip-label\": {\r\n padding: \"0rem\",\r\n },\r\n },\r\n }),\r\n);\r\n\r\nconst Chip = (props: IChip) => {\r\n const {\r\n label,\r\n type = \"rounded\",\r\n variant = \"filled\",\r\n active = false,\r\n inActive = false,\r\n ...rest\r\n } = props;\r\n\r\n return (\r\n <StyledChip\r\n label={label}\r\n variant={variant}\r\n active={active}\r\n inActive={inActive}\r\n type={type}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\nexport { Chip };\r\nexport default Chip;\r\n","import { Box } from \"@mui/material\";\r\nimport Typography from \"../typography/typography\";\r\nimport \"./value-field.scss\";\r\n\r\ninterface ValueFieldProps {\r\n label: string;\r\n children: React.ReactNode;\r\n childrenTypoProps?:any\r\n}\r\n\r\nconst ValueField = (props: ValueFieldProps) => {\r\n const { label, children, childrenTypoProps } = props;\r\n\r\n return (\r\n <Box className=\"valueField--Container\" >\r\n <Typography weight={\"medium\"} type=\"s3\" color={\"theme.secondary.1000\"}>\r\n {label}\r\n </Typography>\r\n <Typography weight={\"medium\"} type=\"s5\" color={\"theme.secondary.700\"} sx={{ wordBreak:'break-all', pr: 1 }} {...childrenTypoProps}>\r\n {children}\r\n </Typography>\r\n </Box>\r\n );\r\n};\r\n\r\nexport { ValueField };\r\nexport default ValueField;\r\n","\r\nimport React from 'react';\r\n\r\nimport { Box } from '@mui/material';\r\n/* eslint-disable no-mixed-spaces-and-tabs */\r\nimport Typography from '../components/typography/typography';\r\nimport { Document } from '../components/icons';\r\nimport { MaterialTableColumnProps, TypeBooleanLabels } from '../components/material-table/material-table';\r\nimport { TFunction } from 'i18next';\r\nimport { formatDate } from './dateFormat';\r\nimport { MRT_Row, MRT_RowData } from 'material-react-table';\r\nimport { Link } from 'react-router-dom';\r\nimport DefaultAggregation from '../components/material-table/components/default-aggregation';\r\nimport Chip from '../components/chip/chip';\r\nimport _ from 'lodash';\r\nimport images from '../assets/images';\r\nimport { formatAmount, formatAmountWithCurrency, toFixedWithNumbers } from \"./common\";\r\nimport { defaultCurrencyFormat } from './common';\r\n\r\nimport { defaultCurrencySymbol } from './common';\r\nimport ValueField from '../components/value-field/value-field';\r\nimport { formatLabel } from './format-text';\r\nimport { generateRouteWithId } from './route-utils';\r\nimport dayjs from 'dayjs';\r\nimport { useAuth } from '@/hooks';\r\nconst downloadFile = async (url, fileName) => {\r\n\ttry {\r\n\t\t// Fetch the file from the provided URL\r\n\t\tconst response = await fetch(url);\r\n\t\tif (!response.ok) {\r\n\t\t\tthrow new Error(`Failed to fetch file: ${response.statusText}`);\r\n\t\t}\r\n\r\n\t\t// Convert the response to a blob\r\n\t\tconst blob = await response.blob();\r\n\r\n\t\t// Create a temporary URL for the blob\r\n\t\tconst blobUrl = window.URL.createObjectURL(blob);\r\n\r\n\t\t// Create a link element\r\n\t\tconst link = document.createElement('a');\r\n\t\tlink.href = blobUrl;\r\n\t\tlink.download = fileName || 'downloaded-file'; // Fallback filename if none provided\r\n\r\n\t\t// Append link to the body, trigger click, and remove it\r\n\t\tdocument.body.appendChild(link);\r\n\t\tlink.click();\r\n\t\tdocument.body.removeChild(link);\r\n\r\n\t\t// Revoke the blob URL to free up memory\r\n\t\twindow.URL.revokeObjectURL(blobUrl);\r\n\t} catch (error) {\r\n\t\tconsole.error('Error downloading file:', error);\r\n\t\tthrow error; // Re-throw to allow caller to handle the error\r\n\t}\r\n};\r\n\r\nexport const getFileNamesFromUrlsAsLink = (fileUrls: string | string[], mode?: string) => {\r\n\tconst fUrls = fileUrls\r\n\t\t? Array.isArray(fileUrls)\r\n\t\t\t? fileUrls\r\n\t\t\t: [fileUrls]\r\n\t\t: [];\r\n\r\n\tif (fUrls && fUrls.length) {\r\n\t\treturn (\r\n\t\t\t<Box\r\n\t\t\t\tdisplay='flex'\r\n\t\t\t\tgap={1}\r\n\t\t\t\tmb={1}\r\n\t\t\t\talignItems='center'\r\n\t\t\t\tflexDirection='column'>\r\n\t\t\t\t{fUrls.map((url) => {\r\n\t\t\t\t\tconst fileName = url.substring(url.lastIndexOf('/') + 1);\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<Typography\r\n\t\t\t\t\t\t\ttype='s3'\r\n\t\t\t\t\t\t\tweight='medium'\r\n\t\t\t\t\t\t\tcolor='#246DFF'\r\n\t\t\t\t\t\t\tsx={{ textDecoration: 'underline', textUnderlineOffset: '3px', cursor: 'pointer' }}\r\n\t\t\t\t\t\t\tnoWrap\r\n\t\t\t\t\t\t\tonClick={() => mode === 'add' ? undefined : downloadFile(url, fileName)}>\r\n\t\t\t\t\t\t\t{fileName}\r\n\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t</Box>\r\n\t\t);\r\n\t}\r\n\r\n\treturn null;\r\n};\r\n\r\nexport const getFileNamesFromUrls = (fileUrls: string[]) => {\r\n\tif (!fileUrls) return null;\r\n\r\n\tif (!fileUrls?.filter(Boolean)?.length) return null;\r\n\r\n\treturn fileUrls?.filter(Boolean)?.map((url) => {\r\n\t\tconst fileName = url?.substring(url?.lastIndexOf('/') + 1) || '';\r\n\t\treturn (\r\n\t\t\t<Box display='flex' gap={1} mb={1} alignItems='center'>\r\n\t\t\t\t<Document fontSize='small' />\r\n\t\t\t\t<Typography\r\n\t\t\t\t\ttype='s3'\r\n\t\t\t\t\tweight='medium'\r\n\t\t\t\t\tcolor={'theme.secondary.1000'}\r\n\t\t\t\t\tsx={{ cursor: 'pointer' }}\r\n\t\t\t\t\tnoWrap onClick={() => downloadFile(url, fileName)}>\r\n\t\t\t\t\t{fileName}\r\n\t\t\t\t</Typography>\r\n\t\t\t</Box>\r\n\t\t);\r\n\t});\r\n};\r\n\r\nexport type CurrencySymbolFn = (row: MRT_Row<MRT_RowData>) => string;\r\nexport type StatusClassesFn = (row: MRT_Row<MRT_RowData>) => string;\r\nexport type RedirectionLinkFn = (row: MRT_Row<MRT_RowData>) => string;\r\n\r\nexport interface ITransformTableColumns {\r\n\tcolumns: MaterialTableColumnProps[];\r\n\tcurrencySymbol?: string | CurrencySymbolFn;\r\n\ttranslationFn?: TFunction<'translation', undefined>;\r\n\tenableFooter?: boolean;\r\n\tredirectionLink?: string | RedirectionLinkFn;\r\n\tredirectionLinkState?: (row: MRT_Row<MRT_RowData>) => void;\r\n\tredirectionPathWithId?: string;\r\n\tidField?: string;\r\n\tcustomizeValue?: (row: MRT_Row<MRT_RowData>, columnAccessorKey?: string, value?: any) => any;\r\n\tstatusClasses?: string | StatusClassesFn;\r\n\trows: any[];\r\n\tcurrencyFormat?: boolean\r\n}\r\n\r\nconst jsonArrayToString = (json: any) => {\r\n\tif (!json) return '';\r\n\r\n\ttry {\r\n\t\treturn JSON.parse(json)?.join(', ');\r\n\t} catch (error) {\r\n\t\treturn '';\r\n\t}\r\n};\r\nconst getStatusClass = (status: any) => {\r\n\tif (typeof status === 'string') {\r\n\t\treturn status?.toLowerCase()?.replace(' ', '');\r\n\t} else if (typeof status === 'number') {\r\n\t\treturn status ? 'enabled' : 'disabled';\r\n\t}\r\n};\r\n\r\nexport const transformTableColumns = ({\r\n\tcolumns = [],\r\n\tcurrencySymbol,\r\n\ttranslationFn = undefined,\r\n\tenableFooter = false,\r\n\tredirectionLink = '',\r\n\tredirectionLinkState = undefined,\r\n\tredirectionPathWithId = '',\r\n\tidField = 'id',\r\n\tstatusClasses = '',\r\n\trows = [],\r\n\tcustomizeValue = undefined,\r\n\tcurrencyFormat\r\n}: ITransformTableColumns) => {\r\n\tconst currencyFormatData = currencyFormat ? currencyFormat : defaultCurrencyFormat()\r\n\r\n\treturn columns.map((column) => ({\r\n\t\t...column,\r\n\t\theader: translationFn ? translationFn(column.header) : column.header,\r\n\t\tCell: ({ renderedCellValue, row }: any) => {\r\n\t\t\tlet v = renderedCellValue;\r\n\t\t\tif (typeof v === 'number' && v && String(v)?.includes('.')) {\r\n\t\t\t\treturn v = toFixedWithNumbers(v)\r\n\t\t\t}\r\n\t\t\tconst columnType = column.type || (column.header === \"Amount\" || column.header === \"Rate\" ? \"currency\" : undefined);\r\n\t\t\tswitch (columnType) {\r\n\t\t\t\tcase 'formattedString':\r\n\t\t\t\t\tv = formatLabel(renderedCellValue) || '-';\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'date':\r\n\t\t\t\t\tv = formatDate(\r\n\t\t\t\t\t\trenderedCellValue,\r\n\t\t\t\t\t\tcolumn.editProperties?.dateFormat || 'DD-MM-YYYY'\r\n\t\t\t\t\t);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'datetime':\r\n\t\t\t\t\tv = formatDate(\r\n\t\t\t\t\t\trenderedCellValue,\r\n\t\t\t\t\t\tcolumn.editProperties?.dateFormat || 'DD-MM-YYYY hh:mm A'\r\n\t\t\t\t\t);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'currency':\r\n\t\t\t\tcase 'amount': {\r\n\t\t\t\t\tconst cs = column?.showDefaultCurrency ? defaultCurrencySymbol() : currencySymbol instanceof Function ? currencySymbol(row) : (currencySymbol || defaultCurrencySymbol());\r\n\t\t\t\t\tv = renderedCellValue || renderedCellValue == 0\r\n\t\t\t\t\t\t? `${formatAmount(renderedCellValue, currencyFormatData, 'before', cs) || '-'}`\r\n\t\t\t\t\t\t: null;\r\n\r\n\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'status':\r\n\t\t\t\tcase 'enum':\r\n\t\t\t\tcase 'array':\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tv = renderedCellValue || renderedCellValue === 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{Array.isArray(renderedCellValue) ? (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{renderedCellValue?.length ? <Box sx={{ display: 'flex', alignItems: 'center', gap: 1, flexWrap: 'wrap' }}>\r\n\t\t\t\t\t\t\t\t\t\t\t{renderedCellValue.map((rcv) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype='normal'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={column.custom_class ? column?.custom_class : (typeof rcv === 'string' ? rcv : '')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Typography type='s4' weight='medium' color={'inherit'}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{typeof rcv === 'object' ? _.get(rcv, column?.typeArrayAccessorKey || '', '') : rcv}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t</Box> : '-'}\r\n\t\t\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\t\t\ttype='normal'\r\n\t\t\t\t\t\t\t\t\t\tclassName={\r\n\t\t\t\t\t\t\t\t\t\t\tcolumn.custom_class ? column?.custom_class :\r\n\t\t\t\t\t\t\t\t\t\t\t\t(statusClasses instanceof Function\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? statusClasses(row)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: `${statusClasses}${getStatusClass(renderedCellValue)}`)\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tlabel={\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t<Typography type='s4' weight='medium' color={'inherit'}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{renderedCellValue}\r\n\t\t\t\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t'-'\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'boolean':\r\n\t\t\t\t\tv = (\r\n\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\ttype='normal'\r\n\t\t\t\t\t\t\t// active={Boolean(renderedCellValue)}\r\n\t\t\t\t\t\t\t// inActive={Boolean(!renderedCellValue)}\r\n\t\t\t\t\t\t\tsx={(theme) => ({\r\n\t\t\t\t\t\t\t\t...(renderedCellValue ?\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette?.theme.tertiary4[200],\r\n\t\t\t\t\t\t\t\t\t\tcolor: theme.palette?.theme.tertiary4[900]\r\n\t\t\t\t\t\t\t\t\t} :\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: theme.palette?.theme.tertiary6[200],\r\n\t\t\t\t\t\t\t\t\t\tcolor: theme.palette?.theme.tertiary6[900]\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\tlabel={\r\n\t\t\t\t\t\t\t\t<Typography type='s4' weight='medium' color={'inherit'}>\r\n\t\t\t\t\t\t\t\t\t{column?.typeBooleanLabels?.[renderedCellValue as keyof TypeBooleanLabels] || '-'}\r\n\t\t\t\t\t\t\t\t</Typography>\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'jsonArray':\r\n\t\t\t\t\tv = jsonArrayToString(renderedCellValue);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'custom':\r\n\t\t\t\tcase 'custom_link':\r\n\t\t\t\t\tv = customizeValue?.(row, column.accessorKey, renderedCellValue);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'toFixed':\r\n\t\t\t\t\tv = toFixedWithNumbers(renderedCellValue)\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\t// Allow customizeValue to override any type's default rendering\r\n\t\t\t// if (customizeValue) {\r\n\t\t\t// \tconst customResult = customizeValue(row, column.accessorKey, renderedCellValue);\r\n\t\t\t// \tif (customResult !== undefined) {\r\n\t\t\t// \t\tv = customResult;\r\n\t\t\t// \t}\r\n\t\t\t// }\r\n\r\n\t\t\t// If redirectionPathWithId is provided, use it for URL parameter-based navigation\r\n\t\t\tif (redirectionPathWithId && column.type != 'custom_link') {\r\n\t\t\t\tconst id = row.original[idField || 'id'];\r\n\t\t\t\tif (id) {\r\n\t\t\t\t\tconst path = redirectionPathWithId instanceof Function ? generateRouteWithId(redirectionPathWithId(row), id?.toString()) : generateRouteWithId(redirectionPathWithId, id?.toString());\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<Link to={path}>\r\n\t\t\t\t\t\t\t{v}\r\n\t\t\t\t\t\t</Link>\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Fall back to the existing redirection logic\r\n\t\t\telse if (redirectionLink && column.type != 'custom_link') {\r\n\t\t\t\tconst id = row.original[idField || 'id'];\r\n\t\t\t\tconst path = redirectionLink instanceof Function ? generateRouteWithId(redirectionLink(row), id?.toString()) : generateRouteWithId(redirectionLink, id?.toString());\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<Link to={path}\r\n\t\t\t\t\t\tstate={redirectionLinkState?.(row)}>\r\n\t\t\t\t\t\t{v}\r\n\t\t\t\t\t</Link>\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn v;\r\n\t\t},\r\n\t\t...(Boolean(enableFooter) && {\r\n\t\t\tFooter: ({ column }) => (\r\n\t\t\t\t<DefaultAggregation data={rows} column={String(column.id)} />\r\n\t\t\t)\r\n\t\t})\r\n\t}));\r\n};\r\n\r\nexport const renderEmptyRowsFallback = (text: string) => (\r\n\t<Box className='no-data'>\r\n\t\t<img src={images.common.tableNoData} />\r\n\t\t<Typography type='s3' weight='medium' color='theme.secondary.1000'>\r\n\t\t\t{text}\r\n\t\t</Typography>\r\n\t</Box>\r\n)\r\n\r\n/* eslint-disable no-mixed-spaces-and-tabs */\r\nexport const renderValueField = (label: string, value: any, t: any, formatFn?: (val: any) => string) => {\r\n\treturn (\r\n\t\t<ValueField key={label} label={t?.(label)}>\r\n\t\t\t{formatFn ? formatFn(value) : value ?? '-'}\r\n\t\t</ValueField>\r\n\t);\r\n};\r\n\r\nexport const formateValueByType = ({\r\n\tvalue,\r\n\ttype,\r\n\tformat,\r\n\tweight\r\n}: {\r\n\tvalue: any;\r\n\ttype: string;\r\n\tformat?: string;\r\n\tweight?: \"normal\" | \"medium\" | \"bold\";\r\n}) => {\r\n\tconst numberTypes = ['number', 'amount', 'toFixed'];\r\n\tconst valueCheck = [null, undefined, '0'];\r\n\tif (valueCheck.includes(value)) return <Typography type='s4' weight={weight} color='theme.neutral.1000'>{numberTypes?.includes(type) ? value : (value || '-')}</Typography>;\r\n\r\n\tswitch (type) {\r\n\t\tcase 'date':\r\n\t\t\treturn dayjs(value).isValid() ? formatDate(value, format) : value;\r\n\t\tcase 'toFixed':\r\n\t\t\treturn <Typography type='s4' weight={weight} color='theme.neutral.1000'>{value ? toFixedWithNumbers(Number(value)) : '-'}</Typography>;\r\n\t\tcase 'amount':\r\n\t\t\treturn <Typography type='s4' weight={weight} color='theme.neutral.1000'>{value ? formatAmountWithCurrency(Number(value)) : '-'}</Typography>;\r\n\t\tdefault:\r\n\t\t\treturn weight ? <Typography type='s4' weight={weight} color='theme.neutral.1000'>{value || '-'}</Typography> : value || '-';\r\n\t}\r\n};\r\n\r\n\r\nconst setCompany = (value: any) => {\r\n\tconst { user } = useAuth();\r\n\treturn {\r\n\t\tvalue: user?.company_id,\r\n\t\toptions: [{\r\n\t\t\tlabel: user?.company_data?.name,\r\n\t\t\tvalue: user?.company_id\r\n\t\t}]\r\n\t}\r\n}\r\nexport const configMapper = {\r\n\t'company': {\r\n\t\tcallBack: setCompany,\r\n\r\n\t}\r\n}\r\n","type ItemType = {\r\n section_name: any;\r\n is_system_field: boolean;\r\n field_type: string;\r\n label: string;\r\n name?: string;\r\n placeholder: string;\r\n default_value: any;\r\n validation: any[];\r\n is_multiline: any;\r\n section_order: any;\r\n option?: any;\r\n time_format?: string;\r\n currency?: string;\r\n field_properties: {\r\n is_accordion?: boolean;\r\n float_step?: any;\r\n options: any;\r\n is_multiselect: any;\r\n title: string;\r\n title_position: \"start\" | \"end\";\r\n is_multiline: boolean\r\n is_checked: boolean\r\n table: string,\r\n table_columns: string[]\r\n table_rows?: any\r\n is_multiple: boolean\r\n enable_footer?: boolean\r\n footer_action?: 'add'\r\n other_buttons?: React.ReactNode[]\r\n };\r\n is_section_field?: true;\r\n section_type?: \"default\" | \"Form switcher section\";\r\n form_switcher_label?: string;\r\n form_switcher_name?: string;\r\n switcher_forms?: {\r\n value?: string;\r\n name?: string;\r\n id?: number;\r\n }[];\r\n is_accordion?: boolean;\r\n}\r\n\r\nconst getFirstNonSectionField = (formData: any[]) => {\r\n const firstField = formData?.find((field) => !field.is_section_field)\r\n return firstField\r\n}\r\n\r\nconst formBuilderDeConversion = (formData: any) => {\r\n const outputData: any = {};\r\n if (formData.length === 0) {\r\n return outputData;\r\n }\r\n\r\n const firstItem = getFirstNonSectionField(formData);\r\n\r\n if (firstItem?.tab_name) {\r\n outputData.tab = <any>[];\r\n let currentTab: {\r\n title: string;\r\n data: any;\r\n remove_tab?: any;\r\n tab_order?: any;\r\n } | null = null;\r\n let currentSection: {\r\n label: string;\r\n members: any;\r\n remove_section: any;\r\n field_type?: string;\r\n is_accordion?: boolean;\r\n } | null = null;\r\n let otherSectionDetails: any = {}\r\n let sectionOrder: any = null\r\n\r\n formData.forEach((item: any) => {\r\n if (item?.is_section_field) {\r\n otherSectionDetails = {\r\n field_type: item?.field_type,\r\n label: item?.label,\r\n is_accordion: item?.is_accordion,\r\n is_section_field: item?.is_section_field,\r\n section_type: item?.section_type,\r\n form_switcher_label: item?.form_switcher_label,\r\n form_switcher_name: item?.form_switcher_name,\r\n switcher_forms: item?.switcher_forms,\r\n disabled: Boolean(item?.disabled)\r\n }\r\n currentSection = null\r\n sectionOrder = sectionOrder++\r\n } else {\r\n if (!currentTab || currentTab.title !== item.tab_name) {\r\n\r\n currentTab = {\r\n tab_order: item.tab_order || 1,\r\n title: item.tab_name,\r\n data: [],\r\n };\r\n const checkIfTabExist = outputData.tab.find(tab => tab.title === currentTab?.title)\r\n\r\n if (!checkIfTabExist) {\r\n outputData.tab.push(currentTab);\r\n } else {\r\n currentTab = checkIfTabExist\r\n }\r\n currentSection = null;\r\n }\r\n\r\n if (!currentSection || currentSection.label !== item.section_name || sectionOrder !== item.section_order) {\r\n currentSection = {\r\n field_type: \"section\",\r\n label: item.section_name || \"\",\r\n is_accordion: item.field_properties?.is_accordion,\r\n members: [],\r\n remove_section: item.is_system_field === true ? true : false,\r\n };\r\n\r\n const checkIfSectionExist = currentTab.data.find(section => section.label === currentSection?.label)\r\n if (!checkIfSectionExist) {\r\n // Merge section details and update currentSection reference to the actual pushed object\r\n currentSection = { ...otherSectionDetails, ...currentSection };\r\n currentTab.data.push(currentSection);\r\n } else {\r\n currentSection = checkIfSectionExist\r\n }\r\n otherSectionDetails = null\r\n }\r\n sectionOrder = item.section_order\r\n\r\n const thenValidations = item?.validation?.find((v: { type: string }) => v.type === \"when\")?.thenValidations || []\r\n\r\n const member = {\r\n ...item,\r\n id: `${Date.now()}-${Math.random()}`,\r\n field_type:\r\n item.field_type === \"media\" ? \"file\" : item.field_type || \"text\",\r\n type: item.is_system_field ? \"system\" : \"custom\",\r\n label: item.label || \"\",\r\n placeholder: item.placeholder || \"\",\r\n default_value: item.default_value || \"\",\r\n ...(item?.time_format &&\r\n item?.field_type === \"time\" && { option: item?.time_format }),\r\n ...(item?.currency &&\r\n item?.field_type === \"currency\" && { option: item?.currency }),\r\n ...(item.field_type === \"text\" && {\r\n min_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"min_length\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"text\" && {\r\n max_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_length\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"number\" && {\r\n min_length:\r\n item.validation.find((v: { type: string }) => v.type === \"min_val\")\r\n ?.value || null,\r\n }),\r\n ...(item.field_type === \"number\" && {\r\n max_length:\r\n item.validation.find((v: { type: string }) => v.type === \"max_val\")\r\n ?.value || null,\r\n }),\r\n ...((item.is_multiline !== undefined || item.field_properties.is_multiline !== undefined) && {\r\n is_multiline: item.is_multiline || item.field_properties.is_multiline,\r\n }),\r\n is_required:\r\n item.validation.find((v: { type: string }) => v.type === \"required\")?.value ||\r\n thenValidations?.find((v: { type: string }) => v.type === \"required\")?.value ||\r\n false,\r\n is_unique:\r\n item.validation.find((v: { type: string }) => v.type === \"unique\")\r\n ?.value || false,\r\n section_order: item.section_order || 0,\r\n ...(item.field_properties.float_step && {\r\n float_step: item.field_properties.float_step.toString(),\r\n }),\r\n ...(item.field_properties.options && {\r\n options: item.field_properties.options,\r\n }),\r\n ...(item.field_properties.is_multiselect !== undefined && {\r\n is_multiselect: item.field_properties.is_multiselect,\r\n }),\r\n ...(item.field_properties?.enable_footer !== undefined && {\r\n enable_footer: Boolean(item.field_properties.enable_footer),\r\n }),\r\n ...(item.field_properties?.footer_action !== undefined && {\r\n footer_action: item.field_properties.footer_action || 'add',\r\n }),\r\n ...(item.field_type === \"date\" && {\r\n is_future_dates_allowed:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"is_future_dates_allowed\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"date\" && {\r\n is_past_dates_allowed:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"is_past_dates_allowed\",\r\n )?.value || null,\r\n }),\r\n ...((item.field_type === \"image\" || item.field_type === \"media\" || item.field_type === \"file\") && {\r\n max_size:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_file_size\",\r\n )?.value || undefined,\r\n is_multiple: item.field_properties?.is_multiple\r\n }),\r\n ...((item.field_type === \"toggleButton\" || item.field_type === \"checkbox\" || item.field_type === \"radioButton\") && {\r\n title: item.field_properties?.title ? item.field_properties?.title : '',\r\n title_position: item.field_properties?.title_position ?? \"end\",\r\n is_checked: item.field_properties?.is_checked\r\n }),\r\n ...((item.field_type === \"table\") && {\r\n table: item.field_properties?.table,\r\n table_columns: convertTableColumns(item.field_properties?.table_columns),\r\n table_rows: item.field_properties?.table_rows,\r\n otherButtons: item.field_properties?.other_buttons || []\r\n }),\r\n };\r\n if (currentSection) {\r\n currentSection.members.push(member);\r\n if (\r\n currentSection.members.some((member: any) => member.type === \"system\")\r\n ) {\r\n currentSection.remove_section = true;\r\n } else {\r\n currentSection.remove_section = false;\r\n }\r\n currentTab.remove_tab = currentTab.data.some(\r\n (section: { members: any[] }) =>\r\n section.members.some(\r\n (member: { type: string }) => member.type === \"system\",\r\n ),\r\n );\r\n }\r\n }\r\n });\r\n } else {\r\n // Convert to sections format\r\n outputData.section = [];\r\n let currentSection: {\r\n label: any;\r\n members: any;\r\n remove_section: any;\r\n field_type?: string;\r\n is_accordion?: boolean;\r\n } | null = null;\r\n let otherSectionDetails: any = {}\r\n let sectionOrder: any = null\r\n\r\n formData.forEach(\r\n (item: ItemType) => {\r\n if (item.is_section_field) {\r\n otherSectionDetails = {\r\n field_type: item?.field_type,\r\n label: item?.label,\r\n is_accordion: item?.is_accordion,\r\n is_section_field: item?.is_section_field,\r\n section_type: item?.section_type,\r\n form_switcher_label: item?.form_switcher_label,\r\n form_switcher_name: item?.form_switcher_name,\r\n switcher_forms: item?.switcher_forms,\r\n disabled: Boolean(item?.disabled)\r\n }\r\n sectionOrder = sectionOrder++\r\n currentSection = null\r\n } else {\r\n if (!currentSection || currentSection.label !== item.section_name || sectionOrder !== item.section_order) {\r\n currentSection = {\r\n field_type: \"section\",\r\n label: item.section_name || \"\",\r\n is_accordion: item.field_properties?.is_accordion,\r\n members: [],\r\n remove_section: item.is_system_field === true ? true : false,\r\n };\r\n\r\n const checkIfSectionExist = outputData?.section?.find(section => section.label === currentSection?.label)\r\n if (!checkIfSectionExist) {\r\n // Merge section details and update currentSection reference to the actual pushed object\r\n currentSection = { ...otherSectionDetails, ...currentSection };\r\n outputData.section.push(currentSection);\r\n } else {\r\n currentSection = checkIfSectionExist\r\n }\r\n\r\n // outputData.section.push({ ...otherSectionDetails, ...currentSection });\r\n\r\n otherSectionDetails = null\r\n }\r\n sectionOrder = item.section_order\r\n\r\n const thenValidations = item?.validation?.find((v: { type: string }) => v.type === \"when\")?.thenValidations || []\r\n\r\n const member = {\r\n ...item,\r\n id: `${Date.now()}-${Math.random()}`,\r\n field_type:\r\n item.field_type === \"media\" ? \"file\" : item.field_type || \"text\",\r\n type: item.is_system_field ? \"system\" : \"custom\",\r\n label: item.label,\r\n placeholder: item.placeholder || \"\",\r\n default_value: item.default_value || \"\",\r\n ...(item?.time_format &&\r\n item?.field_type === \"time\" && { option: item?.time_format }),\r\n ...(item?.currency &&\r\n item?.field_type === \"currency\" && { option: item?.currency }),\r\n ...(item.field_type === \"text\" && {\r\n min_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"min_length\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"text\" && {\r\n max_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_length\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"number\" && {\r\n min_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"min_val\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"number\" && {\r\n max_length:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_val\",\r\n )?.value || null,\r\n }),\r\n ...((item.is_multiline !== undefined || item.field_properties?.is_multiline !== undefined) && {\r\n is_multiline: item.is_multiline || item.field_properties.is_multiline,\r\n }),\r\n is_required:\r\n item.validation.find((v: { type: string }) => v.type === \"required\")?.value ||\r\n thenValidations?.find((v: { type: string }) => v.type === \"required\")?.value ||\r\n false,\r\n is_unique:\r\n item.validation.find((v: { type: string }) => v.type === \"unique\")\r\n ?.value || false,\r\n section_order: item.section_order || 0,\r\n ...(item.field_properties?.float_step && {\r\n float_step: Number(item.field_properties.float_step),\r\n }),\r\n ...(item.field_properties?.options && {\r\n options: item.field_properties.options,\r\n }),\r\n ...(item.field_properties?.is_multiselect !== undefined && {\r\n is_multiselect: item.field_properties.is_multiselect,\r\n }),\r\n ...(item.field_properties?.enable_footer !== undefined && {\r\n enable_footer: Boolean(item.field_properties.enable_footer),\r\n }),\r\n ...(item.field_properties?.footer_action !== undefined && {\r\n footer_action: item.field_properties.footer_action || 'add',\r\n }),\r\n ...(item.field_type === \"date\" && {\r\n is_future_dates_allowed:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"is_future_dates_allowed\",\r\n )?.value || null,\r\n }),\r\n ...(item.field_type === \"date\" && {\r\n is_past_dates_allowed:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"is_past_dates_allowed\",\r\n )?.value || null,\r\n }),\r\n ...((item.field_type === \"image\" || item.field_type === \"media\" || item.field_type === \"file\") && {\r\n max_size:\r\n item.validation.find(\r\n (v: { type: string }) => v.type === \"max_file_size\",\r\n )?.value || undefined,\r\n is_multiple: item.field_properties?.is_multiple\r\n }),\r\n ...((item.field_type === \"toggleButton\" || item.field_type === \"checkbox\") && {\r\n title: item.field_properties?.title ? item.field_properties?.title : item.label,\r\n title_position: item.field_properties?.title_position ?? \"end\",\r\n is_checked: item.field_properties?.is_checked\r\n }),\r\n ...((item.field_type === \"table\") && {\r\n table: item.field_properties?.table,\r\n table_columns: convertTableColumns(item.field_properties?.table_columns),\r\n table_rows: item.field_properties?.table_rows,\r\n otherButtons: item.field_properties?.other_buttons || []\r\n }),\r\n };\r\n\r\n currentSection.members.push(member);\r\n if (\r\n currentSection.members.some((member: any) => member.type === \"system\")\r\n ) {\r\n currentSection.remove_section = true;\r\n } else {\r\n currentSection.remove_section = false;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n return outputData;\r\n};\r\n\r\n\r\n\r\nfunction formatText(key: string): string {\r\n return key ? key\r\n .split(/[:_-]/)\r\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\r\n .join(\" \") : key;\r\n}\r\n\r\nexport const convertTableColumns = (columns: string[]) => {\r\n if (!Array.isArray(columns)) return [];\r\n\r\n return columns.map(column => {\r\n if (typeof column === 'object') {\r\n return { ...column }\r\n } else {\r\n const colArr = column.split(\".\").filter(str => str)\r\n const header = colArr.length ? (colArr.length > 1 ? formatText(colArr[colArr.length - 1]) : formatText(colArr[0])) : \"-\"\r\n\r\n return {\r\n header,\r\n accessorKey: column,\r\n visible: true,\r\n }\r\n }\r\n })\r\n}\r\n\r\nexport default formBuilderDeConversion;\r\n"],"names":["MUIMenu","sum","React","MUIChip","_a","_b","_c","_d","column","member"],"mappings":";;;;;;;;;;;AAEA,MAAM,aAAa,OAAOA,MAAO,EAAE,OAAO;AAAA,EACxC,qBAAqB;AAAA,IACnB,cAAc;AAAA,IACd,UAAU;AAAA,EAAA;AAEd,EAAE;AAEF,MAAM,OAAO,CAAC,EAAE,UAAU,UAAU,SAAS,MAAM,GAAG,WAAsB;AAC1E,SACE,oBAAA,UAAA,EACE,UAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe;AAAA,QACb,mBAAmB;AAAA,MAAA;AAAA,MAEpB,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;ACvBA,MAAM,UAAU,CAAC,MAAqB,WAAmB;AACxD,QAAMC,OAAM,KAAK;AAAA,IAChB,CAAC,KAAa,QAAQ,MAAM,OAAO,cAAc,IAAI,MAAM,CAAC,CAAC;AAAA,IAC7D;AAAA,EAAA;AAED,QAAM,QAAQ,KAAK;AACnB,SAAO,CAAC,MAAMA,IAAG,IAAI,GAAG,EAAE,MAAMA,OAAM,OAAM,CAAC,CAAC,KAAK;AACpD;AAEA,MAAM,gBAAgB,CAAC,gBAAqB;AAE3C,MAAI,OAAO,gBAAgB,UAAU;AACpC,UAAM,QAAQ,YAAY,MAAM,oBAAoB;AACpD,WAAO,QAAQ,MAAM,CAAC,IAAI;AAAA,EAC3B;AACA,SAAO;AACR;AACA,MAAM,MAAM,CAAC,MAAqB,WAAmB;AACpD,QAAMA,OAAM,KAAK;AAAA,IAChB,CAAC,KAAa,QAAQ,MAAM,OAAO,cAAc,IAAI,MAAM,CAAC,CAAC;AAAA,IAC7D;AAAA,EAAA;AAED,SAAO,CAAC,MAAMA,IAAG,IAAI,GAAG,EAAE,MAAMA,MAAI,CAAC,CAAC,KAAK;AAC5C;AAEA,MAAM,MAAM,CAAC,MAAqB,WAAmB;AACpD,QAAM,SAAS,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,QAAQ,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC;AACjE,SAAO,GAAG,MAAM;AACjB;AAEA,MAAM,aAAa,CAAC,MAAqB,WAAmB;AAC3D,QAAM,QAAQ,6BAAM;AAAA,IAAO,CAAC,MAAM;AACjC,YAAM,QAAQ,EAAE,IAAI,GAAG,MAAM;AAC7B,aAAO,MAAM,OAAO,KAAK,CAAC,IACvB,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,IACtB,QAAQ,CAAC,OAAO,KAAK,CAAC;AAAA,IAC1B;AAAA;AAEA,SAAO,GAAG,MAAM,MAAM;AACvB;AAEA,MAAM,kBAAkB,CAAC,MAAqB,WAAmB;AAChE,QAAM,QAAQ,6BAAM;AAAA,IAAO,CAAC,MAAM;AACjC,YAAM,QAAQ,EAAE,IAAI,GAAG,MAAM;AAC7B,aAAO,MAAM,OAAO,KAAK,CAAC,IACvB,QAAQ,CAAC,EAAE,KAAK,KAAK,CAAC,IACtB,QAAQ,CAAC,OAAO,KAAK,CAAC;AAAA,IAC1B;AAAA;AAEA,QAAM,aAAc,MAAM,SAAS,KAAK,SAAU;AAElD,SAAO,GAAG,EAAE,MAAM,YAAW,CAAC,CAAC;AAChC;AAEA,MAAM,iBAAiB,CAAC,MAAqB,WAAmB;AAC/D,QAAM,OAAO,6BAAM;AAAA,IAAO,CAAC,MAAM;AAChC,YAAM,QAAQ,EAAE,IAAI,GAAG,MAAM;AAC7B,aAAO,MAAM,OAAO,KAAK,CAAC,IACvB,QAAQ,EAAE,KAAK,KAAK,CAAC,IACrB,QAAQ,OAAO,KAAK,CAAC;AAAA,IACzB;AAAA;AAEA,QAAM,aAAc,KAAK,SAAS,KAAK,SAAU;AAEjD,SAAO,GAAG,EAAE,MAAM,YAAW,CAAC,CAAC;AAChC;AAEA,MAAM,YAAY,CAAC,MAAqB,WAAmB;AAC1D,QAAM,OAAO,6BAAM;AAAA,IAAO,CAAC,MAAM;AAChC,YAAM,QAAQ,EAAE,IAAI,GAAG,MAAM;AAC7B,aAAO,MAAM,OAAO,KAAK,CAAC,IACvB,QAAQ,EAAE,KAAK,KAAK,CAAC,IACrB,QAAQ,OAAO,KAAK,CAAC;AAAA,IACzB;AAAA;AAEA,SAAO,GAAG,KAAK,MAAM;AACtB;AAEA,MAAM,OAAO,MAAM;AAClB,SAAO;AACR;AAEA,MAAM,MAAM,CAAC,MAAqB,WAAmB;AACpD,QAAM,WAAW,KAAK,IAAI,GAAG,KAAK,IAAI,CAAC,QAAQ,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC;AACnE,SAAO,GAAG,QAAQ;AACnB;AAEO,MAAM,iBAAiB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AC/EA,MAAM,eAA+B;AAAA,EACpC;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAER;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAER;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAER;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAER;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAER;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAER;AAAA,IACC,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAET;AAEA,MAAM,uBAAuB;AAAA,EAC5B,aAAa,eAAe;AAAA,EAC5B,YAAY,eAAe;AAAA,EAC3B,kBAAkB,eAAe;AAAA,EACjC,iBAAiB,eAAe;AAAA,EAChC,SAAS,eAAe;AAAA,EACxB,KAAK,eAAe;AAAA,EACpB,MAAM,eAAe;AACtB;AAQA,MAAM,qBAAqB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA;AAED,MAA2B;AAC1B,QAAM,CAAC,cAAc,eAAe,IACnCC,eAAM,SAA0B,MAAM;AACvC,QAAM,CAAC,UAAU,WAAW,IAAIA,eAAM,SAA6B,IAAI;AACvE,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,eAAM,SAAA;AACpD,QAAM,OAAO,QAAQ,QAAQ;AAE7B,QAAM,cAAc,CAAC,UAA+C;AACnE,gBAAY,MAAM,aAAa;AAAA,EAChC;AAEA,QAAM,cAAc,MAAM;AACzB,gBAAY,IAAI;AAAA,EACjB;AAEA,QAAM,wBAAwB,CAAC,QAAyB;AACvD,oBAAgB,GAAG;AACnB,gBAAA;AAAA,EACD;AAEA,YAAU,MAAM;AACf,UAAM,OAAO,qBAAqB,YAAY;AAC9C,uBAAmB,KAAK,MAAM,MAAM,CAAC;AAAA,EACtC,GAAG,CAAC,cAAc,QAAQ,IAAI,CAAC;AAE/B,SACC,qBAAA,UAAA,EACC,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,SAAS;AAAA,QACT,IAAI,EAAE,QAAQ,WAAW,OAAM,QAAQ,QAAO,OAAA;AAAA,QAC9C,MAAK;AAAA,QACL,QAAO;AAAA,QACP,OACC,kBAAkB,yBAAyB;AAAA,QAE3C,UAAA,mBAAmB;AAAA,MAAA;AAAA,IAAA;AAAA,IAErB;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,IAAG;AAAA,QACH;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACR,UAAA,6CAAc,IAAI,CAAC,SACnB;AAAA,UAAC;AAAA,UAAA;AAAA,YAEA,UAAU,iBAAgB,6BAAM;AAAA,YAChC,SAAS,MAAM,sBAAsB,6BAAM,KAAK;AAAA,YAMhD,8BAAC,YAAA,EAAW,OAAM,wBAAuB,MAAK,MAC5C,uCAAM,MAAA,CACR;AAAA,UAAA;AAAA,UAVK,KAAK;AAAA,QAAA;AAAA,MAYX;AAAA,IAAA;AAAA,EACF,GACD;AAEF;AC3HA,MAAM,aAAa,OAAOC,MAAO;AAAA,EAC/B,CAAC,EAAE,OAAO,EAAE,WAAW,QAAQ,MAAM,eAAS;;AAAO;AAAA,MACnD,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAO,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAChC,cAAc,SAAS,YAAY,WAAW;AAAA,MAC9C,kBAAiB,aAAQ,UAAR,mBAAe,UAAU;AAAA,MAC1C,GAAI,UAAU;AAAA,QACZ,oBAAoB;AAAA,UAClB,QAAO,aAAQ,UAAR,mBAAe,QAAQ;AAAA,UAC9B,kBAAiB,aAAQ,UAAR,mBAAe,QAAQ;AAAA,UACxC,WAAW;AAAA,YACT,kBAAiB,aAAQ,UAAR,mBAAe,QAAQ;AAAA,UAAG;AAAA,QAC7C;AAAA,QAEF,sBAAsB;AAAA,UACpB,QAAO,aAAQ,UAAR,mBAAe,QAAQ;AAAA,UAC9B,cAAa,aAAQ,UAAR,mBAAe,QAAQ;AAAA,UACpC,WAAW;AAAA,YACT,kBAAiB,aAAQ,UAAR,mBAAe,QAAQ;AAAA,UAAG;AAAA,QAC7C;AAAA,MACF;AAAA,MAEF,GAAI,YAAY;AAAA,QACd,oBAAoB;AAAA,UAClB,QAAO,aAAQ,UAAR,mBAAe,MAAM;AAAA,UAC5B,kBAAiB,aAAQ,UAAR,mBAAe,MAAM;AAAA,UACtC,WAAW;AAAA,YACT,kBAAiB,aAAQ,UAAR,mBAAe,MAAM;AAAA,UAAG;AAAA,QAC3C;AAAA,QAEF,sBAAsB;AAAA,UACpB,QAAO,aAAQ,UAAR,mBAAe,MAAM;AAAA,UAC5B,cAAa,aAAQ,UAAR,mBAAe,MAAM;AAAA,UAClC,WAAW;AAAA,YACT,kBAAiB,aAAQ,UAAR,mBAAe,MAAM;AAAA,UAAG;AAAA,QAC3C;AAAA,MACF;AAAA,MAGF,mBAAmB;AAAA,QACjB,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,OAAO;AAAA,MAAA;AAAA,MAET,yBAAyB;AAAA,QACvB,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO;AAAA,QACP,aAAa;AAAA,MAAA;AAAA,MAEf,kBAAkB;AAAA,QAChB,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,kBAAkB;AAAA,UAChB,SAAS;AAAA,QAAA;AAAA,MACX;AAAA,IACF;AAAA;AAEJ;AAEA,MAAM,OAAO,CAAC,UAAiB;AAC7B,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,IACP,UAAU;AAAA,IACV,SAAS;AAAA,IACT,WAAW;AAAA,IACX,GAAG;AAAA,EAAA,IACD;AAEJ,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;AChFA,MAAM,aAAa,CAAC,UAA2B;AAC7C,QAAM,EAAE,OAAO,UAAU,kBAAA,IAAsB;AAE/C,SACE,qBAAC,KAAA,EAAK,WAAU,yBACd,UAAA;AAAA,IAAA,oBAAC,cAAW,QAAQ,UAAU,MAAK,MAAM,OAAO,wBAC7C,UAAA,MAAA,CACH;AAAA,wBACC,YAAA,EAAW,QAAQ,UAAU,MAAK,MAAK,OAAO,uBAAuB,IAAI,EAAE,WAAU,aAAa,IAAI,KAAM,GAAG,mBAC7G,SAAA,CACH;AAAA,EAAA,GACF;AAEJ;ACEA,MAAM,eAAe,OAAO,KAAK,aAAa;AAC7C,MAAI;AAEH,UAAM,WAAW,MAAM,MAAM,GAAG;AAChC,QAAI,CAAC,SAAS,IAAI;AACjB,YAAM,IAAI,MAAM,yBAAyB,SAAS,UAAU,EAAE;AAAA,IAC/D;AAGA,UAAM,OAAO,MAAM,SAAS,KAAA;AAG5B,UAAM,UAAU,OAAO,IAAI,gBAAgB,IAAI;AAG/C,UAAM,OAAO,SAAS,cAAc,GAAG;AACvC,SAAK,OAAO;AACZ,SAAK,WAAW,YAAY;AAG5B,aAAS,KAAK,YAAY,IAAI;AAC9B,SAAK,MAAA;AACL,aAAS,KAAK,YAAY,IAAI;AAG9B,WAAO,IAAI,gBAAgB,OAAO;AAAA,EACnC,SAAS,OAAO;AACf,YAAQ,MAAM,2BAA2B,KAAK;AAC9C,UAAM;AAAA,EACP;AACD;AAEO,MAAM,6BAA6B,CAAC,UAA6B,SAAkB;AACzF,QAAM,QAAQ,WACX,MAAM,QAAQ,QAAQ,IACrB,WACA,CAAC,QAAQ,IACV,CAAA;AAEH,MAAI,SAAS,MAAM,QAAQ;AAC1B,WACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,SAAQ;AAAA,QACR,KAAK;AAAA,QACL,IAAI;AAAA,QACJ,YAAW;AAAA,QACX,eAAc;AAAA,QACb,UAAA,MAAM,IAAI,CAAC,QAAQ;AACnB,gBAAM,WAAW,IAAI,UAAU,IAAI,YAAY,GAAG,IAAI,CAAC;AACvD,iBACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,MAAK;AAAA,cACL,QAAO;AAAA,cACP,OAAM;AAAA,cACN,IAAI,EAAE,gBAAgB,aAAa,qBAAqB,OAAO,QAAQ,UAAA;AAAA,cACvE,QAAM;AAAA,cACN,SAAS,MAAM,SAAS,QAAQ,SAAY,aAAa,KAAK,QAAQ;AAAA,cACrE,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAGJ,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAGJ;AAEA,SAAO;AACR;AAEO,MAAM,uBAAuB,CAAC,aAAuB;;AAC3D,MAAI,CAAC,SAAU,QAAO;AAEtB,MAAI,GAAC,0CAAU,OAAO,aAAjB,mBAA2B,QAAQ,QAAO;AAE/C,UAAO,0CAAU,OAAO,aAAjB,mBAA2B,IAAI,CAAC,QAAQ;AAC9C,UAAM,YAAW,2BAAK,WAAU,2BAAK,YAAY,QAAO,OAAM;AAC9D,WACC,qBAAC,OAAI,SAAQ,QAAO,KAAK,GAAG,IAAI,GAAG,YAAW,UAC7C,UAAA;AAAA,MAAA,oBAAC,UAAA,EAAS,UAAS,QAAA,CAAQ;AAAA,MAC3B;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,MAAK;AAAA,UACL,QAAO;AAAA,UACP,OAAO;AAAA,UACP,IAAI,EAAE,QAAQ,UAAA;AAAA,UACd,QAAM;AAAA,UAAC,SAAS,MAAM,aAAa,KAAK,QAAQ;AAAA,UAC/C,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF,GACD;AAAA,EAEF;AACD;AAqBA,MAAM,oBAAoB,CAAC,SAAc;;AACxC,MAAI,CAAC,KAAM,QAAO;AAElB,MAAI;AACH,YAAO,UAAK,MAAM,IAAI,MAAf,mBAAkB,KAAK;AAAA,EAC/B,SAAS,OAAO;AACf,WAAO;AAAA,EACR;AACD;AACA,MAAM,iBAAiB,CAAC,WAAgB;;AACvC,MAAI,OAAO,WAAW,UAAU;AAC/B,YAAO,sCAAQ,kBAAR,mBAAuB,QAAQ,KAAK;AAAA,EAC5C,WAAW,OAAO,WAAW,UAAU;AACtC,WAAO,SAAS,YAAY;AAAA,EAC7B;AACD;AAEO,MAAM,wBAAwB,CAAC;AAAA,EACrC,UAAU,CAAA;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,OAAO,CAAA;AAAA,EACP,iBAAiB;AAAA,EACjB;AACD,MAA8B;AAC7B,QAAM,qBAAqB,iBAAiB,iBAAiB,sBAAA;AAE7D,SAAO,QAAQ,IAAI,CAAC,YAAY;AAAA,IAC/B,GAAG;AAAA,IACH,QAAQ,gBAAgB,cAAc,OAAO,MAAM,IAAI,OAAO;AAAA,IAC9D,MAAM,CAAC,EAAE,mBAAmB,UAAe;;AAC1C,UAAI,IAAI;AACR,UAAI,OAAO,MAAM,YAAY,OAAK,YAAO,CAAC,MAAR,mBAAW,SAAS,OAAM;AAC3D,eAAO,IAAI,mBAAmB,CAAC;AAAA,MAChC;AACA,YAAM,aAAa,OAAO,SAAS,OAAO,WAAW,YAAY,OAAO,WAAW,SAAS,aAAa;AACzG,cAAQ,YAAA;AAAA,QACP,KAAK;AACJ,cAAI,YAAY,iBAAiB,KAAK;AACtC;AAAA,QACD,KAAK;AACJ,cAAI;AAAA,YACH;AAAA,cACA,YAAO,mBAAP,mBAAuB,eAAc;AAAA,UAAA;AAEtC;AAAA,QACD,KAAK;AACJ,cAAI;AAAA,YACH;AAAA,cACA,YAAO,mBAAP,mBAAuB,eAAc;AAAA,UAAA;AAEtC;AAAA,QACD,KAAK;AAAA,QACL,KAAK;AAAU;AACd,kBAAM,MAAK,iCAAQ,uBAAsB,sBAAA,IAA0B,0BAA0B,WAAW,eAAe,GAAG,IAAK,kBAAkB,sBAAA;AACjJ,gBAAI,qBAAqB,qBAAqB,IAC3C,GAAG,aAAa,mBAAmB,oBAAoB,UAAU,EAAE,KAAK,GAAG,KAC3E;AAAA,UAEJ;AACC;AAAA,QACD,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACJ;AACC,gBAAI,qBAAqB,sBAAsB,IAC9C,oBAAA,UAAA,EACE,UAAA,MAAM,QAAQ,iBAAiB,IAC/B,oBAAA,UAAA,EACE,WAAA,uDAAmB,UAAS,oBAAC,KAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,GAAG,UAAU,OAAA,GAC/F,UAAA,kBAAkB,IAAI,CAAC,QACvB;AAAA,cAAC;AAAA,cAAA;AAAA,gBACA,MAAK;AAAA,gBACL,WAAW,OAAO,eAAe,iCAAQ,eAAgB,OAAO,QAAQ,WAAW,MAAM;AAAA,gBACzF,2BACE,YAAA,EAAW,MAAK,MAAK,QAAO,UAAS,OAAO,WAC3C,UAAA,OAAO,QAAQ,WAAW,EAAE,IAAI,MAAK,iCAAQ,yBAAwB,IAAI,EAAE,IAAI,IAAA,CACjF;AAAA,cAAA;AAAA,YAAA,CAGF,GACF,IAAS,IAAA,CACV,IAEA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACA,MAAK;AAAA,gBACL,WACC,OAAO,eAAe,iCAAQ,eAC5B,yBAAyB,WACvB,cAAc,GAAG,IACjB,GAAG,aAAa,GAAG,eAAe,iBAAiB,CAAC;AAAA,gBAEzD,2BAEE,YAAA,EAAW,MAAK,MAAK,QAAO,UAAS,OAAO,WAC3C,UAAA,kBAAA,CACF;AAAA,cAAA;AAAA,YAAA,GAIJ,IAEA;AAAA,UAEF;AACA;AAAA,QACD,KAAK;AACJ,cACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,MAAK;AAAA,cAGL,IAAI,CAAC,UAAA;;AAAW;AAAA,kBACf,GAAI,oBACH;AAAA,oBACC,kBAAiBC,MAAA,MAAM,YAAN,gBAAAA,IAAe,MAAM,UAAU;AAAA,oBAChD,QAAOC,MAAA,MAAM,YAAN,gBAAAA,IAAe,MAAM,UAAU;AAAA,kBAAG,IAE1C;AAAA,oBACC,kBAAiBC,MAAA,MAAM,YAAN,gBAAAA,IAAe,MAAM,UAAU;AAAA,oBAChD,QAAOC,MAAA,MAAM,YAAN,gBAAAA,IAAe,MAAM,UAAU;AAAA,kBAAG;AAAA,gBAC1C;AAAA;AAAA,cAIF,OACC,oBAAC,YAAA,EAAW,MAAK,MAAK,QAAO,UAAS,OAAO,WAC3C,YAAA,sCAAQ,sBAAR,mBAA4B,uBAAiD,IAAA,CAC/E;AAAA,YAAA;AAAA,UAAA;AAIH;AAAA,QACD,KAAK;AACJ,cAAI,kBAAkB,iBAAiB;AACvC;AAAA,QACD,KAAK;AAAA,QACL,KAAK;AACJ,cAAI,iDAAiB,KAAK,OAAO,aAAa;AAC9C;AAAA,QACD,KAAK;AACJ,cAAI,mBAAmB,iBAAiB;AACxC;AAAA,MAAA;AAYF,UAAI,yBAAyB,OAAO,QAAQ,eAAe;AAC1D,cAAM,KAAK,IAAI,SAAS,WAAW,IAAI;AACvC,YAAI,IAAI;AACP,gBAAM,OAAO,iCAAiC,WAAW,oBAAoB,sBAAsB,GAAG,GAAG,yBAAI,UAAU,IAAI,oBAAoB,uBAAuB,yBAAI,UAAU;AACpL,iBACC,oBAAC,MAAA,EAAK,IAAI,MACR,UAAA,GACF;AAAA,QAEF;AAAA,MACD,WAES,mBAAmB,OAAO,QAAQ,eAAe;AACzD,cAAM,KAAK,IAAI,SAAS,WAAW,IAAI;AACvC,cAAM,OAAO,2BAA2B,WAAW,oBAAoB,gBAAgB,GAAG,GAAG,yBAAI,UAAU,IAAI,oBAAoB,iBAAiB,yBAAI,UAAU;AAClK,eACC;AAAA,UAAC;AAAA,UAAA;AAAA,YAAK,IAAI;AAAA,YACT,OAAO,6DAAuB;AAAA,YAC7B,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAGJ;AACA,aAAO;AAAA,IACR;AAAA,IACA,GAAI,QAAQ,YAAY,KAAK;AAAA,MAC5B,QAAQ,CAAC,EAAE,QAAAC,cACV,oBAAC,oBAAA,EAAmB,MAAM,MAAM,QAAQ,OAAOA,QAAO,EAAE,EAAA,CAAG;AAAA,IAAA;AAAA,EAE7D,EACC;AACH;AAEO,MAAM,0BAA0B,CAAC,SACvC,qBAAC,KAAA,EAAI,WAAU,WACd,UAAA;AAAA,EAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,aAAa;AAAA,EACrC,oBAAC,cAAW,MAAK,MAAK,QAAO,UAAS,OAAM,wBAC1C,UAAA,KAAA,CACF;AAAA,EAAA,CACD;AAIM,MAAM,mBAAmB,CAAC,OAAe,OAAY,GAAQ,aAAoC;AACvG,SACC,oBAAC,YAAA,EAAuB,OAAO,uBAAI,QACjC,UAAA,WAAW,SAAS,KAAK,IAAI,SAAS,IAAA,GADvB,KAEjB;AAEF;AAEO,MAAM,qBAAqB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAKM;AACL,QAAM,cAAc,CAAC,UAAU,UAAU,SAAS;AAClD,QAAM,aAAa,CAAC,MAAM,QAAW,GAAG;AACxC,MAAI,WAAW,SAAS,KAAK,EAAG,QAAO,oBAAC,cAAW,MAAK,MAAK,QAAgB,OAAM,sBAAsB,WAAA,2CAAa,SAAS,SAAQ,QAAS,SAAS,KAAK;AAE9J,UAAQ,MAAA;AAAA,IACP,KAAK;AACJ,aAAO,MAAM,KAAK,EAAE,QAAA,IAAY,WAAW,OAAO,MAAM,IAAI;AAAA,IAC7D,KAAK;AACJ,aAAO,oBAAC,YAAA,EAAW,MAAK,MAAK,QAAgB,OAAM,sBAAsB,UAAA,QAAQ,mBAAmB,OAAO,KAAK,CAAC,IAAI,KAAI;AAAA,IAC1H,KAAK;AACJ,aAAO,oBAAC,YAAA,EAAW,MAAK,MAAK,QAAgB,OAAM,sBAAsB,UAAA,QAAQ,yBAAyB,OAAO,KAAK,CAAC,IAAI,KAAI;AAAA,IAChI;AACC,aAAO,SAAS,oBAAC,YAAA,EAAW,MAAK,MAAK,QAAgB,OAAM,sBAAsB,UAAA,SAAS,IAAA,CAAI,IAAgB,SAAS;AAAA,EAAA;AAE3H;AAGA,MAAM,aAAa,CAAC,UAAe;;AAClC,QAAM,EAAE,KAAA,IAAS,QAAA;AACjB,SAAO;AAAA,IACN,OAAO,6BAAM;AAAA,IACb,SAAS,CAAC;AAAA,MACT,QAAO,kCAAM,iBAAN,mBAAoB;AAAA,MAC3B,OAAO,6BAAM;AAAA,IAAA,CACb;AAAA,EAAA;AAEH;AACO,MAAM,eAAe;AAAA,EAC3B,WAAW;AAAA,IACV,UAAU;AAAA,EAAA;AAGZ;ACzVA,MAAM,0BAA0B,CAAC,aAAoB;AACnD,QAAM,aAAa,qCAAU,KAAK,CAAC,UAAU,CAAC,MAAM;AACpD,SAAO;AACT;AAEA,MAAM,0BAA0B,CAAC,aAAkB;AACjD,QAAM,aAAkB,CAAA;AACxB,MAAI,SAAS,WAAW,GAAG;AACzB,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,wBAAwB,QAAQ;AAElD,MAAI,uCAAW,UAAU;AACvB,eAAW,MAAW,CAAA;AACtB,QAAI,aAKO;AACX,QAAI,iBAMO;AACX,QAAI,sBAA2B,CAAA;AAC/B,QAAI,eAAoB;AAExB,aAAS,QAAQ,CAAC,SAAc;;AAC9B,UAAI,6BAAM,kBAAkB;AAC1B,8BAAsB;AAAA,UACpB,YAAY,6BAAM;AAAA,UAClB,OAAO,6BAAM;AAAA,UACb,cAAc,6BAAM;AAAA,UACpB,kBAAkB,6BAAM;AAAA,UACxB,cAAc,6BAAM;AAAA,UACpB,qBAAqB,6BAAM;AAAA,UAC3B,oBAAoB,6BAAM;AAAA,UAC1B,gBAAgB,6BAAM;AAAA,UACtB,UAAU,QAAQ,6BAAM,QAAQ;AAAA,QAAA;AAElC,yBAAiB;AACjB,uBAAe;AAAA,MACjB,OAAO;AACL,YAAI,CAAC,cAAc,WAAW,UAAU,KAAK,UAAU;AAErD,uBAAa;AAAA,YACX,WAAW,KAAK,aAAa;AAAA,YAC7B,OAAO,KAAK;AAAA,YACZ,MAAM,CAAA;AAAA,UAAC;AAET,gBAAM,kBAAkB,WAAW,IAAI,KAAK,SAAO,IAAI,WAAU,yCAAY,MAAK;AAElF,cAAI,CAAC,iBAAiB;AACpB,uBAAW,IAAI,KAAK,UAAU;AAAA,UAChC,OAAO;AACL,yBAAa;AAAA,UACf;AACA,2BAAiB;AAAA,QACnB;AAEA,YAAI,CAAC,kBAAkB,eAAe,UAAU,KAAK,gBAAgB,iBAAiB,KAAK,eAAe;AACxG,2BAAiB;AAAA,YACf,YAAY;AAAA,YACZ,OAAO,KAAK,gBAAgB;AAAA,YAC5B,eAAc,UAAK,qBAAL,mBAAuB;AAAA,YACrC,SAAS,CAAA;AAAA,YACT,gBAAgB,KAAK,oBAAoB,OAAO,OAAO;AAAA,UAAA;AAGzD,gBAAM,sBAAsB,WAAW,KAAK,KAAK,aAAW,QAAQ,WAAU,iDAAgB,MAAK;AACnG,cAAI,CAAC,qBAAqB;AAExB,6BAAiB,EAAE,GAAG,qBAAqB,GAAG,eAAA;AAC9C,uBAAW,KAAK,KAAK,cAAc;AAAA,UACrC,OAAO;AACL,6BAAiB;AAAA,UACnB;AACA,gCAAsB;AAAA,QACxB;AACA,uBAAe,KAAK;AAEpB,cAAM,oBAAkB,wCAAM,eAAN,mBAAkB,KAAK,CAAC,MAAwB,EAAE,SAAS,YAA3D,mBAAoE,oBAAmB,CAAA;AAE/G,cAAM,SAAS;AAAA,UACb,GAAG;AAAA,UACH,IAAI,GAAG,KAAK,IAAA,CAAK,IAAI,KAAK,QAAQ;AAAA,UAClC,YACE,KAAK,eAAe,UAAU,SAAS,KAAK,cAAc;AAAA,UAC5D,MAAM,KAAK,kBAAkB,WAAW;AAAA,UACxC,OAAO,KAAK,SAAS;AAAA,UACrB,aAAa,KAAK,eAAe;AAAA,UACjC,eAAe,KAAK,iBAAiB;AAAA,UACrC,IAAI,6BAAM,iBACR,6BAAM,gBAAe,UAAU,EAAE,QAAQ,6BAAM,YAAA;AAAA,UACjD,IAAI,6BAAM,cACR,6BAAM,gBAAe,cAAc,EAAE,QAAQ,6BAAM,SAAA;AAAA,UACrD,GAAI,KAAK,eAAe,UAAU;AAAA,YAChC,cACE,UAAK,WAAW;AAAA,cACd,CAAC,MAAwB,EAAE,SAAS;AAAA,YAAA,MADtC,mBAEG,UAAS;AAAA,UAAA;AAAA,UAEhB,GAAI,KAAK,eAAe,UAAU;AAAA,YAChC,cACE,UAAK,WAAW;AAAA,cACd,CAAC,MAAwB,EAAE,SAAS;AAAA,YAAA,MADtC,mBAEG,UAAS;AAAA,UAAA;AAAA,UAEhB,GAAI,KAAK,eAAe,YAAY;AAAA,YAClC,cACE,UAAK,WAAW,KAAK,CAAC,MAAwB,EAAE,SAAS,SAAS,MAAlE,mBACI,UAAS;AAAA,UAAA;AAAA,UAEjB,GAAI,KAAK,eAAe,YAAY;AAAA,YAClC,cACE,UAAK,WAAW,KAAK,CAAC,MAAwB,EAAE,SAAS,SAAS,MAAlE,mBACI,UAAS;AAAA,UAAA;AAAA,UAEjB,IAAK,KAAK,iBAAiB,UAAa,KAAK,iBAAiB,iBAAiB,WAAc;AAAA,YAC3F,cAAc,KAAK,gBAAgB,KAAK,iBAAiB;AAAA,UAAA;AAAA,UAE3D,eACE,UAAK,WAAW,KAAK,CAAC,MAAwB,EAAE,SAAS,UAAU,MAAnE,mBAAsE,YACtE,wDAAiB,KAAK,CAAC,MAAwB,EAAE,SAAS,gBAA1D,mBAAuE,UACvE;AAAA,UACF,aACE,UAAK,WAAW,KAAK,CAAC,MAAwB,EAAE,SAAS,QAAQ,MAAjE,mBACI,UAAS;AAAA,UACf,eAAe,KAAK,iBAAiB;AAAA,UACrC,GAAI,KAAK,iBAAiB,cAAc;AAAA,YACtC,YAAY,KAAK,iBAAiB,WAAW,SAAA;AAAA,UAAS;AAAA,UAExD,GAAI,KAAK,iBAAiB,WAAW;AAAA,YACnC,SAAS,KAAK,iBAAiB;AAAA,UAAA;AAAA,UAEjC,GAAI,KAAK,iBAAiB,mBAAmB,UAAa;AAAA,YACxD,gBAAgB,KAAK,iBAAiB;AAAA,UAAA;AAAA,UAExC,KAAI,UAAK,qBAAL,mBAAuB,mBAAkB,UAAa;AAAA,YACxD,eAAe,QAAQ,KAAK,iBAAiB,aAAa;AAAA,UAAA;AAAA,UAE5D,KAAI,UAAK,qBAAL,mBAAuB,mBAAkB,UAAa;AAAA,YACxD,eAAe,KAAK,iBAAiB,iBAAiB;AAAA,UAAA;AAAA,UAExD,GAAI,KAAK,eAAe,UAAU;AAAA,YAChC,2BACE,UAAK,WAAW;AAAA,cACd,CAAC,MAAwB,EAAE,SAAS;AAAA,YAAA,MADtC,mBAEG,UAAS;AAAA,UAAA;AAAA,UAEhB,GAAI,KAAK,eAAe,UAAU;AAAA,YAChC,yBACE,UAAK,WAAW;AAAA,cACd,CAAC,MAAwB,EAAE,SAAS;AAAA,YAAA,MADtC,mBAEG,UAAS;AAAA,UAAA;AAAA,UAEhB,IAAK,KAAK,eAAe,WAAW,KAAK,eAAe,WAAW,KAAK,eAAe,WAAW;AAAA,YAChG,YACE,UAAK,WAAW;AAAA,cACd,CAAC,MAAwB,EAAE,SAAS;AAAA,YAAA,MADtC,mBAEG,UAAS;AAAA,YACd,cAAa,UAAK,qBAAL,mBAAuB;AAAA,UAAA;AAAA,UAEtC,IAAK,KAAK,eAAe,kBAAkB,KAAK,eAAe,cAAc,KAAK,eAAe,kBAAkB;AAAA,YACjH,SAAO,UAAK,qBAAL,mBAAuB,UAAQ,UAAK,qBAAL,mBAAuB,QAAQ;AAAA,YACrE,kBAAgB,UAAK,qBAAL,mBAAuB,mBAAkB;AAAA,YACzD,aAAY,UAAK,qBAAL,mBAAuB;AAAA,UAAA;AAAA,UAErC,GAAK,KAAK,eAAe,WAAY;AAAA,YACnC,QAAO,UAAK,qBAAL,mBAAuB;AAAA,YAC9B,eAAe,qBAAoB,UAAK,qBAAL,mBAAuB,aAAa;AAAA,YACvE,aAAY,UAAK,qBAAL,mBAAuB;AAAA,YACnC,gBAAc,UAAK,qBAAL,mBAAuB,kBAAiB,CAAA;AAAA,UAAC;AAAA,QACzD;AAEF,YAAI,gBAAgB;AAClB,yBAAe,QAAQ,KAAK,MAAM;AAClC,cACE,eAAe,QAAQ,KAAK,CAACC,YAAgBA,QAAO,SAAS,QAAQ,GACrE;AACA,2BAAe,iBAAiB;AAAA,UAClC,OAAO;AACL,2BAAe,iBAAiB;AAAA,UAClC;AACA,qBAAW,aAAa,WAAW,KAAK;AAAA,YACtC,CAAC,YACC,QAAQ,QAAQ;AAAA,cACd,CAACA,YAA6BA,QAAO,SAAS;AAAA,YAAA;AAAA,UAChD;AAAA,QAEN;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH,OAAO;AAEL,eAAW,UAAU,CAAA;AACrB,QAAI,iBAMO;AACX,QAAI,sBAA2B,CAAA;AAC/B,QAAI,eAAoB;AAExB,aAAS;AAAA,MACP,CAAC,SAAmB;;AAClB,YAAI,KAAK,kBAAkB;AACzB,gCAAsB;AAAA,YACpB,YAAY,6BAAM;AAAA,YAClB,OAAO,6BAAM;AAAA,YACb,cAAc,6BAAM;AAAA,YACpB,kBAAkB,6BAAM;AAAA,YACxB,cAAc,6BAAM;AAAA,YACpB,qBAAqB,6BAAM;AAAA,YAC3B,oBAAoB,6BAAM;AAAA,YAC1B,gBAAgB,6BAAM;AAAA,YACtB,UAAU,QAAQ,6BAAM,QAAQ;AAAA,UAAA;AAElC,yBAAe;AACf,2BAAiB;AAAA,QACnB,OAAO;AACL,cAAI,CAAC,kBAAkB,eAAe,UAAU,KAAK,gBAAgB,iBAAiB,KAAK,eAAe;AACxG,6BAAiB;AAAA,cACf,YAAY;AAAA,cACZ,OAAO,KAAK,gBAAgB;AAAA,cAC5B,eAAc,UAAK,qBAAL,mBAAuB;AAAA,cACrC,SAAS,CAAA;AAAA,cACT,gBAAgB,KAAK,oBAAoB,OAAO,OAAO;AAAA,YAAA;AAGzD,kBAAM,uBAAsB,8CAAY,YAAZ,mBAAqB,KAAK,aAAW,QAAQ,WAAU,iDAAgB;AACnG,gBAAI,CAAC,qBAAqB;AAExB,+BAAiB,EAAE,GAAG,qBAAqB,GAAG,eAAA;AAC9C,yBAAW,QAAQ,KAAK,cAAc;AAAA,YACxC,OAAO;AACL,+BAAiB;AAAA,YACnB;AAIA,kCAAsB;AAAA,UACxB;AACA,yBAAe,KAAK;AAEpB,gBAAM,oBAAkB,wCAAM,eAAN,mBAAkB,KAAK,CAAC,MAAwB,EAAE,SAAS,YAA3D,mBAAoE,oBAAmB,CAAA;AAE/G,gBAAM,SAAS;AAAA,YACb,GAAG;AAAA,YACH,IAAI,GAAG,KAAK,IAAA,CAAK,IAAI,KAAK,QAAQ;AAAA,YAClC,YACE,KAAK,eAAe,UAAU,SAAS,KAAK,cAAc;AAAA,YAC5D,MAAM,KAAK,kBAAkB,WAAW;AAAA,YACxC,OAAO,KAAK;AAAA,YACZ,aAAa,KAAK,eAAe;AAAA,YACjC,eAAe,KAAK,iBAAiB;AAAA,YACrC,IAAI,6BAAM,iBACR,6BAAM,gBAAe,UAAU,EAAE,QAAQ,6BAAM,YAAA;AAAA,YACjD,IAAI,6BAAM,cACR,6BAAM,gBAAe,cAAc,EAAE,QAAQ,6BAAM,SAAA;AAAA,YACrD,GAAI,KAAK,eAAe,UAAU;AAAA,cAChC,cACE,UAAK,WAAW;AAAA,gBACd,CAAC,MAAwB,EAAE,SAAS;AAAA,cAAA,MADtC,mBAEG,UAAS;AAAA,YAAA;AAAA,YAEhB,GAAI,KAAK,eAAe,UAAU;AAAA,cAChC,cACE,UAAK,WAAW;AAAA,gBACd,CAAC,MAAwB,EAAE,SAAS;AAAA,cAAA,MADtC,mBAEG,UAAS;AAAA,YAAA;AAAA,YAEhB,GAAI,KAAK,eAAe,YAAY;AAAA,cAClC,cACE,UAAK,WAAW;AAAA,gBACd,CAAC,MAAwB,EAAE,SAAS;AAAA,cAAA,MADtC,mBAEG,UAAS;AAAA,YAAA;AAAA,YAEhB,GAAI,KAAK,eAAe,YAAY;AAAA,cAClC,cACE,UAAK,WAAW;AAAA,gBACd,CAAC,MAAwB,EAAE,SAAS;AAAA,cAAA,MADtC,mBAEG,UAAS;AAAA,YAAA;AAAA,YAEhB,IAAK,KAAK,iBAAiB,YAAa,UAAK,qBAAL,mBAAuB,kBAAiB,WAAc;AAAA,cAC5F,cAAc,KAAK,gBAAgB,KAAK,iBAAiB;AAAA,YAAA;AAAA,YAE3D,eACE,UAAK,WAAW,KAAK,CAAC,MAAwB,EAAE,SAAS,UAAU,MAAnE,mBAAsE,YACtE,wDAAiB,KAAK,CAAC,MAAwB,EAAE,SAAS,gBAA1D,mBAAuE,UACvE;AAAA,YACF,aACE,UAAK,WAAW,KAAK,CAAC,MAAwB,EAAE,SAAS,QAAQ,MAAjE,mBACI,UAAS;AAAA,YACf,eAAe,KAAK,iBAAiB;AAAA,YACrC,KAAI,UAAK,qBAAL,mBAAuB,eAAc;AAAA,cACvC,YAAY,OAAO,KAAK,iBAAiB,UAAU;AAAA,YAAA;AAAA,YAErD,KAAI,UAAK,qBAAL,mBAAuB,YAAW;AAAA,cACpC,SAAS,KAAK,iBAAiB;AAAA,YAAA;AAAA,YAEjC,KAAI,UAAK,qBAAL,mBAAuB,oBAAmB,UAAa;AAAA,cACzD,gBAAgB,KAAK,iBAAiB;AAAA,YAAA;AAAA,YAExC,KAAI,UAAK,qBAAL,mBAAuB,mBAAkB,UAAa;AAAA,cACxD,eAAe,QAAQ,KAAK,iBAAiB,aAAa;AAAA,YAAA;AAAA,YAE5D,KAAI,UAAK,qBAAL,mBAAuB,mBAAkB,UAAa;AAAA,cACxD,eAAe,KAAK,iBAAiB,iBAAiB;AAAA,YAAA;AAAA,YAExD,GAAI,KAAK,eAAe,UAAU;AAAA,cAChC,2BACE,UAAK,WAAW;AAAA,gBACd,CAAC,MAAwB,EAAE,SAAS;AAAA,cAAA,MADtC,mBAEG,UAAS;AAAA,YAAA;AAAA,YAEhB,GAAI,KAAK,eAAe,UAAU;AAAA,cAChC,yBACE,UAAK,WAAW;AAAA,gBACd,CAAC,MAAwB,EAAE,SAAS;AAAA,cAAA,MADtC,mBAEG,UAAS;AAAA,YAAA;AAAA,YAEhB,IAAK,KAAK,eAAe,WAAW,KAAK,eAAe,WAAW,KAAK,eAAe,WAAW;AAAA,cAChG,YACE,UAAK,WAAW;AAAA,gBACd,CAAC,MAAwB,EAAE,SAAS;AAAA,cAAA,MADtC,mBAEG,UAAS;AAAA,cACd,cAAa,UAAK,qBAAL,mBAAuB;AAAA,YAAA;AAAA,YAEtC,IAAK,KAAK,eAAe,kBAAkB,KAAK,eAAe,eAAe;AAAA,cAC5E,SAAO,UAAK,qBAAL,mBAAuB,UAAQ,UAAK,qBAAL,mBAAuB,QAAQ,KAAK;AAAA,cAC1E,kBAAgB,UAAK,qBAAL,mBAAuB,mBAAkB;AAAA,cACzD,aAAY,UAAK,qBAAL,mBAAuB;AAAA,YAAA;AAAA,YAErC,GAAK,KAAK,eAAe,WAAY;AAAA,cACnC,QAAO,UAAK,qBAAL,mBAAuB;AAAA,cAC9B,eAAe,qBAAoB,UAAK,qBAAL,mBAAuB,aAAa;AAAA,cACvE,aAAY,UAAK,qBAAL,mBAAuB;AAAA,cACnC,gBAAc,UAAK,qBAAL,mBAAuB,kBAAiB,CAAA;AAAA,YAAC;AAAA,UACzD;AAGF,yBAAe,QAAQ,KAAK,MAAM;AAClC,cACE,eAAe,QAAQ,KAAK,CAACA,YAAgBA,QAAO,SAAS,QAAQ,GACrE;AACA,2BAAe,iBAAiB;AAAA,UAClC,OAAO;AACL,2BAAe,iBAAiB;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ;AAEA,SAAO;AACT;AAIA,SAAS,WAAW,KAAqB;AACvC,SAAO,MAAM,IACV,MAAM,OAAO,EACb,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,YAAA,IAAgB,KAAK,MAAM,CAAC,CAAC,EAC1D,KAAK,GAAG,IAAI;AACjB;AAEO,MAAM,sBAAsB,CAAC,YAAsB;AACxD,MAAI,CAAC,MAAM,QAAQ,OAAO,UAAU,CAAA;AAEpC,SAAO,QAAQ,IAAI,CAAA,WAAU;AAC3B,QAAI,OAAO,WAAW,UAAU;AAC9B,aAAO,EAAE,GAAG,OAAA;AAAA,IACd,OAAO;AACL,YAAM,SAAS,OAAO,MAAM,GAAG,EAAE,OAAO,SAAO,GAAG;AAClD,YAAM,SAAS,OAAO,SAAU,OAAO,SAAS,IAAI,WAAW,OAAO,OAAO,SAAS,CAAC,CAAC,IAAI,WAAW,OAAO,CAAC,CAAC,IAAK;AAErH,aAAO;AAAA,QACL;AAAA,QACA,aAAa;AAAA,QACb,SAAS;AAAA,MAAA;AAAA,IAEb;AAAA,EACF,CAAC;AACH;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import CssBaseline from "@mui/material/CssBaseline";
3
3
  import Box from "@mui/material/Box";
4
- import { a as AppBarWrapper, A as ActivityArea } from "./Tooltip-DBg9E0nY.esm.js";
4
+ import { a as AppBarWrapper, A as ActivityArea } from "./Tooltip-BuKMQR27.esm.js";
5
5
  import { d as drawerWidth } from "./mui.constants-BFBzxaiA.esm.js";
6
6
  const FullscreenLayout = (props) => {
7
7
  const { children } = props;
@@ -14,4 +14,4 @@ const FullscreenLayout = (props) => {
14
14
  export {
15
15
  FullscreenLayout as F
16
16
  };
17
- //# sourceMappingURL=fullScreen-bLbPf_Sx.esm.js.map
17
+ //# sourceMappingURL=fullScreen-B7NBNLnc.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fullScreen-bLbPf_Sx.esm.js","sources":["../src/layout/fullScreen/fullScreen.tsx"],"sourcesContent":["import CssBaseline from '@mui/material/CssBaseline';\r\nimport Box from '@mui/material/Box';\r\n\r\nimport AppBar from '../../components/appbar/appbar';\r\nimport ActivityArea from '../../components/activityArea/activityArea';\r\n\r\nimport drawerWidth from '../../constants/mui.constants';\r\n\r\nexport interface IFullscreenLayoutProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nexport const FullscreenLayout = (props: IFullscreenLayoutProps) => {\r\n\tconst { children } = props;\r\n\treturn (\r\n\t\t<Box sx={{ display: 'flex' }}>\r\n\t\t\t<CssBaseline />\r\n\t\t\t<AppBar width={drawerWidth} />\r\n\t\t\t<ActivityArea>{children}</ActivityArea>\r\n\t\t</Box>\r\n\t);\r\n};\r\n\r\nexport default FullscreenLayout;\r\n"],"names":["AppBar"],"mappings":";;;;;AAYO,MAAM,mBAAmB,CAAC,UAAkC;AAClE,QAAM,EAAE,aAAa;AACrB,8BACE,KAAA,EAAI,IAAI,EAAE,SAAS,UACnB,UAAA;AAAA,IAAA,oBAAC,aAAA,EAAY;AAAA,IACb,oBAACA,eAAA,EAAO,OAAO,YAAA,CAAa;AAAA,IAC5B,oBAAC,gBAAc,SAAA,CAAS;AAAA,EAAA,GACzB;AAEF;"}
1
+ {"version":3,"file":"fullScreen-B7NBNLnc.esm.js","sources":["../src/layout/fullScreen/fullScreen.tsx"],"sourcesContent":["import CssBaseline from '@mui/material/CssBaseline';\r\nimport Box from '@mui/material/Box';\r\n\r\nimport AppBar from '../../components/appbar/appbar';\r\nimport ActivityArea from '../../components/activityArea/activityArea';\r\n\r\nimport drawerWidth from '../../constants/mui.constants';\r\n\r\nexport interface IFullscreenLayoutProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nexport const FullscreenLayout = (props: IFullscreenLayoutProps) => {\r\n\tconst { children } = props;\r\n\treturn (\r\n\t\t<Box sx={{ display: 'flex' }}>\r\n\t\t\t<CssBaseline />\r\n\t\t\t<AppBar width={drawerWidth} />\r\n\t\t\t<ActivityArea>{children}</ActivityArea>\r\n\t\t</Box>\r\n\t);\r\n};\r\n\r\nexport default FullscreenLayout;\r\n"],"names":["AppBar"],"mappings":";;;;;AAYO,MAAM,mBAAmB,CAAC,UAAkC;AAClE,QAAM,EAAE,aAAa;AACrB,8BACE,KAAA,EAAI,IAAI,EAAE,SAAS,UACnB,UAAA;AAAA,IAAA,oBAAC,aAAA,EAAY;AAAA,IACb,oBAACA,eAAA,EAAO,OAAO,YAAA,CAAa;AAAA,IAC5B,oBAAC,gBAAc,SAAA,CAAS;AAAA,EAAA,GACzB;AAEF;"}
@@ -1,6 +1,6 @@
1
- "use strict";const e=require("react/jsx-runtime"),r=require("@mui/material/CssBaseline"),i=require("@mui/material/Box"),s=require("./Tooltip-0Msd6gJs.js"),t=require("./mui.constants-BRJ6xCYX.js");function u(e){return e&&e.__esModule?e.default:e}const n=/* @__PURE__ */u(r),a=/* @__PURE__ */u(i);exports.FullscreenLayout=r=>{const{children:i}=r;/* @__PURE__ */
1
+ "use strict";const e=require("react/jsx-runtime"),r=require("@mui/material/CssBaseline"),i=require("@mui/material/Box"),s=require("./Tooltip-BWIywPIG.js"),t=require("./mui.constants-BRJ6xCYX.js");function u(e){return e&&e.__esModule?e.default:e}const n=/* @__PURE__ */u(r),a=/* @__PURE__ */u(i);exports.FullscreenLayout=r=>{const{children:i}=r;/* @__PURE__ */
2
2
  return e.jsxs(a,{sx:{display:"flex"},children:[
3
3
  /* @__PURE__ */e.jsx(n,{}),
4
4
  /* @__PURE__ */e.jsx(s.AppBarWrapper,{width:t.drawerWidth}),
5
5
  /* @__PURE__ */e.jsx(s.ActivityArea,{children:i})]})};
6
- //# sourceMappingURL=fullScreen-z8Ci7IBM.js.map
6
+ //# sourceMappingURL=fullScreen-Bk29OQHQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fullScreen-z8Ci7IBM.js","sources":["../src/layout/fullScreen/fullScreen.tsx"],"sourcesContent":["import CssBaseline from '@mui/material/CssBaseline';\r\nimport Box from '@mui/material/Box';\r\n\r\nimport AppBar from '../../components/appbar/appbar';\r\nimport ActivityArea from '../../components/activityArea/activityArea';\r\n\r\nimport drawerWidth from '../../constants/mui.constants';\r\n\r\nexport interface IFullscreenLayoutProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nexport const FullscreenLayout = (props: IFullscreenLayoutProps) => {\r\n\tconst { children } = props;\r\n\treturn (\r\n\t\t<Box sx={{ display: 'flex' }}>\r\n\t\t\t<CssBaseline />\r\n\t\t\t<AppBar width={drawerWidth} />\r\n\t\t\t<ActivityArea>{children}</ActivityArea>\r\n\t\t</Box>\r\n\t);\r\n};\r\n\r\nexport default FullscreenLayout;\r\n"],"names":["props","children","Box","sx","display","jsx","CssBaseline","AppBar","width","drawerWidth","ActivityArea"],"mappings":"gUAYiCA,IAChC,MAAMC,SAAEA,GAAaD;AACrB,cACEE,EAAA,CAAIC,GAAI,CAAEC,QAAS,QACnBH,SAAA;eAAAI,EAAAA,IAACC,EAAA;eACDD,EAAAA,IAACE,EAAAA,cAAA,CAAOC,MAAOC,EAAAA;qBACdC,EAAAA,cAAcT"}
1
+ {"version":3,"file":"fullScreen-Bk29OQHQ.js","sources":["../src/layout/fullScreen/fullScreen.tsx"],"sourcesContent":["import CssBaseline from '@mui/material/CssBaseline';\r\nimport Box from '@mui/material/Box';\r\n\r\nimport AppBar from '../../components/appbar/appbar';\r\nimport ActivityArea from '../../components/activityArea/activityArea';\r\n\r\nimport drawerWidth from '../../constants/mui.constants';\r\n\r\nexport interface IFullscreenLayoutProps {\r\n children: React.ReactNode;\r\n}\r\n\r\nexport const FullscreenLayout = (props: IFullscreenLayoutProps) => {\r\n\tconst { children } = props;\r\n\treturn (\r\n\t\t<Box sx={{ display: 'flex' }}>\r\n\t\t\t<CssBaseline />\r\n\t\t\t<AppBar width={drawerWidth} />\r\n\t\t\t<ActivityArea>{children}</ActivityArea>\r\n\t\t</Box>\r\n\t);\r\n};\r\n\r\nexport default FullscreenLayout;\r\n"],"names":["props","children","Box","sx","display","jsx","CssBaseline","AppBar","width","drawerWidth","ActivityArea"],"mappings":"gUAYiCA,IAChC,MAAMC,SAAEA,GAAaD;AACrB,cACEE,EAAA,CAAIC,GAAI,CAAEC,QAAS,QACnBH,SAAA;eAAAI,EAAAA,IAACC,EAAA;eACDD,EAAAA,IAACE,EAAAA,cAAA,CAAOC,MAAOC,EAAAA;qBACdC,EAAAA,cAAcT"}
@@ -1,13 +1,13 @@
1
1
  import moment from "moment";
2
- import { b as useAuth } from "../useAuth-C18aZa1n.esm.js";
2
+ import { b as useAuth } from "../useAuth-Bvid1bpz.esm.js";
3
3
  import _ from "lodash";
4
4
  import { getCountries } from "libphonenumber-js";
5
- import { i, u, a, b, c, d, e, f, g } from "../useAccountSetting-BEKGFdbo.esm.js";
5
+ import { i, u, a, b, c, d, e, f, g } from "../useAccountSetting-D2gUGGca.esm.js";
6
6
  import { useMemo, useCallback, useState } from "react";
7
- import { u as useERPUI } from "../apiHelper-C7xLzw2l.esm.js";
8
- import { a as a2, b as b2, c as c2 } from "../apiHelper-C7xLzw2l.esm.js";
7
+ import { u as useERPUI } from "../apiHelper-BLkPhudw.esm.js";
8
+ import { a as a2, b as b2, c as c2 } from "../apiHelper-BLkPhudw.esm.js";
9
9
  import { o as checkSkuAndItemName, p as checkUniqueFields } from "../common-AMgckjX0.esm.js";
10
- import { u as u2 } from "../useLangauge-DKPl4qKr.esm.js";
10
+ import { u as u2 } from "../useLangauge-BQjH-l_B.esm.js";
11
11
  import { D as DEFAULT_LANG } from "../pathname.rental-C6UQOitO.esm.js";
12
12
  import { useTranslation } from "react-i18next";
13
13
  const createStub = (name) => () => {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("moment"),t=require("../useAuth-Dpe5kDa6.js"),r=require("lodash"),s=require("libphonenumber-js"),a=require("../useAccountSetting-ChWt7JwC.js"),i=require("react"),n=require("../apiHelper-uNnzNGPt.js"),l=require("../common-8gzbBoY1.js"),u=require("../useLangauge-DaCaybJt.js"),o=require("../pathname.rental-hhA3jITb.js"),c=require("react-i18next");function d(e){return e&&e.__esModule?e.default:e}const p=/* @__PURE__ */d(e),v=/* @__PURE__ */d(r),m=e=>()=>Promise.resolve([]),h=m(),g=m(),f=m(),y=m(),_=m(),b=m(),x=m(),E=m(),A=m(),C=m(),T=m(),S=m(),I=m(),V=m(),k=m(),L=m(),F=m(),O=m(),$=m(),N=m(),R=m(),U=m();const W=(e,t,r)=>v.orderBy(e,t,r);function q(e,t){return t.some(t=>e.includes(t))}const w={company:_,items:T,currency:b,salesperson:$,party:I,department:E,location:S,uom:U,discountedItems:A,taxTemplate:R,paymentTerm:k,incoTerms:C,shippingRules:N,bins:g,agreement:h,accounts:y,invoices:L,purchaseOrderReceipts:F,representatives:O,industry:V,categoryItems:f,customerSegment:x,countries:s.getCountries},M={STEEL_DENSITY:7.85,LENGTH_CONVERSION_FACTOR:1e3,TUBE_CALCULATION_FACTOR:.024662,COIL_WEIGHTS:{GI:2879.95,HR:2356.59}},j=e=>{if(null==e||""===e)return{value:0,isValid:!1,error:"Empty value"};const t="string"==typeof e?parseFloat(e.trim()):Number(e);return isNaN(t)?{value:0,isValid:!1,error:"Invalid number format"}:isFinite(t)?{value:t,isValid:!0}:{value:0,isValid:!1,error:"Number is not finite"}},H=(...e)=>e.every(e=>{const t=j(e);return t.isValid&&t.value>0}),D=e=>{if(!e)return"empty";return["face_width","bending","height","total_width","boards_thickness","boards_length","steel_length","steel_width","steel_thickness","steel_type","tube_type","tube_od","shape_width","shape_height","material_thickness","material_length"].map(t=>`${t}:${e[t]??""}`).join("|")};const P={fallbackOrder:["en","en-US",o.DEFAULT_LANG],enableConsoleWarnings:!0,retryOnError:!1,maxRetries:3};exports.useAuth=t.useAuth,exports.initializeApiBaseUrls=a.initializeApiBaseUrls,exports.useAccountingSetting=a.useAccountingSetting,exports.useApi=a.useApi,exports.useDeepMemo=a.useDeepMemo,exports.useFormFieldUpdater=a.useFormFieldUpdater,exports.useLocationFilter=a.useLocationFilter,exports.useMultipleLocationFilters=a.useMultipleLocationFilters,exports.usePages=a.usePages,exports.usePermissions=a.usePermissions,exports.apiHelper=n.apiHelper,exports.useAppTranslations=n.useAppTranslations,exports.useDataFetcher=n.useGenericDataFetcher,exports.useLanguage=u.useLanguage,exports.useTranslation=c.useTranslation,exports.apiType=w,exports.capitalizeWords=function(e){return e?e.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "):""},exports.convertEmptyToNull=function e(t){return Object.entries(t).reduce((t,[r,s])=>(""===s||Array.isArray(s)&&0===s.length||"object"==typeof s&&null!==s&&!Array.isArray(s)&&0===Object.keys(s).length?t[r]=null:Array.isArray(s)?t[r]=s.map(t=>"object"==typeof t&&null!==t?e(t):t):t[r]="object"==typeof s&&null!==s?e(s):s,t),{})},exports.defaultUserCurrency=()=>{var e;const{user:r}=t.useAuth();return(null==(e=null==r?void 0:r.currency_data)?void 0:e.symbol)||""},exports.formatNumber=(e,t="$")=>e>=1e6?`${t} ${(e/1e6).toFixed(1)} M`:e>=1e5?`${t} ${(e/1e5).toFixed(1)} L`:e>=1e3?`${(e/1e3).toFixed(1)} K`:`${t} ${e.toFixed(2)}`,exports.formatTime=function(e,t="HH:mm:ss"){if(!e)return;const r=new Date(e),s=e=>(e<10?"0":"")+e,a=r.getHours(),i=r.getMinutes(),n=r.getSeconds();if("HH:mm:ss"===t)return`${s(a)}:${s(i)}:${s(n)}`;if("HH:mm"===t)return`${s(a)}:${s(i)}`;if("hh:mm A"===t){const e=a>=12?"PM":"AM";return`${s(a%12||12)}:${s(i)} ${e}`}return r.toTimeString().slice(0,8)},exports.formateDate=function(e,t="DD-MM-YYYY"){if(e)return p(e).format(t)},exports.getAvailableSteelTypes=()=>Object.keys(M.COIL_WEIGHTS),exports.getAvailableTubeTypes=()=>["Round","Square","Rectangle"],exports.recursiveSort=function e(t,r,s,a){if(!r.length)return W(t,s,a);const[i,...n]=r;return null==t?void 0:t.map(t=>({...t,[i]:e(t[i],n||[],s,a)}))},exports.removeExtraKeys=function e(t,r=[]){const s=["_at","_by","_data","created_user","updated_user",...r];for(const a in t)q(a,s)?delete t[a]:"object"!=typeof t[a]||Array.isArray(t[a])||e(t[a],["_at","_by","_data"]);return t},exports.sortData=W,exports.useLanguageFallback=(e={})=>{const t={...P,...e},[r,s]=i.useState(0),a=()=>({code:"en",label:"English",direction:"ltr"}),n=(e,t)=>e.some(e=>e.code===t);return{findBestAvailableLanguage:(e,r)=>{if(!e||0===e.length)return t.enableConsoleWarnings,{code:"en",label:"English",direction:"ltr"};if(r){const s=e.find(e=>e.code===r);if(s)return s;t.enableConsoleWarnings}for(const a of t.fallbackOrder){const r=e.find(e=>e.code===a);if(r)return t.enableConsoleWarnings,r}const s=e.find(e=>"en"===e.code);return s?(t.enableConsoleWarnings,s):(t.enableConsoleWarnings,e[0]||{code:"en",label:"English",direction:"ltr"})},createEmergencyFallback:()=>({code:"en",label:"English",direction:"ltr"}),createEnglishFallback:a,validateLanguageCode:n,getSavedLanguage:e=>{const r=localStorage.getItem("_language");return r?n(e,r)?r:(t.enableConsoleWarnings,null):null},ensureEnglishAvailable:e=>e.some(e=>"en"===e.code)?e:[{code:"en",label:"English",direction:"ltr"},...e],shouldRetry:()=>t.retryOnError&&r<t.maxRetries,incrementRetry:()=>{s(e=>e+1)},resetRetry:()=>{s(0)},retryCount:r,config:t}},exports.useLanguageState=()=>{const[e,t]=i.useState(!1),[r,s]=i.useState(!1),[a,n]=i.useState(null);return{isInitialized:e,hasError:r,errorMessage:a,markInitialized:()=>t(!0),setError:e=>{s(!0),n(e)},clearError:()=>{s(!1),n(null)}}},exports.useMaterialCalculations=e=>i.useMemo(()=>{if(!e)return{totalWidth:0,materialUnit:0,boardsWeight:0,steelWeight:0,materialWeight:0};const t=(e=>{const{face_width:t,bending:r,height:s}=e;if(!H(t,r,s))return{value:0,isValid:!1,error:"Invalid input values for boards total width calculation"};const a=j(t),i=j(r),n=j(s);return[a,i,n].every(e=>e.isValid)?{value:2*(n.value+i.value)+a.value,isValid:!0}:{value:0,isValid:!1,error:"Failed to parse input values"}})(e),r=(e=>{const{steel_type:t}=e;return t?t in M.COIL_WEIGHTS?{value:M.COIL_WEIGHTS[t],isValid:!0}:{value:0,isValid:!1,error:`Unsupported steel type: ${t}`}:{value:0,isValid:!1,error:"Steel type not specified"}})(e),s=(e=>{const{total_width:t,boards_thickness:r,boards_length:s}=e;if(!H(t,r,s))return{value:0,isValid:!1,error:"Invalid input values for boards weight calculation"};const a=j(t),i=j(r),n=j(s);return[a,i,n].every(e=>e.isValid)?{value:a.value*i.value*(n.value/M.LENGTH_CONVERSION_FACTOR)*M.STEEL_DENSITY,isValid:!0}:{value:0,isValid:!1,error:"Failed to parse input values"}})(e),a=(e=>{const{steel_length:t,steel_width:r,steel_thickness:s}=e;if(!H(t,r,s))return{value:0,isValid:!1,error:"Invalid input values for steel weight calculation"};const a=j(t),i=j(r),n=j(s);return[a,i,n].every(e=>e.isValid)?{value:a.value*i.value*n.value*M.STEEL_DENSITY/M.LENGTH_CONVERSION_FACTOR,isValid:!0}:{value:0,isValid:!1,error:"Failed to parse input values"}})(e),i=(e=>{const{tube_type:t,tube_od:r,shape_width:s,shape_height:a,material_thickness:i,material_length:n}=e;if(!t)return{value:0,isValid:!1,error:"Tube type not specified"};const l=j(i),u=j(n);if(!l.isValid||!u.isValid)return{value:0,isValid:!1,error:"Invalid thickness or length values"};let o=0;switch(t){case"Round":{const e=j(r);if(!e.isValid||e.value<=l.value)return{value:0,isValid:!1,error:"Invalid outer diameter for round tube"};o=(e.value-l.value)*l.value*M.TUBE_CALCULATION_FACTOR*u.value;break}case"Square":case"Rectangle":{const e=j(s),t=j(a);if(!e.isValid||!t.isValid)return{value:0,isValid:!1,error:"Invalid width or height for rectangular tube"};o=(2*(e.value+t.value)/Math.PI-l.value)*l.value*M.TUBE_CALCULATION_FACTOR*u.value;break}default:return{value:0,isValid:!1,error:`Unsupported tube type: ${t}`}}return{value:Math.max(0,o),isValid:!0}})(e);return"development"===process.env.NODE_ENV&&[t,r,s,a,i].filter(e=>!e.isValid&&e.error).forEach(e=>{}),{totalWidth:t.value,materialUnit:r.value,boardsWeight:s.value,steelWeight:a.value,materialWeight:i.value}},[D(e)]),exports.useNameSkuUniquenessCheck=({fieldPrefix:e,formMethods:t,data:r})=>{const{watch:s=()=>{},setError:a=()=>{}}=t||{},n=s(e),u=null==r?void 0:r.name,o=null==r?void 0:r.sku;return{checkNameAndSkuUniqueness:i.useCallback(async()=>{let t=!0;try{if(u===(null==n?void 0:n.name)&&o===(null==n?void 0:n.sku))return!0;const s=await l.checkSkuAndItemName({name:null==n?void 0:n.name,sku:null==n?void 0:n.sku,...(null==r?void 0:r.id)&&{id:null==r?void 0:r.id}});return s.name&&(a(`${e}.name`,{message:"Name already exists",type:"manual",ref:`${e}.name`}),t=!1),s.sku&&(a(`${e}.sku`,{message:"SKU already exists",type:"manual",ref:`${e}.sku`}),t=!1),t}catch(s){return t}},[null==n?void 0:n.name,null==n?void 0:n.sku,a])}},exports.useReduxIntegration=()=>{const{useRedux:e,apiClient:t}=n.useERPUI();return{useRedux:e,apiClient:t,useConditionalRedux:(t,r)=>{if(!e)return r;try{return t()}catch(s){return r}},conditionalDispatch:t=>{if(!e)return Promise.resolve();try{const{useAppDispatch:e}=require("../redux/hooks");return e()(t)}catch(r){return Promise.reject(r)}}}},exports.useUniquenessCheck=function({fieldPrefix:e,formMethods:t,data:r={},fields:s=[]}){const{watch:a=()=>{},setError:n=()=>{},formState:u={}}=t||{},o=a(e),c=i.useMemo(()=>r||{},[r]);return{checkUniqueness:async()=>{let t=!0;try{if(s.every(e=>c[e]===(null==o?void 0:o[e])))return!0;const a={};s.forEach(e=>a[e]=null==o?void 0:o[e]),(null==r?void 0:r.id)&&(a.id=r.id);const i=await l.checkUniqueFields(a);for(const[r,s]of Object.entries(i))if(s){n(`${e}.${r}`,{type:"manual",message:`${r.replace(/_/g," ").toLowerCase()} already exists`}),t=!1}return t}catch(a){return t}}}},exports.validateFormValues=e=>{const t=[],{tube_type:r,steel_type:s}=e;return s&&!(s in M.COIL_WEIGHTS)&&t.push(`Invalid steel type: ${s}`),r&&!["Round","Square","Rectangle"].includes(r)&&t.push(`Invalid tube type: ${r}`),{isValid:0===t.length,errors:t}},exports.valueWithCurrency=e=>{var r;const{user:s}=t.useAuth();if(e)return`${(null==(r=null==s?void 0:s.currency_data)?void 0:r.symbol)||""} ${e}`};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("moment"),t=require("../useAuth-CVokk6Ra.js"),r=require("lodash"),s=require("libphonenumber-js"),a=require("../useAccountSetting-CNoWakIN.js"),i=require("react"),n=require("../apiHelper-DurABKEn.js"),l=require("../common-8gzbBoY1.js"),u=require("../useLangauge-ySJIB0GV.js"),o=require("../pathname.rental-hhA3jITb.js"),c=require("react-i18next");function d(e){return e&&e.__esModule?e.default:e}const p=/* @__PURE__ */d(e),v=/* @__PURE__ */d(r),m=e=>()=>Promise.resolve([]),h=m(),g=m(),f=m(),y=m(),_=m(),b=m(),x=m(),E=m(),A=m(),C=m(),T=m(),S=m(),I=m(),V=m(),k=m(),L=m(),F=m(),O=m(),$=m(),N=m(),R=m(),U=m();const W=(e,t,r)=>v.orderBy(e,t,r);function q(e,t){return t.some(t=>e.includes(t))}const w={company:_,items:T,currency:b,salesperson:$,party:I,department:E,location:S,uom:U,discountedItems:A,taxTemplate:R,paymentTerm:k,incoTerms:C,shippingRules:N,bins:g,agreement:h,accounts:y,invoices:L,purchaseOrderReceipts:F,representatives:O,industry:V,categoryItems:f,customerSegment:x,countries:s.getCountries},M={STEEL_DENSITY:7.85,LENGTH_CONVERSION_FACTOR:1e3,TUBE_CALCULATION_FACTOR:.024662,COIL_WEIGHTS:{GI:2879.95,HR:2356.59}},j=e=>{if(null==e||""===e)return{value:0,isValid:!1,error:"Empty value"};const t="string"==typeof e?parseFloat(e.trim()):Number(e);return isNaN(t)?{value:0,isValid:!1,error:"Invalid number format"}:isFinite(t)?{value:t,isValid:!0}:{value:0,isValid:!1,error:"Number is not finite"}},H=(...e)=>e.every(e=>{const t=j(e);return t.isValid&&t.value>0}),D=e=>{if(!e)return"empty";return["face_width","bending","height","total_width","boards_thickness","boards_length","steel_length","steel_width","steel_thickness","steel_type","tube_type","tube_od","shape_width","shape_height","material_thickness","material_length"].map(t=>`${t}:${e[t]??""}`).join("|")};const P={fallbackOrder:["en","en-US",o.DEFAULT_LANG],enableConsoleWarnings:!0,retryOnError:!1,maxRetries:3};exports.useAuth=t.useAuth,exports.initializeApiBaseUrls=a.initializeApiBaseUrls,exports.useAccountingSetting=a.useAccountingSetting,exports.useApi=a.useApi,exports.useDeepMemo=a.useDeepMemo,exports.useFormFieldUpdater=a.useFormFieldUpdater,exports.useLocationFilter=a.useLocationFilter,exports.useMultipleLocationFilters=a.useMultipleLocationFilters,exports.usePages=a.usePages,exports.usePermissions=a.usePermissions,exports.apiHelper=n.apiHelper,exports.useAppTranslations=n.useAppTranslations,exports.useDataFetcher=n.useGenericDataFetcher,exports.useLanguage=u.useLanguage,exports.useTranslation=c.useTranslation,exports.apiType=w,exports.capitalizeWords=function(e){return e?e.split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "):""},exports.convertEmptyToNull=function e(t){return Object.entries(t).reduce((t,[r,s])=>(""===s||Array.isArray(s)&&0===s.length||"object"==typeof s&&null!==s&&!Array.isArray(s)&&0===Object.keys(s).length?t[r]=null:Array.isArray(s)?t[r]=s.map(t=>"object"==typeof t&&null!==t?e(t):t):t[r]="object"==typeof s&&null!==s?e(s):s,t),{})},exports.defaultUserCurrency=()=>{var e;const{user:r}=t.useAuth();return(null==(e=null==r?void 0:r.currency_data)?void 0:e.symbol)||""},exports.formatNumber=(e,t="$")=>e>=1e6?`${t} ${(e/1e6).toFixed(1)} M`:e>=1e5?`${t} ${(e/1e5).toFixed(1)} L`:e>=1e3?`${(e/1e3).toFixed(1)} K`:`${t} ${e.toFixed(2)}`,exports.formatTime=function(e,t="HH:mm:ss"){if(!e)return;const r=new Date(e),s=e=>(e<10?"0":"")+e,a=r.getHours(),i=r.getMinutes(),n=r.getSeconds();if("HH:mm:ss"===t)return`${s(a)}:${s(i)}:${s(n)}`;if("HH:mm"===t)return`${s(a)}:${s(i)}`;if("hh:mm A"===t){const e=a>=12?"PM":"AM";return`${s(a%12||12)}:${s(i)} ${e}`}return r.toTimeString().slice(0,8)},exports.formateDate=function(e,t="DD-MM-YYYY"){if(e)return p(e).format(t)},exports.getAvailableSteelTypes=()=>Object.keys(M.COIL_WEIGHTS),exports.getAvailableTubeTypes=()=>["Round","Square","Rectangle"],exports.recursiveSort=function e(t,r,s,a){if(!r.length)return W(t,s,a);const[i,...n]=r;return null==t?void 0:t.map(t=>({...t,[i]:e(t[i],n||[],s,a)}))},exports.removeExtraKeys=function e(t,r=[]){const s=["_at","_by","_data","created_user","updated_user",...r];for(const a in t)q(a,s)?delete t[a]:"object"!=typeof t[a]||Array.isArray(t[a])||e(t[a],["_at","_by","_data"]);return t},exports.sortData=W,exports.useLanguageFallback=(e={})=>{const t={...P,...e},[r,s]=i.useState(0),a=()=>({code:"en",label:"English",direction:"ltr"}),n=(e,t)=>e.some(e=>e.code===t);return{findBestAvailableLanguage:(e,r)=>{if(!e||0===e.length)return t.enableConsoleWarnings,{code:"en",label:"English",direction:"ltr"};if(r){const s=e.find(e=>e.code===r);if(s)return s;t.enableConsoleWarnings}for(const a of t.fallbackOrder){const r=e.find(e=>e.code===a);if(r)return t.enableConsoleWarnings,r}const s=e.find(e=>"en"===e.code);return s?(t.enableConsoleWarnings,s):(t.enableConsoleWarnings,e[0]||{code:"en",label:"English",direction:"ltr"})},createEmergencyFallback:()=>({code:"en",label:"English",direction:"ltr"}),createEnglishFallback:a,validateLanguageCode:n,getSavedLanguage:e=>{const r=localStorage.getItem("_language");return r?n(e,r)?r:(t.enableConsoleWarnings,null):null},ensureEnglishAvailable:e=>e.some(e=>"en"===e.code)?e:[{code:"en",label:"English",direction:"ltr"},...e],shouldRetry:()=>t.retryOnError&&r<t.maxRetries,incrementRetry:()=>{s(e=>e+1)},resetRetry:()=>{s(0)},retryCount:r,config:t}},exports.useLanguageState=()=>{const[e,t]=i.useState(!1),[r,s]=i.useState(!1),[a,n]=i.useState(null);return{isInitialized:e,hasError:r,errorMessage:a,markInitialized:()=>t(!0),setError:e=>{s(!0),n(e)},clearError:()=>{s(!1),n(null)}}},exports.useMaterialCalculations=e=>i.useMemo(()=>{if(!e)return{totalWidth:0,materialUnit:0,boardsWeight:0,steelWeight:0,materialWeight:0};const t=(e=>{const{face_width:t,bending:r,height:s}=e;if(!H(t,r,s))return{value:0,isValid:!1,error:"Invalid input values for boards total width calculation"};const a=j(t),i=j(r),n=j(s);return[a,i,n].every(e=>e.isValid)?{value:2*(n.value+i.value)+a.value,isValid:!0}:{value:0,isValid:!1,error:"Failed to parse input values"}})(e),r=(e=>{const{steel_type:t}=e;return t?t in M.COIL_WEIGHTS?{value:M.COIL_WEIGHTS[t],isValid:!0}:{value:0,isValid:!1,error:`Unsupported steel type: ${t}`}:{value:0,isValid:!1,error:"Steel type not specified"}})(e),s=(e=>{const{total_width:t,boards_thickness:r,boards_length:s}=e;if(!H(t,r,s))return{value:0,isValid:!1,error:"Invalid input values for boards weight calculation"};const a=j(t),i=j(r),n=j(s);return[a,i,n].every(e=>e.isValid)?{value:a.value*i.value*(n.value/M.LENGTH_CONVERSION_FACTOR)*M.STEEL_DENSITY,isValid:!0}:{value:0,isValid:!1,error:"Failed to parse input values"}})(e),a=(e=>{const{steel_length:t,steel_width:r,steel_thickness:s}=e;if(!H(t,r,s))return{value:0,isValid:!1,error:"Invalid input values for steel weight calculation"};const a=j(t),i=j(r),n=j(s);return[a,i,n].every(e=>e.isValid)?{value:a.value*i.value*n.value*M.STEEL_DENSITY/M.LENGTH_CONVERSION_FACTOR,isValid:!0}:{value:0,isValid:!1,error:"Failed to parse input values"}})(e),i=(e=>{const{tube_type:t,tube_od:r,shape_width:s,shape_height:a,material_thickness:i,material_length:n}=e;if(!t)return{value:0,isValid:!1,error:"Tube type not specified"};const l=j(i),u=j(n);if(!l.isValid||!u.isValid)return{value:0,isValid:!1,error:"Invalid thickness or length values"};let o=0;switch(t){case"Round":{const e=j(r);if(!e.isValid||e.value<=l.value)return{value:0,isValid:!1,error:"Invalid outer diameter for round tube"};o=(e.value-l.value)*l.value*M.TUBE_CALCULATION_FACTOR*u.value;break}case"Square":case"Rectangle":{const e=j(s),t=j(a);if(!e.isValid||!t.isValid)return{value:0,isValid:!1,error:"Invalid width or height for rectangular tube"};o=(2*(e.value+t.value)/Math.PI-l.value)*l.value*M.TUBE_CALCULATION_FACTOR*u.value;break}default:return{value:0,isValid:!1,error:`Unsupported tube type: ${t}`}}return{value:Math.max(0,o),isValid:!0}})(e);return"development"===process.env.NODE_ENV&&[t,r,s,a,i].filter(e=>!e.isValid&&e.error).forEach(e=>{}),{totalWidth:t.value,materialUnit:r.value,boardsWeight:s.value,steelWeight:a.value,materialWeight:i.value}},[D(e)]),exports.useNameSkuUniquenessCheck=({fieldPrefix:e,formMethods:t,data:r})=>{const{watch:s=()=>{},setError:a=()=>{}}=t||{},n=s(e),u=null==r?void 0:r.name,o=null==r?void 0:r.sku;return{checkNameAndSkuUniqueness:i.useCallback(async()=>{let t=!0;try{if(u===(null==n?void 0:n.name)&&o===(null==n?void 0:n.sku))return!0;const s=await l.checkSkuAndItemName({name:null==n?void 0:n.name,sku:null==n?void 0:n.sku,...(null==r?void 0:r.id)&&{id:null==r?void 0:r.id}});return s.name&&(a(`${e}.name`,{message:"Name already exists",type:"manual",ref:`${e}.name`}),t=!1),s.sku&&(a(`${e}.sku`,{message:"SKU already exists",type:"manual",ref:`${e}.sku`}),t=!1),t}catch(s){return t}},[null==n?void 0:n.name,null==n?void 0:n.sku,a])}},exports.useReduxIntegration=()=>{const{useRedux:e,apiClient:t}=n.useERPUI();return{useRedux:e,apiClient:t,useConditionalRedux:(t,r)=>{if(!e)return r;try{return t()}catch(s){return r}},conditionalDispatch:t=>{if(!e)return Promise.resolve();try{const{useAppDispatch:e}=require("../redux/hooks");return e()(t)}catch(r){return Promise.reject(r)}}}},exports.useUniquenessCheck=function({fieldPrefix:e,formMethods:t,data:r={},fields:s=[]}){const{watch:a=()=>{},setError:n=()=>{},formState:u={}}=t||{},o=a(e),c=i.useMemo(()=>r||{},[r]);return{checkUniqueness:async()=>{let t=!0;try{if(s.every(e=>c[e]===(null==o?void 0:o[e])))return!0;const a={};s.forEach(e=>a[e]=null==o?void 0:o[e]),(null==r?void 0:r.id)&&(a.id=r.id);const i=await l.checkUniqueFields(a);for(const[r,s]of Object.entries(i))if(s){n(`${e}.${r}`,{type:"manual",message:`${r.replace(/_/g," ").toLowerCase()} already exists`}),t=!1}return t}catch(a){return t}}}},exports.validateFormValues=e=>{const t=[],{tube_type:r,steel_type:s}=e;return s&&!(s in M.COIL_WEIGHTS)&&t.push(`Invalid steel type: ${s}`),r&&!["Round","Square","Rectangle"].includes(r)&&t.push(`Invalid tube type: ${r}`),{isValid:0===t.length,errors:t}},exports.valueWithCurrency=e=>{var r;const{user:s}=t.useAuth();if(e)return`${(null==(r=null==s?void 0:s.currency_data)?void 0:r.symbol)||""} ${e}`};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,10 @@
1
- import { A, a, b, c, d, e, f, g, B, C, h, i, j, k, l, m, n, D, E, I, L, o, p, O, q, P, r, s, t, R, u, v, w, x, y, S, z, F, G, H, J, T, K, M, W, N } from "../arrow-up-RDVMEaNg.esm.js";
2
- import { A as A2, a as a2, b as b2, B as B2, r as r2, C as C2, c as c2, d as d2, e as e2, D as D2, f as f2, E as E2, g as g2, h as h2, F as F2, s as s2, i as i2, j as j2, G as G2, H as H2, I as I2, k as k2, l as l2, L as L2, m as m2, n as n2, M as M2, P as P2, o as o2, p as p2, R as R2, q as q2, S as S2, T as T2 } from "../trash-BTwzTBYO.esm.js";
3
- import { A as A3, E as E3, a as a3, S as S3, b as b3, T as T3 } from "../tick-CcyPwRXL.esm.js";
4
- import { N as N2, S as S4 } from "../notification-BNeR5Dyl.esm.js";
5
- import { D as D3 } from "../dashboard-BU3Ivh-m.esm.js";
6
- import { D as D4 } from "../document-jQDTo49w.esm.js";
7
- import { T as T4 } from "../toggle-switch-FMTO6609.esm.js";
1
+ import { A, a, b, c, d, e, f, g, B, C, h, i, j, k, l, m, n, D, E, I, L, o, p, O, q, P, r, s, t, R, u, v, w, x, y, S, z, F, G, H, J, T, K, M, W, N } from "../arrow-up-BYufujcs.esm.js";
2
+ import { A as A2, a as a2, b as b2, B as B2, r as r2, C as C2, c as c2, d as d2, e as e2, D as D2, f as f2, E as E2, g as g2, h as h2, F as F2, s as s2, i as i2, j as j2, G as G2, H as H2, I as I2, k as k2, l as l2, L as L2, m as m2, n as n2, M as M2, P as P2, o as o2, p as p2, R as R2, q as q2, S as S2, T as T2 } from "../trash-cWyby5W5.esm.js";
3
+ import { A as A3, E as E3, a as a3, S as S3, b as b3, T as T3 } from "../tick-Cogsd5aG.esm.js";
4
+ import { N as N2, S as S4 } from "../notification-Dbo3l5Vw.esm.js";
5
+ import { D as D3 } from "../dashboard-BHs900IA.esm.js";
6
+ import { D as D4 } from "../document-Dc0e4Wgt.esm.js";
7
+ import { T as T4 } from "../toggle-switch-Day9cZg5.esm.js";
8
8
  export {
9
9
  A as Action,
10
10
  a as ActionArrow,
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("../arrow-up-CZCTjL2a.js"),r=require("../trash-5CZCQE4a.js"),o=require("../tick-Ct-Ir-1S.js"),t=require("../notification-BmKHaKZF.js"),s=require("../dashboard-DC1wsH2n.js"),i=require("../document-MTw-RQlt.js"),p=require("../toggle-switch-BghzgMG8.js");exports.Action=e.Action,exports.ActionArrow=e.ActionArrow,exports.AddCircle=e.AddCircle,exports.ArrowBidirectional=e.ArrowBidirectional,exports.ArrowDownThree=e.ArrowDownThree,exports.ArrowUp=e.ArrowUp,exports.ArrowUpTwo=e.ArrowUpTwo,exports.Assignments=e.Assignments,exports.BlockFiled=e.BlockFiled,exports.CalendarAdd=e.CalendarAdd,exports.CircularArrowSetting=e.CircularArrowSetting,exports.CoinOutline=e.CoinOutline,exports.Copy=e.Copy,exports.Coupon=e.Coupon,exports.Criteria=e.Criteria,exports.Cross=e.Cross,exports.CrossHire=e.CrossHire,exports.DollarCircleFilled=e.DollarCircleFilled,exports.EyePlusCircle=e.EyePlusCircle,exports.Info=e.Info,exports.LowestLeadTime=e.LowestLeadTime,exports.LowestMinQty=e.LowestMinQty,exports.LowestPrice=e.LowestPrice,exports.OctagonWithOutTick=e.OctagonWithOutTick,exports.OctagonWithTick=e.OctagonWithTick,exports.PaymentRequest=e.PaymentRequest,exports.Printer=e.Printer,exports.ProcessCalendar=e.ProcessCalendar,exports.Promotion=e.Promotion,exports.Receipt=e.Receipt,exports.ReceiptFilled=e.ReceiptFilled,exports.ReceiptOutline=e.ReceiptOutline,exports.RectangleFilledIcon=e.RectangleFilledIcon,exports.Refresh=e.Refresh,exports.Replace=e.Replace,exports.SettingsFallback=e.SettingsFallback,exports.SettingsFallbackIcon=e.SettingsFallbackIcon,exports.Share=e.Share,exports.SortActionArrow=e.SortActionArrow,exports.StackedLayer=e.StackedLayer,exports.StartFilled=e.StartFilled,exports.ThreeDotIcon=e.ThreeDotIcon,exports.TickCircle=e.TickCircle,exports.TickCircleFilled=e.TickCircleFilled,exports.Wave=e.Wave,exports.WorkCentre=e.WorkCentre,exports.ArrowCircleDown=r.ArrowCircleDown,exports.ArrowDownTwo=r.ArrowDownTwo,exports.ArrowUpDown=r.ArrowUpDown,exports.BlankCircle=r.BlankCircle,exports.Calendar=r.Calendar,exports.CheckBoxIcon=r.CheckBoxIcon,exports.CheckboxSquare=r.CheckboxSquare,exports.Clock=r.Clock,exports.Close=r.Close,exports.DocumentDownload=r.DocumentDownload,exports.DollarCircle=r.DollarCircle,exports.Edit=r.Edit,exports.Email=r.Email,exports.Export=r.Export,exports.FilledCircle=r.FilledCircle,exports.Filter=r.Filter,exports.FilterRemove=r.FilterRemove,exports.FolderSave=r.FolderSave,exports.Grid=r.Grid,exports.Hashtag=r.Hashtag,exports.Image=r.Image,exports.Import=r.Import,exports.InfoCircle=r.InfoCircle,exports.Link=r.Link,exports.LinkHorizontal=r.LinkHorizontal,exports.Location=r.Location,exports.MoreIcon=r.MoreIcon,exports.PaperClip=r.PaperClip,exports.Paragraph=r.Paragraph,exports.Phone=r.Phone,exports.RadioButton=r.RadioButton,exports.RecgtangleIcon=r.RecgtangleIcon,exports.Save=r.Save,exports.Trash=r.Trash,exports.ArrowDown=o.ArrowDown,exports.Eye=o.Eye,exports.EyeOff=o.EyeOff,exports.Search=o.Search,exports.SearchStatus=o.SearchStatus,exports.Tick=o.Tick,exports.Notification=t.Notification,exports.Styled=t.Styled,exports.Dashboard=s.Dashboard,exports.Document=i.Document,exports.ToggleSwitch=p.ToggleSwitch;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e=require("../arrow-up-u2i6ArLB.js"),r=require("../trash-iM5WzuPQ.js"),o=require("../tick-XKXM5oTD.js"),t=require("../notification-BsWK2s3n.js"),s=require("../dashboard-ecHBMV8C.js"),i=require("../document-Dat2mYKY.js"),p=require("../toggle-switch-P3dX3iMp.js");exports.Action=e.Action,exports.ActionArrow=e.ActionArrow,exports.AddCircle=e.AddCircle,exports.ArrowBidirectional=e.ArrowBidirectional,exports.ArrowDownThree=e.ArrowDownThree,exports.ArrowUp=e.ArrowUp,exports.ArrowUpTwo=e.ArrowUpTwo,exports.Assignments=e.Assignments,exports.BlockFiled=e.BlockFiled,exports.CalendarAdd=e.CalendarAdd,exports.CircularArrowSetting=e.CircularArrowSetting,exports.CoinOutline=e.CoinOutline,exports.Copy=e.Copy,exports.Coupon=e.Coupon,exports.Criteria=e.Criteria,exports.Cross=e.Cross,exports.CrossHire=e.CrossHire,exports.DollarCircleFilled=e.DollarCircleFilled,exports.EyePlusCircle=e.EyePlusCircle,exports.Info=e.Info,exports.LowestLeadTime=e.LowestLeadTime,exports.LowestMinQty=e.LowestMinQty,exports.LowestPrice=e.LowestPrice,exports.OctagonWithOutTick=e.OctagonWithOutTick,exports.OctagonWithTick=e.OctagonWithTick,exports.PaymentRequest=e.PaymentRequest,exports.Printer=e.Printer,exports.ProcessCalendar=e.ProcessCalendar,exports.Promotion=e.Promotion,exports.Receipt=e.Receipt,exports.ReceiptFilled=e.ReceiptFilled,exports.ReceiptOutline=e.ReceiptOutline,exports.RectangleFilledIcon=e.RectangleFilledIcon,exports.Refresh=e.Refresh,exports.Replace=e.Replace,exports.SettingsFallback=e.SettingsFallback,exports.SettingsFallbackIcon=e.SettingsFallbackIcon,exports.Share=e.Share,exports.SortActionArrow=e.SortActionArrow,exports.StackedLayer=e.StackedLayer,exports.StartFilled=e.StartFilled,exports.ThreeDotIcon=e.ThreeDotIcon,exports.TickCircle=e.TickCircle,exports.TickCircleFilled=e.TickCircleFilled,exports.Wave=e.Wave,exports.WorkCentre=e.WorkCentre,exports.ArrowCircleDown=r.ArrowCircleDown,exports.ArrowDownTwo=r.ArrowDownTwo,exports.ArrowUpDown=r.ArrowUpDown,exports.BlankCircle=r.BlankCircle,exports.Calendar=r.Calendar,exports.CheckBoxIcon=r.CheckBoxIcon,exports.CheckboxSquare=r.CheckboxSquare,exports.Clock=r.Clock,exports.Close=r.Close,exports.DocumentDownload=r.DocumentDownload,exports.DollarCircle=r.DollarCircle,exports.Edit=r.Edit,exports.Email=r.Email,exports.Export=r.Export,exports.FilledCircle=r.FilledCircle,exports.Filter=r.Filter,exports.FilterRemove=r.FilterRemove,exports.FolderSave=r.FolderSave,exports.Grid=r.Grid,exports.Hashtag=r.Hashtag,exports.Image=r.Image,exports.Import=r.Import,exports.InfoCircle=r.InfoCircle,exports.Link=r.Link,exports.LinkHorizontal=r.LinkHorizontal,exports.Location=r.Location,exports.MoreIcon=r.MoreIcon,exports.PaperClip=r.PaperClip,exports.Paragraph=r.Paragraph,exports.Phone=r.Phone,exports.RadioButton=r.RadioButton,exports.RecgtangleIcon=r.RecgtangleIcon,exports.Save=r.Save,exports.Trash=r.Trash,exports.ArrowDown=o.ArrowDown,exports.Eye=o.Eye,exports.EyeOff=o.EyeOff,exports.Search=o.Search,exports.SearchStatus=o.SearchStatus,exports.Tick=o.Tick,exports.Notification=t.Notification,exports.Styled=t.Styled,exports.Dashboard=s.Dashboard,exports.Document=i.Document,exports.ToggleSwitch=p.ToggleSwitch;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { b as useAuth } from "./useAuth-C18aZa1n.esm.js";
2
- import "./languageContext-z0EIAM7m.esm.js";
1
+ import { b as useAuth } from "./useAuth-Bvid1bpz.esm.js";
2
+ import "./languageContext-BqGnL8Sv.esm.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { createContext, useMemo, useState, useRef, useCallback, useEffect } from "react";
5
5
  import { useLocation } from "react-router-dom";
@@ -461,4 +461,4 @@ export {
461
461
  defaultPageState as d,
462
462
  initialFilter as i
463
463
  };
464
- //# sourceMappingURL=index-abVANnYO.esm.js.map
464
+ //# sourceMappingURL=index-CasNCevI.esm.js.map