@iamproperty/components 7.7.1--beta14 → 7.7.1--beta16

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 (507) hide show
  1. package/README.md +25 -2
  2. package/assets/css/components/actionbar.component.css +1 -1
  3. package/assets/css/components/actionbar.component.css.map +1 -1
  4. package/assets/css/components/address-lookup.component.css +1 -1
  5. package/assets/css/components/address-lookup.component.css.map +1 -1
  6. package/assets/css/components/advanced-select.component.css +1 -0
  7. package/assets/css/components/advanced-select.component.css.map +1 -0
  8. package/assets/css/components/applied-filters.css +1 -1
  9. package/assets/css/components/applied-filters.css.map +1 -1
  10. package/assets/css/components/barchart.component.css +1 -1
  11. package/assets/css/components/barchart.component.css.map +1 -1
  12. package/assets/css/components/bento-grid.global.css +1 -1
  13. package/assets/css/components/bento-grid.global.css.map +1 -1
  14. package/assets/css/components/button.component.css +1 -0
  15. package/assets/css/components/button.component.css.map +1 -0
  16. package/assets/css/components/calendar.component.css +1 -1
  17. package/assets/css/components/calendar.component.css.map +1 -1
  18. package/assets/css/components/calendar.config.css +1 -1
  19. package/assets/css/components/calendar.config.css.map +1 -1
  20. package/assets/css/components/card.component.css +1 -1
  21. package/assets/css/components/card.component.css.map +1 -1
  22. package/assets/css/components/card.module.css +1 -1
  23. package/assets/css/components/card.module.css.map +1 -1
  24. package/assets/css/components/carousel.component.css +1 -1
  25. package/assets/css/components/carousel.component.css.map +1 -1
  26. package/assets/css/components/carousel.config.css +1 -1
  27. package/assets/css/components/carousel.config.css.map +1 -1
  28. package/assets/css/components/charts.config.css +1 -1
  29. package/assets/css/components/charts.config.css.map +1 -1
  30. package/assets/css/components/collapsible-side.css +1 -1
  31. package/assets/css/components/collapsible-side.css.map +1 -1
  32. package/assets/css/components/config.component.css +1 -1
  33. package/assets/css/components/config.component.css.map +1 -1
  34. package/assets/css/components/content.component.css +1 -1
  35. package/assets/css/components/content.component.css.map +1 -1
  36. package/assets/css/components/doughnutchart.component.css +1 -1
  37. package/assets/css/components/doughnutchart.component.css.map +1 -1
  38. package/assets/css/components/fileupload.css +1 -1
  39. package/assets/css/components/fileupload.css.map +1 -1
  40. package/assets/css/components/filter-card.component.css +1 -1
  41. package/assets/css/components/filter-card.component.css.map +1 -1
  42. package/assets/css/components/header.component.css +1 -1
  43. package/assets/css/components/header.component.css.map +1 -1
  44. package/assets/css/components/input.component.css +1 -1
  45. package/assets/css/components/input.component.css.map +1 -1
  46. package/assets/css/components/menu.component.css +1 -1
  47. package/assets/css/components/menu.component.css.map +1 -1
  48. package/assets/css/components/menu.global.css +1 -1
  49. package/assets/css/components/menu.global.css.map +1 -1
  50. package/assets/css/components/milestone.css +1 -1
  51. package/assets/css/components/milestone.css.map +1 -1
  52. package/assets/css/components/modal.component.css +1 -1
  53. package/assets/css/components/modal.component.css.map +1 -1
  54. package/assets/css/components/multi-step-modal.component.css +1 -1
  55. package/assets/css/components/multi-step-modal.component.css.map +1 -1
  56. package/assets/css/components/multiselect.css +1 -1
  57. package/assets/css/components/multiselect.css.map +1 -1
  58. package/assets/css/components/nav.component.css +1 -1
  59. package/assets/css/components/nav.component.css.map +1 -1
  60. package/assets/css/components/nav.docs.css +1 -1
  61. package/assets/css/components/nav.docs.css.map +1 -1
  62. package/assets/css/components/nav.global.css +1 -1
  63. package/assets/css/components/nav.global.css.map +1 -1
  64. package/assets/css/components/notification.css +1 -1
  65. package/assets/css/components/notification.css.map +1 -1
  66. package/assets/css/components/pagination.css +1 -1
  67. package/assets/css/components/pagination.css.map +1 -1
  68. package/assets/css/components/password.component.css +1 -1
  69. package/assets/css/components/password.component.css.map +1 -1
  70. package/assets/css/components/popover.component.css +1 -1
  71. package/assets/css/components/popover.component.css.map +1 -1
  72. package/assets/css/components/rank.component.css +1 -1
  73. package/assets/css/components/rank.component.css.map +1 -1
  74. package/assets/css/components/rankings.component.css +1 -1
  75. package/assets/css/components/rankings.component.css.map +1 -1
  76. package/assets/css/components/rankings.global.css +1 -1
  77. package/assets/css/components/rankings.global.css.map +1 -1
  78. package/assets/css/components/record-card.component.css +1 -1
  79. package/assets/css/components/record-card.component.css.map +1 -1
  80. package/assets/css/components/search.component.css +1 -0
  81. package/assets/css/components/search.component.css.map +1 -0
  82. package/assets/css/components/slider.css +1 -1
  83. package/assets/css/components/slider.css.map +1 -1
  84. package/assets/css/components/split-button.component.css +1 -1
  85. package/assets/css/components/split-button.component.css.map +1 -1
  86. package/assets/css/components/std-nav-standalone.component.css +1 -0
  87. package/assets/css/components/std-nav-standalone.component.css.map +1 -0
  88. package/assets/css/components/table-basic.global.css +1 -1
  89. package/assets/css/components/table-basic.global.css.map +1 -1
  90. package/assets/css/components/table.global.css +1 -1
  91. package/assets/css/components/table.global.css.map +1 -1
  92. package/assets/css/components/tabs.component.css +1 -1
  93. package/assets/css/components/tabs.component.css.map +1 -1
  94. package/assets/css/components/tabs.config.css +1 -1
  95. package/assets/css/components/tabs.config.css.map +1 -1
  96. package/assets/css/components/tag.component.css +1 -1
  97. package/assets/css/components/tag.component.css.map +1 -1
  98. package/assets/css/components/video-card.component.css +1 -1
  99. package/assets/css/components/video-card.component.css.map +1 -1
  100. package/assets/css/components/video-modal.component.css +1 -1
  101. package/assets/css/components/video-modal.component.css.map +1 -1
  102. package/assets/css/components/video.component.css +1 -1
  103. package/assets/css/components/video.component.css.map +1 -1
  104. package/assets/css/core.min.css +1 -1
  105. package/assets/css/core.min.css.map +1 -1
  106. package/assets/css/elements/badge-tag.css +1 -1
  107. package/assets/css/elements/badge-tag.css.map +1 -1
  108. package/assets/css/elements/buttons--global.css +1 -1
  109. package/assets/css/elements/buttons--global.css.map +1 -1
  110. package/assets/css/elements/buttons--special.css +1 -1
  111. package/assets/css/elements/buttons--special.css.map +1 -1
  112. package/assets/css/elements/buttons.css +1 -1
  113. package/assets/css/elements/buttons.css.map +1 -1
  114. package/assets/css/elements/container.css +1 -1
  115. package/assets/css/elements/container.css.map +1 -1
  116. package/assets/css/elements/details.css +1 -1
  117. package/assets/css/elements/details.css.map +1 -1
  118. package/assets/css/elements/dialog.css +1 -1
  119. package/assets/css/elements/dialog.css.map +1 -1
  120. package/assets/css/elements/dropdown.css +1 -1
  121. package/assets/css/elements/dropdown.css.map +1 -1
  122. package/assets/css/elements/forms.css +1 -1
  123. package/assets/css/elements/forms.css.map +1 -1
  124. package/assets/css/elements/input.css +1 -1
  125. package/assets/css/elements/input.css.map +1 -1
  126. package/assets/css/elements/links--collapsible-side.css +1 -1
  127. package/assets/css/elements/links--collapsible-side.css.map +1 -1
  128. package/assets/css/elements/links--global.css +1 -1
  129. package/assets/css/elements/links--global.css.map +1 -1
  130. package/assets/css/elements/links.css +1 -1
  131. package/assets/css/elements/links.css.map +1 -1
  132. package/assets/css/elements/lists--tick-list.css +1 -1
  133. package/assets/css/elements/lists--tick-list.css.map +1 -1
  134. package/assets/css/elements/modal.css +1 -1
  135. package/assets/css/elements/modal.css.map +1 -1
  136. package/assets/css/elements/popover.css +1 -1
  137. package/assets/css/elements/popover.css.map +1 -1
  138. package/assets/css/elements/prefix.css +1 -1
  139. package/assets/css/elements/prefix.css.map +1 -1
  140. package/assets/css/elements/select.css +1 -0
  141. package/assets/css/elements/select.css.map +1 -0
  142. package/assets/css/elements/tooltips.css +1 -1
  143. package/assets/css/elements/tooltips.css.map +1 -1
  144. package/assets/css/elements/type.css +1 -1
  145. package/assets/css/elements/type.css.map +1 -1
  146. package/assets/css/style.min.css +1 -1
  147. package/assets/css/style.min.css.map +1 -1
  148. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  149. package/assets/js/components/actionbar/actionbar.component.js +5 -3
  150. package/assets/js/components/actionbar/actionbar.component.min.js +10 -8
  151. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  152. package/assets/js/components/address-lookup/address-lookup.component.js +12 -6
  153. package/assets/js/components/address-lookup/address-lookup.component.min.js +9 -7
  154. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  155. package/assets/js/components/advanced-select/advanced-select.component.js +8 -17
  156. package/assets/js/components/advanced-select/advanced-select.component.min.js +7 -17
  157. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  158. package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
  159. package/assets/js/components/barchart/barchart.component.min.js +5 -5
  160. package/assets/js/components/bento-grid/bento-grid.component.min.js +2 -2
  161. package/assets/js/components/button/button.component.js +49 -0
  162. package/assets/js/components/button/button.component.min.js +13 -0
  163. package/assets/js/components/button/button.component.min.js.map +1 -0
  164. package/assets/js/components/calendar/calendar.component.min.js +5 -5
  165. package/assets/js/components/card/card.component.min.js +21 -19
  166. package/assets/js/components/card/card.component.min.js.map +1 -1
  167. package/assets/js/components/carousel/carousel.component.js +144 -52
  168. package/assets/js/components/carousel/carousel.component.min.js +15 -21
  169. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  170. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +3 -3
  171. package/assets/js/components/config/config.component.min.js +8 -8
  172. package/assets/js/components/content/content.component.js +21 -5
  173. package/assets/js/components/content/content.component.min.js +5 -7
  174. package/assets/js/components/content/content.component.min.js.map +1 -1
  175. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  176. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +7 -7
  177. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
  178. package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
  179. package/assets/js/components/filter-card/filter-card.component.min.js +20 -18
  180. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  181. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  182. package/assets/js/components/form/form.component.min.js +1 -1
  183. package/assets/js/components/header/header.component.min.js +2 -2
  184. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  185. package/assets/js/components/input/input.component.min.js +2 -2
  186. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  187. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  188. package/assets/js/components/menu/menu.component.js +1 -0
  189. package/assets/js/components/menu/menu.component.min.js +3 -3
  190. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  191. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  192. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  193. package/assets/js/components/modal/modal.component.min.js +4 -4
  194. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  195. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +4 -4
  196. package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
  197. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  198. package/assets/js/components/nav/nav.component.js +4 -3
  199. package/assets/js/components/nav/nav.component.min.js +6 -6
  200. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  201. package/assets/js/components/notification/notification.component.min.js +2 -2
  202. package/assets/js/components/pagination/pagination.component.min.js +4 -4
  203. package/assets/js/components/password/password.component.min.js +5 -5
  204. package/assets/js/components/popover/popover.component.min.js +4 -4
  205. package/assets/js/components/rank/rank.component.min.js +1 -1
  206. package/assets/js/components/rankings/rankings.component.min.js +3 -3
  207. package/assets/js/components/rating/rating.component.min.js +1 -1
  208. package/assets/js/components/record-card/record-card.component.min.js +18 -16
  209. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  210. package/assets/js/components/search/search.component.js +9 -13
  211. package/assets/js/components/search/search.component.min.js +9 -18
  212. package/assets/js/components/search/search.component.min.js.map +1 -1
  213. package/assets/js/components/slider/slider.component.min.js +3 -3
  214. package/assets/js/components/split-button/split-button.component.js +1 -1
  215. package/assets/js/components/split-button/split-button.component.min.js +6 -6
  216. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  217. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +11 -9
  218. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  219. package/assets/js/components/std-nav/std-nav.component.js +179 -0
  220. package/assets/js/components/std-nav/std-nav.component.min.js +66 -0
  221. package/assets/js/components/std-nav/std-nav.component.min.js.map +1 -0
  222. package/assets/js/components/std-nav-standalone/std-nav-standalone.component.js +60 -0
  223. package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js +20 -0
  224. package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js.map +1 -0
  225. package/assets/js/components/table/table.component.min.js +6 -6
  226. package/assets/js/components/table/table.component.min.js.map +1 -1
  227. package/assets/js/components/table-ajax/table-ajax.component.min.js +7 -7
  228. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  229. package/assets/js/components/table-basic/table-basic.component.min.js +2 -2
  230. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +4 -4
  231. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  232. package/assets/js/components/table-submit/table-submit.component.min.js +6 -6
  233. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  234. package/assets/js/components/tabs/tabs.component.min.js +4 -4
  235. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  236. package/assets/js/components/tag/tag.component.min.js +3 -3
  237. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  238. package/assets/js/components/video/video.component.min.js +5 -5
  239. package/assets/js/components/video-card/video-card.component.min.js +18 -16
  240. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  241. package/assets/js/components/video-modal/video-modal.component.min.js +2 -2
  242. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  243. package/assets/js/modules/advanced-select.js +30 -4
  244. package/assets/js/modules/card.module.js +16 -14
  245. package/assets/js/modules/carousel.js +11 -11
  246. package/assets/js/modules/nav.js +78 -0
  247. package/assets/js/modules/tabs.js +9 -1
  248. package/assets/js/scripts.bundle.js +1 -1
  249. package/assets/js/scripts.bundle.min.js +1 -1
  250. package/assets/sass/_corefiles.scss +1 -0
  251. package/assets/sass/_utilities.scss +1 -0
  252. package/assets/sass/components/actionbar.component.scss +15 -1
  253. package/assets/sass/components/address-lookup.component.scss +134 -2
  254. package/assets/sass/components/advanced-select.component.scss +59 -0
  255. package/assets/sass/components/bento-grid.global.scss +2 -2
  256. package/assets/sass/components/button.component.scss +5 -0
  257. package/assets/sass/components/calendar.component.scss +1 -1
  258. package/assets/sass/components/calendar.config.scss +1 -1
  259. package/assets/sass/components/card.component.scss +2 -2
  260. package/assets/sass/components/card.module.scss +8 -3
  261. package/assets/sass/components/carousel.component.scss +522 -519
  262. package/assets/sass/components/carousel.config.scss +4 -44
  263. package/assets/sass/components/charts.config.scss +1 -1
  264. package/assets/sass/components/config.component.scss +1 -1
  265. package/assets/sass/components/filter-card.component.scss +5 -5
  266. package/assets/sass/components/header.component.scss +1 -1
  267. package/assets/sass/components/menu.component.scss +21 -16
  268. package/assets/sass/components/menu.global.scss +7 -11
  269. package/assets/sass/components/milestone.scss +2 -2
  270. package/assets/sass/components/modal.component.scss +1 -0
  271. package/assets/sass/components/multiselect.scss +8 -0
  272. package/assets/sass/components/nav.component.scss +21 -10
  273. package/assets/sass/components/nav.docs.scss +1 -2
  274. package/assets/sass/components/nav.global.scss +174 -45
  275. package/assets/sass/components/pagination.scss +2 -2
  276. package/assets/sass/components/popover.component.scss +37 -2
  277. package/assets/sass/components/search.component.scss +2 -0
  278. package/assets/sass/components/split-button.component.scss +3 -1
  279. package/assets/sass/components/std-nav-standalone.component.scss +228 -0
  280. package/assets/sass/components/table-basic.global.scss +3 -3
  281. package/assets/sass/components/table.global.scss +1 -1
  282. package/assets/sass/components/tabs.config.scss +2 -2
  283. package/assets/sass/components/video.component.scss +1 -1
  284. package/assets/sass/elements/badge-tag.css +6 -2
  285. package/assets/sass/elements/buttons--global.css +4 -4
  286. package/assets/sass/elements/buttons--special.css +2 -53
  287. package/assets/sass/elements/container.scss +1 -1
  288. package/assets/sass/elements/details.css +3 -3
  289. package/assets/sass/elements/dialog.scss +9 -5
  290. package/assets/sass/elements/dropdown.css +188 -44
  291. package/assets/sass/elements/forms.scss +36 -522
  292. package/assets/sass/elements/input.scss +0 -7
  293. package/assets/sass/elements/links--collapsible-side.scss +1 -1
  294. package/assets/sass/elements/links--global.scss +5 -1
  295. package/assets/sass/elements/lists--tick-list.scss +2 -2
  296. package/assets/sass/elements/modal.scss +1 -1
  297. package/assets/sass/elements/popover.scss +1 -1
  298. package/assets/sass/elements/prefix.scss +1 -1
  299. package/assets/sass/elements/select.scss +238 -0
  300. package/assets/sass/elements/tooltips.scss +1 -1
  301. package/assets/sass/elements/type.css +10 -0
  302. package/assets/sass/email.scss +1 -1
  303. package/assets/sass/error.scss +0 -1
  304. package/assets/sass/foundations/colours.scss +0 -1
  305. package/assets/sass/foundations/debug.scss +6 -0
  306. package/assets/sass/foundations/reboot.scss +81 -1
  307. package/assets/sass/foundations/root.scss +20 -2
  308. package/assets/sass/main.scss +0 -1
  309. package/assets/sass/{_grid.scss → utilities/grid.scss} +120 -80
  310. package/assets/ts/components/actionbar/actionbar.component.ts +5 -3
  311. package/assets/ts/components/address-lookup/address-lookup.component.ts +18 -6
  312. package/assets/ts/components/advanced-select/advanced-select.component.ts +12 -17
  313. package/assets/ts/components/button/button.component.ts +66 -0
  314. package/assets/ts/components/carousel/carousel.component.ts +189 -58
  315. package/assets/ts/components/content/content.component.ts +33 -5
  316. package/assets/ts/components/menu/menu.component.ts +4 -0
  317. package/assets/ts/components/nav/nav.component.ts +5 -7
  318. package/assets/ts/components/search/search.component.ts +14 -13
  319. package/assets/ts/components/split-button/split-button.component.ts +1 -1
  320. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +0 -1
  321. package/assets/ts/components/std-nav/std-nav.component.ts +235 -0
  322. package/assets/ts/components/std-nav-standalone/std-nav-standalone.component.ts +76 -0
  323. package/assets/ts/modules/advanced-select.ts +47 -7
  324. package/assets/ts/modules/card.module.ts +16 -14
  325. package/assets/ts/modules/carousel.ts +11 -11
  326. package/assets/ts/modules/nav.ts +91 -0
  327. package/assets/ts/modules/tabs.ts +10 -1
  328. package/dist/components.es.js +27 -27
  329. package/dist/components.umd.js +343 -272
  330. package/package.json +11 -10
  331. package/src/components/Button/Button.vue +20 -0
  332. package/src/components/STDNav/STDNav.vue +22 -0
  333. package/src/components/STDNavStandalone/STDNavStandalone.vue +22 -0
  334. package/assets/bootstrap/LICENSE +0 -22
  335. package/assets/bootstrap/README.md +0 -247
  336. package/assets/bootstrap/js/index.esm.js +0 -19
  337. package/assets/bootstrap/js/index.umd.js +0 -34
  338. package/assets/bootstrap/js/src/alert.js +0 -87
  339. package/assets/bootstrap/js/src/base-component.js +0 -85
  340. package/assets/bootstrap/js/src/button.js +0 -72
  341. package/assets/bootstrap/js/src/carousel.js +0 -475
  342. package/assets/bootstrap/js/src/collapse.js +0 -302
  343. package/assets/bootstrap/js/src/dom/data.js +0 -55
  344. package/assets/bootstrap/js/src/dom/event-handler.js +0 -320
  345. package/assets/bootstrap/js/src/dom/manipulator.js +0 -71
  346. package/assets/bootstrap/js/src/dom/selector-engine.js +0 -83
  347. package/assets/bootstrap/js/src/dropdown.js +0 -445
  348. package/assets/bootstrap/js/src/modal.js +0 -373
  349. package/assets/bootstrap/js/src/offcanvas.js +0 -283
  350. package/assets/bootstrap/js/src/popover.js +0 -97
  351. package/assets/bootstrap/js/src/scrollspy.js +0 -290
  352. package/assets/bootstrap/js/src/tab.js +0 -307
  353. package/assets/bootstrap/js/src/toast.js +0 -220
  354. package/assets/bootstrap/js/src/tooltip.js +0 -651
  355. package/assets/bootstrap/js/src/util/backdrop.js +0 -149
  356. package/assets/bootstrap/js/src/util/component-functions.js +0 -34
  357. package/assets/bootstrap/js/src/util/config.js +0 -66
  358. package/assets/bootstrap/js/src/util/focustrap.js +0 -115
  359. package/assets/bootstrap/js/src/util/index.js +0 -336
  360. package/assets/bootstrap/js/src/util/sanitizer.js +0 -118
  361. package/assets/bootstrap/js/src/util/scrollbar.js +0 -114
  362. package/assets/bootstrap/js/src/util/swipe.js +0 -146
  363. package/assets/bootstrap/js/src/util/template-factory.js +0 -160
  364. package/assets/bootstrap/package.json +0 -180
  365. package/assets/bootstrap/scss/_accordion.scss +0 -146
  366. package/assets/bootstrap/scss/_alert.scss +0 -71
  367. package/assets/bootstrap/scss/_badge.scss +0 -38
  368. package/assets/bootstrap/scss/_breadcrumb.scss +0 -40
  369. package/assets/bootstrap/scss/_button-group.scss +0 -142
  370. package/assets/bootstrap/scss/_buttons.scss +0 -186
  371. package/assets/bootstrap/scss/_card.scss +0 -234
  372. package/assets/bootstrap/scss/_carousel.scss +0 -229
  373. package/assets/bootstrap/scss/_close.scss +0 -40
  374. package/assets/bootstrap/scss/_containers.scss +0 -41
  375. package/assets/bootstrap/scss/_dropdown.scss +0 -248
  376. package/assets/bootstrap/scss/_forms.scss +0 -9
  377. package/assets/bootstrap/scss/_functions.scss +0 -302
  378. package/assets/bootstrap/scss/_grid.scss +0 -33
  379. package/assets/bootstrap/scss/_helpers.scss +0 -10
  380. package/assets/bootstrap/scss/_images.scss +0 -42
  381. package/assets/bootstrap/scss/_list-group.scss +0 -191
  382. package/assets/bootstrap/scss/_maps.scss +0 -54
  383. package/assets/bootstrap/scss/_mixins.scss +0 -43
  384. package/assets/bootstrap/scss/_modal.scss +0 -237
  385. package/assets/bootstrap/scss/_nav.scss +0 -172
  386. package/assets/bootstrap/scss/_navbar.scss +0 -276
  387. package/assets/bootstrap/scss/_offcanvas.scss +0 -143
  388. package/assets/bootstrap/scss/_pagination.scss +0 -109
  389. package/assets/bootstrap/scss/_placeholders.scss +0 -51
  390. package/assets/bootstrap/scss/_popover.scss +0 -196
  391. package/assets/bootstrap/scss/_progress.scss +0 -59
  392. package/assets/bootstrap/scss/_reboot.scss +0 -610
  393. package/assets/bootstrap/scss/_root.scss +0 -73
  394. package/assets/bootstrap/scss/_spinners.scss +0 -85
  395. package/assets/bootstrap/scss/_tables.scss +0 -164
  396. package/assets/bootstrap/scss/_toasts.scss +0 -70
  397. package/assets/bootstrap/scss/_tooltip.scss +0 -120
  398. package/assets/bootstrap/scss/_transitions.scss +0 -27
  399. package/assets/bootstrap/scss/_type.scss +0 -106
  400. package/assets/bootstrap/scss/_utilities.scss +0 -647
  401. package/assets/bootstrap/scss/_variables-dark.scss +0 -87
  402. package/assets/bootstrap/scss/_variables.scss +0 -1633
  403. package/assets/bootstrap/scss/bootstrap-grid.scss +0 -64
  404. package/assets/bootstrap/scss/bootstrap-reboot.scss +0 -9
  405. package/assets/bootstrap/scss/bootstrap-utilities.scss +0 -15
  406. package/assets/bootstrap/scss/bootstrap.scss +0 -51
  407. package/assets/bootstrap/scss/forms/_floating-labels.scss +0 -74
  408. package/assets/bootstrap/scss/forms/_form-check.scss +0 -175
  409. package/assets/bootstrap/scss/forms/_form-control.scss +0 -194
  410. package/assets/bootstrap/scss/forms/_form-range.scss +0 -91
  411. package/assets/bootstrap/scss/forms/_form-select.scss +0 -71
  412. package/assets/bootstrap/scss/forms/_form-text.scss +0 -11
  413. package/assets/bootstrap/scss/forms/_input-group.scss +0 -129
  414. package/assets/bootstrap/scss/forms/_labels.scss +0 -36
  415. package/assets/bootstrap/scss/forms/_validation.scss +0 -12
  416. package/assets/bootstrap/scss/helpers/_clearfix.scss +0 -3
  417. package/assets/bootstrap/scss/helpers/_color-bg.scss +0 -10
  418. package/assets/bootstrap/scss/helpers/_colored-links.scss +0 -12
  419. package/assets/bootstrap/scss/helpers/_focus-ring.scss +0 -5
  420. package/assets/bootstrap/scss/helpers/_icon-link.scss +0 -25
  421. package/assets/bootstrap/scss/helpers/_position.scss +0 -36
  422. package/assets/bootstrap/scss/helpers/_ratio.scss +0 -26
  423. package/assets/bootstrap/scss/helpers/_stacks.scss +0 -15
  424. package/assets/bootstrap/scss/helpers/_stretched-link.scss +0 -15
  425. package/assets/bootstrap/scss/helpers/_text-truncation.scss +0 -7
  426. package/assets/bootstrap/scss/helpers/_visually-hidden.scss +0 -8
  427. package/assets/bootstrap/scss/helpers/_vr.scss +0 -8
  428. package/assets/bootstrap/scss/mixins/_alert.scss +0 -15
  429. package/assets/bootstrap/scss/mixins/_backdrop.scss +0 -14
  430. package/assets/bootstrap/scss/mixins/_banner.scss +0 -9
  431. package/assets/bootstrap/scss/mixins/_border-radius.scss +0 -78
  432. package/assets/bootstrap/scss/mixins/_box-shadow.scss +0 -18
  433. package/assets/bootstrap/scss/mixins/_breakpoints.scss +0 -127
  434. package/assets/bootstrap/scss/mixins/_buttons.scss +0 -70
  435. package/assets/bootstrap/scss/mixins/_caret.scss +0 -64
  436. package/assets/bootstrap/scss/mixins/_clearfix.scss +0 -9
  437. package/assets/bootstrap/scss/mixins/_color-mode.scss +0 -21
  438. package/assets/bootstrap/scss/mixins/_color-scheme.scss +0 -7
  439. package/assets/bootstrap/scss/mixins/_container.scss +0 -11
  440. package/assets/bootstrap/scss/mixins/_deprecate.scss +0 -10
  441. package/assets/bootstrap/scss/mixins/_forms.scss +0 -152
  442. package/assets/bootstrap/scss/mixins/_gradients.scss +0 -47
  443. package/assets/bootstrap/scss/mixins/_grid.scss +0 -151
  444. package/assets/bootstrap/scss/mixins/_image.scss +0 -16
  445. package/assets/bootstrap/scss/mixins/_list-group.scss +0 -24
  446. package/assets/bootstrap/scss/mixins/_lists.scss +0 -7
  447. package/assets/bootstrap/scss/mixins/_pagination.scss +0 -10
  448. package/assets/bootstrap/scss/mixins/_reset-text.scss +0 -17
  449. package/assets/bootstrap/scss/mixins/_resize.scss +0 -6
  450. package/assets/bootstrap/scss/mixins/_table-variants.scss +0 -24
  451. package/assets/bootstrap/scss/mixins/_text-truncate.scss +0 -8
  452. package/assets/bootstrap/scss/mixins/_transition.scss +0 -26
  453. package/assets/bootstrap/scss/mixins/_utilities.scss +0 -97
  454. package/assets/bootstrap/scss/mixins/_visually-hidden.scss +0 -29
  455. package/assets/bootstrap/scss/utilities/_api.scss +0 -47
  456. package/assets/bootstrap/scss/vendor/_rfs.scss +0 -354
  457. package/assets/favicons/README.md +0 -21
  458. package/assets/ts/README.md +0 -12
  459. package/assets/ts/components/actionbar/README.md +0 -56
  460. package/assets/ts/components/applied-filters/README.md +0 -20
  461. package/assets/ts/components/bento-grid/README.md +0 -31
  462. package/assets/ts/components/carousel/README.md +0 -38
  463. package/assets/ts/components/chart/README.md +0 -35
  464. package/assets/ts/components/collapsible-side/README.md +0 -38
  465. package/assets/ts/components/filterlist/README.md +0 -32
  466. package/assets/ts/components/header/README.md +0 -38
  467. package/assets/ts/components/inline-edit/README.md +0 -31
  468. package/assets/ts/components/multiselect/README.md +0 -35
  469. package/assets/ts/components/nav/README.md +0 -57
  470. package/assets/ts/components/notification/README.md +0 -47
  471. package/assets/ts/components/pagination/README.md +0 -37
  472. package/assets/ts/components/search/README.md +0 -35
  473. package/assets/ts/components/slider/README.md +0 -26
  474. package/assets/ts/components/table/README.md +0 -40
  475. package/assets/ts/components/table-basic/README.md +0 -40
  476. package/assets/ts/components/tabs/README.md +0 -34
  477. package/src/components/Accordion/README.md +0 -31
  478. package/src/components/Actionbar/README.md +0 -41
  479. package/src/components/AppliedFilters/README.md +0 -5
  480. package/src/components/Banner/README.md +0 -22
  481. package/src/components/Card/README.md +0 -24
  482. package/src/components/Carousel/README.md +0 -20
  483. package/src/components/Chart/README.md +0 -17
  484. package/src/components/CollapsibleSideMenu/README.md +0 -23
  485. package/src/components/FileUpload/README.md +0 -13
  486. package/src/components/Filterlist/README.md +0 -17
  487. package/src/components/Header/README.md +0 -27
  488. package/src/components/InlineEdit/README.md +0 -7
  489. package/src/components/Input/README.md +0 -17
  490. package/src/components/Marketing/README.md +0 -20
  491. package/src/components/Multiselect/README.md +0 -12
  492. package/src/components/Nav/README.md +0 -42
  493. package/src/components/Nav-old/README.md +0 -22
  494. package/src/components/NoteFeed/README.md +0 -16
  495. package/src/components/Notification/README.md +0 -32
  496. package/src/components/Pagination/README.md +0 -22
  497. package/src/components/PropertySearchbar/README.md +0 -25
  498. package/src/components/Search/README.md +0 -11
  499. package/src/components/Slider/README.md +0 -11
  500. package/src/components/Snapshot/README.md +0 -20
  501. package/src/components/SplitButton/README.md +0 -19
  502. package/src/components/Stepper/README.md +0 -32
  503. package/src/components/Table/README.md +0 -49
  504. package/src/components/Tabs/README.md +0 -29
  505. package/src/components/Testimonial/README.md +0 -25
  506. package/src/components/Timeline/README.md +0 -18
  507. package/src/foundations/Logo/README.md +0 -21
@@ -106,8 +106,10 @@ class iamActionbar extends HTMLElement {
106
106
  <div class="search-wrapper" part="search">
107
107
  <label for="search" class="visually-hidden">Input field label</label>
108
108
  <button class="suffix" part="search-btn"><i class="fa-regular fa-search"></i></button>
109
- <input type="text" id="search" name="search" required="" part="search-input">
110
- <button class="empty btn btn-action"><i class="fa-light fa-times me-0" aria-hidden="true"></i></button>
109
+ <span class="input__wrapper mt-0">
110
+ <input type="text" id="search" name="search" required="" part="search-input">
111
+ <button class="clear-search btn btn-action"><i class="fa-light fa-times me-0" aria-hidden="true"></i></button>
112
+ </span>
111
113
  </div>
112
114
 
113
115
  </div>
@@ -282,7 +284,7 @@ class iamActionbar extends HTMLElement {
282
284
  }
283
285
  });
284
286
 
285
- const clearBtn = searchBar.querySelector('.empty');
287
+ const clearBtn = searchBar.querySelector('.clear-search');
286
288
  const searchInput = searchBar.querySelector('#search');
287
289
 
288
290
  clearBtn.addEventListener('click', function (e) {
@@ -46,15 +46,17 @@ class iamAddressLookup extends HTMLElement {
46
46
  <div>
47
47
  <label class="mb-1"><span class="title text-lowercase"></span>
48
48
  <span>
49
- <input type="text" name="postcode" class="${this.hasAttribute('data-input-class') ? this.getAttribute('data-input-class') : ''}" list="address-lookup__addressess" autocomplete="one-time-code" aria-autocomplete="none" placeholder="${this?.hasAttribute('data-placeholder') ? this?.getAttribute('data-placeholder') : 'Postcode'}" value="${this.hasAttribute('data-postcode-value') ? this.getAttribute('data-postcode-value') : ''}" part="input" />
49
+ <span class="input__wrapper">
50
+ <input type="text" name="postcode" class="${this.hasAttribute('data-input-class') ? this.getAttribute('data-input-class') : ''}" list="address-lookup__addressess" autocomplete="one-time-code" aria-autocomplete="none" placeholder="${this?.hasAttribute('data-placeholder') ? this?.getAttribute('data-placeholder') : 'Postcode'}" value="${this.hasAttribute('data-postcode-value') ? this.getAttribute('data-postcode-value') : ''}" part="input" />
51
+ </span>
50
52
  <button id="postcode__submit" class="suffix fa-regular fa-search" part="suffix"></button>
51
53
  </span>
52
54
  </label>
53
55
  <span class="invalid-feedback mb-2" id="invalid-feedback-address-lookup">${this.hasAttribute('data-error-msg') ? this.getAttribute('data-error-msg') : 'Required address fields'}</span>
54
56
 
55
- <div class="datalist__wrapper ${this.hasAttribute('data-list-class') ? this.getAttribute('data-list-class') : ''}" tabindex="0" part="list-wrapper">
57
+ <div class="datalist__wrapper dropdown ${this.hasAttribute('data-list-class') ? this.getAttribute('data-list-class') : ''}" tabindex="0" part="list-wrapper">
56
58
  <slot name="beforeList"></slot>
57
- <slot name="preloadedList"></slot>
59
+
58
60
  <datalist id="address-lookup__addressess" class=""></datalist>
59
61
  <div id="paginationWrapper"></div>
60
62
  <slot name="afterList"></slot>
@@ -89,13 +91,15 @@ class iamAddressLookup extends HTMLElement {
89
91
  }
90
92
 
91
93
  async connectedCallback(): void {
94
+
95
+ // Make the datalist a dropdown
96
+ this.classList.add('dropdown__wrapper');
97
+
92
98
  const lookup = this.shadowRoot.querySelector('[name="postcode"]');
93
99
  const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');
94
100
  const manualWrapper = this.shadowRoot.querySelector('.manual-address');
95
101
  const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');
96
- const list = this.querySelector('datalist[slot="preloadedList"]')
97
- ? this.querySelector('datalist[slot="preloadedList"]')
98
- : this.shadowRoot.querySelector('.datalist__wrapper datalist');
102
+ const list = this.shadowRoot.querySelector('datalist');
99
103
  const listWrapper = this.shadowRoot.querySelector('.datalist__wrapper');
100
104
  const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');
101
105
  const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');
@@ -121,6 +125,14 @@ class iamAddressLookup extends HTMLElement {
121
125
  titleElement.innerHTML = title;
122
126
  });
123
127
 
128
+
129
+ // preload datalis
130
+
131
+ if(this.querySelector('datalist')){
132
+ list.innerHTML = this.querySelector('datalist').innerHTML;
133
+ }
134
+
135
+
124
136
  // #region functions
125
137
  function checkFilled(component): void {
126
138
  const preFilledAddress = component.shadowRoot.querySelector('.pre-filled-address');
@@ -16,34 +16,26 @@ class iamAdvancedSelect extends HTMLElement {
16
16
  const assetLocation = document.body.hasAttribute('data-assets-location')
17
17
  ? document.body.getAttribute('data-assets-location')
18
18
  : '/assets';
19
- const coreCSS = document.body.hasAttribute('data-core-css')
20
- ? document.body.getAttribute('data-core-css')
21
- : `${assetLocation}/css/core.min.css`;
19
+
20
+ const loadCSS = `@import "${assetLocation}/css/components/advanced-select.component.css";`;
22
21
 
23
22
  const template = document.createElement('template');
24
23
  template.innerHTML = `
25
24
  <style>
26
- @import "${coreCSS}";
27
- input {
28
- background: red;
29
- }
30
- input:not(.is-invalid):not(:invalid) {
31
- background: none!important;
32
- }
33
- .optional-text {
34
- display: none;
35
- }
36
- .js-hide {
37
- display: none !important;
38
- }
25
+ ${loadCSS}
39
26
  </style>
40
27
  <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
41
- <slot></slot>
28
+ <span class="wrapper"><span class="input__wrapper"><slot></slot></span><span class="suffix fa-regular fa-chevron-down"></span></span>
29
+ <slot name="datalist"></slot>
42
30
  `;
43
31
  this.shadowRoot.appendChild(template.content.cloneNode(true));
44
32
  }
45
33
 
46
34
  connectedCallback(): void {
35
+
36
+ // Make the datalist a dropdown
37
+ this.classList.add('dropdown__wrapper');
38
+
47
39
  // Clone original input field, re-name and use for display purposes
48
40
  const inputField = this.querySelector('input') as HTMLInputElement | null;
49
41
  if (!inputField) return;
@@ -55,6 +47,9 @@ class iamAdvancedSelect extends HTMLElement {
55
47
  inputField.removeAttribute('data-change-events');
56
48
  displayInputField.removeAttribute('id');
57
49
 
50
+ if(this.querySelector('label'))
51
+ this.classList.add('has-label');
52
+
58
53
  let datalist = this.querySelector('datalist') as HTMLDataListElement | null;
59
54
 
60
55
  inputField.after(displayInputField);
@@ -0,0 +1,66 @@
1
+ // Data layer Web component created
2
+ declare global {
3
+ interface Window {
4
+ dataLayer: Array<object>;
5
+ }
6
+ }
7
+ window.dataLayer = window.dataLayer || [];
8
+ window.dataLayer.push({
9
+ event: 'customElementRegistered',
10
+ element: 'button',
11
+ });
12
+
13
+ class iamButton extends HTMLElement {
14
+ constructor() {
15
+ super();
16
+ this.attachShadow({ mode: 'open' });
17
+
18
+ const assetLocation = document.body.hasAttribute('data-assets-location')
19
+ ? document.body.getAttribute('data-assets-location')
20
+ : '/assets';
21
+ const loadCSS = `@import "${assetLocation}/css/components/button.component.css";`;
22
+
23
+ const template = document.createElement('template');
24
+ template.innerHTML = `
25
+ <style>
26
+ ${loadCSS}
27
+ </style>
28
+ <div class="wrapper">
29
+ <slot></slot>
30
+ </div>
31
+ `;
32
+ this.shadowRoot?.appendChild(template.content.cloneNode(true));
33
+ }
34
+
35
+ connectedCallback(): void {
36
+
37
+ const button = this.querySelector('button');
38
+ let originalHTML = '';
39
+
40
+ if(!button)
41
+ return false;
42
+
43
+ button?.addEventListener('click', (event) => {
44
+
45
+ if(this.hasAttribute('data-copy-text')){
46
+ navigator.clipboard.writeText(this.getAttribute('data-copy-text'));
47
+
48
+ originalHTML = button.innerHTML;
49
+ button.innerHTML = originalHTML.toLowerCase().includes('copy') ? originalHTML.replace('Copy','Copied').replace('copy','copied') : 'Copied';
50
+ button.classList.add('pressed');
51
+ button.classList.add('active');
52
+ button.blur();
53
+
54
+ setTimeout(() => {
55
+ button.innerHTML = originalHTML;
56
+ originalHTML = '';
57
+ button.classList.remove('pressed');
58
+ button.classList.remove('active');
59
+ }, 1500);
60
+ }
61
+ });
62
+
63
+ }
64
+ }
65
+
66
+ export default iamButton;
@@ -1,4 +1,3 @@
1
- import { generateThumbnailList, generatePipsHTML, carousel, updateCarousel } from '../../modules/carousel';
2
1
  import { trackComponent, trackComponentRegistered } from '../_global';
3
2
 
4
3
  trackComponentRegistered('iam-carousel');
@@ -20,86 +19,218 @@ class iamCarousel extends HTMLElement {
20
19
  ${loadCSS}
21
20
  ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
22
21
  </style>
23
- <div class="carousel" part="carousel">
24
- <div class="carousel__wrapper">
25
- <div class="carousel__inner">
26
- <div class="carousel__content" part="content">
27
- <slot></slot>
28
- </div>
29
- </div>
22
+ <div class="carousel-wrapper">
23
+ <div class="carousel" part="carousel">
24
+ <slot></slot>
30
25
  </div>
31
- <div class="carousel__btns" part="btns">
32
- <button class="btn btn-secondary btn-compact fa-plus-large btn-prev" data-go="0" disabled part="prev">
33
- Prev
34
- </button>
35
- <button class="btn btn-secondary btn-compact fa-plus-large btn-next" data-go="2" part="next">Next</button>
26
+ <div class="carousel__controls"></div>
27
+ <div id="carousel__progress" class="carousel__progress">
28
+ <input type="range" min="0" max="100" value="0" step="1" />
36
29
  </div>
37
-
38
- <div class="carousel__controls" part="controls"></div>
39
-
40
- <div class="carousel__progress" part="progress">
41
- <input type="range" min="0" max="100" value="1" step="1" />
30
+ <div id="carousel__progress-sm" class="carousel__progress">
31
+ <input type="range" min="0" max="100" value="0" step="1" />
32
+ </div>
33
+ <div id="carousel__progress-md" class="carousel__progress">
34
+ <input type="range" min="0" max="100" value="0" step="1" />
42
35
  </div>
43
36
  </div>
44
37
  `;
45
38
  this.shadowRoot.appendChild(template.content.cloneNode(true));
46
39
  }
47
40
 
48
- connectedCallback(): void {
49
- // eslint-disable-next-line @typescript-eslint/no-this-alias
50
- const carouselComponent = this;
51
- //const carouselElement = this.shadowRoot.querySelector('.carousel');
52
- //const row = this.shadowRoot.querySelector('.row');
41
+ generateThumbnailList = (carouselComponent): any => {
42
+ const thumbnailImages = [];
53
43
 
54
- let thumbnailImages = [];
44
+ Array.from(carouselComponent.querySelectorAll(':scope > :is(div,iam-card)')).forEach((slide, index) => {
45
+ if (slide.hasAttribute('data-thumbnail')) {
46
+ thumbnailImages[index] = slide.getAttribute('data-thumbnail');
47
+ }
48
+ });
55
49
 
56
- const carouselControls = this.shadowRoot.querySelector('.carousel__controls');
50
+ return thumbnailImages;
51
+ };
52
+
53
+ generatePipsHTML = (carouselComponent, thumbnailImages): string => {
54
+ const itemCount = carouselComponent.querySelectorAll(':scope > :is(div,iam-card)').length;
55
+
56
+ let pips = '';
57
+ for (let i = 1; i <= itemCount; i++) {
58
+ let pipContent = null;
59
+ let pipClass = '';
60
+
61
+ if (thumbnailImages.length && thumbnailImages[i - 1]) {
62
+ pipClass = 'has-thumbnail';
63
+ pipContent = `<img src="${thumbnailImages[i - 1]}" alt="Slide ${i}" height="148"/>`;
64
+ } else {
65
+ pipContent = `Slide ${i}`;
66
+ }
67
+
68
+ pips += `<button class="control-${i} ${pipClass}" data-slide="${i}" ${i == 1 ? 'aria-current' : ''}>${pipContent}</button>`;
69
+ }
70
+
71
+ return pips;
72
+ };
73
+
74
+ progressPercent = (value, total):string => {
75
+
76
+ return ((value) / (total)) * 100 + '%'
77
+ }
57
78
 
58
- if (carouselComponent.querySelector('[data-thumbnail]')) {
59
- thumbnailImages = generateThumbnailList(carouselComponent);
60
- carouselComponent.classList.add('thumbnails');
79
+ connectedCallback(): void {
80
+
81
+ const carouselElement = this.shadowRoot?.querySelector('.carousel');
82
+ const carouselProgress = this.shadowRoot.querySelector('#carousel__progress [type="range"]');
83
+ const carouselProgressSM = this.shadowRoot.querySelector('#carousel__progress-sm [type="range"]');
84
+ const carouselProgressMD = this.shadowRoot.querySelector('#carousel__progress-md [type="range"]');
85
+ const itemCount = this.querySelectorAll(':scope > *').length;
86
+
87
+ const progressPercent = this.progressPercent;
88
+
89
+ let stepperInterval,
90
+ stepperEvent = 'mouseup',
91
+ stepperStart = 'mousedown';
92
+
93
+ if ('ontouchstart' in document.documentElement) {
94
+ stepperEvent = 'touchend';
95
+ stepperStart = 'touchstart';
61
96
  }
62
97
 
63
- // populate the pips
64
- carouselControls.innerHTML = generatePipsHTML(carouselComponent, thumbnailImages);
65
-
66
- Array.from(
67
- carouselComponent.querySelectorAll(
68
- ':scope > div > img:first-child:last-child, :scope > div > picture:first-child:last-child img'
69
- )
70
- ).forEach((image) => {
71
- image.style.inset = '0 0.5rem 0 0.5rem';
72
- image.style.position = 'absolute';
73
- image.style.width = 'calc(100% - 1rem)';
74
- image.style.height = '100%';
75
- image.style['object-fit'] = 'cover';
76
-
77
- image.closest('div').classList.add('image__wrapper');
98
+ carouselElement?.innerHTML = this.innerHTML;
99
+ carouselElement?.setAttribute('data-smcols',this.getAttribute('data-smcols'));
100
+ carouselElement?.setAttribute('data-mdcols',this.getAttribute('data-mdcols'));
101
+
102
+ carouselProgress.setAttribute('max', itemCount);
103
+ carouselProgress.style.setProperty('--percent', progressPercent(carouselProgress.value, itemCount));
104
+
105
+ carouselProgress.addEventListener(stepperStart, () => {
106
+ clearInterval(stepperInterval);
107
+ stepperInterval = setInterval(function () {
108
+
109
+ carouselProgress.style.setProperty('--percent', progressPercent(carouselProgress.value, itemCount));
110
+ }, 10);
111
+ });
112
+
113
+ carouselProgress.addEventListener(stepperEvent, function () {
114
+ clearInterval(stepperInterval);
78
115
  });
79
116
 
80
- carousel(carouselComponent);
117
+ carouselProgress.addEventListener('change', () => {
81
118
 
82
- const observer = new MutationObserver(function (mutations) {
83
- mutations.forEach(function (mutationRecord) {
84
- const targetElement = mutationRecord.target as HTMLElement;
119
+ clearInterval(stepperInterval);
120
+ carouselProgress.style.setProperty('--percent', progressPercent(carouselProgress.value, itemCount));
121
+ const scrollTo = Math.floor((carouselElement.scrollWidth / itemCount) * (carouselProgress.value-1));
85
122
 
86
- updateCarousel(targetElement);
123
+ carouselElement.scrollTo({
124
+ top: 0,
125
+ left: scrollTo,
126
+ behavior: 'smooth',
87
127
  });
88
128
  });
89
129
 
90
- observer.observe(carouselComponent, {
91
- attributes: false,
92
- childList: true,
93
- subtree: true,
130
+
131
+ // SM Progress bar
132
+
133
+ const smStep = this.getAttribute('data-smcols') ? this.getAttribute('data-smcols') : 1;
134
+ const smItemCount = Math.floor(itemCount / smStep) * smStep;
135
+
136
+ carouselProgressSM.setAttribute('max', smItemCount);
137
+ carouselProgressSM.setAttribute('step', smStep);
138
+
139
+ carouselProgressSM.style.setProperty('--percent', progressPercent(carouselProgressSM.value, smItemCount));
140
+
141
+ carouselProgressSM.addEventListener(stepperStart, () => {
142
+ clearInterval(stepperInterval);
143
+ stepperInterval = setInterval(function () {
144
+ carouselProgressSM.style.setProperty('--percent', progressPercent(carouselProgressSM.value, smItemCount));
145
+ });
94
146
  });
95
147
 
148
+ carouselProgressSM.addEventListener(stepperEvent, function () {
149
+ clearInterval(stepperInterval);
150
+ });
151
+
152
+ carouselProgressSM.addEventListener('change', () => {
153
+
154
+ clearInterval(stepperInterval);
155
+
156
+ carouselProgressSM.style.setProperty('--percent', progressPercent(carouselProgressSM.value, smItemCount));
157
+ const scrollTo = Math.floor((carouselElement.scrollWidth / smItemCount) * carouselProgressSM.value);
158
+
159
+ console.log(carouselProgressSM.value);
160
+
161
+ carouselElement.scrollTo({
162
+ top: 0,
163
+ left: scrollTo,
164
+ behavior: 'smooth',
165
+ });
166
+ });
167
+
168
+ // MD Progress bar
169
+
170
+ const mdStep = this.getAttribute('data-smcols') ? this.getAttribute('data-smcols') : 1;
171
+ const mdItemCount = Math.floor(itemCount / mdStep) * mdStep;
172
+
173
+ carouselProgressMD.setAttribute('max', mdItemCount);
174
+ carouselProgressMD.setAttribute('step', mdStep);
175
+
176
+ carouselProgressMD.style.setProperty('--percent', progressPercent(carouselProgressMD.value, mdItemCount));
177
+
178
+ carouselProgressMD.addEventListener(stepperStart, () => {
179
+ clearInterval(stepperInterval);
180
+ stepperInterval = setInterval(function () {
181
+ carouselProgressMD.style.setProperty('--percent', progressPercent(carouselProgressMD.value, mdItemCount));
182
+ });
183
+ });
184
+
185
+ carouselProgressMD.addEventListener(stepperEvent, function () {
186
+ clearInterval(stepperInterval);
187
+ });
188
+
189
+ carouselProgressMD.addEventListener('change', () => {
190
+
191
+ clearInterval(stepperInterval);
192
+
193
+ carouselProgressMD.style.setProperty('--percent', progressPercent(carouselProgressMD.value, mdItemCount));
194
+ const scrollTo = Math.floor((carouselElement.scrollWidth / mdItemCount) * carouselProgressMD.value);
195
+
196
+ console.log(carouselProgressMD.value);
197
+
198
+ carouselElement.scrollTo({
199
+ top: 0,
200
+ left: scrollTo,
201
+ behavior: 'smooth',
202
+ });
203
+ });
204
+
205
+
206
+ // Thumbnails
207
+ const carouselControls = this.shadowRoot.querySelector('.carousel__controls');
208
+
209
+ if (carouselElement.querySelector('[data-thumbnail]')) {
210
+ const thumbnailImages = this.generateThumbnailList(carouselElement);
211
+ carouselElement.classList.add('thumbnails');
212
+ carouselControls.innerHTML = this.generatePipsHTML(carouselElement, thumbnailImages);
213
+ }
214
+
215
+ carouselControls.addEventListener('click', (event) => {
216
+
217
+ carouselControls?.querySelector('[aria-current]')?.removeAttribute('aria-current');
218
+ if(event.target.closest('button[data-slide]')){
219
+
220
+
221
+ event.target.closest('button[data-slide]').setAttribute('aria-current','true');
222
+
223
+ const scrollTo = Math.floor((carouselElement.scrollWidth / itemCount) * event.target.closest('button[data-slide]').getAttribute('data-slide'));
224
+
225
+ carouselElement.scrollTo({
226
+ top: 0,
227
+ left: scrollTo,
228
+ behavior: 'smooth',
229
+ });
230
+ }
231
+
232
+ });
96
233
 
97
- trackComponent(carouselComponent, 'iam-carousel', [
98
- 'pip-clicked',
99
- 'next-clicked',
100
- 'prev-clicked',
101
- 'slider-changed',
102
- ]);
103
234
  }
104
235
  }
105
236
 
@@ -15,20 +15,39 @@ class iamContent extends HTMLElement {
15
15
 
16
16
  ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
17
17
  </style>
18
- <div class="content__container">
19
- <slot></slot>
20
- </div>
18
+ <slot></slot>
21
19
  `;
22
20
  this.shadowRoot.appendChild(template.content.cloneNode(true));
23
21
  }
24
22
 
23
+ addTitle = (title) => {
24
+
25
+ if(this.hasAttribute('data-title-tag')){
26
+
27
+ return `<${this.getAttribute('data-title-tag')} class="${this.getAttribute('data-title-class')}">${title}</${this.getAttribute('data-title-tag')}>`;
28
+ }
29
+
30
+ return '';
31
+ }
32
+
25
33
  connectedCallback(): void {
26
34
  // eslint-disable-next-line @typescript-eslint/no-this-alias
27
35
  const component = this;
28
36
  const url = this.getAttribute('data-url');
29
37
 
38
+ const transform = this.getAttribute('data-transform');
39
+
40
+ let elementAttributes = '';
41
+
42
+
43
+ for (const attr of this.attributes) {
44
+ elementAttributes += `${attr.name}="${attr.value}" `;
45
+ }
46
+
47
+ const addTitle = this.addTitle;
48
+
30
49
  const registerComponents = (contentComponent): void => {
31
- const components = ['card', 'marketing', 'notification'];
50
+ const components = ['carousel', 'card', 'marketing', 'notification'];
32
51
 
33
52
  const assetLocation = document.body.hasAttribute('data-assets-location')
34
53
  ? document.body.getAttribute('data-assets-location')
@@ -64,7 +83,16 @@ class iamContent extends HTMLElement {
64
83
  newXHRRequest.onload = function (): void {
65
84
  if (this.status === 200) {
66
85
  const response = JSON.parse(this.responseText);
67
- component.innerHTML = `${response.content.rendered}`;
86
+
87
+ component.insertAdjacentHTML('beforebegin',addTitle(response.title.rendered));
88
+
89
+ if(transform){
90
+
91
+ component.innerHTML = `<${transform} ${elementAttributes}>${response.content.rendered}</${transform}>`;
92
+ component.removeAttribute('class');
93
+ }
94
+ else
95
+ component.innerHTML = `${response.content.rendered}`;
68
96
 
69
97
  registerComponents(component);
70
98
  }
@@ -21,6 +21,10 @@ class iamMenu extends HTMLElement {
21
21
  }
22
22
 
23
23
  connectedCallback(): void {
24
+
25
+ this.classList.add('dropdown');
26
+
27
+
24
28
  const menuID = this.hasAttribute('id') ? this.getAttribute('id') : false;
25
29
  const menuButton = document.querySelector(`[popovertarget="${menuID}"]`);
26
30
 
@@ -177,16 +177,10 @@ class iamNav extends HTMLElement {
177
177
  });
178
178
 
179
179
  // Has secondary link
180
- if (this.querySelector('a[slot="secondary"]')) {
180
+ if (this.querySelector('[slot="secondary"]')) {
181
181
  menu.classList.add('has-secondary');
182
182
  }
183
183
 
184
- // Create a scroll width variable to help with the sizing of the menu with in the CSS
185
- document.documentElement.style.setProperty(
186
- '--scrollbar-width',
187
- window.innerWidth - document.documentElement.offsetWidth + 'px'
188
- );
189
-
190
184
  // Open and close the menu
191
185
  menuButton.addEventListener(
192
186
  'click',
@@ -279,9 +273,13 @@ class iamNav extends HTMLElement {
279
273
  if (this.querySelectorAll(':scope > details[open]').length) {
280
274
  backdrop.classList.add('show');
281
275
  iamNav.classList.add('open');
276
+
277
+ if(this.querySelectorAll(':scope > details[open][slot="secondary"]').length)
278
+ iamNav.classList.add('open-secondary');
282
279
  } else {
283
280
  backdrop.classList.remove('show');
284
281
  iamNav.classList.remove('open');
282
+ iamNav.classList.remove('open-secondary');
285
283
  }
286
284
 
287
285
  event.preventDefault();
@@ -18,29 +18,29 @@ class iamSearch extends HTMLElement {
18
18
  ? document.body.getAttribute('data-assets-location')
19
19
  : '/assets';
20
20
 
21
+ const loadCSS = `@import "${assetLocation}/css/components/search.component.css";`;
22
+
21
23
  const template = document.createElement('template');
22
24
  template.innerHTML = `
23
25
  <style>
24
- input {
25
- background: red;
26
- }
27
- input:not(.is-invalid):not(:invalid) {
28
- background: none!important;
29
- }
30
- .optional-text {
31
- display: none;
32
- }
33
- .js-hide {
34
- display: none !important;
35
- }
26
+ ${loadCSS}
36
27
  </style>
37
28
  <link rel="stylesheet" href="https://kit.fontawesome.com/8bd0fca975.css" crossorigin="anonymous" />
38
- <slot></slot>
29
+ <span class="wrapper"><span class="input__wrapper"><slot></slot></span><span class="suffix fa-regular fa-search"></span></span>
30
+ <slot name="datalist"></slot>
39
31
  `;
40
32
  this.shadowRoot.appendChild(template.content.cloneNode(true));
41
33
  }
42
34
 
43
35
  async connectedCallback(): void {
36
+
37
+ // Make the datalist a dropdown
38
+ this.classList.add('dropdown__wrapper');
39
+
40
+
41
+ if(this.querySelector('label'))
42
+ this.classList.add('has-label');
43
+
44
44
  // eslint-disable-next-line @typescript-eslint/no-this-alias
45
45
  const searchWrapper = this;
46
46
  const inputField = this.querySelector('input');
@@ -123,6 +123,7 @@ class iamSearch extends HTMLElement {
123
123
  signal: signal,
124
124
  method: 'get',
125
125
  credentials: 'same-origin',
126
+ mode: 'no-cors',
126
127
  headers: new Headers({
127
128
  'Content-Type': 'application/json',
128
129
  Accept: 'application/json',
@@ -25,7 +25,7 @@ class iamSplitButton extends HTMLElement {
25
25
  </style>
26
26
  <div class="split-button">
27
27
  <slot></slot>
28
- <div class="dropdown">
28
+ <div class="menu__wrapper">
29
29
  <button class="btn btn-split" part="dropdown" popovertarget="actions" style="anchor-name: --anchor-el;" title="Further actions">
30
30
  <i class="fa fa-angle-down fa-light"></i>
31
31
  </button>
@@ -1537,7 +1537,6 @@ export const regions = [
1537
1537
  }
1538
1538
  ];
1539
1539
 
1540
-
1541
1540
  let countriesString = '';
1542
1541
 
1543
1542
  countries.forEach((country) => {