@iamproperty/components 7.6.4--beta7 → 7.7.0

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 (344) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/actionbar.global.css +1 -1
  4. package/assets/css/components/actionbar.global.css.map +1 -1
  5. package/assets/css/components/address-lookup.component.css +1 -1
  6. package/assets/css/components/address-lookup.component.css.map +1 -1
  7. package/assets/css/components/applied-filters.css +1 -1
  8. package/assets/css/components/applied-filters.css.map +1 -1
  9. package/assets/css/components/barchart.component.css +1 -1
  10. package/assets/css/components/barchart.component.css.map +1 -1
  11. package/assets/css/components/bento-grid.global.css +1 -1
  12. package/assets/css/components/calendar.component.css +1 -1
  13. package/assets/css/components/calendar.component.css.map +1 -1
  14. package/assets/css/components/calendar.config.css +1 -1
  15. package/assets/css/components/card.component.css +1 -1
  16. package/assets/css/components/card.component.css.map +1 -1
  17. package/assets/css/components/card.module.css +1 -1
  18. package/assets/css/components/carousel.component.css +1 -1
  19. package/assets/css/components/carousel.component.css.map +1 -1
  20. package/assets/css/components/charts.config.css +1 -1
  21. package/assets/css/components/charts.css +1 -1
  22. package/assets/css/components/charts.css.map +1 -1
  23. package/assets/css/components/charts.module.css +1 -1
  24. package/assets/css/components/charts.module.css.map +1 -1
  25. package/assets/css/components/collapsible-side.css +1 -1
  26. package/assets/css/components/collapsible-side.css.map +1 -1
  27. package/assets/css/components/config.component.css +1 -0
  28. package/assets/css/components/config.component.css.map +1 -0
  29. package/assets/css/components/content.component.css +1 -1
  30. package/assets/css/components/content.component.css.map +1 -1
  31. package/assets/css/components/doughnutchart.component.css +1 -1
  32. package/assets/css/components/doughnutchart.component.css.map +1 -1
  33. package/assets/css/components/fileupload.css +1 -1
  34. package/assets/css/components/fileupload.css.map +1 -1
  35. package/assets/css/components/filter-card.component.css +1 -1
  36. package/assets/css/components/header.css +1 -1
  37. package/assets/css/components/header.css.map +1 -1
  38. package/assets/css/components/inline-edit.css +1 -1
  39. package/assets/css/components/inline-edit.css.map +1 -1
  40. package/assets/css/components/input.component.css +1 -1
  41. package/assets/css/components/input.component.css.map +1 -1
  42. package/assets/css/components/menu.component.css +1 -1
  43. package/assets/css/components/menu.component.css.map +1 -1
  44. package/assets/css/components/milestone.css +1 -1
  45. package/assets/css/components/modal.component.css +1 -1
  46. package/assets/css/components/modal.component.css.map +1 -1
  47. package/assets/css/components/multi-step-modal.component.css +1 -1
  48. package/assets/css/components/multi-step-modal.component.css.map +1 -1
  49. package/assets/css/components/multiselect.css +1 -1
  50. package/assets/css/components/multiselect.css.map +1 -1
  51. package/assets/css/components/nav.component.css +1 -1
  52. package/assets/css/components/nav.component.css.map +1 -1
  53. package/assets/css/components/nav.global.css +1 -1
  54. package/assets/css/components/nav.global.css.map +1 -1
  55. package/assets/css/components/notification.css +1 -1
  56. package/assets/css/components/notification.css.map +1 -1
  57. package/assets/css/components/pagination.css +1 -1
  58. package/assets/css/components/pagination.css.map +1 -1
  59. package/assets/css/components/password.component.css +1 -1
  60. package/assets/css/components/password.component.css.map +1 -1
  61. package/assets/css/components/property-searchbar.css +1 -1
  62. package/assets/css/components/property-searchbar.css.map +1 -1
  63. package/assets/css/components/rank.component.css +1 -1
  64. package/assets/css/components/rank.component.css.map +1 -1
  65. package/assets/css/components/record-card.component.css +1 -1
  66. package/assets/css/components/record-card.component.css.map +1 -1
  67. package/assets/css/components/slider.css +1 -1
  68. package/assets/css/components/slider.css.map +1 -1
  69. package/assets/css/components/split-button.component.css +1 -1
  70. package/assets/css/components/split-button.component.css.map +1 -1
  71. package/assets/css/components/table-basic.component.css +1 -1
  72. package/assets/css/components/table-basic.component.css.map +1 -1
  73. package/assets/css/components/table-basic.global.css +1 -1
  74. package/assets/css/components/table-basic.global.css.map +1 -1
  75. package/assets/css/components/table.component.css +1 -1
  76. package/assets/css/components/table.component.css.map +1 -1
  77. package/assets/css/components/table.global.css +1 -1
  78. package/assets/css/components/table.global.css.map +1 -1
  79. package/assets/css/components/tabs.component.css +1 -1
  80. package/assets/css/components/tabs.component.css.map +1 -1
  81. package/assets/css/components/tag.component.css +1 -1
  82. package/assets/css/components/tag.component.css.map +1 -1
  83. package/assets/css/components/tooltip.component.css +1 -1
  84. package/assets/css/components/tooltip.component.css.map +1 -1
  85. package/assets/css/components/video-card.component.css +1 -1
  86. package/assets/css/components/video-modal.component.css +1 -1
  87. package/assets/css/components/video-modal.component.css.map +1 -1
  88. package/assets/css/core.min.css +1 -1
  89. package/assets/css/core.min.css.map +1 -1
  90. package/assets/css/style.min.css +1 -1
  91. package/assets/css/style.min.css.map +1 -1
  92. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  93. package/assets/js/components/actionbar/actionbar.component.js +8 -7
  94. package/assets/js/components/actionbar/actionbar.component.min.js +7 -7
  95. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  96. package/assets/js/components/address-lookup/address-lookup.component.js +12 -2
  97. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
  98. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  99. package/assets/js/components/advanced-select/advanced-select.component.js +1 -1
  100. package/assets/js/components/advanced-select/advanced-select.component.min.js +2 -2
  101. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  102. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  103. package/assets/js/components/barchart/barchart.component.min.js +6 -6
  104. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  105. package/assets/js/components/bento-grid/bento-grid.component.min.js +2 -2
  106. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  107. package/assets/js/components/card/card.component.min.js +7 -7
  108. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  109. package/assets/js/components/collapsible-side/collapsible-side.component.js +1 -1
  110. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +5 -5
  111. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  112. package/assets/js/components/config/config.component.js +532 -0
  113. package/assets/js/components/config/config.component.min.js +59 -0
  114. package/assets/js/components/config/config.component.min.js.map +1 -0
  115. package/assets/js/components/content/content.component.min.js +4 -4
  116. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  117. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +7 -7
  118. package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
  119. package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
  120. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  121. package/assets/js/components/form/form.component.min.js +1 -1
  122. package/assets/js/components/header/header.component.js +39 -1
  123. package/assets/js/components/header/header.component.min.js +40 -4
  124. package/assets/js/components/header/header.component.min.js.map +1 -1
  125. package/assets/js/components/inline-edit/inline-edit.component.js +1 -1
  126. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  127. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  128. package/assets/js/components/input/input.component.js +1 -1
  129. package/assets/js/components/input/input.component.min.js +3 -3
  130. package/assets/js/components/input/input.component.min.js.map +1 -1
  131. package/assets/js/components/input-range/input-range.component.js +1 -1
  132. package/assets/js/components/input-range/input-range.component.min.js +2 -2
  133. package/assets/js/components/input-range/input-range.component.min.js.map +1 -1
  134. package/assets/js/components/marketing/marketing.component.js +1 -1
  135. package/assets/js/components/marketing/marketing.component.min.js +2 -2
  136. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  137. package/assets/js/components/menu/menu.component.min.js +2 -2
  138. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  139. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  140. package/assets/js/components/modal/modal.component.js +1 -1
  141. package/assets/js/components/modal/modal.component.min.js +5 -5
  142. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  143. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  144. package/assets/js/components/multi-step-modal/multi-step-modal.component.js +1 -1
  145. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +5 -5
  146. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js.map +1 -1
  147. package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
  148. package/assets/js/components/nav/nav.component.js +1 -1
  149. package/assets/js/components/nav/nav.component.min.js +6 -6
  150. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  151. package/assets/js/components/notification/notification.component.js +69 -30
  152. package/assets/js/components/notification/notification.component.min.js +5 -5
  153. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  154. package/assets/js/components/pagination/pagination.component.js +1 -1
  155. package/assets/js/components/pagination/pagination.component.min.js +4 -4
  156. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  157. package/assets/js/components/password/password.component.js +1 -1
  158. package/assets/js/components/password/password.component.min.js +5 -5
  159. package/assets/js/components/password/password.component.min.js.map +1 -1
  160. package/assets/js/components/popover/popover.component.min.js +1 -1
  161. package/assets/js/components/rank/rank.component.min.js +1 -1
  162. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  163. package/assets/js/components/rating/rating.component.min.js +1 -1
  164. package/assets/js/components/record-card/record-card.component.min.js +2 -2
  165. package/assets/js/components/search/search.component.js +1 -1
  166. package/assets/js/components/search/search.component.min.js +2 -2
  167. package/assets/js/components/search/search.component.min.js.map +1 -1
  168. package/assets/js/components/slider/slider.component.min.js +2 -2
  169. package/assets/js/components/split-button/split-button.component.js +0 -4
  170. package/assets/js/components/split-button/split-button.component.min.js +6 -7
  171. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  172. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +41 -11
  173. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +9 -17
  174. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  175. package/assets/js/components/table/table.component.min.js +4 -4
  176. package/assets/js/components/table-ajax/table-ajax.component.min.js +7 -7
  177. package/assets/js/components/table-basic/table-basic.component.min.js +5 -5
  178. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +4 -4
  179. package/assets/js/components/table-submit/table-submit.component.min.js +7 -7
  180. package/assets/js/components/tabs/tabs.component.js +1 -1
  181. package/assets/js/components/tabs/tabs.component.min.js +5 -5
  182. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  183. package/assets/js/components/tag/tag.component.min.js +4 -4
  184. package/assets/js/components/tag/tag.component.min.js.map +1 -1
  185. package/assets/js/components/tooltip/tooltip.component.min.js +2 -2
  186. package/assets/js/components/video-card/video-card.component.min.js +2 -2
  187. package/assets/js/components/video-modal/video-modal.component.js +1 -1
  188. package/assets/js/components/video-modal/video-modal.component.min.js +4 -4
  189. package/assets/js/components/video-modal/video-modal.component.min.js.map +1 -1
  190. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  191. package/assets/js/modules/helper.test.js +84 -0
  192. package/assets/js/modules/test.js +19 -0
  193. package/assets/js/scripts.bundle.js +1 -1
  194. package/assets/js/scripts.bundle.min.js +1 -1
  195. package/assets/sass/_components.scss +7 -7
  196. package/assets/sass/_corefiles.scss +8 -7
  197. package/assets/sass/_elements.scss +16 -16
  198. package/assets/sass/_functions/bs_mixins.scss +3 -3
  199. package/assets/sass/_utilities.scss +4 -3
  200. package/assets/sass/components/actionbar.component.scss +37 -28
  201. package/assets/sass/components/actionbar.global.scss +12 -4
  202. package/assets/sass/components/address-lookup.component.scss +7 -7
  203. package/assets/sass/components/applied-filters.scss +2 -2
  204. package/assets/sass/components/barchart.component.scss +6 -6
  205. package/assets/sass/components/bento-grid.component.scss +2 -2
  206. package/assets/sass/components/bento-grid.global.scss +3 -3
  207. package/assets/sass/components/calendar.component.scss +14 -14
  208. package/assets/sass/components/calendar.config.scss +4 -4
  209. package/assets/sass/components/card.component.scss +10 -10
  210. package/assets/sass/components/card.module.scss +2 -2
  211. package/assets/sass/components/carousel.component.scss +8 -8
  212. package/assets/sass/components/carousel.config.scss +2 -2
  213. package/assets/sass/components/charts.config.scss +3 -3
  214. package/assets/sass/components/charts.module.scss +4 -18
  215. package/assets/sass/components/charts.scss +3 -3
  216. package/assets/sass/components/collapsible-side.scss +16 -16
  217. package/assets/sass/components/config.component.scss +235 -0
  218. package/assets/sass/components/content.component.scss +1 -1
  219. package/assets/sass/components/darkmode.component.scss +1 -1
  220. package/assets/sass/components/doughnutchart.component.scss +11 -10
  221. package/assets/sass/components/fileupload.scss +9 -9
  222. package/assets/sass/components/filter-card.component.scss +3 -3
  223. package/assets/sass/components/header.scss +121 -23
  224. package/assets/sass/components/inline-edit.preload.scss +1 -1
  225. package/assets/sass/components/inline-edit.scss +1 -1
  226. package/assets/sass/components/input.component.scss +2 -1
  227. package/assets/sass/components/marketing.component.scss +1 -1
  228. package/assets/sass/components/menu.component.scss +10 -10
  229. package/assets/sass/components/milestone.scss +2 -2
  230. package/assets/sass/components/modal.component.scss +22 -22
  231. package/assets/sass/components/multi-step-modal.component.scss +15 -15
  232. package/assets/sass/components/multi-step-modal.global.scss +1 -1
  233. package/assets/sass/components/multi-step.component.scss +3 -3
  234. package/assets/sass/components/multiselect.scss +9 -9
  235. package/assets/sass/components/nav.component.scss +24 -24
  236. package/assets/sass/components/nav.docs.scss +1 -1
  237. package/assets/sass/components/nav.global.scss +120 -119
  238. package/assets/sass/components/nav.preload.scss +1 -1
  239. package/assets/sass/components/notification.scss +36 -19
  240. package/assets/sass/components/pagination.scss +7 -7
  241. package/assets/sass/components/password.component.scss +1 -1
  242. package/assets/sass/components/popover.component.scss +3 -3
  243. package/assets/sass/components/property-searchbar.scss +1 -1
  244. package/assets/sass/components/rank.component.scss +19 -19
  245. package/assets/sass/components/rankings.component.scss +1 -1
  246. package/assets/sass/components/rankings.global.scss +2 -2
  247. package/assets/sass/components/record-card.component.scss +15 -15
  248. package/assets/sass/components/slider.scss +4 -4
  249. package/assets/sass/components/snapshot.scss +1 -1
  250. package/assets/sass/components/split-button.component.scss +2 -2
  251. package/assets/sass/components/table-basic.component.scss +3 -3
  252. package/assets/sass/components/table-basic.global.scss +34 -14
  253. package/assets/sass/components/table.component.scss +27 -16
  254. package/assets/sass/components/table.global.scss +51 -49
  255. package/assets/sass/components/tabs.component.scss +3 -3
  256. package/assets/sass/components/tabs.config.scss +1 -1
  257. package/assets/sass/components/tag.component.scss +2 -2
  258. package/assets/sass/components/testimonial.scss +2 -2
  259. package/assets/sass/components/timeline.scss +3 -3
  260. package/assets/sass/components/tooltip.component.scss +13 -8
  261. package/assets/sass/components/video-card.component.scss +2 -2
  262. package/assets/sass/components/video-modal.component.scss +1 -1
  263. package/assets/sass/components/word-count.component.scss +1 -1
  264. package/assets/sass/core.scss +1 -1
  265. package/assets/sass/elements/{admin-panel.scss → admin-panel.css} +17 -24
  266. package/assets/sass/elements/{badge-tag.scss → badge-tag.css} +11 -19
  267. package/assets/sass/elements/button__group.css +3 -2
  268. package/assets/sass/elements/{buttons--action.scss → buttons--action.css} +11 -19
  269. package/assets/sass/elements/{buttons--compact.scss → buttons--compact.css} +8 -36
  270. package/assets/sass/elements/buttons--global.scss +12 -18
  271. package/assets/sass/elements/buttons--special.scss +1 -1
  272. package/assets/sass/elements/buttons.scss +6 -6
  273. package/assets/sass/elements/container.scss +6 -6
  274. package/assets/sass/elements/details.scss +13 -13
  275. package/assets/sass/elements/dialog.scss +7 -7
  276. package/assets/sass/elements/dropdown.scss +1 -1
  277. package/assets/sass/elements/feature.scss +114 -6
  278. package/assets/sass/elements/forms.scss +24 -25
  279. package/assets/sass/elements/icons.css +1 -1
  280. package/assets/sass/elements/links.scss +5 -5
  281. package/assets/sass/elements/lists--tick-list.scss +18 -6
  282. package/assets/sass/elements/modal.scss +24 -24
  283. package/assets/sass/elements/popover.scss +14 -14
  284. package/assets/sass/elements/prefix.scss +18 -4
  285. package/assets/sass/elements/progress.scss +14 -14
  286. package/assets/sass/elements/table.element.scss +9 -5
  287. package/assets/sass/elements/tooltips.scss +4 -4
  288. package/assets/sass/email.scss +1 -1
  289. package/assets/sass/foundations/animations.scss +2 -0
  290. package/assets/sass/foundations/colours.scss +1 -1
  291. package/assets/sass/foundations/reboot.scss +1 -1
  292. package/assets/sass/foundations/root.scss +29 -96
  293. package/assets/sass/templates/auth.scss +7 -7
  294. package/assets/sass/templates/form.scss +8 -8
  295. package/assets/sass/utilities/border.scss +6 -18
  296. package/assets/sass/utilities/font-awesome-iso-fallbacks.scss +6 -0
  297. package/assets/sass/utilities/shadow.scss +7 -0
  298. package/assets/sass/utilities/wider-colours.scss +0 -2
  299. package/assets/ts/components/actionbar/actionbar.component.ts +8 -7
  300. package/assets/ts/components/address-lookup/address-lookup.component.ts +17 -2
  301. package/assets/ts/components/advanced-select/advanced-select.component.ts +1 -1
  302. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +1 -1
  303. package/assets/ts/components/config/config.component.ts +699 -0
  304. package/assets/ts/components/header/header.component.ts +40 -1
  305. package/assets/ts/components/inline-edit/inline-edit.component.ts +1 -1
  306. package/assets/ts/components/input/input.component.ts +1 -1
  307. package/assets/ts/components/input-range/input-range.component.ts +1 -1
  308. package/assets/ts/components/marketing/marketing.component.ts +1 -1
  309. package/assets/ts/components/modal/modal.component.ts +1 -1
  310. package/assets/ts/components/multi-step-modal/multi-step-modal.component.ts +1 -1
  311. package/assets/ts/components/nav/nav.component.ts +1 -1
  312. package/assets/ts/components/notification/notification.component.ts +98 -47
  313. package/assets/ts/components/pagination/pagination.component.ts +1 -1
  314. package/assets/ts/components/password/password.component.ts +1 -1
  315. package/assets/ts/components/search/search.component.ts +1 -1
  316. package/assets/ts/components/split-button/split-button.component.ts +0 -4
  317. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +47 -12
  318. package/assets/ts/components/tabs/tabs.component.ts +1 -1
  319. package/assets/ts/components/video-modal/video-modal.component.ts +1 -1
  320. package/assets/ts/modules/helper.test.ts +143 -0
  321. package/assets/ts/modules/test.ts +22 -0
  322. package/dist/components.es.js +29 -29
  323. package/dist/components.umd.js +372 -288
  324. package/package.json +9 -21
  325. package/src/components/Config/Config.vue +23 -0
  326. package/assets/js/tests/helpers.spec.js +0 -79
  327. package/assets/js/ui-tests/card.spec.js +0 -14
  328. package/assets/js/ui-tests/carousel.spec.js +0 -60
  329. package/assets/js/ui-tests/chart.spec.js +0 -59
  330. package/assets/js/ui-tests/fileupload.spec.js +0 -22
  331. package/assets/js/ui-tests/filterlist.spec.js +0 -22
  332. package/assets/js/ui-tests/multistep.spec.js +0 -68
  333. package/assets/js/ui-tests/slider.spec.js +0 -20
  334. package/assets/js/ui-tests/table.spec.js +0 -81
  335. package/assets/ts/tests/helpers.spec.ts +0 -137
  336. package/assets/ts/ui-tests/card.spec.ts +0 -19
  337. package/assets/ts/ui-tests/carousel.spec.ts +0 -66
  338. package/assets/ts/ui-tests/chart.spec.ts +0 -71
  339. package/assets/ts/ui-tests/data-layer.spec.js +0 -68
  340. package/assets/ts/ui-tests/fileupload.spec.ts +0 -30
  341. package/assets/ts/ui-tests/filterlist.spec.ts +0 -26
  342. package/assets/ts/ui-tests/multistep.spec.ts +0 -78
  343. package/assets/ts/ui-tests/slider.spec.ts +0 -27
  344. package/assets/ts/ui-tests/table.spec.ts +0 -91
package/package.json CHANGED
@@ -5,12 +5,12 @@
5
5
  "name": "iamproperty"
6
6
  },
7
7
  "private": false,
8
- "version": "7.6.4--beta7",
8
+ "version": "7.7.0",
9
9
  "scripts": {
10
10
  "temp": "rollup --environment COMPONENT:carousel --config rollup-component.config.cjs --sourcemap",
11
11
  "reload": "vite --host",
12
12
  "dev": "npm run copy && node local_modules/delete-assets.cjs && vite --host",
13
- "build": "node local_modules/delete-build-assets.cjs && npm run compile && vue-tsc --noEmit && vite build --mode lib",
13
+ "build": "npm run test && node local_modules/delete-build-assets.cjs && npm run compile && vue-tsc --noEmit && vite build --mode lib",
14
14
  "prepack": "npm run build",
15
15
  "build:docs": "node local_modules/delete-build-assets.cjs && npm run compile && npm run copy && vue-tsc --noEmit && vite build",
16
16
  "preview": "vite preview --host",
@@ -33,10 +33,8 @@
33
33
  "audit": "node local_modules/audit.cjs",
34
34
  "gen:email": "sass assets/sass/email.scss assets/css/email.min.css --style=compressed && node local_modules/email-css.cjs",
35
35
  "gen:error": "sass assets/sass/error.scss assets/css/error.min.css --style=compressed && node local_modules/error-css.cjs",
36
- "test:vue": "jest src",
37
- "test:ui": "jest assets/ts/ui-tests",
38
- "test:unit": "jest assets/ts/tests",
39
- "test": "npm run test:unit && npm run test:scss",
36
+ "test:unit": "node local_modules/test.cjs",
37
+ "test": "npm run test:unit",
40
38
  "pull-request": "npm run test && npm run lint && npm run prettier && npm run compile && npm run audit",
41
39
  "pr": "npm run pull-request",
42
40
  "deploy:fonts": "copyfiles -u 2 assets/fonts/**/* public/assets/fonts",
@@ -47,16 +45,16 @@
47
45
  "prettier": "prettier assets/ts assets/sass src docs --write"
48
46
  },
49
47
  "dependencies": {
48
+ "globals": "^15.14.0",
49
+ "js-cookie": "^3.0.5"
50
+ },
51
+ "devDependencies": {
50
52
  "eslint": "^10.0.0",
51
53
  "eslint-config-prettier": "^10.1.1",
52
54
  "eslint-plugin-vue": "^10.7.0",
53
- "globals": "^15.14.0",
54
- "js-cookie": "^3.0.5",
55
55
  "prettier": "^3.8.0",
56
56
  "typescript-eslint": "^8.53.0",
57
- "unplugin-vue-markdown": "^28.3.1"
58
- },
59
- "devDependencies": {
57
+ "unplugin-vue-markdown": "^28.3.1",
60
58
  "@babel/cli": "^7.21.0",
61
59
  "@babel/core": "^7.21.3",
62
60
  "@babel/plugin-transform-runtime": "^7.21.0",
@@ -69,26 +67,16 @@
69
67
  "@rollup/plugin-replace": "^6.0.2",
70
68
  "@rollup/plugin-terser": "^0.4.1",
71
69
  "@rollup/plugin-typescript": "^12.1.2",
72
- "@testing-library/jest-dom": "^5.16.5",
73
- "@types/jest": "^29.5.0",
74
70
  "@vitejs/plugin-vue": "^5.2.1",
75
71
  "@vue/test-utils": "^2.3.2",
76
- "@vue/vue3-jest": "^29.2.3",
77
- "babel-jest": "^29.5.0",
78
72
  "concurrently": "^9.1.2",
79
73
  "copyfiles": "^2.4.1",
80
74
  "cross-env": "^7.0.3",
81
75
  "esbuild": "^0.25.0",
82
- "expect-puppeteer": "^11.0.0",
83
76
  "fix-esm-import-path": "^1.3.1",
84
- "jest": "^29.5.0",
85
- "jest-environment-jsdom": "^29.5.0",
86
- "jest-environment-node-single-context": "^29.0.0",
87
- "jest-puppeteer": "^11.0.0",
88
77
  "path": "^0.12.7",
89
78
  "postcss": "^8.4.21",
90
79
  "postcss-css-variables": "^0.18.0",
91
- "puppeteer": "^24.2.0",
92
80
  "rollup-plugin-esbuild": "^6.2.1",
93
81
  "sass": "^1.85.1",
94
82
  "terser": "^5.39.0",
@@ -0,0 +1,23 @@
1
+ <script setup>
2
+ import { onMounted } from 'vue';
3
+
4
+ const component = 'config';
5
+
6
+ onMounted(() => {
7
+ import(`../../../assets/js/components/${component}/${component}.component.min.js`)
8
+ .then((module) => {
9
+ if (!window.customElements.get(`iam-${component}`))
10
+ window.customElements.define(`iam-${component}`, module.default);
11
+ })
12
+ .catch((err) => {
13
+ console.log(err.message);
14
+ });
15
+ });
16
+ </script>
17
+
18
+ <template>
19
+ <!-- Custom element -->
20
+ <iam-config>
21
+ <slot></slot>
22
+ </iam-config>
23
+ </template>
@@ -1,79 +0,0 @@
1
- // @ts-nocheck
2
- import { isValidPostcode } from '../modules/helpers.js';
3
- describe('The postcode helper function', () => {
4
- // #region valid pattern variations
5
- test('should return true when testing the postcode "ne33hd"', () => {
6
- expect(isValidPostcode("ne33hd")).toBe(true);
7
- });
8
- test('should return true when testing the postcode "ne3 3hd"', () => {
9
- expect(isValidPostcode("ne3 3hd")).toBe(true);
10
- });
11
- test('should return true when testing the postcode "NE3 3HD"', () => {
12
- expect(isValidPostcode("NE3 3HD")).toBe(true);
13
- });
14
- test('should return true when testing the postcode "NE33HD"', () => {
15
- expect(isValidPostcode("NE33HD")).toBe(true);
16
- });
17
- test('should return true when testing the postcode " NE33HD"', () => {
18
- expect(isValidPostcode(" NE33HD")).toBe(true);
19
- });
20
- test('should return true when testing the postcode " NE33HD "', () => {
21
- expect(isValidPostcode(" NE33HD ")).toBe(true);
22
- });
23
- // #endregion
24
- // #region Valid postcodes
25
- test('should return true when testing the postcode "NE3 5DP"', () => {
26
- expect(isValidPostcode("NE3 5DP")).toBe(true);
27
- });
28
- test('should return true when testing the postcode "CW11 1SX"', () => {
29
- expect(isValidPostcode("CW11 1SX")).toBe(true);
30
- });
31
- test('should return true when testing the postcode "NE21 6RB"', () => {
32
- expect(isValidPostcode("NE21 6RB")).toBe(true);
33
- });
34
- test('should return true when testing the postcode "SW1A 1AA"', () => {
35
- expect(isValidPostcode("SW1A 1AA")).toBe(true);
36
- });
37
- test('should return true when testing the postcode "M1 1AE"', () => {
38
- expect(isValidPostcode("M1 1AE")).toBe(true);
39
- });
40
- // #endregion
41
- // incorrect pattern
42
- test('should return false when testing the postcode "NE3"', () => {
43
- expect(isValidPostcode("NE3")).toBe(false);
44
- });
45
- // #region Invalid postcodes correct pattern
46
- test('should return false when testing the postcode "Q1A 4BT"', () => {
47
- expect(isValidPostcode("Q1A 4BT")).toBe(true);
48
- });
49
- test('should return false when testing the postcode "AB0 7RE"', () => {
50
- expect(isValidPostcode("AB0 7RE")).toBe(true);
51
- });
52
- test('should return false when testing the postcode "LN0A 4JP"', () => {
53
- expect(isValidPostcode("LN0A 4JP")).toBe(true);
54
- });
55
- test('should return false when testing the postcode "WS0 9ND"', () => {
56
- expect(isValidPostcode("WS0 9ND")).toBe(true);
57
- });
58
- test('should return false when testing the postcode "X8 2HR"', () => {
59
- expect(isValidPostcode("X8 2HR")).toBe(true);
60
- });
61
- // #endregion
62
- // #region Invalid postcodes incorrect pattern
63
- test('should return false when testing the postcode "ZZ2 TYD"', () => {
64
- expect(isValidPostcode("ZZ2 TYD")).toBe(false);
65
- });
66
- test('should return false when testing the postcode "ABC EFG"', () => {
67
- expect(isValidPostcode("ABC EFG")).toBe(false);
68
- });
69
- test('should return false when testing the postcode "1234 567"', () => {
70
- expect(isValidPostcode("1234 567")).toBe(false);
71
- });
72
- test('should return false when testing the postcode "23A PP2"', () => {
73
- expect(isValidPostcode("23A PP2")).toBe(false);
74
- });
75
- test('should return false when testing the postcode "NE3 H23"', () => {
76
- expect(isValidPostcode("NE3 H23")).toBe(false);
77
- });
78
- // #endregion
79
- });
@@ -1,14 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom';
3
- import 'expect-puppeteer';
4
- import iamCard from '../components/card/card.component.js';
5
- describe('The card component', () => {
6
- if (!window.customElements.get(`iam-card`))
7
- window.customElements.define(`iam-card`, iamCard);
8
- document.body.innerHTML = `
9
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>`;
10
- test('should have the class of card added to it', () => {
11
- let component = document.querySelector('iam-card');
12
- expect(component.classList).toContain('card');
13
- });
14
- });
@@ -1,60 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom';
3
- import 'expect-puppeteer';
4
- import iamCarousel from '../components/carousel/carousel.component.js';
5
- import iamCard from '../components/card/card.component.js';
6
- import { getProgressMax } from '../modules/carousel.js';
7
- describe('The carousel component', () => {
8
- if (!window.customElements.get(`iam-carousel`))
9
- window.customElements.define(`iam-carousel`, iamCarousel);
10
- if (!window.customElements.get(`iam-card`))
11
- window.customElements.define(`iam-card`, iamCard);
12
- document.body.innerHTML = `
13
- <iam-carousel>
14
- <div>
15
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
16
- </div>
17
- <div>
18
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
19
- </div>
20
- <div>
21
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
22
- </div>
23
- <div>
24
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
25
- </div>
26
- <div>
27
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
28
- </div>
29
- <div>
30
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
31
- </div>
32
- <div>
33
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
34
- </div>
35
- <div>
36
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
37
- </div>
38
- <div>
39
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
40
- </div>
41
- <div>
42
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
43
- </div>
44
- <div>
45
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
46
- </div>
47
- <div>
48
- <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
49
- </div>
50
- </iam-carousel>`;
51
- test('should have a pip for each item', () => {
52
- var _a;
53
- let component = document.querySelector('iam-carousel');
54
- let value = (_a = component === null || component === void 0 ? void 0 : component.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.carousel__controls button').length;
55
- expect(value).toEqual(12);
56
- });
57
- test('should set the max value of the range input to the number of items divided by the visible items', () => {
58
- expect(getProgressMax(9, 3)).toEqual(7);
59
- });
60
- });
@@ -1,59 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom';
3
- import { getChartData } from '../modules/chart.module.js';
4
- import 'expect-puppeteer';
5
- import iamBarChart from '../components/barchart/barchart.component.js';
6
- describe('The bar chart component', () => {
7
- if (!window.customElements.get(`iam-barchart`))
8
- window.customElements.define(`iam-barchart`, iamBarChart);
9
- document.body.innerHTML = `
10
- <iam-barchart>
11
- <table>
12
- <thead>
13
- <tr>
14
- <th>Items</th>
15
- <th>Value</th>
16
- </tr>
17
- </thead>
18
- <tbody>
19
- <tr>
20
- <td>Item 1</td>
21
- <td>300</td>
22
- </tr>
23
- <tr>
24
- <td>Item 2</td>
25
- <td>150</td>
26
- </tr>
27
- <tr>
28
- <td>Item 3</td>
29
- <td>100</td>
30
- </tr>
31
- </tbody>
32
- </table>
33
- </iam-barchart>`;
34
- test('should sync HTML changes with the shadow dom', () => {
35
- let component = document.querySelector('iam-barchart');
36
- let domElement = component.querySelector('tr:first-child td:nth-child(2)');
37
- let shadowElement = component.shadowRoot.querySelector('tr:first-child td:nth-child(2)');
38
- let value = shadowElement === null || shadowElement === void 0 ? void 0 : shadowElement.innerHTML;
39
- expect(value).toEqual('<span data-group="Item 1" part="popover">300</span>');
40
- });
41
- test('should create the min attribute as 0', () => {
42
- let component = document.querySelector('iam-barchart');
43
- let { min } = getChartData(component);
44
- expect(min).toEqual(0);
45
- });
46
- test('should equal the largest single value', () => {
47
- let component = document.querySelector('iam-barchart');
48
- let { max } = getChartData(component);
49
- expect(max).toEqual(300);
50
- });
51
- test('should have the class of .chart--fit-content added as there is less than 10 bars', () => {
52
- let component = document.querySelector('iam-barchart');
53
- expect(component.classList).toContain('chart--fit-content');
54
- });
55
- test('should have the class of .chart--no-scale added as there is less than 5 bars', () => {
56
- let component = document.querySelector('iam-barchart');
57
- expect(component.classList).toContain('chart--no-scale');
58
- });
59
- });
@@ -1,22 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom';
3
- import 'expect-puppeteer';
4
- import iamFileupload from '../components/fileupload/fileupload.component.js';
5
- describe('The Fileupload component', () => {
6
- if (!window.customElements.get(`iam-fileupload`))
7
- window.customElements.define(`iam-fileupload`, iamFileupload);
8
- document.body.innerHTML = `
9
- <iam-fileupload>
10
- <input type="file" name="files[]" accept=".pdf, .csv, .jpg, .png" multiple="multiple" />
11
- </iam-fileupload>`;
12
- test('should have a title in its UI', () => {
13
- let component = document.querySelector('iam-fileupload');
14
- let title = component === null || component === void 0 ? void 0 : component.shadowRoot.querySelector('.file-upload__title');
15
- expect(title === null || title === void 0 ? void 0 : title.innerHTML).toContain('Upload file');
16
- });
17
- test('should have a button in its UI', () => {
18
- let component = document.querySelector('iam-fileupload');
19
- let button = component === null || component === void 0 ? void 0 : component.shadowRoot.querySelector('button');
20
- expect(button === null || button === void 0 ? void 0 : button.innerHTML).toContain('Upload file');
21
- });
22
- });
@@ -1,22 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom';
3
- import { filterTheList } from '../modules/filterlist.js';
4
- const listHTML = `
5
- <li class="lead text-primary pb-1">Olivia Anderson</li>
6
- <li class="lead text-primary pb-1">Ethan Ramirez</li>
7
- <li class="lead text-primary pb-1">Sophia Patel</li>
8
- <li class="lead text-primary pb-1">Noah Jenkins</li>
9
- <li class="lead text-primary pb-1">Ava Thompson</li>
10
- <li class="lead text-primary pb-1">Lucas Myers</li>
11
- <li class="lead text-primary pb-1">Mia Carter</li>
12
- <li class="lead text-primary pb-1">Benjamin Lee</li>
13
- `;
14
- describe('addDataAttributes', () => {
15
- let list = document.createElement('div');
16
- list.innerHTML = listHTML;
17
- filterTheList(list, 'Lucas');
18
- test('should add a class of d-none to each item except the one containing Lucas Myers', () => {
19
- expect(list.querySelectorAll('li:not(.d-none)').length).toEqual(1);
20
- expect(list.querySelector('li:not(.d-none)').textContent).toEqual('Lucas Myers');
21
- });
22
- });
@@ -1,68 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom';
3
- import 'expect-puppeteer';
4
- import iamMultiStep from '../components/multi-step/multi-step.component.js';
5
- describe('The Multi-step component', () => {
6
- if (!window.customElements.get(`iam-multi-step`))
7
- window.customElements.define(`iam-multi-step`, iamMultiStep);
8
- document.body.innerHTML = `
9
- <iam-multi-step>
10
- <form>
11
- <span class="h3">Multi-step modal title</span>
12
-
13
- <fieldset data-title="Personal details">
14
- <div>
15
- <label for="input1">Name 1</label>
16
- <input type="text" id="input1" name="input1" placeholder="Optional placeholder text" required="" />
17
- <span class="invalid-feedback">This field is required</span>
18
- </div>
19
- </fieldset>
20
- <fieldset data-title="Property details">
21
- <div>
22
- <label for="input2">Name 2</label>
23
- <input type="text" id="input2" name="input2" placeholder="Optional placeholder text" required="" />
24
- <span class="invalid-feedback">This field is required</span>
25
- </div>
26
- </fieldset>
27
- <fieldset data-title="Location">
28
- <div>
29
- <label for="input3">Name 3</label>
30
- <input
31
- type="text"
32
- id="input3"
33
- name="input3"
34
- placeholder="Optional placeholder text"
35
- required=""
36
- class="is-invalid"
37
- />
38
- <span class="invalid-feedback">This field is required</span>
39
- </div>
40
- </fieldset>
41
- <fieldset data-title="Submit property">
42
- <div>
43
- <label for="input4">Name 4</label>
44
- <input type="text" id="input4" name="input4" placeholder="Optional placeholder text" required="" />
45
- <span class="invalid-feedback">This field is required</span>
46
- </div>
47
- </fieldset>
48
- <button class="btn btn-primary colour-success" type="submit">Register</button>
49
- </form>
50
-
51
- </iam-multi-step>`;
52
- test('should add the active class to the first fieldset element', () => {
53
- let component = document.querySelector('iam-multi-step');
54
- let fieldset = component.querySelector('fieldset');
55
- expect(fieldset.classList).toContain('active');
56
- });
57
- test('should have a next button added to each fieldset element', () => {
58
- let component = document.querySelector('iam-multi-step');
59
- let fieldset = component.querySelector('fieldset');
60
- let button = fieldset.querySelector('.btn--wrapper button[data-next]');
61
- expect(button === null || button === void 0 ? void 0 : button.innerHTML).toContain('Next');
62
- });
63
- test('should have a steps list created using the data-title attributes for content', () => {
64
- let component = document.querySelector('iam-multi-step');
65
- let button = component === null || component === void 0 ? void 0 : component.shadowRoot.querySelector('.steps button');
66
- expect(button === null || button === void 0 ? void 0 : button.innerHTML).toContain('Personal details');
67
- });
68
- });
@@ -1,20 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom';
3
- import 'expect-puppeteer';
4
- import iamSlider from '../components/slider/slider.component.js';
5
- describe('The slider component', () => {
6
- if (!window.customElements.get(`iam-slider`))
7
- window.customElements.define(`iam-slider`, iamSlider);
8
- test('should always show the minimum and maximum values that it can be set', () => {
9
- document.body.innerHTML = `<label>Input field label <iam-slider><input type="number" name="percent" min="0" max="100" value="15" step="1" /></iam-slider></label>`;
10
- let component = document.querySelector('iam-slider');
11
- expect(component.shadowRoot.innerHTML).toContain('<div class="col min pe-2">0</div>');
12
- expect(component.shadowRoot.innerHTML).toContain('<div class="col max ps-2">100</div>');
13
- });
14
- test('should always have a secondary way of inputing the value i.e. a number input field', () => {
15
- document.body.innerHTML = `<label>Input field label <iam-slider><input type="number" name="percent" min="0" max="100" value="15" step="1" /></iam-slider></label>`;
16
- let component = document.querySelector('iam-slider');
17
- expect(component.querySelectorAll('input[type="number"]').length).toEqual(1);
18
- expect(component.shadowRoot.querySelectorAll('input[type="range"]').length).toEqual(1);
19
- });
20
- });
@@ -1,81 +0,0 @@
1
- // @ts-nocheck
2
- import '@testing-library/jest-dom';
3
- import * as tableModule from '../modules/table.js';
4
- import 'expect-puppeteer';
5
- const basicTable = `<thead>
6
- <tr>
7
- <th>Heading 1</th>
8
- <th>Heading 2</th>
9
- <th>Heading 3</th>
10
- <th>Heading 4</th>
11
- <th>Heading 5</th>
12
- <th>Heading 6</th>
13
- </tr>
14
- </thead>
15
- <tbody>
16
- <tr>
17
- <td>Cell 1</td>
18
- <td>Low</td>
19
- <td>Cell 3</td>
20
- <td>Cell 4</td>
21
- <td>Cell 5</td>
22
- <td>Cell 6</td>
23
- </tr>
24
- <tr>
25
- <td>Cell 1</td>
26
- <td>Low</td>
27
- <td><a href="/link">View information</a></td>
28
- <td>Cell 4</td>
29
- <td>Cell 5</td>
30
- <td>Cell 6</td>
31
- </tr>
32
- <tr>
33
- <td>Different Cell 1</td>
34
- <td>Medium</td>
35
- <td><a href="/link">View information</a></td>
36
- <td>Cell 4</td>
37
- <td>Cell 5</td>
38
- <td>Cell 6</td>
39
- </tr>
40
- <tr>
41
- <td>Different Cell 1</td>
42
- <td>High</td>
43
- <td><a href="/link">View information</a></td>
44
- <td>Cell 4</td>
45
- <td>Cell 5</td>
46
- <td>Cell 6</td>
47
- </tr>
48
- </tbody>`;
49
- describe('addDataAttributes', () => {
50
- const table = document.createElement('table');
51
- table.innerHTML = basicTable;
52
- tableModule.addDataAttributes(table);
53
- test('should add data-label attribute to the table cells', () => {
54
- expect(table.querySelector('tbody td').getAttribute('data-label')).toEqual('Heading 1');
55
- expect(table.querySelector('tbody td:nth-child(2)').getAttribute('data-label')).toEqual('Heading 2');
56
- });
57
- test('should add data-content attribute to the table cells if the content matches a pre-defined list', () => {
58
- expect(table.querySelector('tbody tr:nth-child(2) td:nth-child(2)').getAttribute('data-content')).toEqual('low');
59
- expect(table.querySelector('tbody tr:nth-child(3) td:nth-child(2)').getAttribute('data-content')).toEqual('medium');
60
- });
61
- });
62
- describe('sortTable', () => {
63
- const table = document.createElement('table');
64
- table.innerHTML = basicTable;
65
- const form = document.createElement('form');
66
- form.innerHTML += `<div><select type="select" name="sort" id="sort" class="form-select" data-sort=""><option value="-1">Sort by</option><option value="high" data-sort="Heading 2" data-order="High,Medium,Low" selected="selected">high to low</option></select></div>`;
67
- const savedTableBody = table.querySelector('tbody');
68
- tableModule.addDataAttributes(table);
69
- tableModule.sortTable(table, form, savedTableBody);
70
- test('should sort the table from high to low', () => {
71
- expect(table.querySelector('tbody tr:nth-child(1) td:nth-child(2)').textContent).toEqual('High');
72
- expect(table.querySelector('tbody tr:nth-child(2) td:nth-child(2)').textContent).toEqual('Medium');
73
- expect(table.querySelector('tbody tr:nth-child(3) td:nth-child(2)').textContent).toEqual('Low');
74
- });
75
- });
76
- describe('formatCell', () => {
77
- test('should format the text correctly', () => {
78
- expect(tableModule.formatCell('date', '2023-05-15 12:10:45.000000')).toEqual('15 May 23');
79
- expect(tableModule.formatCell('capitalise', 'low')).toEqual('Low');
80
- });
81
- });