awing-library 2.1.149-beta → 2.1.149

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 (211) hide show
  1. package/lib/ACM-AXN/AuthenticationProfile/Container.js +4 -4
  2. package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/index.js +2 -2
  3. package/lib/ACM-AXN/Campaign/Container.js +52 -54
  4. package/lib/ACM-AXN/Campaign/Container.test.js +1 -3
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +8 -1
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +27 -3
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.d.ts +17 -0
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.js +121 -0
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.d.ts +1 -0
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.js +219 -0
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.d.ts +2 -0
  12. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +306 -0
  13. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
  14. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
  15. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.d.ts +1 -0
  16. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.js +123 -0
  17. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.d.ts +1 -0
  18. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.js +253 -0
  19. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +21 -5
  20. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.d.ts +1 -1
  21. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.js +47 -78
  22. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +2 -1
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +2 -2
  24. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +2 -1
  25. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +2 -1
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +19 -42
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +298 -96
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +119 -54
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +6 -4
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +1 -1
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.d.ts +9 -0
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.js +56 -0
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +12 -0
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +22 -7
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +63 -12
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +10 -0
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -29
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +1 -1
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +1 -1
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +1 -1
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +44 -33
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +3 -2
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +172 -59
  61. package/lib/ACM-AXN/Campaign/Enum.d.ts +24 -6
  62. package/lib/ACM-AXN/Campaign/Enum.js +30 -11
  63. package/lib/ACM-AXN/Campaign/Types.d.ts +53 -5
  64. package/lib/ACM-AXN/Campaign/Utils.d.ts +6 -1
  65. package/lib/ACM-AXN/Campaign/Utils.js +50 -3
  66. package/lib/ACM-AXN/Campaign/index.js +2 -2
  67. package/lib/ACM-AXN/CampaignPlan/Container.js +4 -6
  68. package/lib/ACM-AXN/CampaignPlan/Detail.js +3 -3
  69. package/lib/ACM-AXN/CampaignPlan/Filter.js +3 -3
  70. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
  71. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
  72. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
  73. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
  74. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
  75. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
  76. package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
  77. package/lib/ACM-AXN/Common/Constant.js +2 -0
  78. package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
  79. package/lib/ACM-AXN/Common/Enum.js +19 -4
  80. package/lib/ACM-AXN/Common/Types.d.ts +5 -0
  81. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  82. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  83. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  84. package/lib/ACM-AXN/Holiday/FormHoliday.js +1 -0
  85. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  86. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  87. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  88. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
  89. package/lib/ACM-AXN/Page/Constant.js +2 -0
  90. package/lib/ACM-AXN/Page/Container.js +3 -3
  91. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  92. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  93. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -2
  94. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -12
  95. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/TrackingCode.js +1 -1
  96. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  97. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  98. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  99. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  100. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +11 -44
  101. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  102. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +39 -61
  103. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +29 -32
  104. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -6
  105. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +19 -4
  106. package/lib/ACM-AXN/Page/Import/index.js +2 -2
  107. package/lib/ACM-AXN/Page/Types.d.ts +3 -0
  108. package/lib/ACM-AXN/Page/enums.d.ts +5 -0
  109. package/lib/ACM-AXN/Page/enums.js +7 -1
  110. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  111. package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
  112. package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
  113. package/lib/ACM-AXN/PlaceFilter/Tag/component/TagChip.js +1 -1
  114. package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
  115. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
  116. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
  117. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
  118. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
  119. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
  120. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  121. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
  122. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  123. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  124. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  125. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
  126. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
  127. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +13 -10
  128. package/lib/ACM-AXN/Statistics/ControlPanel.js +17 -5
  129. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  130. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  131. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
  132. package/lib/ACM-AXN/StatisticsByProvince/DataTable.js +1 -1
  133. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +4 -4
  134. package/lib/ACM-AXN/Template/Container.js +2 -2
  135. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
  136. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
  137. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
  138. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -37
  139. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
  140. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
  141. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
  142. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
  143. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
  144. package/lib/ACM-AXN/Template/Import.js +2 -2
  145. package/lib/ACM-AXN/Template/Types.d.ts +9 -9
  146. package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
  147. package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
  148. package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.js +23 -11
  149. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  150. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  151. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +42 -129
  152. package/lib/ACM-AXN/ViewTemplate/common.d.ts +2 -1
  153. package/lib/ACM-AXN/ViewTemplate/common.js +47 -7
  154. package/lib/ACM-AXN/ViewTemplate/container.js +8 -2
  155. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  156. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  157. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  158. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  159. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  160. package/lib/ACM-AXN/index.d.ts +1 -0
  161. package/lib/ACM-AXN/index.js +1 -0
  162. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  163. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  164. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  165. package/lib/AWING/Chart/BarLineComponent.js +20 -24
  166. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  167. package/lib/AWING/Chart/PieComponent.js +16 -16
  168. package/lib/AWING/Chart/Styles.js +51 -16
  169. package/lib/AWING/DataForm/DataInput.js +105 -23
  170. package/lib/AWING/DataForm/interface.d.ts +2 -0
  171. package/lib/AWING/DataGrid/index.js +8 -13
  172. package/lib/AWING/DateRangePicker/component.js +81 -33
  173. package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
  174. package/lib/AWING/DateRangePicker/configDate.js +12 -12
  175. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  176. package/lib/AWING/Form/useForm.js +3 -2
  177. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  178. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  179. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  180. package/lib/AWING/GoogleMap/index.js +41 -0
  181. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  182. package/lib/AWING/GoogleMap/interface.js +2 -0
  183. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  184. package/lib/AWING/GoogleMap/utils.js +135 -0
  185. package/lib/AWING/GroupTable/GroupTable.js +2 -2
  186. package/lib/AWING/GroupTable/component.d.ts +1 -0
  187. package/lib/AWING/GroupTable/component.js +2 -2
  188. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  189. package/lib/AWING/NumberFormat/index.js +2 -2
  190. package/lib/AWING/PageManagement/PageManagement.js +4 -3
  191. package/lib/AWING/Pagination/index.js +11 -3
  192. package/lib/AWING/index.d.ts +1 -0
  193. package/lib/AWING/index.js +1 -0
  194. package/lib/AWING/ultis/validation.d.ts +1 -0
  195. package/lib/AWING/ultis/validation.js +25 -6
  196. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  197. package/lib/Commons/Components/HighlightedCode/MarkdownElement.js +6 -1
  198. package/lib/Commons/Hooks/usePath.js +3 -3
  199. package/lib/Utils/Helpers.d.ts +4 -3
  200. package/lib/Utils/Helpers.js +54 -23
  201. package/lib/i18n.js +31 -2
  202. package/lib/translate/en/translation.json +131 -71
  203. package/lib/translate/id/translation.json +893 -0
  204. package/lib/translate/ind/translation.json +893 -0
  205. package/lib/translate/ja/translation.json +893 -0
  206. package/lib/translate/lao/translation.json +893 -0
  207. package/lib/translate/mys/translation.json +893 -0
  208. package/lib/translate/phl/translation.json +893 -0
  209. package/lib/translate/th/translation.json +893 -0
  210. package/lib/translate/vi/translation.json +91 -31
  211. package/package.json +10 -5
@@ -50,8 +50,20 @@ var icons_material_1 = require("@mui/icons-material");
50
50
  var react_input_mask_1 = __importDefault(require("react-input-mask"));
51
51
  var styles_1 = require("@mui/styles");
52
52
  var configDate_1 = __importDefault(require("./configDate"));
53
+ var i18n_1 = __importDefault(require("../../i18n"));
54
+ var languageMap = {
55
+ "tha": "th",
56
+ "jpn": "ja",
57
+ "phl": "tl-ph",
58
+ "vi": "vi",
59
+ "en": "en-ca",
60
+ "ind": "hi",
61
+ "mys": "ms",
62
+ "id": "id",
63
+ "lao": "lo"
64
+ };
53
65
  var moment = require('moment');
54
- require('moment/locale/vi');
66
+ require('moment/locale/en-ca');
55
67
  var omit = require('lodash/omit');
56
68
  var useStyles = (0, styles_1.makeStyles)({
57
69
  CustomDateRangePicker_panel: {
@@ -143,8 +155,9 @@ var defaultProps = {
143
155
  handleDateRangePopover: function () { },
144
156
  };
145
157
  var DateRangePickerWrapper = function (props) {
158
+ var _a;
146
159
  var classes = useStyles();
147
- var value = props.value, error = props.error, helperText = props.helperText, _a = props.autoFocus, autoFocus = _a === void 0 ? false : _a, _b = props.autoFocusEndDate, autoFocusEndDate = _b === void 0 ? false : _b, _c = props.initialStartDate, initialStartDate = _c === void 0 ? null : _c, _d = props.initialEndDate, initialEndDate = _d === void 0 ? null : _d, _e = props.callback, callback = _e === void 0 ? function () { } : _e, _f = props.label, label = _f === void 0 ? null : _f, _g = props.isShowCalendarInfo, isShowCalendarInfo = _g === void 0 ? false : _g, variant = props.variant, openDirection = props.openDirection, _h = props.isDayBlocked, isDayBlocked = _h === void 0 ? function (day) { return false; } : _h, _j = props.handleValid, handleValid = _j === void 0 ? function () { } : _j, _k = props.handleDateRangePopover, handleDateRangePopover = _k === void 0 ? function () { } : _k, disableHelperText = props.disableHelperText, _l = props.isFutureDate, isFutureDate = _l === void 0 ? false : _l;
160
+ var value = props.value, error = props.error, helperText = props.helperText, _b = props.autoFocus, autoFocus = _b === void 0 ? false : _b, _c = props.autoFocusEndDate, autoFocusEndDate = _c === void 0 ? false : _c, _d = props.initialStartDate, initialStartDate = _d === void 0 ? null : _d, _e = props.initialEndDate, initialEndDate = _e === void 0 ? null : _e, _f = props.callback, callback = _f === void 0 ? function () { } : _f, _g = props.label, label = _g === void 0 ? null : _g, _h = props.isShowCalendarInfo, isShowCalendarInfo = _h === void 0 ? false : _h, variant = props.variant, openDirection = props.openDirection, _j = props.isDayBlocked, isDayBlocked = _j === void 0 ? function (day) { return false; } : _j, _k = props.handleValid, handleValid = _k === void 0 ? function () { } : _k, _l = props.handleDateRangePopover, handleDateRangePopover = _l === void 0 ? function () { } : _l, disableHelperText = props.disableHelperText, _m = props.isFutureDate, isFutureDate = _m === void 0 ? false : _m, _o = props.required, required = _o === void 0 ? false : _o;
148
161
  var initialFocusedInput = null;
149
162
  if (autoFocus) {
150
163
  initialFocusedInput = constants_1.START_DATE;
@@ -152,12 +165,12 @@ var DateRangePickerWrapper = function (props) {
152
165
  else if (autoFocusEndDate) {
153
166
  initialFocusedInput = constants_1.END_DATE;
154
167
  }
155
- var _m = (0, react_1.useState)(initialFocusedInput), focusedInput = _m[0], setFocusedInput = _m[1];
156
- var _o = (0, react_1.useState)(initialStartDate), startDate = _o[0], setStartDate = _o[1];
157
- var _p = (0, react_1.useState)(initialEndDate), endDate = _p[0], setEndDate = _p[1];
158
- var _q = (0, react_1.useState)(true), isValid = _q[0], setIsValid = _q[1];
159
- var _r = (0, react_1.useState)("".concat(moment(value ? value === null || value === void 0 ? void 0 : value.startDate : startDate).format('DD/MM/YYYY'), " - ").concat(moment(value ? value === null || value === void 0 ? void 0 : value.endDate : endDate).format('DD/MM/YYYY'))), inputValue = _r[0], setInputValue = _r[1];
160
- var _s = (0, react_i18next_1.useTranslation)(), i18n = _s.i18n, t = _s.t;
168
+ var _p = (0, react_1.useState)(initialFocusedInput), focusedInput = _p[0], setFocusedInput = _p[1];
169
+ var _q = (0, react_1.useState)(initialStartDate), startDate = _q[0], setStartDate = _q[1];
170
+ var _r = (0, react_1.useState)(initialEndDate), endDate = _r[0], setEndDate = _r[1];
171
+ var _s = (0, react_1.useState)(true), isValid = _s[0], setIsValid = _s[1];
172
+ var _t = (0, react_1.useState)("".concat(moment(value ? value === null || value === void 0 ? void 0 : value.startDate : startDate).format('DD/MM/YYYY'), " - ").concat(moment(value ? value === null || value === void 0 ? void 0 : value.endDate : endDate).format('DD/MM/YYYY'))), inputValue = _t[0], setInputValue = _t[1];
173
+ var _u = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }), i18n = _u.i18n, t = _u.t;
161
174
  var momentLanguage = (0, react_1.useMemo)(function () { var _a, _b; return ((_b = (_a = i18n === null || i18n === void 0 ? void 0 : i18n.language) === null || _a === void 0 ? void 0 : _a.split('-')) === null || _b === void 0 ? void 0 : _b[0]) || 'en'; }, [i18n.language]);
162
175
  (0, react_1.useEffect)(function () {
163
176
  if (value !== undefined) {
@@ -177,10 +190,11 @@ var DateRangePickerWrapper = function (props) {
177
190
  }
178
191
  }, [value]);
179
192
  (0, react_1.useEffect)(function () {
180
- if (momentLanguage !== 'en') {
193
+ var lang = languageMap[momentLanguage] || momentLanguage;
194
+ if (lang !== 'en') {
181
195
  try {
182
- Promise.resolve("".concat("moment/locale/".concat(momentLanguage))).then(function (s) { return __importStar(require(s)); }).then(function () {
183
- moment.locale(momentLanguage);
196
+ Promise.resolve("".concat("moment/locale/".concat(lang))).then(function (s) { return __importStar(require(s)); }).then(function () {
197
+ moment.locale(lang);
184
198
  })
185
199
  .catch(function (error) {
186
200
  console.warn(error);
@@ -191,12 +205,12 @@ var DateRangePickerWrapper = function (props) {
191
205
  }
192
206
  }
193
207
  else {
194
- moment.locale(momentLanguage);
208
+ moment.locale(lang);
195
209
  }
196
210
  if ((value ? value === null || value === void 0 ? void 0 : value.startDate : startDate) !== null &&
197
211
  moment(value ? value === null || value === void 0 ? void 0 : value.startDate : startDate).locale() !==
198
- momentLanguage) {
199
- setStartDate(moment(value ? value === null || value === void 0 ? void 0 : value.startDate : startDate).locale(momentLanguage));
212
+ lang) {
213
+ setStartDate(moment(value ? value === null || value === void 0 ? void 0 : value.startDate : startDate).locale(lang));
200
214
  }
201
215
  }, [momentLanguage, i18n.language, value ? value === null || value === void 0 ? void 0 : value.startDate : startDate]);
202
216
  (0, react_1.useEffect)(function () {
@@ -235,42 +249,60 @@ var DateRangePickerWrapper = function (props) {
235
249
  onDatesChange(daterange);
236
250
  // setFocusedInput(null);
237
251
  };
252
+ var getDataSet = function (moment) {
253
+ return moment.set({
254
+ hour: 0,
255
+ minute: 0,
256
+ second: 0,
257
+ millisecond: 0,
258
+ });
259
+ };
260
+ var resetDate = function () {
261
+ setStartDate(initialStartDate);
262
+ setEndDate(initialEndDate);
263
+ setInputValue("".concat(moment(initialStartDate).format('DD/MM/YYYY'), " - ").concat(moment(initialEndDate).format('DD/MM/YYYY')));
264
+ callback({
265
+ startDate: getDataSet(moment(initialStartDate, 'DD/MM/YYYY')),
266
+ endDate: getDataSet(moment(initialEndDate, 'DD/MM/YYYY')),
267
+ });
268
+ };
238
269
  var handleChangeInput = function (e) {
239
270
  var fieldValue = e.target.value;
240
271
  setInputValue(fieldValue);
241
272
  var fieldValueArr = (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.split(' - ')) || [];
242
273
  var year1900 = moment('1900-01-01');
243
274
  var momentStartDate = moment(fieldValueArr[0], 'DD/MM/YYYY');
275
+ var momentEndDate = moment(fieldValueArr[1], 'DD/MM/YYYY');
276
+ if (isDayBlocked && isDayBlocked(momentStartDate)) {
277
+ setIsValid(true);
278
+ resetDate();
279
+ return;
280
+ }
281
+ if (isDayBlocked && isDayBlocked(momentEndDate)) {
282
+ setIsValid(true);
283
+ resetDate();
284
+ return;
285
+ }
244
286
  if (momentStartDate.isValid() && momentStartDate.diff(year1900) >= 0) {
245
287
  setStartDate(momentStartDate);
246
288
  }
247
- var momentEndDate = moment(fieldValueArr[1], 'DD/MM/YYYY');
248
289
  if (momentEndDate.isValid() && momentEndDate.diff(year1900) >= 0) {
249
290
  setEndDate(momentEndDate);
250
291
  }
251
292
  if (moment(fieldValueArr[0], 'DD/MM/YYYY', true).isValid() &&
252
293
  moment(fieldValueArr[1], 'DD/MM/YYYY', true).isValid() &&
253
294
  momentEndDate.diff(momentStartDate) >= 0) {
254
- momentStartDate.set({
255
- hour: 0,
256
- minute: 0,
257
- second: 0,
258
- millisecond: 0,
259
- });
260
- momentEndDate.set({
261
- hour: 0,
262
- minute: 0,
263
- second: 0,
264
- millisecond: 0,
265
- });
266
- callback({ startDate: momentStartDate, endDate: momentEndDate });
267
295
  setIsValid(true);
296
+ callback({
297
+ startDate: getDataSet(momentStartDate),
298
+ endDate: getDataSet(momentEndDate),
299
+ });
268
300
  }
269
301
  else
270
302
  setIsValid(false);
271
303
  };
272
304
  var nextProps = __assign({}, props);
273
- var presets = (0, configDate_1.default)(t, isFutureDate);
305
+ var presets = (0, configDate_1.default)(isFutureDate).map(function (item) { return (item.text = i18n.t(item.text), item); });
274
306
  var renderDatePresets = function () {
275
307
  return ((0, jsx_runtime_1.jsx)("div", { className: classes.CustomDateRangePicker_panel, children: presets.map(function (_a) {
276
308
  var text = _a.text, start = _a.start, end = _a.end;
@@ -312,8 +344,10 @@ var DateRangePickerWrapper = function (props) {
312
344
  'isDayBlocked',
313
345
  'handleValid',
314
346
  'handleDateRangePopover',
347
+ 'required',
315
348
  ]);
316
- var _t = react_1.default.useState(null), anchorElPopover = _t[0], setAnchorElPopover = _t[1];
349
+ var isHindi = (0, react_1.useMemo)(function () { return momentLanguage === 'ind'; }, [momentLanguage]);
350
+ var _v = react_1.default.useState(null), anchorElPopover = _v[0], setAnchorElPopover = _v[1];
317
351
  var openPopper = Boolean(anchorElPopover);
318
352
  var id = openPopper ? 'datePicker-popper' : undefined;
319
353
  var popperRef = react_1.default.useRef();
@@ -332,9 +366,23 @@ var DateRangePickerWrapper = function (props) {
332
366
  setAnchorElPopover(null);
333
367
  handleDateRangePopover(null);
334
368
  };
335
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_input_mask_1.default, { mask: "99/99/9999 - 99/99/9999", maskplaceholder: "dd/mm/yyyy - dd/mm/yyyy", value: inputValue, onChange: handleChangeInput, disabled: props.disabled, children: function () {
369
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [isHindi ? ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({ required: required, "aria-describedby": id, variant: variant, label: label, error: !isValid || error, helperText: !disableHelperText
370
+ ? error
371
+ ? helperText || t('Common.InvalidData')
372
+ : !isValid
373
+ ? t('DatePicker.InvalidDateRange')
374
+ : ''
375
+ : '' }, omit(props.textFieldProps, ['readOnly']), { inputProps: {
376
+ readOnly: (_a = props.textFieldProps) === null || _a === void 0 ? void 0 : _a.readOnly,
377
+ }, disabled: props.disabled, onClick: function (e) {
378
+ var _a;
379
+ !((_a = props.textFieldProps) === null || _a === void 0 ? void 0 : _a.readOnly) &&
380
+ handleClickInput(e);
381
+ }, inputRef: inputRef, InputProps: {
382
+ endAdornment: ((0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "end", children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { children: (0, jsx_runtime_1.jsx)(icons_material_1.CalendarTodaySharp, {}) }) })),
383
+ } }))) : ((0, jsx_runtime_1.jsx)(react_input_mask_1.default, { mask: "99/99/9999 - 99/99/9999", maskplaceholder: "dd/mm/yyyy - dd/mm/yyyy", value: inputValue, onChange: handleChangeInput, disabled: props.disabled, children: function () {
336
384
  var _a;
337
- return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({ "aria-describedby": id, variant: variant, label: label, error: !isValid || error, helperText: !disableHelperText
385
+ return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({ required: required, "aria-describedby": id, variant: variant, label: label, error: !isValid || error, helperText: !disableHelperText
338
386
  ? error
339
387
  ? helperText || t('Common.InvalidData')
340
388
  : !isValid
@@ -349,7 +397,7 @@ var DateRangePickerWrapper = function (props) {
349
397
  }, inputRef: inputRef, InputProps: {
350
398
  endAdornment: ((0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "end", children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { children: (0, jsx_runtime_1.jsx)(icons_material_1.CalendarTodaySharp, {}) }) })),
351
399
  } })));
352
- } }), (0, jsx_runtime_1.jsx)(material_1.Popper, { id: id, open: openPopper, anchorEl: anchorElPopover, onClose: handleClosePopover, style: { zIndex: 30000 }, placement: openDirection === 'up' ? 'top-start' : 'bottom-start', popperRef: popperRef, children: (0, jsx_runtime_1.jsx)(material_1.ClickAwayListener, { onClickAway: handleClosePopover, children: (0, jsx_runtime_1.jsx)(material_1.Paper, { elevation: 8, className: classes.CustomPickerSelected, children: (0, jsx_runtime_1.jsx)(react_dates_1.DayPickerRangeController, __assign({}, nextProps, { calendarInfoPosition: "before", renderCalendarInfo: isShowCalendarInfo ? renderDatePresets : null, onDatesChange: onDatesChange, onFocusChange: onFocusChange, focusedInput: focusedInput, startDate: value ? value === null || value === void 0 ? void 0 : value.startDate : startDate, endDate: value ? value === null || value === void 0 ? void 0 : value.endDate : endDate, hideKeyboardShortcutsPanel: true, numberOfMonths: 2, daySize: 32, transitionDuration: 0, isDayBlocked: function (day) {
400
+ } })), (0, jsx_runtime_1.jsx)(material_1.Popper, { id: id, open: openPopper, anchorEl: anchorElPopover, onClose: handleClosePopover, style: { zIndex: 30000 }, placement: openDirection === 'up' ? 'top-start' : 'bottom-start', popperRef: popperRef, children: (0, jsx_runtime_1.jsx)(material_1.ClickAwayListener, { onClickAway: handleClosePopover, children: (0, jsx_runtime_1.jsx)(material_1.Paper, { elevation: 8, className: classes.CustomPickerSelected, children: (0, jsx_runtime_1.jsx)(react_dates_1.DayPickerRangeController, __assign({}, nextProps, { calendarInfoPosition: "before", renderCalendarInfo: isShowCalendarInfo ? renderDatePresets : null, onDatesChange: onDatesChange, onFocusChange: onFocusChange, focusedInput: focusedInput, startDate: value ? value === null || value === void 0 ? void 0 : value.startDate : startDate, endDate: value ? value === null || value === void 0 ? void 0 : value.endDate : endDate, hideKeyboardShortcutsPanel: true, numberOfMonths: 2, daySize: 32, transitionDuration: 0, isDayBlocked: function (day) {
353
401
  if (value ? value === null || value === void 0 ? void 0 : value.startDate : startDate) {
354
402
  if (isDayBlocked(value ? value === null || value === void 0 ? void 0 : value.startDate : startDate))
355
403
  setIsValid(false);
@@ -1,6 +1,5 @@
1
- import { TFunction } from 'i18next';
2
1
  import moment from 'moment';
3
- declare const configInitialDate: (t: TFunction<'translation', undefined>, isFutureDate: boolean) => {
2
+ declare const configInitialDate: (isFutureDate: boolean) => {
4
3
  text: string;
5
4
  start: moment.Moment;
6
5
  end: moment.Moment;
@@ -4,63 +4,63 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var moment_1 = __importDefault(require("moment"));
7
- var configInitialDate = function (t, isFutureDate) {
7
+ var configInitialDate = function (isFutureDate) {
8
8
  var today = (0, moment_1.default)();
9
9
  var initDatePast = [
10
10
  {
11
- text: t('DatePicker.ToDay'),
11
+ text: 'DatePicker.ToDay',
12
12
  start: today,
13
13
  end: today,
14
14
  },
15
15
  {
16
- text: t('DatePicker.Yesterday'),
16
+ text: 'DatePicker.Yesterday',
17
17
  start: (0, moment_1.default)().subtract(1, 'days'),
18
18
  end: (0, moment_1.default)().subtract(1, 'days'),
19
19
  },
20
20
  {
21
- text: t('DatePicker.LastSevenDay'),
21
+ text: 'DatePicker.LastSevenDay',
22
22
  start: (0, moment_1.default)().subtract(6, 'days'),
23
23
  end: today,
24
24
  },
25
25
  {
26
- text: t('DatePicker.LastThirtyDay'),
26
+ text: 'DatePicker.LastThirtyDay',
27
27
  start: (0, moment_1.default)().subtract(29, 'days'),
28
28
  end: today,
29
29
  },
30
30
  {
31
- text: t('DatePicker.ThisMonth'),
31
+ text: 'DatePicker.ThisMonth',
32
32
  start: (0, moment_1.default)().startOf('month'),
33
33
  end: (0, moment_1.default)().endOf('month'),
34
34
  },
35
35
  {
36
- text: t('DatePicker.LastMonth'),
36
+ text: 'DatePicker.LastMonth',
37
37
  start: (0, moment_1.default)().subtract(1, 'month').startOf('month'),
38
38
  end: (0, moment_1.default)().subtract(1, 'month').endOf('month'),
39
39
  },
40
40
  ];
41
41
  var initDateFuture = [
42
42
  {
43
- text: t('DatePicker.ToDay'),
43
+ text: 'DatePicker.ToDay',
44
44
  start: today,
45
45
  end: today,
46
46
  },
47
47
  {
48
- text: t('DatePicker.Tomorrow'),
48
+ text: 'DatePicker.Tomorrow',
49
49
  start: (0, moment_1.default)(),
50
50
  end: (0, moment_1.default)().add(1, 'days'),
51
51
  },
52
52
  {
53
- text: t('DatePicker.NextSevenDay'),
53
+ text: 'DatePicker.NextSevenDay',
54
54
  start: today,
55
55
  end: (0, moment_1.default)().add(6, 'days'),
56
56
  },
57
57
  {
58
- text: t('DatePicker.NextThirtyDay'),
58
+ text: 'DatePicker.NextThirtyDay',
59
59
  start: today,
60
60
  end: (0, moment_1.default)().add(29, 'days'),
61
61
  },
62
62
  {
63
- text: t('DatePicker.NextMonth'),
63
+ text: 'DatePicker.NextMonth',
64
64
  start: (0, moment_1.default)().add(1, 'month').startOf('month'),
65
65
  end: (0, moment_1.default)().add(1, 'month').endOf('month'),
66
66
  },
@@ -1,5 +1,6 @@
1
1
  import { MomentInput, Moment } from "moment";
2
2
  export interface DateRangePickerProps {
3
+ required?: boolean;
3
4
  disabled?: boolean;
4
5
  autoFocus?: boolean;
5
6
  autoFocusEndDate?: boolean;
@@ -53,7 +53,8 @@ var useForm = function (props) {
53
53
  var _updateFieldArray = function (name, value) {
54
54
  (0, set_1.default)(_formControl.current, name, value);
55
55
  };
56
- var getValues = function (fieldNames) {
56
+ // eslint-disable-next-line react-hooks/exhaustive-deps
57
+ var getValues = react_1.default.useCallback(function (fieldNames) {
57
58
  var data = (0, convertToArrayPayload_1.default)(fieldNames).map(function (fieldName) {
58
59
  return (0, cloneProxy_1.default)((0, get_1.default)(_formControl.current, fieldName));
59
60
  });
@@ -61,7 +62,7 @@ var useForm = function (props) {
61
62
  return data;
62
63
  if (data.length && data.length === 1)
63
64
  return data[0];
64
- };
65
+ }, []);
65
66
  var register = function (fieldPath, options) {
66
67
  var isRequired = options === null || options === void 0 ? void 0 : options.required;
67
68
  var onValidate = options === null || options === void 0 ? void 0 : options.onValidate;
@@ -0,0 +1,3 @@
1
+ import { IGoogleMapProps } from './interface';
2
+ declare const GGMap: ({ defaultLocation, onUpdateLocation, apiKey, geofenceRadius, sxMap, isDisplayAutoComplete, isTypeTracking, markerPositions, zoomCustomed, }: IGoogleMapProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default GGMap;
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var jsx_runtime_1 = require("react/jsx-runtime");
30
+ var material_1 = require("@mui/material");
31
+ var api_1 = require("@react-google-maps/api");
32
+ var lodash_1 = __importDefault(require("lodash"));
33
+ var react_1 = __importStar(require("react"));
34
+ var react_i18next_1 = require("react-i18next");
35
+ var utils_1 = require("./utils");
36
+ var mapContainerStyle = {
37
+ height: '320px',
38
+ width: '100%',
39
+ };
40
+ var libraries = ['places'];
41
+ var stylesDefault = {
42
+ position: 'relative',
43
+ '& .pac-container.pac-logo': {
44
+ top: '55px!important',
45
+ left: '0!important',
46
+ },
47
+ };
48
+ var GGMap = function (_a) {
49
+ var defaultLocation = _a.defaultLocation, onUpdateLocation = _a.onUpdateLocation, apiKey = _a.apiKey, geofenceRadius = _a.geofenceRadius, sxMap = _a.sxMap, _b = _a.isDisplayAutoComplete, isDisplayAutoComplete = _b === void 0 ? false : _b, _c = _a.isTypeTracking, isTypeTracking = _c === void 0 ? false : _c, markerPositions = _a.markerPositions, zoomCustomed = _a.zoomCustomed;
50
+ var radiusDefault = 500;
51
+ var t = (0, react_i18next_1.useTranslation)().t;
52
+ var _d = (0, react_1.useState)(), map = _d[0], setMap = _d[1];
53
+ var _e = (0, react_1.useState)(''), error = _e[0], setError = _e[1];
54
+ var autocompleteRef = (0, react_1.useRef)(null);
55
+ var boxRef = (0, react_1.useRef)(null);
56
+ var makerRefs = (0, react_1.useRef)([]);
57
+ var _f = (0, react_1.useState)(zoomCustomed || 5), zoom = _f[0], setZoom = _f[1];
58
+ var onLoad = function (autocomplete) {
59
+ autocompleteRef.current = autocomplete;
60
+ };
61
+ var getValidValue = function (value, defaultValue) {
62
+ return value < defaultValue ? defaultValue : value;
63
+ };
64
+ var markerConvert = (0, react_1.useMemo)(function () {
65
+ var _a;
66
+ var coordMap = (_a = markerPositions === null || markerPositions === void 0 ? void 0 : markerPositions.reduce(function (acc, _a) {
67
+ var longitude = _a.longitude, latitude = _a.latitude;
68
+ if (!longitude || !latitude)
69
+ return acc;
70
+ var key = "".concat(longitude, ",").concat(latitude);
71
+ if (acc[key]) {
72
+ acc[key].count += 1;
73
+ }
74
+ else {
75
+ acc[key] = { longitude: longitude, latitude: latitude, count: 1 };
76
+ }
77
+ return acc;
78
+ }, {})) !== null && _a !== void 0 ? _a : {};
79
+ return Object.values(coordMap).map(function (item, index, arr) {
80
+ var _a;
81
+ item.radius = getValidValue((((_a = item.count) !== null && _a !== void 0 ? _a : 0) /
82
+ arr.reduce(function (acc, item) { var _a; return acc + ((_a = item === null || item === void 0 ? void 0 : item.count) !== null && _a !== void 0 ? _a : 0); }, 0)) *
83
+ 10000 *
84
+ Math.pow(2, 10 - Math.max(zoom, 4)), radiusDefault);
85
+ return item;
86
+ });
87
+ // Convert the object to an array
88
+ }, [markerPositions, zoom]);
89
+ var onPlaceChanged = function () {
90
+ var _a, _b, _c, _d;
91
+ if (autocompleteRef.current !== null) {
92
+ var place = autocompleteRef.current.getPlace();
93
+ if (place.geometry) {
94
+ var newLat = (_b = (_a = place === null || place === void 0 ? void 0 : place.geometry) === null || _a === void 0 ? void 0 : _a.location) === null || _b === void 0 ? void 0 : _b.lat();
95
+ var newLng = (_d = (_c = place === null || place === void 0 ? void 0 : place.geometry) === null || _c === void 0 ? void 0 : _c.location) === null || _d === void 0 ? void 0 : _d.lng();
96
+ onUpdateLocation &&
97
+ onUpdateLocation({
98
+ latitude: newLat !== null && newLat !== void 0 ? newLat : 0,
99
+ longitude: newLng !== null && newLng !== void 0 ? newLng : 0,
100
+ });
101
+ map === null || map === void 0 ? void 0 : map.panTo({ lat: newLat !== null && newLat !== void 0 ? newLat : 0, lng: newLng !== null && newLng !== void 0 ? newLng : 0 });
102
+ setZoom(18);
103
+ }
104
+ }
105
+ else {
106
+ console.log('Autocomplete is not loaded yet!');
107
+ }
108
+ };
109
+ var onLoadMap = react_1.default.useCallback(function (mapInstance) {
110
+ setMap(mapInstance);
111
+ }, []);
112
+ //Lấy vị trí hiện tại của người dùng
113
+ var getCurrentLocation = function () {
114
+ var showPosition = function (position) {
115
+ onUpdateLocation &&
116
+ onUpdateLocation({
117
+ latitude: position.coords.latitude,
118
+ longitude: position.coords.longitude,
119
+ });
120
+ };
121
+ var showError = function (error) {
122
+ switch (error.code) {
123
+ case error.PERMISSION_DENIED:
124
+ setError('User denied the request for Geolocation.');
125
+ break;
126
+ case error.POSITION_UNAVAILABLE:
127
+ setError('Location information is unavailable.');
128
+ break;
129
+ case error.TIMEOUT:
130
+ setError('The request to get user location timed out.');
131
+ break;
132
+ default:
133
+ setError('An unknown error occurred.');
134
+ break;
135
+ }
136
+ };
137
+ if (navigator.geolocation) {
138
+ navigator.geolocation.getCurrentPosition(showPosition, showError);
139
+ }
140
+ else {
141
+ setError('Geolocation is not supported by this browser.');
142
+ }
143
+ };
144
+ var onMapClick = react_1.default.useCallback(function (e) {
145
+ var _a, _b, _c, _d;
146
+ onUpdateLocation &&
147
+ onUpdateLocation({
148
+ latitude: (_b = (_a = e === null || e === void 0 ? void 0 : e.latLng) === null || _a === void 0 ? void 0 : _a.lat()) !== null && _b !== void 0 ? _b : 0,
149
+ longitude: (_d = (_c = e === null || e === void 0 ? void 0 : e.latLng) === null || _c === void 0 ? void 0 : _c.lng()) !== null && _d !== void 0 ? _d : 0,
150
+ });
151
+ }, []);
152
+ (0, react_1.useEffect)(function () {
153
+ if (lodash_1.default.isNil(defaultLocation) ||
154
+ defaultLocation.lat === 0 ||
155
+ defaultLocation.lng === 0) {
156
+ getCurrentLocation();
157
+ }
158
+ }, [defaultLocation]);
159
+ (0, react_1.useEffect)(function () {
160
+ if (map) {
161
+ makerRefs.current.forEach(function (marker) {
162
+ marker.setMap(null);
163
+ });
164
+ makerRefs.current = markerConvert.map(function (item) {
165
+ var _a, _b;
166
+ var maker = new google.maps.Circle({
167
+ center: {
168
+ lat: (_a = item.latitude) !== null && _a !== void 0 ? _a : 0,
169
+ lng: (_b = item.longitude) !== null && _b !== void 0 ? _b : 0,
170
+ },
171
+ radius: item.radius,
172
+ strokeColor: '#4285F4',
173
+ strokeOpacity: 0.8,
174
+ strokeWeight: 2,
175
+ fillColor: '#4285F4',
176
+ fillOpacity: 0.35,
177
+ });
178
+ maker.setMap(map);
179
+ return maker;
180
+ });
181
+ }
182
+ }, [markerConvert]);
183
+ var handleZoom = (0, react_1.useCallback)(function (zoom) {
184
+ setZoom(zoom);
185
+ }, []);
186
+ return ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: sxMap ? sxMap : stylesDefault, ref: boxRef, children: (0, jsx_runtime_1.jsxs)(api_1.LoadScript, { googleMapsApiKey: apiKey || '', libraries: libraries, children: [!isDisplayAutoComplete && ((0, jsx_runtime_1.jsx)(api_1.Autocomplete, { onPlaceChanged: onPlaceChanged, onLoad: onLoad, children: (0, jsx_runtime_1.jsx)("input", { type: "text", placeholder: t('Common.PlaceHolderLocation'), onFocus: function () {
187
+ var _a;
188
+ var ggSuggest = document.querySelector('.pac-container.pac-logo');
189
+ if (ggSuggest) {
190
+ (_a = boxRef.current) === null || _a === void 0 ? void 0 : _a.append(ggSuggest);
191
+ }
192
+ }, style: {
193
+ boxSizing: "border-box",
194
+ border: "1px solid transparent",
195
+ width: "378px",
196
+ height: "40px",
197
+ padding: "0 12px",
198
+ borderRadius: "3px",
199
+ boxShadow: "0 2px 6px rgba(0, 0, 0, 0.3)",
200
+ fontSize: "14px",
201
+ outline: "none",
202
+ textOverflow: "ellipses",
203
+ position: 'inherit',
204
+ right: '3%',
205
+ margin: '10px 0',
206
+ zIndex: 99,
207
+ top: '50px',
208
+ } }) })), !isTypeTracking ? ((0, jsx_runtime_1.jsx)(MaprenderWithoutTracking, { onLoadMap: onLoadMap, onMapClick: onMapClick, onZoomChanged: handleZoom, defaultLocation: defaultLocation !== null && defaultLocation !== void 0 ? defaultLocation : {
209
+ lat: 21.0063107,
210
+ lng: 105.8279467,
211
+ }, geofenceRadius: geofenceRadius !== null && geofenceRadius !== void 0 ? geofenceRadius : 0, zoomCustomed: zoomCustomed !== null && zoomCustomed !== void 0 ? zoomCustomed : 10 })) : ((0, jsx_runtime_1.jsx)(Maprender, { onLoadMap: onLoadMap, onMapClick: onMapClick, onZoomChanged: handleZoom }))] }) }));
212
+ };
213
+ exports.default = GGMap;
214
+ var Maprender = react_1.default.memo(function (_a) {
215
+ var onLoadMap = _a.onLoadMap, onMapClick = _a.onMapClick, onZoomChanged = _a.onZoomChanged, _b = _a.zoom, zoom = _b === void 0 ? 5.4 : _b;
216
+ var mapInstance = (0, react_1.useRef)(null);
217
+ return ((0, jsx_runtime_1.jsx)(api_1.GoogleMap, { id: "map", mapContainerStyle: { width: '100%', height: "".concat(521, "px") }, zoom: zoom, center: {
218
+ lat: 16.453539,
219
+ lng: 107.4947103,
220
+ }, onZoomChanged: function () {
221
+ var _a, _b;
222
+ onZoomChanged((_b = (_a = mapInstance.current) === null || _a === void 0 ? void 0 : _a.getZoom()) !== null && _b !== void 0 ? _b : 0);
223
+ }, onLoad: function (instance) {
224
+ mapInstance.current = instance;
225
+ onLoadMap(instance);
226
+ }, onClick: onMapClick, options: {
227
+ disableDefaultUI: true,
228
+ styles: utils_1.mapStyles,
229
+ zoomControl: true,
230
+ streetViewControl: false,
231
+ mapTypeControl: false,
232
+ fullscreenControl: false,
233
+ minZoom: 2,
234
+ maxZoom: 13,
235
+ } }));
236
+ });
237
+ var MaprenderWithoutTracking = react_1.default.memo(function (_a) {
238
+ var onLoadMap = _a.onLoadMap, onMapClick = _a.onMapClick, onZoomChanged = _a.onZoomChanged, defaultLocation = _a.defaultLocation, geofenceRadius = _a.geofenceRadius, zoomCustomed = _a.zoomCustomed;
239
+ var mapInstance = (0, react_1.useRef)(null);
240
+ return ((0, jsx_runtime_1.jsx)(api_1.GoogleMap, { id: "map", mapContainerStyle: mapContainerStyle, zoom: zoomCustomed !== null && zoomCustomed !== void 0 ? zoomCustomed : 10, center: defaultLocation, onZoomChanged: function () {
241
+ var _a, _b;
242
+ onZoomChanged((_b = (_a = mapInstance.current) === null || _a === void 0 ? void 0 : _a.getZoom()) !== null && _b !== void 0 ? _b : 0);
243
+ }, onLoad: function (instance) {
244
+ mapInstance.current = instance;
245
+ onLoadMap(instance);
246
+ }, onClick: onMapClick, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { children: [(0, jsx_runtime_1.jsx)(api_1.Marker, { position: defaultLocation !== null && defaultLocation !== void 0 ? defaultLocation : {
247
+ lat: 21.0063107,
248
+ lng: 105.8279467,
249
+ } }), (0, jsx_runtime_1.jsx)(api_1.Circle, { center: defaultLocation, radius: geofenceRadius, options: {
250
+ fillColor: 'red',
251
+ fillOpacity: 0.2,
252
+ strokeColor: 'red',
253
+ strokeOpacity: 1,
254
+ strokeWeight: 2,
255
+ } })] }) }));
256
+ });
@@ -0,0 +1,4 @@
1
+ import { IGoogleMapProps } from "./interface";
2
+ export declare function GoogleMap(props: IGoogleMapProps): import("react/jsx-runtime").JSX.Element;
3
+ export default GoogleMap;
4
+ export * from "./interface";
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
+ };
27
+ var __importDefault = (this && this.__importDefault) || function (mod) {
28
+ return (mod && mod.__esModule) ? mod : { "default": mod };
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.GoogleMap = void 0;
32
+ var jsx_runtime_1 = require("react/jsx-runtime");
33
+ var i18n_1 = __importDefault(require("../../i18n"));
34
+ var react_i18next_1 = require("react-i18next");
35
+ var GGMap_1 = __importDefault(require("./GGMap"));
36
+ function GoogleMap(props) {
37
+ return ((0, jsx_runtime_1.jsx)(react_i18next_1.I18nextProvider, { i18n: i18n_1.default, children: (0, jsx_runtime_1.jsx)(GGMap_1.default, __assign({}, props)) }));
38
+ }
39
+ exports.GoogleMap = GoogleMap;
40
+ exports.default = GoogleMap;
41
+ __exportStar(require("./interface"), exports);
@@ -0,0 +1,21 @@
1
+ import { DataObject } from "../../AWING/interface";
2
+ export interface IGoogleMapProps {
3
+ defaultLocation?: {
4
+ lat: number;
5
+ lng: number;
6
+ };
7
+ onUpdateLocation?: (newValue: {
8
+ latitude: number;
9
+ longitude: number;
10
+ }) => void;
11
+ apiKey: string;
12
+ geofenceRadius?: number;
13
+ sxMap?: DataObject;
14
+ isDisplayAutoComplete?: boolean;
15
+ isTypeTracking?: boolean;
16
+ markerPositions?: {
17
+ longitude: number | null;
18
+ latitude: number | null;
19
+ }[];
20
+ zoomCustomed?: number;
21
+ }