@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
@@ -0,0 +1,235 @@
1
+ import Cookies from '../../../../node_modules/js-cookie/dist/js.cookie.mjs';
2
+ import iamNav from '../nav/nav.component';
3
+
4
+ // Data layer Web component created
5
+ declare global {
6
+ interface Window {
7
+ dataLayer: Array<object>;
8
+ }
9
+ }
10
+
11
+
12
+ class iamSTDNav extends HTMLElement {
13
+ constructor() {
14
+ super();
15
+ }
16
+
17
+ loadNavData = async(): any => {
18
+
19
+ const ajaxURL = '/nav.json';
20
+
21
+ // Setup controller vars if not already set
22
+ if (!window.controller) window.controller = [];
23
+
24
+ // Abort if controller already present for this url
25
+ if (window.controller[ajaxURL]) window.controller[ajaxURL].abort();
26
+
27
+ // Create a new controller so it can be aborted if new fetch made
28
+ window.controller[ajaxURL] = new AbortController();
29
+ const { signal } = window.controller[ajaxURL];
30
+
31
+ try {
32
+ return await fetch(ajaxURL, {
33
+ signal: signal,
34
+ method: 'get',
35
+ credentials: 'same-origin',
36
+ headers: new Headers({
37
+ 'Content-Type': 'application/json',
38
+ Accept: 'application/json',
39
+ 'X-Requested-With': 'XMLHttpRequest',
40
+ 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),
41
+ }),
42
+ })
43
+ .then((response) => response.json())
44
+ .then((response) => {
45
+ // populate datalist
46
+ let listString = '';
47
+
48
+ const data = response['data'] ? response['data'] : response;
49
+
50
+
51
+ return data;
52
+ });
53
+ } catch (error) {
54
+ if (error?.name === 'AbortError') {
55
+ return true;
56
+ }
57
+ console.log(error);
58
+ return 'There has been a problem. Please try again in a few moments.';
59
+ }
60
+ }
61
+
62
+ defaultToSecondary = (): void => {
63
+
64
+ // Set links and details to secondary slot
65
+ Array.from(this.querySelectorAll(':scope > a, :scope > details')).forEach((element) => {
66
+
67
+ element.setAttribute('slot','secondary');
68
+ });
69
+
70
+ const defaultContent = this.innerHTML;
71
+ this.outerHTML = `${defaultContent}`;
72
+ }
73
+
74
+ defaultToNav = ():void => {
75
+
76
+ const defaultContent = this.innerHTML;
77
+ this.innerHTML = `<iam-nav>
78
+ ${defaultContent}
79
+ </iam-nav>`;
80
+ }
81
+
82
+ defaultToStandalone = ():void => {
83
+ const defaultContent = this.innerHTML;
84
+ this.wrapper.innerHTML = `<div class="container">${defaultContent}</div>`;
85
+ }
86
+
87
+ populateLinks = (data):void => {
88
+
89
+ let html = ``;
90
+
91
+ data.forEach((link) => {
92
+
93
+ html += `
94
+ <a href="${link.url}">${link.title}</a>`;
95
+
96
+ });
97
+
98
+ return html;
99
+ }
100
+
101
+ populateSections = (data):void => {
102
+
103
+ let html = ``;
104
+
105
+ data.forEach((section) => {
106
+
107
+ html += `<span class="section ${section.class}">
108
+ <span class="lead text-heading d-block">${section.enabled == "false" && section.marketing ? section.marketing : section.title}</span>
109
+ ${this.populateLinks(section.links)}
110
+ </span>`;
111
+ });
112
+
113
+
114
+
115
+
116
+ return html;
117
+ }
118
+
119
+ populateNav = (data):void => {
120
+
121
+ let html = ``;
122
+
123
+ data.forEach((feature) => {
124
+
125
+ if(feature.attributes.sections)
126
+ html += `<details name="megamenu"><summary>${feature.attributes.title}</summary><div data-title="${feature.attributes.title}">${this.populateSections(feature.attributes.sections)}</div></details>`;
127
+ else if(feature.attributes.links)
128
+ html += `<details name="megamenu"><summary>${feature.attributes.title}</summary><div data-title="${feature.attributes.title}">${this.populateLinks(feature.attributes.links)}</div></details>`;
129
+ else
130
+ html += `<a href="/">${feature.attributes.title}</a>`;
131
+ });
132
+
133
+ return html;
134
+ }
135
+
136
+ transformToSecondary = (data):void => {
137
+
138
+ this.innerHTML = this.populateNav(data);
139
+
140
+ // Set links and details to secondary slot
141
+ Array.from(this.querySelectorAll(':scope > a, :scope > details')).forEach((element) => {
142
+
143
+ element.setAttribute('slot','secondary');
144
+ });
145
+
146
+ const defaultContent = this.innerHTML;
147
+ this.outerHTML = `${defaultContent}`;
148
+ }
149
+
150
+ transformToStandalone = (data):void => {
151
+
152
+ this.wrapper.innerHTML = `<div class="container"><details><summary>Products</summary><div class="iam-nav">${this.populateNav(data)}</div></details></div>`;
153
+
154
+ // Set links and details to secondary slot
155
+ Array.from(this.wrapper.querySelectorAll('.iam-nav > a, .iam-nav > details')).forEach((element) => {
156
+
157
+ element.setAttribute('slot','secondary');
158
+ });
159
+
160
+ }
161
+
162
+ transformToNav = (data):void => {
163
+ this.innerHTML = `<iam-nav>
164
+ <a href="/" class="brand brand--property" slot="logo">
165
+ <svg>
166
+ <title>iam key</title>
167
+ <use xlink:href="/svg/logo.svg#logo-property"></use>
168
+ </svg>
169
+ </a>
170
+ ${this.populateNav(data)}
171
+ </iam-nav>`;
172
+ }
173
+
174
+ async connectedCallback(): void {
175
+
176
+ this.wrapper = this.shadowRoot?.querySelector('.wrapper');
177
+
178
+ if (!window.customElements.get(`iam-nav`))
179
+ window.customElements.define(`iam-nav`, iamNav);
180
+
181
+
182
+ if(this.hasAttribute('data-hub')){
183
+ this.defaultToNav();
184
+ }
185
+ else if (!this.closest('iam-nav')){
186
+ this.defaultToStandalone();
187
+ }
188
+ else {
189
+ //this.defaultToSecondary(); TODO: change this to show default content but still be able to update
190
+ }
191
+
192
+ const data = await this.loadNavData().then(
193
+ (data) => {
194
+ if(typeof data == 'string'){
195
+
196
+ return data;
197
+ }
198
+
199
+ //console.log(data);
200
+ if(this.hasAttribute('data-hub')){
201
+ this.transformToNav(data);
202
+ }
203
+ else if(!this.closest('iam-nav')){
204
+ this.transformToStandalone(data);
205
+ }
206
+ else {
207
+ this.transformToSecondary(data);
208
+ //this.transformToNav(data);
209
+ }
210
+
211
+ return true;
212
+ }
213
+ );
214
+
215
+ }
216
+
217
+ static get observedAttributes(): any {
218
+ return [];
219
+ }
220
+
221
+ attributeChangedCallback(attrName, oldVal, newVal): void {
222
+ const addressComponent = this.querySelector('iam-address-lookup');
223
+
224
+ switch (attrName) {
225
+ case 'data-url': {
226
+ if (oldVal != newVal && addressComponent) {
227
+ addressComponent.setAttribute('data-url', newVal + '?search_string=');
228
+ }
229
+ break;
230
+ }
231
+ }
232
+ }
233
+ }
234
+
235
+ export default iamSTDNav;
@@ -0,0 +1,76 @@
1
+ import {populateNav,loadNavData} from '../../modules/nav';
2
+ import Cookies from '../../../../node_modules/js-cookie/dist/js.cookie.mjs';
3
+
4
+ // Data layer Web component created
5
+ declare global {
6
+ interface Window {
7
+ dataLayer: Array<object>;
8
+ }
9
+ }
10
+
11
+ class iamSTDNavStandalone extends HTMLElement {
12
+ constructor() {
13
+ super();
14
+
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
+
21
+
22
+ const loadCSS = `@import "${assetLocation}/css/components/std-nav-standalone.component.css";`;
23
+
24
+ const template = document.createElement('template');
25
+ template.innerHTML = `
26
+ <style id="styles">
27
+ ${loadCSS}
28
+
29
+ ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
30
+ </style>
31
+ <div class="wrapper">
32
+ <slot></slot>
33
+ </div>
34
+ <div class="backdrop" part="backdrop"></div>
35
+ `;
36
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
37
+ }
38
+
39
+ defaultToStandalone = ():void => {
40
+ const defaultContent = this.innerHTML;
41
+ this.wrapper.innerHTML = `<div class="container">${defaultContent}</div>`;
42
+ }
43
+
44
+ transformToStandalone = (data):void => {
45
+
46
+ this.wrapper.innerHTML = `<div class="container"><details><summary>Products</summary><div class="iam-nav">${populateNav(data)}</div></details></div>`;
47
+
48
+ // Set links and details to secondary slot
49
+ Array.from(this.wrapper.querySelectorAll('.iam-nav > a, .iam-nav > details')).forEach((element) => {
50
+
51
+ element.setAttribute('slot','secondary');
52
+ });
53
+
54
+ }
55
+
56
+ async connectedCallback(): void {
57
+
58
+ this.wrapper = this.shadowRoot?.querySelector('.wrapper');
59
+ this.defaultToStandalone();
60
+
61
+ const data = await loadNavData(Cookies).then(
62
+ (data) => {
63
+ if(typeof data == 'string'){
64
+
65
+ return data;
66
+ }
67
+
68
+ this.transformToStandalone(data);
69
+
70
+ return true;
71
+ }
72
+ );
73
+ }
74
+ }
75
+
76
+ export default iamSTDNavStandalone;
@@ -3,6 +3,15 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
3
3
 
4
4
  const datalistWrapper = datalist.closest('.datalist__wrapper') ? datalist.closest('.datalist__wrapper') : datalist;
5
5
 
6
+ datalistWrapper.setAttribute('slot','datalist');
7
+
8
+ if(advancedSelect.querySelector('.suffix')){
9
+ advancedSelect.querySelector('.suffix')?.setAttribute('slot','suffix');
10
+ advancedSelect.shadowRoot.querySelector('.suffix')?.innerHTML = '<slot name="suffix"></slot>';
11
+ advancedSelect.shadowRoot.querySelector('.suffix')?.classList = "";
12
+ }
13
+
14
+
6
15
  // Hide the default datalist
7
16
  displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));
8
17
  displayInputField.setAttribute('list', '');
@@ -13,6 +22,23 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
13
22
  if(displayInputField.hasAttribute('placeholder'))
14
23
  displayInputField.setAttribute('data-original-placeholder', displayInputField.getAttribute('placeholder'));
15
24
 
25
+
26
+
27
+ const checkIfEmpty = (): void => {
28
+
29
+ if(displayInputField.value == ""){
30
+ advancedSelect.classList.add('has-empty-input');
31
+ displayInputField.classList.add('empty');
32
+ }
33
+ else {
34
+ advancedSelect.classList.remove('has-empty-input');
35
+ displayInputField.classList.remove('empty');
36
+ }
37
+
38
+ };
39
+
40
+ checkIfEmpty();
41
+
16
42
  displayInputField.addEventListener('focus', function () {
17
43
 
18
44
  if(displayInputField.value != ""){
@@ -61,7 +87,8 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
61
87
  }
62
88
 
63
89
  option.classList.add('active');
64
-
90
+
91
+ checkIfEmpty();
65
92
  setTimeout(() => {
66
93
  advancedSelect.dispatchEvent(new CustomEvent('update-value', {
67
94
  detail: {
@@ -73,9 +100,12 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
73
100
  }
74
101
  });
75
102
 
103
+
76
104
  displayInputField.addEventListener('input', function () {
77
105
  displayInputField.removeAttribute('data-value');
78
106
  currentFocus = -1;
107
+
108
+ checkIfEmpty();
79
109
 
80
110
  if (advancedSelect.tagName != "IAM-ADDRESS-LOOKUP") {
81
111
  const text = displayInputField.value.toUpperCase();
@@ -127,13 +157,19 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
127
157
  }
128
158
 
129
159
  // Add the empty button
130
- displayInputField
131
- .closest('label')
132
- .insertAdjacentHTML(
160
+ if(displayInputField.closest('.input__wrapper')){
161
+ displayInputField.closest('.input__wrapper').insertAdjacentHTML(
133
162
  'beforeend',
134
- '<button class="empty btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>'
163
+ '<button class="clear-search btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>'
135
164
  );
136
-
165
+ }
166
+ else if(advancedSelect.shadowRoot.querySelector('.input__wrapper')){
167
+ console.log(advancedSelect.shadowRoot.querySelector('.input__wrapper'));
168
+ advancedSelect.shadowRoot.querySelector('.input__wrapper').insertAdjacentHTML(
169
+ 'beforeend',
170
+ '<button class="clear-search btn btn-action" type="button"><i class="fa-light fa-times me-0"></i></button>'
171
+ );
172
+ }
137
173
 
138
174
  const emptyField = (): void => {
139
175
  const originalInput = advancedSelect.querySelector('input[type="hidden"]') as HTMLInputElement | null;
@@ -151,6 +187,7 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
151
187
 
152
188
  displayInputField.removeAttribute('data-value');
153
189
  displayInputField.value = '';
190
+ displayInputField.classList.add('empty');
154
191
 
155
192
  for (const optionInner of datalist.options) {
156
193
  optionInner.classList.remove('active');
@@ -168,9 +205,12 @@ function advancedSelect(advancedSelect, displayInputField, datalist, isSearch =
168
205
  text: '',
169
206
  },
170
207
  }));
208
+
209
+
210
+ checkIfEmpty();
171
211
  }
172
212
 
173
- const closeBtn = advancedSelect.querySelector('.empty') ? advancedSelect.querySelector('.empty') : advancedSelect.shadowRoot.querySelector('.empty');
213
+ const closeBtn = advancedSelect.querySelector('.clear-search') ? advancedSelect.querySelector('.clear-search') : advancedSelect.shadowRoot.querySelector('.clear-search');
174
214
 
175
215
  closeBtn.addEventListener('click', function (e) {
176
216
 
@@ -1,17 +1,19 @@
1
- export const cardHTML = `<div class="card__head" part="head">
2
- <slot name="head"></slot>
3
- </div>
4
- <div class="card__badges"><slot name="badges"></slot></div>
5
- <slot name="checkbox" class="activate-prevent-hover"></slot>
6
- <div class="card__body" part="body">
7
- <slot></slot>
8
- <slot name="secondary" part="secondary"></slot>
9
- </div>
10
- <div class="card__details" part="details">
11
- <slot name="details"></slot>
12
- </div>
13
- <div class="card__footer" part="footer">
14
- <slot name="footer"></slot>
1
+ export const cardHTML = `<div class="wrapper">
2
+ <div class="card__head" part="head">
3
+ <slot name="head"></slot>
4
+ </div>
5
+ <div class="card__badges"><slot name="badges"></slot></div>
6
+ <slot name="checkbox" class="activate-prevent-hover"></slot>
7
+ <div class="card__body" part="body">
8
+ <slot></slot>
9
+ <slot name="secondary" part="secondary"></slot>
10
+ </div>
11
+ <div class="card__details" part="details">
12
+ <slot name="details"></slot>
13
+ </div>
14
+ <div class="card__footer" part="footer">
15
+ <slot name="footer"></slot>
16
+ </div>
15
17
  </div>`;
16
18
 
17
19
  export const setupCard = (cardComponent: any): void => {
@@ -1,7 +1,7 @@
1
1
  export const generateThumbnailList = function (carouselComponent): any {
2
2
  const thumbnailImages = [];
3
3
 
4
- Array.from(carouselComponent.querySelectorAll(':scope > div')).forEach((slide, index) => {
4
+ Array.from(carouselComponent.querySelectorAll(':scope > :is(div,iam-card)')).forEach((slide, index) => {
5
5
  if (slide.hasAttribute('data-thumbnail')) {
6
6
  thumbnailImages[index] = slide.getAttribute('data-thumbnail');
7
7
  }
@@ -11,7 +11,7 @@ export const generateThumbnailList = function (carouselComponent): any {
11
11
  };
12
12
 
13
13
  export const generatePipsHTML = function (carouselComponent, thumbnailImages): string {
14
- const itemCount = carouselComponent.querySelectorAll(':scope > div').length;
14
+ const itemCount = carouselComponent.querySelectorAll(':scope > :is(div,iam-card)').length;
15
15
 
16
16
  let pips = '';
17
17
  for (let i = 1; i <= itemCount; i++) {
@@ -53,9 +53,9 @@ export const carousel = function (carouselComponent): void {
53
53
  const carouselInner = carouselElement.querySelector('.carousel__inner');
54
54
  const carouselControls = carouselElement.querySelector('.carousel__controls');
55
55
  const carouselProgress = carouselElement.querySelector('.carousel__progress [type="range"]');
56
- const itemCount = carouselComponent.querySelectorAll(':scope > div').length;
56
+ const itemCount = carouselComponent.querySelectorAll(':scope > :is(div,iam-card)').length;
57
57
  let scrollArea = carouselInner.clientWidth;
58
- let itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
58
+ let itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
59
59
  let visibleItems = Math.round(scrollArea / itemWidth);
60
60
 
61
61
  carouselProgress.setAttribute('min', 1);
@@ -90,8 +90,8 @@ export const carousel = function (carouselComponent): void {
90
90
  const scrollLeft = carouselInner.scrollLeft;
91
91
  let targetSlide = Math.round((scrollLeft / scrollWidth) * itemCount) + 1;
92
92
 
93
- const itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
94
- const lastItemOffset = carouselComponent.querySelector(':scope > div:last-child').offsetLeft;
93
+ const itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
94
+ const lastItemOffset = carouselComponent.querySelector(':scope > :is(div,iam-card):last-child').offsetLeft;
95
95
  //+60px here is to account for when the next offscreen slide is visible beneath the next arrow
96
96
  const lastItemInView =
97
97
  carouselInner.scrollLeft + scrollArea + carouselInner.getBoundingClientRect().left >= lastItemOffset + 60;
@@ -176,11 +176,11 @@ export const carousel = function (carouselComponent): void {
176
176
  function (e) {
177
177
  const scrollArea = carouselInner.clientWidth;
178
178
  //const scrollWidth = carouselInner.scrollWidth;
179
- const itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
179
+ const itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
180
180
 
181
181
  const visibleItems = Math.round(scrollArea / itemWidth);
182
182
 
183
- const lastItemOffset = carouselComponent.querySelector(':scope > div:last-child').offsetLeft;
183
+ const lastItemOffset = carouselComponent.querySelector(':scope > :is(div,iam-card):last-child').offsetLeft;
184
184
  const lastItemInView =
185
185
  carouselInner.scrollLeft + scrollArea + carouselInner.getBoundingClientRect().left >= lastItemOffset + 60;
186
186
 
@@ -229,7 +229,7 @@ export const carousel = function (carouselComponent): void {
229
229
  clearInterval(stepperInterval);
230
230
  stepperInterval = setInterval(function () {
231
231
  scrollArea = carouselInner.clientWidth;
232
- itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
232
+ itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
233
233
  visibleItems = Math.round(scrollArea / itemWidth);
234
234
  carouselProgress.setAttribute('step', visibleItems);
235
235
  progressMax = getProgressMax(itemCount, visibleItems);
@@ -276,10 +276,10 @@ export const updateCarousel = function (carouselComponent): void {
276
276
  const carouselInner = carouselElement.querySelector('.carousel__inner');
277
277
  const carouselControls = carouselElement.querySelector('.carousel__controls');
278
278
  const carouselProgress = carouselElement.querySelector('.carousel__progress [type="range"]');
279
- const itemCount = carouselComponent.querySelectorAll(':scope > div').length;
279
+ const itemCount = carouselComponent.querySelectorAll(':scope > :is(div,iam-card)').length;
280
280
 
281
281
  let scrollArea = carouselInner.clientWidth;
282
- let itemWidth = carouselComponent.querySelector(':scope > div').scrollWidth;
282
+ let itemWidth = carouselComponent.querySelector(':scope > :is(div,iam-card)').scrollWidth;
283
283
  let visibleItems = Math.round(scrollArea / itemWidth);
284
284
 
285
285
  carouselProgress.setAttribute('min', 1);
@@ -26,4 +26,95 @@ const navbar = (element): void => {
26
26
  }
27
27
  };
28
28
 
29
+ export const populateNav = (data):void => {
30
+
31
+ let html = ``;
32
+
33
+ data.forEach((feature) => {
34
+
35
+ if(feature.attributes.sections)
36
+ html += `<details name="megamenu"><summary>${feature.attributes.title}</summary><div data-title="${feature.attributes.title}">${populateSections(feature.attributes.sections)}</div></details>`;
37
+ else if(feature.attributes.links)
38
+ html += `<details name="megamenu"><summary>${feature.attributes.title}</summary><div data-title="${feature.attributes.title}">${populateLinks(feature.attributes.links)}</div></details>`;
39
+ else
40
+ html += `<a href="/">${feature.attributes.title}</a>`;
41
+ });
42
+
43
+ return html;
44
+ }
45
+
46
+ export const populateSections = (data):void => {
47
+
48
+ let html = ``;
49
+
50
+ data.forEach((section) => {
51
+
52
+ html += `<span class="section ${section.class}">
53
+ <span class="lead text-heading d-block">${section.enabled == "false" && section.marketing ? section.marketing : section.title}</span>
54
+ ${populateLinks(section.links)}
55
+ </span>`;
56
+ });
57
+ return html;
58
+ }
59
+
60
+ export const populateLinks = (data):void => {
61
+
62
+ let html = ``;
63
+
64
+ data.forEach((link) => {
65
+
66
+ html += `
67
+ <a href="${link.url}">${link.title}</a>`;
68
+
69
+ });
70
+
71
+ return html;
72
+ }
73
+
74
+ export const loadNavData = async(Cookies): any => {
75
+
76
+ const ajaxURL = '/nav.json';
77
+
78
+ // Setup controller vars if not already set
79
+ if (!window.controller) window.controller = [];
80
+
81
+ // Abort if controller already present for this url
82
+ if (window.controller[ajaxURL]) window.controller[ajaxURL].abort();
83
+
84
+ // Create a new controller so it can be aborted if new fetch made
85
+ window.controller[ajaxURL] = new AbortController();
86
+ const { signal } = window.controller[ajaxURL];
87
+
88
+ try {
89
+ return await fetch(ajaxURL, {
90
+ signal: signal,
91
+ method: 'get',
92
+ credentials: 'same-origin',
93
+ headers: new Headers({
94
+ 'Content-Type': 'application/json',
95
+ Accept: 'application/json',
96
+ 'X-Requested-With': 'XMLHttpRequest',
97
+ 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),
98
+ }),
99
+ })
100
+ .then((response) => response.json())
101
+ .then((response) => {
102
+ // populate datalist
103
+ let listString = '';
104
+
105
+ const data = response['data'] ? response['data'] : response;
106
+
107
+
108
+ return data;
109
+ });
110
+ } catch (error) {
111
+ if (error?.name === 'AbortError') {
112
+ return true;
113
+ }
114
+ console.log(error);
115
+ return 'There has been a problem. Please try again in a few moments.';
116
+ }
117
+ }
118
+
119
+
29
120
  export default navbar;
@@ -162,6 +162,13 @@ export const setTabsEventHandlers = function (tabsElement: Element): void {
162
162
  });
163
163
  });
164
164
 
165
+ details.forEach((detailsElement, index) => {
166
+ detailsElement.addEventListener("toggle", function() {
167
+ if(detailsElement.open)
168
+ detailsElement.querySelector('button,input')?.focus();
169
+ });
170
+ });
171
+
165
172
  nextButton?.addEventListener('click', (e) => {
166
173
  e.preventDefault();
167
174
 
@@ -213,7 +220,9 @@ export const toggleTab = function (details: Array, button: Element): boolean | v
213
220
  details.forEach((detail, detailsIndex) => {
214
221
  const detailsOpen = button.getAttribute('data-index') == detailsIndex ? true : false;
215
222
 
216
- if (detailsOpen) detail.setAttribute('open', detailsOpen);
223
+ if (detailsOpen) {
224
+ detail.setAttribute('open', detailsOpen);
225
+ }
217
226
  else detail.removeAttribute('open');
218
227
  });
219
228
  };