@iamproperty/components 7.0.0 → 7.1.0--beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/assets/css/components/actionbar.css.map +1 -1
  2. package/assets/css/components/actionbar.global.css.map +1 -1
  3. package/assets/css/components/address-lookup.css.map +1 -1
  4. package/assets/css/components/applied-filters.css.map +1 -1
  5. package/assets/css/components/barchart.component.css +1 -1
  6. package/assets/css/components/barchart.component.css.map +1 -1
  7. package/assets/css/components/card.component.css +1 -1
  8. package/assets/css/components/card.component.css.map +1 -1
  9. package/assets/css/components/card.module.css.map +1 -1
  10. package/assets/css/components/carousel.component.css +1 -1
  11. package/assets/css/components/carousel.component.css.map +1 -1
  12. package/assets/css/components/carousel.config.css.map +1 -1
  13. package/assets/css/components/charts.config.css.map +1 -1
  14. package/assets/css/components/charts.css +1 -1
  15. package/assets/css/components/charts.css.map +1 -1
  16. package/assets/css/components/charts.module.css +1 -1
  17. package/assets/css/components/charts.module.css.map +1 -1
  18. package/assets/css/components/collapsible-side.css.map +1 -1
  19. package/assets/css/components/fileupload.css.map +1 -1
  20. package/assets/css/components/filter-card.component.css.map +1 -1
  21. package/assets/css/components/header.css.map +1 -1
  22. package/assets/css/components/inline-edit.css.map +1 -1
  23. package/assets/css/components/inline-edit.preload.css.map +1 -1
  24. package/assets/css/components/marketing.css.map +1 -1
  25. package/assets/css/components/multi-step.component.css.map +1 -1
  26. package/assets/css/components/multiselect.css +1 -1
  27. package/assets/css/components/multiselect.css.map +1 -1
  28. package/assets/css/components/multiselect.preload.css.map +1 -1
  29. package/assets/css/components/nav.css +1 -1
  30. package/assets/css/components/nav.css.map +1 -1
  31. package/assets/css/components/nav.docs.css.map +1 -1
  32. package/assets/css/components/nav.global.css +1 -1
  33. package/assets/css/components/nav.global.css.map +1 -1
  34. package/assets/css/components/nav.old.css +1 -1
  35. package/assets/css/components/nav.old.css.map +1 -1
  36. package/assets/css/components/nav.preload.css.map +1 -1
  37. package/assets/css/components/notification.css.map +1 -1
  38. package/assets/css/components/notification.global.css.map +1 -1
  39. package/assets/css/components/pagination.css.map +1 -1
  40. package/assets/css/components/property-searchbar.css +1 -1
  41. package/assets/css/components/property-searchbar.css.map +1 -1
  42. package/assets/css/components/record-card.component.css.map +1 -1
  43. package/assets/css/components/slider.css.map +1 -1
  44. package/assets/css/components/snapshot.css.map +1 -1
  45. package/assets/css/components/stepper.css.map +1 -1
  46. package/assets/css/components/table.css +1 -1
  47. package/assets/css/components/table.css.map +1 -1
  48. package/assets/css/components/table.global.css +1 -1
  49. package/assets/css/components/table.global.css.map +1 -1
  50. package/assets/css/components/tabs.css.map +1 -1
  51. package/assets/css/components/testimonial.css.map +1 -1
  52. package/assets/css/components/timeline.css +1 -1
  53. package/assets/css/components/timeline.css.map +1 -1
  54. package/assets/css/components/video-card.component.css.map +1 -1
  55. package/assets/css/core.min.css +1 -1
  56. package/assets/css/core.min.css.map +1 -1
  57. package/assets/css/style.min.css +1 -1
  58. package/assets/css/style.min.css.map +1 -1
  59. package/assets/js/components/_global.js +8 -8
  60. package/assets/js/components/accordion/accordion.component.js +13 -10
  61. package/assets/js/components/accordion/accordion.component.min.js +4 -4
  62. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  63. package/assets/js/components/actionbar/actionbar.component.js +97 -83
  64. package/assets/js/components/actionbar/actionbar.component.min.js +5 -5
  65. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  66. package/assets/js/components/address-lookup/address-lookup.component.js +30 -26
  67. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  68. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  69. package/assets/js/components/applied-filters/applied-filters.component.js +10 -6
  70. package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
  71. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  72. package/assets/js/components/barchart/barchart.component.js +8 -7
  73. package/assets/js/components/barchart/barchart.component.min.js +4 -4
  74. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  75. package/assets/js/components/card/card.component.js +27 -12
  76. package/assets/js/components/card/card.component.min.js +3 -3
  77. package/assets/js/components/card/card.component.min.js.map +1 -1
  78. package/assets/js/components/carousel/carousel.component.js +18 -12
  79. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  80. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  81. package/assets/js/components/chart/chart.component.js +9 -8
  82. package/assets/js/components/collapsible-side/collapsible-side.component.js +20 -8
  83. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  84. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  85. package/assets/js/components/fileupload/fileupload.component.js +11 -7
  86. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  87. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  88. package/assets/js/components/filter-card/filter-card.component.js +19 -9
  89. package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
  90. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  91. package/assets/js/components/filterlist/filterlist.component.js +10 -6
  92. package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
  93. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  94. package/assets/js/components/header/header.component.js +8 -4
  95. package/assets/js/components/header/header.component.min.js +1 -1
  96. package/assets/js/components/header/header.component.min.js.map +1 -1
  97. package/assets/js/components/inline-edit/inline-edit.component.js +43 -23
  98. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  99. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  100. package/assets/js/components/marketing/marketing.component.js +11 -5
  101. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  102. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  103. package/assets/js/components/multi-step/multi-step.component.js +22 -19
  104. package/assets/js/components/multiselect/multiselect.component.js +62 -45
  105. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  106. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  107. package/assets/js/components/nav/nav.component.js +57 -38
  108. package/assets/js/components/nav/nav.component.min.js +5 -5
  109. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  110. package/assets/js/components/notification/notification.component.js +9 -5
  111. package/assets/js/components/notification/notification.component.min.js +5 -5
  112. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  113. package/assets/js/components/pagination/pagination.component.js +18 -14
  114. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  115. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  116. package/assets/js/components/record-card/record-card.component.js +10 -8
  117. package/assets/js/components/record-card/record-card.component.min.js +2 -2
  118. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  119. package/assets/js/components/search/search.component.js +22 -17
  120. package/assets/js/components/search/search.component.min.js +4 -4
  121. package/assets/js/components/search/search.component.min.js.map +1 -1
  122. package/assets/js/components/slider/slider.component.js +25 -21
  123. package/assets/js/components/slider/slider.component.min.js +3 -3
  124. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  125. package/assets/js/components/table/table.component.js +30 -24
  126. package/assets/js/components/table/table.component.min.js +7 -7
  127. package/assets/js/components/table/table.component.min.js.map +1 -1
  128. package/assets/js/components/tabs/tabs.component.js +10 -6
  129. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  130. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  131. package/assets/js/components/video-card/video-card.component.js +45 -33
  132. package/assets/js/components/video-card/video-card.component.min.js +3 -3
  133. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  134. package/assets/js/components.bundle.js +1 -1
  135. package/assets/js/components.bundle.js.map +1 -1
  136. package/assets/js/components.js +35 -8
  137. package/assets/js/modules/applied-filters.js +20 -20
  138. package/assets/js/modules/carousel.js +65 -60
  139. package/assets/js/modules/chart.js +184 -134
  140. package/assets/js/modules/chart.module.js +74 -63
  141. package/assets/js/modules/data-layer.js +17 -17
  142. package/assets/js/modules/dialogs.js +47 -38
  143. package/assets/js/modules/drawer.js +1 -1
  144. package/assets/js/modules/dynamicEvents.js +24 -24
  145. package/assets/js/modules/file-upload.js +8 -9
  146. package/assets/js/modules/fileupload.js +5 -5
  147. package/assets/js/modules/filterlist.js +4 -4
  148. package/assets/js/modules/form.js +22 -18
  149. package/assets/js/modules/helpers.js +54 -44
  150. package/assets/js/modules/inputs.js +25 -21
  151. package/assets/js/modules/nav.js +3 -1
  152. package/assets/js/modules/notification.js +6 -6
  153. package/assets/js/modules/orderablelist.js +12 -12
  154. package/assets/js/modules/pagination.js +5 -5
  155. package/assets/js/modules/table.js +242 -181
  156. package/assets/js/modules/tabs.js +71 -60
  157. package/assets/js/modules/testimonial.js +11 -12
  158. package/assets/js/scripts.bundle.js +1 -1
  159. package/assets/js/scripts.bundle.js.map +1 -1
  160. package/assets/js/scripts.bundle.min.js +1 -1
  161. package/assets/js/scripts.bundle.min.js.map +1 -1
  162. package/assets/js/scripts.js +1 -1
  163. package/assets/js/tests/chart.spec.js +5 -5
  164. package/assets/js/tests/filterlist.spec.js +2 -2
  165. package/assets/js/tests/slider.spec.js +2 -2
  166. package/assets/js/tests/table.spec.js +2 -2
  167. package/assets/js/vendor/hibp.js +4 -4
  168. package/assets/sass/_components.scss +28 -40
  169. package/assets/sass/_corefiles.scss +22 -29
  170. package/assets/sass/_elements.scss +19 -19
  171. package/assets/sass/_fonts.scss +10 -7
  172. package/assets/sass/_func.scss +14 -14
  173. package/assets/sass/_functions/functions.scss +115 -90
  174. package/assets/sass/_functions/mixins.scss +72 -112
  175. package/assets/sass/_functions/utilities.scss +447 -393
  176. package/assets/sass/_functions/variables.scss +1357 -1371
  177. package/assets/sass/_print.scss +18 -16
  178. package/assets/sass/_tests/colours.spec.scss +15 -14
  179. package/assets/sass/_tests/func.spec.scss +1 -2
  180. package/assets/sass/_tests/mixins.spec.scss +9 -14
  181. package/assets/sass/_tests/typography.spec.scss +1 -2
  182. package/assets/sass/_utilities.scss +8 -12
  183. package/assets/sass/components/actionbar.global.scss +45 -64
  184. package/assets/sass/components/actionbar.scss +58 -84
  185. package/assets/sass/components/address-lookup.scss +9 -11
  186. package/assets/sass/components/applied-filters.scss +3 -7
  187. package/assets/sass/components/barchart.component.scss +68 -99
  188. package/assets/sass/components/card.component.scss +35 -50
  189. package/assets/sass/components/card.module.scss +34 -37
  190. package/assets/sass/components/carousel.component.scss +198 -177
  191. package/assets/sass/components/carousel.config.scss +13 -19
  192. package/assets/sass/components/charts.config.scss +16 -23
  193. package/assets/sass/components/charts.module.scss +139 -178
  194. package/assets/sass/components/charts.scss +173 -232
  195. package/assets/sass/components/collapsible-side.scss +65 -98
  196. package/assets/sass/components/fileupload.scss +17 -23
  197. package/assets/sass/components/filter-card.component.scss +21 -28
  198. package/assets/sass/components/header.scss +24 -37
  199. package/assets/sass/components/inline-edit.preload.scss +24 -45
  200. package/assets/sass/components/inline-edit.scss +4 -5
  201. package/assets/sass/components/marketing.scss +19 -14
  202. package/assets/sass/components/multi-step.component.scss +36 -42
  203. package/assets/sass/components/multiselect.preload.scss +9 -12
  204. package/assets/sass/components/multiselect.scss +20 -24
  205. package/assets/sass/components/nav.docs.scss +7 -15
  206. package/assets/sass/components/nav.global.scss +123 -177
  207. package/assets/sass/components/nav.old.scss +64 -135
  208. package/assets/sass/components/nav.preload.scss +11 -12
  209. package/assets/sass/components/nav.scss +126 -173
  210. package/assets/sass/components/notification.global.scss +2 -3
  211. package/assets/sass/components/notification.scss +17 -32
  212. package/assets/sass/components/pagination.scss +32 -44
  213. package/assets/sass/components/property-searchbar.scss +2 -6
  214. package/assets/sass/components/record-card.component.scss +42 -55
  215. package/assets/sass/components/slider.scss +38 -35
  216. package/assets/sass/components/snapshot.scss +4 -10
  217. package/assets/sass/components/stepper.scss +14 -22
  218. package/assets/sass/components/table.global.scss +130 -171
  219. package/assets/sass/components/table.scss +17 -27
  220. package/assets/sass/components/tabs.scss +23 -32
  221. package/assets/sass/components/testimonial.scss +6 -14
  222. package/assets/sass/components/timeline.scss +8 -12
  223. package/assets/sass/components/video-card.component.scss +9 -14
  224. package/assets/sass/components.reset.scss +5 -5
  225. package/assets/sass/core.scss +3 -3
  226. package/assets/sass/elements/admin-panel.scss +41 -45
  227. package/assets/sass/elements/badge-tag.scss +16 -26
  228. package/assets/sass/elements/brand.scss +13 -16
  229. package/assets/sass/elements/buttons.scss +80 -106
  230. package/assets/sass/elements/container.scss +24 -133
  231. package/assets/sass/elements/details.scss +30 -50
  232. package/assets/sass/elements/dialog.scss +4 -6
  233. package/assets/sass/elements/forms.scss +421 -437
  234. package/assets/sass/elements/icons.scss +3 -4
  235. package/assets/sass/elements/links.scss +17 -25
  236. package/assets/sass/elements/lists.scss +30 -47
  237. package/assets/sass/elements/media.scss +1 -4
  238. package/assets/sass/elements/modal.scss +54 -80
  239. package/assets/sass/elements/popover.scss +28 -45
  240. package/assets/sass/elements/progress.scss +30 -40
  241. package/assets/sass/elements/table.element.scss +10 -15
  242. package/assets/sass/elements/tooltips.scss +27 -49
  243. package/assets/sass/elements/type.scss +47 -53
  244. package/assets/sass/email.scss +7 -9
  245. package/assets/sass/error.scss +23 -20
  246. package/assets/sass/foundations/bs_grid.scss +0 -1
  247. package/assets/sass/foundations/grid.scss +120 -122
  248. package/assets/sass/foundations/reboot.scss +27 -35
  249. package/assets/sass/foundations/root.scss +21 -31
  250. package/assets/sass/helpers/dynamic.scss +5 -5
  251. package/assets/sass/helpers/line-clamp.scss +1 -2
  252. package/assets/sass/helpers/max-height.scss +28 -36
  253. package/assets/sass/helpers/wider-colours.scss +2 -5
  254. package/assets/sass/main.scss +4 -4
  255. package/assets/sass/templates/auth.scss +11 -18
  256. package/assets/sass/templates/form.scss +16 -29
  257. package/assets/ts/components/_global.ts +14 -17
  258. package/assets/ts/components/accordion/accordion.component.ts +23 -19
  259. package/assets/ts/components/actionbar/README.md +8 -7
  260. package/assets/ts/components/actionbar/actionbar.component.ts +170 -220
  261. package/assets/ts/components/address-lookup/address-lookup.component.ts +94 -130
  262. package/assets/ts/components/applied-filters/README.md +1 -1
  263. package/assets/ts/components/applied-filters/applied-filters.component.ts +16 -15
  264. package/assets/ts/components/barchart/barchart.component.ts +29 -26
  265. package/assets/ts/components/card/card.component.ts +56 -57
  266. package/assets/ts/components/carousel/README.md +8 -9
  267. package/assets/ts/components/carousel/carousel.component.ts +30 -33
  268. package/assets/ts/components/chart/README.md +1 -3
  269. package/assets/ts/components/chart/chart.component.ts +24 -36
  270. package/assets/ts/components/collapsible-side/README.md +1 -1
  271. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +44 -57
  272. package/assets/ts/components/fileupload/README.md +3 -3
  273. package/assets/ts/components/fileupload/fileupload.component.ts +23 -28
  274. package/assets/ts/components/filter-card/filter-card.component.ts +32 -33
  275. package/assets/ts/components/filterlist/README.md +3 -3
  276. package/assets/ts/components/filterlist/filterlist.component.ts +18 -16
  277. package/assets/ts/components/header/README.md +8 -9
  278. package/assets/ts/components/header/header.component.ts +15 -16
  279. package/assets/ts/components/inline-edit/README.md +1 -0
  280. package/assets/ts/components/inline-edit/inline-edit.component.ts +71 -71
  281. package/assets/ts/components/marketing/marketing.component.ts +17 -16
  282. package/assets/ts/components/multi-step/multi-step.component.ts +114 -156
  283. package/assets/ts/components/multiselect/README.md +5 -5
  284. package/assets/ts/components/multiselect/multiselect.component.ts +116 -133
  285. package/assets/ts/components/nav/README.md +13 -13
  286. package/assets/ts/components/nav/nav.component.ts +171 -167
  287. package/assets/ts/components/notification/README.md +9 -9
  288. package/assets/ts/components/notification/notification.component.ts +33 -32
  289. package/assets/ts/components/pagination/README.md +12 -12
  290. package/assets/ts/components/pagination/pagination.component.ts +51 -69
  291. package/assets/ts/components/record-card/record-card.component.ts +24 -34
  292. package/assets/ts/components/search/README.md +6 -7
  293. package/assets/ts/components/search/search.component.ts +75 -91
  294. package/assets/ts/components/slider/slider.component.ts +62 -77
  295. package/assets/ts/components/table/README.md +8 -8
  296. package/assets/ts/components/table/table.component.ts +97 -134
  297. package/assets/ts/components/tabs/README.md +4 -4
  298. package/assets/ts/components/tabs/tabs.component.ts +16 -14
  299. package/assets/ts/components/video-card/video-card.component.ts +89 -93
  300. package/assets/ts/components.ts +44 -20
  301. package/assets/ts/html.d.ts +1 -7
  302. package/assets/ts/modules/applied-filters.ts +104 -135
  303. package/assets/ts/modules/card.module.ts +13 -18
  304. package/assets/ts/modules/carousel.ts +194 -195
  305. package/assets/ts/modules/chart.module.ts +201 -246
  306. package/assets/ts/modules/chart.ts +454 -472
  307. package/assets/ts/modules/data-layer.md +35 -31
  308. package/assets/ts/modules/data-layer.ts +18 -18
  309. package/assets/ts/modules/dialogs.ts +113 -117
  310. package/assets/ts/modules/drawer.ts +7 -9
  311. package/assets/ts/modules/dynamicEvents.ts +67 -100
  312. package/assets/ts/modules/file-upload.ts +43 -40
  313. package/assets/ts/modules/fileupload.ts +38 -60
  314. package/assets/ts/modules/filterlist.ts +14 -20
  315. package/assets/ts/modules/form.ts +126 -128
  316. package/assets/ts/modules/helpers.ts +114 -120
  317. package/assets/ts/modules/inputs.ts +88 -120
  318. package/assets/ts/modules/nav.ts +19 -18
  319. package/assets/ts/modules/notification.ts +28 -32
  320. package/assets/ts/modules/orderablelist.ts +90 -82
  321. package/assets/ts/modules/pagination.ts +14 -19
  322. package/assets/ts/modules/table.ts +516 -599
  323. package/assets/ts/modules/tabs.ts +120 -145
  324. package/assets/ts/modules/testimonial.ts +59 -64
  325. package/assets/ts/scripts.ts +7 -9
  326. package/assets/ts/tests/chart.spec.ts +11 -20
  327. package/assets/ts/tests/data-layer.spec.js +3 -4
  328. package/assets/ts/tests/filterlist.spec.ts +3 -6
  329. package/assets/ts/tests/slider.spec.ts +9 -15
  330. package/assets/ts/tests/table.spec.ts +7 -24
  331. package/assets/ts/vendor/hibp.ts +43 -43
  332. package/dist/components.es.js +280 -270
  333. package/dist/components.umd.js +67 -67
  334. package/dist/style.css +1 -1
  335. package/package.json +14 -4
  336. package/src/components/Accordion/Accordion.spec.js +25 -31
  337. package/src/components/Accordion/Accordion.vue +16 -19
  338. package/src/components/Accordion/AccordionItem.vue +39 -37
  339. package/src/components/Accordion/README.md +10 -12
  340. package/src/components/Actionbar/Actionbar.vue +15 -18
  341. package/src/components/Actionbar/README.md +8 -7
  342. package/src/components/AddressLookup/AddressLookup.vue +14 -16
  343. package/src/components/AppliedFilters/AppliedFilters.vue +14 -16
  344. package/src/components/Banner/Banner.spec.js +13 -15
  345. package/src/components/Banner/Banner.vue +19 -19
  346. package/src/components/Banner/README.md +8 -10
  347. package/src/components/BarChart/BarChart.vue +14 -16
  348. package/src/components/Card/Card.vue +13 -16
  349. package/src/components/Card/README.md +8 -8
  350. package/src/components/Carousel/Carousel.vue +15 -18
  351. package/src/components/Carousel/README.md +7 -7
  352. package/src/components/Chart/Chart.spec.js +64 -87
  353. package/src/components/Chart/Chart.vue +41 -40
  354. package/src/components/Chart/README.md +8 -9
  355. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +8 -10
  356. package/src/components/CollapsibleSideMenu/README.md +1 -1
  357. package/src/components/FileUpload/FileUpload.vue +35 -40
  358. package/src/components/FileUpload/README.md +3 -3
  359. package/src/components/FilterCard/FilterCard.vue +14 -16
  360. package/src/components/Filterlist/Filterlist.vue +7 -9
  361. package/src/components/Filterlist/README.md +3 -3
  362. package/src/components/Header/Header.vue +23 -26
  363. package/src/components/Header/README.md +8 -9
  364. package/src/components/InlineEdit/InlineEdit.vue +26 -32
  365. package/src/components/Input/Input.vue +323 -233
  366. package/src/components/Input/README.md +11 -11
  367. package/src/components/Marketing/Marketing.vue +24 -27
  368. package/src/components/Marketing/README.md +7 -7
  369. package/src/components/MultiStep/MultiStep.vue +13 -15
  370. package/src/components/Multiselect/Multiselect.vue +14 -17
  371. package/src/components/Nav/Nav.vue +15 -29
  372. package/src/components/Nav/README.md +12 -12
  373. package/src/components/Nav-old/Nav.vue +88 -93
  374. package/src/components/Nav-old/README.md +11 -12
  375. package/src/components/NoteFeed/NoteFeed.vue +59 -56
  376. package/src/components/NoteFeed/README.md +6 -6
  377. package/src/components/Notification/Notification.vue +11 -15
  378. package/src/components/Notification/README.md +9 -9
  379. package/src/components/Pagination/Pagination.vue +14 -24
  380. package/src/components/Pagination/README.md +12 -12
  381. package/src/components/PropertySearchbar/PropertySearchbar.vue +191 -160
  382. package/src/components/PropertySearchbar/README.md +14 -15
  383. package/src/components/RecordCard/RecordCard.vue +14 -16
  384. package/src/components/Search/README.md +1 -1
  385. package/src/components/Search/Search.vue +13 -16
  386. package/src/components/Slider/Slider.vue +13 -16
  387. package/src/components/Snapshot/README.md +9 -10
  388. package/src/components/Snapshot/Snapshot.vue +15 -17
  389. package/src/components/Stepper/README.md +12 -13
  390. package/src/components/Stepper/Step.vue +22 -18
  391. package/src/components/Stepper/Stepper.spec.js +41 -46
  392. package/src/components/Stepper/Stepper.vue +17 -18
  393. package/src/components/Table/README.md +12 -11
  394. package/src/components/Table/Table.spec.js +17 -28
  395. package/src/components/Table/Table.vue +49 -48
  396. package/src/components/Tabs/README.md +8 -8
  397. package/src/components/Tabs/Tab.vue +21 -21
  398. package/src/components/Tabs/Tabs.vue +14 -17
  399. package/src/components/Testimonial/README.md +11 -12
  400. package/src/components/Testimonial/Testimonial.spec.js +22 -26
  401. package/src/components/Testimonial/Testimonial.vue +31 -25
  402. package/src/components/Timeline/README.md +3 -3
  403. package/src/components/Timeline/Timeline.spec.js +9 -11
  404. package/src/components/Timeline/Timeline.vue +10 -10
  405. package/src/components/VideoCard/VideoCard.vue +14 -16
  406. package/src/foundations/Logo/Logo.spec.js +30 -30
  407. package/src/foundations/Logo/Logo.vue +28 -28
  408. package/src/foundations/Logo/README.md +5 -4
  409. package/src/helpers/strings.js +11 -8
  410. package/src/index.js +27 -28
  411. package/src/vue-shim.d.ts +4 -4
@@ -1,32 +1,25 @@
1
+ // #region Functions that setup and trigger other functions
1
2
 
2
- // #region Functions that setup and trigger other functions
3
-
4
- export const addClasses = (chartElement:any, chartOuter:any) => {
5
-
3
+ export const addClasses = (chartElement: any, chartOuter: any) => {
6
4
  // add colour classes
7
5
  for (let i = 1; i <= 10; i++) {
8
- if(chartElement.hasAttribute(`data-colour-${i}`)){
9
-
10
- let colour = chartElement.getAttribute(`data-colour-${i}`);
6
+ if (chartElement.hasAttribute(`data-colour-${i}`)) {
7
+ const colour = chartElement.getAttribute(`data-colour-${i}`);
11
8
  chartElement.style.setProperty(`--chart-colour-${i}`, `var(--chart-colour-${colour})`);
12
9
  chartElement.style.setProperty(`--chart-colour-${i}-hover`, `var(--chart-colour-${colour}-hover)`);
13
10
  }
14
11
 
15
- Array.from(chartOuter.querySelectorAll(`[data-colour-${i}]`)).forEach((element:HTMLElement) => {
16
-
17
- let colour = element.getAttribute(`data-colour-${i}`);
12
+ Array.from(chartOuter.querySelectorAll(`[data-colour-${i}]`)).forEach((element: HTMLElement) => {
13
+ const colour = element.getAttribute(`data-colour-${i}`);
18
14
  element.style.setProperty(`--chart-colour-${i}-set`, `var(--chart-colour-${colour})`);
19
15
  element.style.setProperty(`--chart-colour-${i}-hover`, `var(--chart-colour-${colour}-hover)`);
20
16
  });
21
-
22
17
  }
23
18
 
24
19
  return true;
25
20
  };
26
21
 
27
-
28
- export const setupChart = (chartElement:any,chartOuter:any,tableElement:any) => {
29
-
22
+ export const setupChart = (chartElement: any, chartOuter: any, tableElement: any) => {
30
23
  // #region Reset the chart
31
24
  // empty divs to re-populate
32
25
  const chartKey = chartOuter.querySelector('.chart__key');
@@ -37,18 +30,22 @@ export const setupChart = (chartElement:any,chartOuter:any,tableElement:any) =>
37
30
  chartYaxis.innerHTML = ``;
38
31
 
39
32
  // Remove old input fields
40
- Array.from(chartOuter.querySelectorAll(':scope > input[type="checkbox"],:scope > input[type="radio"]')).map((element: any) => { element.remove(); })
33
+ Array.from(chartOuter.querySelectorAll(':scope > input[type="checkbox"],:scope > input[type="radio"]')).map(
34
+ (element: any) => {
35
+ element.remove();
36
+ }
37
+ );
41
38
  // #endregion
42
39
 
43
- let {xaxis} = getChartData(chartElement);
40
+ const { xaxis } = getChartData(chartElement);
44
41
 
45
- setCellData(chartElement,tableElement);
42
+ setCellData(chartElement, tableElement);
46
43
 
47
- createChartKey(chartOuter,tableElement,chartKey);
48
- createChartGuidelines(chartElement,chartGuidelines);
49
- createChartYaxis(chartElement,chartYaxis);
44
+ createChartKey(chartOuter, tableElement, chartKey);
45
+ createChartGuidelines(chartElement, chartGuidelines);
46
+ createChartYaxis(chartElement, chartYaxis);
50
47
 
51
- if(xaxis){
48
+ if (xaxis) {
52
49
  createXaxis(chartOuter);
53
50
  }
54
51
 
@@ -57,82 +54,68 @@ export const setupChart = (chartElement:any,chartOuter:any,tableElement:any) =>
57
54
  // #endregion
58
55
 
59
56
  // #region Event handlers and observers
60
- export const setEventListener = function(chartElement:any, chartOuter:any) {
61
-
62
- let chart = chartOuter.querySelector('.chart');
63
- chart.addEventListener('mousemove', (event:any) => {
64
-
65
- if (event && event.target instanceof HTMLElement && event.target.closest('td:not(:first-child')){
57
+ export const setEventListener = function (chartElement: any, chartOuter: any) {
58
+ const chart = chartOuter.querySelector('.chart');
59
+ chart.addEventListener('mousemove', (event: any) => {
60
+ if (event && event.target instanceof HTMLElement && event.target.closest('td:not(:first-child')) {
61
+ const column = event.target.closest('td:not(:first-child');
66
62
 
67
- let column = event.target.closest('td:not(:first-child')
63
+ const rect = column.getBoundingClientRect();
68
64
 
69
- var rect = column.getBoundingClientRect();
70
-
71
- let x = event.clientX - rect.left;
72
- let y = event.clientY - rect.top;
73
- chart.setAttribute('style', `--cursor-x: ${x}px; --cursor-y: ${y}px;`)
65
+ const x = event.clientX - rect.left;
66
+ const y = event.clientY - rect.top;
67
+ chart.setAttribute('style', `--cursor-x: ${x}px; --cursor-y: ${y}px;`);
74
68
  }
75
69
  });
76
70
 
77
71
  // Use the part for the chart items to pass through states to the pages CSS
78
- let labels = chartOuter.querySelectorAll('label');
79
-
80
- Array.from(labels).forEach((label:HTMLElement) => {
81
-
82
- if(chartOuter.querySelector(`input#${label.getAttribute('for')}`).checked)
83
- label.setAttribute('part','key-checked');
84
- else
85
- label.setAttribute('part','key-unchecked');
86
- });
72
+ const labels = chartOuter.querySelectorAll('label');
87
73
 
88
-
89
- let table = chartElement.querySelector('table');
90
- let shadowTable = chartOuter.querySelector('table');
74
+ Array.from(labels).forEach((label: HTMLElement) => {
75
+ if (chartOuter.querySelector(`input#${label.getAttribute('for')}`).checked)
76
+ label.setAttribute('part', 'key-checked');
77
+ else label.setAttribute('part', 'key-unchecked');
78
+ });
91
79
 
92
- chartOuter.addEventListener('change', function(event:any){
80
+ const table = chartElement.querySelector('table');
81
+ const shadowTable = chartOuter.querySelector('table');
93
82
 
94
- let eventTarget = event.target;
83
+ chartOuter.addEventListener('change', function (event: any) {
84
+ const eventTarget = event.target;
95
85
 
96
- const customEvent = new CustomEvent("view-change", { detail: {
97
- 'data-dataset': eventTarget.getAttribute('data-dataset'),
98
- 'label': eventTarget.getAttribute('data-label'),
99
- 'checked': eventTarget.checked
100
- }
101
- });
86
+ const customEvent = new CustomEvent('view-change', {
87
+ detail: {
88
+ 'data-dataset': eventTarget.getAttribute('data-dataset'),
89
+ label: eventTarget.getAttribute('data-label'),
90
+ checked: eventTarget.checked,
91
+ },
92
+ });
102
93
 
103
94
  chartElement.dispatchEvent(customEvent);
104
95
 
105
- Array.from(labels).forEach((label:HTMLElement) => {
106
-
107
- if(chartOuter.querySelector(`input#${label.getAttribute('for')}`)?.checked)
108
- label.setAttribute('part','key-checked');
109
- else
110
- label.setAttribute('part','key-unchecked');
96
+ Array.from(labels).forEach((label: HTMLElement) => {
97
+ if (chartOuter.querySelector(`input#${label.getAttribute('for')}`)?.checked)
98
+ label.setAttribute('part', 'key-checked');
99
+ else label.setAttribute('part', 'key-unchecked');
111
100
  });
112
101
 
113
-
114
102
  shadowTable.innerHTML = table.innerHTML;
115
- setCellData(chartElement,shadowTable);
116
-
103
+ setCellData(chartElement, shadowTable);
117
104
  });
118
- }
119
-
120
- export const setEventObservers = function(chartElement:any,chartOuter:any) {
121
-
122
- let table = chartElement.querySelector('table');
123
- let shadowTable = chartOuter.querySelector('table');
105
+ };
124
106
 
125
- const attributesUpdated = (mutationList:any, observer:any) => {
107
+ export const setEventObservers = function (chartElement: any, chartOuter: any) {
108
+ const table = chartElement.querySelector('table');
109
+ const shadowTable = chartOuter.querySelector('table');
126
110
 
111
+ const attributesUpdated = (mutationList: any, observer: any) => {
127
112
  observer.disconnect();
128
113
  observer2.disconnect();
129
114
 
130
115
  for (const mutation of mutationList) {
131
-
132
- if(mutation.attributeName == 'class' || (mutation.type === 'attributes') || mutation.type === 'attributes') {
133
-
116
+ if (mutation.attributeName == 'class' || mutation.type === 'attributes' || mutation.type === 'attributes') {
134
117
  shadowTable.innerHTML = table.innerHTML;
135
- setupChart(chartElement,chartOuter,shadowTable);
118
+ setupChart(chartElement, chartOuter, shadowTable);
136
119
  }
137
120
  }
138
121
 
@@ -140,17 +123,14 @@ export const setEventObservers = function(chartElement:any,chartOuter:any) {
140
123
  observer2.observe(chartElement, { attributes: true });
141
124
  };
142
125
 
143
- const tableUpdated = (mutationList:any, observer:any) => {
144
-
126
+ const tableUpdated = (mutationList: any, observer: any) => {
145
127
  observer.disconnect();
146
128
  observer2.disconnect();
147
129
 
148
130
  for (const mutation of mutationList) {
149
-
150
- if(mutation.type == "characterData" || (mutation.type == "childList" && mutation.addedNodes.length)){
151
-
131
+ if (mutation.type == 'characterData' || (mutation.type == 'childList' && mutation.addedNodes.length)) {
152
132
  shadowTable.innerHTML = table.innerHTML;
153
- setupChart(chartElement,chartOuter,shadowTable);
133
+ setupChart(chartElement, chartOuter, shadowTable);
154
134
  }
155
135
  }
156
136
 
@@ -158,9 +138,8 @@ export const setEventObservers = function(chartElement:any,chartOuter:any) {
158
138
  observer2.observe(chartElement, { attributes: true });
159
139
  };
160
140
 
161
-
162
- let observer = new MutationObserver(tableUpdated);
163
- let observer2 = new MutationObserver(attributesUpdated);
141
+ const observer = new MutationObserver(tableUpdated);
142
+ const observer2 = new MutationObserver(attributesUpdated);
164
143
 
165
144
  observer.observe(table, { characterData: true, subtree: true });
166
145
  observer2.observe(chartElement, { attributes: true });
@@ -170,318 +149,294 @@ export const setEventObservers = function(chartElement:any,chartOuter:any) {
170
149
  // #endregion
171
150
 
172
151
  // #region GET functions
173
- export const getChartData = function(chartElement:any){
152
+ export const getChartData = function (chartElement: any) {
153
+ const table = chartElement.shadowRoot.querySelector('.chart__wrapper table');
174
154
 
175
-
176
- let table = chartElement.shadowRoot.querySelector('.chart__wrapper table');
177
-
178
- let min:any = chartElement.hasAttribute('data-min') ? chartElement.getAttribute('data-min') : 0;
179
- let max:any = chartElement.hasAttribute('data-max') ? chartElement.getAttribute('data-max') : getLargestValue(chartElement,table);
155
+ const min: any = chartElement.hasAttribute('data-min') ? chartElement.getAttribute('data-min') : 0;
156
+ const max: any = chartElement.hasAttribute('data-max')
157
+ ? chartElement.getAttribute('data-max')
158
+ : getLargestValue(chartElement, table);
180
159
  //let type:string = chartElement.hasAttribute('data-type') ? chartElement.getAttribute('data-type') : 'column';
181
- let yaxis:any = chartElement.hasAttribute('data-yaxis') ? chartElement.getAttribute('data-yaxis').split(',') : [];
182
- let guidelines:any = chartElement.hasAttribute('data-guidelines') ? chartElement.getAttribute('data-guidelines').split(',') : [];
160
+ const yaxis: any = chartElement.hasAttribute('data-yaxis') ? chartElement.getAttribute('data-yaxis').split(',') : [];
161
+ const guidelines: any = chartElement.hasAttribute('data-guidelines')
162
+ ? chartElement.getAttribute('data-guidelines').split(',')
163
+ : [];
183
164
  //let targets:any = chartElement.hasAttribute('data-targets') ? JSON.parse(chartElement.getAttribute('data-targets')) : null;
184
165
  //let events:any = chartElement.hasAttribute('data-events') ? JSON.parse(chartElement.getAttribute('data-events')) : null;
185
- let xaxis:any = chartElement.hasAttribute('data-xaxis') ? chartElement.getAttribute('data-xaxis').split(',') : null;
166
+ const xaxis: any = chartElement.hasAttribute('data-xaxis')
167
+ ? chartElement.getAttribute('data-xaxis').split(',')
168
+ : null;
186
169
  //let increment = chartElement.hasAttribute('data-increment') ? chartElement.getAttribute('data-increment'): null;
187
-
170
+
188
171
  //let start:any = chartElement.hasAttribute('data-start') ? chartElement.getAttribute('data-start') : 0;
189
172
  //let end:any = chartElement.hasAttribute('data-end') ? chartElement.getAttribute('data-end') : getLargestValue(chartElement,table); // TODO - get largest value from the data-xaxis
190
173
 
191
-
192
174
  //let slope:any = chartElement.hasAttribute('data-slope') ? chartElement.getAttribute('data-slope') : null;
193
175
  //let yInt:any = chartElement.hasAttribute('data-yint') ? chartElement.getAttribute('data-yint') : null;
194
176
 
195
- return {min,max,yaxis,xaxis,guidelines};
196
- }
197
-
198
- function getLargestValue(chartElement:any,table:any){
177
+ return { min, max, yaxis, xaxis, guidelines };
178
+ };
199
179
 
180
+ function getLargestValue(chartElement: any, table: any) {
200
181
  const selector = chartElement.classList.contains('chart--stacked') ? 'tbody tr' : 'tbody td:not(:first-child)';
201
182
 
202
- let values = Array.from(table.querySelectorAll(selector)).map((element: any) => {
203
-
204
- let currentValue = element.getAttribute('data-numeric');
183
+ const values = Array.from(table.querySelectorAll(selector)).map((element: any) => {
184
+ const currentValue = element.getAttribute('data-numeric');
205
185
 
206
186
  return currentValue;
207
187
  });
208
188
 
209
- let largestValue:number = Math.max(...values);
189
+ const largestValue: number = Math.max(...values);
210
190
 
211
191
  // TO DO round to the nearest 10, 100, 1000 and so on
212
192
  return Math.ceil(largestValue);
213
193
  }
214
194
 
215
- const getValues = function(value:number,min:any,max:any,start?:number){
216
-
217
- let cleanValue:string|number = String(value);
218
- cleanValue = cleanValue.replace('£','');
219
- cleanValue = cleanValue.replace('%','');
220
- cleanValue = cleanValue.replace(',','');
195
+ const getValues = function (value: number, min: any, max: any, start?: number) {
196
+ let cleanValue: string | number = String(value);
197
+ cleanValue = cleanValue.replace('£', '');
198
+ cleanValue = cleanValue.replace('%', '');
199
+ cleanValue = cleanValue.replace(',', '');
221
200
  cleanValue = Number.parseFloat(cleanValue);
222
201
 
223
- let percent = ((cleanValue - min)/(max - min)) * 100;
202
+ let percent = ((cleanValue - min) / (max - min)) * 100;
224
203
  let axis = percent;
225
204
  let bottom = 0;
226
205
 
227
- if (start && start != 0){
228
- bottom = ((start - min)/(max - min)) * 100;
206
+ if (start && start != 0) {
207
+ bottom = ((start - min) / (max - min)) * 100;
229
208
  }
230
209
 
231
210
  // If the value is negative the position below the 0 line
232
- if(min < 0){
233
- bottom = Math.abs(((min)/(max - min))*100);
211
+ if (min < 0) {
212
+ bottom = Math.abs((min / (max - min)) * 100);
234
213
 
235
- if(cleanValue < 0){
214
+ if (cleanValue < 0) {
236
215
  percent = bottom - percent;
237
216
  bottom = bottom - percent;
238
217
  axis = bottom;
239
- }
240
- else {
218
+ } else {
241
219
  percent = percent - bottom;
242
220
  axis = percent + bottom;
243
221
  }
244
222
  }
245
223
 
246
- return { percent, axis, bottom};
247
- }
224
+ return { percent, axis, bottom };
225
+ };
248
226
 
249
227
  // #endregion
250
228
 
251
229
  // #region SET functions - set data attributes and classes
252
- export const setCellData = function(chartElement:any,table:any){
253
-
254
- Array.from(table.querySelectorAll('tbody tr')).forEach((tr:any) => {
255
-
230
+ export const setCellData = function (chartElement: any, table: any) {
231
+ Array.from(table.querySelectorAll('tbody tr')).forEach((tr: any) => {
256
232
  let rowValue = 0;
257
233
  // Set the data numeric value if not set
258
- Array.from(tr.querySelectorAll('td:not(:first-child)')).forEach((td:any) => {
234
+ Array.from(tr.querySelectorAll('td:not(:first-child)')).forEach((td: any) => {
235
+ const value = parseFloat(td.textContent.replace('£', '').replace('%', '').replace(',', ''));
259
236
 
260
- let value = parseFloat(td.textContent.replace('£','').replace('%','').replace(',',''));
261
-
262
- td.setAttribute('data-numeric',value);
263
- td.setAttribute('data-value',td.textContent);
237
+ td.setAttribute('data-numeric', value);
238
+ td.setAttribute('data-value', td.textContent);
264
239
 
265
- let display = getComputedStyle(td).display;
240
+ const display = getComputedStyle(td).display;
266
241
 
267
- if(display != 'none')
268
- rowValue += value;
242
+ if (display != 'none') rowValue += value;
269
243
  });
270
244
 
271
- tr.setAttribute('data-numeric',rowValue);
245
+ tr.setAttribute('data-numeric', rowValue);
272
246
  });
273
247
 
274
- let {min, max} = getChartData(chartElement);
275
-
276
- Array.from(table.querySelectorAll('tbody tr')).forEach((tr:any, index) => {
248
+ const { min, max } = getChartData(chartElement);
277
249
 
278
- let group = tr.querySelector('td:first-child, th:first-child') ? tr.querySelector('td:first-child, th:first-child').textContent : '';
250
+ Array.from(table.querySelectorAll('tbody tr')).forEach((tr: any, index) => {
251
+ const group = tr.querySelector('td:first-child, th:first-child')
252
+ ? tr.querySelector('td:first-child, th:first-child').textContent
253
+ : '';
279
254
 
280
- tr.setAttribute('part','group');
255
+ tr.setAttribute('part', 'group');
281
256
 
282
-
283
- let percent = ((tr.getAttribute('data-numeric') - min)/(max - min)) * 100;
257
+ const percent = ((tr.getAttribute('data-numeric') - min) / (max - min)) * 100;
284
258
 
285
- tr.style.setProperty('--percent',`${percent}%`)
259
+ tr.style.setProperty('--percent', `${percent}%`);
286
260
 
287
261
  // Set the data label value if not set
288
- Array.from(tr.querySelectorAll('td:not([data-label])')).forEach((td:any, index) => {
289
-
290
- if(index == 0)
262
+ Array.from(tr.querySelectorAll('td:not([data-label])')).forEach((td: any, index) => {
263
+ if (index == 0)
291
264
  td.setAttribute('part', 'xaxis-label'); // PART
292
- else
293
- td.setAttribute('part', 'value');
265
+ else td.setAttribute('part', 'value');
294
266
 
295
- if(tr.querySelectorAll('td').length > 2)
296
- td.setAttribute('data-label',table.querySelectorAll('thead th')[index].textContent);
267
+ if (tr.querySelectorAll('td').length > 2)
268
+ td.setAttribute('data-label', table.querySelectorAll('thead th')[index].textContent);
297
269
  });
298
270
 
271
+ const rowMin = tr.hasAttribute('data-min') ? tr.getAttribute('data-min') : min;
272
+ const rowMax = tr.hasAttribute('data-max') ? tr.getAttribute('data-max') : max;
299
273
 
300
- let rowMin = tr.hasAttribute('data-min') ? tr.getAttribute('data-min') : min;
301
- let rowMax = tr.hasAttribute('data-max') ? tr.getAttribute('data-max') : max;
302
-
303
- if(rowMin < 0){
304
- let minBottom = Math.abs(((rowMin)/(rowMax - rowMin))*100);
305
- chartElement.setAttribute('style',`--min-bottom: ${minBottom}%;`);
274
+ if (rowMin < 0) {
275
+ const minBottom = Math.abs((rowMin / (rowMax - rowMin)) * 100);
276
+ chartElement.setAttribute('style', `--min-bottom: ${minBottom}%;`);
306
277
  }
307
278
 
308
279
  // Add a useful index css var for the use of animatons.
309
- tr.style.setProperty('--row-index', index+1);
310
-
280
+ tr.style.setProperty('--row-index', index + 1);
311
281
 
312
282
  // Add css vars to cells
313
- Array.from(tr.querySelectorAll('td[data-numeric]:not([data-label="Min"]):not([data-label="Max"]):not(:first-child)')).forEach((td:any) => {
283
+ Array.from(
284
+ tr.querySelectorAll('td[data-numeric]:not([data-label="Min"]):not([data-label="Max"]):not(:first-child)')
285
+ ).forEach((td: any) => {
286
+ const display = getComputedStyle(td).display;
287
+ if (display == 'none') return;
314
288
 
315
- let display = getComputedStyle(td).display;
316
- if(display == 'none')
317
- return;
318
-
319
289
  const content = td.innerHTML;
320
290
  const value = Number.parseFloat(td.getAttribute('data-numeric'));
321
291
  const start = Number.parseFloat(td.getAttribute('data-start'));
322
292
 
323
- if(!td.querySelector('span[data-group]'))
324
- td.innerHTML = `<span data-group="${group}" ${td.hasAttribute('data-label') ? `data-label="${td.getAttribute('data-label')}"`: ''} part="popover">${content}</span>`;
293
+ if (!td.querySelector('span[data-group]'))
294
+ td.innerHTML = `<span data-group="${group}" ${td.hasAttribute('data-label') ? `data-label="${td.getAttribute('data-label')}"` : ''} part="popover">${content}</span>`;
325
295
 
326
- if(!td.hasAttribute('style')){
327
-
328
- let { percent, bottom, axis } = getValues(value,rowMin,rowMax,start);
296
+ if (!td.hasAttribute('style')) {
297
+ const { percent, bottom, axis } = getValues(value, rowMin, rowMax, start);
329
298
 
330
- td.setAttribute('data-percent',percent)
331
- td.setAttribute("style",`--bottom:${bottom}%;--percent:${percent}%;--axis:${axis}%;`);
299
+ td.setAttribute('data-percent', percent);
300
+ td.setAttribute('style', `--bottom:${bottom}%;--percent:${percent}%;--axis:${axis}%;`);
332
301
  }
333
302
  });
334
303
  });
335
- }
336
-
337
- export const setLongestLabel = function(chartOuter:any){
304
+ };
338
305
 
339
- let chartWrapper = chartOuter.querySelector('.chart__wrapper');
340
- let chartSpacer = chartOuter.querySelector('.chart__spacer span');
341
- let table = chartOuter.querySelector('.chart table');
306
+ export const setLongestLabel = function (chartOuter: any) {
307
+ const chartWrapper = chartOuter.querySelector('.chart__wrapper');
308
+ const chartSpacer = chartOuter.querySelector('.chart__spacer span');
309
+ const table = chartOuter.querySelector('.chart table');
342
310
  // set the longest label attr so that the bar chart knows what margin to set on the left
343
311
  let longestLabel = '';
344
312
  Array.from(table.querySelectorAll('tbody tr td:first-child')).forEach((td: any) => {
345
- if(typeof td.textContent != "undefined" && td.textContent.length > longestLabel.length){
346
-
313
+ if (typeof td.textContent != 'undefined' && td.textContent.length > longestLabel.length) {
347
314
  longestLabel = td.textContent;
348
315
  }
349
316
  });
350
- chartWrapper.setAttribute('data-longest-label',longestLabel);
317
+ chartWrapper.setAttribute('data-longest-label', longestLabel);
351
318
  chartSpacer.innerHTML = longestLabel;
352
319
  };
353
320
 
354
- export const setLongestValue = function(chartOuter:any){
355
-
356
- let chartWrapper = chartOuter.querySelector('.chart__wrapper');
357
- let table = chartOuter.querySelector('.chart table');
321
+ export const setLongestValue = function (chartOuter: any) {
322
+ const chartWrapper = chartOuter.querySelector('.chart__wrapper');
323
+ const table = chartOuter.querySelector('.chart table');
358
324
 
359
325
  let longestValue = '';
360
326
  Array.from(table.querySelectorAll('tbody tr td:not(:first-child) span')).forEach((td: any) => {
361
- if(typeof td.textContent != "undefined" && td.textContent.length > longestValue.length)
327
+ if (typeof td.textContent != 'undefined' && td.textContent.length > longestValue.length)
362
328
  longestValue = td.textContent;
363
329
  });
364
- chartWrapper.setAttribute('data-longest-value',longestValue);
330
+ chartWrapper.setAttribute('data-longest-value', longestValue);
365
331
  };
366
332
  // #endregion
367
333
 
368
334
  // #region CREATE function
369
335
 
370
- export const createChartKey = function(chartOuter:any,tableElement:any,chartKey:any){
371
-
372
- const chartID = `chart-${Date.now()+(Math.floor(Math.random() * 100) + 1)}`;
336
+ export const createChartKey = function (chartOuter: any, tableElement: any, chartKey: any) {
337
+ const chartID = `chart-${Date.now() + (Math.floor(Math.random() * 100) + 1)}`;
373
338
  //const chartOuter = chartElement.querySelector('.chart__outer');
374
339
 
375
- let previousInput:any;
376
-
377
-
378
- let headings = Array.from(tableElement.querySelectorAll('thead th'));
379
-
380
- headings.forEach((arrayElement:any , index) => {
340
+ let previousInput: any;
381
341
 
382
- if(index != 0){
342
+ const headings = Array.from(tableElement.querySelectorAll('thead th'));
383
343
 
384
- previousInput = createChartKeyItem(chartID,index,arrayElement.textContent,chartKey,chartOuter,previousInput);
344
+ headings.forEach((arrayElement: any, index) => {
345
+ if (index != 0) {
346
+ previousInput = createChartKeyItem(chartID, index, arrayElement.textContent, chartKey, chartOuter, previousInput);
385
347
  }
386
348
 
387
- if(index == 50){
349
+ if (index == 50) {
388
350
  headings.length = index + 1;
389
351
  }
390
-
391
352
  });
392
353
 
393
354
  return true;
394
- }
355
+ };
395
356
 
396
- function createChartKeyItem(chartID:string,index:number,text:Array<string>,chartKey:any,chartOuter:any,previousInput:any){
397
- let input = document.createElement('input');
398
- input.setAttribute('name',`${chartID}-dataset-${index}`);
399
- input.setAttribute('id',`${chartID}-dataset-${index}`);
400
- input.setAttribute('data-dataset',`${index}`);
401
- input.setAttribute('data-label',`${text}`);
357
+ function createChartKeyItem(
358
+ chartID: string,
359
+ index: number,
360
+ text: Array<string>,
361
+ chartKey: any,
362
+ chartOuter: any,
363
+ previousInput: any
364
+ ) {
365
+ const input = document.createElement('input');
366
+ input.setAttribute('name', `${chartID}-dataset-${index}`);
367
+ input.setAttribute('id', `${chartID}-dataset-${index}`);
368
+ input.setAttribute('data-dataset', `${index}`);
369
+ input.setAttribute('data-label', `${text}`);
402
370
  input.checked = true;
403
- input.setAttribute('type',`checkbox`);
404
-
371
+ input.setAttribute('type', `checkbox`);
405
372
 
406
- if(index == 1)
407
- chartOuter.prepend(input);
408
- else
409
- chartOuter.insertBefore(input,previousInput.nextSibling);
373
+ if (index == 1) chartOuter.prepend(input);
374
+ else chartOuter.insertBefore(input, previousInput.nextSibling);
410
375
 
411
376
  previousInput = input;
412
377
 
413
- let label = document.createElement('label');
414
- label.setAttribute('class',`key btn btn-action`);
415
- label.setAttribute('for',`${chartID}-dataset-${index}`);
416
- label.setAttribute('data-label',`${text}`);
417
- label.setAttribute('part',`key`);
378
+ const label = document.createElement('label');
379
+ label.setAttribute('class', `key btn btn-action`);
380
+ label.setAttribute('for', `${chartID}-dataset-${index}`);
381
+ label.setAttribute('data-label', `${text}`);
382
+ label.setAttribute('part', `key`);
418
383
  label.innerHTML = `${text}`;
419
384
  chartKey.append(label);
420
385
 
421
386
  return previousInput;
422
387
  }
423
388
 
424
- export const createChartGuidelines = function(chartElement:any,chartGuidelines:any){
425
-
426
- let {min, max, yaxis, guidelines} = getChartData(chartElement);
389
+ export const createChartGuidelines = function (chartElement: any, chartGuidelines: any) {
390
+ let { min, max, yaxis, guidelines } = getChartData(chartElement);
427
391
 
428
- if(!guidelines.length)
429
- guidelines = yaxis;
392
+ if (!guidelines.length) guidelines = yaxis;
430
393
 
431
394
  chartGuidelines.innerHTML = '';
432
- for (var i = 0; i < guidelines.length; i++) {
395
+ for (let i = 0; i < guidelines.length; i++) {
396
+ const value = parseFloat(guidelines[i].replace('£', '').replace('%', '').replace(',', ''));
433
397
 
434
- let value = parseFloat(guidelines[i].replace('£','').replace('%','').replace(',',''));
435
-
436
-
437
-
438
- let { axis } = getValues(value,min,max);
398
+ const { axis } = getValues(value, min, max);
439
399
  chartGuidelines.innerHTML += `<div class="guideline" style="--percent:${axis}%;">${yaxis.indexOf(guidelines[i]) != -1 ? `<span>${guidelines[i]}</span>` : ''}</div>`;
440
400
  }
441
- }
442
-
443
- export const createChartYaxis = function(chartElement:any,chartYaxis:any){
401
+ };
444
402
 
445
- let {min, max, yaxis} = getChartData(chartElement);
403
+ export const createChartYaxis = function (chartElement: any, chartYaxis: any) {
404
+ const { min, max, yaxis } = getChartData(chartElement);
446
405
 
447
406
  chartYaxis.innerHTML = '';
448
- for (var i = 0; i < yaxis.length; i++) {
449
-
450
- let value = parseFloat(yaxis[i].replace('£','').replace('%',''));
407
+ for (let i = 0; i < yaxis.length; i++) {
408
+ const value = parseFloat(yaxis[i].replace('£', '').replace('%', ''));
451
409
 
452
- let { axis } = getValues(value,min,max);
410
+ const { axis } = getValues(value, min, max);
453
411
  chartYaxis.innerHTML += `<div class="axis__point" style="--percent:${axis}%;"><span>${yaxis[i]}</span></div>`;
454
412
  }
455
- }
456
-
457
- export const createXaxis = function(chartOuter:any){
413
+ };
458
414
 
415
+ export const createXaxis = function (chartOuter: any) {
459
416
  const chart = chartOuter.querySelector('.chart');
460
417
  let chartXaxis = chartOuter.querySelector('.chart__xaxis');
461
418
 
462
- if(!chartXaxis){
419
+ if (!chartXaxis) {
463
420
  chartXaxis = document.createElement('div');
464
- chartXaxis.setAttribute('class','chart__xaxis');
421
+ chartXaxis.setAttribute('class', 'chart__xaxis');
465
422
  }
466
423
 
467
424
  chart.prepend(chartXaxis);
468
- }
469
-
470
- export const createTooltips = function(chartOuter:any) {
425
+ };
471
426
 
472
- const titles = chartOuter.querySelectorAll('thead th[title], tbody th[title]:first-child, tbody td[title]:first-child');
427
+ export const createTooltips = function (chartOuter: any) {
428
+ const titles = chartOuter.querySelectorAll(
429
+ 'thead th[title], tbody th[title]:first-child, tbody td[title]:first-child'
430
+ );
473
431
 
474
- Array.from(titles).forEach((title:HTMLElement) => {
475
-
476
- let tooltipId = `tooltip-${Date.now()}-${Math.floor(Math.random() * 100)}`;
432
+ Array.from(titles).forEach((title: HTMLElement) => {
433
+ const tooltipId = `tooltip-${Date.now()}-${Math.floor(Math.random() * 100)}`;
477
434
 
478
435
  title.innerHTML = `<button class="tooltip" popovertarget="${tooltipId}" part="tooltip" style="anchor-name: --${tooltipId};">${title.textContent}</button><span id="${tooltipId}" style="position-anchor: --${tooltipId};" popover part="tooltip__content" class="tooltip__content">${title.getAttribute('title')}</span>`;
479
436
 
480
437
  //title.removeAttribute('title'); // TODO add a supports query for anchor positioning
481
438
  });
482
-
483
-
484
- }
439
+ };
485
440
  // #endregion
486
441
 
487
- export default setupChart;
442
+ export default setupChart;