@iamproperty/components 7.1.0--beta6 → 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 (351) 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 +1 -1
  63. package/assets/css/components/tabs.css.map +1 -1
  64. package/assets/css/components/testimonial.css.map +1 -1
  65. package/assets/css/components/timeline.css.map +1 -1
  66. package/assets/css/core.min.css +1 -1
  67. package/assets/css/core.min.css.map +1 -1
  68. package/assets/css/mobile-core.min.css +1 -0
  69. package/assets/css/mobile-core.min.css.map +1 -0
  70. package/assets/css/mobile.min.css +1 -0
  71. package/assets/css/mobile.min.css.map +1 -0
  72. package/assets/css/style.min.css +1 -1
  73. package/assets/css/style.min.css.map +1 -1
  74. package/assets/js/components/_global.js +0 -1
  75. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  76. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  77. package/assets/js/components/actionbar/actionbar.component.js +86 -8
  78. package/assets/js/components/actionbar/actionbar.component.min.js +19 -6
  79. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  80. package/assets/js/components/address-lookup/address-lookup.component.js +17 -18
  81. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
  82. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  83. package/assets/js/components/applied-filters/applied-filters.component.js +0 -1
  84. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  85. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  86. package/assets/js/components/barchart/barchart.component.js +2 -3
  87. package/assets/js/components/barchart/barchart.component.min.js +8 -4
  88. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  89. package/assets/js/components/bento-grid/bento-grid.component.js +50 -0
  90. package/assets/js/components/bento-grid/bento-grid.component.min.js +15 -0
  91. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -0
  92. package/assets/js/components/card/card.component.js +10 -13
  93. package/assets/js/components/card/card.component.min.js +7 -7
  94. package/assets/js/components/card/card.component.min.js.map +1 -1
  95. package/assets/js/components/carousel/carousel.component.js +4 -5
  96. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  97. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  98. package/assets/js/components/chart/chart.component.js +1 -5
  99. package/assets/js/components/collapsible-side/collapsible-side.component.js +4 -5
  100. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
  101. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  102. package/assets/js/components/doughnutchart/doughnutchart.component.js +70 -0
  103. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +25 -0
  104. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -0
  105. package/assets/js/components/fileupload/fileupload.component.js +2 -3
  106. package/assets/js/components/fileupload/fileupload.component.min.js +6 -6
  107. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  108. package/assets/js/components/filter-card/filter-card.component.js +3 -4
  109. package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
  110. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  111. package/assets/js/components/filterlist/filterlist.component.js +0 -1
  112. package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
  113. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  114. package/assets/js/components/header/header.component.js +0 -1
  115. package/assets/js/components/header/header.component.min.js +1 -1
  116. package/assets/js/components/header/header.component.min.js.map +1 -1
  117. package/assets/js/components/inline-edit/inline-edit.component.js +7 -8
  118. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  119. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  120. package/assets/js/components/marketing/marketing.component.js +0 -1
  121. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  122. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  123. package/assets/js/components/menu/menu.component.js +200 -0
  124. package/assets/js/components/menu/menu.component.min.js +77 -0
  125. package/assets/js/components/menu/menu.component.min.js.map +1 -0
  126. package/assets/js/components/multi-step/multi-step.component.js +10 -10
  127. package/assets/js/components/multi-step/multi-step.component.min.js +13 -0
  128. package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -0
  129. package/assets/js/components/multiselect/multiselect.component.js +10 -10
  130. package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
  131. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  132. package/assets/js/components/nav/nav.component.js +7 -7
  133. package/assets/js/components/nav/nav.component.min.js +7 -7
  134. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  135. package/assets/js/components/notification/notification.component.js +3 -3
  136. package/assets/js/components/notification/notification.component.min.js +4 -4
  137. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  138. package/assets/js/components/pagination/pagination.component.js +3 -4
  139. package/assets/js/components/pagination/pagination.component.min.js +4 -4
  140. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  141. package/assets/js/components/record-card/record-card.component.js +6 -8
  142. package/assets/js/components/record-card/record-card.component.min.js +4 -4
  143. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  144. package/assets/js/components/search/search.component.js +9 -6
  145. package/assets/js/components/search/search.component.min.js +8 -5
  146. package/assets/js/components/search/search.component.min.js.map +1 -1
  147. package/assets/js/components/slider/slider.component.js +8 -8
  148. package/assets/js/components/slider/slider.component.min.js +5 -5
  149. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  150. package/assets/js/components/table/table.component.js +12 -11
  151. package/assets/js/components/table/table.component.min.js +7 -7
  152. package/assets/js/components/table/table.component.min.js.map +1 -1
  153. package/assets/js/components/tabs/tabs.component.js +1 -2
  154. package/assets/js/components/tabs/tabs.component.min.js +4 -4
  155. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  156. package/assets/js/components/video-card/video-card.component.js +4 -3
  157. package/assets/js/components/video-card/video-card.component.min.js +3 -3
  158. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  159. package/assets/js/modules/applied-filters.js +8 -9
  160. package/assets/js/modules/carousel.js +9 -10
  161. package/assets/js/modules/chart.js +5 -3
  162. package/assets/js/modules/chart.module.js +127 -6
  163. package/assets/js/modules/dialogs.js +6 -7
  164. package/assets/js/modules/drawer.js +1 -2
  165. package/assets/js/modules/dynamicEvents.js +7 -8
  166. package/assets/js/modules/fileupload.js +7 -7
  167. package/assets/js/modules/filterlist.js +3 -4
  168. package/assets/js/modules/form.js +12 -13
  169. package/assets/js/modules/helpers.js +3 -5
  170. package/assets/js/modules/inputs.js +6 -9
  171. package/assets/js/modules/nav.js +3 -4
  172. package/assets/js/modules/notification.js +2 -3
  173. package/assets/js/modules/orderablelist.js +0 -1
  174. package/assets/js/modules/table.js +80 -42
  175. package/assets/js/modules/tabs.js +3 -6
  176. package/assets/js/scripts.bundle.js +3 -3
  177. package/assets/js/scripts.bundle.js.map +1 -1
  178. package/assets/js/scripts.bundle.min.js +2 -2
  179. package/assets/js/scripts.bundle.min.js.map +1 -1
  180. package/assets/js/scripts.js +64 -6
  181. package/assets/js/tests/card.spec.js +14 -0
  182. package/assets/js/tests/carousel.spec.js +60 -0
  183. package/assets/js/tests/chart.spec.js +7 -5
  184. package/assets/js/tests/fileupload.spec.js +22 -0
  185. package/assets/js/tests/multistep.spec.js +68 -0
  186. package/assets/sass/_bs_grid.scss +39 -0
  187. package/assets/sass/_components.scss +323 -100
  188. package/assets/sass/_corefiles.scss +46 -39
  189. package/assets/sass/_elements.scss +98 -18
  190. package/assets/sass/_example.scss +61 -0
  191. package/assets/sass/_func.scss +4 -14
  192. package/assets/sass/_functions/{utilities.scss → bs_utilities.scss} +43 -39
  193. package/assets/sass/_functions/functions.scss +66 -52
  194. package/assets/sass/_functions/mixins.scss +82 -137
  195. package/assets/sass/_functions/utility-mixins.scss +1445 -0
  196. package/assets/sass/_functions/variables.scss +90 -1659
  197. package/assets/sass/_functions/variables_old.scss +1701 -0
  198. package/assets/sass/{foundations/grid.scss → _grid.scss} +96 -82
  199. package/assets/sass/_tests/func.spec.scss +1 -37
  200. package/assets/sass/_tests/mixins.spec.scss +1 -77
  201. package/assets/sass/_tests/typography.spec.scss +1 -1
  202. package/assets/sass/_utilities.scss +35 -117
  203. package/assets/sass/_utility-mixins.scss +37 -0
  204. package/assets/sass/components/{actionbar.scss → actionbar.component.scss} +82 -16
  205. package/assets/sass/components/actionbar.global.scss +28 -14
  206. package/assets/sass/components/address-lookup.scss +6 -0
  207. package/assets/sass/components/barchart.component.scss +8 -19
  208. package/assets/sass/components/bento-grid.component.scss +91 -0
  209. package/assets/sass/components/carousel.config.scss +64 -58
  210. package/assets/sass/components/charts.config.scss +73 -67
  211. package/assets/sass/components/charts.module.scss +131 -73
  212. package/assets/sass/components/charts.scss +43 -42
  213. package/assets/sass/components/collapsible-side.scss +29 -27
  214. package/assets/sass/components/doughnutchart.component.scss +205 -0
  215. package/assets/sass/components/fileupload.scss +4 -3
  216. package/assets/sass/components/header.scss +5 -5
  217. package/assets/sass/components/inline-edit.preload.scss +108 -102
  218. package/assets/sass/components/menu.component.scss +101 -0
  219. package/assets/sass/components/menu.scss +21 -0
  220. package/assets/sass/components/multi-step.component.scss +5 -3
  221. package/assets/sass/components/multiselect.preload.scss +36 -30
  222. package/assets/sass/components/{nav.scss → nav.component.scss} +41 -21
  223. package/assets/sass/components/nav.docs.scss +1 -1
  224. package/assets/sass/components/nav.global.scss +13 -11
  225. package/assets/sass/components/nav.old.scss +21 -24
  226. package/assets/sass/components/nav.preload.scss +40 -34
  227. package/assets/sass/components/notification.scss +9 -5
  228. package/assets/sass/components/pagination.scss +6 -0
  229. package/assets/sass/components/property-searchbar.scss +7 -7
  230. package/assets/sass/components/slider.scss +2 -0
  231. package/assets/sass/components/snapshot.scss +2 -2
  232. package/assets/sass/components/stepper.scss +7 -7
  233. package/assets/sass/components/table.global.scss +57 -1
  234. package/assets/sass/components/tabs.component.scss +5 -0
  235. package/assets/sass/components/tabs.scss +9 -6
  236. package/assets/sass/components/testimonial.scss +7 -7
  237. package/assets/sass/components/timeline.scss +1 -1
  238. package/assets/sass/core.scss +13 -2
  239. package/assets/sass/elements/admin-panel.scss +201 -134
  240. package/assets/sass/elements/badge-tag.scss +87 -81
  241. package/assets/sass/elements/brand.scss +67 -61
  242. package/assets/sass/elements/buttons--action.scss +55 -0
  243. package/assets/sass/elements/buttons--compact.scss +135 -0
  244. package/assets/sass/elements/buttons--global.scss +322 -0
  245. package/assets/sass/elements/buttons--secondary.scss +24 -0
  246. package/assets/sass/elements/buttons--tertiary.scss +57 -0
  247. package/assets/sass/elements/buttons.scss +29 -503
  248. package/assets/sass/elements/container.scss +160 -121
  249. package/assets/sass/elements/details.scss +147 -138
  250. package/assets/sass/elements/dialog.scss +36 -30
  251. package/assets/sass/elements/forms.scss +1061 -1047
  252. package/assets/sass/elements/icons.scss +23 -17
  253. package/assets/sass/elements/links.scss +131 -116
  254. package/assets/sass/elements/lists.scss +270 -264
  255. package/assets/sass/elements/media.scss +19 -13
  256. package/assets/sass/elements/modal.scss +336 -330
  257. package/assets/sass/elements/popover.scss +163 -152
  258. package/assets/sass/elements/progress.scss +173 -162
  259. package/assets/sass/elements/table.element.scss +115 -109
  260. package/assets/sass/elements/tooltips.scss +87 -80
  261. package/assets/sass/elements/type.scss +172 -160
  262. package/assets/sass/email.scss +4 -1
  263. package/assets/sass/error.scss +15 -9
  264. package/assets/sass/foundations/reboot.scss +176 -170
  265. package/assets/sass/foundations/root.scss +136 -125
  266. package/assets/sass/helpers/line-clamp.scss +0 -23
  267. package/assets/sass/helpers/max-height.scss +2 -2
  268. package/assets/sass/main.scss +14 -3
  269. package/assets/sass/mobile-core.scss +14 -0
  270. package/assets/sass/mobile.scss +16 -0
  271. package/assets/sass/templates/auth.scss +88 -83
  272. package/assets/sass/templates/form.scss +68 -59
  273. package/assets/ts/components/_global.ts +2 -3
  274. package/assets/ts/components/actionbar/actionbar.component.ts +94 -2
  275. package/assets/ts/components/address-lookup/address-lookup.component.ts +21 -22
  276. package/assets/ts/components/applied-filters/applied-filters.component.ts +1 -2
  277. package/assets/ts/components/barchart/barchart.component.ts +3 -5
  278. package/assets/ts/components/bento-grid/README.md +31 -0
  279. package/assets/ts/components/bento-grid/bento-grid.component.ts +67 -0
  280. package/assets/ts/components/card/card.component.ts +13 -16
  281. package/assets/ts/components/carousel/carousel.component.ts +5 -7
  282. package/assets/ts/components/chart/chart.component.ts +4 -9
  283. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -6
  284. package/assets/ts/components/doughnutchart/doughnutchart.component.ts +85 -0
  285. package/assets/ts/components/fileupload/fileupload.component.ts +5 -6
  286. package/assets/ts/components/filter-card/filter-card.component.ts +4 -5
  287. package/assets/ts/components/filterlist/filterlist.component.ts +1 -2
  288. package/assets/ts/components/header/header.component.ts +1 -3
  289. package/assets/ts/components/inline-edit/inline-edit.component.ts +8 -11
  290. package/assets/ts/components/marketing/marketing.component.ts +1 -3
  291. package/assets/ts/components/menu/menu.component.ts +222 -0
  292. package/assets/ts/components/multi-step/multi-step.component.ts +19 -23
  293. package/assets/ts/components/multiselect/multiselect.component.ts +13 -14
  294. package/assets/ts/components/nav/nav.component.ts +8 -9
  295. package/assets/ts/components/notification/notification.component.ts +3 -3
  296. package/assets/ts/components/pagination/pagination.component.ts +7 -8
  297. package/assets/ts/components/record-card/record-card.component.ts +9 -11
  298. package/assets/ts/components/search/search.component.ts +12 -9
  299. package/assets/ts/components/slider/slider.component.ts +9 -10
  300. package/assets/ts/components/table/table.component.ts +19 -18
  301. package/assets/ts/components/tabs/tabs.component.ts +2 -3
  302. package/assets/ts/components/video-card/video-card.component.ts +13 -12
  303. package/assets/ts/modules/applied-filters.ts +10 -11
  304. package/assets/ts/modules/card.module.ts +1 -1
  305. package/assets/ts/modules/carousel.ts +13 -15
  306. package/assets/ts/modules/chart.module.ts +176 -24
  307. package/assets/ts/modules/chart.ts +26 -24
  308. package/assets/ts/modules/dialogs.ts +10 -13
  309. package/assets/ts/modules/drawer.ts +1 -2
  310. package/assets/ts/modules/dynamicEvents.ts +12 -14
  311. package/assets/ts/modules/fileupload.ts +10 -10
  312. package/assets/ts/modules/filterlist.ts +6 -7
  313. package/assets/ts/modules/form.ts +16 -17
  314. package/assets/ts/modules/helpers.ts +18 -21
  315. package/assets/ts/modules/inputs.ts +15 -18
  316. package/assets/ts/modules/nav.ts +4 -5
  317. package/assets/ts/modules/notification.ts +7 -8
  318. package/assets/ts/modules/orderablelist.ts +3 -4
  319. package/assets/ts/modules/pagination.ts +1 -1
  320. package/assets/ts/modules/table.ts +103 -60
  321. package/assets/ts/modules/tabs.ts +6 -14
  322. package/assets/ts/scripts.ts +70 -6
  323. package/assets/ts/tests/card.spec.ts +19 -0
  324. package/assets/ts/tests/carousel.spec.ts +66 -0
  325. package/assets/ts/tests/chart.spec.ts +9 -6
  326. package/assets/ts/tests/fileupload.spec.ts +30 -0
  327. package/assets/ts/tests/multistep.spec.ts +78 -0
  328. package/dist/components.es.js +1258 -1063
  329. package/dist/components.umd.js +473 -195
  330. package/package.json +44 -49
  331. package/src/components/BentoGrid/BentoGrid.vue +20 -0
  332. package/src/components/DoughnutChart/DoughnutChart.vue +23 -0
  333. package/src/components/FileUpload/FileUpload.vue +4 -1
  334. package/src/components/Menu/Menu.vue +22 -0
  335. package/src/components/Tabs/Tabs.vue +0 -4
  336. package/src/index.js +25 -19
  337. package/assets/css/components/actionbar.css +0 -1
  338. package/assets/css/components/actionbar.css.map +0 -1
  339. package/assets/css/components/nav.css +0 -1
  340. package/assets/css/components/nav.css.map +0 -1
  341. package/assets/css/components/table.css.map +0 -1
  342. package/assets/js/components.bundle.js +0 -5
  343. package/assets/js/components.bundle.js.map +0 -1
  344. package/assets/js/components.js +0 -57
  345. package/assets/js/modules/file-upload.js +0 -32
  346. package/assets/sass/components.reset.scss +0 -8
  347. package/assets/sass/foundations/bs_grid.scss +0 -32
  348. package/assets/ts/components.ts +0 -62
  349. package/assets/ts/modules/file-upload.ts +0 -52
  350. package/dist/style.css +0 -1
  351. /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,19 +269,34 @@ 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
234
276
  Array.from(tr.querySelectorAll('td:not(:first-child)')).forEach((td: any) => {
235
- const value = parseFloat(td.textContent.replace('£', '').replace('%', '').replace(',', ''));
277
+ // Ignore the buttons and links inside
278
+ const copyTD = td.cloneNode(true);
279
+ Array.from(copyTD.querySelectorAll('*')).forEach((element: any) => {
280
+ element.remove();
281
+ });
282
+
283
+ const value = parseFloat(copyTD.textContent.replace('£', '').replace('%', '').replace(',', ''));
236
284
 
237
285
  td.setAttribute('data-numeric', value);
238
- td.setAttribute('data-value', td.textContent);
286
+ td.setAttribute('data-value', copyTD.textContent);
239
287
 
240
288
  const display = getComputedStyle(td).display;
241
289
 
242
290
  if (display != 'none') rowValue += value;
291
+
292
+ Array.from(td.querySelectorAll('a, button')).forEach((element: any, index: number) => {
293
+ if (index == 0) {
294
+ element.insertAdjacentHTML('beforeBegin', '<hr/>');
295
+ }
296
+
297
+ element.classList.add('btn');
298
+ element.classList.add('btn-tertiary');
299
+ });
243
300
  });
244
301
 
245
302
  tr.setAttribute('data-numeric', rowValue);
@@ -303,7 +360,7 @@ export const setCellData = function (chartElement: any, table: any) {
303
360
  });
304
361
  };
305
362
 
306
- export const setLongestLabel = function (chartOuter: any) {
363
+ export const setLongestLabel = function (chartOuter: any): void {
307
364
  const chartWrapper = chartOuter.querySelector('.chart__wrapper');
308
365
  const chartSpacer = chartOuter.querySelector('.chart__spacer span');
309
366
  const table = chartOuter.querySelector('.chart table');
@@ -318,14 +375,18 @@ export const setLongestLabel = function (chartOuter: any) {
318
375
  chartSpacer.innerHTML = longestLabel;
319
376
  };
320
377
 
321
- export const setLongestValue = function (chartOuter: any) {
378
+ export const setLongestValue = function (chartOuter: any): void {
322
379
  const chartWrapper = chartOuter.querySelector('.chart__wrapper');
323
380
  const table = chartOuter.querySelector('.chart table');
324
381
 
325
382
  let longestValue = '';
326
- Array.from(table.querySelectorAll('tbody tr td:not(:first-child) span')).forEach((td: any) => {
327
- if (typeof td.textContent != 'undefined' && td.textContent.length > longestValue.length)
328
- longestValue = td.textContent;
383
+ Array.from(table.querySelectorAll('tbody tr td:not(:first-child)')).forEach((td: any) => {
384
+ if (
385
+ typeof td.getAttribute('data-value') != 'undefined' &&
386
+ td.getAttribute('data-value').length > longestValue.length
387
+ ) {
388
+ longestValue = td.getAttribute('data-value');
389
+ }
329
390
  });
330
391
  chartWrapper.setAttribute('data-longest-value', longestValue);
331
392
  };
@@ -333,7 +394,7 @@ export const setLongestValue = function (chartOuter: any) {
333
394
 
334
395
  // #region CREATE function
335
396
 
336
- export const createChartKey = function (chartOuter: any, tableElement: any, chartKey: any) {
397
+ export const createChartKey = function (chartOuter: any, tableElement: any, chartKey: any): boolean {
337
398
  const chartID = `chart-${Date.now() + (Math.floor(Math.random() * 100) + 1)}`;
338
399
  //const chartOuter = chartElement.querySelector('.chart__outer');
339
400
 
@@ -361,7 +422,7 @@ function createChartKeyItem(
361
422
  chartKey: any,
362
423
  chartOuter: any,
363
424
  previousInput: any
364
- ) {
425
+ ): any {
365
426
  const input = document.createElement('input');
366
427
  input.setAttribute('name', `${chartID}-dataset-${index}`);
367
428
  input.setAttribute('id', `${chartID}-dataset-${index}`);
@@ -380,14 +441,19 @@ function createChartKeyItem(
380
441
  label.setAttribute('for', `${chartID}-dataset-${index}`);
381
442
  label.setAttribute('data-label', `${text}`);
382
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);
383
448
  label.innerHTML = `${text}`;
384
449
  chartKey.append(label);
385
450
 
386
451
  return previousInput;
387
452
  }
388
453
 
389
- export const createChartGuidelines = function (chartElement: any, chartGuidelines: any) {
390
- 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);
391
457
 
392
458
  if (!guidelines.length) guidelines = yaxis;
393
459
 
@@ -400,7 +466,7 @@ export const createChartGuidelines = function (chartElement: any, chartGuideline
400
466
  }
401
467
  };
402
468
 
403
- export const createChartYaxis = function (chartElement: any, chartYaxis: any) {
469
+ export const createChartYaxis = function (chartElement: any, chartYaxis: any): void {
404
470
  const { min, max, yaxis } = getChartData(chartElement);
405
471
 
406
472
  chartYaxis.innerHTML = '';
@@ -412,7 +478,7 @@ export const createChartYaxis = function (chartElement: any, chartYaxis: any) {
412
478
  }
413
479
  };
414
480
 
415
- export const createXaxis = function (chartOuter: any) {
481
+ export const createXaxis = function (chartOuter: any): void {
416
482
  const chart = chartOuter.querySelector('.chart');
417
483
  let chartXaxis = chartOuter.querySelector('.chart__xaxis');
418
484
 
@@ -424,7 +490,7 @@ export const createXaxis = function (chartOuter: any) {
424
490
  chart.prepend(chartXaxis);
425
491
  };
426
492
 
427
- export const createTooltips = function (chartOuter: any) {
493
+ export const createTooltips = function (chartOuter: any): void {
428
494
  const titles = chartOuter.querySelectorAll(
429
495
  'thead th[title], tbody th[title]:first-child, tbody td[title]:first-child'
430
496
  );
@@ -437,6 +503,92 @@ export const createTooltips = function (chartOuter: any) {
437
503
  //title.removeAttribute('title'); // TODO add a supports query for anchor positioning
438
504
  });
439
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
+
440
592
  // #endregion
441
593
 
442
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);