@iamproperty/components 7.0.0 → 7.1.0--beta2

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 (411) hide show
  1. package/assets/css/components/actionbar.css.map +1 -1
  2. package/assets/css/components/actionbar.global.css.map +1 -1
  3. package/assets/css/components/address-lookup.css.map +1 -1
  4. package/assets/css/components/applied-filters.css.map +1 -1
  5. package/assets/css/components/barchart.component.css +1 -1
  6. package/assets/css/components/barchart.component.css.map +1 -1
  7. package/assets/css/components/card.component.css +1 -1
  8. package/assets/css/components/card.component.css.map +1 -1
  9. package/assets/css/components/card.module.css.map +1 -1
  10. package/assets/css/components/carousel.component.css +1 -1
  11. package/assets/css/components/carousel.component.css.map +1 -1
  12. package/assets/css/components/carousel.config.css.map +1 -1
  13. package/assets/css/components/charts.config.css.map +1 -1
  14. package/assets/css/components/charts.css +1 -1
  15. package/assets/css/components/charts.css.map +1 -1
  16. package/assets/css/components/charts.module.css +1 -1
  17. package/assets/css/components/charts.module.css.map +1 -1
  18. package/assets/css/components/collapsible-side.css.map +1 -1
  19. package/assets/css/components/fileupload.css.map +1 -1
  20. package/assets/css/components/filter-card.component.css.map +1 -1
  21. package/assets/css/components/header.css.map +1 -1
  22. package/assets/css/components/inline-edit.css.map +1 -1
  23. package/assets/css/components/inline-edit.preload.css.map +1 -1
  24. package/assets/css/components/marketing.css.map +1 -1
  25. package/assets/css/components/multi-step.component.css.map +1 -1
  26. package/assets/css/components/multiselect.css +1 -1
  27. package/assets/css/components/multiselect.css.map +1 -1
  28. package/assets/css/components/multiselect.preload.css.map +1 -1
  29. package/assets/css/components/nav.css +1 -1
  30. package/assets/css/components/nav.css.map +1 -1
  31. package/assets/css/components/nav.docs.css.map +1 -1
  32. package/assets/css/components/nav.global.css +1 -1
  33. package/assets/css/components/nav.global.css.map +1 -1
  34. package/assets/css/components/nav.old.css +1 -1
  35. package/assets/css/components/nav.old.css.map +1 -1
  36. package/assets/css/components/nav.preload.css.map +1 -1
  37. package/assets/css/components/notification.css.map +1 -1
  38. package/assets/css/components/notification.global.css.map +1 -1
  39. package/assets/css/components/pagination.css.map +1 -1
  40. package/assets/css/components/property-searchbar.css +1 -1
  41. package/assets/css/components/property-searchbar.css.map +1 -1
  42. package/assets/css/components/record-card.component.css.map +1 -1
  43. package/assets/css/components/slider.css.map +1 -1
  44. package/assets/css/components/snapshot.css.map +1 -1
  45. package/assets/css/components/stepper.css.map +1 -1
  46. package/assets/css/components/table.css +1 -1
  47. package/assets/css/components/table.css.map +1 -1
  48. package/assets/css/components/table.global.css +1 -1
  49. package/assets/css/components/table.global.css.map +1 -1
  50. package/assets/css/components/tabs.css.map +1 -1
  51. package/assets/css/components/testimonial.css.map +1 -1
  52. package/assets/css/components/timeline.css +1 -1
  53. package/assets/css/components/timeline.css.map +1 -1
  54. package/assets/css/components/video-card.component.css.map +1 -1
  55. package/assets/css/core.min.css +1 -1
  56. package/assets/css/core.min.css.map +1 -1
  57. package/assets/css/style.min.css +1 -1
  58. package/assets/css/style.min.css.map +1 -1
  59. package/assets/js/components/_global.js +8 -8
  60. package/assets/js/components/accordion/accordion.component.js +13 -10
  61. package/assets/js/components/accordion/accordion.component.min.js +4 -4
  62. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  63. package/assets/js/components/actionbar/actionbar.component.js +97 -83
  64. package/assets/js/components/actionbar/actionbar.component.min.js +5 -5
  65. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  66. package/assets/js/components/address-lookup/address-lookup.component.js +30 -26
  67. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  68. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  69. package/assets/js/components/applied-filters/applied-filters.component.js +10 -6
  70. package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
  71. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  72. package/assets/js/components/barchart/barchart.component.js +8 -7
  73. package/assets/js/components/barchart/barchart.component.min.js +4 -4
  74. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  75. package/assets/js/components/card/card.component.js +27 -12
  76. package/assets/js/components/card/card.component.min.js +3 -3
  77. package/assets/js/components/card/card.component.min.js.map +1 -1
  78. package/assets/js/components/carousel/carousel.component.js +18 -12
  79. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  80. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  81. package/assets/js/components/chart/chart.component.js +9 -8
  82. package/assets/js/components/collapsible-side/collapsible-side.component.js +20 -8
  83. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  84. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  85. package/assets/js/components/fileupload/fileupload.component.js +11 -7
  86. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  87. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  88. package/assets/js/components/filter-card/filter-card.component.js +19 -9
  89. package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
  90. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  91. package/assets/js/components/filterlist/filterlist.component.js +10 -6
  92. package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
  93. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  94. package/assets/js/components/header/header.component.js +8 -4
  95. package/assets/js/components/header/header.component.min.js +1 -1
  96. package/assets/js/components/header/header.component.min.js.map +1 -1
  97. package/assets/js/components/inline-edit/inline-edit.component.js +43 -23
  98. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  99. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  100. package/assets/js/components/marketing/marketing.component.js +11 -5
  101. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  102. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  103. package/assets/js/components/multi-step/multi-step.component.js +22 -19
  104. package/assets/js/components/multiselect/multiselect.component.js +62 -45
  105. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  106. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  107. package/assets/js/components/nav/nav.component.js +57 -38
  108. package/assets/js/components/nav/nav.component.min.js +5 -5
  109. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  110. package/assets/js/components/notification/notification.component.js +9 -5
  111. package/assets/js/components/notification/notification.component.min.js +5 -5
  112. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  113. package/assets/js/components/pagination/pagination.component.js +18 -14
  114. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  115. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  116. package/assets/js/components/record-card/record-card.component.js +10 -8
  117. package/assets/js/components/record-card/record-card.component.min.js +2 -2
  118. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  119. package/assets/js/components/search/search.component.js +22 -17
  120. package/assets/js/components/search/search.component.min.js +4 -4
  121. package/assets/js/components/search/search.component.min.js.map +1 -1
  122. package/assets/js/components/slider/slider.component.js +25 -21
  123. package/assets/js/components/slider/slider.component.min.js +3 -3
  124. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  125. package/assets/js/components/table/table.component.js +30 -24
  126. package/assets/js/components/table/table.component.min.js +7 -7
  127. package/assets/js/components/table/table.component.min.js.map +1 -1
  128. package/assets/js/components/tabs/tabs.component.js +10 -6
  129. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  130. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  131. package/assets/js/components/video-card/video-card.component.js +45 -33
  132. package/assets/js/components/video-card/video-card.component.min.js +3 -3
  133. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  134. package/assets/js/components.bundle.js +1 -1
  135. package/assets/js/components.bundle.js.map +1 -1
  136. package/assets/js/components.js +35 -8
  137. package/assets/js/modules/applied-filters.js +20 -20
  138. package/assets/js/modules/carousel.js +65 -60
  139. package/assets/js/modules/chart.js +184 -134
  140. package/assets/js/modules/chart.module.js +74 -63
  141. package/assets/js/modules/data-layer.js +17 -17
  142. package/assets/js/modules/dialogs.js +47 -38
  143. package/assets/js/modules/drawer.js +1 -1
  144. package/assets/js/modules/dynamicEvents.js +24 -24
  145. package/assets/js/modules/file-upload.js +8 -9
  146. package/assets/js/modules/fileupload.js +5 -5
  147. package/assets/js/modules/filterlist.js +4 -4
  148. package/assets/js/modules/form.js +22 -18
  149. package/assets/js/modules/helpers.js +54 -44
  150. package/assets/js/modules/inputs.js +25 -21
  151. package/assets/js/modules/nav.js +3 -1
  152. package/assets/js/modules/notification.js +6 -6
  153. package/assets/js/modules/orderablelist.js +12 -12
  154. package/assets/js/modules/pagination.js +5 -5
  155. package/assets/js/modules/table.js +242 -181
  156. package/assets/js/modules/tabs.js +71 -60
  157. package/assets/js/modules/testimonial.js +11 -12
  158. package/assets/js/scripts.bundle.js +1 -1
  159. package/assets/js/scripts.bundle.js.map +1 -1
  160. package/assets/js/scripts.bundle.min.js +1 -1
  161. package/assets/js/scripts.bundle.min.js.map +1 -1
  162. package/assets/js/scripts.js +1 -1
  163. package/assets/js/tests/chart.spec.js +5 -5
  164. package/assets/js/tests/filterlist.spec.js +2 -2
  165. package/assets/js/tests/slider.spec.js +2 -2
  166. package/assets/js/tests/table.spec.js +2 -2
  167. package/assets/js/vendor/hibp.js +4 -4
  168. package/assets/sass/_components.scss +28 -40
  169. package/assets/sass/_corefiles.scss +22 -29
  170. package/assets/sass/_elements.scss +19 -19
  171. package/assets/sass/_fonts.scss +10 -7
  172. package/assets/sass/_func.scss +14 -14
  173. package/assets/sass/_functions/functions.scss +115 -90
  174. package/assets/sass/_functions/mixins.scss +72 -112
  175. package/assets/sass/_functions/utilities.scss +447 -393
  176. package/assets/sass/_functions/variables.scss +1357 -1371
  177. package/assets/sass/_print.scss +18 -16
  178. package/assets/sass/_tests/colours.spec.scss +15 -14
  179. package/assets/sass/_tests/func.spec.scss +1 -2
  180. package/assets/sass/_tests/mixins.spec.scss +9 -14
  181. package/assets/sass/_tests/typography.spec.scss +1 -2
  182. package/assets/sass/_utilities.scss +8 -12
  183. package/assets/sass/components/actionbar.global.scss +45 -64
  184. package/assets/sass/components/actionbar.scss +58 -84
  185. package/assets/sass/components/address-lookup.scss +9 -11
  186. package/assets/sass/components/applied-filters.scss +3 -7
  187. package/assets/sass/components/barchart.component.scss +68 -99
  188. package/assets/sass/components/card.component.scss +35 -50
  189. package/assets/sass/components/card.module.scss +34 -37
  190. package/assets/sass/components/carousel.component.scss +198 -177
  191. package/assets/sass/components/carousel.config.scss +13 -19
  192. package/assets/sass/components/charts.config.scss +16 -23
  193. package/assets/sass/components/charts.module.scss +139 -178
  194. package/assets/sass/components/charts.scss +173 -232
  195. package/assets/sass/components/collapsible-side.scss +65 -98
  196. package/assets/sass/components/fileupload.scss +17 -23
  197. package/assets/sass/components/filter-card.component.scss +21 -28
  198. package/assets/sass/components/header.scss +24 -37
  199. package/assets/sass/components/inline-edit.preload.scss +24 -45
  200. package/assets/sass/components/inline-edit.scss +4 -5
  201. package/assets/sass/components/marketing.scss +19 -14
  202. package/assets/sass/components/multi-step.component.scss +36 -42
  203. package/assets/sass/components/multiselect.preload.scss +9 -12
  204. package/assets/sass/components/multiselect.scss +20 -24
  205. package/assets/sass/components/nav.docs.scss +7 -15
  206. package/assets/sass/components/nav.global.scss +123 -177
  207. package/assets/sass/components/nav.old.scss +64 -135
  208. package/assets/sass/components/nav.preload.scss +11 -12
  209. package/assets/sass/components/nav.scss +126 -173
  210. package/assets/sass/components/notification.global.scss +2 -3
  211. package/assets/sass/components/notification.scss +17 -32
  212. package/assets/sass/components/pagination.scss +32 -44
  213. package/assets/sass/components/property-searchbar.scss +2 -6
  214. package/assets/sass/components/record-card.component.scss +42 -55
  215. package/assets/sass/components/slider.scss +38 -35
  216. package/assets/sass/components/snapshot.scss +4 -10
  217. package/assets/sass/components/stepper.scss +14 -22
  218. package/assets/sass/components/table.global.scss +130 -171
  219. package/assets/sass/components/table.scss +17 -27
  220. package/assets/sass/components/tabs.scss +23 -32
  221. package/assets/sass/components/testimonial.scss +6 -14
  222. package/assets/sass/components/timeline.scss +8 -12
  223. package/assets/sass/components/video-card.component.scss +9 -14
  224. package/assets/sass/components.reset.scss +5 -5
  225. package/assets/sass/core.scss +3 -3
  226. package/assets/sass/elements/admin-panel.scss +41 -45
  227. package/assets/sass/elements/badge-tag.scss +16 -26
  228. package/assets/sass/elements/brand.scss +13 -16
  229. package/assets/sass/elements/buttons.scss +80 -106
  230. package/assets/sass/elements/container.scss +24 -133
  231. package/assets/sass/elements/details.scss +30 -50
  232. package/assets/sass/elements/dialog.scss +4 -6
  233. package/assets/sass/elements/forms.scss +421 -437
  234. package/assets/sass/elements/icons.scss +3 -4
  235. package/assets/sass/elements/links.scss +17 -25
  236. package/assets/sass/elements/lists.scss +30 -47
  237. package/assets/sass/elements/media.scss +1 -4
  238. package/assets/sass/elements/modal.scss +54 -80
  239. package/assets/sass/elements/popover.scss +28 -45
  240. package/assets/sass/elements/progress.scss +30 -40
  241. package/assets/sass/elements/table.element.scss +10 -15
  242. package/assets/sass/elements/tooltips.scss +27 -49
  243. package/assets/sass/elements/type.scss +47 -53
  244. package/assets/sass/email.scss +7 -9
  245. package/assets/sass/error.scss +23 -20
  246. package/assets/sass/foundations/bs_grid.scss +0 -1
  247. package/assets/sass/foundations/grid.scss +120 -122
  248. package/assets/sass/foundations/reboot.scss +27 -35
  249. package/assets/sass/foundations/root.scss +21 -31
  250. package/assets/sass/helpers/dynamic.scss +5 -5
  251. package/assets/sass/helpers/line-clamp.scss +1 -2
  252. package/assets/sass/helpers/max-height.scss +28 -36
  253. package/assets/sass/helpers/wider-colours.scss +2 -5
  254. package/assets/sass/main.scss +4 -4
  255. package/assets/sass/templates/auth.scss +11 -18
  256. package/assets/sass/templates/form.scss +16 -29
  257. package/assets/ts/components/_global.ts +14 -17
  258. package/assets/ts/components/accordion/accordion.component.ts +23 -19
  259. package/assets/ts/components/actionbar/README.md +8 -7
  260. package/assets/ts/components/actionbar/actionbar.component.ts +170 -220
  261. package/assets/ts/components/address-lookup/address-lookup.component.ts +94 -130
  262. package/assets/ts/components/applied-filters/README.md +1 -1
  263. package/assets/ts/components/applied-filters/applied-filters.component.ts +16 -15
  264. package/assets/ts/components/barchart/barchart.component.ts +29 -26
  265. package/assets/ts/components/card/card.component.ts +56 -57
  266. package/assets/ts/components/carousel/README.md +8 -9
  267. package/assets/ts/components/carousel/carousel.component.ts +30 -33
  268. package/assets/ts/components/chart/README.md +1 -3
  269. package/assets/ts/components/chart/chart.component.ts +24 -36
  270. package/assets/ts/components/collapsible-side/README.md +1 -1
  271. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +44 -57
  272. package/assets/ts/components/fileupload/README.md +3 -3
  273. package/assets/ts/components/fileupload/fileupload.component.ts +23 -28
  274. package/assets/ts/components/filter-card/filter-card.component.ts +32 -33
  275. package/assets/ts/components/filterlist/README.md +3 -3
  276. package/assets/ts/components/filterlist/filterlist.component.ts +18 -16
  277. package/assets/ts/components/header/README.md +8 -9
  278. package/assets/ts/components/header/header.component.ts +15 -16
  279. package/assets/ts/components/inline-edit/README.md +1 -0
  280. package/assets/ts/components/inline-edit/inline-edit.component.ts +71 -71
  281. package/assets/ts/components/marketing/marketing.component.ts +17 -16
  282. package/assets/ts/components/multi-step/multi-step.component.ts +114 -156
  283. package/assets/ts/components/multiselect/README.md +5 -5
  284. package/assets/ts/components/multiselect/multiselect.component.ts +116 -133
  285. package/assets/ts/components/nav/README.md +13 -13
  286. package/assets/ts/components/nav/nav.component.ts +171 -167
  287. package/assets/ts/components/notification/README.md +9 -9
  288. package/assets/ts/components/notification/notification.component.ts +33 -32
  289. package/assets/ts/components/pagination/README.md +12 -12
  290. package/assets/ts/components/pagination/pagination.component.ts +51 -69
  291. package/assets/ts/components/record-card/record-card.component.ts +24 -34
  292. package/assets/ts/components/search/README.md +6 -7
  293. package/assets/ts/components/search/search.component.ts +75 -91
  294. package/assets/ts/components/slider/slider.component.ts +62 -77
  295. package/assets/ts/components/table/README.md +8 -8
  296. package/assets/ts/components/table/table.component.ts +97 -134
  297. package/assets/ts/components/tabs/README.md +4 -4
  298. package/assets/ts/components/tabs/tabs.component.ts +16 -14
  299. package/assets/ts/components/video-card/video-card.component.ts +89 -93
  300. package/assets/ts/components.ts +44 -20
  301. package/assets/ts/html.d.ts +1 -7
  302. package/assets/ts/modules/applied-filters.ts +104 -135
  303. package/assets/ts/modules/card.module.ts +13 -18
  304. package/assets/ts/modules/carousel.ts +194 -195
  305. package/assets/ts/modules/chart.module.ts +201 -246
  306. package/assets/ts/modules/chart.ts +454 -472
  307. package/assets/ts/modules/data-layer.md +35 -31
  308. package/assets/ts/modules/data-layer.ts +18 -18
  309. package/assets/ts/modules/dialogs.ts +113 -117
  310. package/assets/ts/modules/drawer.ts +7 -9
  311. package/assets/ts/modules/dynamicEvents.ts +67 -100
  312. package/assets/ts/modules/file-upload.ts +43 -40
  313. package/assets/ts/modules/fileupload.ts +38 -60
  314. package/assets/ts/modules/filterlist.ts +14 -20
  315. package/assets/ts/modules/form.ts +126 -128
  316. package/assets/ts/modules/helpers.ts +114 -120
  317. package/assets/ts/modules/inputs.ts +88 -120
  318. package/assets/ts/modules/nav.ts +19 -18
  319. package/assets/ts/modules/notification.ts +28 -32
  320. package/assets/ts/modules/orderablelist.ts +90 -82
  321. package/assets/ts/modules/pagination.ts +14 -19
  322. package/assets/ts/modules/table.ts +516 -599
  323. package/assets/ts/modules/tabs.ts +120 -145
  324. package/assets/ts/modules/testimonial.ts +59 -64
  325. package/assets/ts/scripts.ts +7 -9
  326. package/assets/ts/tests/chart.spec.ts +11 -20
  327. package/assets/ts/tests/data-layer.spec.js +3 -4
  328. package/assets/ts/tests/filterlist.spec.ts +3 -6
  329. package/assets/ts/tests/slider.spec.ts +9 -15
  330. package/assets/ts/tests/table.spec.ts +7 -24
  331. package/assets/ts/vendor/hibp.ts +43 -43
  332. package/dist/components.es.js +280 -270
  333. package/dist/components.umd.js +67 -67
  334. package/dist/style.css +1 -1
  335. package/package.json +14 -4
  336. package/src/components/Accordion/Accordion.spec.js +25 -31
  337. package/src/components/Accordion/Accordion.vue +16 -19
  338. package/src/components/Accordion/AccordionItem.vue +39 -37
  339. package/src/components/Accordion/README.md +10 -12
  340. package/src/components/Actionbar/Actionbar.vue +15 -18
  341. package/src/components/Actionbar/README.md +8 -7
  342. package/src/components/AddressLookup/AddressLookup.vue +14 -16
  343. package/src/components/AppliedFilters/AppliedFilters.vue +14 -16
  344. package/src/components/Banner/Banner.spec.js +13 -15
  345. package/src/components/Banner/Banner.vue +19 -19
  346. package/src/components/Banner/README.md +8 -10
  347. package/src/components/BarChart/BarChart.vue +14 -16
  348. package/src/components/Card/Card.vue +13 -16
  349. package/src/components/Card/README.md +8 -8
  350. package/src/components/Carousel/Carousel.vue +15 -18
  351. package/src/components/Carousel/README.md +7 -7
  352. package/src/components/Chart/Chart.spec.js +64 -87
  353. package/src/components/Chart/Chart.vue +41 -40
  354. package/src/components/Chart/README.md +8 -9
  355. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +8 -10
  356. package/src/components/CollapsibleSideMenu/README.md +1 -1
  357. package/src/components/FileUpload/FileUpload.vue +35 -40
  358. package/src/components/FileUpload/README.md +3 -3
  359. package/src/components/FilterCard/FilterCard.vue +14 -16
  360. package/src/components/Filterlist/Filterlist.vue +7 -9
  361. package/src/components/Filterlist/README.md +3 -3
  362. package/src/components/Header/Header.vue +23 -26
  363. package/src/components/Header/README.md +8 -9
  364. package/src/components/InlineEdit/InlineEdit.vue +26 -32
  365. package/src/components/Input/Input.vue +323 -233
  366. package/src/components/Input/README.md +11 -11
  367. package/src/components/Marketing/Marketing.vue +24 -27
  368. package/src/components/Marketing/README.md +7 -7
  369. package/src/components/MultiStep/MultiStep.vue +13 -15
  370. package/src/components/Multiselect/Multiselect.vue +14 -17
  371. package/src/components/Nav/Nav.vue +15 -29
  372. package/src/components/Nav/README.md +12 -12
  373. package/src/components/Nav-old/Nav.vue +88 -93
  374. package/src/components/Nav-old/README.md +11 -12
  375. package/src/components/NoteFeed/NoteFeed.vue +59 -56
  376. package/src/components/NoteFeed/README.md +6 -6
  377. package/src/components/Notification/Notification.vue +11 -15
  378. package/src/components/Notification/README.md +9 -9
  379. package/src/components/Pagination/Pagination.vue +14 -24
  380. package/src/components/Pagination/README.md +12 -12
  381. package/src/components/PropertySearchbar/PropertySearchbar.vue +191 -160
  382. package/src/components/PropertySearchbar/README.md +14 -15
  383. package/src/components/RecordCard/RecordCard.vue +14 -16
  384. package/src/components/Search/README.md +1 -1
  385. package/src/components/Search/Search.vue +13 -16
  386. package/src/components/Slider/Slider.vue +13 -16
  387. package/src/components/Snapshot/README.md +9 -10
  388. package/src/components/Snapshot/Snapshot.vue +15 -17
  389. package/src/components/Stepper/README.md +12 -13
  390. package/src/components/Stepper/Step.vue +22 -18
  391. package/src/components/Stepper/Stepper.spec.js +41 -46
  392. package/src/components/Stepper/Stepper.vue +17 -18
  393. package/src/components/Table/README.md +12 -11
  394. package/src/components/Table/Table.spec.js +17 -28
  395. package/src/components/Table/Table.vue +49 -48
  396. package/src/components/Tabs/README.md +8 -8
  397. package/src/components/Tabs/Tab.vue +21 -21
  398. package/src/components/Tabs/Tabs.vue +14 -17
  399. package/src/components/Testimonial/README.md +11 -12
  400. package/src/components/Testimonial/Testimonial.spec.js +22 -26
  401. package/src/components/Testimonial/Testimonial.vue +31 -25
  402. package/src/components/Timeline/README.md +3 -3
  403. package/src/components/Timeline/Timeline.spec.js +9 -11
  404. package/src/components/Timeline/Timeline.vue +10 -10
  405. package/src/components/VideoCard/VideoCard.vue +14 -16
  406. package/src/foundations/Logo/Logo.spec.js +30 -30
  407. package/src/foundations/Logo/Logo.vue +28 -28
  408. package/src/foundations/Logo/README.md +5 -4
  409. package/src/helpers/strings.js +11 -8
  410. package/src/index.js +27 -28
  411. package/src/vue-shim.d.ts +4 -4
@@ -8,20 +8,42 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  // @ts-nocheck
11
- import { zeroPad, isNumeric, ucfirst, resolvePath } from "./helpers.js";
11
+ import { zeroPad, isNumeric, ucfirst, resolvePath } from './helpers.js';
12
12
  // Basic functionality needed
13
13
  export const addDataAttributes = (table) => {
14
14
  const colHeadings = Array.from(table.querySelectorAll('thead th'));
15
15
  const colRows = Array.from(table.querySelectorAll('tbody tr'));
16
16
  colRows.forEach((row, index) => {
17
17
  const cells = Array.from(row.querySelectorAll('th, td'));
18
- const statuses = ['0', 'low', 'medium', 'high', 'unknown', 'n/a', 'pending', 'verified', 'due', 'overdue', 'incomplete', 'complete', 'completed', 'approval required', 'upcoming', 'requires approval', 'to do', 'on track', 'not started', 'warning', 'error'];
18
+ const statuses = [
19
+ '0',
20
+ 'low',
21
+ 'medium',
22
+ 'high',
23
+ 'unknown',
24
+ 'n/a',
25
+ 'pending',
26
+ 'verified',
27
+ 'due',
28
+ 'overdue',
29
+ 'incomplete',
30
+ 'complete',
31
+ 'completed',
32
+ 'approval required',
33
+ 'upcoming',
34
+ 'requires approval',
35
+ 'to do',
36
+ 'on track',
37
+ 'not started',
38
+ 'warning',
39
+ 'error',
40
+ ];
19
41
  cells.forEach((cell, cellIndex) => {
20
42
  const heading = colHeadings[cellIndex];
21
- if (typeof heading != "undefined") {
22
- let tempDiv = document.createElement("div");
43
+ if (typeof heading != 'undefined') {
44
+ const tempDiv = document.createElement('div');
23
45
  tempDiv.innerHTML = heading.innerHTML;
24
- let headingText = tempDiv.textContent || tempDiv.innerText || "";
46
+ const headingText = tempDiv.textContent || tempDiv.innerText || '';
25
47
  cell.setAttribute('data-label', headingText);
26
48
  if (heading.hasAttribute('data-td-class'))
27
49
  cell.setAttribute('class', heading.getAttribute('data-td-class'));
@@ -39,8 +61,8 @@ export const addDataAttributes = (table) => {
39
61
  export const getLargestLastColWidth = (table) => {
40
62
  let largestWidth = 0;
41
63
  Array.from(table.querySelectorAll('tbody tr')).forEach((row, index) => {
42
- let htmlStyles = window.getComputedStyle(document.querySelector('html'));
43
- let lastColChild = row.querySelector(':scope > *:last-child > *:first-child');
64
+ const htmlStyles = window.getComputedStyle(document.querySelector('html'));
65
+ const lastColChild = row.querySelector(':scope > *:last-child > *:first-child');
44
66
  if (lastColChild) {
45
67
  lastColChild.classList.add('text-nowrap');
46
68
  let responsiveWidth = lastColChild.offsetWidth / parseFloat(htmlStyles.fontSize);
@@ -69,27 +91,26 @@ export const createMobileButton = (table, wrapper) => {
69
91
  export const addTableEventListeners = (table) => {
70
92
  table.addEventListener('click', (event) => {
71
93
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-expand-button]')) {
72
- let button = event.target.closest('[data-expand-button]');
73
- let tableRow = button.closest('tr');
94
+ const button = event.target.closest('[data-expand-button]');
95
+ const tableRow = button.closest('tr');
74
96
  button.toggleAttribute('aria-expanded');
75
- if (tableRow.getAttribute('data-view') == "full")
97
+ if (tableRow.getAttribute('data-view') == 'full')
76
98
  tableRow.setAttribute('data-view', 'default');
77
99
  else
78
100
  tableRow.setAttribute('data-view', 'full');
79
101
  button.blur();
80
102
  }
81
- ;
82
103
  });
83
104
  };
84
105
  // Filters
85
106
  export const createSearchDataList = (table, form) => {
86
- let searchInput = form.querySelector('input[data-search]');
107
+ const searchInput = form.querySelector('input[data-search]');
87
108
  if (!searchInput)
88
109
  return false;
89
110
  const searchID = searchInput.getAttribute('id');
90
111
  const searchableColumns = searchInput.getAttribute('data-search').split(',');
91
- let inputWrapper = searchInput.parentNode;
92
- let searchableTerms = {};
112
+ const inputWrapper = searchInput.parentNode;
113
+ const searchableTerms = {};
93
114
  searchableColumns.forEach((columnHeading, index) => {
94
115
  Array.from(table.querySelectorAll('td[data-label="' + columnHeading.trim() + '"]')).forEach((td, index) => {
95
116
  if (td.querySelector('.td__content'))
@@ -102,23 +123,25 @@ export const createSearchDataList = (table, form) => {
102
123
  searchInput.setAttribute('autocomplete', 'off');
103
124
  if (!inputWrapper.querySelector('datalist'))
104
125
  inputWrapper.innerHTML += `<datalist id="${searchID}_list"></datalist>`;
105
- inputWrapper.querySelector('datalist').innerHTML = `${Object.keys(searchableTerms).map(term => `<option value="${term}"></option>`).join("")}`;
126
+ inputWrapper.querySelector('datalist').innerHTML = `${Object.keys(searchableTerms)
127
+ .map((term) => `<option value="${term}"></option>`)
128
+ .join('')}`;
106
129
  };
107
130
  export const addFilterEventListeners = (table, form, pagination, wrapper, savedTableBody) => {
108
- var timer;
131
+ let timer;
109
132
  // Check what conditions are set on the table to see what the form actions are
110
- let formSubmit = function (event, paginate = false) {
133
+ const formSubmit = function (event, paginate = false) {
111
134
  if (wrapper.hasAttribute('data-no-submit')) {
112
135
  return false;
113
136
  }
114
137
  if (form.classList.contains('processing'))
115
138
  return false;
116
139
  Array.from(form.querySelectorAll('iam-applied-filters')).forEach((element, index) => {
117
- var event = new Event('tags-set');
140
+ const event = new Event('tags-set');
118
141
  element.dispatchEvent(event);
119
142
  });
120
143
  // Before submitting check if any duplicate checkboxes within the filters dialog needs to upset the original input
121
- if (event.type == "submit") {
144
+ if (event.type == 'submit') {
122
145
  form.classList.add('processing');
123
146
  Array.from(form.querySelectorAll('[data-duplicate]')).forEach((element, index) => {
124
147
  const id = element.getAttribute('data-duplicate');
@@ -126,7 +149,7 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
126
149
  const card = document.querySelector(`[for="${id}"] iam-card`);
127
150
  if (input.checked != element.checked) {
128
151
  if (card) {
129
- let clickEvent = new Event('click');
152
+ const clickEvent = new Event('click');
130
153
  card.dispatchEvent(clickEvent);
131
154
  }
132
155
  else {
@@ -139,7 +162,7 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
139
162
  if (form.hasAttribute('data-ajax')) {
140
163
  // Default back to page 1
141
164
  if (!paginate) {
142
- let paginationInput = form.querySelector('[data-pagination]');
165
+ const paginationInput = form.querySelector('[data-pagination]');
143
166
  paginationInput.value = 1;
144
167
  wrapper.setAttribute('data-page', 1);
145
168
  }
@@ -154,8 +177,8 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
154
177
  }
155
178
  // Pass post data back to the page
156
179
  if (form.hasAttribute('data-ajax-post')) {
157
- let formData = new FormData(form);
158
- let queryString = new URLSearchParams(formData).toString();
180
+ const formData = new FormData(form);
181
+ const queryString = new URLSearchParams(formData).toString();
159
182
  const http = new XMLHttpRequest();
160
183
  http.open('GET', `${window.location.href}?ajax=true&${queryString}`);
161
184
  http.send();
@@ -180,7 +203,6 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
180
203
  formSubmit(event);
181
204
  }, 500);
182
205
  }
183
- ;
184
206
  });
185
207
  form.addEventListener('change', (event) => {
186
208
  clearTimeout(timer);
@@ -193,14 +215,21 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
193
215
  if (event && event.target instanceof HTMLElement && event.target.closest('input[data-search]')) {
194
216
  formSubmit(event);
195
217
  }
196
- if (event && event.target instanceof HTMLElement && event.target.closest('[data-filter][data-no-ajax]')) { // Allow for input fields to filter the current results without a new ajax call
218
+ if (event && event.target instanceof HTMLElement && event.target.closest('[data-filter][data-no-ajax]')) {
219
+ // Allow for input fields to filter the current results without a new ajax call
197
220
  filterTable(table, form, wrapper);
198
221
  populateDataQueries(table, form);
199
222
  }
200
- else if (event && event.target instanceof HTMLElement && event.target.closest('[data-filter]') && event.target.closest('form .dialog__wrapper > dialog')) {
223
+ else if (event &&
224
+ event.target instanceof HTMLElement &&
225
+ event.target.closest('[data-filter]') &&
226
+ event.target.closest('form .dialog__wrapper > dialog')) {
201
227
  formSubmit(event);
202
228
  }
203
- else if (event && event.target instanceof HTMLElement && event.target.closest('[data-filter]') && !event.target.closest('form dialog')) {
229
+ else if (event &&
230
+ event.target instanceof HTMLElement &&
231
+ event.target.closest('[data-filter]') &&
232
+ !event.target.closest('form dialog')) {
204
233
  formSubmit(event);
205
234
  }
206
235
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-show]')) {
@@ -210,7 +239,7 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
210
239
  formSubmit(event);
211
240
  }
212
241
  if (event && event.target instanceof HTMLElement && event.target.hasAttribute('id')) {
213
- let id = event.target.getAttribute('id');
242
+ const id = event.target.getAttribute('id');
214
243
  if (document.querySelector(`[data-duplicate="${id}"]`)) {
215
244
  document.querySelector(`[data-duplicate="${id}"]`).checked = event.target.checked;
216
245
  }
@@ -219,8 +248,8 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
219
248
  form.addEventListener('click', (event) => {
220
249
  clearTimeout(timer);
221
250
  if (event && event.target instanceof HTMLElement && event.target.closest('dialog button:not([type="button"])')) {
222
- let button = event.target.closest('dialog button:not([type="button"])');
223
- let modal = button.closest('dialog');
251
+ const button = event.target.closest('dialog button:not([type="button"])');
252
+ const modal = button.closest('dialog');
224
253
  modal.close();
225
254
  }
226
255
  // Prevent the form from submitting
@@ -232,37 +261,37 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
232
261
  form.classList.add('processing');
233
262
  // Make sure any applied filters have been removed
234
263
  Array.from(form.querySelectorAll('.applied-filters')).forEach((filters, index) => {
235
- filters.innerHTML = "";
264
+ filters.innerHTML = '';
236
265
  });
237
266
  // Make sure cards are unlicked
238
- let frm_elements = form.elements;
267
+ const frm_elements = form.elements;
239
268
  for (let i = 0; i < frm_elements.length; i++) {
240
- let field_type = frm_elements[i].type.toLowerCase() ? frm_elements[i].type.toLowerCase() : "text";
269
+ const field_type = frm_elements[i].type.toLowerCase() ? frm_elements[i].type.toLowerCase() : 'text';
241
270
  switch (field_type) {
242
- case "text":
243
- case "password":
244
- case "textarea":
245
- frm_elements[i].value = "";
271
+ case 'text':
272
+ case 'password':
273
+ case 'textarea':
274
+ frm_elements[i].value = '';
246
275
  break;
247
- case "radio":
248
- case "checkbox":
276
+ case 'radio':
277
+ case 'checkbox':
249
278
  if (frm_elements[i].checked) {
250
- let input = frm_elements[i];
251
- let id = input.getAttribute('id');
252
- let label = document.querySelector(`[for="${id}"`);
279
+ const input = frm_elements[i];
280
+ const id = input.getAttribute('id');
281
+ const label = document.querySelector(`[for="${id}"`);
253
282
  if (label.querySelector('iam-card')) {
254
- let card = label.querySelector('iam-card');
255
- let clickEvent = new Event('click');
283
+ const card = label.querySelector('iam-card');
284
+ const clickEvent = new Event('click');
256
285
  card.dispatchEvent(clickEvent);
257
286
  }
258
287
  input.checked = false;
259
288
  }
260
289
  break;
261
- case "select-one":
262
- case "select-multi":
290
+ case 'select-one':
291
+ case 'select-multi':
263
292
  frm_elements[i].selectedIndex = -1;
264
293
  break;
265
- case "hidden":
294
+ case 'hidden':
266
295
  default:
267
296
  break;
268
297
  }
@@ -288,13 +317,13 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
288
317
  formSubmit(event, true);
289
318
  });
290
319
  // Mmimic fields
291
- let forms = [];
292
- let fields = [];
320
+ const forms = [];
321
+ const fields = [];
293
322
  // Collect the forms that we need to add an event listener for.
294
323
  Array.from(form.querySelectorAll('[data-mimic]')).forEach((input, index) => {
295
- let mimicField = input.getAttribute('data-mimic');
324
+ const mimicField = input.getAttribute('data-mimic');
296
325
  Array.from(document.querySelectorAll(`[name="${mimicField}"]`)).forEach((mimicInput, index) => {
297
- let parentForm = mimicInput.closest('form');
326
+ const parentForm = mimicInput.closest('form');
298
327
  if (!forms.includes(parentForm)) {
299
328
  forms.push(parentForm);
300
329
  }
@@ -306,8 +335,8 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
306
335
  // For each form add change listener
307
336
  forms.forEach((parentForm, index) => {
308
337
  const updateMimicInput = function () {
309
- let mimickedAlready = [];
310
- let formData = new FormData(parentForm);
338
+ const mimickedAlready = [];
339
+ const formData = new FormData(parentForm);
311
340
  let i = 1;
312
341
  for (const [key, value] of formData) {
313
342
  if (document.querySelector(`[data-mimic="${key}"]`) && !mimickedAlready.includes(key)) {
@@ -315,18 +344,18 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
315
344
  document.querySelector(`[data-mimic="${key}"]`).value = value;
316
345
  }
317
346
  else if (document.querySelector(`[data-mimic="${key}"]`))
318
- document.querySelector(`[data-mimic="${key}"]`).value += "," + value;
347
+ document.querySelector(`[data-mimic="${key}"]`).value += ',' + value;
319
348
  i++;
320
349
  }
321
350
  for (const value of mimickedAlready) {
322
- const event = new Event("force");
351
+ const event = new Event('force');
323
352
  form.dispatchEvent(event);
324
353
  }
325
354
  // Check for empties
326
355
  for (const field of fields) {
327
356
  if (!formData.has(field) && parentForm.querySelector(`[name="${field}"]`)) {
328
- document.querySelector(`[data-mimic="${field}"]`).value = "";
329
- const event = new Event("force");
357
+ document.querySelector(`[data-mimic="${field}"]`).value = '';
358
+ const event = new Event('force');
330
359
  form.dispatchEvent(event);
331
360
  }
332
361
  }
@@ -343,15 +372,15 @@ export const sortTable = (table, form, savedTableBody) => {
343
372
  if (form.getAttribute('data-ajax')) {
344
373
  return false;
345
374
  }
346
- let tbody = table.querySelector('tbody');
375
+ const tbody = table.querySelector('tbody');
347
376
  let selectedOption = form.querySelector(`input[type="radio"][data-sort]:checked`);
348
377
  if (form.querySelector('select[data-sort]')) {
349
- let select = form.querySelector('select[data-sort]');
378
+ const select = form.querySelector('select[data-sort]');
350
379
  selectedOption = form.querySelector(`select[data-sort] option:nth-child(${select.selectedIndex + 1})`);
351
380
  }
352
- let sortBy = selectedOption.getAttribute('data-sort');
353
- let order = selectedOption.getAttribute('data-order');
354
- let format = selectedOption.getAttribute('data-format');
381
+ const sortBy = selectedOption.getAttribute('data-sort');
382
+ const order = selectedOption.getAttribute('data-order');
383
+ const format = selectedOption.getAttribute('data-format');
355
384
  if (!sortBy) {
356
385
  tbody.innerHTML = savedTableBody.innerHTML;
357
386
  addDataAttributes(table);
@@ -364,7 +393,9 @@ export const sortTable = (table, form, savedTableBody) => {
364
393
  // Create an array from the table rows, the index created is then used to sort the array
365
394
  let tableArr = [];
366
395
  Array.from(tbody.querySelectorAll('tr')).forEach((tableRow, index) => {
367
- let rowIndex = tableRow.querySelector('td[data-label="' + sortBy + '"], th[data-label="' + sortBy + '"]').textContent.trim();
396
+ let rowIndex = tableRow
397
+ .querySelector('td[data-label="' + sortBy + '"], th[data-label="' + sortBy + '"]')
398
+ .textContent.trim();
368
399
  if (tableRow.querySelector('[data-label="' + sortBy + '"] .td__content')) {
369
400
  rowIndex = tableRow.querySelector('[data-label="' + sortBy + '"] .td__content').textContent.trim();
370
401
  }
@@ -376,19 +407,19 @@ export const sortTable = (table, form, savedTableBody) => {
376
407
  rowIndex = zeroPad(rowIndex, 10);
377
408
  }
378
409
  // If the sort format is date then lets transform the index to a sortable date (this is never displayed)
379
- if (format && format == "date") {
410
+ if (format && format == 'date') {
380
411
  rowIndex = new Date(rowIndex);
381
412
  }
382
413
  const dataRow = {
383
414
  index: rowIndex,
384
- row: tableRow
415
+ row: tableRow,
385
416
  };
386
417
  tableArr.push(dataRow);
387
418
  });
388
419
  // Sort array alphabetically
389
- tableArr.sort((a, b) => (a.index > b.index) ? 1 : -1);
420
+ tableArr.sort((a, b) => (a.index > b.index ? 1 : -1));
390
421
  // Reverse if descending
391
- if (order == "descending" || order == "desc") {
422
+ if (order == 'descending' || order == 'desc') {
392
423
  tableArr = tableArr.reverse();
393
424
  }
394
425
  // Create a string to return and populate the tbody
@@ -400,11 +431,11 @@ export const sortTable = (table, form, savedTableBody) => {
400
431
  };
401
432
  export const filterTable = (table, form, wrapper) => {
402
433
  table.classList.remove('table--filtered');
403
- let filters = filterFilters(form);
404
- let searches = [];
434
+ const filters = filterFilters(form);
435
+ const searches = [];
405
436
  let matched = 0;
406
- let page = form.querySelector('[data-pagination]') ? parseInt(form.querySelector('[data-pagination]').value) : 1;
407
- let showRows = form.querySelector('[data-show]') ? parseInt(form.querySelector('[data-show]').value) : 15;
437
+ const page = form.querySelector('[data-pagination]') ? parseInt(form.querySelector('[data-pagination]').value) : 1;
438
+ const showRows = form.querySelector('[data-show]') ? parseInt(form.querySelector('[data-show]').value) : 15;
408
439
  // Reset
409
440
  Array.from(table.querySelectorAll('tbody tr')).forEach((row, index) => {
410
441
  row.classList.remove('filtered');
@@ -414,10 +445,10 @@ export const filterTable = (table, form, wrapper) => {
414
445
  });
415
446
  // Add search columns too
416
447
  if (form.querySelector('input[data-search]')) {
417
- let searchInput = form.querySelector('input[data-search]');
418
- let searchColumns = form.querySelector('input[data-search]').getAttribute('data-search').split(',');
448
+ const searchInput = form.querySelector('input[data-search]');
449
+ const searchColumns = form.querySelector('input[data-search]').getAttribute('data-search').split(',');
419
450
  searchColumns.forEach((column, index) => {
420
- searches.push({ 'column': `${column.trim()}`, 'value': `${searchInput.value}` });
451
+ searches.push({ column: `${column.trim()}`, value: `${searchInput.value}` });
421
452
  });
422
453
  }
423
454
  //Display the filter count
@@ -427,7 +458,7 @@ export const filterTable = (table, form, wrapper) => {
427
458
  });
428
459
  let filterCount = 0;
429
460
  Object.values(filters).forEach((filter, index) => {
430
- if (typeof filter == "object" && Object.values(filter).length) {
461
+ if (typeof filter == 'object' && Object.values(filter).length) {
431
462
  filterCount += Object.values(filter).length;
432
463
  }
433
464
  else {
@@ -446,81 +477,83 @@ export const filterTable = (table, form, wrapper) => {
446
477
  Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row, index) => {
447
478
  let isMatched = false;
448
479
  filterValue.forEach((filter, index) => {
449
- let filterTd = row.querySelector(`[data-label="${key}"]`);
480
+ const filterTd = row.querySelector(`[data-label="${key}"]`);
450
481
  if (filter.includes('-date-from')) {
451
- let fromDate = new Date(filter.replace('-date-from', ''));
452
- let checkDate = new Date(filterTd.textContent.toLowerCase());
482
+ const fromDate = new Date(filter.replace('-date-from', ''));
483
+ const checkDate = new Date(filterTd.textContent.toLowerCase());
453
484
  fromDate.setHours(0, 0, 0, 0);
454
485
  checkDate.setHours(0, 0, 0, 0);
455
486
  if (checkDate < fromDate) {
456
487
  row.classList.add('less-than-from-date');
457
488
  isMatched = false;
458
489
  }
459
- else if (!row.classList.contains('less-than-from-date') && !row.classList.contains('greater-than-to-date')) {
490
+ else if (!row.classList.contains('less-than-from-date') &&
491
+ !row.classList.contains('greater-than-to-date')) {
460
492
  isMatched = true;
461
493
  }
462
494
  }
463
495
  else if (filter.includes('-date-to')) {
464
- let toDate = new Date(filter.replace('-date-to', ''));
465
- let checkDate = new Date(filterTd.textContent.toLowerCase());
496
+ const toDate = new Date(filter.replace('-date-to', ''));
497
+ const checkDate = new Date(filterTd.textContent.toLowerCase());
466
498
  toDate.setHours(0, 0, 0, 0);
467
499
  checkDate.setHours(0, 0, 0, 0);
468
500
  if (checkDate > toDate) {
469
501
  row.classList.add('greater-than-to-date');
470
502
  isMatched = false;
471
503
  }
472
- else if (!row.classList.contains('less-than-from-date') && !row.classList.contains('greater-than-to-date')) {
504
+ else if (!row.classList.contains('less-than-from-date') &&
505
+ !row.classList.contains('greater-than-to-date')) {
473
506
  isMatched = true;
474
507
  }
475
508
  }
476
509
  // Dynamic values
477
- if (filter && filter == "$today") {
510
+ if (filter && filter == '$today') {
478
511
  filter = formatCell('date', new Date());
479
512
  }
480
- else if (filter && filter == "$yesterday") {
481
- let yesterday = new Date();
513
+ else if (filter && filter == '$yesterday') {
514
+ const yesterday = new Date();
482
515
  yesterday.setDate(yesterday.getDate() - 1);
483
516
  filter = formatCell('date', yesterday);
484
517
  }
485
- else if (filter && (filter == "$thisWeek" || filter == "$lastWeek")) {
486
- let today = new Date();
487
- let mondayThisWeek = new Date(today.setDate(today.getDate() - (today.getDay() - 1)));
488
- let sundayThisWeek = new Date(today.setDate(today.getDate() - today.getDay() + 7));
489
- let checkDate = new Date(filterTd.textContent.toLowerCase());
518
+ else if (filter && (filter == '$thisWeek' || filter == '$lastWeek')) {
519
+ const today = new Date();
520
+ const mondayThisWeek = new Date(today.setDate(today.getDate() - (today.getDay() - 1)));
521
+ const sundayThisWeek = new Date(today.setDate(today.getDate() - today.getDay() + 7));
522
+ const checkDate = new Date(filterTd.textContent.toLowerCase());
490
523
  today.setHours(0, 0, 0, 0);
491
524
  mondayThisWeek.setHours(0, 0, 0, 0);
492
525
  sundayThisWeek.setHours(0, 0, 0, 0);
493
526
  checkDate.setHours(0, 0, 0, 0);
494
- if (filter == "$thisWeek") {
495
- isMatched = (checkDate >= mondayThisWeek && checkDate <= sundayThisWeek);
527
+ if (filter == '$thisWeek') {
528
+ isMatched = checkDate >= mondayThisWeek && checkDate <= sundayThisWeek;
496
529
  }
497
530
  else {
498
- let mondayLastWeek = new Date(mondayThisWeek.setDate(mondayThisWeek.getDate() - 7));
499
- let sundayLastWeek = new Date(sundayThisWeek.setDate(sundayThisWeek.getDate() - 7));
531
+ const mondayLastWeek = new Date(mondayThisWeek.setDate(mondayThisWeek.getDate() - 7));
532
+ const sundayLastWeek = new Date(sundayThisWeek.setDate(sundayThisWeek.getDate() - 7));
500
533
  mondayLastWeek.setHours(0, 0, 0, 0);
501
534
  sundayLastWeek.setHours(0, 0, 0, 0);
502
- isMatched = (checkDate >= mondayLastWeek && checkDate <= sundayLastWeek);
535
+ isMatched = checkDate >= mondayLastWeek && checkDate <= sundayLastWeek;
503
536
  }
504
537
  }
505
- else if (filter && filter == "$thisMonth") {
506
- let today = new Date(), year = today.getFullYear(), month = today.getMonth();
507
- var firstDayMonth = new Date(year, month, 1);
508
- var lastDayMonth = new Date(year, month + 1, 0);
509
- let checkDate = new Date(filterTd.textContent.toLowerCase());
538
+ else if (filter && filter == '$thisMonth') {
539
+ const today = new Date(), year = today.getFullYear(), month = today.getMonth();
540
+ const firstDayMonth = new Date(year, month, 1);
541
+ const lastDayMonth = new Date(year, month + 1, 0);
542
+ const checkDate = new Date(filterTd.textContent.toLowerCase());
510
543
  firstDayMonth.setHours(0, 0, 0, 0);
511
544
  lastDayMonth.setHours(0, 0, 0, 0);
512
545
  checkDate.setHours(0, 0, 0, 0);
513
- isMatched = (checkDate >= firstDayMonth && checkDate <= lastDayMonth);
546
+ isMatched = checkDate >= firstDayMonth && checkDate <= lastDayMonth;
514
547
  }
515
- else if (filter && filter == "$lastMonth") {
516
- let today = new Date(), year = today.getFullYear(), month = today.getMonth();
517
- var firstDayLastMonth = new Date(year, month - 1, 1);
518
- var lastDayLastMonth = new Date(year, month, 0);
519
- let checkDate = new Date(filterTd.textContent.toLowerCase());
548
+ else if (filter && filter == '$lastMonth') {
549
+ const today = new Date(), year = today.getFullYear(), month = today.getMonth();
550
+ const firstDayLastMonth = new Date(year, month - 1, 1);
551
+ const lastDayLastMonth = new Date(year, month, 0);
552
+ const checkDate = new Date(filterTd.textContent.toLowerCase());
520
553
  firstDayLastMonth.setHours(0, 0, 0, 0);
521
554
  lastDayLastMonth.setHours(0, 0, 0, 0);
522
555
  checkDate.setHours(0, 0, 0, 0);
523
- isMatched = (checkDate >= firstDayLastMonth && checkDate <= lastDayLastMonth);
556
+ isMatched = checkDate >= firstDayLastMonth && checkDate <= lastDayLastMonth;
524
557
  }
525
558
  if (filterTd && filterTd.textContent.toLowerCase().includes(filter.replace('-', ' ').toLowerCase())) {
526
559
  isMatched = true;
@@ -536,8 +569,10 @@ export const filterTable = (table, form, wrapper) => {
536
569
  Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row, index) => {
537
570
  let isSearched = searches.length > 0 && searches[0].value.length >= 3 ? false : true;
538
571
  searches.forEach((search, index) => {
539
- let searchTd = row.querySelector(`[data-label="${search.column}"]`);
540
- if (searchTd && search.value.length >= 3 && searchTd.textContent.toLowerCase().includes(search.value.toLowerCase())) {
572
+ const searchTd = row.querySelector(`[data-label="${search.column}"]`);
573
+ if (searchTd &&
574
+ search.value.length >= 3 &&
575
+ searchTd.textContent.toLowerCase().includes(search.value.toLowerCase())) {
541
576
  isSearched = true;
542
577
  }
543
578
  });
@@ -549,8 +584,8 @@ export const filterTable = (table, form, wrapper) => {
549
584
  Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row, index) => {
550
585
  matched++;
551
586
  row.classList.add('filtered--matched');
552
- // pagination bit
553
- let matchesPage = Math.ceil(matched / showRows);
587
+ // pagination bit
588
+ const matchesPage = Math.ceil(matched / showRows);
554
589
  if (matchesPage == parseInt(page)) {
555
590
  row.classList.add('filtered--show');
556
591
  }
@@ -564,18 +599,20 @@ export const filterTable = (table, form, wrapper) => {
564
599
  export const populateDataQueries = (table, form, wrapper) => {
565
600
  const dataQueries = Array.from(form.querySelectorAll('[data-query]'));
566
601
  dataQueries.forEach((queryElement, index) => {
567
- let query = queryElement.getAttribute('data-query');
602
+ const query = queryElement.getAttribute('data-query');
568
603
  let numberOfMatchedRows = 0;
569
604
  if (query == 'total') {
570
605
  if (wrapper.hasAttribute('data-total'))
571
606
  numberOfMatchedRows = wrapper.getAttribute('data-total');
572
607
  else
573
- numberOfMatchedRows = table.classList.contains('table--filtered') ? table.querySelectorAll('tbody tr').length : table.querySelectorAll('tbody tr').length;
608
+ numberOfMatchedRows = table.classList.contains('table--filtered')
609
+ ? table.querySelectorAll('tbody tr').length
610
+ : table.querySelectorAll('tbody tr').length;
574
611
  }
575
612
  else if (!query.includes(' == ') && query.includes(' & ')) {
576
- let queries = query.split(' & ');
613
+ const queries = query.split(' & ');
577
614
  let selector = '';
578
- queries.forEach(element => {
615
+ queries.forEach((element) => {
579
616
  selector += `:not([data-filtered-by="${element}"])`;
580
617
  });
581
618
  numberOfMatchedRows = Array.from(table.querySelectorAll(`tbody tr${selector}`)).length;
@@ -584,19 +621,20 @@ export const populateDataQueries = (table, form, wrapper) => {
584
621
  numberOfMatchedRows = Array.from(table.querySelectorAll(`tbody tr:not([data-filtered-by="${query}"])`)).length;
585
622
  }
586
623
  else if (query.includes(' && ')) {
587
- let queries = query.split(' && ');
624
+ const queries = query.split(' && ');
588
625
  numberOfMatchedRows = Array.from(table.querySelectorAll(`tbody tr:not(.filtered)`)).filter(function (row) {
589
626
  let matched = true;
590
627
  for (const [index, value] of Object.entries(queries)) {
591
- let queryParts = value.split(' == ');
592
- if (!row.querySelector(`td[data-label="${queryParts[0]}"]`) || row.querySelector(`td[data-label="${queryParts[0]}"]`).textContent != `${queryParts[1]}`)
628
+ const queryParts = value.split(' == ');
629
+ if (!row.querySelector(`td[data-label="${queryParts[0]}"]`) ||
630
+ row.querySelector(`td[data-label="${queryParts[0]}"]`).textContent != `${queryParts[1]}`)
593
631
  matched = false;
594
632
  }
595
633
  return matched;
596
634
  }).length;
597
635
  }
598
636
  else {
599
- let queryParts = query.split(' == ');
637
+ const queryParts = query.split(' == ');
600
638
  numberOfMatchedRows = Array.from(table.querySelectorAll(`tbody tr.filtered--matched td[data-label="${queryParts[0]}"], tbody tr[data-filtered-by="${queryParts[0]}"] td[data-label="${queryParts[0]}"]`)).filter(function (element) {
601
639
  return element.textContent === queryParts[1];
602
640
  }).length;
@@ -615,17 +653,17 @@ export const addPaginationEventListeners = function (table, form, pagination, wr
615
653
  return false;
616
654
  }
617
655
  pagination.addEventListener('update-page', (event) => {
618
- let paginationInput = form.querySelector('[data-pagination]');
619
- let newPage = event.detail.page;
656
+ const paginationInput = form.querySelector('[data-pagination]');
657
+ const newPage = event.detail.page;
620
658
  // Set the filter value
621
659
  paginationInput.value = newPage;
622
- form.dispatchEvent(new Event("paginate"));
660
+ form.dispatchEvent(new Event('paginate'));
623
661
  // Reset the data attribute
624
662
  wrapper.setAttribute('data-page', newPage);
625
663
  if (table.hasAttribute('data-show-history')) {
626
664
  const url = new URL(location);
627
- url.searchParams.set("page", newPage);
628
- history.pushState({ 'type': 'pagination', 'form': form.getAttribute('id'), 'page': newPage }, "", url);
665
+ url.searchParams.set('page', newPage);
666
+ history.pushState({ type: 'pagination', form: form.getAttribute('id'), page: newPage }, '', url);
629
667
  }
630
668
  // scroll back to the top of the table
631
669
  if (!wrapper.hasAttribute('data-no-scroll')) {
@@ -635,11 +673,11 @@ export const addPaginationEventListeners = function (table, form, pagination, wr
635
673
  }
636
674
  });
637
675
  pagination.addEventListener('update-show', (event) => {
638
- let showInput = form.querySelector('[data-show]');
639
- let showRows = event.detail.show;
676
+ const showInput = form.querySelector('[data-show]');
677
+ const showRows = event.detail.show;
640
678
  showInput.value = showRows;
641
679
  wrapper.setAttribute('data-show', showRows);
642
- form.dispatchEvent(new Event("submit"));
680
+ form.dispatchEvent(new Event('submit'));
643
681
  });
644
682
  };
645
683
  // Export CSV Data
@@ -652,34 +690,34 @@ export const addExportEventListeners = (button, table) => {
652
690
  });
653
691
  };
654
692
  export const exportAsCSV = function (table) {
655
- var csvData = [];
693
+ let csvData = [];
656
694
  // Get each row data
657
- var rows = table.getElementsByTagName('tr');
658
- for (var i = 0; i < rows.length; i++) {
695
+ const rows = table.getElementsByTagName('tr');
696
+ for (let i = 0; i < rows.length; i++) {
659
697
  // Get each column data
660
- var cols = rows[i].querySelectorAll('td,th');
698
+ const cols = rows[i].querySelectorAll('td,th');
661
699
  // Stores each csv row data
662
- var csvRow = [];
663
- for (var j = 0; j < cols.length; j++) {
700
+ const csvRow = [];
701
+ for (let j = 0; j < cols.length; j++) {
664
702
  // Get the text data of each cell of a row and push it to csvrow
665
703
  csvRow.push(`"${cols[j].textContent}"`);
666
704
  }
667
705
  // Combine each column value with comma
668
- csvData.push(csvRow.join(","));
706
+ csvData.push(csvRow.join(','));
669
707
  }
670
708
  // Combine each row data with new line character
671
709
  csvData = csvData.join('\n');
672
710
  // Create CSV file object and feed our csvData into it
673
- let CSVFile = new Blob([csvData], {
674
- type: "text/csv"
711
+ const CSVFile = new Blob([csvData], {
712
+ type: 'text/csv',
675
713
  });
676
714
  // Create to temporary link to initiate download process
677
- var tempLink = document.createElement('a');
678
- tempLink.download = "export.csv";
679
- var url = window.URL.createObjectURL(CSVFile);
715
+ const tempLink = document.createElement('a');
716
+ tempLink.download = 'export.csv';
717
+ const url = window.URL.createObjectURL(CSVFile);
680
718
  tempLink.href = url;
681
719
  // This link should not be displayed
682
- tempLink.style.display = "none";
720
+ tempLink.style.display = 'none';
683
721
  document.body.appendChild(tempLink);
684
722
  // Automatically click the link to trigger download
685
723
  tempLink.click();
@@ -693,20 +731,20 @@ export const makeTableFunctional = function (table, form, pagination, wrapper) {
693
731
  // Work out the largest width of the CTA's in the last column
694
732
  if (wrapper && wrapper.classList.contains('table--cta')) {
695
733
  const largestWidth = getLargestLastColWidth(table);
696
- wrapper.style.setProperty("--cta-width", `${largestWidth}rem`);
734
+ wrapper.style.setProperty('--cta-width', `${largestWidth}rem`);
697
735
  function outputsize() {
698
736
  Array.from(table.querySelectorAll('tr')).forEach((row, index) => {
699
- let rowHeight = row.offsetHeight;
700
- row.style.setProperty("--row-height", `${rowHeight}px`);
737
+ const rowHeight = row.offsetHeight;
738
+ row.style.setProperty('--row-height', `${rowHeight}px`);
701
739
  });
702
740
  }
703
741
  new ResizeObserver(outputsize).observe(table);
704
742
  }
705
743
  };
706
744
  const filterFilters = function (form) {
707
- let filters = new Object();
745
+ const filters = new Object();
708
746
  // Filter
709
- let filterInputs = Array.from(form.querySelectorAll('[data-filter]'));
747
+ const filterInputs = Array.from(form.querySelectorAll('[data-filter]'));
710
748
  filterInputs.forEach((filterInput, index) => {
711
749
  // Ignore uncked radio inputs
712
750
  if (filterInput.type == 'radio' && !filterInput.checked) {
@@ -716,14 +754,14 @@ const filterFilters = function (form) {
716
754
  return;
717
755
  }
718
756
  if (filterInput && filterInput.value) {
719
- let dataFilter = filterInput.getAttribute('data-filter');
757
+ const dataFilter = filterInput.getAttribute('data-filter');
720
758
  let filterValue = filterInput.value;
721
759
  if (filterInput.hasAttribute('data-date-from'))
722
760
  filterValue += '-date-from';
723
761
  if (filterInput.hasAttribute('data-date-to'))
724
762
  filterValue += '-date-to';
725
763
  if (!filters[dataFilter])
726
- filters[dataFilter] = new Array();
764
+ filters[dataFilter] = [];
727
765
  filters[dataFilter].push(filterValue);
728
766
  }
729
767
  });
@@ -731,21 +769,21 @@ const filterFilters = function (form) {
731
769
  };
732
770
  export const loadAjaxTable = function (table, form, pagination, wrapper) {
733
771
  return __awaiter(this, void 0, void 0, function* () {
734
- let formData = new FormData(form);
735
- let queryString = new URLSearchParams(formData).toString();
736
- let columns = table.querySelectorAll('thead tr th:not(.expand-button-heading)');
737
- let tbody = table.querySelector('tbody');
738
- let ajaxURL = form.getAttribute('data-ajax');
772
+ const formData = new FormData(form);
773
+ const queryString = new URLSearchParams(formData).toString();
774
+ const columns = table.querySelectorAll('thead tr th:not(.expand-button-heading)');
775
+ const tbody = table.querySelector('tbody');
776
+ const ajaxURL = form.getAttribute('data-ajax');
739
777
  wrapper.classList.add('table--loading');
740
778
  // Display the filter count
741
- let filters = filterFilters(form);
779
+ const filters = filterFilters(form);
742
780
  Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element, index) => {
743
781
  element.innerHTML = '';
744
782
  element.parentNode.classList.remove('hover');
745
783
  });
746
784
  let filterCount = 0;
747
785
  Object.values(filters).forEach((filter, index) => {
748
- if (typeof filter == "object" && Object.values(filter).length)
786
+ if (typeof filter == 'object' && Object.values(filter).length)
749
787
  filterCount += Object.values(filter).length;
750
788
  else
751
789
  filterCount++;
@@ -776,47 +814,59 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
776
814
  headers: new Headers({
777
815
  'Content-Type': 'application/json',
778
816
  Accept: 'application/json',
779
- 'X-Requested-With': 'XMLHttpRequest'
780
- })
817
+ 'X-Requested-With': 'XMLHttpRequest',
818
+ }),
781
819
  })
782
- .then((response) => response.json()).then((response) => {
783
- let schema = form.hasAttribute('data-schema') ? form.getAttribute('data-schema') : 'data';
784
- let totalNumberSchema = form.hasAttribute('data-schema-total') ? form.getAttribute('data-schema-total') : 'meta.total';
785
- let currentPageSchema = form.hasAttribute('data-schema-page') ? form.getAttribute('data-schema-page') : 'meta.current_page';
786
- let totalNumber = resolvePath(response, totalNumberSchema, 15);
787
- let currentPage = resolvePath(response, currentPageSchema, 1);
788
- let data = resolvePath(response, schema);
789
- let emptyMsg = wrapper.hasAttribute('data-empty-msg') ? wrapper.getAttribute('data-empty-msg') : "No results found";
820
+ .then((response) => response.json())
821
+ .then((response) => {
822
+ const schema = form.hasAttribute('data-schema') ? form.getAttribute('data-schema') : 'data';
823
+ const totalNumberSchema = form.hasAttribute('data-schema-total')
824
+ ? form.getAttribute('data-schema-total')
825
+ : 'meta.total';
826
+ const currentPageSchema = form.hasAttribute('data-schema-page')
827
+ ? form.getAttribute('data-schema-page')
828
+ : 'meta.current_page';
829
+ const totalNumber = resolvePath(response, totalNumberSchema, 15);
830
+ const currentPage = resolvePath(response, currentPageSchema, 1);
831
+ const data = resolvePath(response, schema);
832
+ const emptyMsg = wrapper.hasAttribute('data-empty-msg')
833
+ ? wrapper.getAttribute('data-empty-msg')
834
+ : 'No results found';
790
835
  if (data) {
791
836
  tbody.innerHTML = '';
792
837
  data.forEach((row, index) => {
793
- var table_row = document.createElement('tr');
838
+ const table_row = document.createElement('tr');
794
839
  columns.forEach((col, index) => {
795
840
  let cellOutput = '';
796
- var table_cell = document.createElement('td');
841
+ const table_cell = document.createElement('td');
797
842
  // Add some data to help with the mobile layout design
798
843
  table_cell.setAttribute('data-label', col.innerText);
799
844
  if (col.getAttribute('data-output')) {
800
845
  var cellTemplate = col.getAttribute('data-output');
801
846
  // Use a regex to replace {var} with actual values from the json data
802
- cellOutput = cellTemplate.replace(new RegExp(/{(.*?)}/, "gm"), function (matched) { return resolvePath(row, matched.replace('{', '').replace('}', '')); });
847
+ cellOutput = cellTemplate.replace(new RegExp(/{(.*?)}/, 'gm'), function (matched) {
848
+ return resolvePath(row, matched.replace('{', '').replace('}', ''));
849
+ });
803
850
  }
804
851
  // If an output array is defined then the content is going to made of of multiple values from an array
805
852
  if (col.hasAttribute('data-output-array')) {
806
853
  var cellTemplate = col.getAttribute('data-output');
807
- let arrValue = resolvePath(row, cellTemplate.replace('{', '').replace('}', ''));
808
- cellOutput = "";
854
+ const arrValue = resolvePath(row, cellTemplate.replace('{', '').replace('}', ''));
855
+ cellOutput = '';
809
856
  arrValue.forEach((rowValue, i) => {
810
- let cellTemplateValue = col.getAttribute('data-output-array');
811
- let cellOutputValue = "";
857
+ const cellTemplateValue = col.getAttribute('data-output-array');
858
+ let cellOutputValue = '';
812
859
  // If we need to transform some of the data
813
- if (col.hasAttribute('data-output-array-property') && col.hasAttribute('data-output-array-transform')) {
860
+ if (col.hasAttribute('data-output-array-property') &&
861
+ col.hasAttribute('data-output-array-transform')) {
814
862
  const propertyValue = resolvePath(rowValue, col.getAttribute('data-output-array-property'));
815
863
  const transforms = JSON.parse(col.getAttribute('data-output-array-transform'));
816
864
  const transformValue = transforms[propertyValue];
817
865
  cellOutputValue = cellTemplateValue.replace(`{${col.getAttribute('data-output-array-property')}}`, transformValue);
818
866
  }
819
- cellOutputValue = cellOutputValue.replace(new RegExp(/{(.*?)}/, "gm"), function (matched) { return resolvePath(rowValue, matched.replace('{', '').replace('}', '')); });
867
+ cellOutputValue = cellOutputValue.replace(new RegExp(/{(.*?)}/, 'gm'), function (matched) {
868
+ return resolvePath(rowValue, matched.replace('{', '').replace('}', ''));
869
+ });
820
870
  cellOutput += cellOutputValue;
821
871
  });
822
872
  }
@@ -832,12 +882,12 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
832
882
  tbody.appendChild(table_row);
833
883
  });
834
884
  createSearchDataList(table, form);
835
- // Add data to the pagination
885
+ // Add data to the pagination
836
886
  wrapper.setAttribute('data-total', parseInt(totalNumber));
837
887
  wrapper.setAttribute('data-page', parseInt(currentPage));
838
888
  makeTableFunctional(table, form, pagination, wrapper);
839
889
  Array.from(form.querySelectorAll('[data-ajax-query]')).forEach((queryElement, index) => {
840
- let totalNumber = resolvePath(response, queryElement.getAttribute('data-ajax-query'), '');
890
+ const totalNumber = resolvePath(response, queryElement.getAttribute('data-ajax-query'), '');
841
891
  if (queryElement.hasAttribute('data-total'))
842
892
  queryElement.setAttribute('data-total', totalNumber);
843
893
  else
@@ -849,9 +899,9 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
849
899
  wrapper.classList.remove('table--loading');
850
900
  window.dataLayer = window.dataLayer || [];
851
901
  window.dataLayer.push({
852
- "event": "Ajax table loaded",
853
- "url": ajaxURL,
854
- "formData": queryString
902
+ event: 'Ajax table loaded',
903
+ url: ajaxURL,
904
+ formData: queryString,
855
905
  });
856
906
  }
857
907
  else {
@@ -870,10 +920,21 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
870
920
  export const formatCell = (format, cellOutput) => {
871
921
  switch (format) {
872
922
  case 'datetime':
873
- return new Date(cellOutput).toLocaleDateString('en-gb', { weekday: 'short', year: "2-digit", month: "long", day: "numeric", }) + " " + new Date(cellOutput).toLocaleTimeString("en-gb", { hour: "2-digit", minute: "2-digit" });
923
+ return (new Date(cellOutput).toLocaleDateString('en-gb', {
924
+ weekday: 'short',
925
+ year: '2-digit',
926
+ month: 'long',
927
+ day: 'numeric',
928
+ }) +
929
+ ' ' +
930
+ new Date(cellOutput).toLocaleTimeString('en-gb', { hour: '2-digit', minute: '2-digit' }));
874
931
  case 'date':
875
- return new Date(cellOutput).toLocaleDateString('en-gb', { day: "numeric", month: "long", year: "2-digit" });
932
+ return new Date(cellOutput).toLocaleDateString('en-gb', {
933
+ day: 'numeric',
934
+ month: 'long',
935
+ year: '2-digit',
936
+ });
876
937
  case 'capitalise':
877
- return cellOutput = ucfirst(cellOutput);
938
+ return (cellOutput = ucfirst(cellOutput));
878
939
  }
879
940
  };