@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,14 +1,14 @@
1
- // #region Functions that setup and trigger other functions
1
+ // #region Functions that setup and trigger other functions
2
2
  export const addClasses = (chartElement, chartOuter) => {
3
3
  // add colour classes
4
4
  for (let i = 1; i <= 10; i++) {
5
5
  if (chartElement.hasAttribute(`data-colour-${i}`)) {
6
- let colour = chartElement.getAttribute(`data-colour-${i}`);
6
+ const colour = chartElement.getAttribute(`data-colour-${i}`);
7
7
  chartElement.style.setProperty(`--chart-colour-${i}`, `var(--chart-colour-${colour})`);
8
8
  chartElement.style.setProperty(`--chart-colour-${i}-hover`, `var(--chart-colour-${colour}-hover)`);
9
9
  }
10
10
  Array.from(chartOuter.querySelectorAll(`[data-colour-${i}]`)).forEach((element) => {
11
- let colour = element.getAttribute(`data-colour-${i}`);
11
+ const colour = element.getAttribute(`data-colour-${i}`);
12
12
  element.style.setProperty(`--chart-colour-${i}-set`, `var(--chart-colour-${colour})`);
13
13
  element.style.setProperty(`--chart-colour-${i}-hover`, `var(--chart-colour-${colour}-hover)`);
14
14
  });
@@ -25,9 +25,11 @@ export const setupChart = (chartElement, chartOuter, tableElement) => {
25
25
  const chartYaxis = chartOuter.querySelector('.chart__yaxis');
26
26
  chartYaxis.innerHTML = ``;
27
27
  // Remove old input fields
28
- Array.from(chartOuter.querySelectorAll(':scope > input[type="checkbox"],:scope > input[type="radio"]')).map((element) => { element.remove(); });
28
+ Array.from(chartOuter.querySelectorAll(':scope > input[type="checkbox"],:scope > input[type="radio"]')).map((element) => {
29
+ element.remove();
30
+ });
29
31
  // #endregion
30
- let { xaxis } = getChartData(chartElement);
32
+ const { xaxis } = getChartData(chartElement);
31
33
  setCellData(chartElement, tableElement);
32
34
  createChartKey(chartOuter, tableElement, chartKey);
33
35
  createChartGuidelines(chartElement, chartGuidelines);
@@ -40,33 +42,34 @@ export const setupChart = (chartElement, chartOuter, tableElement) => {
40
42
  // #endregion
41
43
  // #region Event handlers and observers
42
44
  export const setEventListener = function (chartElement, chartOuter) {
43
- let chart = chartOuter.querySelector('.chart');
45
+ const chart = chartOuter.querySelector('.chart');
44
46
  chart.addEventListener('mousemove', (event) => {
45
47
  if (event && event.target instanceof HTMLElement && event.target.closest('td:not(:first-child')) {
46
- let column = event.target.closest('td:not(:first-child');
47
- var rect = column.getBoundingClientRect();
48
- let x = event.clientX - rect.left;
49
- let y = event.clientY - rect.top;
48
+ const column = event.target.closest('td:not(:first-child');
49
+ const rect = column.getBoundingClientRect();
50
+ const x = event.clientX - rect.left;
51
+ const y = event.clientY - rect.top;
50
52
  chart.setAttribute('style', `--cursor-x: ${x}px; --cursor-y: ${y}px;`);
51
53
  }
52
54
  });
53
55
  // Use the part for the chart items to pass through states to the pages CSS
54
- let labels = chartOuter.querySelectorAll('label');
56
+ const labels = chartOuter.querySelectorAll('label');
55
57
  Array.from(labels).forEach((label) => {
56
58
  if (chartOuter.querySelector(`input#${label.getAttribute('for')}`).checked)
57
59
  label.setAttribute('part', 'key-checked');
58
60
  else
59
61
  label.setAttribute('part', 'key-unchecked');
60
62
  });
61
- let table = chartElement.querySelector('table');
62
- let shadowTable = chartOuter.querySelector('table');
63
+ const table = chartElement.querySelector('table');
64
+ const shadowTable = chartOuter.querySelector('table');
63
65
  chartOuter.addEventListener('change', function (event) {
64
- let eventTarget = event.target;
65
- const customEvent = new CustomEvent("view-change", { detail: {
66
+ const eventTarget = event.target;
67
+ const customEvent = new CustomEvent('view-change', {
68
+ detail: {
66
69
  'data-dataset': eventTarget.getAttribute('data-dataset'),
67
- 'label': eventTarget.getAttribute('data-label'),
68
- 'checked': eventTarget.checked
69
- }
70
+ label: eventTarget.getAttribute('data-label'),
71
+ checked: eventTarget.checked,
72
+ },
70
73
  });
71
74
  chartElement.dispatchEvent(customEvent);
72
75
  Array.from(labels).forEach((label) => {
@@ -81,13 +84,13 @@ export const setEventListener = function (chartElement, chartOuter) {
81
84
  });
82
85
  };
83
86
  export const setEventObservers = function (chartElement, chartOuter) {
84
- let table = chartElement.querySelector('table');
85
- let shadowTable = chartOuter.querySelector('table');
87
+ const table = chartElement.querySelector('table');
88
+ const shadowTable = chartOuter.querySelector('table');
86
89
  const attributesUpdated = (mutationList, observer) => {
87
90
  observer.disconnect();
88
91
  observer2.disconnect();
89
92
  for (const mutation of mutationList) {
90
- if (mutation.attributeName == 'class' || (mutation.type === 'attributes') || mutation.type === 'attributes') {
93
+ if (mutation.attributeName == 'class' || mutation.type === 'attributes' || mutation.type === 'attributes') {
91
94
  shadowTable.innerHTML = table.innerHTML;
92
95
  setupChart(chartElement, chartOuter, shadowTable);
93
96
  }
@@ -99,7 +102,7 @@ export const setEventObservers = function (chartElement, chartOuter) {
99
102
  observer.disconnect();
100
103
  observer2.disconnect();
101
104
  for (const mutation of mutationList) {
102
- if (mutation.type == "characterData" || (mutation.type == "childList" && mutation.addedNodes.length)) {
105
+ if (mutation.type == 'characterData' || (mutation.type == 'childList' && mutation.addedNodes.length)) {
103
106
  shadowTable.innerHTML = table.innerHTML;
104
107
  setupChart(chartElement, chartOuter, shadowTable);
105
108
  }
@@ -107,8 +110,8 @@ export const setEventObservers = function (chartElement, chartOuter) {
107
110
  observer.observe(table, { characterData: true, subtree: true });
108
111
  observer2.observe(chartElement, { attributes: true });
109
112
  };
110
- let observer = new MutationObserver(tableUpdated);
111
- let observer2 = new MutationObserver(attributesUpdated);
113
+ const observer = new MutationObserver(tableUpdated);
114
+ const observer2 = new MutationObserver(attributesUpdated);
112
115
  observer.observe(table, { characterData: true, subtree: true });
113
116
  observer2.observe(chartElement, { attributes: true });
114
117
  return true;
@@ -116,15 +119,21 @@ export const setEventObservers = function (chartElement, chartOuter) {
116
119
  // #endregion
117
120
  // #region GET functions
118
121
  export const getChartData = function (chartElement) {
119
- let table = chartElement.shadowRoot.querySelector('.chart__wrapper table');
120
- let min = chartElement.hasAttribute('data-min') ? chartElement.getAttribute('data-min') : 0;
121
- let max = chartElement.hasAttribute('data-max') ? chartElement.getAttribute('data-max') : getLargestValue(chartElement, table);
122
+ const table = chartElement.shadowRoot.querySelector('.chart__wrapper table');
123
+ const min = chartElement.hasAttribute('data-min') ? chartElement.getAttribute('data-min') : 0;
124
+ const max = chartElement.hasAttribute('data-max')
125
+ ? chartElement.getAttribute('data-max')
126
+ : getLargestValue(chartElement, table);
122
127
  //let type:string = chartElement.hasAttribute('data-type') ? chartElement.getAttribute('data-type') : 'column';
123
- let yaxis = chartElement.hasAttribute('data-yaxis') ? chartElement.getAttribute('data-yaxis').split(',') : [];
124
- let guidelines = chartElement.hasAttribute('data-guidelines') ? chartElement.getAttribute('data-guidelines').split(',') : [];
128
+ const yaxis = chartElement.hasAttribute('data-yaxis') ? chartElement.getAttribute('data-yaxis').split(',') : [];
129
+ const guidelines = chartElement.hasAttribute('data-guidelines')
130
+ ? chartElement.getAttribute('data-guidelines').split(',')
131
+ : [];
125
132
  //let targets:any = chartElement.hasAttribute('data-targets') ? JSON.parse(chartElement.getAttribute('data-targets')) : null;
126
133
  //let events:any = chartElement.hasAttribute('data-events') ? JSON.parse(chartElement.getAttribute('data-events')) : null;
127
- let xaxis = chartElement.hasAttribute('data-xaxis') ? chartElement.getAttribute('data-xaxis').split(',') : null;
134
+ const xaxis = chartElement.hasAttribute('data-xaxis')
135
+ ? chartElement.getAttribute('data-xaxis').split(',')
136
+ : null;
128
137
  //let increment = chartElement.hasAttribute('data-increment') ? chartElement.getAttribute('data-increment'): null;
129
138
  //let start:any = chartElement.hasAttribute('data-start') ? chartElement.getAttribute('data-start') : 0;
130
139
  //let end:any = chartElement.hasAttribute('data-end') ? chartElement.getAttribute('data-end') : getLargestValue(chartElement,table); // TODO - get largest value from the data-xaxis
@@ -134,11 +143,11 @@ export const getChartData = function (chartElement) {
134
143
  };
135
144
  function getLargestValue(chartElement, table) {
136
145
  const selector = chartElement.classList.contains('chart--stacked') ? 'tbody tr' : 'tbody td:not(:first-child)';
137
- let values = Array.from(table.querySelectorAll(selector)).map((element) => {
138
- let currentValue = element.getAttribute('data-numeric');
146
+ const values = Array.from(table.querySelectorAll(selector)).map((element) => {
147
+ const currentValue = element.getAttribute('data-numeric');
139
148
  return currentValue;
140
149
  });
141
- let largestValue = Math.max(...values);
150
+ const largestValue = Math.max(...values);
142
151
  // TO DO round to the nearest 10, 100, 1000 and so on
143
152
  return Math.ceil(largestValue);
144
153
  }
@@ -156,7 +165,7 @@ const getValues = function (value, min, max, start) {
156
165
  }
157
166
  // If the value is negative the position below the 0 line
158
167
  if (min < 0) {
159
- bottom = Math.abs(((min) / (max - min)) * 100);
168
+ bottom = Math.abs((min / (max - min)) * 100);
160
169
  if (cleanValue < 0) {
161
170
  percent = bottom - percent;
162
171
  bottom = bottom - percent;
@@ -176,20 +185,22 @@ export const setCellData = function (chartElement, table) {
176
185
  let rowValue = 0;
177
186
  // Set the data numeric value if not set
178
187
  Array.from(tr.querySelectorAll('td:not(:first-child)')).forEach((td) => {
179
- let value = parseFloat(td.textContent.replace('£', '').replace('%', '').replace(',', ''));
188
+ const value = parseFloat(td.textContent.replace('£', '').replace('%', '').replace(',', ''));
180
189
  td.setAttribute('data-numeric', value);
181
190
  td.setAttribute('data-value', td.textContent);
182
- let display = getComputedStyle(td).display;
191
+ const display = getComputedStyle(td).display;
183
192
  if (display != 'none')
184
193
  rowValue += value;
185
194
  });
186
195
  tr.setAttribute('data-numeric', rowValue);
187
196
  });
188
- let { min, max } = getChartData(chartElement);
197
+ const { min, max } = getChartData(chartElement);
189
198
  Array.from(table.querySelectorAll('tbody tr')).forEach((tr, index) => {
190
- let group = tr.querySelector('td:first-child, th:first-child') ? tr.querySelector('td:first-child, th:first-child').textContent : '';
199
+ const group = tr.querySelector('td:first-child, th:first-child')
200
+ ? tr.querySelector('td:first-child, th:first-child').textContent
201
+ : '';
191
202
  tr.setAttribute('part', 'group');
192
- let percent = ((tr.getAttribute('data-numeric') - min) / (max - min)) * 100;
203
+ const percent = ((tr.getAttribute('data-numeric') - min) / (max - min)) * 100;
193
204
  tr.style.setProperty('--percent', `${percent}%`);
194
205
  // Set the data label value if not set
195
206
  Array.from(tr.querySelectorAll('td:not([data-label])')).forEach((td, index) => {
@@ -200,17 +211,17 @@ export const setCellData = function (chartElement, table) {
200
211
  if (tr.querySelectorAll('td').length > 2)
201
212
  td.setAttribute('data-label', table.querySelectorAll('thead th')[index].textContent);
202
213
  });
203
- let rowMin = tr.hasAttribute('data-min') ? tr.getAttribute('data-min') : min;
204
- let rowMax = tr.hasAttribute('data-max') ? tr.getAttribute('data-max') : max;
214
+ const rowMin = tr.hasAttribute('data-min') ? tr.getAttribute('data-min') : min;
215
+ const rowMax = tr.hasAttribute('data-max') ? tr.getAttribute('data-max') : max;
205
216
  if (rowMin < 0) {
206
- let minBottom = Math.abs(((rowMin) / (rowMax - rowMin)) * 100);
217
+ const minBottom = Math.abs((rowMin / (rowMax - rowMin)) * 100);
207
218
  chartElement.setAttribute('style', `--min-bottom: ${minBottom}%;`);
208
219
  }
209
220
  // Add a useful index css var for the use of animatons.
210
221
  tr.style.setProperty('--row-index', index + 1);
211
222
  // Add css vars to cells
212
223
  Array.from(tr.querySelectorAll('td[data-numeric]:not([data-label="Min"]):not([data-label="Max"]):not(:first-child)')).forEach((td) => {
213
- let display = getComputedStyle(td).display;
224
+ const display = getComputedStyle(td).display;
214
225
  if (display == 'none')
215
226
  return;
216
227
  const content = td.innerHTML;
@@ -219,21 +230,21 @@ export const setCellData = function (chartElement, table) {
219
230
  if (!td.querySelector('span[data-group]'))
220
231
  td.innerHTML = `<span data-group="${group}" ${td.hasAttribute('data-label') ? `data-label="${td.getAttribute('data-label')}"` : ''} part="popover">${content}</span>`;
221
232
  if (!td.hasAttribute('style')) {
222
- let { percent, bottom, axis } = getValues(value, rowMin, rowMax, start);
233
+ const { percent, bottom, axis } = getValues(value, rowMin, rowMax, start);
223
234
  td.setAttribute('data-percent', percent);
224
- td.setAttribute("style", `--bottom:${bottom}%;--percent:${percent}%;--axis:${axis}%;`);
235
+ td.setAttribute('style', `--bottom:${bottom}%;--percent:${percent}%;--axis:${axis}%;`);
225
236
  }
226
237
  });
227
238
  });
228
239
  };
229
240
  export const setLongestLabel = function (chartOuter) {
230
- let chartWrapper = chartOuter.querySelector('.chart__wrapper');
231
- let chartSpacer = chartOuter.querySelector('.chart__spacer span');
232
- let table = chartOuter.querySelector('.chart table');
241
+ const chartWrapper = chartOuter.querySelector('.chart__wrapper');
242
+ const chartSpacer = chartOuter.querySelector('.chart__spacer span');
243
+ const table = chartOuter.querySelector('.chart table');
233
244
  // set the longest label attr so that the bar chart knows what margin to set on the left
234
245
  let longestLabel = '';
235
246
  Array.from(table.querySelectorAll('tbody tr td:first-child')).forEach((td) => {
236
- if (typeof td.textContent != "undefined" && td.textContent.length > longestLabel.length) {
247
+ if (typeof td.textContent != 'undefined' && td.textContent.length > longestLabel.length) {
237
248
  longestLabel = td.textContent;
238
249
  }
239
250
  });
@@ -241,11 +252,11 @@ export const setLongestLabel = function (chartOuter) {
241
252
  chartSpacer.innerHTML = longestLabel;
242
253
  };
243
254
  export const setLongestValue = function (chartOuter) {
244
- let chartWrapper = chartOuter.querySelector('.chart__wrapper');
245
- let table = chartOuter.querySelector('.chart table');
255
+ const chartWrapper = chartOuter.querySelector('.chart__wrapper');
256
+ const table = chartOuter.querySelector('.chart table');
246
257
  let longestValue = '';
247
258
  Array.from(table.querySelectorAll('tbody tr td:not(:first-child) span')).forEach((td) => {
248
- if (typeof td.textContent != "undefined" && td.textContent.length > longestValue.length)
259
+ if (typeof td.textContent != 'undefined' && td.textContent.length > longestValue.length)
249
260
  longestValue = td.textContent;
250
261
  });
251
262
  chartWrapper.setAttribute('data-longest-value', longestValue);
@@ -256,7 +267,7 @@ export const createChartKey = function (chartOuter, tableElement, chartKey) {
256
267
  const chartID = `chart-${Date.now() + (Math.floor(Math.random() * 100) + 1)}`;
257
268
  //const chartOuter = chartElement.querySelector('.chart__outer');
258
269
  let previousInput;
259
- let headings = Array.from(tableElement.querySelectorAll('thead th'));
270
+ const headings = Array.from(tableElement.querySelectorAll('thead th'));
260
271
  headings.forEach((arrayElement, index) => {
261
272
  if (index != 0) {
262
273
  previousInput = createChartKeyItem(chartID, index, arrayElement.textContent, chartKey, chartOuter, previousInput);
@@ -268,7 +279,7 @@ export const createChartKey = function (chartOuter, tableElement, chartKey) {
268
279
  return true;
269
280
  };
270
281
  function createChartKeyItem(chartID, index, text, chartKey, chartOuter, previousInput) {
271
- let input = document.createElement('input');
282
+ const input = document.createElement('input');
272
283
  input.setAttribute('name', `${chartID}-dataset-${index}`);
273
284
  input.setAttribute('id', `${chartID}-dataset-${index}`);
274
285
  input.setAttribute('data-dataset', `${index}`);
@@ -280,7 +291,7 @@ function createChartKeyItem(chartID, index, text, chartKey, chartOuter, previous
280
291
  else
281
292
  chartOuter.insertBefore(input, previousInput.nextSibling);
282
293
  previousInput = input;
283
- let label = document.createElement('label');
294
+ const label = document.createElement('label');
284
295
  label.setAttribute('class', `key btn btn-action`);
285
296
  label.setAttribute('for', `${chartID}-dataset-${index}`);
286
297
  label.setAttribute('data-label', `${text}`);
@@ -294,18 +305,18 @@ export const createChartGuidelines = function (chartElement, chartGuidelines) {
294
305
  if (!guidelines.length)
295
306
  guidelines = yaxis;
296
307
  chartGuidelines.innerHTML = '';
297
- for (var i = 0; i < guidelines.length; i++) {
298
- let value = parseFloat(guidelines[i].replace('£', '').replace('%', '').replace(',', ''));
299
- let { axis } = getValues(value, min, max);
308
+ for (let i = 0; i < guidelines.length; i++) {
309
+ const value = parseFloat(guidelines[i].replace('£', '').replace('%', '').replace(',', ''));
310
+ const { axis } = getValues(value, min, max);
300
311
  chartGuidelines.innerHTML += `<div class="guideline" style="--percent:${axis}%;">${yaxis.indexOf(guidelines[i]) != -1 ? `<span>${guidelines[i]}</span>` : ''}</div>`;
301
312
  }
302
313
  };
303
314
  export const createChartYaxis = function (chartElement, chartYaxis) {
304
- let { min, max, yaxis } = getChartData(chartElement);
315
+ const { min, max, yaxis } = getChartData(chartElement);
305
316
  chartYaxis.innerHTML = '';
306
- for (var i = 0; i < yaxis.length; i++) {
307
- let value = parseFloat(yaxis[i].replace('£', '').replace('%', ''));
308
- let { axis } = getValues(value, min, max);
317
+ for (let i = 0; i < yaxis.length; i++) {
318
+ const value = parseFloat(yaxis[i].replace('£', '').replace('%', ''));
319
+ const { axis } = getValues(value, min, max);
309
320
  chartYaxis.innerHTML += `<div class="axis__point" style="--percent:${axis}%;"><span>${yaxis[i]}</span></div>`;
310
321
  }
311
322
  };
@@ -321,7 +332,7 @@ export const createXaxis = function (chartOuter) {
321
332
  export const createTooltips = function (chartOuter) {
322
333
  const titles = chartOuter.querySelectorAll('thead th[title], tbody th[title]:first-child, tbody td[title]:first-child');
323
334
  Array.from(titles).forEach((title) => {
324
- let tooltipId = `tooltip-${Date.now()}-${Math.floor(Math.random() * 100)}`;
335
+ const tooltipId = `tooltip-${Date.now()}-${Math.floor(Math.random() * 100)}`;
325
336
  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>`;
326
337
  //title.removeAttribute('title'); // TODO add a supports query for anchor positioning
327
338
  });
@@ -1,40 +1,40 @@
1
1
  function createDataLayer() {
2
2
  window.dataLayer = window.dataLayer || [];
3
3
  window.dataLayer.push({
4
- event: "Pageview",
4
+ event: 'Pageview',
5
5
  pageTitle: document.title,
6
6
  });
7
- document.addEventListener("click", (event) => {
8
- const target = event.target.closest("[open] summary");
7
+ document.addEventListener('click', (event) => {
8
+ const target = event.target.closest('[open] summary');
9
9
  if (target) {
10
10
  window.dataLayer.push({
11
- event: "closeDetails",
12
- detailsTitle: target.textContent || "",
11
+ event: 'closeDetails',
12
+ detailsTitle: target.textContent || '',
13
13
  });
14
14
  }
15
15
  else {
16
- const summary = event.target.closest("summary");
17
- const link = event.target.closest("a");
18
- const button = event.target.closest("button");
16
+ const summary = event.target.closest('summary');
17
+ const link = event.target.closest('a');
18
+ const button = event.target.closest('button');
19
19
  if (summary) {
20
20
  window.dataLayer.push({
21
- event: "openDetails",
22
- detailsTitle: summary.textContent || "",
21
+ event: 'openDetails',
22
+ detailsTitle: summary.textContent || '',
23
23
  });
24
24
  }
25
25
  if (link) {
26
26
  window.dataLayer.push({
27
- event: "linkClicked",
28
- linkText: link.hasAttribute("title") ? link.getAttribute("title") || "" : link.textContent || "",
29
- class: link.hasAttribute("class") ? link.getAttribute("class") || "" : "",
30
- href: link.getAttribute("href") || "",
27
+ event: 'linkClicked',
28
+ linkText: link.hasAttribute('title') ? link.getAttribute('title') || '' : link.textContent || '',
29
+ class: link.hasAttribute('class') ? link.getAttribute('class') || '' : '',
30
+ href: link.getAttribute('href') || '',
31
31
  });
32
32
  }
33
33
  if (button) {
34
34
  window.dataLayer.push({
35
- event: "buttonClicked",
36
- buttonText: button.textContent || "",
37
- class: button.hasAttribute("class") ? button.getAttribute("class") || "" : "",
35
+ event: 'buttonClicked',
36
+ buttonText: button.textContent || '',
37
+ class: button.hasAttribute('class') ? button.getAttribute('class') || '' : '',
38
38
  });
39
39
  }
40
40
  }
@@ -1,7 +1,7 @@
1
1
  // @ts-nocheck
2
2
  const extendDialogs = (body) => {
3
3
  Array.from(body.querySelectorAll('dialog[open]')).forEach((dialog, index) => {
4
- let parent = dialog.closest('.dialog__wrapper');
4
+ const parent = dialog.closest('.dialog__wrapper');
5
5
  if (!parent) {
6
6
  dialog.removeAttribute('open');
7
7
  dialog.showModal();
@@ -16,14 +16,16 @@ const extendDialogs = (body) => {
16
16
  // Modal
17
17
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-modal]')) {
18
18
  const button = event.target.closest('[data-modal]');
19
- const modalID = button.hasAttribute('data-modal') ? button.getAttribute('data-modal') : button.getAttribute('data-filter');
19
+ const modalID = button.hasAttribute('data-modal')
20
+ ? button.getAttribute('data-modal')
21
+ : button.getAttribute('data-filter');
20
22
  const dialog = document.querySelector(`dialog#${modalID}`);
21
23
  createDialog(dialog);
22
24
  // Open the modal!
23
25
  dialog.showModal();
24
26
  dialog.focus();
25
27
  if (!dialog.querySelector('iam-multi-step')) {
26
- let firstWidth = dialog.offsetWidth;
28
+ const firstWidth = dialog.offsetWidth;
27
29
  dialog.setAttribute('style', `max-width: ${firstWidth}px;`);
28
30
  }
29
31
  // When the modal is opened we want to make sure any duplicate checkboxes are matching the originals
@@ -32,17 +34,16 @@ const extendDialogs = (body) => {
32
34
  const originalInput = document.getElementById(id);
33
35
  if (element.checked != originalInput.checked) {
34
36
  element.checked = originalInput.checked;
35
- let changeEvent = new Event('change');
37
+ const changeEvent = new Event('change');
36
38
  element.dispatchEvent(changeEvent);
37
39
  }
38
40
  });
39
41
  window.dataLayer = window.dataLayer || [];
40
42
  window.dataLayer.push({
41
- "event": "openModal",
42
- "id": modalID
43
+ event: 'openModal',
44
+ id: modalID,
43
45
  });
44
46
  }
45
- ;
46
47
  // Close modal
47
48
  if (event && event.target instanceof HTMLElement && event.target.closest('button.dialog__close')) {
48
49
  const dialog = event.target.closest('dialog[open]');
@@ -52,16 +53,16 @@ const extendDialogs = (body) => {
52
53
  Array.from(document.querySelectorAll('.dialog__wrapper > button')).forEach((btnElement, index) => {
53
54
  btnElement.classList.remove('active');
54
55
  });
55
- let closeEvent = new CustomEvent('dialog-closed', {
56
+ const closeEvent = new CustomEvent('dialog-closed', {
56
57
  bubbles: true,
57
58
  cancelable: true,
58
- detail: { modalId: dialog.id }
59
+ detail: { modalId: dialog.id },
59
60
  });
60
61
  event.target.dispatchEvent(closeEvent);
61
62
  window.dataLayer = window.dataLayer || [];
62
63
  window.dataLayer.push({
63
- "event": "closeModal",
64
- "id": dialog.getAttribute('id')
64
+ event: 'closeModal',
65
+ id: dialog.getAttribute('id'),
65
66
  });
66
67
  }
67
68
  // Track default close buttons
@@ -73,27 +74,32 @@ const extendDialogs = (body) => {
73
74
  });
74
75
  window.dataLayer = window.dataLayer || [];
75
76
  window.dataLayer.push({
76
- "event": "closeModal",
77
- "id": dialog.getAttribute('id')
77
+ event: 'closeModal',
78
+ id: dialog.getAttribute('id'),
78
79
  });
79
80
  }
80
81
  // Close the modal when clicked on the backdrop
81
82
  if (event && event.target instanceof HTMLElement && event.target.closest('dialog[open]')) {
82
83
  let dialog = event.target.closest('dialog[open]');
83
84
  // Small fix to make sure the dialog isn't a dialog inside of a dialog.
84
- var style = window.getComputedStyle(dialog);
85
+ const style = window.getComputedStyle(dialog);
85
86
  if (style.display === 'contents')
86
87
  dialog = dialog.parentNode.closest('dialog[open]');
87
88
  // Dont allow the backdrop to be clicked when transactional
88
- if (!dialog.classList.contains('dialog--transactional') && !dialog.classList.contains('dialog--acknowledgement')) {
89
+ if (!dialog.classList.contains('dialog--transactional') &&
90
+ !dialog.classList.contains('dialog--acknowledgement')) {
89
91
  const dialogDimensions = dialog.getBoundingClientRect();
90
- if (event.clientX < dialogDimensions.left || event.clientX > dialogDimensions.right || event.clientY < dialogDimensions.top || event.clientY > dialogDimensions.bottom) {
91
- if (!event.target.closest('dialog *')) // Weird bug when interacting with radio input fields within dialogs cuases it to close
92
+ if (event.clientX < dialogDimensions.left ||
93
+ event.clientX > dialogDimensions.right ||
94
+ event.clientY < dialogDimensions.top ||
95
+ event.clientY > dialogDimensions.bottom) {
96
+ if (!event.target.closest('dialog *'))
97
+ // Weird bug when interacting with radio input fields within dialogs cuases it to close
92
98
  dialog.close();
93
99
  window.dataLayer = window.dataLayer || [];
94
100
  window.dataLayer.push({
95
- "event": "closeModal",
96
- "id": dialog.getAttribute('id')
101
+ event: 'closeModal',
102
+ id: dialog.getAttribute('id'),
97
103
  });
98
104
  }
99
105
  }
@@ -101,12 +107,13 @@ const extendDialogs = (body) => {
101
107
  // Popover
102
108
  if (event && event.target instanceof HTMLElement && event.target.closest('.dialog__wrapper > button')) {
103
109
  event.stopPropagation();
104
- let btn = event.target.closest('.dialog__wrapper > button');
105
- let parent = btn.parentNode;
106
- let dataEvent = "openPopover";
107
- let popover = parent.querySelector(':scope > dialog');
110
+ const btn = event.target.closest('.dialog__wrapper > button');
111
+ const parent = btn.parentNode;
112
+ let dataEvent = 'openPopover';
113
+ const popover = parent.querySelector(':scope > dialog');
108
114
  // close open dialogs
109
- if (document.querySelector('*:not([data-keep-open]) > dialog[open]') && document.querySelector('*:not([data-keep-open]) > dialog[open]') != popover) {
115
+ if (document.querySelector('*:not([data-keep-open]) > dialog[open]') &&
116
+ document.querySelector('*:not([data-keep-open]) > dialog[open]') != popover) {
110
117
  // Check that the ope dialog isn't a parent of the dialog being opened
111
118
  if (btn.closest('dialog[open]') != document.querySelector('*:not([data-keep-open]) > dialog[open]')) {
112
119
  document.querySelector('*:not([data-keep-open]) > dialog[open]').close();
@@ -118,18 +125,18 @@ const extendDialogs = (body) => {
118
125
  });
119
126
  if (popover.hasAttribute('open')) {
120
127
  popover.close();
121
- dataEvent = "closePopover";
128
+ dataEvent = 'closePopover';
122
129
  popover.removeAttribute('style');
123
130
  btn.removeAttribute('aria-expanded');
124
131
  }
125
132
  else {
126
133
  popover.show();
127
134
  btn.setAttribute('aria-expanded', true);
128
- var position = btn.getBoundingClientRect();
135
+ const position = btn.getBoundingClientRect();
129
136
  let topOffset = position.top;
130
137
  let leftOffset = position.left;
131
138
  if (btn.closest('iam-table')) {
132
- let container = btn.closest('iam-table').parentNode.getBoundingClientRect();
139
+ const container = btn.closest('iam-table').parentNode.getBoundingClientRect();
133
140
  topOffset -= container.top;
134
141
  leftOffset -= container.left;
135
142
  }
@@ -140,26 +147,28 @@ const extendDialogs = (body) => {
140
147
  // When the dialog is fixed it could dip under the viewport
141
148
  // Lets check the dimensions and transform it to appear above
142
149
  let boundingRec = popover.getBoundingClientRect();
143
- let popoverBottom = boundingRec.bottom - window.scrollY;
144
- let windowPos = window.innerHeight - window.scrollY;
150
+ const popoverBottom = boundingRec.bottom - window.scrollY;
151
+ const windowPos = window.innerHeight - window.scrollY;
145
152
  if (popoverBottom > windowPos) {
146
- let currentStyle = popover.hasAttribute('style') ? popover.getAttribute('style') + ' ' : '';
153
+ const currentStyle = popover.hasAttribute('style') ? popover.getAttribute('style') + ' ' : '';
147
154
  popover.setAttribute('style', currentStyle + `transform: translate(0, calc(-100% - 4rem))`);
148
155
  // Check that the dialog doesn't go over the top of the page
149
156
  boundingRec = popover.getBoundingClientRect();
150
- let popoverTop = boundingRec.top - window.scrollY;
157
+ const popoverTop = boundingRec.top - window.scrollY;
151
158
  if (popoverTop < 100)
152
159
  popover.removeAttribute('style');
153
160
  }
154
161
  window.dataLayer = window.dataLayer || [];
155
162
  window.dataLayer.push({
156
- "event": dataEvent,
157
- "id": btn.textContent
163
+ event: dataEvent,
164
+ id: btn.textContent,
158
165
  });
159
166
  }
160
- ;
161
167
  // Close popovers when clicked away
162
- if (event && event.target instanceof HTMLElement && !event.target.closest('dialog[open]') && !event.target.closest('.dialog__wrapper > button')) {
168
+ if (event &&
169
+ event.target instanceof HTMLElement &&
170
+ !event.target.closest('dialog[open]') &&
171
+ !event.target.closest('.dialog__wrapper > button')) {
163
172
  if (document.querySelector('.dialog__wrapper:not([data-keep-open]) > dialog[open]'))
164
173
  document.querySelector('.dialog__wrapper:not([data-keep-open]) > dialog[open]').close();
165
174
  Array.from(document.querySelectorAll('.dialog__wrapper:not([data-keep-open]) > button')).forEach((btnElement, index) => {
@@ -173,10 +182,10 @@ export const createDialog = (dialog) => {
173
182
  // If you are using Vue eevents and bindings its recommended to add in the .mh-lg div manually to the dialog
174
183
  if (!dialog.querySelector(':scope .mh-lg') && !dialog.querySelector('iam-multi-step')) {
175
184
  dialog.innerHTML = `<div class="mh-lg">${dialog.innerHTML}</div>`;
176
- let dialogContent = dialog.querySelector('.mh-lg');
177
- let titleElement = dialog.querySelector('.mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)');
185
+ const dialogContent = dialog.querySelector('.mh-lg');
186
+ const titleElement = dialog.querySelector('.mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)');
178
187
  if (titleElement) {
179
- let optionalElement = titleElement.previousSibling;
188
+ const optionalElement = titleElement.previousSibling;
180
189
  dialogContent.before(titleElement);
181
190
  if (optionalElement)
182
191
  titleElement.before(optionalElement);
@@ -1,7 +1,7 @@
1
1
  // @ts-nocheck
2
2
  const drawer = (element) => {
3
3
  const observer = new IntersectionObserver(function ([e]) {
4
- e.target.classList.toggle("in-view", e.intersectionRatio > 0);
4
+ e.target.classList.toggle('in-view', e.intersectionRatio > 0);
5
5
  document.getElementById('showDrawer').checked = false;
6
6
  }, { threshold: [1] });
7
7
  const el = document.getElementById('drawer-end');