@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,3 +1,4 @@
1
+ import { ucfirst, unsnake } from './helpers.js';
1
2
  // #region Functions that setup and trigger other functions
2
3
  export const addClasses = (chartElement, chartOuter) => {
3
4
  // add colour classes
@@ -16,6 +17,10 @@ export const addClasses = (chartElement, chartOuter) => {
16
17
  return true;
17
18
  };
18
19
  export const setupChart = (chartElement, chartOuter, tableElement) => {
20
+ if (chartElement.tagName == 'IAM-DOUGHNUTCHART') {
21
+ setupDoughnutChart(chartElement, chartOuter, tableElement);
22
+ return true;
23
+ }
19
24
  // #region Reset the chart
20
25
  // empty divs to re-populate
21
26
  const chartKey = chartOuter.querySelector('.chart__key');
@@ -39,6 +44,21 @@ export const setupChart = (chartElement, chartOuter, tableElement) => {
39
44
  }
40
45
  return true;
41
46
  };
47
+ export const setupDoughnutChart = (chartElement, chartOuter, tableElement) => {
48
+ // #region Reset the chart
49
+ // empty divs to re-populate
50
+ const chartKey = chartOuter.querySelector('.chart__key');
51
+ chartKey.innerHTML = '';
52
+ // Remove old input fields
53
+ Array.from(chartOuter.querySelectorAll(':scope > input[type="checkbox"],:scope > input[type="radio"]')).map((element) => {
54
+ element.remove();
55
+ });
56
+ // #endregion
57
+ setCellData(chartElement, tableElement);
58
+ createChartKey(chartOuter, tableElement, chartKey);
59
+ createdoughnuts(chartOuter);
60
+ return true;
61
+ };
42
62
  // #endregion
43
63
  // #region Event handlers and observers
44
64
  export const setEventListener = function (chartElement, chartOuter) {
@@ -81,6 +101,9 @@ export const setEventListener = function (chartElement, chartOuter) {
81
101
  });
82
102
  shadowTable.innerHTML = table.innerHTML;
83
103
  setCellData(chartElement, shadowTable);
104
+ if (chartElement.tagName == 'IAM-DOUGHNUTCHART') {
105
+ createdoughnuts(chartOuter);
106
+ }
84
107
  });
85
108
  };
86
109
  export const setEventObservers = function (chartElement, chartOuter) {
@@ -116,6 +139,14 @@ export const setEventObservers = function (chartElement, chartOuter) {
116
139
  observer2.observe(chartElement, { attributes: true });
117
140
  return true;
118
141
  };
142
+ function getCoordinatesForPercent(percent, doughnutCount) {
143
+ // This moves the start point to the top middle point like a clock
144
+ if (doughnutCount > 1)
145
+ percent = percent - 0.25;
146
+ const x = Math.cos(2 * Math.PI * percent);
147
+ const y = Math.sin(2 * Math.PI * percent);
148
+ return [x * 100, y * 100];
149
+ }
119
150
  // #endregion
120
151
  // #region GET functions
121
152
  export const getChartData = function (chartElement) {
@@ -185,12 +216,24 @@ export const setCellData = function (chartElement, table) {
185
216
  let rowValue = 0;
186
217
  // Set the data numeric value if not set
187
218
  Array.from(tr.querySelectorAll('td:not(:first-child)')).forEach((td) => {
188
- const value = parseFloat(td.textContent.replace('£', '').replace('%', '').replace(',', ''));
219
+ // Ignore the buttons and links inside
220
+ const copyTD = td.cloneNode(true);
221
+ Array.from(copyTD.querySelectorAll('*')).forEach((element) => {
222
+ element.remove();
223
+ });
224
+ const value = parseFloat(copyTD.textContent.replace('£', '').replace('%', '').replace(',', ''));
189
225
  td.setAttribute('data-numeric', value);
190
- td.setAttribute('data-value', td.textContent);
226
+ td.setAttribute('data-value', copyTD.textContent);
191
227
  const display = getComputedStyle(td).display;
192
228
  if (display != 'none')
193
229
  rowValue += value;
230
+ Array.from(td.querySelectorAll('a, button')).forEach((element, index) => {
231
+ if (index == 0) {
232
+ element.insertAdjacentHTML('beforeBegin', '<hr/>');
233
+ }
234
+ element.classList.add('btn');
235
+ element.classList.add('btn-tertiary');
236
+ });
194
237
  });
195
238
  tr.setAttribute('data-numeric', rowValue);
196
239
  });
@@ -255,9 +298,11 @@ export const setLongestValue = function (chartOuter) {
255
298
  const chartWrapper = chartOuter.querySelector('.chart__wrapper');
256
299
  const table = chartOuter.querySelector('.chart table');
257
300
  let longestValue = '';
258
- Array.from(table.querySelectorAll('tbody tr td:not(:first-child) span')).forEach((td) => {
259
- if (typeof td.textContent != 'undefined' && td.textContent.length > longestValue.length)
260
- longestValue = td.textContent;
301
+ Array.from(table.querySelectorAll('tbody tr td:not(:first-child)')).forEach((td) => {
302
+ if (typeof td.getAttribute('data-value') != 'undefined' &&
303
+ td.getAttribute('data-value').length > longestValue.length) {
304
+ longestValue = td.getAttribute('data-value');
305
+ }
261
306
  });
262
307
  chartWrapper.setAttribute('data-longest-value', longestValue);
263
308
  };
@@ -279,6 +324,7 @@ export const createChartKey = function (chartOuter, tableElement, chartKey) {
279
324
  return true;
280
325
  };
281
326
  function createChartKeyItem(chartID, index, text, chartKey, chartOuter, previousInput) {
327
+ var _a;
282
328
  const input = document.createElement('input');
283
329
  input.setAttribute('name', `${chartID}-dataset-${index}`);
284
330
  input.setAttribute('id', `${chartID}-dataset-${index}`);
@@ -296,12 +342,15 @@ function createChartKeyItem(chartID, index, text, chartKey, chartOuter, previous
296
342
  label.setAttribute('for', `${chartID}-dataset-${index}`);
297
343
  label.setAttribute('data-label', `${text}`);
298
344
  label.setAttribute('part', `key`);
345
+ const total = (_a = chartOuter.querySelector(`tbody tr td:nth-child(${index + 1})`)) === null || _a === void 0 ? void 0 : _a.getAttribute('data-numeric');
346
+ label.setAttribute('data-numeric', total);
299
347
  label.innerHTML = `${text}`;
300
348
  chartKey.append(label);
301
349
  return previousInput;
302
350
  }
303
351
  export const createChartGuidelines = function (chartElement, chartGuidelines) {
304
- let { min, max, yaxis, guidelines } = getChartData(chartElement);
352
+ const { min, max, yaxis } = getChartData(chartElement);
353
+ let { guidelines } = getChartData(chartElement);
305
354
  if (!guidelines.length)
306
355
  guidelines = yaxis;
307
356
  chartGuidelines.innerHTML = '';
@@ -337,5 +386,77 @@ export const createTooltips = function (chartOuter) {
337
386
  //title.removeAttribute('title'); // TODO add a supports query for anchor positioning
338
387
  });
339
388
  };
389
+ export const createdoughnuts = function (chartOuter) {
390
+ let returnString = '';
391
+ const chartInner = chartOuter.querySelector('.chart');
392
+ let doughnutWrapper = chartOuter.querySelector('.doughnuts');
393
+ if (!doughnutWrapper) {
394
+ doughnutWrapper = document.createElement('div');
395
+ doughnutWrapper.setAttribute('class', 'doughnuts');
396
+ chartInner.append(doughnutWrapper);
397
+ }
398
+ Array.from(chartInner.querySelectorAll('tbody tr')).forEach((item, index) => {
399
+ let paths = '';
400
+ let tooltips = '';
401
+ let cumulativePercent = 0;
402
+ let total = 0;
403
+ const titleKey = item.querySelectorAll('td')[0];
404
+ const title = titleKey.innerHTML;
405
+ let doughnutCount = 0;
406
+ const rowTotal = item.getAttribute('data-numeric');
407
+ // Work out the total amount
408
+ Array.from(item.querySelectorAll('td')).forEach((td, subindex) => {
409
+ const display = getComputedStyle(td).display;
410
+ if (subindex != 0 && display != 'none') {
411
+ let value = td.getAttribute('data-numeric');
412
+ value = value.replace('£', '');
413
+ value = value.replace('%', '');
414
+ value = value.replace(',', '');
415
+ value = Number.parseInt(value);
416
+ total += value;
417
+ doughnutCount++;
418
+ }
419
+ });
420
+ // Create the paths
421
+ Array.from(item.querySelectorAll('td')).forEach((td, subindex) => {
422
+ var _a, _b;
423
+ const display = getComputedStyle(td).display;
424
+ if (subindex != 0 && doughnutCount == 1 && display != 'none') {
425
+ const pathData = `M 0 0 L 100 0 A 100 100 0 1 1 100 -0.01 L 0 0`;
426
+ paths += `<path d="${pathData}" style="${td.getAttribute('style')} --path-index: ${subindex};"></path>`;
427
+ 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/>` : ''}${(_a = td.querySelector('[part="popover"]')) === null || _a === void 0 ? void 0 : _a.innerHTML}</span>`;
428
+ }
429
+ else if (subindex != 0) {
430
+ let value = td.getAttribute('data-numeric');
431
+ const hide = display == 'none' ? 'display: none;' : '';
432
+ value = value.replace('£', '');
433
+ value = value.replace('%', '');
434
+ value = value.replace(',', '');
435
+ value = Number.parseInt(value);
436
+ const percent = value / total;
437
+ const [startX, startY] = getCoordinatesForPercent(cumulativePercent, doughnutCount);
438
+ const [endX, endY] = getCoordinatesForPercent(cumulativePercent + percent, doughnutCount);
439
+ const largeArcFlag = percent > 0.5 ? 1 : 0; // if the slice is more than 50%, take the large arc (the long way around)
440
+ const pathData = [
441
+ `M 0 0`,
442
+ `L ${startX ? startX.toFixed(0) : 0} ${startY ? startY.toFixed(0) : 0}`, // Move
443
+ `A 100 100 0 ${largeArcFlag} 1 ${endX ? endX.toFixed(0) : 0} ${endY ? endY.toFixed(0) : 0}`, // Arc
444
+ `L 0 0`, // Line
445
+ ].join(' ');
446
+ paths += `<path d="${pathData}" style="${td.getAttribute('style')} --path-index: ${subindex};${hide}"></path>`;
447
+ 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/>` : ''}${(_b = td.querySelector('[part="popover"]')) === null || _b === void 0 ? void 0 : _b.innerHTML}</span>`;
448
+ // each slice starts where the last slice ended, so keep a cumulative percent
449
+ if (display != 'none')
450
+ cumulativePercent += percent;
451
+ }
452
+ });
453
+ returnString += `<div class="doughnut">
454
+ <svg viewBox="-105 -105 210 210" preserveAspectRatio="none" style="--row-index: ${index + 1};">${paths}</svg>
455
+ <div class="doughnut__title" data-numeric="${rowTotal}"><span class="h5 mb-0">${title}</span></div>
456
+ <div class="tooltips">${tooltips}</div>
457
+ </div>`;
458
+ });
459
+ doughnutWrapper.innerHTML = returnString;
460
+ };
340
461
  // #endregion
341
462
  export default setupChart;
@@ -1,6 +1,5 @@
1
- // @ts-nocheck
2
1
  const extendDialogs = (body) => {
3
- Array.from(body.querySelectorAll('dialog[open]')).forEach((dialog, index) => {
2
+ Array.from(body.querySelectorAll('dialog[open]')).forEach((dialog) => {
4
3
  const parent = dialog.closest('.dialog__wrapper');
5
4
  if (!parent) {
6
5
  dialog.removeAttribute('open');
@@ -29,7 +28,7 @@ const extendDialogs = (body) => {
29
28
  dialog.setAttribute('style', `max-width: ${firstWidth}px;`);
30
29
  }
31
30
  // When the modal is opened we want to make sure any duplicate checkboxes are matching the originals
32
- Array.from(dialog.querySelectorAll('[data-duplicate]')).forEach((element, index) => {
31
+ Array.from(dialog.querySelectorAll('[data-duplicate]')).forEach((element) => {
33
32
  const id = element.getAttribute('data-duplicate');
34
33
  const originalInput = document.getElementById(id);
35
34
  if (element.checked != originalInput.checked) {
@@ -50,7 +49,7 @@ const extendDialogs = (body) => {
50
49
  event.preventDefault();
51
50
  dialog.close();
52
51
  // Remove active class from exiting active buttons
53
- Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement, index) => {
52
+ Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement) => {
54
53
  btnElement.classList.remove('active');
55
54
  });
56
55
  const closeEvent = new CustomEvent('dialog-closed', {
@@ -69,7 +68,7 @@ const extendDialogs = (body) => {
69
68
  if (event && event.target instanceof HTMLElement && event.target.closest('button[formmethod="dialog"]')) {
70
69
  const dialog = event.target.closest('dialog[open]');
71
70
  // Remove active class from exiting active buttons
72
- Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement, index) => {
71
+ Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement) => {
73
72
  btnElement.classList.remove('active');
74
73
  });
75
74
  window.dataLayer = window.dataLayer || [];
@@ -120,7 +119,7 @@ const extendDialogs = (body) => {
120
119
  }
121
120
  }
122
121
  // Remove active class from exiting active buttons
123
- Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement, index) => {
122
+ Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement) => {
124
123
  btnElement.removeAttribute('aria-expanded');
125
124
  });
126
125
  if (popover.hasAttribute('open')) {
@@ -171,7 +170,7 @@ const extendDialogs = (body) => {
171
170
  !event.target.closest('.dialog__wrapper > button')) {
172
171
  if (document.querySelector('.dialog__wrapper:not([data-keep-open]) > dialog[open]'))
173
172
  document.querySelector('.dialog__wrapper:not([data-keep-open]) > dialog[open]').close();
174
- Array.from(document.querySelectorAll('.dialog__wrapper:not([data-keep-open]) > button')).forEach((btnElement, index) => {
173
+ Array.from(document.querySelectorAll('.dialog__wrapper:not([data-keep-open]) > button')).forEach((btnElement) => {
175
174
  btnElement.removeAttribute('aria-expanded');
176
175
  });
177
176
  }
@@ -1,5 +1,4 @@
1
- // @ts-nocheck
2
- const drawer = (element) => {
1
+ const drawer = () => {
3
2
  const observer = new IntersectionObserver(function ([e]) {
4
3
  e.target.classList.toggle('in-view', e.intersectionRatio > 0);
5
4
  document.getElementById('showDrawer').checked = false;
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  // Create the event listeners
3
2
  const createDynamicEvents = () => {
4
3
  // Change event
@@ -26,7 +25,7 @@ const splitEvents = (element, events) => {
26
25
  if (!events)
27
26
  return false;
28
27
  // Split out each event
29
- Array.from(JSON.parse(events)).forEach((event, index) => {
28
+ Array.from(JSON.parse(events)).forEach((event) => {
30
29
  checkConditions(element, event);
31
30
  });
32
31
  };
@@ -62,7 +61,7 @@ const runEvent = (element, event, eventType) => {
62
61
  if (document.querySelector(event['target'])) {
63
62
  const hideElement = document.querySelector(event['target']);
64
63
  hideElement.classList.add('js-hide');
65
- Array.from(hideElement.querySelectorAll('[data-required]')).forEach((input, index) => {
64
+ Array.from(hideElement.querySelectorAll('[data-required]')).forEach((input) => {
66
65
  input.removeAttribute('required');
67
66
  });
68
67
  }
@@ -71,7 +70,7 @@ const runEvent = (element, event, eventType) => {
71
70
  if (document.querySelector(event['target'])) {
72
71
  const showElement = document.querySelector(event['target']);
73
72
  showElement.classList.remove('js-hide');
74
- Array.from(showElement.querySelectorAll('[data-required]')).forEach((input, index) => {
73
+ Array.from(showElement.querySelectorAll('[data-required]')).forEach((input) => {
75
74
  if (!input.closest('.js-hide'))
76
75
  input.setAttribute('required', 'true');
77
76
  });
@@ -85,7 +84,7 @@ const runEvent = (element, event, eventType) => {
85
84
  document.querySelector(`${event['target']}`).dispatchEvent(theEvent);
86
85
  break;
87
86
  case 'setAttribute':
88
- Array.from(document.querySelectorAll(`${event['target']}`)).forEach(function (element, index) {
87
+ Array.from(document.querySelectorAll(`${event['target']}`)).forEach(function (element) {
89
88
  element.setAttribute(event['attribute'], event['value']);
90
89
  });
91
90
  break;
@@ -93,7 +92,7 @@ const runEvent = (element, event, eventType) => {
93
92
  document.querySelector(`${event['target']}`).focus();
94
93
  break;
95
94
  case 'removeAttribute':
96
- Array.from(document.querySelectorAll(`${event['target']}`)).forEach(function (element, index) {
95
+ Array.from(document.querySelectorAll(`${event['target']}`)).forEach(function (element) {
97
96
  element.removeAttribute(event['attribute']);
98
97
  });
99
98
  break;
@@ -118,7 +117,7 @@ const populateForm = function (element, event) {
118
117
  const form = document.querySelector(event['target']);
119
118
  if (!values)
120
119
  return false;
121
- Object.keys(values).forEach((field, index) => {
120
+ Object.keys(values).forEach((field) => {
122
121
  if (document.getElementById(field) && document.getElementById(field).tagName == 'SPAN')
123
122
  document.getElementById(field).innerHTML = values[field];
124
123
  if (form.querySelector(`select[name="${field}"] [value="${values[field]}"]`)) {
@@ -127,7 +126,7 @@ const populateForm = function (element, event) {
127
126
  form.querySelector(`select[name="${field}"]`).disabled = true;
128
127
  }
129
128
  else if (form.querySelector(`input[name="${field}"][type="radio"][value="${values[field]}"]`)) {
130
- Array.from(form.querySelectorAll(`input[name="${field}"][type="radio"]`)).forEach(function (input, index) {
129
+ Array.from(form.querySelectorAll(`input[name="${field}"][type="radio"]`)).forEach(function (input) {
131
130
  input.disabled = true;
132
131
  });
133
132
  form.querySelector(`input[name="${field}"][type="radio"][value="${values[field]}"]`).checked = true;
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  function fileupload(fileupload, wrapper) {
3
2
  const filesWrapper = wrapper.querySelector('.files');
4
3
  const dropArea = wrapper.querySelector('.drop-area');
@@ -20,7 +19,6 @@ function fileupload(fileupload, wrapper) {
20
19
  };
21
20
  wrapper.addEventListener('click', (event) => {
22
21
  if (event && event.target instanceof HTMLElement && event.target.closest('.btn-primary')) {
23
- const button = event.target.closest('.btn-primary');
24
22
  // If the input allows multiples then use the buffer clone input
25
23
  errorMsgExt.classList.remove('d-block');
26
24
  errorMsgSize.classList.remove('d-block');
@@ -41,10 +39,12 @@ function fileupload(fileupload, wrapper) {
41
39
  input.files = dt.files; // Assign the updates list
42
40
  const changeEvent = new Event('change');
43
41
  input.dispatchEvent(changeEvent);
42
+ const fileRemovedEvent = new CustomEvent('fileRemoved', { detail: { removedFile: button === null || button === void 0 ? void 0 : button.dataset.file } });
43
+ fileupload.dispatchEvent(fileRemovedEvent);
44
44
  }
45
45
  });
46
46
  // Buffer input change event
47
- cloneInput.addEventListener('change', (event) => {
47
+ cloneInput.addEventListener('change', () => {
48
48
  if (input.hasAttribute('multiple')) {
49
49
  const filesArray = [...input.files, ...cloneInput.files];
50
50
  const fileNames = [];
@@ -70,16 +70,16 @@ function fileupload(fileupload, wrapper) {
70
70
  const changeEvent = new Event('change');
71
71
  input.dispatchEvent(changeEvent);
72
72
  });
73
- cloneInput.addEventListener('dragenter', (event) => {
73
+ cloneInput.addEventListener('dragenter', () => {
74
74
  cloneInput.classList.add('focus');
75
75
  });
76
- cloneInput.addEventListener('dragleave', (event) => {
76
+ cloneInput.addEventListener('dragleave', () => {
77
77
  cloneInput.classList.remove('focus');
78
78
  });
79
- cloneInput.addEventListener('drop', (event) => {
79
+ cloneInput.addEventListener('drop', () => {
80
80
  cloneInput.classList.remove('focus');
81
81
  });
82
- input.addEventListener('change', (event) => {
82
+ input.addEventListener('change', () => {
83
83
  if (input.files.length == 1) {
84
84
  const file = input.files[0];
85
85
  const size = file.size / 1000;
@@ -1,22 +1,21 @@
1
- // @ts-nocheck
2
1
  function filterlist(list, input) {
3
2
  addFilterlistEventListeners(list, input);
4
3
  }
5
4
  function addFilterlistEventListeners(list, input) {
6
5
  let timer;
7
- input.addEventListener('keyup', (event) => {
6
+ input.addEventListener('keyup', () => {
8
7
  clearTimeout(timer);
9
8
  timer = setTimeout(function () {
10
9
  filterTheList(list, input.value);
11
10
  }, 500);
12
11
  });
13
- input.addEventListener('change', (event) => {
12
+ input.addEventListener('change', () => {
14
13
  clearTimeout(timer);
15
14
  filterTheList(list, input.value);
16
15
  });
17
16
  }
18
17
  export const filterTheList = function (list, searchTerm) {
19
- Array.from(list.querySelectorAll(':scope > li')).forEach((item, index) => {
18
+ Array.from(list.querySelectorAll(':scope > li')).forEach((item) => {
20
19
  const content = item.textContent.toLowerCase();
21
20
  item.classList.add('d-none');
22
21
  if (content.includes(searchTerm.toLowerCase()))
@@ -1,25 +1,24 @@
1
- // @ts-nocheck
2
1
  // Create a link between two input/selects with one acting as setting a minimum value and the second a maximum
3
2
  // The link between the two will prevent the max input field form setting a lower value than the min and vice versa
4
3
  function inputRange(inputWrapper) {
5
- inputWrapper.addEventListener('change', function (e) {
4
+ inputWrapper.addEventListener('change', function () {
6
5
  const min = parseInt(inputWrapper.querySelector('[data-min] select,[data-min] input').value);
7
6
  const max = parseInt(inputWrapper.querySelector('[data-max] select,[data-max] input').value);
8
7
  // Set attributes for input fields
9
- Array.from(inputWrapper.querySelectorAll('[data-min] input')).forEach((input, index) => {
8
+ Array.from(inputWrapper.querySelectorAll('[data-min] input')).forEach((input) => {
10
9
  input.setAttribute('max', max);
11
10
  });
12
- Array.from(inputWrapper.querySelectorAll('[data-max] input')).forEach((input, index) => {
11
+ Array.from(inputWrapper.querySelectorAll('[data-max] input')).forEach((input) => {
13
12
  input.setAttribute('min', min);
14
13
  });
15
14
  // Hide select options if they are higher or lower than the min and max values
16
- Array.from(inputWrapper.querySelectorAll('[data-min] select option')).forEach((option, index) => {
15
+ Array.from(inputWrapper.querySelectorAll('[data-min] select option')).forEach((option) => {
17
16
  if (parseInt(option.getAttribute('value')) > max)
18
17
  option.classList.add('d-none');
19
18
  else
20
19
  option.classList.remove('d-none');
21
20
  });
22
- Array.from(inputWrapper.querySelectorAll('[data-max] select option')).forEach((option, index) => {
21
+ Array.from(inputWrapper.querySelectorAll('[data-max] select option')).forEach((option) => {
23
22
  if (parseInt(option.getAttribute('value')) < min)
24
23
  option.classList.add('d-none');
25
24
  else
@@ -28,7 +27,7 @@ function inputRange(inputWrapper) {
28
27
  }, false);
29
28
  }
30
29
  function inputRedirect(inputWrapper) {
31
- inputWrapper.addEventListener('change', function (e) {
30
+ inputWrapper.addEventListener('change', function () {
32
31
  if (inputWrapper.matches('[data-value-if]')) {
33
32
  const url = inputWrapper.getAttribute('data-redirect');
34
33
  const desiredValue = inputWrapper.getAttribute('data-value-if');
@@ -72,13 +71,13 @@ function multipleFileUploads(wrapper) {
72
71
  // Acts as an overall initialise function to trigger other functions.
73
72
  function form(formElement) {
74
73
  // Check for input range groups
75
- Array.from(formElement.querySelectorAll('[data-input-range]')).forEach((arrayElement, index) => {
74
+ Array.from(formElement.querySelectorAll('[data-input-range]')).forEach((arrayElement) => {
76
75
  inputRange(arrayElement);
77
76
  });
78
- Array.from(formElement.querySelectorAll('[data-redirect]')).forEach((arrayElement, index) => {
77
+ Array.from(formElement.querySelectorAll('[data-redirect]')).forEach((arrayElement) => {
79
78
  inputRedirect(arrayElement);
80
79
  });
81
- Array.from(formElement.querySelectorAll('.multiple-file-uploads')).forEach((arrayElement, index) => {
80
+ Array.from(formElement.querySelectorAll('.multiple-file-uploads')).forEach((arrayElement) => {
82
81
  multipleFileUploads(arrayElement);
83
82
  });
84
83
  // Check the file size of a file when uploaded in case it exceeds the max file size set
@@ -95,9 +94,9 @@ function form(formElement) {
95
94
  }
96
95
  }, false);
97
96
  // When a form is updated we may want to update some of the existing input fields; setting active fields when some data is selected.
98
- formElement.addEventListener('change', function (e) {
97
+ formElement.addEventListener('change', function () {
99
98
  // Remove disabled attribute when a pre-selected input field equals a certain value
100
- Array.from(formElement.querySelectorAll('select[data-activeif][data-equals],input[data-activeif][data-equals]')).forEach((arrayElement, index) => {
99
+ Array.from(formElement.querySelectorAll('select[data-activeif][data-equals],input[data-activeif][data-equals]')).forEach((arrayElement) => {
101
100
  const group = arrayElement.closest('[data-group]') ? arrayElement.closest('[data-group]') : formElement;
102
101
  const selector = arrayElement.dataset.activeif;
103
102
  const value = arrayElement.dataset.equals;
@@ -111,7 +110,7 @@ function form(formElement) {
111
110
  }
112
111
  });
113
112
  // Show this input wrapper when a pre-selected input field equals a certain value
114
- Array.from(formElement.querySelectorAll('.form-control__wrapper[data-displayif][data-equals]')).forEach((arrayElement, index) => {
113
+ Array.from(formElement.querySelectorAll('.form-control__wrapper[data-displayif][data-equals]')).forEach((arrayElement) => {
115
114
  const group = arrayElement.closest('[data-group]') ? arrayElement.closest('[data-group]') : formElement;
116
115
  const selector = arrayElement.dataset.activeif;
117
116
  const value = arrayElement.dataset.equals;
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  /**
3
2
  * Global helper functions to help maintain and enhance framework elements.
4
3
  * @module Helpers
@@ -12,7 +11,6 @@ export const addBodyClasses = (body) => {
12
11
  if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
13
12
  body.classList.add('ie');
14
13
  }
15
- return null;
16
14
  };
17
15
  /**
18
16
  * Add global events.
@@ -53,7 +51,7 @@ export const addGlobalEvents = (body) => {
53
51
  if (event && event.target instanceof HTMLElement && event.target.matches('form')) {
54
52
  const form = event.target;
55
53
  // Reset password types
56
- Array.from(form.querySelectorAll('[data-password-type]')).forEach((input, index) => {
54
+ Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {
57
55
  input.setAttribute('type', 'password');
58
56
  });
59
57
  if (form.querySelector(':invalid') ||
@@ -76,11 +74,10 @@ export const addGlobalEvents = (body) => {
76
74
  }
77
75
  }
78
76
  });
79
- Array.from(document.querySelectorAll('label progress')).forEach((progress, index) => {
77
+ Array.from(document.querySelectorAll('label progress')).forEach((progress) => {
80
78
  const label = progress.closest('label');
81
79
  label.setAttribute('data-percent', progress.getAttribute('value'));
82
80
  });
83
- return null;
84
81
  };
85
82
  export const isNumeric = function (str) {
86
83
  if (typeof str != 'string')
@@ -120,6 +117,7 @@ export const numberOfDays = function (startDateString, endDateString) {
120
117
  };
121
118
  // Used to get values from nested json objects
122
119
  export const resolvePath = (object, path, defaultValue) => path
120
+ // eslint-disable-next-line no-useless-escape
123
121
  .split(/[\.\[\]\'\"]/)
124
122
  .filter((p) => p)
125
123
  .reduce((o, p) => (o ? o[p] : defaultValue), object);
@@ -1,13 +1,12 @@
1
- // @ts-nocheck
2
1
  import hibpCheck from '../vendor/hibp.js';
3
2
  const extendInputs = (body) => {
4
3
  function loadInput() {
5
4
  // maxlength counter init
6
- Array.from(document.querySelectorAll('input[maxlength],textarea[maxlength]')).forEach((input, index) => {
5
+ Array.from(document.querySelectorAll('input[maxlength],textarea[maxlength]')).forEach((input) => {
7
6
  const wrapper = input.parentElement;
8
7
  setMaxlengthVars(input, wrapper);
9
8
  });
10
- Array.from(document.querySelectorAll('label input')).forEach((input, index) => {
9
+ Array.from(document.querySelectorAll('label input')).forEach((input) => {
11
10
  if (!input.closest('label').querySelector('.optional-text') && !input.hasAttribute('required')) {
12
11
  if (input.parentNode.tagName.toLowerCase() == 'span')
13
12
  input.parentElement.insertAdjacentHTML('beforebegin', `<span class="optional-text"></span>`);
@@ -24,7 +23,7 @@ const extendInputs = (body) => {
24
23
  const day = String(date.getDate()).padStart(2, '0');
25
24
  return `${year}-${month}-${day}`;
26
25
  }
27
- Array.from(document.querySelectorAll('input[type="date"]')).forEach((input, index) => {
26
+ Array.from(document.querySelectorAll('input[type="date"]')).forEach((input) => {
28
27
  const startDate = today;
29
28
  if (input.hasAttribute('data-start')) {
30
29
  startDate.setDate(startDate.getDate() + parseInt(input.getAttribute('data-start')));
@@ -38,7 +37,7 @@ const extendInputs = (body) => {
38
37
  }
39
38
  if (input.hasAttribute('data-allowed-days')) {
40
39
  const allowedDays = JSON.parse(`[${input.getAttribute('data-allowed-days')}]`);
41
- input.addEventListener('input', function (e) {
40
+ input.addEventListener('input', function () {
42
41
  const day = new Date(this.value).getUTCDay();
43
42
  if (allowedDays.includes(day))
44
43
  input.setCustomValidity('');
@@ -60,7 +59,6 @@ const extendInputs = (body) => {
60
59
  body.addEventListener('input', (event) => {
61
60
  if (event && event.target instanceof HTMLElement && event.target.closest('input,textarea,select')) {
62
61
  const input = event.target.closest('input,textarea,select');
63
- const wrapper = input.parentElement;
64
62
  // Output the color hex
65
63
  if (input.hasAttribute('type') && input.getAttribute('type') == 'color')
66
64
  input.nextElementSibling.value = input.value;
@@ -81,11 +79,10 @@ const extendInputs = (body) => {
81
79
  }
82
80
  if (event && event.target instanceof HTMLElement && event.target.closest('dialog [type="radio"]')) {
83
81
  const dialog = event.target.closest('dialog');
84
- const radio = event.target.closest('dialog [type="radio"]');
85
- Array.from(dialog.querySelectorAll('[type="radio"][autofocus]')).forEach((input, index) => {
82
+ Array.from(dialog.querySelectorAll('[type="radio"][autofocus]')).forEach((input) => {
86
83
  input.removeAttribute('autofocus');
87
84
  });
88
- Array.from(dialog.querySelectorAll('[type="radio"]:checked')).forEach((input, index) => {
85
+ Array.from(dialog.querySelectorAll('[type="radio"]:checked')).forEach((input) => {
89
86
  input.setAttribute('autofocus', true);
90
87
  });
91
88
  }
@@ -1,11 +1,10 @@
1
- // @ts-nocheck
2
1
  const navbar = (element) => {
3
- Array.from(element.querySelectorAll('details')).forEach((detail, index) => {
4
- detail.addEventListener('mouseenter', function (e) {
2
+ Array.from(element.querySelectorAll('details')).forEach((detail) => {
3
+ detail.addEventListener('mouseenter', function () {
5
4
  if (window.matchMedia('(min-width: 62em)').matches)
6
5
  detail.setAttribute('open', 'true');
7
6
  }, false);
8
- detail.addEventListener('mouseleave', function (e) {
7
+ detail.addEventListener('mouseleave', function () {
9
8
  if (window.matchMedia('(min-width: 62em)').matches)
10
9
  detail.removeAttribute('open');
11
10
  }, false);
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  function setupNotification(element) {
3
2
  // Add toast to notification holder
4
3
  if (element.hasAttribute('data-type') && element.getAttribute('data-type') == 'toast') {
@@ -28,10 +27,10 @@ function setupNotification(element) {
28
27
  const timer = new Timer(function () {
29
28
  closeNotification(element);
30
29
  }, timeOut);
31
- element.addEventListener('mouseenter', (event) => {
30
+ element.addEventListener('mouseenter', () => {
32
31
  timer.pause();
33
32
  });
34
- element.addEventListener('mouseleave', (event) => {
33
+ element.addEventListener('mouseleave', () => {
35
34
  timer.resume();
36
35
  });
37
36
  }
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  function orderlist(list) {
3
2
  const randID = 'list_' + Math.random().toString(36).substr(2, 9);
4
3
  const listItems = list.querySelectorAll('li');