@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
@@ -19,19 +19,19 @@ import('../node_modules/@iamproperty/components/assets/js/components/pagination/
19
19
 
20
20
  **Properties**
21
21
 
22
- | Option | Type | Default Value | Description |
23
- | ------ | ---- | ------------- | ----------- |
24
- | data-total | int | 0 | The total amount is needed to work out how many pagination buttons are needed |
25
- | data-page | int | 1 | Override the current page value |
26
- | data-show | int | 15 | Update how many items can be shown per page |
27
- | data-page-minimal | flag | - | Will display the minimal variant even on mobile |
28
- | data-page-jump | flag | - | Adds the page jump dropdown on all viewports |
29
- | data-per-page | flag | - | Adds the per page dropdown on tablet and desktop viewports (is hidden on tablet if not enough room availble) |
30
- | data-item-count | flag | - | Will add the total count on tablet and desktop viewports |
22
+ | Option | Type | Default Value | Description |
23
+ | ----------------- | ---- | ------------- | ------------------------------------------------------------------------------------------------------------ |
24
+ | data-total | int | 0 | The total amount is needed to work out how many pagination buttons are needed |
25
+ | data-page | int | 1 | Override the current page value |
26
+ | data-show | int | 15 | Update how many items can be shown per page |
27
+ | data-page-minimal | flag | - | Will display the minimal variant even on mobile |
28
+ | data-page-jump | flag | - | Adds the page jump dropdown on all viewports |
29
+ | data-per-page | flag | - | Adds the per page dropdown on tablet and desktop viewports (is hidden on tablet if not enough room availble) |
30
+ | data-item-count | flag | - | Will add the total count on tablet and desktop viewports |
31
31
 
32
32
  **Dispatched events**
33
33
 
34
- | Event | Dispatched when | Details passed|
35
- | ------ | ------------- | ----------- |
36
- | update-show | When a user clicks mobile 'Load more' button | { show: $showAmont } |
34
+ | Event | Dispatched when | Details passed |
35
+ | ----------- | ----------------------------------------------------------------------------------- | --------------------- |
36
+ | update-show | When a user clicks mobile 'Load more' button | { show: $showAmont } |
37
37
  | update-page | When a user changes the page jump select or clicks on the 'Prev' and 'Next' buttons | { page: $pageNumber } |
@@ -1,11 +1,14 @@
1
1
  // @ts-nocheck
2
2
  class iamPagination extends HTMLElement {
3
-
4
- constructor(){
3
+ constructor() {
5
4
  super();
6
- this.attachShadow({ mode: 'open'});
7
- const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets';
8
- const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;
5
+ this.attachShadow({ mode: 'open' });
6
+ const assetLocation = document.body.hasAttribute('data-assets-location')
7
+ ? document.body.getAttribute('data-assets-location')
8
+ : '/assets';
9
+ const coreCSS = document.body.hasAttribute('data-core-css')
10
+ ? document.body.getAttribute('data-core-css')
11
+ : `${assetLocation}/css/core.min.css`;
9
12
  const loadCSS = `@import "${assetLocation}/css/components/pagination.css";`;
10
13
 
11
14
  const template = document.createElement('template');
@@ -50,22 +53,17 @@ class iamPagination extends HTMLElement {
50
53
  this.shadowRoot.appendChild(template.content.cloneNode(true));
51
54
  }
52
55
 
53
- connectedCallback() {
54
-
56
+ connectedCallback() {
55
57
  // Set default attributes
56
58
  const params = new URLSearchParams(window.location.search);
57
59
 
58
- if(!this.hasAttribute('data-total'))
59
- this.setAttribute('data-total', 15);
60
+ if (!this.hasAttribute('data-total')) this.setAttribute('data-total', 15);
60
61
 
61
- if(!this.hasAttribute('data-page'))
62
- this.setAttribute('data-page', (params.has('page') ? params.get('page') : 1));
62
+ if (!this.hasAttribute('data-page')) this.setAttribute('data-page', params.has('page') ? params.get('page') : 1);
63
63
 
64
- if(!this.hasAttribute('data-show'))
65
- this.setAttribute('data-show', (params.has('show') ? params.get('show') : 15));
64
+ if (!this.hasAttribute('data-show')) this.setAttribute('data-show', params.has('show') ? params.get('show') : 15);
66
65
 
67
- if(!this.hasAttribute('data-increment'))
68
- this.setAttribute('data-increment', this.getAttribute('data-show'));
66
+ if (!this.hasAttribute('data-increment')) this.setAttribute('data-increment', this.getAttribute('data-show'));
69
67
 
70
68
  // Elements
71
69
  const select = this.shadowRoot.querySelector('.page-jump select');
@@ -78,38 +76,32 @@ class iamPagination extends HTMLElement {
78
76
  this.setup();
79
77
 
80
78
  // Select on change will update the data-page attr which will dispatch an event
81
- select.addEventListener('change',(event) => {
82
-
83
-
84
- this.setAttribute('data-show',this.getAttribute('data-increment'))
85
- this.setAttribute('data-page',event.target.value);
79
+ select.addEventListener('change', (event) => {
80
+ this.setAttribute('data-show', this.getAttribute('data-increment'));
81
+ this.setAttribute('data-page', event.target.value);
86
82
  });
87
83
 
88
84
  // Next and previous buttons will simply trigger and on change on the select which in turn will dispatch an event
89
- next.addEventListener('click',(event) => {
90
-
85
+ next.addEventListener('click', (event) => {
91
86
  select.value = parseInt(select.value) + 1;
92
87
  select.dispatchEvent(new Event('change'));
93
88
  });
94
89
 
95
- prev.addEventListener('click',(event) => {
96
-
90
+ prev.addEventListener('click', (event) => {
97
91
  select.value = parseInt(select.value) - 1;
98
92
  select.dispatchEvent(new Event('change'));
99
93
  });
100
94
 
101
- // Update how many is shown
102
- perPage.addEventListener('change',(event) => {
103
-
104
- this.setAttribute('data-increment',event.target.value);
95
+ // Update how many is shown
96
+ perPage.addEventListener('change', (event) => {
97
+ this.setAttribute('data-increment', event.target.value);
105
98
  });
106
99
 
107
- loadMore.addEventListener('click',(event) => {
100
+ loadMore.addEventListener('click', (event) => {
101
+ const newValue = parseInt(this.getAttribute('data-show')) + parseInt(this.getAttribute('data-increment'));
102
+ this.setAttribute('data-show', newValue);
108
103
 
109
- let newValue = parseInt(this.getAttribute('data-show')) + parseInt(this.getAttribute('data-increment'));
110
- this.setAttribute('data-show',newValue);
111
-
112
- if(newValue > parseInt(this.getAttribute('data-total'))){
104
+ if (newValue > parseInt(this.getAttribute('data-total'))) {
113
105
  loadMore.remove();
114
106
  }
115
107
  });
@@ -132,9 +124,8 @@ class iamPagination extends HTMLElement {
132
124
  const increment = parseInt(this.getAttribute('data-increment'));
133
125
  const numberPages = Math.ceil(total / increment);
134
126
 
135
- if(total > show)
136
- wrapper.classList.remove('d-none');
137
-
127
+ if (total > show) wrapper.classList.remove('d-none');
128
+
138
129
  // Populate the select input with the number of pages
139
130
  let strOptions = '';
140
131
  for (let i = 1; i <= numberPages; i++) {
@@ -145,60 +136,53 @@ class iamPagination extends HTMLElement {
145
136
  totalPages.innerHTML = `of ${numberPages}`;
146
137
 
147
138
  // Next button
148
- if(currentPage == numberPages)
149
- next.setAttribute('disabled','disabled');
150
- else
151
- next.removeAttribute('disabled');
139
+ if (currentPage == numberPages) next.setAttribute('disabled', 'disabled');
140
+ else next.removeAttribute('disabled');
152
141
 
153
- if(currentPage == 1)
154
- prev.setAttribute('disabled','disabled');
155
- else
156
- prev.removeAttribute('disabled');
142
+ if (currentPage == 1) prev.setAttribute('disabled', 'disabled');
143
+ else prev.removeAttribute('disabled');
157
144
 
158
-
159
145
  // Update the item count text
160
- let startPoint = currentPage == 1 ? 1 : ((currentPage-1)*show)+1;
161
- let endPoint = currentPage == 1 ? show : ((currentPage)*show);
146
+ const startPoint = currentPage == 1 ? 1 : (currentPage - 1) * show + 1;
147
+ const endPoint = currentPage == 1 ? show : currentPage * show;
162
148
  itemCount.innerHTML = `${startPoint} - ${endPoint > total ? total : endPoint} of ${total} items`;
163
-
164
- const defaultValues = [15,25,40,50];
149
+
150
+ const defaultValues = [15, 25, 40, 50];
165
151
 
166
152
  // Update the per page options if needed
167
- if(increment && perPage.value != increment && !defaultValues.includes(increment)){
153
+ if (increment && perPage.value != increment && !defaultValues.includes(increment)) {
168
154
  perPage.innerHTML = `<option value="${increment}">${increment}</option>
169
- <option value="${increment*2}">${increment*2}</option>
170
- <option value="${increment*3}">${increment*3}</option>
171
- <option value="${increment*4}">${increment*4}</option>`;
155
+ <option value="${increment * 2}">${increment * 2}</option>
156
+ <option value="${increment * 3}">${increment * 3}</option>
157
+ <option value="${increment * 4}">${increment * 4}</option>`;
172
158
  }
173
-
159
+
174
160
  perPage.value = increment;
175
161
  }
176
162
 
177
163
  static get observedAttributes() {
178
- return ["data-total","data-increment","data-page","data-show"];
164
+ return ['data-total', 'data-increment', 'data-page', 'data-show'];
179
165
  }
180
166
 
181
167
  attributeChangedCallback(attrName, oldVal, newVal) {
182
-
183
168
  switch (attrName) {
184
- case "data-total": {
185
- if(oldVal != newVal){
169
+ case 'data-total': {
170
+ if (oldVal != newVal) {
186
171
  this.setAttribute('data-page', 1);
187
172
  this.setup();
188
173
  }
189
174
  break;
190
175
  }
191
- case "data-show": {
192
- if(oldVal != newVal){
193
-
176
+ case 'data-show': {
177
+ if (oldVal != newVal) {
194
178
  this.setAttribute('data-page', 1);
195
179
  this.setup();
196
180
  this.dispatchEvent(new CustomEvent('update-show', { detail: { show: newVal } }));
197
181
  }
198
182
  break;
199
183
  }
200
- case "data-increment": {
201
- if(oldVal != newVal){
184
+ case 'data-increment': {
185
+ if (oldVal != newVal) {
202
186
  this.setAttribute('data-show', newVal);
203
187
  this.setAttribute('data-page', 1);
204
188
  this.setup();
@@ -206,12 +190,10 @@ class iamPagination extends HTMLElement {
206
190
  }
207
191
  break;
208
192
  }
209
- case "data-page": {
210
-
211
- if(oldVal && oldVal != newVal) {
212
-
193
+ case 'data-page': {
194
+ if (oldVal && oldVal != newVal) {
213
195
  this.setup();
214
- // Dispact the event for other components to use as triggers
196
+ // Dispact the event for other components to use as triggers
215
197
  this.dispatchEvent(new CustomEvent('update-page', { detail: { page: newVal } }));
216
198
  }
217
199
  break;
@@ -220,4 +202,4 @@ class iamPagination extends HTMLElement {
220
202
  }
221
203
  }
222
204
 
223
- export default iamPagination;
205
+ export default iamPagination;
@@ -1,18 +1,19 @@
1
1
  // @ts-nocheck
2
- import {trackComponent, trackComponentRegistered} from "../_global";
3
- import {cardHTML,setupCard} from "../../modules/card.module";
2
+ import { trackComponent, trackComponentRegistered } from '../_global';
3
+ import { cardHTML, setupCard } from '../../modules/card.module';
4
4
 
5
- trackComponentRegistered("iam-record-card");
5
+ trackComponentRegistered('iam-record-card');
6
6
 
7
7
  class iamRecordCard extends HTMLElement {
8
-
9
- constructor(){
8
+ constructor() {
10
9
  super();
11
- this.attachShadow({ mode: 'open'});
10
+ this.attachShadow({ mode: 'open' });
12
11
 
13
- const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets';
12
+ const assetLocation = document.body.hasAttribute('data-assets-location')
13
+ ? document.body.getAttribute('data-assets-location')
14
+ : '/assets';
14
15
  const loadCSS = `@import "${assetLocation}/css/components/record-card.component.css";`;
15
-
16
+
16
17
  const template = document.createElement('template');
17
18
  template.innerHTML = `
18
19
  <style>
@@ -26,57 +27,46 @@ class iamRecordCard extends HTMLElement {
26
27
  this.shadowRoot.appendChild(template.content.cloneNode(true));
27
28
  }
28
29
 
29
- async connectedCallback() {
30
-
30
+ async connectedCallback() {
31
31
  const cardComponent = this;
32
- const cardHead = cardComponent.shadowRoot.querySelector('.card__head');
32
+ const cardHead = cardComponent.shadowRoot.querySelector('.card__head');
33
33
  setupCard(cardComponent);
34
34
 
35
- Array.from(cardComponent.querySelectorAll(':scope > *:not([slot])')).forEach((element,index)=>{
36
-
37
- element.setAttribute('slot','details');
35
+ Array.from(cardComponent.querySelectorAll(':scope > *:not([slot])')).forEach((element, index) => {
36
+ element.setAttribute('slot', 'details');
38
37
  });
39
38
 
40
- if(cardComponent.hasAttribute('data-avatar')){
41
-
39
+ if (cardComponent.hasAttribute('data-avatar')) {
42
40
  cardHead.innerHTML += `<img src="${cardComponent.getAttribute('data-avatar')}" alt="" loading="lazy" class="card__avatar" part="avatar" />`;
43
41
  }
44
-
45
42
 
46
- trackComponent(cardComponent,"iam-record-card",[]);
43
+ trackComponent(cardComponent, 'iam-record-card', []);
47
44
  }
48
45
 
49
46
  static get observedAttributes() {
50
- return ["data-image"];
47
+ return ['data-image'];
51
48
  }
52
-
49
+
53
50
  attributeChangedCallback(attrName, oldVal, newVal) {
54
51
  switch (attrName) {
55
- case "data-image": {
56
-
57
- if(oldVal != newVal){
58
-
52
+ case 'data-image': {
53
+ if (oldVal != newVal) {
59
54
  const cardHeadImg = this.shadowRoot.querySelector('.card__head img');
60
55
 
61
- if(cardHeadImg)
62
- cardHeadImg.setAttribute('src',newVal);
56
+ if (cardHeadImg) cardHeadImg.setAttribute('src', newVal);
63
57
  }
64
58
  break;
65
59
  }
66
- case "data-avatar": {
67
-
68
- if(oldVal != newVal){
69
-
60
+ case 'data-avatar': {
61
+ if (oldVal != newVal) {
70
62
  const cardHeadImg = this.shadowRoot.querySelector('.card__avatar');
71
63
 
72
- if(cardHeadImg)
73
- cardHeadImg.setAttribute('src',newVal);
64
+ if (cardHeadImg) cardHeadImg.setAttribute('src', newVal);
74
65
  }
75
66
  break;
76
67
  }
77
68
  }
78
-
79
69
  }
80
70
  }
81
71
 
82
- export default iamRecordCard;
72
+ export default iamRecordCard;
@@ -27,10 +27,9 @@ import('../node_modules/@iamproperty/components/assets/js/components/fileupload/
27
27
 
28
28
  **Properties**
29
29
 
30
- | Option | Type | Default Value | Description |
31
- | ------ | ---- | ------------- | ----------- |
32
- | data-url | String | - | Optional value that populates the datalist with extra results from an API |
33
- | data-schema | String | - | Tells the JavaScript where to look for the array of values in the API JSON |
34
- | data-value-schema | String | - | Tells the JavaScript where to look for the value within the API JSON |
35
- | data-display-schema | String | - | Tells the JavaScript where to look for the title within the API JSON |
36
-
30
+ | Option | Type | Default Value | Description |
31
+ | ------------------- | ------ | ------------- | -------------------------------------------------------------------------- |
32
+ | data-url | String | - | Optional value that populates the datalist with extra results from an API |
33
+ | data-schema | String | - | Tells the JavaScript where to look for the array of values in the API JSON |
34
+ | data-value-schema | String | - | Tells the JavaScript where to look for the value within the API JSON |
35
+ | data-display-schema | String | - | Tells the JavaScript where to look for the title within the API JSON |
@@ -1,22 +1,25 @@
1
1
  // @ts-nocheck
2
2
  import Cookies from 'js-cookie';
3
- import { safeID, resolvePath, isTraversable } from '../../modules/helpers'
3
+ import { safeID, resolvePath, isTraversable } from '../../modules/helpers';
4
4
 
5
5
  // Data layer Web component created
6
6
  window.dataLayer = window.dataLayer || [];
7
7
  window.dataLayer.push({
8
- "event": "customElementRegistered",
9
- "element": "Search"
8
+ event: 'customElementRegistered',
9
+ element: 'Search',
10
10
  });
11
11
 
12
12
  class iamSearch extends HTMLElement {
13
-
14
- constructor(){
13
+ constructor() {
15
14
  super();
16
- this.attachShadow({ mode: 'open'});
17
-
18
- const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets'
19
- const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;
15
+ this.attachShadow({ mode: 'open' });
16
+
17
+ const assetLocation = document.body.hasAttribute('data-assets-location')
18
+ ? document.body.getAttribute('data-assets-location')
19
+ : '/assets';
20
+ const coreCSS = document.body.hasAttribute('data-core-css')
21
+ ? document.body.getAttribute('data-core-css')
22
+ : `${assetLocation}/css/core.min.css`;
20
23
 
21
24
  const template = document.createElement('template');
22
25
  template.innerHTML = `
@@ -38,63 +41,56 @@ class iamSearch extends HTMLElement {
38
41
  this.shadowRoot.appendChild(template.content.cloneNode(true));
39
42
  }
40
43
 
41
- async connectedCallback() {
42
-
44
+ async connectedCallback() {
43
45
  const searchWrapper = this;
44
46
  const inputField = this.querySelector('input');
45
47
  const valueSchema = this.hasAttribute('data-value-schema') ? this.getAttribute('data-value-schema') : 'value';
46
48
  const displaySchema = this.hasAttribute('data-display-schema') ? this.getAttribute('data-display-schema') : 'label';
47
49
  const loopSchema = this.hasAttribute('data-schema') ? this.getAttribute('data-schema') : '';
48
50
  let datalist = this.querySelector('datalist');
49
- let searched = [];
51
+ const searched = [];
50
52
 
51
53
  // Clone original input field, re-name and use for display purposes
52
54
  const displayInputField = inputField.cloneNode();
53
- displayInputField.setAttribute('name',`${inputField.getAttribute('name')}Alt`);
55
+ displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);
54
56
  inputField.removeAttribute('data-change-events');
55
57
  displayInputField.removeAttribute('id');
56
-
58
+
57
59
  inputField.after(displayInputField);
58
60
 
59
61
  // Hide original input field
60
- inputField.setAttribute('type','hidden');
62
+ inputField.setAttribute('type', 'hidden');
61
63
 
62
64
  // if data list does not exist then create one and append
63
- if(!datalist){
64
-
65
- datalist = document.createElement("datalist");
66
- let listID = safeID('list');
67
- datalist.setAttribute('id',listID);
65
+ if (!datalist) {
66
+ datalist = document.createElement('datalist');
67
+ const listID = safeID('list');
68
+ datalist.setAttribute('id', listID);
68
69
  searchWrapper.appendChild(datalist);
69
70
 
70
- displayInputField.setAttribute('list',listID);
71
+ displayInputField.setAttribute('list', listID);
71
72
  }
72
73
 
73
74
  // Search the endpoint when 3 characters has been added
74
- if(searchWrapper.hasAttribute('data-url')){
75
-
75
+ if (searchWrapper.hasAttribute('data-url')) {
76
76
  displayInputField.addEventListener('input', (event) => {
77
-
78
- if(displayInputField.value.length == 3 && !searched.includes(displayInputField.value)){
77
+ if (displayInputField.value.length == 3 && !searched.includes(displayInputField.value)) {
79
78
  search(displayInputField.value);
80
79
  searched.push(displayInputField.value);
81
80
  }
82
81
  });
83
82
  }
84
83
 
85
- function checkMatch(){
86
-
87
- let match = datalist.querySelector(`option[value="${displayInputField.value}"]`);
88
- let subMatch = datalist.querySelector(`option[value*="${displayInputField.value}" i]`);
84
+ function checkMatch() {
85
+ const match = datalist.querySelector(`option[value="${displayInputField.value}"]`);
86
+ const subMatch = datalist.querySelector(`option[value*="${displayInputField.value}" i]`);
89
87
 
90
- if(match){
88
+ if (match) {
91
89
  inputField.value = match.getAttribute('data-value');
92
- }
93
- else if (displayInputField.value.length > 0 && !subMatch){
90
+ } else if (displayInputField.value.length > 0 && !subMatch) {
94
91
  displayInputField.classList.add('is-invalid');
95
- displayInputField.closest('label').setAttribute('data-error','No results returned');
96
- }
97
- else {
92
+ displayInputField.closest('label').setAttribute('data-error', 'No results returned');
93
+ } else {
98
94
  displayInputField.classList.remove('is-invalid');
99
95
  displayInputField.closest('label').removeAttribute('data-error');
100
96
  }
@@ -102,28 +98,23 @@ class iamSearch extends HTMLElement {
102
98
 
103
99
  // on change update oringinal field with the actual value and use displayed input for the nice display text
104
100
  displayInputField.addEventListener('input', (event) => {
105
-
106
101
  checkMatch();
107
102
  });
108
103
 
109
-
110
104
  const search = async (searchterm) => {
111
-
112
105
  let ajaxURL = searchWrapper.getAttribute('data-url');
113
106
  ajaxURL += `${encodeURI(searchterm)}`;
114
-
107
+
115
108
  // Setup controller vars if not already set
116
- if(!window.controller)
117
- window.controller = [];
118
-
109
+ if (!window.controller) window.controller = [];
110
+
119
111
  // Abort if controller already present for this url
120
- if(window.controller[ajaxURL])
121
- window.controller[ajaxURL].abort();
122
-
112
+ if (window.controller[ajaxURL]) window.controller[ajaxURL].abort();
113
+
123
114
  // Create a new controller so it can be aborted if new fetch made
124
115
  window.controller[ajaxURL] = new AbortController();
125
116
  const { signal } = controller[ajaxURL];
126
-
117
+
127
118
  try {
128
119
  await fetch(ajaxURL, {
129
120
  signal: signal,
@@ -133,66 +124,59 @@ class iamSearch extends HTMLElement {
133
124
  'Content-Type': 'application/json',
134
125
  Accept: 'application/json',
135
126
  'X-Requested-With': 'XMLHttpRequest',
136
- 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN')
137
- })
127
+ 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),
128
+ }),
138
129
  })
139
- .then((response) => response.json()).then((response) => {
140
-
141
- // populate datalist
142
- let listString = '';
143
- let loopValues = resolvePath(response, loopSchema, '');
144
-
145
- if(isTraversable(loopValues) && typeof loopValues.forEach == 'function') {
146
- loopValues.forEach((item, index) => {
147
- let actualValue = resolvePath(item, valueSchema, '');
148
- let displayValue = resolvePath(item, displaySchema, '').replace('\n',', ');
149
-
150
- console.log(displayValue);
151
-
152
-
153
- if(!datalist.querySelector(`option[data-value="${actualValue}"]`))
154
- listString += `<option value="${displayValue}" data-value="${actualValue}"></option>`;
155
- });
156
- }
157
- else if (typeof loopValues == 'object'){
158
-
159
- for (const [key, value] of Object.entries(loopValues)) {
160
-
161
- if(isTraversable(value) && typeof value.forEach == 'function') {
162
- value.forEach((item, index) => {
163
- let actualValue = resolvePath(item, valueSchema, '');
164
- let displayValue = resolvePath(item, displaySchema, '').replace('\n',', ');
165
-
166
- if(!datalist.querySelector(`option[data-value="${actualValue}"]`))
167
- listString += `<option value="${key}: ${displayValue}" data-value='${actualValue}'></option>`;
168
- });
130
+ .then((response) => response.json())
131
+ .then((response) => {
132
+ // populate datalist
133
+ let listString = '';
134
+ const loopValues = resolvePath(response, loopSchema, '');
135
+
136
+ if (isTraversable(loopValues) && typeof loopValues.forEach == 'function') {
137
+ loopValues.forEach((item, index) => {
138
+ const actualValue = resolvePath(item, valueSchema, '');
139
+ const displayValue = resolvePath(item, displaySchema, '').replace('\n', ', ');
140
+
141
+ console.log(displayValue);
142
+
143
+ if (!datalist.querySelector(`option[data-value="${actualValue}"]`))
144
+ listString += `<option value="${displayValue}" data-value="${actualValue}"></option>`;
145
+ });
146
+ } else if (typeof loopValues == 'object') {
147
+ for (const [key, value] of Object.entries(loopValues)) {
148
+ if (isTraversable(value) && typeof value.forEach == 'function') {
149
+ value.forEach((item, index) => {
150
+ const actualValue = resolvePath(item, valueSchema, '');
151
+ const displayValue = resolvePath(item, displaySchema, '').replace('\n', ', ');
152
+
153
+ if (!datalist.querySelector(`option[data-value="${actualValue}"]`))
154
+ listString += `<option value="${key}: ${displayValue}" data-value='${actualValue}'></option>`;
155
+ });
156
+ }
169
157
  }
170
158
  }
171
- }
172
-
173
- datalist.innerHTML += listString;
174
-
175
- displayInputField.closest('form').classList.add('was-validated');
176
- checkMatch();
177
159
 
178
- return response;
179
- });
160
+ datalist.innerHTML += listString;
180
161
 
162
+ displayInputField.closest('form').classList.add('was-validated');
163
+ checkMatch();
164
+
165
+ return response;
166
+ });
181
167
  } catch (error) {
182
168
  console.log(error);
183
169
  }
184
- }
185
-
186
- if(searchWrapper.hasAttribute('data-prevent-submit')){
170
+ };
187
171
 
172
+ if (searchWrapper.hasAttribute('data-prevent-submit')) {
188
173
  const form = searchWrapper.closest('form');
189
174
 
190
175
  form.addEventListener('submit', (e) => {
191
-
192
176
  e.preventDefault();
193
177
  });
194
178
  }
195
179
  }
196
180
  }
197
181
 
198
- export default iamSearch;
182
+ export default iamSearch;