@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,35 +1,31 @@
1
- // @ts-nocheck
2
- import extendDialogs from "../../modules/dialogs";
1
+ import extendDialogs from '../../modules/dialogs';
3
2
 
4
3
  // Data layer Web component created
4
+ declare global {
5
+ interface Window {
6
+ dataLayer: Array<object>;
7
+ }
8
+ }
5
9
  window.dataLayer = window.dataLayer || [];
6
10
  window.dataLayer.push({
7
- "event": "customElementRegistered",
8
- "element": "action bar"
11
+ event: 'customElementRegistered',
12
+ element: 'action bar',
9
13
  });
10
14
 
11
- function setSelectAllInput(element, value){
12
-
13
- if(element && value == "all"){
14
-
15
+ function setSelectAllInput(element, value): void {
16
+ if (element && value == 'all') {
15
17
  element.querySelector('input').indeterminate = false;
16
18
  element.querySelector('input').checked = true;
17
19
  element.querySelector('label').textContent = `Select all`;
18
- }
19
- else if(element && value == 0){
20
-
20
+ } else if (element && value == 0) {
21
21
  element.querySelector('input').indeterminate = false;
22
22
  element.querySelector('input').checked = false;
23
23
  element.querySelector('label').textContent = `Select all`;
24
- }
25
- else if(element && value){
26
-
24
+ } else if (element && value) {
27
25
  element.querySelector('input').indeterminate = true;
28
26
  element.querySelector('input').checked = false;
29
27
  element.querySelector('label').textContent = `${value} item${value > 1 ? 's' : ''} selected`;
30
- }
31
- else if(element){
32
-
28
+ } else if (element) {
33
29
  element.querySelector('input').checked = false;
34
30
  element.querySelector('input').indeterminate = false;
35
31
  element.querySelector('label').textContent = `Select all`;
@@ -37,13 +33,16 @@ function setSelectAllInput(element, value){
37
33
  }
38
34
 
39
35
  class iamActionbar extends HTMLElement {
40
-
41
- constructor(){
36
+ constructor() {
42
37
  super();
43
- this.attachShadow({ mode: 'open'});
44
-
45
- const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets'
46
- const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;
38
+ this.attachShadow({ mode: 'open' });
39
+
40
+ const assetLocation = document.body.hasAttribute('data-assets-location')
41
+ ? document.body.getAttribute('data-assets-location')
42
+ : '/assets';
43
+ const coreCSS = document.body.hasAttribute('data-core-css')
44
+ ? document.body.getAttribute('data-core-css')
45
+ : `${assetLocation}/css/core.min.css`;
47
46
  const loadCSS = `@import "${assetLocation}/css/components/actionbar.css";`;
48
47
  const loadExtraCSS = `@import "${assetLocation}/css/components/actionbar.global.css";`;
49
48
 
@@ -101,113 +100,91 @@ class iamActionbar extends HTMLElement {
101
100
  this.shadowRoot.appendChild(template.content.cloneNode(true));
102
101
 
103
102
  // insert extra CSS
104
- if(!document.getElementById('actionbarGlobal'))
105
- document.head.insertAdjacentHTML('beforeend',`<style id="actionbarGlobal">${loadExtraCSS}</style>`);
103
+ if (!document.getElementById('actionbarGlobal'))
104
+ document.head.insertAdjacentHTML('beforeend', `<style id="actionbarGlobal">${loadExtraCSS}</style>`);
106
105
  }
107
106
 
108
- connectedCallback() {
109
-
110
- let that = this;
111
- const actionbarWrapper = this.shadowRoot.querySelector('.actionbar__wrapper');
107
+ connectedCallback(): void {
108
+ const actionbarWrapper = this.shadowRoot?.querySelector('.actionbar__wrapper');
112
109
 
113
110
  // #region select all
114
- if(this.hasAttribute('data-selectall')){
115
-
116
- actionbarWrapper.insertAdjacentHTML( 'afterbegin', `<div class="selectall pb-0"><input type="checkbox" name="selectall" id="selectall"><label for="selectall" class="m-0">Select all</label></div>` );
117
- let selectAll = this.shadowRoot.querySelector('.selectall');
118
-
119
- if(this.hasAttribute('data-selected')){
111
+ if (this.hasAttribute('data-selectall')) {
112
+ actionbarWrapper?.insertAdjacentHTML(
113
+ 'afterbegin',
114
+ `<div class="selectall pb-0"><input type="checkbox" name="selectall" id="selectall"><label for="selectall" class="m-0">Select all</label></div>`
115
+ );
116
+ const selectAll = this.shadowRoot?.querySelector('.selectall');
117
+
118
+ if (this.hasAttribute('data-selected')) {
120
119
  setSelectAllInput(selectAll, this.getAttribute('data-selected'));
121
120
  }
122
121
 
123
- selectAll.addEventListener('change', (event) => {
124
-
125
- if (event && event.target instanceof HTMLElement && event.target.closest('input')){
126
-
127
- if(event.target.closest('input').checked)
128
- this.setAttribute('data-selected','all');
129
- else
130
- this.setAttribute('data-selected',0);
122
+ selectAll?.addEventListener('change', (event) => {
123
+ if (event && event.target instanceof HTMLElement && event.target.closest('input')) {
124
+ if (event.target.closest('input')?.checked) this.setAttribute('data-selected', 'all');
125
+ else this.setAttribute('data-selected', '0');
131
126
  }
132
127
  });
133
128
 
134
- let cancelButton = this.querySelector('button[data-cancel]');
135
- if(cancelButton){
136
- cancelButton.addEventListener('click', (event) => {
137
-
138
- this.setAttribute('data-selected',0);
129
+ const cancelButton = this.querySelector('button[data-cancel]');
130
+ if (cancelButton) {
131
+ cancelButton.addEventListener('click', () => {
132
+ this.setAttribute('data-selected', '0');
139
133
  });
140
134
  }
141
135
  }
142
136
 
143
137
  // Wtach div for the select inputs
144
- if(this.hasAttribute('data-select-watch')){
145
-
138
+ if (this.hasAttribute('data-select-watch')) {
146
139
  const element = document.getElementById(this.getAttribute('data-select-watch'));
147
- element.setAttribute('data-select-container','true');
148
- Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input,index) => {
149
- input.parentElement.setAttribute('slot','checkbox');
140
+ element?.setAttribute('data-select-container', 'true');
141
+ Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input) => {
142
+ input.parentElement?.setAttribute('slot', 'checkbox');
150
143
  });
151
- element.addEventListener('change',(event) => {
152
-
153
- if (event && event.target instanceof HTMLElement && event.target.closest('[type="checkbox"]')){
154
-
155
- let count = element.querySelectorAll('input[type="checkbox"]').length;
156
- let countChecked = element.querySelectorAll('input[type="checkbox"]:checked').length;
157
- that.setAttribute('data-selected', count == countChecked ? "all" : countChecked);
158
-
159
- let input = event.target.closest('[type="checkbox"]');
160
-
161
- if(countChecked){
162
- Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input,index) => {
163
-
164
- if(input.closest('iam-card'))
165
- input.closest('iam-card').setAttribute('data-selected','true');
144
+ element?.addEventListener('change', (event) => {
145
+ if (event && event.target instanceof HTMLElement && event.target.closest('[type="checkbox"]')) {
146
+ const count = element.querySelectorAll('input[type="checkbox"]').length;
147
+ const countChecked = element.querySelectorAll('input[type="checkbox"]:checked').length;
148
+ this.setAttribute('data-selected', count == countChecked ? 'all' : String(countChecked));
149
+
150
+ if (countChecked) {
151
+ Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input) => {
152
+ if (input.closest('iam-card')) input.closest('iam-card')?.setAttribute('data-selected', 'true');
166
153
  });
167
- }
168
- else {
169
- Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input,index) => {
170
-
171
- if(input.closest('iam-card'))
172
- input.closest('iam-card').removeAttribute('data-selected');
154
+ } else {
155
+ Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input) => {
156
+ if (input.closest('iam-card')) input.closest('iam-card')?.removeAttribute('data-selected');
173
157
  });
174
158
  }
175
-
176
- };
159
+ }
177
160
  });
178
161
  }
179
162
  // #endregion
180
163
 
181
164
  // #region switchviews
182
- if(this.hasAttribute('data-switchviews')){
183
-
165
+ if (this.hasAttribute('data-switchviews')) {
184
166
  let btns = '';
185
- let viewList = this.getAttribute('data-switchviews').split(',');
186
-
187
- viewList.forEach((view,index) => {
167
+ const viewList = this.getAttribute('data-switchviews')?.split(',');
188
168
 
169
+ viewList?.forEach((view) => {
189
170
  let icon = 'fa-grid-2';
190
171
 
191
- if(view == "list")
192
- icon = 'fa-grip-lines';
193
- else if(view == "small")
194
- icon = 'fa-bars';
172
+ if (view == 'list') icon = 'fa-grip-lines';
173
+ else if (view == 'small') icon = 'fa-bars';
195
174
 
196
175
  btns += `<button class="btn btn-action btn-compact mb-0 fa-regular ${icon}">${view}</button>`;
197
176
  });
198
177
 
199
- actionbarWrapper.insertAdjacentHTML( 'afterbegin', `<div class="views m-0">${btns}</div>` );
200
- let views = this.shadowRoot.querySelector('.views');
201
-
202
- views.addEventListener('click', (event) => {
178
+ actionbarWrapper?.insertAdjacentHTML('afterbegin', `<div class="views m-0">${btns}</div>`);
179
+ const views = this.shadowRoot?.querySelector('.views');
203
180
 
204
- if (event && event.target instanceof HTMLElement && event.target.closest('.btn-action')){
205
-
206
- let btn = event.target.closest('.btn-action');
181
+ views?.addEventListener('click', (event) => {
182
+ if (event && event.target instanceof HTMLElement && event.target.closest('.btn-action')) {
183
+ const btn = event.target.closest('.btn-action');
207
184
 
208
- this.setAttribute('data-view',btn.textContent);
185
+ this.setAttribute('data-view', btn.textContent);
209
186
 
210
- const switchEvent = new CustomEvent("switch-view", { detail: { view: btn.textContent} });
187
+ const switchEvent = new CustomEvent('switch-view', { detail: { view: btn.textContent } });
211
188
  this.dispatchEvent(switchEvent);
212
189
  }
213
190
  });
@@ -215,63 +192,63 @@ class iamActionbar extends HTMLElement {
215
192
  // #endregion
216
193
 
217
194
  // #region search
218
- const searchBar = this.shadowRoot.querySelector('.actionbar--search');
219
- if(this.hasAttribute('data-search-value')){
220
- this.shadowRoot.querySelector('#search').value = this.getAttribute('data-search-value');
195
+ const searchBar = this.shadowRoot?.querySelector('.actionbar--search');
196
+ if (this.hasAttribute('data-search-value')) {
197
+ (this.shadowRoot?.querySelector('#search') as HTMLInputElement).value = String(
198
+ this.getAttribute('data-search-value')
199
+ );
221
200
  }
222
201
 
223
- if(this.hasAttribute('data-search') && this.getAttribute('data-search') == 'show')
224
- searchBar.classList.add('show');
202
+ if (this.hasAttribute('data-search') && this.getAttribute('data-search') == 'show')
203
+ searchBar?.classList.add('show');
225
204
 
226
- const searchBtn = this.shadowRoot.querySelector('button[data-search]');
205
+ const searchBtn = this.shadowRoot.querySelector('button[data-search]');
227
206
 
228
207
  this.shadowRoot.addEventListener('click', (event) => {
229
-
230
- if (event && event.target instanceof HTMLElement && event.target.closest('button[data-search]')){
208
+ if (event && event.target instanceof HTMLElement && event.target.closest('button[data-search]')) {
231
209
  searchBar.classList.toggle('show');
232
210
  searchBtn.toggleAttribute('aria-expanded');
233
211
  }
234
212
  });
235
213
 
236
- searchBar.addEventListener('keyup', (event) => {
237
-
238
- const keyupEvent = new CustomEvent("search-keyup", { detail: { search: searchBar.querySelector('input').value } });
214
+ searchBar.addEventListener('keyup', () => {
215
+ const keyupEvent = new CustomEvent('search-keyup', {
216
+ detail: { search: searchBar.querySelector('input').value },
217
+ });
239
218
  this.dispatchEvent(keyupEvent);
240
219
  });
241
220
 
242
- searchBar.addEventListener('change', (event) => {
243
-
244
- const changeEvent = new CustomEvent("search-change", { detail: { search: searchBar.querySelector('input').value } });
221
+ searchBar.addEventListener('change', () => {
222
+ const changeEvent = new CustomEvent('search-change', {
223
+ detail: { search: searchBar.querySelector('input').value },
224
+ });
245
225
  this.dispatchEvent(changeEvent);
246
226
  });
247
227
  searchBar.addEventListener('click', (event) => {
248
-
249
- if (event && event.target instanceof HTMLElement && event.target.closest('button.suffix')){
250
-
251
- const submitEvent = new CustomEvent("search-submit", { detail: { search: searchBar.querySelector('input').value } });
228
+ if (event && event.target instanceof HTMLElement && event.target.closest('button.suffix')) {
229
+ const submitEvent = new CustomEvent('search-submit', {
230
+ detail: { search: searchBar.querySelector('input').value },
231
+ });
252
232
  this.dispatchEvent(submitEvent);
253
233
  }
254
234
  });
255
235
  // #endregion
256
236
 
257
237
  // Make sure dialogs created in the shadow dom work
258
- Array.from(this.shadowRoot.querySelectorAll('.body')).forEach((element,index) => {
259
-
238
+ Array.from(this.shadowRoot.querySelectorAll('.body')).forEach((element, index) => {
260
239
  extendDialogs(element);
261
240
  });
262
241
 
263
242
  // #region Reponsive safe area
264
- function hideButtons () {
265
-
243
+ const hideButtons = (): void => {
266
244
  const wrapperWidth = actionbarWrapper.scrollWidth;
267
245
  const screenWidth = document.documentElement.scrollWidth;
268
246
  let safeAreaWidth = 750;
269
247
  let elementMargin = 16;
270
248
  let tabletSafeWidth = 450;
271
- let mobileSafeWidth = that.hasAttribute('data-switchviews') ? 144 : 210;
272
-
273
- if(that.hasAttribute('data-large-safe-area')){
249
+ let mobileSafeWidth = this?.hasAttribute('data-switchviews') ? 144 : 210;
274
250
 
251
+ if (this.hasAttribute('data-large-safe-area')) {
275
252
  safeAreaWidth = 1048;
276
253
  tabletSafeWidth = 620;
277
254
  mobileSafeWidth = 260;
@@ -279,87 +256,79 @@ class iamActionbar extends HTMLElement {
279
256
 
280
257
  // We need to modify the widths to mimic the CSS's scaling functionality
281
258
  let modifier = 1;
282
- if (screenWidth >= 992 && screenWidth <= 1280){
283
- modifier = screenWidth/1280;
284
- }
285
- else if (screenWidth >= 576 && screenWidth < 992) {
286
- modifier = screenWidth/768;
287
- }
288
- else if (screenWidth < 576) {
289
- modifier = screenWidth/375;
259
+ if (screenWidth >= 992 && screenWidth <= 1280) {
260
+ modifier = screenWidth / 1280;
261
+ } else if (screenWidth >= 576 && screenWidth < 992) {
262
+ modifier = screenWidth / 768;
263
+ } else if (screenWidth < 576) {
264
+ modifier = screenWidth / 375;
290
265
  }
291
266
 
292
267
  // Work out the safe sapce width depending upon the wrappers width and modifier comp
293
- if (wrapperWidth >= 992 && wrapperWidth <= 1280){
294
- safeAreaWidth = safeAreaWidth*modifier;
295
- }
296
- else if (wrapperWidth >= 576 && wrapperWidth < 992) {
297
- safeAreaWidth = tabletSafeWidth*modifier;
298
- }
299
- else if (wrapperWidth < 576) {
300
- safeAreaWidth = mobileSafeWidth*modifier;
268
+ if (wrapperWidth >= 992 && wrapperWidth <= 1280) {
269
+ safeAreaWidth = safeAreaWidth * modifier;
270
+ } else if (wrapperWidth >= 576 && wrapperWidth < 992) {
271
+ safeAreaWidth = tabletSafeWidth * modifier;
272
+ } else if (wrapperWidth < 576) {
273
+ safeAreaWidth = mobileSafeWidth * modifier;
301
274
  }
302
275
 
303
276
  // Margin in between elements
304
- elementMargin = elementMargin*modifier;
277
+ elementMargin = elementMargin * modifier;
305
278
 
306
279
  // If the wrapper width is small we want to reduce the btn sizes by adding or removing btn-compact classes
307
280
  if (wrapperWidth < 576) {
308
-
309
- Array.from(that.querySelectorAll(':scope > .btn:not(.js-updated), :scope > .dialog__wrapper > .btn[class*="fa-"]:first-child:not(.js-updated)')).forEach((element,index) => {
310
-
311
- element.className = element.className.replace(' btn-compact',' _btn-compact');
281
+ Array.from(
282
+ this.querySelectorAll(
283
+ ':scope > .btn:not(.js-updated), :scope > .dialog__wrapper > .btn[class*="fa-"]:first-child:not(.js-updated)'
284
+ )
285
+ ).forEach((element: HTMLElement) => {
286
+ element.className = element.className.replace(' btn-compact', ' _btn-compact');
312
287
  element.classList.add('btn-compact');
313
288
  element.classList.add('js-updated');
314
289
  });
315
- }
316
- else {
317
-
318
- Array.from(that.querySelectorAll(':scope > .btn.js-updated, :scope > .dialog__wrapper > .btn.js-updated:first-child')).forEach((element,index) => {
319
-
290
+ } else {
291
+ Array.from(
292
+ this.querySelectorAll(':scope > .btn.js-updated, :scope > .dialog__wrapper > .btn.js-updated:first-child')
293
+ ).forEach((element: HTMLElement) => {
320
294
  element.classList.remove('btn-compact');
321
295
  element.classList.remove('js-updated');
322
- element.className = element.className.replace(' _btn-compact',' btn-compact');
296
+ element.className = element.className.replace(' _btn-compact', ' btn-compact');
323
297
  });
324
298
  }
325
299
 
326
300
  // Reset the elements before we decide what elements become slotted into the overflow
327
- Array.from(that.querySelectorAll('[slot]')).forEach((element,index) => {
328
-
329
- if(element.getAttribute("slot") == "overflow")
330
- element.removeAttribute('slot');
301
+ Array.from(this.querySelectorAll('[slot]')).forEach((element: HTMLElement) => {
302
+ if (element.getAttribute('slot') == 'overflow') element.removeAttribute('slot');
331
303
 
332
- if(element.getAttribute("slot") == "selected-overflow")
333
- element.setAttribute('slot','selected');
304
+ if (element.getAttribute('slot') == 'selected-overflow') element.setAttribute('slot', 'selected');
334
305
  });
335
306
 
336
- Array.from(that.querySelectorAll('.show')).forEach((element,index) => {
337
-
338
- element.classList.remove('show');
307
+ Array.from(this.querySelectorAll('.show')).forEach((element: HTMLElement) => {
308
+ element.classList.remove('show');
339
309
  });
340
310
 
341
311
  // Foreach safe area lets check what elements are slotted in them and if they need an overflow
342
- Array.from(that.shadowRoot.querySelectorAll('.safe-area')).forEach((element,index) => {
343
-
312
+ Array.from(this.shadowRoot.querySelectorAll('.safe-area')).forEach((element: HTMLElement) => {
344
313
  // Decide on which overflow slot to use
345
- let overflowSlot = "overflow"
314
+ let overflowSlot = 'overflow';
346
315
 
347
- if(element.querySelector('slot').hasAttribute('name') && element.querySelector('slot').getAttribute('name') == "selected")
348
- overflowSlot = "selected-overflow";
316
+ if (
317
+ element.querySelector('slot')?.hasAttribute('name') &&
318
+ element.querySelector('slot')?.getAttribute('name') == 'selected'
319
+ )
320
+ overflowSlot = 'selected-overflow';
349
321
 
350
322
  // Get the slotted elements, remember they aren't children of the safe area
351
- let elements = element.querySelector('slot').assignedElements();
352
- let tempWidth = 44*modifier; // Allow space for the overflow button
323
+ const elements = element.querySelector('slot')?.assignedElements() as Array<HTMLElement>;
324
+ let tempWidth = 44 * modifier; // Allow space for the overflow button
353
325
 
354
326
  // If search then allow for the search button width
355
- if(that.hasAttribute('data-search'))
356
- tempWidth += 44*modifier;
357
-
358
- // Foreach element that isn't an action button or dialog wrapper add to the width, these will not be moved into the overflow slot
359
- for (let i = 0; i < elements.length; i++) {
327
+ if (this.hasAttribute('data-search')) tempWidth += 44 * modifier;
360
328
 
361
- if(!elements[i].classList.contains('btn-action') && !elements[i].classList.contains('dialog__wrapper')){
362
-
329
+ // Foreach element this isn't an action button or dialog wrapper add to the width, these will not be moved into the overflow slot
330
+ for (let i = 0; i < elements.length; i++) {
331
+ if (!elements[i].classList.contains('btn-action') && !elements[i].classList.contains('dialog__wrapper')) {
363
332
  tempWidth += elements[i].offsetWidth;
364
333
  tempWidth += elementMargin;
365
334
  }
@@ -367,62 +336,52 @@ class iamActionbar extends HTMLElement {
367
336
 
368
337
  // Foreach dialog wrapper decide if safe in safe area or move into the overflow slot, dialog wrappers have priority over the action buttons
369
338
  for (let i = 0; i < elements.length; i++) {
370
-
371
- if(elements[i].classList.contains('dialog__wrapper')){
372
-
339
+ if (elements[i].classList.contains('dialog__wrapper')) {
373
340
  elements[i].classList.add('show');
374
341
  tempWidth += elements[i].offsetWidth;
375
- tempWidth += (elementMargin/2);
376
-
342
+ tempWidth += elementMargin / 2;
343
+
377
344
  // If we have exceeded the safe area then lets break the loop
378
- if(tempWidth - (elementMargin/2) > safeAreaWidth){
379
-
345
+ if (tempWidth - elementMargin / 2 > safeAreaWidth) {
380
346
  elements[i].classList.remove('show');
381
347
  break;
382
348
  }
383
349
  }
384
350
  }
385
351
 
386
- // Foreach action button
352
+ // Foreach action button
387
353
  for (let i = 0; i < elements.length; i++) {
388
-
389
- if(elements[i].classList.contains('btn-action')){
390
-
354
+ if (elements[i].classList.contains('btn-action')) {
391
355
  elements[i].classList.add('show');
392
356
  tempWidth += elements[i].offsetWidth;
393
- tempWidth += (elementMargin/2);
394
-
357
+ tempWidth += elementMargin / 2;
358
+
395
359
  // If we have exceeded the safe area then lets break the loop
396
- if(tempWidth - (elementMargin/2) > safeAreaWidth){
397
-
360
+ if (tempWidth - elementMargin / 2 > safeAreaWidth) {
398
361
  elements[i].classList.remove('show');
399
362
  break;
400
363
  }
401
364
  }
402
365
  }
403
366
 
404
- let overflowDialog = element.querySelector('.dialog-overflow');
367
+ const overflowDialog = element.querySelector('.dialog-overflow');
405
368
 
406
- if(overflowDialog)
407
- overflowDialog.classList.add('d-none');
369
+ if (overflowDialog) overflowDialog.classList.add('d-none');
408
370
 
409
371
  // Decide which elements go into the overflow slot
410
372
  for (let i = 0; i < elements.length; i++) {
411
-
412
- if(elements[i].classList.contains('btn-action') || elements[i].classList.contains('dialog__wrapper')){
413
- if (!elements[i].classList.contains('show')){
414
-
373
+ if (elements[i].classList.contains('btn-action') || elements[i].classList.contains('dialog__wrapper')) {
374
+ if (!elements[i].classList.contains('show')) {
415
375
  // Move to the slot by changing the attribute
416
- elements[i].setAttribute('slot',overflowSlot);
376
+ elements[i].setAttribute('slot', overflowSlot);
417
377
 
418
378
  // if an element has been added to overflow slot then make sure we show the overflow menu button
419
- if(overflowDialog)
420
- overflowDialog.classList.remove('d-none');
379
+ if (overflowDialog) overflowDialog.classList.remove('d-none');
421
380
  }
422
381
  }
423
382
  }
424
383
  });
425
- }
384
+ };
426
385
 
427
386
  // Check buttons on load and when the wrapper element gets resized.
428
387
  hideButtons();
@@ -430,46 +389,37 @@ class iamActionbar extends HTMLElement {
430
389
  // #endregion
431
390
  }
432
391
 
433
- static get observedAttributes() {
434
- return ["data-selected"];
392
+ static get observedAttributes(): Array<string> {
393
+ return ['data-selected'];
435
394
  }
436
-
437
- attributeChangedCallback(attrName, oldVal, newVal) {
438
395
 
396
+ attributeChangedCallback(attrName, oldVal, newVal): void {
439
397
  switch (attrName) {
440
- case "data-selected": {
398
+ case 'data-selected': {
399
+ const selectAll = this.shadowRoot.querySelector('.selectall');
441
400
 
442
- let selectAll = this.shadowRoot.querySelector('.selectall');
443
-
444
- if(selectAll)
445
- setSelectAllInput(selectAll, newVal);
401
+ if (selectAll) setSelectAllInput(selectAll, newVal);
446
402
 
447
- const event = new CustomEvent("selected", { detail: { selected: newVal } });
403
+ const event = new CustomEvent('selected', { detail: { selected: newVal } });
448
404
  this.dispatchEvent(event);
449
405
 
450
- if(newVal == "all" && this.hasAttribute('data-select-watch')){
451
-
452
- const element = document.getElementById(this.getAttribute('data-select-watch'));
406
+ if (newVal == 'all' && this.hasAttribute('data-select-watch')) {
407
+ const element = document.getElementById(String(this.getAttribute('data-select-watch'))) as HTMLElement;
453
408
 
454
- Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input,index) => {
455
-
409
+ Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input: HTMLInputElement) => {
456
410
  input.checked = true;
457
411
 
458
- if(input.closest('iam-card'))
459
- input.closest('iam-card').setAttribute('data-selected','true');
412
+ if (input.closest('iam-card')) input.closest('iam-card')?.setAttribute('data-selected', 'true');
460
413
  });
461
414
  }
462
415
 
463
- if(newVal == "0" && this.hasAttribute('data-select-watch')){
464
-
465
- const element = document.getElementById(this.getAttribute('data-select-watch'));
416
+ if (newVal == '0' && this.hasAttribute('data-select-watch')) {
417
+ const element = document.getElementById(String(this.getAttribute('data-select-watch'))) as HTMLElement;
466
418
 
467
- Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input,index) => {
468
-
419
+ Array.from(element.querySelectorAll('input[type="checkbox"]')).forEach((input: HTMLInputElement) => {
469
420
  input.checked = false;
470
421
 
471
- if(input.closest('iam-card'))
472
- input.closest('iam-card').removeAttribute('data-selected','true');
422
+ if (input.closest('iam-card')) input.closest('iam-card')?.removeAttribute('data-selected');
473
423
  });
474
424
  }
475
425
 
@@ -479,4 +429,4 @@ class iamActionbar extends HTMLElement {
479
429
  }
480
430
  }
481
431
 
482
- export default iamActionbar;
432
+ export default iamActionbar;