@iamproperty/components 7.1.0--beta7 → 7.2.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 (347) hide show
  1. package/assets/css/components/actionbar.component.css +1 -0
  2. package/assets/css/components/actionbar.component.css.map +1 -0
  3. package/assets/css/components/actionbar.global.css +1 -1
  4. package/assets/css/components/actionbar.global.css.map +1 -1
  5. package/assets/css/components/address-lookup.css +1 -1
  6. package/assets/css/components/address-lookup.css.map +1 -1
  7. package/assets/css/components/barchart.component.css +1 -1
  8. package/assets/css/components/barchart.component.css.map +1 -1
  9. package/assets/css/components/bento-grid.component.css +1 -0
  10. package/assets/css/components/bento-grid.component.css.map +1 -0
  11. package/assets/css/components/card.component.css +1 -1
  12. package/assets/css/components/card.component.css.map +1 -1
  13. package/assets/css/components/carousel.component.css +1 -1
  14. package/assets/css/components/carousel.component.css.map +1 -1
  15. package/assets/css/components/carousel.config.css +1 -1
  16. package/assets/css/components/carousel.config.css.map +1 -1
  17. package/assets/css/components/charts.config.css +1 -1
  18. package/assets/css/components/charts.config.css.map +1 -1
  19. package/assets/css/components/charts.css +1 -1
  20. package/assets/css/components/charts.css.map +1 -1
  21. package/assets/css/components/charts.module.css +1 -1
  22. package/assets/css/components/charts.module.css.map +1 -1
  23. package/assets/css/components/collapsible-side.css +1 -1
  24. package/assets/css/components/collapsible-side.css.map +1 -1
  25. package/assets/css/components/doughnutchart.component.css +1 -0
  26. package/assets/css/components/doughnutchart.component.css.map +1 -0
  27. package/assets/css/components/fileupload.css.map +1 -1
  28. package/assets/css/components/header.css.map +1 -1
  29. package/assets/css/components/inline-edit.preload.css +1 -1
  30. package/assets/css/components/inline-edit.preload.css.map +1 -1
  31. package/assets/css/components/marketing.css.map +1 -1
  32. package/assets/css/components/menu.component.css +1 -0
  33. package/assets/css/components/menu.component.css.map +1 -0
  34. package/assets/css/components/menu.css +1 -0
  35. package/assets/css/components/menu.css.map +1 -0
  36. package/assets/css/components/multi-step.component.css.map +1 -1
  37. package/assets/css/components/multiselect.preload.css +1 -1
  38. package/assets/css/components/multiselect.preload.css.map +1 -1
  39. package/assets/css/components/nav.component.css +1 -0
  40. package/assets/css/components/nav.component.css.map +1 -0
  41. package/assets/css/components/nav.docs.css.map +1 -1
  42. package/assets/css/components/nav.global.css.map +1 -1
  43. package/assets/css/components/nav.old.css +1 -1
  44. package/assets/css/components/nav.old.css.map +1 -1
  45. package/assets/css/components/nav.preload.css +1 -1
  46. package/assets/css/components/nav.preload.css.map +1 -1
  47. package/assets/css/components/notification.css +1 -1
  48. package/assets/css/components/notification.css.map +1 -1
  49. package/assets/css/components/pagination.css +1 -1
  50. package/assets/css/components/pagination.css.map +1 -1
  51. package/assets/css/components/property-searchbar.css.map +1 -1
  52. package/assets/css/components/slider.css +1 -1
  53. package/assets/css/components/slider.css.map +1 -1
  54. package/assets/css/components/snapshot.css.map +1 -1
  55. package/assets/css/components/stepper.css.map +1 -1
  56. package/assets/css/components/{table.css → table.component.css} +1 -1
  57. package/assets/css/components/table.component.css.map +1 -0
  58. package/assets/css/components/table.global.css +1 -1
  59. package/assets/css/components/table.global.css.map +1 -1
  60. package/assets/css/components/tabs.component.css +1 -0
  61. package/assets/css/components/tabs.component.css.map +1 -0
  62. package/assets/css/components/tabs.css.map +1 -1
  63. package/assets/css/components/testimonial.css.map +1 -1
  64. package/assets/css/components/timeline.css.map +1 -1
  65. package/assets/css/core.min.css +1 -1
  66. package/assets/css/core.min.css.map +1 -1
  67. package/assets/css/mobile-core.min.css +1 -0
  68. package/assets/css/mobile-core.min.css.map +1 -0
  69. package/assets/css/mobile.min.css +1 -0
  70. package/assets/css/mobile.min.css.map +1 -0
  71. package/assets/css/style.min.css +1 -1
  72. package/assets/css/style.min.css.map +1 -1
  73. package/assets/js/components/_global.js +0 -1
  74. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  75. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  76. package/assets/js/components/actionbar/actionbar.component.js +86 -8
  77. package/assets/js/components/actionbar/actionbar.component.min.js +19 -6
  78. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  79. package/assets/js/components/address-lookup/address-lookup.component.js +17 -18
  80. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
  81. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  82. package/assets/js/components/applied-filters/applied-filters.component.js +0 -1
  83. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  84. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  85. package/assets/js/components/barchart/barchart.component.js +2 -3
  86. package/assets/js/components/barchart/barchart.component.min.js +8 -4
  87. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  88. package/assets/js/components/bento-grid/bento-grid.component.js +50 -0
  89. package/assets/js/components/bento-grid/bento-grid.component.min.js +15 -0
  90. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -0
  91. package/assets/js/components/card/card.component.js +10 -13
  92. package/assets/js/components/card/card.component.min.js +7 -7
  93. package/assets/js/components/card/card.component.min.js.map +1 -1
  94. package/assets/js/components/carousel/carousel.component.js +4 -5
  95. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  96. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  97. package/assets/js/components/chart/chart.component.js +1 -5
  98. package/assets/js/components/collapsible-side/collapsible-side.component.js +4 -5
  99. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
  100. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  101. package/assets/js/components/doughnutchart/doughnutchart.component.js +70 -0
  102. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +25 -0
  103. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -0
  104. package/assets/js/components/fileupload/fileupload.component.js +2 -3
  105. package/assets/js/components/fileupload/fileupload.component.min.js +6 -6
  106. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  107. package/assets/js/components/filter-card/filter-card.component.js +3 -4
  108. package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
  109. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  110. package/assets/js/components/filterlist/filterlist.component.js +0 -1
  111. package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
  112. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  113. package/assets/js/components/header/header.component.js +0 -1
  114. package/assets/js/components/header/header.component.min.js +1 -1
  115. package/assets/js/components/header/header.component.min.js.map +1 -1
  116. package/assets/js/components/inline-edit/inline-edit.component.js +7 -8
  117. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  118. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  119. package/assets/js/components/marketing/marketing.component.js +0 -1
  120. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  121. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  122. package/assets/js/components/menu/menu.component.js +200 -0
  123. package/assets/js/components/menu/menu.component.min.js +77 -0
  124. package/assets/js/components/menu/menu.component.min.js.map +1 -0
  125. package/assets/js/components/multi-step/multi-step.component.js +10 -10
  126. package/assets/js/components/multi-step/multi-step.component.min.js +13 -0
  127. package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -0
  128. package/assets/js/components/multiselect/multiselect.component.js +10 -10
  129. package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
  130. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  131. package/assets/js/components/nav/nav.component.js +7 -7
  132. package/assets/js/components/nav/nav.component.min.js +7 -7
  133. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  134. package/assets/js/components/notification/notification.component.js +3 -3
  135. package/assets/js/components/notification/notification.component.min.js +4 -4
  136. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  137. package/assets/js/components/pagination/pagination.component.js +3 -4
  138. package/assets/js/components/pagination/pagination.component.min.js +4 -4
  139. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  140. package/assets/js/components/record-card/record-card.component.js +6 -8
  141. package/assets/js/components/record-card/record-card.component.min.js +4 -4
  142. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  143. package/assets/js/components/search/search.component.js +9 -6
  144. package/assets/js/components/search/search.component.min.js +8 -5
  145. package/assets/js/components/search/search.component.min.js.map +1 -1
  146. package/assets/js/components/slider/slider.component.js +8 -8
  147. package/assets/js/components/slider/slider.component.min.js +5 -5
  148. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  149. package/assets/js/components/table/table.component.js +8 -9
  150. package/assets/js/components/table/table.component.min.js +7 -7
  151. package/assets/js/components/table/table.component.min.js.map +1 -1
  152. package/assets/js/components/tabs/tabs.component.js +1 -2
  153. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  154. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  155. package/assets/js/components/video-card/video-card.component.js +4 -3
  156. package/assets/js/components/video-card/video-card.component.min.js +3 -3
  157. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  158. package/assets/js/modules/applied-filters.js +8 -9
  159. package/assets/js/modules/carousel.js +9 -10
  160. package/assets/js/modules/chart.js +5 -3
  161. package/assets/js/modules/chart.module.js +108 -1
  162. package/assets/js/modules/dialogs.js +6 -7
  163. package/assets/js/modules/drawer.js +1 -2
  164. package/assets/js/modules/dynamicEvents.js +7 -8
  165. package/assets/js/modules/fileupload.js +7 -7
  166. package/assets/js/modules/filterlist.js +3 -4
  167. package/assets/js/modules/form.js +12 -13
  168. package/assets/js/modules/helpers.js +3 -5
  169. package/assets/js/modules/inputs.js +6 -9
  170. package/assets/js/modules/nav.js +3 -4
  171. package/assets/js/modules/notification.js +2 -3
  172. package/assets/js/modules/orderablelist.js +0 -1
  173. package/assets/js/modules/table.js +80 -42
  174. package/assets/js/modules/tabs.js +3 -6
  175. package/assets/js/scripts.bundle.js +3 -3
  176. package/assets/js/scripts.bundle.js.map +1 -1
  177. package/assets/js/scripts.bundle.min.js +2 -2
  178. package/assets/js/scripts.bundle.min.js.map +1 -1
  179. package/assets/js/scripts.js +64 -6
  180. package/assets/js/tests/card.spec.js +14 -0
  181. package/assets/js/tests/carousel.spec.js +60 -0
  182. package/assets/js/tests/chart.spec.js +7 -5
  183. package/assets/js/tests/fileupload.spec.js +22 -0
  184. package/assets/js/tests/multistep.spec.js +68 -0
  185. package/assets/sass/_bs_grid.scss +4 -1
  186. package/assets/sass/_components.scss +323 -100
  187. package/assets/sass/_corefiles.scss +42 -18
  188. package/assets/sass/_elements.scss +98 -18
  189. package/assets/sass/_example.scss +61 -0
  190. package/assets/sass/_func.scss +5 -13
  191. package/assets/sass/_functions/bs_utilities.scss +43 -39
  192. package/assets/sass/_functions/functions.scss +66 -52
  193. package/assets/sass/_functions/mixins.scss +84 -100
  194. package/assets/sass/_functions/utility-mixins.scss +56 -44
  195. package/assets/sass/_functions/variables.scss +90 -1659
  196. package/assets/sass/_functions/variables_old.scss +1701 -0
  197. package/assets/sass/_grid.scss +19 -5
  198. package/assets/sass/_tests/func.spec.scss +1 -37
  199. package/assets/sass/_tests/mixins.spec.scss +1 -77
  200. package/assets/sass/_tests/typography.spec.scss +1 -1
  201. package/assets/sass/_utilities.scss +15 -5
  202. package/assets/sass/_utility-mixins.scss +6 -1
  203. package/assets/sass/components/{actionbar.scss → actionbar.component.scss} +82 -16
  204. package/assets/sass/components/actionbar.global.scss +28 -14
  205. package/assets/sass/components/address-lookup.scss +6 -0
  206. package/assets/sass/components/barchart.component.scss +7 -20
  207. package/assets/sass/components/bento-grid.component.scss +91 -0
  208. package/assets/sass/components/carousel.config.scss +64 -58
  209. package/assets/sass/components/charts.config.scss +73 -67
  210. package/assets/sass/components/charts.module.scss +128 -97
  211. package/assets/sass/components/charts.scss +43 -42
  212. package/assets/sass/components/collapsible-side.scss +29 -27
  213. package/assets/sass/components/doughnutchart.component.scss +205 -0
  214. package/assets/sass/components/fileupload.scss +4 -3
  215. package/assets/sass/components/header.scss +5 -5
  216. package/assets/sass/components/inline-edit.preload.scss +108 -102
  217. package/assets/sass/components/menu.component.scss +101 -0
  218. package/assets/sass/components/menu.scss +21 -0
  219. package/assets/sass/components/multi-step.component.scss +5 -3
  220. package/assets/sass/components/multiselect.preload.scss +36 -30
  221. package/assets/sass/components/{nav.scss → nav.component.scss} +41 -21
  222. package/assets/sass/components/nav.docs.scss +1 -1
  223. package/assets/sass/components/nav.global.scss +13 -11
  224. package/assets/sass/components/nav.old.scss +21 -24
  225. package/assets/sass/components/nav.preload.scss +40 -34
  226. package/assets/sass/components/notification.scss +9 -5
  227. package/assets/sass/components/pagination.scss +6 -0
  228. package/assets/sass/components/property-searchbar.scss +7 -7
  229. package/assets/sass/components/slider.scss +2 -0
  230. package/assets/sass/components/snapshot.scss +2 -2
  231. package/assets/sass/components/stepper.scss +7 -7
  232. package/assets/sass/components/table.global.scss +57 -1
  233. package/assets/sass/components/tabs.component.scss +5 -0
  234. package/assets/sass/components/tabs.scss +7 -3
  235. package/assets/sass/components/testimonial.scss +7 -7
  236. package/assets/sass/components/timeline.scss +1 -1
  237. package/assets/sass/core.scss +13 -4
  238. package/assets/sass/elements/admin-panel.scss +199 -185
  239. package/assets/sass/elements/badge-tag.scss +87 -81
  240. package/assets/sass/elements/brand.scss +67 -61
  241. package/assets/sass/elements/buttons--action.scss +55 -0
  242. package/assets/sass/elements/buttons--compact.scss +135 -0
  243. package/assets/sass/elements/buttons--global.scss +322 -0
  244. package/assets/sass/elements/buttons--secondary.scss +24 -0
  245. package/assets/sass/elements/buttons--tertiary.scss +57 -0
  246. package/assets/sass/elements/buttons.scss +29 -503
  247. package/assets/sass/elements/container.scss +157 -151
  248. package/assets/sass/elements/details.scss +147 -138
  249. package/assets/sass/elements/dialog.scss +36 -30
  250. package/assets/sass/elements/forms.scss +1061 -1047
  251. package/assets/sass/elements/icons.scss +23 -17
  252. package/assets/sass/elements/links.scss +131 -116
  253. package/assets/sass/elements/lists.scss +270 -264
  254. package/assets/sass/elements/media.scss +19 -13
  255. package/assets/sass/elements/modal.scss +336 -330
  256. package/assets/sass/elements/popover.scss +163 -152
  257. package/assets/sass/elements/progress.scss +173 -162
  258. package/assets/sass/elements/table.element.scss +115 -109
  259. package/assets/sass/elements/tooltips.scss +87 -80
  260. package/assets/sass/elements/type.scss +172 -160
  261. package/assets/sass/email.scss +0 -1
  262. package/assets/sass/error.scss +15 -13
  263. package/assets/sass/foundations/reboot.scss +176 -170
  264. package/assets/sass/foundations/root.scss +136 -125
  265. package/assets/sass/helpers/max-height.scss +2 -2
  266. package/assets/sass/main.scss +14 -6
  267. package/assets/sass/mobile-core.scss +14 -0
  268. package/assets/sass/mobile.scss +16 -0
  269. package/assets/sass/templates/auth.scss +88 -83
  270. package/assets/sass/templates/form.scss +68 -59
  271. package/assets/ts/components/_global.ts +2 -3
  272. package/assets/ts/components/actionbar/actionbar.component.ts +94 -2
  273. package/assets/ts/components/address-lookup/address-lookup.component.ts +21 -22
  274. package/assets/ts/components/applied-filters/applied-filters.component.ts +1 -2
  275. package/assets/ts/components/barchart/barchart.component.ts +3 -5
  276. package/assets/ts/components/bento-grid/README.md +31 -0
  277. package/assets/ts/components/bento-grid/bento-grid.component.ts +67 -0
  278. package/assets/ts/components/card/card.component.ts +13 -16
  279. package/assets/ts/components/carousel/carousel.component.ts +5 -7
  280. package/assets/ts/components/chart/chart.component.ts +4 -9
  281. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -6
  282. package/assets/ts/components/doughnutchart/doughnutchart.component.ts +85 -0
  283. package/assets/ts/components/fileupload/fileupload.component.ts +5 -6
  284. package/assets/ts/components/filter-card/filter-card.component.ts +4 -5
  285. package/assets/ts/components/filterlist/filterlist.component.ts +1 -2
  286. package/assets/ts/components/header/header.component.ts +1 -3
  287. package/assets/ts/components/inline-edit/inline-edit.component.ts +8 -11
  288. package/assets/ts/components/marketing/marketing.component.ts +1 -3
  289. package/assets/ts/components/menu/menu.component.ts +222 -0
  290. package/assets/ts/components/multi-step/multi-step.component.ts +19 -23
  291. package/assets/ts/components/multiselect/multiselect.component.ts +13 -14
  292. package/assets/ts/components/nav/nav.component.ts +8 -9
  293. package/assets/ts/components/notification/notification.component.ts +3 -3
  294. package/assets/ts/components/pagination/pagination.component.ts +7 -8
  295. package/assets/ts/components/record-card/record-card.component.ts +9 -11
  296. package/assets/ts/components/search/search.component.ts +12 -9
  297. package/assets/ts/components/slider/slider.component.ts +9 -10
  298. package/assets/ts/components/table/table.component.ts +14 -16
  299. package/assets/ts/components/tabs/tabs.component.ts +2 -3
  300. package/assets/ts/components/video-card/video-card.component.ts +13 -12
  301. package/assets/ts/modules/applied-filters.ts +10 -11
  302. package/assets/ts/modules/card.module.ts +1 -1
  303. package/assets/ts/modules/carousel.ts +13 -15
  304. package/assets/ts/modules/chart.module.ts +152 -19
  305. package/assets/ts/modules/chart.ts +26 -24
  306. package/assets/ts/modules/dialogs.ts +10 -13
  307. package/assets/ts/modules/drawer.ts +1 -2
  308. package/assets/ts/modules/dynamicEvents.ts +12 -14
  309. package/assets/ts/modules/fileupload.ts +10 -10
  310. package/assets/ts/modules/filterlist.ts +6 -7
  311. package/assets/ts/modules/form.ts +16 -17
  312. package/assets/ts/modules/helpers.ts +18 -21
  313. package/assets/ts/modules/inputs.ts +15 -18
  314. package/assets/ts/modules/nav.ts +4 -5
  315. package/assets/ts/modules/notification.ts +7 -8
  316. package/assets/ts/modules/orderablelist.ts +3 -4
  317. package/assets/ts/modules/pagination.ts +1 -1
  318. package/assets/ts/modules/table.ts +103 -60
  319. package/assets/ts/modules/tabs.ts +5 -8
  320. package/assets/ts/scripts.ts +70 -6
  321. package/assets/ts/tests/card.spec.ts +19 -0
  322. package/assets/ts/tests/carousel.spec.ts +66 -0
  323. package/assets/ts/tests/chart.spec.ts +9 -6
  324. package/assets/ts/tests/fileupload.spec.ts +30 -0
  325. package/assets/ts/tests/multistep.spec.ts +78 -0
  326. package/dist/components.es.js +1258 -1063
  327. package/dist/components.umd.js +473 -195
  328. package/package.json +44 -49
  329. package/src/components/BentoGrid/BentoGrid.vue +20 -0
  330. package/src/components/DoughnutChart/DoughnutChart.vue +23 -0
  331. package/src/components/FileUpload/FileUpload.vue +4 -1
  332. package/src/components/Menu/Menu.vue +22 -0
  333. package/src/components/Tabs/Tabs.vue +0 -4
  334. package/src/index.js +25 -19
  335. package/assets/css/components/actionbar.css +0 -1
  336. package/assets/css/components/actionbar.css.map +0 -1
  337. package/assets/css/components/nav.css +0 -1
  338. package/assets/css/components/nav.css.map +0 -1
  339. package/assets/css/components/table.css.map +0 -1
  340. package/assets/js/components.bundle.js +0 -5
  341. package/assets/js/components.bundle.js.map +0 -1
  342. package/assets/js/components.js +0 -57
  343. package/assets/js/modules/file-upload.js +0 -32
  344. package/assets/ts/components.ts +0 -62
  345. package/assets/ts/modules/file-upload.ts +0 -52
  346. package/dist/style.css +0 -1
  347. /package/assets/sass/components/{table.scss → table.component.scss} +0 -0
@@ -1,6 +1,8 @@
1
+ import { ucfirst, unsnake } from './helpers';
2
+
1
3
  // #region Functions that setup and trigger other functions
2
4
 
3
- export const addClasses = (chartElement: any, chartOuter: any) => {
5
+ export const addClasses = (chartElement: any, chartOuter: any): boolean => {
4
6
  // add colour classes
5
7
  for (let i = 1; i <= 10; i++) {
6
8
  if (chartElement.hasAttribute(`data-colour-${i}`)) {
@@ -19,7 +21,12 @@ export const addClasses = (chartElement: any, chartOuter: any) => {
19
21
  return true;
20
22
  };
21
23
 
22
- export const setupChart = (chartElement: any, chartOuter: any, tableElement: any) => {
24
+ export const setupChart = (chartElement: any, chartOuter: any, tableElement: any): boolean => {
25
+ if (chartElement.tagName == 'IAM-DOUGHNUTCHART') {
26
+ setupDoughnutChart(chartElement, chartOuter, tableElement);
27
+ return true;
28
+ }
29
+
23
30
  // #region Reset the chart
24
31
  // empty divs to re-populate
25
32
  const chartKey = chartOuter.querySelector('.chart__key');
@@ -51,10 +58,32 @@ export const setupChart = (chartElement: any, chartOuter: any, tableElement: any
51
58
 
52
59
  return true;
53
60
  };
61
+
62
+ export const setupDoughnutChart = (chartElement: any, chartOuter: any, tableElement: any): boolean => {
63
+ // #region Reset the chart
64
+ // empty divs to re-populate
65
+ const chartKey = chartOuter.querySelector('.chart__key');
66
+ chartKey.innerHTML = '';
67
+
68
+ // Remove old input fields
69
+ Array.from(chartOuter.querySelectorAll(':scope > input[type="checkbox"],:scope > input[type="radio"]')).map(
70
+ (element: any) => {
71
+ element.remove();
72
+ }
73
+ );
74
+ // #endregion
75
+
76
+ setCellData(chartElement, tableElement);
77
+
78
+ createChartKey(chartOuter, tableElement, chartKey);
79
+ createdoughnuts(chartOuter);
80
+
81
+ return true;
82
+ };
54
83
  // #endregion
55
84
 
56
85
  // #region Event handlers and observers
57
- export const setEventListener = function (chartElement: any, chartOuter: any) {
86
+ export const setEventListener = function (chartElement: any, chartOuter: any): void {
58
87
  const chart = chartOuter.querySelector('.chart');
59
88
  chart.addEventListener('mousemove', (event: any) => {
60
89
  if (event && event.target instanceof HTMLElement && event.target.closest('td:not(:first-child')) {
@@ -101,14 +130,18 @@ export const setEventListener = function (chartElement: any, chartOuter: any) {
101
130
 
102
131
  shadowTable.innerHTML = table.innerHTML;
103
132
  setCellData(chartElement, shadowTable);
133
+
134
+ if (chartElement.tagName == 'IAM-DOUGHNUTCHART') {
135
+ createdoughnuts(chartOuter);
136
+ }
104
137
  });
105
138
  };
106
139
 
107
- export const setEventObservers = function (chartElement: any, chartOuter: any) {
140
+ export const setEventObservers = function (chartElement: any, chartOuter: any): boolean {
108
141
  const table = chartElement.querySelector('table');
109
142
  const shadowTable = chartOuter.querySelector('table');
110
143
 
111
- const attributesUpdated = (mutationList: any, observer: any) => {
144
+ const attributesUpdated = (mutationList: any, observer: any): void => {
112
145
  observer.disconnect();
113
146
  observer2.disconnect();
114
147
 
@@ -123,7 +156,7 @@ export const setEventObservers = function (chartElement: any, chartOuter: any) {
123
156
  observer2.observe(chartElement, { attributes: true });
124
157
  };
125
158
 
126
- const tableUpdated = (mutationList: any, observer: any) => {
159
+ const tableUpdated = (mutationList: any, observer: any): void => {
127
160
  observer.disconnect();
128
161
  observer2.disconnect();
129
162
 
@@ -146,10 +179,19 @@ export const setEventObservers = function (chartElement: any, chartOuter: any) {
146
179
 
147
180
  return true;
148
181
  };
182
+
183
+ function getCoordinatesForPercent(percent: number, doughnutCount: number): any {
184
+ // This moves the start point to the top middle point like a clock
185
+ if (doughnutCount > 1) percent = percent - 0.25;
186
+
187
+ const x = Math.cos(2 * Math.PI * percent);
188
+ const y = Math.sin(2 * Math.PI * percent);
189
+ return [x * 100, y * 100];
190
+ }
149
191
  // #endregion
150
192
 
151
193
  // #region GET functions
152
- export const getChartData = function (chartElement: any) {
194
+ export const getChartData = function (chartElement: any): any {
153
195
  const table = chartElement.shadowRoot.querySelector('.chart__wrapper table');
154
196
 
155
197
  const min: any = chartElement.hasAttribute('data-min') ? chartElement.getAttribute('data-min') : 0;
@@ -177,7 +219,7 @@ export const getChartData = function (chartElement: any) {
177
219
  return { min, max, yaxis, xaxis, guidelines };
178
220
  };
179
221
 
180
- function getLargestValue(chartElement: any, table: any) {
222
+ function getLargestValue(chartElement: any, table: any): number {
181
223
  const selector = chartElement.classList.contains('chart--stacked') ? 'tbody tr' : 'tbody td:not(:first-child)';
182
224
 
183
225
  const values = Array.from(table.querySelectorAll(selector)).map((element: any) => {
@@ -192,7 +234,7 @@ function getLargestValue(chartElement: any, table: any) {
192
234
  return Math.ceil(largestValue);
193
235
  }
194
236
 
195
- const getValues = function (value: number, min: any, max: any, start?: number) {
237
+ const getValues = function (value: number, min: any, max: any, start?: number): any {
196
238
  let cleanValue: string | number = String(value);
197
239
  cleanValue = cleanValue.replace('£', '');
198
240
  cleanValue = cleanValue.replace('%', '');
@@ -227,7 +269,7 @@ const getValues = function (value: number, min: any, max: any, start?: number) {
227
269
  // #endregion
228
270
 
229
271
  // #region SET functions - set data attributes and classes
230
- export const setCellData = function (chartElement: any, table: any) {
272
+ export const setCellData = function (chartElement: any, table: any): void {
231
273
  Array.from(table.querySelectorAll('tbody tr')).forEach((tr: any) => {
232
274
  let rowValue = 0;
233
275
  // Set the data numeric value if not set
@@ -318,7 +360,7 @@ export const setCellData = function (chartElement: any, table: any) {
318
360
  });
319
361
  };
320
362
 
321
- export const setLongestLabel = function (chartOuter: any) {
363
+ export const setLongestLabel = function (chartOuter: any): void {
322
364
  const chartWrapper = chartOuter.querySelector('.chart__wrapper');
323
365
  const chartSpacer = chartOuter.querySelector('.chart__spacer span');
324
366
  const table = chartOuter.querySelector('.chart table');
@@ -333,7 +375,7 @@ export const setLongestLabel = function (chartOuter: any) {
333
375
  chartSpacer.innerHTML = longestLabel;
334
376
  };
335
377
 
336
- export const setLongestValue = function (chartOuter: any) {
378
+ export const setLongestValue = function (chartOuter: any): void {
337
379
  const chartWrapper = chartOuter.querySelector('.chart__wrapper');
338
380
  const table = chartOuter.querySelector('.chart table');
339
381
 
@@ -352,7 +394,7 @@ export const setLongestValue = function (chartOuter: any) {
352
394
 
353
395
  // #region CREATE function
354
396
 
355
- export const createChartKey = function (chartOuter: any, tableElement: any, chartKey: any) {
397
+ export const createChartKey = function (chartOuter: any, tableElement: any, chartKey: any): boolean {
356
398
  const chartID = `chart-${Date.now() + (Math.floor(Math.random() * 100) + 1)}`;
357
399
  //const chartOuter = chartElement.querySelector('.chart__outer');
358
400
 
@@ -380,7 +422,7 @@ function createChartKeyItem(
380
422
  chartKey: any,
381
423
  chartOuter: any,
382
424
  previousInput: any
383
- ) {
425
+ ): any {
384
426
  const input = document.createElement('input');
385
427
  input.setAttribute('name', `${chartID}-dataset-${index}`);
386
428
  input.setAttribute('id', `${chartID}-dataset-${index}`);
@@ -399,14 +441,19 @@ function createChartKeyItem(
399
441
  label.setAttribute('for', `${chartID}-dataset-${index}`);
400
442
  label.setAttribute('data-label', `${text}`);
401
443
  label.setAttribute('part', `key`);
444
+
445
+ const total = chartOuter.querySelector(`tbody tr td:nth-child(${index + 1})`)?.getAttribute('data-numeric');
446
+
447
+ label.setAttribute('data-numeric', total);
402
448
  label.innerHTML = `${text}`;
403
449
  chartKey.append(label);
404
450
 
405
451
  return previousInput;
406
452
  }
407
453
 
408
- export const createChartGuidelines = function (chartElement: any, chartGuidelines: any) {
409
- let { min, max, yaxis, guidelines } = getChartData(chartElement);
454
+ export const createChartGuidelines = function (chartElement: any, chartGuidelines: any): any {
455
+ const { min, max, yaxis } = getChartData(chartElement);
456
+ let { guidelines } = getChartData(chartElement);
410
457
 
411
458
  if (!guidelines.length) guidelines = yaxis;
412
459
 
@@ -419,7 +466,7 @@ export const createChartGuidelines = function (chartElement: any, chartGuideline
419
466
  }
420
467
  };
421
468
 
422
- export const createChartYaxis = function (chartElement: any, chartYaxis: any) {
469
+ export const createChartYaxis = function (chartElement: any, chartYaxis: any): void {
423
470
  const { min, max, yaxis } = getChartData(chartElement);
424
471
 
425
472
  chartYaxis.innerHTML = '';
@@ -431,7 +478,7 @@ export const createChartYaxis = function (chartElement: any, chartYaxis: any) {
431
478
  }
432
479
  };
433
480
 
434
- export const createXaxis = function (chartOuter: any) {
481
+ export const createXaxis = function (chartOuter: any): void {
435
482
  const chart = chartOuter.querySelector('.chart');
436
483
  let chartXaxis = chartOuter.querySelector('.chart__xaxis');
437
484
 
@@ -443,7 +490,7 @@ export const createXaxis = function (chartOuter: any) {
443
490
  chart.prepend(chartXaxis);
444
491
  };
445
492
 
446
- export const createTooltips = function (chartOuter: any) {
493
+ export const createTooltips = function (chartOuter: any): void {
447
494
  const titles = chartOuter.querySelectorAll(
448
495
  'thead th[title], tbody th[title]:first-child, tbody td[title]:first-child'
449
496
  );
@@ -456,6 +503,92 @@ export const createTooltips = function (chartOuter: any) {
456
503
  //title.removeAttribute('title'); // TODO add a supports query for anchor positioning
457
504
  });
458
505
  };
506
+
507
+ export const createdoughnuts = function (chartOuter: any): void {
508
+ let returnString = '';
509
+ const chartInner = chartOuter.querySelector('.chart');
510
+ let doughnutWrapper = chartOuter.querySelector('.doughnuts');
511
+
512
+ if (!doughnutWrapper) {
513
+ doughnutWrapper = document.createElement('div');
514
+ doughnutWrapper.setAttribute('class', 'doughnuts');
515
+ chartInner.append(doughnutWrapper);
516
+ }
517
+
518
+ Array.from(chartInner.querySelectorAll('tbody tr')).forEach((item: any, index) => {
519
+ let paths = '';
520
+ let tooltips = '';
521
+ let cumulativePercent = 0;
522
+ let total = 0;
523
+ const titleKey = item.querySelectorAll('td')[0];
524
+ const title = titleKey.innerHTML;
525
+ let doughnutCount = 0;
526
+ const rowTotal = item.getAttribute('data-numeric');
527
+
528
+ // Work out the total amount
529
+ Array.from(item.querySelectorAll('td')).forEach((td: any, subindex) => {
530
+ const display = getComputedStyle(td).display;
531
+
532
+ if (subindex != 0 && display != 'none') {
533
+ let value = td.getAttribute('data-numeric');
534
+
535
+ value = value.replace('£', '');
536
+ value = value.replace('%', '');
537
+ value = value.replace(',', '');
538
+ value = Number.parseInt(value);
539
+
540
+ total += value;
541
+ doughnutCount++;
542
+ }
543
+ });
544
+
545
+ // Create the paths
546
+ Array.from(item.querySelectorAll('td')).forEach((td: any, subindex) => {
547
+ const display = getComputedStyle(td).display;
548
+
549
+ if (subindex != 0 && doughnutCount == 1 && display != 'none') {
550
+ const pathData = `M 0 0 L 100 0 A 100 100 0 1 1 100 -0.01 L 0 0`;
551
+
552
+ paths += `<path d="${pathData}" style="${td.getAttribute('style')} --path-index: ${subindex};"></path>`;
553
+ tooltips += `<span class="h5 mb-0" part="popover">${ucfirst(unsnake(td.getAttribute('data-label'))).trim()}<br/>${td.hasAttribute('data-second') ? `${td.getAttribute('data-second-label')}: ${td.getAttribute('data-second')}<br/>` : ''}${td.querySelector('[part="popover"]')?.innerHTML}</span>`;
554
+ } else if (subindex != 0) {
555
+ let value = td.getAttribute('data-numeric');
556
+ const hide = display == 'none' ? 'display: none;' : '';
557
+
558
+ value = value.replace('£', '');
559
+ value = value.replace('%', '');
560
+ value = value.replace(',', '');
561
+ value = Number.parseInt(value);
562
+
563
+ const percent = value / total;
564
+ const [startX, startY] = getCoordinatesForPercent(cumulativePercent, doughnutCount);
565
+ const [endX, endY] = getCoordinatesForPercent(cumulativePercent + percent, doughnutCount);
566
+ const largeArcFlag = percent > 0.5 ? 1 : 0; // if the slice is more than 50%, take the large arc (the long way around)
567
+ const pathData = [
568
+ `M 0 0`,
569
+ `L ${startX ? startX.toFixed(0) : 0} ${startY ? startY.toFixed(0) : 0}`, // Move
570
+ `A 100 100 0 ${largeArcFlag} 1 ${endX ? endX.toFixed(0) : 0} ${endY ? endY.toFixed(0) : 0}`, // Arc
571
+ `L 0 0`, // Line
572
+ ].join(' ');
573
+
574
+ paths += `<path d="${pathData}" style="${td.getAttribute('style')} --path-index: ${subindex};${hide}"></path>`;
575
+ tooltips += `<span class="h5 mb-0" part="popover">${ucfirst(unsnake(td.getAttribute('data-label'))).trim()}<br/>${td.hasAttribute('data-second') ? `${td.getAttribute('data-second-label')}: ${td.getAttribute('data-second')}<br/>` : ''}${td.querySelector('[part="popover"]')?.innerHTML}</span>`;
576
+
577
+ // each slice starts where the last slice ended, so keep a cumulative percent
578
+ if (display != 'none') cumulativePercent += percent;
579
+ }
580
+ });
581
+
582
+ returnString += `<div class="doughnut">
583
+ <svg viewBox="-105 -105 210 210" preserveAspectRatio="none" style="--row-index: ${index + 1};">${paths}</svg>
584
+ <div class="doughnut__title" data-numeric="${rowTotal}"><span class="h5 mb-0">${title}</span></div>
585
+ <div class="tooltips">${tooltips}</div>
586
+ </div>`;
587
+ });
588
+
589
+ doughnutWrapper.innerHTML = returnString;
590
+ };
591
+
459
592
  // #endregion
460
593
 
461
594
  export default setupChart;
@@ -1,7 +1,7 @@
1
1
  import { ucfirst, unsnake, numberOfDays } from './helpers';
2
2
 
3
3
  // #region Functions that setup and trigger other functions
4
- export const setupChart = (chartElement: any, chartOuter: any, tableElement: any) => {
4
+ export const setupChart = (chartElement: any, chartOuter: any, tableElement: any): boolean => {
5
5
  // #region Reset the chart
6
6
  // empty divs to re-populate
7
7
  const chartOptions = chartOuter.querySelector('.chart__options');
@@ -62,7 +62,7 @@ export const setupChart = (chartElement: any, chartOuter: any, tableElement: any
62
62
  // #endregion
63
63
 
64
64
  // #region Event handlers and observers
65
- export const setEventHandlers = function (chartElement: any, chartOuter: any) {
65
+ export const setEventHandlers = function (chartElement: any, chartOuter: any): void {
66
66
  const showData = chartOuter.querySelectorAll(':scope > input[type="checkbox"]');
67
67
 
68
68
  const { type } = getChartData(chartElement, chartOuter);
@@ -89,13 +89,13 @@ export const setEventHandlers = function (chartElement: any, chartOuter: any) {
89
89
  */
90
90
  };
91
91
 
92
- export const setEventObservers = function (chartElement: any, chartOuter: any) {
92
+ export const setEventObservers = function (chartElement: any, chartOuter: any): boolean {
93
93
  if (chartElement.hasAttribute('data-series')) return false;
94
94
 
95
95
  const table = chartElement.querySelector('table');
96
96
  const newTable = chartOuter.querySelector('table');
97
97
 
98
- const attributesUpdated = (mutationList: any, observer: any) => {
98
+ const attributesUpdated = (mutationList: any, observer: any): void => {
99
99
  observer.disconnect();
100
100
  observer2.disconnect();
101
101
 
@@ -114,7 +114,7 @@ export const setEventObservers = function (chartElement: any, chartOuter: any) {
114
114
  observer2.observe(chartElement, { attributes: true });
115
115
  };
116
116
 
117
- const tableUpdated = (mutationList: any, observer: any) => {
117
+ const tableUpdated = (mutationList: any, observer: any): boolean => {
118
118
  observer.disconnect();
119
119
  observer2.disconnect();
120
120
 
@@ -140,7 +140,7 @@ export const setEventObservers = function (chartElement: any, chartOuter: any) {
140
140
  // #endregion
141
141
 
142
142
  // #region GET functions
143
- export const getChartData = function (chartElement: any, chartOuter: any) {
143
+ export const getChartData = function (chartElement: any, chartOuter: any): any {
144
144
  const table = chartOuter.querySelector('.chart__wrapper table');
145
145
 
146
146
  const min: any = chartElement.hasAttribute('data-min') ? chartElement.getAttribute('data-min') : 0;
@@ -188,7 +188,7 @@ export const getChartData = function (chartElement: any, chartOuter: any) {
188
188
  };
189
189
  };
190
190
 
191
- function getLargestValue(table: any) {
191
+ function getLargestValue(table: any): number {
192
192
  const values = Array.from(table.querySelectorAll('tbody td:not(:first-child)')).map((element: any) => {
193
193
  let currentValue: string | number = String(element.textContent);
194
194
  currentValue = currentValue.replace('£', '');
@@ -205,7 +205,7 @@ function getLargestValue(table: any) {
205
205
  return Math.ceil(largetValue);
206
206
  }
207
207
 
208
- const getValues = function (value: number, min: any, max: any, start?: number) {
208
+ const getValues = function (value: number, min: any, max: any, start?: number): any {
209
209
  let cleanValue: string | number = String(value);
210
210
  cleanValue = cleanValue.replace('£', '');
211
211
  cleanValue = cleanValue.replace('%', '');
@@ -237,7 +237,7 @@ const getValues = function (value: number, min: any, max: any, start?: number) {
237
237
  return { percent, axis, bottom };
238
238
  };
239
239
 
240
- function getCoordinatesForPercent(percent: number, pieCount: number) {
240
+ function getCoordinatesForPercent(percent: number, pieCount: number): any {
241
241
  // This moves the start point to the top middle point like a clock
242
242
  if (pieCount > 1) percent = percent - 0.25;
243
243
 
@@ -249,7 +249,7 @@ function getCoordinatesForPercent(percent: number, pieCount: number) {
249
249
  // #endregion
250
250
 
251
251
  // #region SET functions - set data attributes and classes
252
- export const setCellData = function (chartElement: any, chartOuter: any, table: any) {
252
+ export const setCellData = function (chartElement: any, chartOuter: any, table: any): void {
253
253
  let { min, max } = getChartData(chartElement, chartOuter);
254
254
 
255
255
  const chartType = chartElement.getAttribute('data-type');
@@ -457,7 +457,7 @@ export const setCellData = function (chartElement: any, chartOuter: any, table:
457
457
  });
458
458
  };
459
459
 
460
- export const setLongestLabel = function (chartOuter: any) {
460
+ export const setLongestLabel = function (chartOuter: any): void {
461
461
  const chartWrapper = chartOuter.querySelector('.chart__wrapper');
462
462
  const table = chartOuter.querySelector('.chart table');
463
463
  // set the longest label attr so that the bar chart knows what margin to set on the left
@@ -478,7 +478,7 @@ export const setLongestLabel = function (chartOuter: any) {
478
478
  // #endregion
479
479
 
480
480
  // #region CREATE function
481
- export const createTypeSwitcher = function (chartElement: any, chartKey: any, chartOptions: any) {
481
+ export const createTypeSwitcher = function (chartElement: any, chartKey: any, chartOptions: any): void {
482
482
  const chartID = `chart-${Date.now() + (Math.floor(Math.random() * 100) + 1)}`;
483
483
  const availableTypes = chartElement.hasAttribute('data-types')
484
484
  ? chartElement.getAttribute('data-types').split(',')
@@ -507,7 +507,7 @@ export const createTypeSwitcher = function (chartElement: any, chartKey: any, ch
507
507
  }
508
508
  };
509
509
 
510
- export const createChartKey = function (chartOuter: any, tableElement: any, chartKey: any) {
510
+ export const createChartKey = function (chartOuter: any, tableElement: any, chartKey: any): void | boolean {
511
511
  const chartID = `chart-${Date.now() + (Math.floor(Math.random() * 100) + 1)}`;
512
512
  //const chartOuter = chartElement.querySelector('.chart__outer');
513
513
 
@@ -535,7 +535,7 @@ function createChartKeyItem(
535
535
  chartKey: any,
536
536
  chartOuter: any,
537
537
  previousInput: any
538
- ) {
538
+ ): any {
539
539
  const input = document.createElement('input');
540
540
  input.setAttribute('name', `${chartID}-dataset-${index}`);
541
541
  input.setAttribute('id', `${chartID}-dataset-${index}`);
@@ -557,8 +557,9 @@ function createChartKeyItem(
557
557
  return previousInput;
558
558
  }
559
559
 
560
- export const createChartGuidelines = function (chartElement: any, chartOuter: any, chartGuidelines: any) {
561
- let { min, max, yaxis, increment, guidelines } = getChartData(chartElement, chartOuter);
560
+ export const createChartGuidelines = function (chartElement: any, chartOuter: any, chartGuidelines: any): void {
561
+ const { increment, guidelines } = getChartData(chartElement, chartOuter);
562
+ let { min, max, yaxis } = getChartData(chartElement, chartOuter);
562
563
 
563
564
  if (guidelines.length) yaxis = guidelines;
564
565
 
@@ -586,8 +587,9 @@ export const createChartGuidelines = function (chartElement: any, chartOuter: an
586
587
  }
587
588
  };
588
589
 
589
- export const createChartYaxis = function (chartElement: any, chartOuter: any, chartYaxis: any) {
590
- let { min, max, yaxis, increment } = getChartData(chartElement, chartOuter);
590
+ export const createChartYaxis = function (chartElement: any, chartOuter: any, chartYaxis: any): void {
591
+ const { yaxis, increment } = getChartData(chartElement, chartOuter);
592
+ let { min, max } = getChartData(chartElement, chartOuter);
591
593
 
592
594
  const startDay = min;
593
595
 
@@ -614,7 +616,7 @@ export const createChartYaxis = function (chartElement: any, chartOuter: any, ch
614
616
  }
615
617
  };
616
618
 
617
- export const createXaxis = function (chartElement: any, chartOuter: any, xaxis: any) {
619
+ export const createXaxis = function (chartElement: any, chartOuter: any, xaxis: any): void {
618
620
  const chart = chartOuter.querySelector('.chart');
619
621
  let chartXaxis = chartOuter.querySelector('.chart__xaxis');
620
622
 
@@ -636,7 +638,7 @@ export const createXaxis = function (chartElement: any, chartOuter: any, xaxis:
636
638
  chart.prepend(chartXaxis);
637
639
  };
638
640
 
639
- export const createLines = function (chartElement: any, chartOuter: any) {
641
+ export const createLines = function (chartElement: any, chartOuter: any): void {
640
642
  const { min, max } = getChartData(chartElement, chartOuter);
641
643
 
642
644
  const chartType = chartElement.getAttribute('data-type');
@@ -702,7 +704,7 @@ export const createLines = function (chartElement: any, chartOuter: any) {
702
704
  linesWrapper.innerHTML = returnString;
703
705
  };
704
706
 
705
- export const createPies = function (chartOuter: any) {
707
+ export const createPies = function (chartOuter: any): void {
706
708
  let returnString = '';
707
709
  const chartInner = chartOuter.querySelector('.chart');
708
710
  let pieWrapper = chartOuter.querySelector('.pies');
@@ -782,7 +784,7 @@ export const createPies = function (chartOuter: any) {
782
784
  pieWrapper.innerHTML = returnString;
783
785
  };
784
786
 
785
- export const createSlope = function (chartElement: any, chartOuter: any) {
787
+ export const createSlope = function (chartElement: any, chartOuter: any): void {
786
788
  let n: number = 0;
787
789
  let totalX: number = 0;
788
790
  let totalY: number = 0;
@@ -835,7 +837,7 @@ export const createSlope = function (chartElement: any, chartOuter: any) {
835
837
  slopeWrapper.innerHTML = `<svg viewBox="0 0 200 100" class="line" preserveAspectRatio="none"><path fill="none" d="M 0 ${100 - firstYPercent} L 200 ${100 - lastYPercent}" style="--path: path('M 0 100 L 200 100');"></path></svg>`;
836
838
  };
837
839
 
838
- function createKeyTotals(chartElement: any, chartOuter: any) {
840
+ function createKeyTotals(chartElement: any, chartOuter: any): void {
839
841
  let chartTotal = 0;
840
842
 
841
843
  Array.from(
@@ -869,7 +871,7 @@ function createKeyTotals(chartElement: any, chartOuter: any) {
869
871
 
870
872
  if (chartElement.hasAttribute('data-currency')) {
871
873
  if (chartElement.getAttribute('data-currency') == 'GBP') {
872
- // @ts-ignore
874
+ // @ts-expect-error Not sure
873
875
  keyTotal = new Intl.NumberFormat('en-GB', {
874
876
  style: 'currency',
875
877
  currency: 'GBP',
@@ -1,6 +1,5 @@
1
- // @ts-nocheck
2
- const extendDialogs = (body) => {
3
- Array.from(body.querySelectorAll('dialog[open]')).forEach((dialog, index) => {
1
+ const extendDialogs = (body): void => {
2
+ Array.from(body.querySelectorAll('dialog[open]')).forEach((dialog) => {
4
3
  const parent = dialog.closest('.dialog__wrapper');
5
4
 
6
5
  if (!parent) {
@@ -36,7 +35,7 @@ const extendDialogs = (body) => {
36
35
  }
37
36
 
38
37
  // When the modal is opened we want to make sure any duplicate checkboxes are matching the originals
39
- Array.from(dialog.querySelectorAll('[data-duplicate]')).forEach((element, index) => {
38
+ Array.from(dialog.querySelectorAll('[data-duplicate]')).forEach((element) => {
40
39
  const id = element.getAttribute('data-duplicate');
41
40
  const originalInput = document.getElementById(id);
42
41
 
@@ -62,7 +61,7 @@ const extendDialogs = (body) => {
62
61
  dialog.close();
63
62
 
64
63
  // Remove active class from exiting active buttons
65
- Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement, index) => {
64
+ Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement) => {
66
65
  btnElement.classList.remove('active');
67
66
  });
68
67
 
@@ -86,7 +85,7 @@ const extendDialogs = (body) => {
86
85
  const dialog = event.target.closest('dialog[open]');
87
86
 
88
87
  // Remove active class from exiting active buttons
89
- Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement, index) => {
88
+ Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement) => {
90
89
  btnElement.classList.remove('active');
91
90
  });
92
91
 
@@ -152,7 +151,7 @@ const extendDialogs = (body) => {
152
151
  }
153
152
 
154
153
  // Remove active class from exiting active buttons
155
- Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement, index) => {
154
+ Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement) => {
156
155
  btnElement.removeAttribute('aria-expanded');
157
156
  });
158
157
 
@@ -219,18 +218,16 @@ const extendDialogs = (body) => {
219
218
  if (document.querySelector('.dialog__wrapper:not([data-keep-open]) > dialog[open]'))
220
219
  document.querySelector('.dialog__wrapper:not([data-keep-open]) > dialog[open]').close();
221
220
 
222
- Array.from(document.querySelectorAll('.dialog__wrapper:not([data-keep-open]) > button')).forEach(
223
- (btnElement, index) => {
224
- btnElement.removeAttribute('aria-expanded');
225
- }
226
- );
221
+ Array.from(document.querySelectorAll('.dialog__wrapper:not([data-keep-open]) > button')).forEach((btnElement) => {
222
+ btnElement.removeAttribute('aria-expanded');
223
+ });
227
224
  }
228
225
  });
229
226
 
230
227
  return null;
231
228
  };
232
229
 
233
- export const createDialog = (dialog) => {
230
+ export const createDialog = (dialog): void => {
234
231
  // If you are using Vue eevents and bindings its recommended to add in the .mh-lg div manually to the dialog
235
232
  if (!dialog.querySelector(':scope .mh-lg') && !dialog.querySelector('iam-multi-step')) {
236
233
  dialog.innerHTML = `<div class="mh-lg">${dialog.innerHTML}</div>`;
@@ -1,5 +1,4 @@
1
- // @ts-nocheck
2
- const drawer = (element) => {
1
+ const drawer = (): void => {
3
2
  const observer = new IntersectionObserver(
4
3
  function ([e]) {
5
4
  e.target.classList.toggle('in-view', e.intersectionRatio > 0);