@lighthouse/common 6.4.0-canary.5 → 6.5.0

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 (243) hide show
  1. package/dist/constants.js +13 -7
  2. package/dist/errors/DomainError.js +4 -2
  3. package/dist/errors/ValidationError.js +8 -0
  4. package/dist/errors/index.js +5 -1
  5. package/dist/helpers/build-fetch-url/index.js +5 -0
  6. package/dist/helpers/fetch-image/index.js +32 -16
  7. package/dist/helpers/fetch-image-for-pdf-generator-service/index.js +44 -22
  8. package/dist/helpers/fetch-image-for-web/index.js +9 -0
  9. package/dist/helpers/fetch-lighthouse-logo/index.js +13 -2
  10. package/dist/helpers/floatify/index.js +1 -0
  11. package/dist/helpers/get-assignees-full-names/index.js +4 -0
  12. package/dist/helpers/get-audit-entry-details/index.js +3 -0
  13. package/dist/helpers/get-audit-items-data/index.js +6 -2
  14. package/dist/helpers/get-geometry-geocoded-string/index.js +3 -0
  15. package/dist/helpers/get-issue-details/index.js +9 -0
  16. package/dist/helpers/get-job-details/index.js +7 -0
  17. package/dist/helpers/get-location-reference/index.js +21 -18
  18. package/dist/helpers/get-pretty-duration/index.js +5 -0
  19. package/dist/helpers/get-reference-details/index.js +4 -0
  20. package/dist/helpers/get-status-details/index.js +9 -2
  21. package/dist/helpers/get-task-entry-details/index.js +3 -0
  22. package/dist/helpers/get-timezone-abbr/index.js +4 -0
  23. package/dist/helpers/get-timezone-datetime/index.js +5 -0
  24. package/dist/helpers/get-user-full-name/index.js +1 -0
  25. package/dist/helpers/get-value-as-percentage/index.js +1 -0
  26. package/dist/helpers/image-validators/index.js +9 -8
  27. package/dist/helpers/index.js +33 -16
  28. package/dist/images/index.js +9 -5
  29. package/dist/index.js +20 -4
  30. package/dist/pdf/activity-report/index.js +62 -41
  31. package/dist/pdf/audit/index.js +14 -0
  32. package/dist/pdf/helpers/build-audit-content/index.js +15 -4
  33. package/dist/pdf/helpers/build-audit-follow-ups/index.js +14 -4
  34. package/dist/pdf/helpers/build-location-scans-content/index.js +17 -4
  35. package/dist/pdf/helpers/build-template-content/index.js +14 -5
  36. package/dist/pdf/helpers/default-footer/index.js +3 -2
  37. package/dist/pdf/helpers/default-header/index.js +2 -0
  38. package/dist/pdf/helpers/default-styles/index.js +3 -2
  39. package/dist/pdf/helpers/fields/index.js +51 -21
  40. package/dist/pdf/helpers/format-location-address/index.js +3 -0
  41. package/dist/pdf/helpers/generate-definition/index.js +12 -0
  42. package/dist/pdf/helpers/horizontal-line/index.js +1 -0
  43. package/dist/pdf/helpers/html-transformer/index.js +23 -11
  44. package/dist/pdf/helpers/index.js +55 -40
  45. package/dist/pdf/helpers/parse-value/index.js +6 -2
  46. package/dist/pdf/helpers/table/index.js +31 -13
  47. package/dist/pdf/helpers/text/index.js +1 -0
  48. package/dist/pdf/icons/index.js +5 -3
  49. package/dist/pdf/index.js +10 -4
  50. package/dist/pdf/issue/index.js +14 -0
  51. package/dist/pdf/job/index.js +13 -1
  52. package/dist/pdf/shift-report/emptyFixtures.js +6 -4
  53. package/dist/pdf/shift-report/index.js +25 -2
  54. package/dist/pdf/task/index.js +13 -0
  55. package/dist/scheduling/generators/index.js +6 -0
  56. package/dist/scheduling/generators/occurrenceIntervalsGenerator.js +6 -1
  57. package/dist/scheduling/generators/scheduleIntervalsGenerator.js +5 -0
  58. package/dist/scheduling/generators/serviceIntervalsGenerator.js +27 -13
  59. package/dist/scheduling/helpers/convertToTimezone.js +6 -1
  60. package/dist/scheduling/helpers/generateNonRepeatingSchedule.js +9 -3
  61. package/dist/scheduling/helpers/generateRepeatingSchedule.js +18 -11
  62. package/dist/scheduling/helpers/generateScheduleEnd.js +8 -2
  63. package/dist/scheduling/helpers/hasValidStartAndEnd.js +6 -0
  64. package/dist/scheduling/helpers/index.js +28 -0
  65. package/dist/scheduling/helpers/intervalCovers.js +1 -0
  66. package/dist/scheduling/helpers/intervalIntersectsEnd.js +1 -0
  67. package/dist/scheduling/helpers/intervalIntersectsStart.js +1 -0
  68. package/dist/scheduling/helpers/intervalOnlyIntersectsEnd.js +3 -1
  69. package/dist/scheduling/helpers/intervalOnlyIntersectsStart.js +3 -0
  70. package/dist/scheduling/helpers/intervalOutside.js +1 -0
  71. package/dist/scheduling/helpers/intervalWithin.js +1 -0
  72. package/dist/scheduling/helpers/mergeIntervals.js +4 -0
  73. package/dist/scheduling/helpers/splitIntervals.js +3 -0
  74. package/dist/scheduling/index.js +6 -0
  75. package/dist/scheduling/scheduling.types.js +18 -10
  76. package/dist/scheduling/strategies/getNext.js +13 -2
  77. package/dist/scheduling/strategies/getNextExactDateOfMonth.js +12 -0
  78. package/dist/scheduling/strategies/getNextLastDayOfMonth.js +10 -0
  79. package/dist/scheduling/strategies/getNextLastWeekdayOfMonth.js +11 -0
  80. package/dist/scheduling/strategies/getNextNoRepeat.js +7 -0
  81. package/dist/scheduling/strategies/getNextWeekday.js +10 -0
  82. package/dist/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +12 -0
  83. package/dist/scheduling/strategies/index.js +14 -0
  84. package/dist/schema/index.js +2 -0
  85. package/dist/schema/schema.js +7 -2
  86. package/dist/service-hours/__helpers__/calculate-hours.js +13 -4
  87. package/dist/service-hours/__helpers__/isOpen.js +9 -0
  88. package/dist/service-hours/index.js +4 -0
  89. package/dist/service-hours/schema.js +43 -20
  90. package/lib/constants.js.map +1 -1
  91. package/lib/errors/DomainError.js +47 -11
  92. package/lib/errors/DomainError.js.map +1 -1
  93. package/lib/errors/ValidationError.js +52 -15
  94. package/lib/errors/ValidationError.js.map +1 -1
  95. package/lib/errors/index.js.map +1 -1
  96. package/lib/helpers/build-fetch-url/index.js +20 -14
  97. package/lib/helpers/build-fetch-url/index.js.map +1 -1
  98. package/lib/helpers/fetch-image/index.js +27 -20
  99. package/lib/helpers/fetch-image/index.js.map +1 -1
  100. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js +242 -201
  101. package/lib/helpers/fetch-image-for-pdf-generator-service/index.js.map +1 -1
  102. package/lib/helpers/fetch-image-for-web/index.js +66 -50
  103. package/lib/helpers/fetch-image-for-web/index.js.map +1 -1
  104. package/lib/helpers/fetch-lighthouse-logo/index.js +59 -47
  105. package/lib/helpers/fetch-lighthouse-logo/index.js.map +1 -1
  106. package/lib/helpers/floatify/index.js.map +1 -1
  107. package/lib/helpers/get-assignees-full-names/index.js +1 -0
  108. package/lib/helpers/get-assignees-full-names/index.js.map +1 -1
  109. package/lib/helpers/get-audit-entry-details/index.js +8 -8
  110. package/lib/helpers/get-audit-entry-details/index.js.map +1 -1
  111. package/lib/helpers/get-audit-items-data/index.js +19 -16
  112. package/lib/helpers/get-audit-items-data/index.js.map +1 -1
  113. package/lib/helpers/get-geometry-geocoded-string/index.js.map +1 -1
  114. package/lib/helpers/get-issue-details/index.js +12 -9
  115. package/lib/helpers/get-issue-details/index.js.map +1 -1
  116. package/lib/helpers/get-job-details/index.js +12 -12
  117. package/lib/helpers/get-job-details/index.js.map +1 -1
  118. package/lib/helpers/get-location-reference/index.js +36 -32
  119. package/lib/helpers/get-location-reference/index.js.map +1 -1
  120. package/lib/helpers/get-pretty-duration/index.js +4 -0
  121. package/lib/helpers/get-pretty-duration/index.js.map +1 -1
  122. package/lib/helpers/get-reference-details/index.js +3 -1
  123. package/lib/helpers/get-reference-details/index.js.map +1 -1
  124. package/lib/helpers/get-status-details/index.js +4 -0
  125. package/lib/helpers/get-status-details/index.js.map +1 -1
  126. package/lib/helpers/get-task-entry-details/index.js +5 -5
  127. package/lib/helpers/get-task-entry-details/index.js.map +1 -1
  128. package/lib/helpers/get-timezone-abbr/index.js.map +1 -1
  129. package/lib/helpers/get-timezone-datetime/index.js +6 -6
  130. package/lib/helpers/get-timezone-datetime/index.js.map +1 -1
  131. package/lib/helpers/get-user-full-name/index.js.map +1 -1
  132. package/lib/helpers/get-value-as-percentage/index.js.map +1 -1
  133. package/lib/helpers/image-validators/index.js +7 -8
  134. package/lib/helpers/image-validators/index.js.map +1 -1
  135. package/lib/helpers/index.js.map +1 -1
  136. package/lib/images/index.js.map +1 -1
  137. package/lib/index.js.map +1 -1
  138. package/lib/pdf/activity-report/index.js +416 -360
  139. package/lib/pdf/activity-report/index.js.map +1 -1
  140. package/lib/pdf/audit/index.js +36 -25
  141. package/lib/pdf/audit/index.js.map +1 -1
  142. package/lib/pdf/fonts/index.js.map +1 -1
  143. package/lib/pdf/helpers/build-audit-content/index.js +5 -3
  144. package/lib/pdf/helpers/build-audit-content/index.js.map +1 -1
  145. package/lib/pdf/helpers/build-audit-follow-ups/index.js +12 -5
  146. package/lib/pdf/helpers/build-audit-follow-ups/index.js.map +1 -1
  147. package/lib/pdf/helpers/build-location-scans-content/index.js +9 -4
  148. package/lib/pdf/helpers/build-location-scans-content/index.js.map +1 -1
  149. package/lib/pdf/helpers/build-template-content/index.js +9 -7
  150. package/lib/pdf/helpers/build-template-content/index.js.map +1 -1
  151. package/lib/pdf/helpers/default-footer/index.js +8 -9
  152. package/lib/pdf/helpers/default-footer/index.js.map +1 -1
  153. package/lib/pdf/helpers/default-header/index.js +5 -5
  154. package/lib/pdf/helpers/default-header/index.js.map +1 -1
  155. package/lib/pdf/helpers/default-styles/index.js.map +1 -1
  156. package/lib/pdf/helpers/fields/index.js +81 -48
  157. package/lib/pdf/helpers/fields/index.js.map +1 -1
  158. package/lib/pdf/helpers/format-location-address/index.js.map +1 -1
  159. package/lib/pdf/helpers/generate-definition/index.js +29 -22
  160. package/lib/pdf/helpers/generate-definition/index.js.map +1 -1
  161. package/lib/pdf/helpers/horizontal-line/index.js +1 -1
  162. package/lib/pdf/helpers/horizontal-line/index.js.map +1 -1
  163. package/lib/pdf/helpers/html-transformer/index.js +30 -19
  164. package/lib/pdf/helpers/html-transformer/index.js.map +1 -1
  165. package/lib/pdf/helpers/index.js.map +1 -1
  166. package/lib/pdf/helpers/parse-value/index.js +4 -2
  167. package/lib/pdf/helpers/parse-value/index.js.map +1 -1
  168. package/lib/pdf/helpers/table/index.js +84 -78
  169. package/lib/pdf/helpers/table/index.js.map +1 -1
  170. package/lib/pdf/helpers/text/index.js +5 -2
  171. package/lib/pdf/helpers/text/index.js.map +1 -1
  172. package/lib/pdf/icons/index.js.map +1 -1
  173. package/lib/pdf/index.js.map +1 -1
  174. package/lib/pdf/issue/index.js +28 -19
  175. package/lib/pdf/issue/index.js.map +1 -1
  176. package/lib/pdf/job/index.js +19 -12
  177. package/lib/pdf/job/index.js.map +1 -1
  178. package/lib/pdf/shift-report/emptyFixtures.js.map +1 -1
  179. package/lib/pdf/shift-report/index.js +374 -308
  180. package/lib/pdf/shift-report/index.js.map +1 -1
  181. package/lib/pdf/task/index.js +19 -11
  182. package/lib/pdf/task/index.js.map +1 -1
  183. package/lib/scheduling/generators/index.js.map +1 -1
  184. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js +38 -27
  185. package/lib/scheduling/generators/occurrenceIntervalsGenerator.js.map +1 -1
  186. package/lib/scheduling/generators/scheduleIntervalsGenerator.js +30 -19
  187. package/lib/scheduling/generators/scheduleIntervalsGenerator.js.map +1 -1
  188. package/lib/scheduling/generators/serviceIntervalsGenerator.js +181 -139
  189. package/lib/scheduling/generators/serviceIntervalsGenerator.js.map +1 -1
  190. package/lib/scheduling/helpers/convertToTimezone.js +1 -1
  191. package/lib/scheduling/helpers/convertToTimezone.js.map +1 -1
  192. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js +124 -84
  193. package/lib/scheduling/helpers/generateNonRepeatingSchedule.js.map +1 -1
  194. package/lib/scheduling/helpers/generateRepeatingSchedule.js +175 -107
  195. package/lib/scheduling/helpers/generateRepeatingSchedule.js.map +1 -1
  196. package/lib/scheduling/helpers/generateScheduleEnd.js +6 -6
  197. package/lib/scheduling/helpers/generateScheduleEnd.js.map +1 -1
  198. package/lib/scheduling/helpers/hasValidStartAndEnd.js +2 -1
  199. package/lib/scheduling/helpers/hasValidStartAndEnd.js.map +1 -1
  200. package/lib/scheduling/helpers/index.js.map +1 -1
  201. package/lib/scheduling/helpers/intervalCovers.js.map +1 -1
  202. package/lib/scheduling/helpers/intervalIntersectsEnd.js.map +1 -1
  203. package/lib/scheduling/helpers/intervalIntersectsStart.js.map +1 -1
  204. package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js +0 -1
  205. package/lib/scheduling/helpers/intervalOnlyIntersectsEnd.js.map +1 -1
  206. package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js +1 -1
  207. package/lib/scheduling/helpers/intervalOnlyIntersectsStart.js.map +1 -1
  208. package/lib/scheduling/helpers/intervalOutside.js.map +1 -1
  209. package/lib/scheduling/helpers/intervalWithin.js.map +1 -1
  210. package/lib/scheduling/helpers/mergeIntervals.js +3 -0
  211. package/lib/scheduling/helpers/mergeIntervals.js.map +1 -1
  212. package/lib/scheduling/helpers/splitIntervals.js +1 -1
  213. package/lib/scheduling/helpers/splitIntervals.js.map +1 -1
  214. package/lib/scheduling/index.js.map +1 -1
  215. package/lib/scheduling/scheduling.types.js +14 -9
  216. package/lib/scheduling/scheduling.types.js.map +1 -1
  217. package/lib/scheduling/strategies/getNext.js +30 -22
  218. package/lib/scheduling/strategies/getNext.js.map +1 -1
  219. package/lib/scheduling/strategies/getNextExactDateOfMonth.js +31 -22
  220. package/lib/scheduling/strategies/getNextExactDateOfMonth.js.map +1 -1
  221. package/lib/scheduling/strategies/getNextLastDayOfMonth.js +28 -21
  222. package/lib/scheduling/strategies/getNextLastDayOfMonth.js.map +1 -1
  223. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js +28 -21
  224. package/lib/scheduling/strategies/getNextLastWeekdayOfMonth.js.map +1 -1
  225. package/lib/scheduling/strategies/getNextNoRepeat.js +23 -15
  226. package/lib/scheduling/strategies/getNextNoRepeat.js.map +1 -1
  227. package/lib/scheduling/strategies/getNextWeekday.js +78 -43
  228. package/lib/scheduling/strategies/getNextWeekday.js.map +1 -1
  229. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js +28 -21
  230. package/lib/scheduling/strategies/getNextXDayOfXWeekOfMonth.js.map +1 -1
  231. package/lib/scheduling/strategies/index.js.map +1 -1
  232. package/lib/schema/index.js.map +1 -1
  233. package/lib/schema/schema.js +30 -22
  234. package/lib/schema/schema.js.map +1 -1
  235. package/lib/service-hours/__helpers__/calculate-hours.js +13 -4
  236. package/lib/service-hours/__helpers__/calculate-hours.js.map +1 -1
  237. package/lib/service-hours/__helpers__/isOpen.js +7 -3
  238. package/lib/service-hours/__helpers__/isOpen.js.map +1 -1
  239. package/lib/service-hours/index.js.map +1 -1
  240. package/lib/service-hours/schema.js +36 -21
  241. package/lib/service-hours/schema.js.map +1 -1
  242. package/package.json +4 -5
  243. package/mise.toml +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["upperCase","moment","getAssigneesFullNames","getGeometryGeocodedString","getStatusDetails","getUserFullName","getTimezoneDatetime","getJobDetails","data","_data$entity","entity","timezone","users","assignees","author","createdAt","_entity$description","description","due","geometryReverseGeocoded","_entity$reference","reference","status","assigneeNames","authorFullName","locationText","statusProps","statusStyle","style","statusColor","color","statusText","text","createdTimezoneDateTime","timestamp","dueDateTimezoneDateTime","timezoneAbbrText","tz","format"],"sources":["../../../src/helpers/get-job-details/index.js"],"sourcesContent":["import { upperCase } from 'lodash'\nimport moment from 'moment-timezone'\n\nimport {\n getAssigneesFullNames,\n getGeometryGeocodedString,\n getStatusDetails,\n getUserFullName,\n getTimezoneDatetime,\n} from '../'\n\nexport function getJobDetails(data) {\n const { entity = {}, timezone, users } = data\n\n const {\n assignees,\n author,\n createdAt,\n description = '',\n due,\n geometryReverseGeocoded,\n reference = '',\n status,\n } = entity\n\n const assigneeNames = getAssigneesFullNames(users, assignees)\n const authorFullName = getUserFullName(users, author)\n const locationText = getGeometryGeocodedString(geometryReverseGeocoded)\n\n const statusProps = getStatusDetails(status)\n const statusStyle = statusProps.style\n const statusColor = statusStyle.color\n const statusText = upperCase(statusProps.text)\n\n const createdTimezoneDateTime = getTimezoneDatetime({\n timestamp: createdAt,\n timezone,\n })\n const dueDateTimezoneDateTime = getTimezoneDatetime({\n timestamp: due,\n timezone,\n })\n const timezoneAbbrText = moment.tz(timezone).format('z')\n\n return {\n assigneeNames,\n authorFullName,\n createdTimezoneDateTime,\n description,\n dueDateTimezoneDateTime,\n locationText,\n statusStyle,\n statusColor,\n statusText,\n reference,\n timezoneAbbrText,\n }\n}\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,QAAQ;AAClC,OAAOC,MAAM,MAAM,iBAAiB;AAEpC,SACEC,qBAAqB,EACrBC,yBAAyB,EACzBC,gBAAgB,EAChBC,eAAe,EACfC,mBAAmB,QACd,KAAK;AAEZ,OAAO,SAASC,aAAaA,CAACC,IAAI,EAAE;EAClC,IAAAC,YAAA,GAAyCD,IAAI,CAArCE,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;IAAEE,QAAQ,GAAYH,IAAI,CAAxBG,QAAQ;IAAEC,KAAK,GAAKJ,IAAI,CAAdI,KAAK;EAEpC,IACEC,SAAS,GAQPH,MAAM,CARRG,SAAS;IACTC,MAAM,GAOJJ,MAAM,CAPRI,MAAM;IACNC,SAAS,GAMPL,MAAM,CANRK,SAAS;IAAAC,mBAAA,GAMPN,MAAM,CALRO,WAAW;IAAXA,WAAW,GAAAD,mBAAA,cAAG,EAAE,GAAAA,mBAAA;IAChBE,GAAG,GAIDR,MAAM,CAJRQ,GAAG;IACHC,uBAAuB,GAGrBT,MAAM,CAHRS,uBAAuB;IAAAC,iBAAA,GAGrBV,MAAM,CAFRW,SAAS;IAATA,SAAS,GAAAD,iBAAA,cAAG,EAAE,GAAAA,iBAAA;IACdE,MAAM,GACJZ,MAAM,CADRY,MAAM;EAGR,IAAMC,aAAa,GAAGrB,qBAAqB,CAACU,KAAK,EAAEC,SAAS,CAAC;EAC7D,IAAMW,cAAc,GAAGnB,eAAe,CAACO,KAAK,EAAEE,MAAM,CAAC;EACrD,IAAMW,YAAY,GAAGtB,yBAAyB,CAACgB,uBAAuB,CAAC;EAEvE,IAAMO,WAAW,GAAGtB,gBAAgB,CAACkB,MAAM,CAAC;EAC5C,IAAMK,WAAW,GAAGD,WAAW,CAACE,KAAK;EACrC,IAAMC,WAAW,GAAGF,WAAW,CAACG,KAAK;EACrC,IAAMC,UAAU,GAAG/B,SAAS,CAAC0B,WAAW,CAACM,IAAI,CAAC;EAE9C,IAAMC,uBAAuB,GAAG3B,mBAAmB,CAAC;IAClD4B,SAAS,EAAEnB,SAAS;IACpBJ,QAAQ,EAARA;EACF,CAAC,CAAC;EACF,IAAMwB,uBAAuB,GAAG7B,mBAAmB,CAAC;IAClD4B,SAAS,EAAEhB,GAAG;IACdP,QAAQ,EAARA;EACF,CAAC,CAAC;EACF,IAAMyB,gBAAgB,GAAGnC,MAAM,CAACoC,EAAE,CAAC1B,QAAQ,CAAC,CAAC2B,MAAM,CAAC,GAAG,CAAC;EAExD,OAAO;IACLf,aAAa,EAAbA,aAAa;IACbC,cAAc,EAAdA,cAAc;IACdS,uBAAuB,EAAvBA,uBAAuB;IACvBhB,WAAW,EAAXA,WAAW;IACXkB,uBAAuB,EAAvBA,uBAAuB;IACvBV,YAAY,EAAZA,YAAY;IACZE,WAAW,EAAXA,WAAW;IACXE,WAAW,EAAXA,WAAW;IACXE,UAAU,EAAVA,UAAU;IACVV,SAAS,EAATA,SAAS;IACTe,gBAAgB,EAAhBA;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-job-details/index.js"],"names":["upperCase","moment","getAssigneesFullNames","getGeometryGeocodedString","getStatusDetails","getUserFullName","getTimezoneDatetime","getJobDetails","data","entity","timezone","users","assignees","author","createdAt","description","due","geometryReverseGeocoded","reference","status","assigneeNames","authorFullName","locationText","statusProps","statusStyle","style","statusColor","color","statusText","text","createdTimezoneDateTime","timestamp","dueDateTimezoneDateTime","timezoneAbbrText","tz","format"],"mappings":"AAAA,SAASA,SAAT,QAA0B,QAA1B;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AAEA,SACEC,qBADF,EAEEC,yBAFF,EAGEC,gBAHF,EAIEC,eAJF,EAKEC,mBALF,QAMO,KANP;AAQA,OAAO,SAASC,aAAT,CAAuBC,IAAvB,EAA6B;AAAA,qBACOA,IADP,CAC1BC,MAD0B;AAAA,MAC1BA,MAD0B,6BACjB,EADiB;AAAA,MACbC,QADa,GACOF,IADP,CACbE,QADa;AAAA,MACHC,KADG,GACOH,IADP,CACHG,KADG;AAAA,MAIhCC,SAJgC,GAY9BH,MAZ8B,CAIhCG,SAJgC;AAAA,MAKhCC,MALgC,GAY9BJ,MAZ8B,CAKhCI,MALgC;AAAA,MAMhCC,SANgC,GAY9BL,MAZ8B,CAMhCK,SANgC;AAAA,4BAY9BL,MAZ8B,CAOhCM,WAPgC;AAAA,MAOhCA,WAPgC,oCAOlB,EAPkB;AAAA,MAQhCC,GARgC,GAY9BP,MAZ8B,CAQhCO,GARgC;AAAA,MAShCC,uBATgC,GAY9BR,MAZ8B,CAShCQ,uBATgC;AAAA,0BAY9BR,MAZ8B,CAUhCS,SAVgC;AAAA,MAUhCA,SAVgC,kCAUpB,EAVoB;AAAA,MAWhCC,MAXgC,GAY9BV,MAZ8B,CAWhCU,MAXgC;AAclC,MAAMC,aAAa,GAAGlB,qBAAqB,CAACS,KAAD,EAAQC,SAAR,CAA3C;AACA,MAAMS,cAAc,GAAGhB,eAAe,CAACM,KAAD,EAAQE,MAAR,CAAtC;AACA,MAAMS,YAAY,GAAGnB,yBAAyB,CAACc,uBAAD,CAA9C;AAEA,MAAMM,WAAW,GAAGnB,gBAAgB,CAACe,MAAD,CAApC;AACA,MAAMK,WAAW,GAAGD,WAAW,CAACE,KAAhC;AACA,MAAMC,WAAW,GAAGF,WAAW,CAACG,KAAhC;AACA,MAAMC,UAAU,GAAG5B,SAAS,CAACuB,WAAW,CAACM,IAAb,CAA5B;AAEA,MAAMC,uBAAuB,GAAGxB,mBAAmB,CAAC;AAClDyB,IAAAA,SAAS,EAAEjB,SADuC;AAElDJ,IAAAA,QAAQ,EAARA;AAFkD,GAAD,CAAnD;AAIA,MAAMsB,uBAAuB,GAAG1B,mBAAmB,CAAC;AAClDyB,IAAAA,SAAS,EAAEf,GADuC;AAElDN,IAAAA,QAAQ,EAARA;AAFkD,GAAD,CAAnD;AAIA,MAAMuB,gBAAgB,GAAGhC,MAAM,CAACiC,EAAP,CAAUxB,QAAV,EAAoByB,MAApB,CAA2B,GAA3B,CAAzB;AAEA,SAAO;AACLf,IAAAA,aAAa,EAAbA,aADK;AAELC,IAAAA,cAAc,EAAdA,cAFK;AAGLS,IAAAA,uBAAuB,EAAvBA,uBAHK;AAILf,IAAAA,WAAW,EAAXA,WAJK;AAKLiB,IAAAA,uBAAuB,EAAvBA,uBALK;AAMLV,IAAAA,YAAY,EAAZA,YANK;AAOLE,IAAAA,WAAW,EAAXA,WAPK;AAQLE,IAAAA,WAAW,EAAXA,WARK;AASLE,IAAAA,UAAU,EAAVA,UATK;AAULV,IAAAA,SAAS,EAATA,SAVK;AAWLe,IAAAA,gBAAgB,EAAhBA;AAXK,GAAP;AAaD","sourcesContent":["import { upperCase } from 'lodash'\nimport moment from 'moment-timezone'\n\nimport {\n getAssigneesFullNames,\n getGeometryGeocodedString,\n getStatusDetails,\n getUserFullName,\n getTimezoneDatetime,\n} from '../'\n\nexport function getJobDetails(data) {\n const { entity = {}, timezone, users } = data\n\n const {\n assignees,\n author,\n createdAt,\n description = '',\n due,\n geometryReverseGeocoded,\n reference = '',\n status,\n } = entity\n\n const assigneeNames = getAssigneesFullNames(users, assignees)\n const authorFullName = getUserFullName(users, author)\n const locationText = getGeometryGeocodedString(geometryReverseGeocoded)\n\n const statusProps = getStatusDetails(status)\n const statusStyle = statusProps.style\n const statusColor = statusStyle.color\n const statusText = upperCase(statusProps.text)\n\n const createdTimezoneDateTime = getTimezoneDatetime({\n timestamp: createdAt,\n timezone,\n })\n const dueDateTimezoneDateTime = getTimezoneDatetime({\n timestamp: due,\n timezone,\n })\n const timezoneAbbrText = moment.tz(timezone).format('z')\n\n return {\n assigneeNames,\n authorFullName,\n createdTimezoneDateTime,\n description,\n dueDateTimezoneDateTime,\n locationText,\n statusStyle,\n statusColor,\n statusText,\n reference,\n timezoneAbbrText,\n }\n}\n"],"file":"index.js"}
@@ -2,81 +2,85 @@ import { compact, get, isArray, isPlainObject, reduce } from 'lodash';
2
2
  export function getLocationReference() {
3
3
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4
4
  var _data$areaLabelPath = data.areaLabelPath,
5
- areaLabelPath = _data$areaLabelPath === void 0 ? 'area.label' : _data$areaLabelPath,
6
- _data$areaLocations = data.areaLocations,
7
- areaLocations = _data$areaLocations === void 0 ? {} : _data$areaLocations,
8
- _data$geocodedLabelPa = data.geocodedLabelPath,
9
- geocodedLabelPath = _data$geocodedLabelPa === void 0 ? 'gps.reverseGeocoded.label' : _data$geocodedLabelPa,
10
- _data$entity = data.entity,
11
- entity = _data$entity === void 0 ? {} : _data$entity,
12
- _data$locations = data.locations,
13
- locations = _data$locations === void 0 ? {} : _data$locations,
14
- _data$zones = data.zones,
15
- zones = _data$zones === void 0 ? {} : _data$zones;
16
-
17
- // 1. If we can construct `{point}, {location}` use that
5
+ areaLabelPath = _data$areaLabelPath === void 0 ? 'area.label' : _data$areaLabelPath,
6
+ _data$areaLocations = data.areaLocations,
7
+ areaLocations = _data$areaLocations === void 0 ? {} : _data$areaLocations,
8
+ _data$geocodedLabelPa = data.geocodedLabelPath,
9
+ geocodedLabelPath = _data$geocodedLabelPa === void 0 ? 'gps.reverseGeocoded.label' : _data$geocodedLabelPa,
10
+ _data$entity = data.entity,
11
+ entity = _data$entity === void 0 ? {} : _data$entity,
12
+ _data$locations = data.locations,
13
+ locations = _data$locations === void 0 ? {} : _data$locations,
14
+ _data$zones = data.zones,
15
+ zones = _data$zones === void 0 ? {} : _data$zones; // 1. If we can construct `{point}, {location}` use that
16
+
18
17
  var areaPoint = get(entity, 'area.point.name');
19
18
  var areaLocation = get(entity, 'area.location.name');
19
+
20
20
  if (areaLocation && areaPoint) {
21
21
  return "".concat(areaPoint, " - ").concat(areaLocation);
22
- }
22
+ } // 2. Else, try and use area label
23
+
23
24
 
24
- // 2. Else, try and use area label
25
25
  var areaLabel = get(entity, areaLabelPath);
26
+
26
27
  if (areaLabel) {
27
28
  return areaLabel;
28
- }
29
+ } // 3. Else, try and use zone, location
29
30
 
30
- // 3. Else, try and use zone, location
31
- var location = entity.location;
32
- var zone = entity.zone;
33
31
 
34
- // TODO This can be deprecated once we have removed visits as a feature. It's to account for
32
+ var location = entity.location;
33
+ var zone = entity.zone; // TODO This can be deprecated once we have removed visits as a feature. It's to account for
35
34
  // legacy location ids being referenced. This temporary workaround allows us to use the area
36
35
  // locations legacyId reference as a key which will match a legacy location id on the entity
36
+
37
37
  var areaLocationMap = reduce(areaLocations, function (memo, location) {
38
38
  var _location$legacyId;
39
- var legacyId = location === null || location === void 0 || (_location$legacyId = location.legacyId) === null || _location$legacyId === void 0 ? void 0 : _location$legacyId.toString();
39
+
40
+ var legacyId = location === null || location === void 0 ? void 0 : (_location$legacyId = location.legacyId) === null || _location$legacyId === void 0 ? void 0 : _location$legacyId.toString();
40
41
  if (!legacyId) return memo;
41
42
  memo[legacyId] = location;
42
43
  return memo;
43
- }, {});
44
-
45
- // NOTE we expect locations/zones in object map format so convert array to
44
+ }, {}); // NOTE we expect locations/zones in object map format so convert array to
46
45
  // format before running through
46
+
47
47
  var locationMap = isArray(locations) ? reduce(locations, function (memo, location) {
48
48
  var _location$_id;
49
- var locationId = location === null || location === void 0 || (_location$_id = location._id) === null || _location$_id === void 0 ? void 0 : _location$_id.toString();
49
+
50
+ var locationId = location === null || location === void 0 ? void 0 : (_location$_id = location._id) === null || _location$_id === void 0 ? void 0 : _location$_id.toString();
50
51
  if (!locationId) return memo;
51
52
  memo[locationId] = location;
52
53
  return memo;
53
54
  }, {}) : locations;
54
55
  var zoneMap = isArray(zones) ? reduce(zones, function (memo, zone) {
55
56
  var _zone$_id;
56
- var zoneId = zone === null || zone === void 0 || (_zone$_id = zone._id) === null || _zone$_id === void 0 ? void 0 : _zone$_id.toString();
57
+
58
+ var zoneId = zone === null || zone === void 0 ? void 0 : (_zone$_id = zone._id) === null || _zone$_id === void 0 ? void 0 : _zone$_id.toString();
57
59
  if (!zoneId) return memo;
58
60
  memo[zoneId] = zone;
59
61
  return memo;
60
- }, {}) : zones;
62
+ }, {}) : zones; // NOTE location/zone can be passed as an object, object id or plain string
61
63
 
62
- // NOTE location/zone can be passed as an object, object id or plain string
63
64
  var locationName = isPlainObject(location) ? location.name : location ? get(areaLocationMap, "".concat(location.toString(), ".name")) || get(locationMap, "".concat(location.toString(), ".name")) : undefined;
64
65
  var zoneName = isPlainObject(zone) ? zone.name : zone ? get(zoneMap, "".concat(zone.toString(), ".name")) : undefined;
66
+
65
67
  if (zoneName) {
66
68
  var parts = compact([zoneName, locationName]);
67
69
  return parts.join(', ');
68
- }
70
+ } // 4. Else, try and use location only
71
+
69
72
 
70
- // 4. Else, try and use location only
71
73
  if (locationName) {
72
74
  return locationName;
73
- }
75
+ } // 5. Else, try geocoded location
76
+
74
77
 
75
- // 5. Else, try geocoded location
76
78
  var geocodedLabel = get(entity, geocodedLabelPath);
79
+
77
80
  if (geocodedLabel) {
78
81
  return geocodedLabel;
79
82
  }
83
+
80
84
  return 'Unknown Location';
81
85
  }
82
86
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["compact","get","isArray","isPlainObject","reduce","getLocationReference","data","arguments","length","undefined","_data$areaLabelPath","areaLabelPath","_data$areaLocations","areaLocations","_data$geocodedLabelPa","geocodedLabelPath","_data$entity","entity","_data$locations","locations","_data$zones","zones","areaPoint","areaLocation","concat","areaLabel","location","zone","areaLocationMap","memo","_location$legacyId","legacyId","toString","locationMap","_location$_id","locationId","_id","zoneMap","_zone$_id","zoneId","locationName","name","zoneName","parts","join","geocodedLabel"],"sources":["../../../src/helpers/get-location-reference/index.js"],"sourcesContent":["import { compact, get, isArray, isPlainObject, reduce } from 'lodash'\n\nexport function getLocationReference(data = {}) {\n const {\n areaLabelPath = 'area.label',\n areaLocations = {},\n geocodedLabelPath = 'gps.reverseGeocoded.label',\n entity = {},\n locations = {},\n zones = {},\n } = data\n\n // 1. If we can construct `{point}, {location}` use that\n const areaPoint = get(entity, 'area.point.name')\n const areaLocation = get(entity, 'area.location.name')\n\n if (areaLocation && areaPoint) {\n return `${areaPoint} - ${areaLocation}`\n }\n\n // 2. Else, try and use area label\n const areaLabel = get(entity, areaLabelPath)\n\n if (areaLabel) {\n return areaLabel\n }\n\n // 3. Else, try and use zone, location\n const location = entity.location\n const zone = entity.zone\n\n // TODO This can be deprecated once we have removed visits as a feature. It's to account for\n // legacy location ids being referenced. This temporary workaround allows us to use the area\n // locations legacyId reference as a key which will match a legacy location id on the entity\n const areaLocationMap = reduce(\n areaLocations,\n (memo, location) => {\n const legacyId = location?.legacyId?.toString()\n if (!legacyId) return memo\n\n memo[legacyId] = location\n return memo\n },\n {}\n )\n\n // NOTE we expect locations/zones in object map format so convert array to\n // format before running through\n const locationMap = isArray(locations)\n ? reduce(\n locations,\n (memo, location) => {\n const locationId = location?._id?.toString()\n if (!locationId) return memo\n\n memo[locationId] = location\n return memo\n },\n {}\n )\n : locations\n\n const zoneMap = isArray(zones)\n ? reduce(\n zones,\n (memo, zone) => {\n const zoneId = zone?._id?.toString()\n if (!zoneId) return memo\n\n memo[zoneId] = zone\n return memo\n },\n {}\n )\n : zones\n\n // NOTE location/zone can be passed as an object, object id or plain string\n const locationName = isPlainObject(location)\n ? location.name\n : location\n ? get(areaLocationMap, `${location.toString()}.name`) ||\n get(locationMap, `${location.toString()}.name`)\n : undefined\n\n const zoneName = isPlainObject(zone)\n ? zone.name\n : zone\n ? get(zoneMap, `${zone.toString()}.name`)\n : undefined\n\n if (zoneName) {\n const parts = compact([zoneName, locationName])\n return parts.join(', ')\n }\n\n // 4. Else, try and use location only\n if (locationName) {\n return locationName\n }\n\n // 5. Else, try geocoded location\n const geocodedLabel = get(entity, geocodedLabelPath)\n\n if (geocodedLabel) {\n return geocodedLabel\n }\n\n return 'Unknown Location'\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-location-reference/index.js"],"names":["compact","get","isArray","isPlainObject","reduce","getLocationReference","data","areaLabelPath","areaLocations","geocodedLabelPath","entity","locations","zones","areaPoint","areaLocation","areaLabel","location","zone","areaLocationMap","memo","legacyId","toString","locationMap","locationId","_id","zoneMap","zoneId","locationName","name","undefined","zoneName","parts","join","geocodedLabel"],"mappings":"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","sourcesContent":["import { compact, get, isArray, isPlainObject, reduce } from 'lodash'\n\nexport function getLocationReference(data = {}) {\n const {\n areaLabelPath = 'area.label',\n areaLocations = {},\n geocodedLabelPath = 'gps.reverseGeocoded.label',\n entity = {},\n locations = {},\n zones = {},\n } = data\n\n // 1. If we can construct `{point}, {location}` use that\n const areaPoint = get(entity, 'area.point.name')\n const areaLocation = get(entity, 'area.location.name')\n\n if (areaLocation && areaPoint) {\n return `${areaPoint} - ${areaLocation}`\n }\n\n // 2. Else, try and use area label\n const areaLabel = get(entity, areaLabelPath)\n\n if (areaLabel) {\n return areaLabel\n }\n\n // 3. Else, try and use zone, location\n const location = entity.location\n const zone = entity.zone\n\n // TODO This can be deprecated once we have removed visits as a feature. It's to account for\n // legacy location ids being referenced. This temporary workaround allows us to use the area\n // locations legacyId reference as a key which will match a legacy location id on the entity\n const areaLocationMap = reduce(\n areaLocations,\n (memo, location) => {\n const legacyId = location?.legacyId?.toString()\n if (!legacyId) return memo\n\n memo[legacyId] = location\n return memo\n },\n {}\n )\n\n // NOTE we expect locations/zones in object map format so convert array to\n // format before running through\n const locationMap = isArray(locations)\n ? reduce(\n locations,\n (memo, location) => {\n const locationId = location?._id?.toString()\n if (!locationId) return memo\n\n memo[locationId] = location\n return memo\n },\n {}\n )\n : locations\n\n const zoneMap = isArray(zones)\n ? reduce(\n zones,\n (memo, zone) => {\n const zoneId = zone?._id?.toString()\n if (!zoneId) return memo\n\n memo[zoneId] = zone\n return memo\n },\n {}\n )\n : zones\n\n // NOTE location/zone can be passed as an object, object id or plain string\n const locationName = isPlainObject(location)\n ? location.name\n : location\n ? get(areaLocationMap, `${location.toString()}.name`) ||\n get(locationMap, `${location.toString()}.name`)\n : undefined\n\n const zoneName = isPlainObject(zone)\n ? zone.name\n : zone\n ? get(zoneMap, `${zone.toString()}.name`)\n : undefined\n\n if (zoneName) {\n const parts = compact([zoneName, locationName])\n return parts.join(', ')\n }\n\n // 4. Else, try and use location only\n if (locationName) {\n return locationName\n }\n\n // 5. Else, try geocoded location\n const geocodedLabel = get(entity, geocodedLabelPath)\n\n if (geocodedLabel) {\n return geocodedLabel\n }\n\n return 'Unknown Location'\n}\n"],"file":"index.js"}
@@ -4,15 +4,19 @@ export function getPrettyDuration(duration) {
4
4
  var hoursInDay = duration.hours();
5
5
  var minutes = duration.minutes();
6
6
  var seconds = duration.seconds();
7
+
7
8
  if (days > 0) {
8
9
  return "".concat(days, "d ").concat(hoursInDay, "h");
9
10
  }
11
+
10
12
  if (hours > 0) {
11
13
  return "".concat(hours, "h ").concat(minutes, "m");
12
14
  }
15
+
13
16
  if (minutes > 0) {
14
17
  return "".concat(minutes, "m");
15
18
  }
19
+
16
20
  return "".concat(seconds, "s");
17
21
  }
18
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getPrettyDuration","duration","days","Math","floor","asDays","hours","asHours","hoursInDay","minutes","seconds","concat"],"sources":["../../../src/helpers/get-pretty-duration/index.js"],"sourcesContent":["export function getPrettyDuration(duration) {\n const days = Math.floor(duration.asDays())\n const hours = Math.floor(duration.asHours())\n\n const hoursInDay = duration.hours()\n const minutes = duration.minutes()\n const seconds = duration.seconds()\n\n if (days > 0) {\n return `${days}d ${hoursInDay}h`\n }\n if (hours > 0) {\n return `${hours}h ${minutes}m`\n }\n if (minutes > 0) {\n return `${minutes}m`\n }\n\n return `${seconds}s`\n}\n"],"mappings":"AAAA,OAAO,SAASA,iBAAiBA,CAACC,QAAQ,EAAE;EAC1C,IAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACH,QAAQ,CAACI,MAAM,CAAC,CAAC,CAAC;EAC1C,IAAMC,KAAK,GAAGH,IAAI,CAACC,KAAK,CAACH,QAAQ,CAACM,OAAO,CAAC,CAAC,CAAC;EAE5C,IAAMC,UAAU,GAAGP,QAAQ,CAACK,KAAK,CAAC,CAAC;EACnC,IAAMG,OAAO,GAAGR,QAAQ,CAACQ,OAAO,CAAC,CAAC;EAClC,IAAMC,OAAO,GAAGT,QAAQ,CAACS,OAAO,CAAC,CAAC;EAElC,IAAIR,IAAI,GAAG,CAAC,EAAE;IACZ,UAAAS,MAAA,CAAUT,IAAI,QAAAS,MAAA,CAAKH,UAAU;EAC/B;EACA,IAAIF,KAAK,GAAG,CAAC,EAAE;IACb,UAAAK,MAAA,CAAUL,KAAK,QAAAK,MAAA,CAAKF,OAAO;EAC7B;EACA,IAAIA,OAAO,GAAG,CAAC,EAAE;IACf,UAAAE,MAAA,CAAUF,OAAO;EACnB;EAEA,UAAAE,MAAA,CAAUD,OAAO;AACnB","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-pretty-duration/index.js"],"names":["getPrettyDuration","duration","days","Math","floor","asDays","hours","asHours","hoursInDay","minutes","seconds"],"mappings":"AAAA,OAAO,SAASA,iBAAT,CAA2BC,QAA3B,EAAqC;AAC1C,MAAMC,IAAI,GAAGC,IAAI,CAACC,KAAL,CAAWH,QAAQ,CAACI,MAAT,EAAX,CAAb;AACA,MAAMC,KAAK,GAAGH,IAAI,CAACC,KAAL,CAAWH,QAAQ,CAACM,OAAT,EAAX,CAAd;AAEA,MAAMC,UAAU,GAAGP,QAAQ,CAACK,KAAT,EAAnB;AACA,MAAMG,OAAO,GAAGR,QAAQ,CAACQ,OAAT,EAAhB;AACA,MAAMC,OAAO,GAAGT,QAAQ,CAACS,OAAT,EAAhB;;AAEA,MAAIR,IAAI,GAAG,CAAX,EAAc;AACZ,qBAAUA,IAAV,eAAmBM,UAAnB;AACD;;AACD,MAAIF,KAAK,GAAG,CAAZ,EAAe;AACb,qBAAUA,KAAV,eAAoBG,OAApB;AACD;;AACD,MAAIA,OAAO,GAAG,CAAd,EAAiB;AACf,qBAAUA,OAAV;AACD;;AAED,mBAAUC,OAAV;AACD","sourcesContent":["export function getPrettyDuration(duration) {\n const days = Math.floor(duration.asDays())\n const hours = Math.floor(duration.asHours())\n\n const hoursInDay = duration.hours()\n const minutes = duration.minutes()\n const seconds = duration.seconds()\n\n if (days > 0) {\n return `${days}d ${hoursInDay}h`\n }\n if (hours > 0) {\n return `${hours}h ${minutes}m`\n }\n if (minutes > 0) {\n return `${minutes}m`\n }\n\n return `${seconds}s`\n}\n"],"file":"index.js"}
@@ -1,15 +1,17 @@
1
1
  import { getUserFullName } from '../';
2
2
  export function getReferenceDetails(data) {
3
3
  var entity = data.entity,
4
- users = data.users;
4
+ users = data.users;
5
5
  var user = entity.user;
6
6
  var label = 'Reference';
7
7
  var value = 'Unknown Reference';
8
+
8
9
  if (user) {
9
10
  var userFullName = getUserFullName(users, user);
10
11
  label = 'User';
11
12
  value = userFullName;
12
13
  }
14
+
13
15
  return {
14
16
  label: label,
15
17
  value: value
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getUserFullName","getReferenceDetails","data","entity","users","user","label","value","userFullName"],"sources":["../../../src/helpers/get-reference-details/index.js"],"sourcesContent":["import { getUserFullName } from '../'\n\nexport function getReferenceDetails(data) {\n const { entity, users } = data\n const { user } = entity\n\n let label = 'Reference'\n let value = 'Unknown Reference'\n\n if (user) {\n const userFullName = getUserFullName(users, user)\n label = 'User'\n value = userFullName\n }\n\n return {\n label,\n value,\n }\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,KAAK;AAErC,OAAO,SAASC,mBAAmBA,CAACC,IAAI,EAAE;EACxC,IAAQC,MAAM,GAAYD,IAAI,CAAtBC,MAAM;IAAEC,KAAK,GAAKF,IAAI,CAAdE,KAAK;EACrB,IAAQC,IAAI,GAAKF,MAAM,CAAfE,IAAI;EAEZ,IAAIC,KAAK,GAAG,WAAW;EACvB,IAAIC,KAAK,GAAG,mBAAmB;EAE/B,IAAIF,IAAI,EAAE;IACR,IAAMG,YAAY,GAAGR,eAAe,CAACI,KAAK,EAAEC,IAAI,CAAC;IACjDC,KAAK,GAAG,MAAM;IACdC,KAAK,GAAGC,YAAY;EACtB;EAEA,OAAO;IACLF,KAAK,EAALA,KAAK;IACLC,KAAK,EAALA;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-reference-details/index.js"],"names":["getUserFullName","getReferenceDetails","data","entity","users","user","label","value","userFullName"],"mappings":"AAAA,SAASA,eAAT,QAAgC,KAAhC;AAEA,OAAO,SAASC,mBAAT,CAA6BC,IAA7B,EAAmC;AAAA,MAChCC,MADgC,GACdD,IADc,CAChCC,MADgC;AAAA,MACxBC,KADwB,GACdF,IADc,CACxBE,KADwB;AAAA,MAEhCC,IAFgC,GAEvBF,MAFuB,CAEhCE,IAFgC;AAIxC,MAAIC,KAAK,GAAG,WAAZ;AACA,MAAIC,KAAK,GAAG,mBAAZ;;AAEA,MAAIF,IAAJ,EAAU;AACR,QAAMG,YAAY,GAAGR,eAAe,CAACI,KAAD,EAAQC,IAAR,CAApC;AACAC,IAAAA,KAAK,GAAG,MAAR;AACAC,IAAAA,KAAK,GAAGC,YAAR;AACD;;AAED,SAAO;AACLF,IAAAA,KAAK,EAALA,KADK;AAELC,IAAAA,KAAK,EAALA;AAFK,GAAP;AAID","sourcesContent":["import { getUserFullName } from '../'\n\nexport function getReferenceDetails(data) {\n const { entity, users } = data\n const { user } = entity\n\n let label = 'Reference'\n let value = 'Unknown Reference'\n\n if (user) {\n const userFullName = getUserFullName(users, user)\n label = 'User'\n value = userFullName\n }\n\n return {\n label,\n value,\n }\n}\n"],"file":"index.js"}
@@ -8,6 +8,7 @@ export var getStatusDetails = memoize(function (status) {
8
8
  },
9
9
  text: 'Cancelled'
10
10
  };
11
+
11
12
  case 'closed':
12
13
  return {
13
14
  style: {
@@ -15,6 +16,7 @@ export var getStatusDetails = memoize(function (status) {
15
16
  },
16
17
  text: 'Closed'
17
18
  };
19
+
18
20
  case 'in-progress':
19
21
  return {
20
22
  style: {
@@ -22,6 +24,7 @@ export var getStatusDetails = memoize(function (status) {
22
24
  },
23
25
  text: 'In Progress'
24
26
  };
27
+
25
28
  case 'open':
26
29
  return {
27
30
  style: {
@@ -29,6 +32,7 @@ export var getStatusDetails = memoize(function (status) {
29
32
  },
30
33
  text: 'Open'
31
34
  };
35
+
32
36
  default:
33
37
  return {
34
38
  style: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["memoize","getStatusDetails","status","style","color","text"],"sources":["../../../src/helpers/get-status-details/index.js"],"sourcesContent":["import { memoize } from 'lodash'\n\nexport const getStatusDetails = memoize(status => {\n switch (status) {\n case 'cancelled':\n return {\n style: {\n color: '#AAA',\n },\n text: 'Cancelled',\n }\n case 'closed':\n return {\n style: {\n color: '#D0021B',\n },\n text: 'Closed',\n }\n case 'in-progress':\n return {\n style: {\n color: '#00AAE4',\n },\n text: 'In Progress',\n }\n case 'open':\n return {\n style: {\n color: '#FF8C2F',\n },\n text: 'Open',\n }\n default:\n return {\n style: {\n color: '#666666',\n },\n text: 'Unknown',\n }\n }\n})\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAEhC,OAAO,IAAMC,gBAAgB,GAAGD,OAAO,CAAC,UAAAE,MAAM,EAAI;EAChD,QAAQA,MAAM;IACZ,KAAK,WAAW;MACd,OAAO;QACLC,KAAK,EAAE;UACLC,KAAK,EAAE;QACT,CAAC;QACDC,IAAI,EAAE;MACR,CAAC;IACH,KAAK,QAAQ;MACX,OAAO;QACLF,KAAK,EAAE;UACLC,KAAK,EAAE;QACT,CAAC;QACDC,IAAI,EAAE;MACR,CAAC;IACH,KAAK,aAAa;MAChB,OAAO;QACLF,KAAK,EAAE;UACLC,KAAK,EAAE;QACT,CAAC;QACDC,IAAI,EAAE;MACR,CAAC;IACH,KAAK,MAAM;MACT,OAAO;QACLF,KAAK,EAAE;UACLC,KAAK,EAAE;QACT,CAAC;QACDC,IAAI,EAAE;MACR,CAAC;IACH;MACE,OAAO;QACLF,KAAK,EAAE;UACLC,KAAK,EAAE;QACT,CAAC;QACDC,IAAI,EAAE;MACR,CAAC;EACL;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-status-details/index.js"],"names":["memoize","getStatusDetails","status","style","color","text"],"mappings":"AAAA,SAASA,OAAT,QAAwB,QAAxB;AAEA,OAAO,IAAMC,gBAAgB,GAAGD,OAAO,CAAC,UAAAE,MAAM,EAAI;AAChD,UAAQA,MAAR;AACE,SAAK,WAAL;AACE,aAAO;AACLC,QAAAA,KAAK,EAAE;AACLC,UAAAA,KAAK,EAAE;AADF,SADF;AAILC,QAAAA,IAAI,EAAE;AAJD,OAAP;;AAMF,SAAK,QAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAE;AACLC,UAAAA,KAAK,EAAE;AADF,SADF;AAILC,QAAAA,IAAI,EAAE;AAJD,OAAP;;AAMF,SAAK,aAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAE;AACLC,UAAAA,KAAK,EAAE;AADF,SADF;AAILC,QAAAA,IAAI,EAAE;AAJD,OAAP;;AAMF,SAAK,MAAL;AACE,aAAO;AACLF,QAAAA,KAAK,EAAE;AACLC,UAAAA,KAAK,EAAE;AADF,SADF;AAILC,QAAAA,IAAI,EAAE;AAJD,OAAP;;AAMF;AACE,aAAO;AACLF,QAAAA,KAAK,EAAE;AACLC,UAAAA,KAAK,EAAE;AADF,SADF;AAILC,QAAAA,IAAI,EAAE;AAJD,OAAP;AA9BJ;AAqCD,CAtCsC,CAAhC","sourcesContent":["import { memoize } from 'lodash'\n\nexport const getStatusDetails = memoize(status => {\n switch (status) {\n case 'cancelled':\n return {\n style: {\n color: '#AAA',\n },\n text: 'Cancelled',\n }\n case 'closed':\n return {\n style: {\n color: '#D0021B',\n },\n text: 'Closed',\n }\n case 'in-progress':\n return {\n style: {\n color: '#00AAE4',\n },\n text: 'In Progress',\n }\n case 'open':\n return {\n style: {\n color: '#FF8C2F',\n },\n text: 'Open',\n }\n default:\n return {\n style: {\n color: '#666666',\n },\n text: 'Unknown',\n }\n }\n})\n"],"file":"index.js"}
@@ -2,12 +2,12 @@ import { get } from 'lodash';
2
2
  import { getLocationReference, getReferenceDetails, getTimezoneDatetime } from '../';
3
3
  export function getTaskEntryDetails(data) {
4
4
  var _data$entity = data.entity,
5
- entity = _data$entity === void 0 ? {} : _data$entity,
6
- timezone = data.timezone;
5
+ entity = _data$entity === void 0 ? {} : _data$entity,
6
+ timezone = data.timezone;
7
7
  var createdAt = entity.createdAt,
8
- gps = entity.gps,
9
- sequenceId = entity.sequenceId,
10
- templateRevision = entity.templateRevision;
8
+ gps = entity.gps,
9
+ sequenceId = entity.sequenceId,
10
+ templateRevision = entity.templateRevision;
11
11
  var gpsText = get(gps, 'reverseGeocoded.label', 'Unknown Location');
12
12
  var locationText = getLocationReference(data);
13
13
  var referenceDetails = getReferenceDetails(data);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["get","getLocationReference","getReferenceDetails","getTimezoneDatetime","getTaskEntryDetails","data","_data$entity","entity","timezone","createdAt","gps","sequenceId","templateRevision","gpsText","locationText","referenceDetails","timezoneHourTime","format","timestamp","timezoneDatetime","referenceLabel","label","referenceValue","value"],"sources":["../../../src/helpers/get-task-entry-details/index.js"],"sourcesContent":["import { get } from 'lodash'\n\nimport {\n getLocationReference,\n getReferenceDetails,\n getTimezoneDatetime,\n} from '../'\n\nexport function getTaskEntryDetails(data) {\n const { entity = {}, timezone } = data\n\n const { createdAt, gps, sequenceId, templateRevision } = entity\n\n const gpsText = get(gps, 'reverseGeocoded.label', 'Unknown Location')\n const locationText = getLocationReference(data)\n const referenceDetails = getReferenceDetails(data)\n const timezoneHourTime = getTimezoneDatetime({\n format: 'h:mm a',\n timestamp: createdAt,\n timezone,\n })\n const timezoneDatetime = getTimezoneDatetime({\n timestamp: createdAt,\n timezone,\n })\n\n return {\n locationText,\n gpsText,\n referenceLabel: referenceDetails.label,\n referenceValue: referenceDetails.value,\n sequenceId,\n templateRevision,\n timezoneHourTime,\n timezoneDatetime,\n }\n}\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,QAAQ;AAE5B,SACEC,oBAAoB,EACpBC,mBAAmB,EACnBC,mBAAmB,QACd,KAAK;AAEZ,OAAO,SAASC,mBAAmBA,CAACC,IAAI,EAAE;EACxC,IAAAC,YAAA,GAAkCD,IAAI,CAA9BE,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;IAAEE,QAAQ,GAAKH,IAAI,CAAjBG,QAAQ;EAE7B,IAAQC,SAAS,GAAwCF,MAAM,CAAvDE,SAAS;IAAEC,GAAG,GAAmCH,MAAM,CAA5CG,GAAG;IAAEC,UAAU,GAAuBJ,MAAM,CAAvCI,UAAU;IAAEC,gBAAgB,GAAKL,MAAM,CAA3BK,gBAAgB;EAEpD,IAAMC,OAAO,GAAGb,GAAG,CAACU,GAAG,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;EACrE,IAAMI,YAAY,GAAGb,oBAAoB,CAACI,IAAI,CAAC;EAC/C,IAAMU,gBAAgB,GAAGb,mBAAmB,CAACG,IAAI,CAAC;EAClD,IAAMW,gBAAgB,GAAGb,mBAAmB,CAAC;IAC3Cc,MAAM,EAAE,QAAQ;IAChBC,SAAS,EAAET,SAAS;IACpBD,QAAQ,EAARA;EACF,CAAC,CAAC;EACF,IAAMW,gBAAgB,GAAGhB,mBAAmB,CAAC;IAC3Ce,SAAS,EAAET,SAAS;IACpBD,QAAQ,EAARA;EACF,CAAC,CAAC;EAEF,OAAO;IACLM,YAAY,EAAZA,YAAY;IACZD,OAAO,EAAPA,OAAO;IACPO,cAAc,EAAEL,gBAAgB,CAACM,KAAK;IACtCC,cAAc,EAAEP,gBAAgB,CAACQ,KAAK;IACtCZ,UAAU,EAAVA,UAAU;IACVC,gBAAgB,EAAhBA,gBAAgB;IAChBI,gBAAgB,EAAhBA,gBAAgB;IAChBG,gBAAgB,EAAhBA;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-task-entry-details/index.js"],"names":["get","getLocationReference","getReferenceDetails","getTimezoneDatetime","getTaskEntryDetails","data","entity","timezone","createdAt","gps","sequenceId","templateRevision","gpsText","locationText","referenceDetails","timezoneHourTime","format","timestamp","timezoneDatetime","referenceLabel","label","referenceValue","value"],"mappings":"AAAA,SAASA,GAAT,QAAoB,QAApB;AAEA,SACEC,oBADF,EAEEC,mBAFF,EAGEC,mBAHF,QAIO,KAJP;AAMA,OAAO,SAASC,mBAAT,CAA6BC,IAA7B,EAAmC;AAAA,qBACNA,IADM,CAChCC,MADgC;AAAA,MAChCA,MADgC,6BACvB,EADuB;AAAA,MACnBC,QADmB,GACNF,IADM,CACnBE,QADmB;AAAA,MAGhCC,SAHgC,GAGiBF,MAHjB,CAGhCE,SAHgC;AAAA,MAGrBC,GAHqB,GAGiBH,MAHjB,CAGrBG,GAHqB;AAAA,MAGhBC,UAHgB,GAGiBJ,MAHjB,CAGhBI,UAHgB;AAAA,MAGJC,gBAHI,GAGiBL,MAHjB,CAGJK,gBAHI;AAKxC,MAAMC,OAAO,GAAGZ,GAAG,CAACS,GAAD,EAAM,uBAAN,EAA+B,kBAA/B,CAAnB;AACA,MAAMI,YAAY,GAAGZ,oBAAoB,CAACI,IAAD,CAAzC;AACA,MAAMS,gBAAgB,GAAGZ,mBAAmB,CAACG,IAAD,CAA5C;AACA,MAAMU,gBAAgB,GAAGZ,mBAAmB,CAAC;AAC3Ca,IAAAA,MAAM,EAAE,QADmC;AAE3CC,IAAAA,SAAS,EAAET,SAFgC;AAG3CD,IAAAA,QAAQ,EAARA;AAH2C,GAAD,CAA5C;AAKA,MAAMW,gBAAgB,GAAGf,mBAAmB,CAAC;AAC3Cc,IAAAA,SAAS,EAAET,SADgC;AAE3CD,IAAAA,QAAQ,EAARA;AAF2C,GAAD,CAA5C;AAKA,SAAO;AACLM,IAAAA,YAAY,EAAZA,YADK;AAELD,IAAAA,OAAO,EAAPA,OAFK;AAGLO,IAAAA,cAAc,EAAEL,gBAAgB,CAACM,KAH5B;AAILC,IAAAA,cAAc,EAAEP,gBAAgB,CAACQ,KAJ5B;AAKLZ,IAAAA,UAAU,EAAVA,UALK;AAMLC,IAAAA,gBAAgB,EAAhBA,gBANK;AAOLI,IAAAA,gBAAgB,EAAhBA,gBAPK;AAQLG,IAAAA,gBAAgB,EAAhBA;AARK,GAAP;AAUD","sourcesContent":["import { get } from 'lodash'\n\nimport {\n getLocationReference,\n getReferenceDetails,\n getTimezoneDatetime,\n} from '../'\n\nexport function getTaskEntryDetails(data) {\n const { entity = {}, timezone } = data\n\n const { createdAt, gps, sequenceId, templateRevision } = entity\n\n const gpsText = get(gps, 'reverseGeocoded.label', 'Unknown Location')\n const locationText = getLocationReference(data)\n const referenceDetails = getReferenceDetails(data)\n const timezoneHourTime = getTimezoneDatetime({\n format: 'h:mm a',\n timestamp: createdAt,\n timezone,\n })\n const timezoneDatetime = getTimezoneDatetime({\n timestamp: createdAt,\n timezone,\n })\n\n return {\n locationText,\n gpsText,\n referenceLabel: referenceDetails.label,\n referenceValue: referenceDetails.value,\n sequenceId,\n templateRevision,\n timezoneHourTime,\n timezoneDatetime,\n }\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["moment","getTimezoneAbbr","timezone","mTimezoneTime","tz","timezoneText","format"],"sources":["../../../src/helpers/get-timezone-abbr/index.js"],"sourcesContent":["import moment from 'moment-timezone'\n\nexport function getTimezoneAbbr(timezone) {\n const mTimezoneTime = moment.tz(timezone)\n const timezoneText = mTimezoneTime.format('z')\n\n return timezoneText\n}\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,iBAAiB;AAEpC,OAAO,SAASC,eAAeA,CAACC,QAAQ,EAAE;EACxC,IAAMC,aAAa,GAAGH,MAAM,CAACI,EAAE,CAACF,QAAQ,CAAC;EACzC,IAAMG,YAAY,GAAGF,aAAa,CAACG,MAAM,CAAC,GAAG,CAAC;EAE9C,OAAOD,YAAY;AACrB","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-timezone-abbr/index.js"],"names":["moment","getTimezoneAbbr","timezone","mTimezoneTime","tz","timezoneText","format"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,iBAAnB;AAEA,OAAO,SAASC,eAAT,CAAyBC,QAAzB,EAAmC;AACxC,MAAMC,aAAa,GAAGH,MAAM,CAACI,EAAP,CAAUF,QAAV,CAAtB;AACA,MAAMG,YAAY,GAAGF,aAAa,CAACG,MAAd,CAAqB,GAArB,CAArB;AAEA,SAAOD,YAAP;AACD","sourcesContent":["import moment from 'moment-timezone'\n\nexport function getTimezoneAbbr(timezone) {\n const mTimezoneTime = moment.tz(timezone)\n const timezoneText = mTimezoneTime.format('z')\n\n return timezoneText\n}\n"],"file":"index.js"}
@@ -1,12 +1,12 @@
1
1
  import moment from 'moment-timezone';
2
2
  export function getTimezoneDatetime(options) {
3
3
  var _options$format = options.format,
4
- format = _options$format === void 0 ? 'ddd, MMM D h:mm:ssa' : _options$format,
5
- _options$showTzAbbr = options.showTzAbbr,
6
- showTzAbbr = _options$showTzAbbr === void 0 ? true : _options$showTzAbbr,
7
- _options$timestamp = options.timestamp,
8
- timestamp = _options$timestamp === void 0 ? moment() : _options$timestamp,
9
- timezone = options.timezone;
4
+ format = _options$format === void 0 ? 'ddd, MMM D h:mm:ssa' : _options$format,
5
+ _options$showTzAbbr = options.showTzAbbr,
6
+ showTzAbbr = _options$showTzAbbr === void 0 ? true : _options$showTzAbbr,
7
+ _options$timestamp = options.timestamp,
8
+ timestamp = _options$timestamp === void 0 ? moment() : _options$timestamp,
9
+ timezone = options.timezone;
10
10
  var mTimezoneTime = moment.tz(timestamp, timezone);
11
11
  var datetimeText = mTimezoneTime.format(format);
12
12
  var timezoneText = mTimezoneTime.format('z');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["moment","getTimezoneDatetime","options","_options$format","format","_options$showTzAbbr","showTzAbbr","_options$timestamp","timestamp","timezone","mTimezoneTime","tz","datetimeText","timezoneText","concat"],"sources":["../../../src/helpers/get-timezone-datetime/index.js"],"sourcesContent":["import moment from 'moment-timezone'\n\nexport function getTimezoneDatetime(options) {\n const {\n format = 'ddd, MMM D h:mm:ssa', // Mon, Jan 21 12:59am\n showTzAbbr = true,\n timestamp = moment(),\n timezone,\n } = options\n\n const mTimezoneTime = moment.tz(timestamp, timezone)\n const datetimeText = mTimezoneTime.format(format)\n const timezoneText = mTimezoneTime.format('z')\n\n return showTzAbbr ? `${datetimeText} ${timezoneText}` : datetimeText\n}\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,iBAAiB;AAEpC,OAAO,SAASC,mBAAmBA,CAACC,OAAO,EAAE;EAC3C,IAAAC,eAAA,GAKID,OAAO,CAJTE,MAAM;IAANA,MAAM,GAAAD,eAAA,cAAG,qBAAqB,GAAAA,eAAA;IAAAE,mBAAA,GAI5BH,OAAO,CAHTI,UAAU;IAAVA,UAAU,GAAAD,mBAAA,cAAG,IAAI,GAAAA,mBAAA;IAAAE,kBAAA,GAGfL,OAAO,CAFTM,SAAS;IAATA,SAAS,GAAAD,kBAAA,cAAGP,MAAM,CAAC,CAAC,GAAAO,kBAAA;IACpBE,QAAQ,GACNP,OAAO,CADTO,QAAQ;EAGV,IAAMC,aAAa,GAAGV,MAAM,CAACW,EAAE,CAACH,SAAS,EAAEC,QAAQ,CAAC;EACpD,IAAMG,YAAY,GAAGF,aAAa,CAACN,MAAM,CAACA,MAAM,CAAC;EACjD,IAAMS,YAAY,GAAGH,aAAa,CAACN,MAAM,CAAC,GAAG,CAAC;EAE9C,OAAOE,UAAU,MAAAQ,MAAA,CAAMF,YAAY,OAAAE,MAAA,CAAID,YAAY,IAAKD,YAAY;AACtE","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-timezone-datetime/index.js"],"names":["moment","getTimezoneDatetime","options","format","showTzAbbr","timestamp","timezone","mTimezoneTime","tz","datetimeText","timezoneText"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,iBAAnB;AAEA,OAAO,SAASC,mBAAT,CAA6BC,OAA7B,EAAsC;AAAA,wBAMvCA,OANuC,CAEzCC,MAFyC;AAAA,MAEzCA,MAFyC,gCAEhC,qBAFgC;AAAA,4BAMvCD,OANuC,CAGzCE,UAHyC;AAAA,MAGzCA,UAHyC,oCAG5B,IAH4B;AAAA,2BAMvCF,OANuC,CAIzCG,SAJyC;AAAA,MAIzCA,SAJyC,mCAI7BL,MAAM,EAJuB;AAAA,MAKzCM,QALyC,GAMvCJ,OANuC,CAKzCI,QALyC;AAQ3C,MAAMC,aAAa,GAAGP,MAAM,CAACQ,EAAP,CAAUH,SAAV,EAAqBC,QAArB,CAAtB;AACA,MAAMG,YAAY,GAAGF,aAAa,CAACJ,MAAd,CAAqBA,MAArB,CAArB;AACA,MAAMO,YAAY,GAAGH,aAAa,CAACJ,MAAd,CAAqB,GAArB,CAArB;AAEA,SAAOC,UAAU,aAAMK,YAAN,cAAsBC,YAAtB,IAAuCD,YAAxD;AACD","sourcesContent":["import moment from 'moment-timezone'\n\nexport function getTimezoneDatetime(options) {\n const {\n format = 'ddd, MMM D h:mm:ssa', // Mon, Jan 21 12:59am\n showTzAbbr = true,\n timestamp = moment(),\n timezone,\n } = options\n\n const mTimezoneTime = moment.tz(timestamp, timezone)\n const datetimeText = mTimezoneTime.format(format)\n const timezoneText = mTimezoneTime.format('z')\n\n return showTzAbbr ? `${datetimeText} ${timezoneText}` : datetimeText\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getUserFullName","users","userId","user","concat","firstName","lastName"],"sources":["../../../src/helpers/get-user-full-name/index.js"],"sourcesContent":["export function getUserFullName(users, userId) {\n const user = users[userId]\n\n if (user) return `${user.firstName} ${user.lastName}`\n\n return 'Unknown User'\n}\n"],"mappings":"AAAA,OAAO,SAASA,eAAeA,CAACC,KAAK,EAAEC,MAAM,EAAE;EAC7C,IAAMC,IAAI,GAAGF,KAAK,CAACC,MAAM,CAAC;EAE1B,IAAIC,IAAI,EAAE,UAAAC,MAAA,CAAUD,IAAI,CAACE,SAAS,OAAAD,MAAA,CAAID,IAAI,CAACG,QAAQ;EAEnD,OAAO,cAAc;AACvB","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-user-full-name/index.js"],"names":["getUserFullName","users","userId","user","firstName","lastName"],"mappings":"AAAA,OAAO,SAASA,eAAT,CAAyBC,KAAzB,EAAgCC,MAAhC,EAAwC;AAC7C,MAAMC,IAAI,GAAGF,KAAK,CAACC,MAAD,CAAlB;AAEA,MAAIC,IAAJ,EAAU,iBAAUA,IAAI,CAACC,SAAf,cAA4BD,IAAI,CAACE,QAAjC;AAEV,SAAO,cAAP;AACD","sourcesContent":["export function getUserFullName(users, userId) {\n const user = users[userId]\n\n if (user) return `${user.firstName} ${user.lastName}`\n\n return 'Unknown User'\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getValueAsPercentage","value","arguments","length","undefined","percentage","Math","floor","concat"],"sources":["../../../src/helpers/get-value-as-percentage/index.js"],"sourcesContent":["export function getValueAsPercentage(value = 0) {\n const percentage = Math.floor(value * 100)\n return `${percentage}%`\n}\n"],"mappings":"AAAA,OAAO,SAASA,oBAAoBA,CAAA,EAAY;EAAA,IAAXC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAC5C,IAAMG,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACN,KAAK,GAAG,GAAG,CAAC;EAC1C,UAAAO,MAAA,CAAUH,UAAU;AACtB","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/get-value-as-percentage/index.js"],"names":["getValueAsPercentage","value","percentage","Math","floor"],"mappings":"AAAA,OAAO,SAASA,oBAAT,GAAyC;AAAA,MAAXC,KAAW,uEAAH,CAAG;AAC9C,MAAMC,UAAU,GAAGC,IAAI,CAACC,KAAL,CAAWH,KAAK,GAAG,GAAnB,CAAnB;AACA,mBAAUC,UAAV;AACD","sourcesContent":["export function getValueAsPercentage(value = 0) {\n const percentage = Math.floor(value * 100)\n return `${percentage}%`\n}\n"],"file":"index.js"}
@@ -4,32 +4,31 @@ export function validateBase64Image(base64String) {
4
4
  var isPng = base64String.startsWith('data:image/png;base64,');
5
5
  if (isPng) return validatePngImage(base64String);
6
6
  return false;
7
- }
8
-
9
- // See SO for more info: https://stackoverflow.com/a/41635312
7
+ } // See SO for more info: https://stackoverflow.com/a/41635312
10
8
  // Fiddle: https://jsfiddle.net/Lnyxuchw/
9
+
11
10
  function validateJpegImage(base64string) {
12
11
  var src = base64string;
13
12
  var base64Data = src.replace('data:image/jpeg;base64,', '');
14
13
  var imageData = new Uint8Array(Buffer.from(base64Data, 'base64'));
15
14
  var imageCorrupted = imageData[imageData.length - 1] === 217 && imageData[imageData.length - 2] === 255;
16
15
  return imageCorrupted;
17
- }
18
-
19
- // See SO for more info: https://stackoverflow.com/a/41635312
16
+ } // See SO for more info: https://stackoverflow.com/a/41635312
20
17
  // Fiddle: https://jsfiddle.net/Lnyxuchw/
18
+
19
+
21
20
  function validatePngImage(base64string) {
22
21
  var src = base64string;
23
22
  var base64Data = src.replace('data:image/png;base64,', '');
24
23
  var imageData = new Uint8Array(Buffer.from(base64Data, 'base64'));
25
- var sequence = [0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130];
24
+ var sequence = [0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130]; //check last 12 elements of array so they contains needed values
26
25
 
27
- //check last 12 elements of array so they contains needed values
28
26
  for (var i = 12; i > 0; i--) {
29
27
  if (imageData[imageData.length - i] !== sequence[12 - i]) {
30
28
  return false;
31
29
  }
32
30
  }
31
+
33
32
  return true;
34
33
  }
35
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["validateBase64Image","base64String","isJpeg","startsWith","validateJpegImage","isPng","validatePngImage","base64string","src","base64Data","replace","imageData","Uint8Array","Buffer","from","imageCorrupted","length","sequence","i"],"sources":["../../../src/helpers/image-validators/index.js"],"sourcesContent":["export function validateBase64Image(base64String) {\n const isJpeg = base64String.startsWith('data:image/jpeg;base64,')\n\n if (isJpeg) return validateJpegImage(base64String)\n\n const isPng = base64String.startsWith('data:image/png;base64,')\n\n if (isPng) return validatePngImage(base64String)\n\n return false\n}\n\n// See SO for more info: https://stackoverflow.com/a/41635312\n// Fiddle: https://jsfiddle.net/Lnyxuchw/\nfunction validateJpegImage(base64string) {\n const src = base64string\n const base64Data = src.replace('data:image/jpeg;base64,', '')\n const imageData = new Uint8Array(Buffer.from(base64Data, 'base64'))\n const imageCorrupted =\n imageData[imageData.length - 1] === 217 &&\n imageData[imageData.length - 2] === 255\n\n return imageCorrupted\n}\n\n// See SO for more info: https://stackoverflow.com/a/41635312\n// Fiddle: https://jsfiddle.net/Lnyxuchw/\nfunction validatePngImage(base64string) {\n const src = base64string\n const base64Data = src.replace('data:image/png;base64,', '')\n const imageData = new Uint8Array(Buffer.from(base64Data, 'base64'))\n const sequence = [0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130]\n\n //check last 12 elements of array so they contains needed values\n for (let i = 12; i > 0; i--) {\n if (imageData[imageData.length - i] !== sequence[12 - i]) {\n return false\n }\n }\n\n return true\n}\n"],"mappings":"AAAA,OAAO,SAASA,mBAAmBA,CAACC,YAAY,EAAE;EAChD,IAAMC,MAAM,GAAGD,YAAY,CAACE,UAAU,CAAC,yBAAyB,CAAC;EAEjE,IAAID,MAAM,EAAE,OAAOE,iBAAiB,CAACH,YAAY,CAAC;EAElD,IAAMI,KAAK,GAAGJ,YAAY,CAACE,UAAU,CAAC,wBAAwB,CAAC;EAE/D,IAAIE,KAAK,EAAE,OAAOC,gBAAgB,CAACL,YAAY,CAAC;EAEhD,OAAO,KAAK;AACd;;AAEA;AACA;AACA,SAASG,iBAAiBA,CAACG,YAAY,EAAE;EACvC,IAAMC,GAAG,GAAGD,YAAY;EACxB,IAAME,UAAU,GAAGD,GAAG,CAACE,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;EAC7D,IAAMC,SAAS,GAAG,IAAIC,UAAU,CAACC,MAAM,CAACC,IAAI,CAACL,UAAU,EAAE,QAAQ,CAAC,CAAC;EACnE,IAAMM,cAAc,GAClBJ,SAAS,CAACA,SAAS,CAACK,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,IACvCL,SAAS,CAACA,SAAS,CAACK,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;EAEzC,OAAOD,cAAc;AACvB;;AAEA;AACA;AACA,SAAST,gBAAgBA,CAACC,YAAY,EAAE;EACtC,IAAMC,GAAG,GAAGD,YAAY;EACxB,IAAME,UAAU,GAAGD,GAAG,CAACE,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;EAC5D,IAAMC,SAAS,GAAG,IAAIC,UAAU,CAACC,MAAM,CAACC,IAAI,CAACL,UAAU,EAAE,QAAQ,CAAC,CAAC;EACnE,IAAMQ,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;;EAE/D;EACA,KAAK,IAAIC,CAAC,GAAG,EAAE,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC3B,IAAIP,SAAS,CAACA,SAAS,CAACK,MAAM,GAAGE,CAAC,CAAC,KAAKD,QAAQ,CAAC,EAAE,GAAGC,CAAC,CAAC,EAAE;MACxD,OAAO,KAAK;IACd;EACF;EAEA,OAAO,IAAI;AACb","ignoreList":[]}
1
+ {"version":3,"sources":["../../../src/helpers/image-validators/index.js"],"names":["validateBase64Image","base64String","isJpeg","startsWith","validateJpegImage","isPng","validatePngImage","base64string","src","base64Data","replace","imageData","Uint8Array","Buffer","from","imageCorrupted","length","sequence","i"],"mappings":"AAAA,OAAO,SAASA,mBAAT,CAA6BC,YAA7B,EAA2C;AAChD,MAAMC,MAAM,GAAGD,YAAY,CAACE,UAAb,CAAwB,yBAAxB,CAAf;AAEA,MAAID,MAAJ,EAAY,OAAOE,iBAAiB,CAACH,YAAD,CAAxB;AAEZ,MAAMI,KAAK,GAAGJ,YAAY,CAACE,UAAb,CAAwB,wBAAxB,CAAd;AAEA,MAAIE,KAAJ,EAAW,OAAOC,gBAAgB,CAACL,YAAD,CAAvB;AAEX,SAAO,KAAP;AACD,C,CAED;AACA;;AACA,SAASG,iBAAT,CAA2BG,YAA3B,EAAyC;AACvC,MAAMC,GAAG,GAAGD,YAAZ;AACA,MAAME,UAAU,GAAGD,GAAG,CAACE,OAAJ,CAAY,yBAAZ,EAAuC,EAAvC,CAAnB;AACA,MAAMC,SAAS,GAAG,IAAIC,UAAJ,CAAeC,MAAM,CAACC,IAAP,CAAYL,UAAZ,EAAwB,QAAxB,CAAf,CAAlB;AACA,MAAMM,cAAc,GAClBJ,SAAS,CAACA,SAAS,CAACK,MAAV,GAAmB,CAApB,CAAT,KAAoC,GAApC,IACAL,SAAS,CAACA,SAAS,CAACK,MAAV,GAAmB,CAApB,CAAT,KAAoC,GAFtC;AAIA,SAAOD,cAAP;AACD,C,CAED;AACA;;;AACA,SAAST,gBAAT,CAA0BC,YAA1B,EAAwC;AACtC,MAAMC,GAAG,GAAGD,YAAZ;AACA,MAAME,UAAU,GAAGD,GAAG,CAACE,OAAJ,CAAY,wBAAZ,EAAsC,EAAtC,CAAnB;AACA,MAAMC,SAAS,GAAG,IAAIC,UAAJ,CAAeC,MAAM,CAACC,IAAP,CAAYL,UAAZ,EAAwB,QAAxB,CAAf,CAAlB;AACA,MAAMQ,QAAQ,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,GAA7B,EAAkC,EAAlC,EAAsC,EAAtC,EAA0C,GAA1C,CAAjB,CAJsC,CAMtC;;AACA,OAAK,IAAIC,CAAC,GAAG,EAAb,EAAiBA,CAAC,GAAG,CAArB,EAAwBA,CAAC,EAAzB,EAA6B;AAC3B,QAAIP,SAAS,CAACA,SAAS,CAACK,MAAV,GAAmBE,CAApB,CAAT,KAAoCD,QAAQ,CAAC,KAAKC,CAAN,CAAhD,EAA0D;AACxD,aAAO,KAAP;AACD;AACF;;AAED,SAAO,IAAP;AACD","sourcesContent":["export function validateBase64Image(base64String) {\n const isJpeg = base64String.startsWith('data:image/jpeg;base64,')\n\n if (isJpeg) return validateJpegImage(base64String)\n\n const isPng = base64String.startsWith('data:image/png;base64,')\n\n if (isPng) return validatePngImage(base64String)\n\n return false\n}\n\n// See SO for more info: https://stackoverflow.com/a/41635312\n// Fiddle: https://jsfiddle.net/Lnyxuchw/\nfunction validateJpegImage(base64string) {\n const src = base64string\n const base64Data = src.replace('data:image/jpeg;base64,', '')\n const imageData = new Uint8Array(Buffer.from(base64Data, 'base64'))\n const imageCorrupted =\n imageData[imageData.length - 1] === 217 &&\n imageData[imageData.length - 2] === 255\n\n return imageCorrupted\n}\n\n// See SO for more info: https://stackoverflow.com/a/41635312\n// Fiddle: https://jsfiddle.net/Lnyxuchw/\nfunction validatePngImage(base64string) {\n const src = base64string\n const base64Data = src.replace('data:image/png;base64,', '')\n const imageData = new Uint8Array(Buffer.from(base64Data, 'base64'))\n const sequence = [0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130]\n\n //check last 12 elements of array so they contains needed values\n for (let i = 12; i > 0; i--) {\n if (imageData[imageData.length - i] !== sequence[12 - i]) {\n return false\n }\n }\n\n return true\n}\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getAuditEntryDetails","getAuditItemsData","buildFetchUrl","fetchImage","validateBase64Image","getAssigneesFullNames","getGeometryGeocodedString","getIssueDetails","getJobDetails","getLocationReference","getPrettyDuration","getReferenceDetails","getStatusDetails","getTaskEntryDetails","getTimezoneAbbr","getTimezoneDatetime","getUserFullName","getValueAsPercentage"],"sources":["../../src/helpers/index.js"],"sourcesContent":["// NOTE these are global helpers which may used on multiple projects\nexport { getAuditEntryDetails } from './get-audit-entry-details'\nexport { getAuditItemsData } from './get-audit-items-data'\nexport { buildFetchUrl } from './build-fetch-url'\nexport { fetchImage, validateBase64Image } from './fetch-image'\nexport { getAssigneesFullNames } from './get-assignees-full-names'\nexport { getGeometryGeocodedString } from './get-geometry-geocoded-string'\nexport { getIssueDetails } from './get-issue-details'\nexport { getJobDetails } from './get-job-details'\nexport { getLocationReference } from './get-location-reference'\nexport { getPrettyDuration } from './get-pretty-duration'\nexport { getReferenceDetails } from './get-reference-details'\nexport { getStatusDetails } from './get-status-details'\nexport { getTaskEntryDetails } from './get-task-entry-details'\nexport { getTimezoneAbbr } from './get-timezone-abbr'\nexport { getTimezoneDatetime } from './get-timezone-datetime'\nexport { getUserFullName } from './get-user-full-name'\nexport { getValueAsPercentage } from './get-value-as-percentage'\n"],"mappings":"AAAA;AACA,SAASA,oBAAoB,QAAQ,2BAA2B;AAChE,SAASC,iBAAiB,QAAQ,wBAAwB;AAC1D,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,UAAU,EAAEC,mBAAmB,QAAQ,eAAe;AAC/D,SAASC,qBAAqB,QAAQ,4BAA4B;AAClE,SAASC,yBAAyB,QAAQ,gCAAgC;AAC1E,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,oBAAoB,QAAQ,0BAA0B;AAC/D,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,eAAe,QAAQ,sBAAsB;AACtD,SAASC,oBAAoB,QAAQ,2BAA2B","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/helpers/index.js"],"names":["getAuditEntryDetails","getAuditItemsData","buildFetchUrl","fetchImage","validateBase64Image","getAssigneesFullNames","getGeometryGeocodedString","getIssueDetails","getJobDetails","getLocationReference","getPrettyDuration","getReferenceDetails","getStatusDetails","getTaskEntryDetails","getTimezoneAbbr","getTimezoneDatetime","getUserFullName","getValueAsPercentage"],"mappings":"AAAA;AACA,SAASA,oBAAT,QAAqC,2BAArC;AACA,SAASC,iBAAT,QAAkC,wBAAlC;AACA,SAASC,aAAT,QAA8B,mBAA9B;AACA,SAASC,UAAT,EAAqBC,mBAArB,QAAgD,eAAhD;AACA,SAASC,qBAAT,QAAsC,4BAAtC;AACA,SAASC,yBAAT,QAA0C,gCAA1C;AACA,SAASC,eAAT,QAAgC,qBAAhC;AACA,SAASC,aAAT,QAA8B,mBAA9B;AACA,SAASC,oBAAT,QAAqC,0BAArC;AACA,SAASC,iBAAT,QAAkC,uBAAlC;AACA,SAASC,mBAAT,QAAoC,yBAApC;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AACA,SAASC,mBAAT,QAAoC,0BAApC;AACA,SAASC,eAAT,QAAgC,qBAAhC;AACA,SAASC,mBAAT,QAAoC,yBAApC;AACA,SAASC,eAAT,QAAgC,sBAAhC;AACA,SAASC,oBAAT,QAAqC,2BAArC","sourcesContent":["// NOTE these are global helpers which may used on multiple projects\nexport { getAuditEntryDetails } from './get-audit-entry-details'\nexport { getAuditItemsData } from './get-audit-items-data'\nexport { buildFetchUrl } from './build-fetch-url'\nexport { fetchImage, validateBase64Image } from './fetch-image'\nexport { getAssigneesFullNames } from './get-assignees-full-names'\nexport { getGeometryGeocodedString } from './get-geometry-geocoded-string'\nexport { getIssueDetails } from './get-issue-details'\nexport { getJobDetails } from './get-job-details'\nexport { getLocationReference } from './get-location-reference'\nexport { getPrettyDuration } from './get-pretty-duration'\nexport { getReferenceDetails } from './get-reference-details'\nexport { getStatusDetails } from './get-status-details'\nexport { getTaskEntryDetails } from './get-task-entry-details'\nexport { getTimezoneAbbr } from './get-timezone-abbr'\nexport { getTimezoneDatetime } from './get-timezone-datetime'\nexport { getUserFullName } from './get-user-full-name'\nexport { getValueAsPercentage } from './get-value-as-percentage'\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["launchIcon","internalLinkIcon","imageNotFound","videoIcon"],"sources":["../../src/images/index.js"],"sourcesContent":["export const launchIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABGdBTUEAALGPC/xhBQAAAsdJREFUWAntmE1oE0EUx9/bbiQxmIAIFhXsQUQQ2oLeDJjqwYsHPYi1aBWEnq0IXnNUL8WDFy8GrTQqePEsVZKDF5FaDyIIVkSPpYV8mG1mnNdl003Z7MfMbLYHB8JMZub93483O7NvByHGkjt3c69Vry9yzkfl3aCFyOcMeYFgS9ZqjqlBkg+e4hxnzWB38jPuTBx9f//t19sIMBZFhTMocuCHt2x4SmjsrJIuTF4DDmURyZ7V7vmTNHK6MDW9BYkMAVccpiGnkXRtR5KX7UgiA4QbhgEG5zBObDsior3LbUO2apVn7uBtbqZc8eoRxqyUeyBKO5fPr/x+87gRxcaZGwaS5pqZwuTrtmVddAxl6tXVtbVMYXq0WXv6M4p9WEjSFM8AvxBF3GuueI7ywDsHvMb69UWBJA1a+s0jChE/AuLLfsJ+/QbgUr36/IPfHPdYVEiy7R74iPClUV144BaMoy0DSRwD3fWykAMFVYEcGKgq5EBAdUDGDqoLMlZQHZAcYIkgxdH5OZZdvz0LogRj+7ubAILK3bPHHprm0JlUNjvRPUeDjMKO25FkT9xZkAwk+SuVSkxUi9TWGlEdy01QXkUbqK7l9oKkPi2gNqSe5Y4NVBUyW5wa31O8sq8foNOvFFFVyN2Fy+c7VufTxgZbPjEz45u4S4OqQtqRwpNUi3x2+Pu39YNO9LxqKVA9kF44/fsigyYBSfiRQJOCjASaJGRo0KQhQ4HqfHeTQ9ni+4weujSbEWfHIx0JhiygY+cL+uvVXFPkgssiI1wHA6/LZkGOM5XaF5SEm7XKqeFUen+rujCv4kjVNhCUHPx4V26pOlK1DwWq6kSH/X9QHVF0a3S/mRiD0+IK8oV7MO62+CA6HtYHgbbFb5c4K0dEujUS1lD3vHbH/OunaYpr8nsM+C0B6pu4+okojaG4CgeoNKrzf/x0/gGoGnZzJLiv/wAAAABJRU5ErkJggg=='\n\nexport const internalLinkIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAABO0lEQVR4nO3XPUoDURSG4RdtLcZZgGkFa38qUxmyBTeQTqwFG1vBTdhYRyvRFShWugmnExQRBWXAyOGSycxN7s2cG88Lp0ggkIevGAYsy7IWqQ5wAdzMeJfACbDWFuQc+A54b8B+G5DjwJDyvoDteUOWgD4wmPGOgEJgrkm4noB8Aisk2jLwITAbJFwhIJskXGEQZdki2rJFtGWLaMsW0ZYtoi1bJFarwC3wCGxFXiQHhsAT0CVwA/GHXoCdSJAceBC/uSJw68D7FBgfSO4gyjsg0ju4xLwCu4EgGXDnIM6ImC+mCSSbN2IaTB0kawvhi5kEKRH3bSJ8MFUQNYimmHEQdYgmGBeiFlGHkZA97YhR/TEPTfn52UGcojh3mapTuYQvJglEHSYpRBUmScSo7u+7xeHfN5ZlWf+yHw9ZHGBm/MZGAAAAAElFTkSuQmCC'\n\nexport const imageNotFound =\n 'data:image/png;base64,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'\n\nexport const videoIcon =\n 'data:image/png;base64,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EAQQQACBNgUIuDY1WRYCCCCAQDACBFwwpaAhCCCAAAJtChBwbWqyLAQQQACBYAQIuGBKQUMQQAABBNoUIODa1GRZCCCAAALBCBBwwZSChiCAAAIItClAwLWpybIQQAABBIIRIOCCKQUNQQABBBBoU4CAa1OTZSGAAAIIBCNAwAVTChqCAAIIINCmAAHXpibLQgABBBAIRoCAC6YUNAQBBBBAoE0BAq5NTZaFAAIIIBCMAAEXTCloCAIIIIBAmwLzbS6MZSHQpcDJyYnb2tpyc3Nz7sqVK12+VFTLPj09zVyOj4/d5cuX3aVLl6JqP41FoCsBAq4r2QGXe3h46L74xS86BcLS0pL79Kc/PbI19+7dc1/60peyxx955BH36KOPuh/96EfZ7Q9+8IPuhS98Yfb3V77yFXf37t1zy5mdnc02qGtra07PfdWrXpWFz7mZ7t/429/+drbM4mP522984xvdG97whvxdTn352c9+5v71r39lG3FtzDUp5NbX17PXfNOb3uRmZmbOPa/ujS9/+ctub2/PPfzww+7xxx8/97QvfOEL7uDg4Nx9o27IsW6wyOuTn/zkuUX99a9/dT/+8Y+z+z70oQ+5F7zgBeceL95QmP3iF79wf//73zMX1dpPDz30kHv961/vXvva1zrVSJOv37Vr19xHP/pRP+u5388884z71re+ld33rne9K1sXdMM/18/8tre9zb3mNa/xN8/91jqi+fPTxz72Mac2TbMe5F97eXnZfepTnzrrU/41/vKXv7if/OQn2V0f+chH3He/+93atSurR37Z/B2vAAEXb+1GtnxhYcFdvXrVaaO5vb3t/ve//43cYGrDoHk0acOlDae/rb/9pA2Xv9/fp98aUWn63e9+l21gFFJvfvObzwVOfpnZzCP+KYaJ2v/9738/C6DiU7TMjY2N7OePf/yjUxhfv369ONvY2//4xz+cNuqa1LfNzc3MzT9JfVZw1ZkUsGU+Zc/1oZN/7Je//OXZ83/961+PrJee889//tN973vfczs7O/lFnP19+/bt7PE///nP7uMf/7hbXFzMPpyoffrAM2rK1+no6OhstmLtVetRAfenP/3prB9+Af5DSX75/rGy3/n1IP/aar9C/e1vf/uFp+k53l+vM0ntyupx4QW4I0oBAi7KslU3Wp/eFRCatNEZNSLQY5q0EXzlK1+ZfcrO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'\n"],"mappings":"AAAA,OAAO,IAAMA,UAAU,GACrB,gjCAAgjC;AAEljC,OAAO,IAAMC,gBAAgB,GAC3B,oiBAAoiB;AAEtiB,OAAO,IAAMC,aAAa,GACxB,4qJAA4qJ;AAE9qJ,OAAO,IAAMC,SAAS,GACpB,g5dAAg5d","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/images/index.js"],"names":["launchIcon","internalLinkIcon","imageNotFound","videoIcon"],"mappings":"AAAA,OAAO,IAAMA,UAAU,GACrB,gjCADK;AAGP,OAAO,IAAMC,gBAAgB,GAC3B,oiBADK;AAGP,OAAO,IAAMC,aAAa,GACxB,4qJADK;AAGP,OAAO,IAAMC,SAAS,GACpB,g5dADK","sourcesContent":["export const launchIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAABGdBTUEAALGPC/xhBQAAAsdJREFUWAntmE1oE0EUx9/bbiQxmIAIFhXsQUQQ2oLeDJjqwYsHPYi1aBWEnq0IXnNUL8WDFy8GrTQqePEsVZKDF5FaDyIIVkSPpYV8mG1mnNdl003Z7MfMbLYHB8JMZub93483O7NvByHGkjt3c69Vry9yzkfl3aCFyOcMeYFgS9ZqjqlBkg+e4hxnzWB38jPuTBx9f//t19sIMBZFhTMocuCHt2x4SmjsrJIuTF4DDmURyZ7V7vmTNHK6MDW9BYkMAVccpiGnkXRtR5KX7UgiA4QbhgEG5zBObDsior3LbUO2apVn7uBtbqZc8eoRxqyUeyBKO5fPr/x+87gRxcaZGwaS5pqZwuTrtmVddAxl6tXVtbVMYXq0WXv6M4p9WEjSFM8AvxBF3GuueI7ywDsHvMb69UWBJA1a+s0jChE/AuLLfsJ+/QbgUr36/IPfHPdYVEiy7R74iPClUV144BaMoy0DSRwD3fWykAMFVYEcGKgq5EBAdUDGDqoLMlZQHZAcYIkgxdH5OZZdvz0LogRj+7ubAILK3bPHHprm0JlUNjvRPUeDjMKO25FkT9xZkAwk+SuVSkxUi9TWGlEdy01QXkUbqK7l9oKkPi2gNqSe5Y4NVBUyW5wa31O8sq8foNOvFFFVyN2Fy+c7VufTxgZbPjEz45u4S4OqQtqRwpNUi3x2+Pu39YNO9LxqKVA9kF44/fsigyYBSfiRQJOCjASaJGRo0KQhQ4HqfHeTQ9ni+4weujSbEWfHIx0JhiygY+cL+uvVXFPkgssiI1wHA6/LZkGOM5XaF5SEm7XKqeFUen+rujCv4kjVNhCUHPx4V26pOlK1DwWq6kSH/X9QHVF0a3S/mRiD0+IK8oV7MO62+CA6HtYHgbbFb5c4K0dEujUS1lD3vHbH/OunaYpr8nsM+C0B6pu4+okojaG4CgeoNKrzf/x0/gGoGnZzJLiv/wAAAABJRU5ErkJggg=='\n\nexport const internalLinkIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAABO0lEQVR4nO3XPUoDURSG4RdtLcZZgGkFa38qUxmyBTeQTqwFG1vBTdhYRyvRFShWugmnExQRBWXAyOGSycxN7s2cG88Lp0ggkIevGAYsy7IWqQ5wAdzMeJfACbDWFuQc+A54b8B+G5DjwJDyvoDteUOWgD4wmPGOgEJgrkm4noB8Aisk2jLwITAbJFwhIJskXGEQZdki2rJFtGWLaMsW0ZYtoi1bJFarwC3wCGxFXiQHhsAT0CVwA/GHXoCdSJAceBC/uSJw68D7FBgfSO4gyjsg0ju4xLwCu4EgGXDnIM6ImC+mCSSbN2IaTB0kawvhi5kEKRH3bSJ8MFUQNYimmHEQdYgmGBeiFlGHkZA97YhR/TEPTfn52UGcojh3mapTuYQvJglEHSYpRBUmScSo7u+7xeHfN5ZlWf+yHw9ZHGBm/MZGAAAAAElFTkSuQmCC'\n\nexport const imageNotFound =\n 'data:image/png;base64,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'\n\nexport const videoIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbgAAAG4CAYAAAA3yvKzAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABuKADAAQAAAABAAABuAAAAAAiM3ZtAAAsA0lEQVR4Ae3d928cxxnG8WEXKVK0ZEvpiVOc3htSEQcpyA8BkgD5Kw0YMJCCIEESA0mQ3pHee2JZpChSpNijZ+2hlsu9273bNjPvdwGKvLu9vZnPu7fPzZbTzP7+/qljQgABBBBAIDGB2cT6Q3cQQAABBBDIBAg4VgQEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBAg41gEEEEAAgSQFCLgky0qnEEAAAQQIONYBBBBAAIEkBQi4JMtKpxBAAAEECDjWAQQQQACBJAUIuCTLSqcQQAABBOYhmE7g5s2b0z2RZyGAAAITCly/fn3CZzC7BBjBsR4ggAACCCQpQMAlWVY6hQACCCBAwLEOIIAAAggkKUDAJVlWOoUAAgggQMCxDiCAAAIIJClAwCVZVjqFAAIIIEDAsQ4ggAACCCQpQMAlWVY6hQACCCBAwLEOIIAAAggkKUDAJVlWOoUAAgggwFd1DbQOzMzMuNnZWaffoUwnJydOP0wIxCqg95R+QplOT0+z95R+M/UvQMD1bK4339ramltYWAgq3DyDAm5vb8/t7u76u/iNQPACKysrbnl5Oahw82gKt8PDQ7e9vc0HSI/S028CridovczS0lIWbiGN2ordVwBfvnw5a+vW1hZvyCIQt4MS0Pq6vr7u5ufD3ZTp/b64uOiuXbuWhdz+/n5Qhik3JpyxfMrK9/vmR24hh1u+BNpgaKTJhEDIAlpHQw63vJ3e+2qvtgVM/Qgg3Y+zW11dDXKX5Lju61OnRp1MCIQooHVT62hMk0JO2wKmfgQIuH6co3sjepbYNiC+3fxOXyDWdTPWdse4RhFwPVRNuyRi2TVZ5JibmyvexW0EghCIdd3UtoDdlP2sQgRcD86xhptoOL25hxWEl5hKIOZ1M+ZtwlTFGuhJBNxA8LG8rE5vZkIgRAHWzRCrElabCLiw6hFUa/w1cUE1isYg8LyArtfkiwlYHcYJEHDjdAw/pt0/ujA15t1AhstnouusoybK3KiTBFwjvjSffHx87HSR98HBQZodpFfJCGgd1bqqdZYJgaJAuJf/F1tq6LberEOEiz4RHx0dOb5pwdDKlkBXdSxuY2Mju2ZTF30PcQKHTv2P9azOBFaBkV0g4EbSDPeAQmZnZ2e4BvDKCEQooA9mQ304u3LlCgEX4DrDLsoAi0KTEEAAAQSaCxBwzQ1ZAgIIIIBAgAIEXIBFoUkIIIAAAs0FCLjmhiwBAQQQQCBAAQIuwKLQJAQQQACB5gIEXHNDloAAAgggEKAAARdgUWgSAggggEBzAQKuuSFLQAABBBAIUICAC7AoNAkBBBBAoLkAAdfckCUggAACCAQoQMAFWBSahAACCCDQXICAa27IEhBAAAEEAhQg4AIsCk1CAAEEEGguQMA1N2QJCCCAAAIBChBwARaFJiGAAAIINBcg4JobsgQEEEAAgQAFCLgAi0KTEEAAAQSaCxBwzQ1ZAgIIIIBAgAIEXIBFoUkIIIAAAs0FCLjmhiwBAQQQQCBAAQIuwKLQJAQQQACB5gIEXHNDloAAAgggEKAAARdgUWgSAggggEBzAQKuuSFLQAABBBAIUICAC7AoNAkBBBBAoLkAAdfckCUggAACCAQoQMAFWBSahAACCCDQXICAa27Y+hJOT09bXyYLRACB7gR4z3Zn22TJBFwTvZrPPTk5qTnnc7PxZpmIi5kRGFxg0vfspNuEwTsYaQMIuB4Kp5X/+Pi49isdHh7WnpcZEUBgeIFJ3rPaFkwaiMP3MM4WEHA91W13d7fWKx0dHbn9/f1a8zITAgiEIaD3rN67daa7d+/WmY15WhAg4FpArLOIe/fuVQaXPtVtb2/XWRzzIIBAYAJ671aNzBSEfIDtr3AEXH/W7s6dO04jubI3gT793b59u/anwB6bzUshgEANgXHvYb3n9d7XNoCpP4H5/l6KV5KAdk9oNLe4uOjm5uaysGO3JOsGAmkI6L28ubnplpaW3Pz8vJuZmcmOvx8cHEx0HD4NjeF7QcANUAMdZN7b2xvglXlJBBDoQ4BdkX0oV78GuyirjZgDAQQQQCBCAQIuwqLRZAQQQACBagECrtqIORBAAAEEIhQg4CIsGk1GAAEEEKgWIOCqjZgDAQQQQCBCAQIuwqLRZAQQQACBagEuE6g2Yg4EKgVmZ2ez65507ZP/0X360bVQ+tHfmvRFu7rwVz/6Wz+6fir/w5fxVpIzAwKVAgRcJREzIHBRQCGmi3n14y/avzhX+T26wL9q0rWSujjYX0+l8GNCAIHJBAi4ybyY27CAwmxlZSULtToh1YRKy19eXs5+tBwFnsJOX/fEdxk2keW5lgQIOEvVpq8TC2ikplDTT9ehNq5xem3fDoWdgk4/jOzGqfGYdQECzvoaQP9LBS5duuTW1tay3Y+lMwx4p8JObdOPdmPqW+z1/aZMCCBwXoCAO+/BLeMC2i2o4FhYWIhCQsf/Hn74Yaf/cFNBx3ecRlE2GtmTAAHXEzQvE7aAjq+tr69HE2xFTQXytWvXsqDb2triOF0RiNsmBQg4k2Wn015Au/sUbBq5pTAp6B555JFsJKeg0/E6JgSsChBwVitPv93q6mq2O9Jfn5YSiQJbo1LtttzZ2Umpa/QFgdoCBFxtKmZMRUCjNu3O0/GrlCcFtx+dbmxsMJpLudj0rVSAr+oqZeHOVAV0duSNGzeSD7d8/RTk6rP6zoSAJQECzlK1jfdVoxmdcZjiLsmq0qrP6rsMmBCwIsAuSiuVNtxPfQ+kdkkygnHZcUddvK5dlvouTCYEUhZgBJdydelbNlrTWYWE24OVQRYysTiSfaDAXxYECDgLVTbaR51Mog156ieTTFNemchGRkwIpCpAwKVaWeP90ob7+vXr0V643Uf5dM2cjAi5PrR5jSEECLgh1HnNTgX8CRVsuKuZZWT1xJtqHeaIXYCAi72CtP+cgE4o0QY7lu+SPNf4gW7ISmayY0IgJQECLqVq0hcTF3B3UWYdk9OZpkwIpCRAwKVUTeN90TVenC05/UogO66Tm96PZ4YnQMCFVxNaNIWANs76bkmmZgIy5ENCM0OeHY4AARdOLWjJlAI6UeLq1atTPpunFQVkyQk6RRVuxyhAwMVYNdp8TkDHjrho+RxJoxuy5HhcI0KeHIgAARdIIWjGdALapcaF3NPZjXuWTNnlO06Ix2IQIOBiqBJtLBXQbrS1tbXSx7izuYBs2VXZ3JElDCdAwA1nzys3FNAZf+yabIg45umy5azKMUA8FLwAARd8iWhgmYD+t2r9r9VM3Qr4/xm821dh6Qh0I0DAdePKUjsWYGTRMXBu8VjnMPgzKgECLqpy0VgJaFTBV3H1ty7ImtFyf968UnsCBFx7liypJwFOLOkJOvcymOcw+DMaAQIumlLRUAnoWzYYvfW/Lsicbzjp351XbCZAwDXz49k9CzCS6Bk893LY5zD4MwoBAi6KMtFICczPz3NR94Crgi7+Vg2YEIhFgICLpVK0062srKAwsAA1GLgAvPxEAgTcRFzMPKQAG9ch9Z97bWowfA1oQX0BAq6+FXMOKKALu/naqAEL8PxLqwaqBRMCMQgQcDFUiTYGu3vy9PTUHR4euuPjYzNVYhRnptTRd5QjxtGX0EYHQhs1KNju3Lnj7t696/S3Jp1KrzMNdTr9zMxMsoUJrRbJQtOxxgIEXGNCFtC1gM7cC2335O3bt93u7u65rmskt7GxkXzQqRaqydHR0bn+cwOB0ATYRRlaRWjPBYHQRgwKsmK45Rvtg+7mzZtub2/vbISXnyf2v0OrSeyetL8bAQKuG1eW2qJAaBvT/f39Wr1LOehCq0mtgjCTOQF2UZoreXwdDm1j6o+51ZX0QZfSMTr+F/W61We+IQUIuCH1ee1KAf2nm6n8p6YpBZ2Ow6kuJycnlTVkBgSGEmAX5VDyvG4tgRS/GsoHXezH6FKsTa2VkpmiESDgoimVzYamvBGNPehSro3Nd1t6vWYXZXo1TapHFjaiPuhiO0ZnoTZJvZkMdoaAM1j0mLpsaSMaW9BZqk1M7xna+kCAgHtgwV8BCqRygskktLEEncXaTFJH5h1egIAbvga0YIyA5Y1o6EFnuTZjVlkeCkiAgAuoGDTlokDK3+l4sbfl94QadNSmvF7cG44AARdOLWhJiQAb0Qco+aC7cuVK9qXODx7t/y9q0785rziZAJcJTObF3D0LsBvsIriC7tatW25zc3PQ77mkNhdrwz1hCRBwYdWD1iBQW0Bf+Kwvc2ZCAIFyAQKu3IV7AxHgq6DGF2Lc/2ow/pnNH6U2zQ1ZQrcCBFy3viy9ocCkX2zc8OWie/qQIUNtoltdzDWYgDNX8rg6zEZ0fL30v4cPNVGboeR53boCBFxdKeYbRGDIEcogHZ7gRfVNIqurqxM8o91ZqU27niytfQEuE2jflCW2KMBGtBxzZWXF6VKBIc9kpDblteHecAQIuHBqQUtKBI6OjkrutXvX8vKyW1tbc/pi5qEnajN0BXj9KgECrkqIxwcVYCP6HH9IweZXCGrjJfgdqgABF2plaFcmYH0jGmKw+VXTem28A7/DFSDgwq0NLbsvYHUjGnKw+RXTam18//kdvgABF36NTLdQJzIcHx+7ubk5Ew4xBJsKoZpwkomJVTLqThJwUZfPRuMPDg6cNvwpT7EEm6+BasKEQOgCBFzoFaJ9bn9/P9mAiy3Y/OqomjAhELoAARd6hWhfFnCpMcQabL4OBJyX4HfIAgRcyNWhbZmATmZI5Thc7MGmgqgWnGDCmzMGAQIuhirRRnfv3j13+fLlICSm+Y8+Uwg2j8/ozUvwO3QBAi70CtG+TED/71koATfJt4ikFGx+VRzyv+jxbeA3AnUECLg6SswzuIBGDaHsplxcXHT6GXcmYYrBppVANWAEN/jbgQbUFOB/E6gJxWzDC4QyctAuymvXrjl9m39xUrDduHEje3ySkV5xOaHeDqUGofrQrrAELr5Dw2ofrUHgTEAbV33RcAiTLjxXkOnYoE640Lf66/9mS/2CdAIuhLWPNtQVIODqSjHf4AIKEu0eW1paGrwtaoBGchqxWZm0S5azJ61UO41+sosyjTqa6cX29raZvobWUexDqwjtqRIg4KqEeDwoAY3gxp3cEVRjE2rM4eFhtjs2oS7RFQMCBJyBIqfWRUYS/VcU8/7NecXmAgRcc0OW0LOATuzQiIKpHwFZ6zpEJgRiEyDgYqsY7c0Etra2kOhJAOueoHmZ1gUIuNZJWWAfAjoWxynr3Utr5MaF3d078wrdCBBw3biy1B4ENLLgP93sDlq2jN6682XJ3QsQcN0b8wodCWgDfOfOnY6WzmJ1Yom+mosJgVgFCLhYK0e7M4G7d++yC62DdUGXYuzs7HSwZBaJQH8CBFx/1rxSRwIbGxuMNFq01chYpkwIxC5AwMVeQdqfHYfb3Nx0p6enaLQgIEt2TbYAySIGFyDgBi8BDWhDQGf6sUutuaQMdZ0hEwIpCBBwKVSRPmQCOuGEC5KnXxkUbJw1Ob0fzwxPgIALrya0qIGAjh1x3dbkgDqphONuk7vxjLAFCLiw60PrphC4desWX+U1gZu+iktmHMOcAI1ZoxAg4KIoE42cREAb6meffZb/u6wGmk4mUbhxwXwNLGaJToCAi65kNLiOgDbYN2/eZCQ3BksjNxlxxuQYJB6KWoCAi7p8NH6cgA85jsldVNIxN41yCbeLNtyTjgABl04t6UmJgN9dydmVD3B0tqTCjd2SD0z4K00BAi7NutKrgoDOENR3K1o/kULXuXFCSWHl4GayAvPJ9oyOIVAQ0HVy2l159epVNzc3V3g07ZsarekbSriIO+0607vzAozgzntwK3EBBdwzzzxj6lo5HW9Tnwm3xFduundBgBHcBRLuSF1Aoxkdg7p8+bK7cuWKm51N83Oe+qndsnyFWeprNP0bJUDAjZLh/uQF9F/t6OST9fV1t7KyklR/1S997RZnSSZVVjozoQABNyEYs6cl4I9N7e7uZkG3sLAQdQd1bZuCjUsjoi4jjW9JgIBrCZLFxC3gj81dunTJra2tucXFxag6pGDT7kguh4iqbDS2YwECrmNgFh+XgE7E0M/S0lIWdPod8qQTSBRsnEAScpVo21ACBNxQ8rxu0AIa0elnfn4+Oz6nY3ShXFqg42rapaqfo6OjoB1pHAJDChBwQ+rz2sELKEB0/Zx+NJpbXl522o3Zd9gp1BS4CjX9ZkIAgWoBAq7aiDkQyAT8qE43NLJT4OlHx+vaDjwFmnY/+tdkpMZKiMDkAgTc5GY8A4Fs16BCR5caaNK1dAq9/I/u08/MzEz246+305mb+sow/ehv/WhZ+R/dx4QAAs0ECLhmfjwbgUxAgaQRl36YEEAgDIE0v8IhDFtagQACCCAwoAABNyA+L40AAggg0J0AAdedLUtGAAEEEBhQgIAbEJ+XRgABBBDoToCA686WJSOAAAIIDChAwA2Iz0sjgAACCHQnwGUC3dmOXLIuCvYXB+taKF3/xLdTjOTiAQSiE9AXAOiaSF0D6S/a12+mfgUIuH69s/9kU1/3pBU/Pynk9KW5+s2EAAJxCijU9L9R6Hd+0gdZ/U8P/osB8o/xd3cC7KLszvbCkvW/R+tLe4vhphn1hnjooYcuvDEuLIQ7EEAgSIFx72G95/Xe1zaAqT8BAq4na31Br3ZbjJv0JtCnPyYEEIhPQO/dsg+v+Z5oG6BtAVM/AgRcP87Zp7c6L6VPgVVBWGc5zIMAAv0J+GNudV5RIzmmfgQIuB6c9alukm+bX1hY6KFVvAQCCLQlMMl7VtuCqpFeW+2yvhwCroc1wH+LfN2XYuWvK8V8CIQhMOl7dtJtQhi9jK8VBFyANZv0zRJgF2gSAqYEeM+GWW4CLsy60CoEEEAAgYYCBFxDQJ6OAAIIIBCmAAEXZl1oFQIIIIBAQwECriEgT0cAAQQQCFOAgAuzLrQKAQQQQKChAAHXEJCnI4AAAgiEKUDAhVkXWoUAAggg0FCAgGsIyNMRQAABBMIUIODCrAutQgABBBBoKEDANQTk6QgggAACYQoQcGHWhVYhgAACCDQUIOAaAvJ0BBBAAIEwBQi4MOtCqxBAAAEEGgoQcA0BeToCCCCAQJgCBFyYdaFVCCCAAAINBQi4hoA8HQEEEEAgTAECLsy60CoEEEAAgYYCBFxDQJ6OAAIIIBCmAAEXZl1oFQIIIIBAQwECriEgT0cAAQQQCFOAgAuzLrQKAQQQQKChAAHXEJCnI4AAAgiEKUDAhVkXWoUAAggg0FCAgGsIyNMRQAABBMIUIODCrAutQgABBBBoKEDANQTk6QgggAACYQoQcGHWhVYhgAACCDQUmG/4fJ7egcD8/LxbXV3tYMnjF3l6euqOjo7c/v7++Bl5FIEABZaWlpzeOzMzM723Tq/LFJ4AVQmvJm5ubs4tLy8P1rLj42O3vb3tDg8PB2sDL4xAXYGFhQW3traWvW/qPof5bAiwi9JGnSfqpQJ2fX3dLS4uTvQ8ZkagbwGto1pXtc4yIVAUIOCKItzOBLSbR5+Kh9jdQwkQqCPAOlpHyfY8BJzt+o/t/ezs7KC7Ssc2jgfNC2g3vtZRJgRGCbB2jJLh/kxAxzeYEAhRgHUzxKqE1SYCrod66OzEWCd2UcZaufTbHfO6GfM2IaY1i4DroVonJycu1hVaZ1QyIRCiQKzrprYF2iYwdS9AwHVvnL3CwcFBT6/U7svE2u52FVhaiAKxrpuxtjvEdaCqTQRclVBLj+/s7EQ3itMbkYu+W1oBWEzrAlo3YwsLjd60LWDqR4CA68c52yWhi6dj2VWpbzRRe5kQCFlA66jW1RgmvffVXnZP9lctvsmkP+tsNKRvB9H1ZToDLMSD5Hrz7e3tud3d3R5leCkEphPQ+rq5uelWVlayS1pCvGxAwab3PeE2XY2bPIuAa6I3xXP1htza2srCTW/GkEJObdMPEwKxCegDmX70ngop5BRuek/FsucmtrpXtZeAqxLq6HGt8LGeBdYRCYtFoLEAH9IaEya1AI7BJVVOOoMAAggg4AUIOC/BbwQQQACBpAQIuKTKSWcQQAABBLwAAecl+I0AAgggkJQAAZdUOekMAggggIAXIOC8BL8RQAABBJISIOCSKiedQQABBBDwAgScl+A3AggggEBSAgRcUuWkMwgggAACXoCA8xL8RgABBBBISmDm/n85Ee9/N51UKegMAggggECbAozg2tRkWQgggAACwQgQcMGUgoYggAACCLQpQMC1qcmyEEAAAQSCESDggikFDUEAAQQQaFOAgGtTk2UhgAACCAQjQMAFUwoaggACCCDQpgAB16Ymy0IAAQQQCEaAgAumFDQEAQQQQKBNAQKuTU2WhQACCCAQjAABF0wpaAgCCCCAQJsCBFybmiwLAQQQQCAYAQIumFLQEAQQQACBNgUIuDY1WRYCCCCAQDACBFwwpaAhCCCAAAJtChBwbWqyLAQQQACBYAQIuGBKQUMQQAABBNoUIODa1GRZCCCAAALBCBBwwZSChiCAAAIItClAwLWpybIQQAABBIIRIOCCKQUNQQABBBBoU4CAa1OTZSGAAAIIBCNAwAVTChqCAAIIINCmAAHXpibLQgABBBAIRoCAC6YUNAQBBBBAoE0BAq5NTZaFAAIIIBCMAAEXTCloCAIIIIBAmwLzbS6MZSHQpcDJyYnb2tpyc3Nz7sqVK12+VFTLPj09zVyOj4/d5cuX3aVLl6JqP41FoCsBAq4r2QGXe3h46L74xS86BcLS0pL79Kc/PbI19+7dc1/60peyxx955BH36KOPuh/96EfZ7Q9+8IPuhS98Yfb3V77yFXf37t1zy5mdnc02qGtra07PfdWrXpWFz7mZ7t/429/+drbM4mP522984xvdG97whvxdTn352c9+5v71r39lG3FtzDUp5NbX17PXfNOb3uRmZmbOPa/ujS9/+ctub2/PPfzww+7xxx8/97QvfOEL7uDg4Nx9o27IsW6wyOuTn/zkuUX99a9/dT/+8Y+z+z70oQ+5F7zgBeceL95QmP3iF79wf//73zMX1dpPDz30kHv961/vXvva1zrVSJOv37Vr19xHP/pRP+u5388884z71re+ld33rne9K1sXdMM/18/8tre9zb3mNa/xN8/91jqi+fPTxz72Mac2TbMe5F97eXnZfepTnzrrU/41/vKXv7if/OQn2V0f+chH3He/+93atSurR37Z/B2vAAEXb+1GtnxhYcFdvXrVaaO5vb3t/ve//43cYGrDoHk0acOlDae/rb/9pA2Xv9/fp98aUWn63e9+l21gFFJvfvObzwVOfpnZzCP+KYaJ2v/9738/C6DiU7TMjY2N7OePf/yjUxhfv369ONvY2//4xz+cNuqa1LfNzc3MzT9JfVZw1ZkUsGU+Zc/1oZN/7Je//OXZ83/961+PrJee889//tN973vfczs7O/lFnP19+/bt7PE///nP7uMf/7hbXFzMPpyoffrAM2rK1+no6OhstmLtVetRAfenP/3prB9+Af5DSX75/rGy3/n1IP/aar9C/e1vf/uFp+k53l+vM0ntyupx4QW4I0oBAi7KslU3Wp/eFRCatNEZNSLQY5q0EXzlK1+ZfcrO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'\n"],"file":"index.js"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["schedulingExports","schemaExports","serviceHoursExports","scheduling","schema","serviceHours"],"sources":["../src/index.js"],"sourcesContent":["export * from './constants'\nexport * from './helpers'\nexport * from './images'\nexport * from './pdf'\n\nimport * as schedulingExports from './scheduling'\nimport * as schemaExports from './schema'\nimport * as serviceHoursExports from './service-hours'\n\nexport const scheduling = schedulingExports\nexport const schema = schemaExports\nexport const serviceHours = serviceHoursExports\n"],"mappings":"AAAA,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,OAAO;AAErB,OAAO,KAAKA,iBAAiB,MAAM,cAAc;AACjD,OAAO,KAAKC,aAAa,MAAM,UAAU;AACzC,OAAO,KAAKC,mBAAmB,MAAM,iBAAiB;AAEtD,OAAO,IAAMC,UAAU,GAAGH,iBAAiB;AAC3C,OAAO,IAAMI,MAAM,GAAGH,aAAa;AACnC,OAAO,IAAMI,YAAY,GAAGH,mBAAmB","ignoreList":[]}
1
+ {"version":3,"sources":["../src/index.js"],"names":["schedulingExports","schemaExports","serviceHoursExports","scheduling","schema","serviceHours"],"mappings":"AAAA,cAAc,aAAd;AACA,cAAc,WAAd;AACA,cAAc,UAAd;AACA,cAAc,OAAd;AAEA,OAAO,KAAKA,iBAAZ,MAAmC,cAAnC;AACA,OAAO,KAAKC,aAAZ,MAA+B,UAA/B;AACA,OAAO,KAAKC,mBAAZ,MAAqC,iBAArC;AAEA,OAAO,IAAMC,UAAU,GAAGH,iBAAnB;AACP,OAAO,IAAMI,MAAM,GAAGH,aAAf;AACP,OAAO,IAAMI,YAAY,GAAGH,mBAArB","sourcesContent":["export * from './constants'\nexport * from './helpers'\nexport * from './images'\nexport * from './pdf'\n\nimport * as schedulingExports from './scheduling'\nimport * as schemaExports from './schema'\nimport * as serviceHoursExports from './service-hours'\n\nexport const scheduling = schedulingExports\nexport const schema = schemaExports\nexport const serviceHours = serviceHoursExports\n"],"file":"index.js"}