@iamproperty/components 7.1.0--beta7 → 7.2.1--beta1

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 (382) hide show
  1. package/assets/css/components/actionbar.component.css +1 -0
  2. package/assets/css/components/actionbar.component.css.map +1 -0
  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.css +1 -1
  6. package/assets/css/components/address-lookup.css.map +1 -1
  7. package/assets/css/components/barchart.component.css +1 -1
  8. package/assets/css/components/barchart.component.css.map +1 -1
  9. package/assets/css/components/bento-grid.component.css +1 -0
  10. package/assets/css/components/bento-grid.component.css.map +1 -0
  11. package/assets/css/components/card.component.css +1 -1
  12. package/assets/css/components/card.component.css.map +1 -1
  13. package/assets/css/components/carousel.component.css +1 -1
  14. package/assets/css/components/carousel.component.css.map +1 -1
  15. package/assets/css/components/carousel.config.css +1 -1
  16. package/assets/css/components/carousel.config.css.map +1 -1
  17. package/assets/css/components/charts.config.css +1 -1
  18. package/assets/css/components/charts.config.css.map +1 -1
  19. package/assets/css/components/charts.css +1 -1
  20. package/assets/css/components/charts.css.map +1 -1
  21. package/assets/css/components/charts.module.css +1 -1
  22. package/assets/css/components/charts.module.css.map +1 -1
  23. package/assets/css/components/collapsible-side.css +1 -1
  24. package/assets/css/components/collapsible-side.css.map +1 -1
  25. package/assets/css/components/doughnutchart.component.css +1 -0
  26. package/assets/css/components/doughnutchart.component.css.map +1 -0
  27. package/assets/css/components/fileupload.css.map +1 -1
  28. package/assets/css/components/header.css.map +1 -1
  29. package/assets/css/components/inline-edit.preload.css +1 -1
  30. package/assets/css/components/inline-edit.preload.css.map +1 -1
  31. package/assets/css/components/marketing.css.map +1 -1
  32. package/assets/css/components/menu.component.css +1 -0
  33. package/assets/css/components/menu.component.css.map +1 -0
  34. package/assets/css/components/menu.css +1 -0
  35. package/assets/css/components/menu.css.map +1 -0
  36. package/assets/css/components/multi-step.component.css.map +1 -1
  37. package/assets/css/components/multiselect.preload.css +1 -1
  38. package/assets/css/components/multiselect.preload.css.map +1 -1
  39. package/assets/css/components/nav.component.css +1 -0
  40. package/assets/css/components/nav.component.css.map +1 -0
  41. package/assets/css/components/nav.docs.css.map +1 -1
  42. package/assets/css/components/nav.global.css.map +1 -1
  43. package/assets/css/components/nav.old.css +1 -1
  44. package/assets/css/components/nav.old.css.map +1 -1
  45. package/assets/css/components/nav.preload.css +1 -1
  46. package/assets/css/components/nav.preload.css.map +1 -1
  47. package/assets/css/components/notification.css +1 -1
  48. package/assets/css/components/notification.css.map +1 -1
  49. package/assets/css/components/pagination.css +1 -1
  50. package/assets/css/components/pagination.css.map +1 -1
  51. package/assets/css/components/property-searchbar.css.map +1 -1
  52. package/assets/css/components/slider.css +1 -1
  53. package/assets/css/components/slider.css.map +1 -1
  54. package/assets/css/components/snapshot.css.map +1 -1
  55. package/assets/css/components/stepper.css.map +1 -1
  56. package/assets/css/components/table-basic.component.css +1 -0
  57. package/assets/css/components/table-basic.component.css.map +1 -0
  58. package/assets/css/components/table-basic.global.css +1 -0
  59. package/assets/css/components/table-basic.global.css.map +1 -0
  60. package/assets/css/components/table.component.css +1 -0
  61. package/assets/css/components/table.component.css.map +1 -0
  62. package/assets/css/components/table.global.css +1 -1
  63. package/assets/css/components/table.global.css.map +1 -1
  64. package/assets/css/components/tabs.component.css +1 -0
  65. package/assets/css/components/tabs.component.css.map +1 -0
  66. package/assets/css/components/tabs.config.css +1 -0
  67. package/assets/css/components/tabs.config.css.map +1 -0
  68. package/assets/css/components/tabs.css +1 -1
  69. package/assets/css/components/tabs.css.map +1 -1
  70. package/assets/css/components/testimonial.css.map +1 -1
  71. package/assets/css/components/timeline.css.map +1 -1
  72. package/assets/css/core.min.css +1 -1
  73. package/assets/css/core.min.css.map +1 -1
  74. package/assets/css/mobile-core.min.css +1 -0
  75. package/assets/css/mobile-core.min.css.map +1 -0
  76. package/assets/css/mobile.min.css +1 -0
  77. package/assets/css/mobile.min.css.map +1 -0
  78. package/assets/css/style.min.css +1 -1
  79. package/assets/css/style.min.css.map +1 -1
  80. package/assets/js/components/_global.js +0 -1
  81. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  82. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  83. package/assets/js/components/actionbar/actionbar.component.js +86 -8
  84. package/assets/js/components/actionbar/actionbar.component.min.js +19 -6
  85. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  86. package/assets/js/components/address-lookup/address-lookup.component.js +17 -18
  87. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
  88. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  89. package/assets/js/components/applied-filters/applied-filters.component.js +0 -1
  90. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  91. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  92. package/assets/js/components/barchart/barchart.component.js +2 -3
  93. package/assets/js/components/barchart/barchart.component.min.js +8 -4
  94. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  95. package/assets/js/components/bento-grid/bento-grid.component.js +50 -0
  96. package/assets/js/components/bento-grid/bento-grid.component.min.js +15 -0
  97. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -0
  98. package/assets/js/components/card/card.component.js +10 -13
  99. package/assets/js/components/card/card.component.min.js +7 -7
  100. package/assets/js/components/card/card.component.min.js.map +1 -1
  101. package/assets/js/components/carousel/carousel.component.js +4 -5
  102. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  103. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  104. package/assets/js/components/chart/chart.component.js +1 -5
  105. package/assets/js/components/collapsible-side/collapsible-side.component.js +4 -5
  106. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
  107. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  108. package/assets/js/components/doughnutchart/doughnutchart.component.js +70 -0
  109. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +25 -0
  110. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -0
  111. package/assets/js/components/fileupload/fileupload.component.js +2 -3
  112. package/assets/js/components/fileupload/fileupload.component.min.js +6 -6
  113. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  114. package/assets/js/components/filter-card/filter-card.component.js +3 -4
  115. package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
  116. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  117. package/assets/js/components/filterlist/filterlist.component.js +0 -1
  118. package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
  119. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  120. package/assets/js/components/header/header.component.js +0 -1
  121. package/assets/js/components/header/header.component.min.js +1 -1
  122. package/assets/js/components/header/header.component.min.js.map +1 -1
  123. package/assets/js/components/inline-edit/inline-edit.component.js +7 -8
  124. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  125. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  126. package/assets/js/components/marketing/marketing.component.js +0 -1
  127. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  128. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  129. package/assets/js/components/menu/menu.component.js +200 -0
  130. package/assets/js/components/menu/menu.component.min.js +77 -0
  131. package/assets/js/components/menu/menu.component.min.js.map +1 -0
  132. package/assets/js/components/multi-step/multi-step.component.js +10 -10
  133. package/assets/js/components/multi-step/multi-step.component.min.js +13 -0
  134. package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -0
  135. package/assets/js/components/multiselect/multiselect.component.js +10 -10
  136. package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
  137. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  138. package/assets/js/components/nav/nav.component.js +7 -7
  139. package/assets/js/components/nav/nav.component.min.js +7 -7
  140. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  141. package/assets/js/components/notification/notification.component.js +3 -3
  142. package/assets/js/components/notification/notification.component.min.js +4 -4
  143. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  144. package/assets/js/components/pagination/pagination.component.js +14 -8
  145. package/assets/js/components/pagination/pagination.component.min.js +5 -5
  146. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  147. package/assets/js/components/record-card/record-card.component.js +6 -8
  148. package/assets/js/components/record-card/record-card.component.min.js +4 -4
  149. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  150. package/assets/js/components/search/search.component.js +9 -6
  151. package/assets/js/components/search/search.component.min.js +8 -5
  152. package/assets/js/components/search/search.component.min.js.map +1 -1
  153. package/assets/js/components/slider/slider.component.js +8 -8
  154. package/assets/js/components/slider/slider.component.min.js +5 -5
  155. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  156. package/assets/js/components/table/table.component.js +36 -200
  157. package/assets/js/components/table/table.component.min.js +13 -23
  158. package/assets/js/components/table/table.component.min.js.map +1 -1
  159. package/assets/js/components/table-ajax/table-ajax.component.js +46 -0
  160. package/assets/js/components/table-ajax/table-ajax.component.min.js +22 -0
  161. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -0
  162. package/assets/js/components/table-basic/table-basic.component.js +46 -0
  163. package/assets/js/components/table-basic/table-basic.component.min.js +22 -0
  164. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -0
  165. package/assets/js/components/table-no-submit/table-no-submit.component.js +77 -0
  166. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +22 -0
  167. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -0
  168. package/assets/js/components/table-submit/table-submit.component.js +55 -0
  169. package/assets/js/components/table-submit/table-submit.component.min.js +22 -0
  170. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -0
  171. package/assets/js/components/tabs/tabs.component.js +3 -2
  172. package/assets/js/components/tabs/tabs.component.min.js +6 -4
  173. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  174. package/assets/js/components/video-card/video-card.component.js +4 -3
  175. package/assets/js/components/video-card/video-card.component.min.js +3 -3
  176. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  177. package/assets/js/modules/applied-filters.js +8 -9
  178. package/assets/js/modules/carousel.js +9 -10
  179. package/assets/js/modules/chart.js +5 -3
  180. package/assets/js/modules/chart.module.js +108 -1
  181. package/assets/js/modules/dialogs.js +6 -7
  182. package/assets/js/modules/drawer.js +1 -2
  183. package/assets/js/modules/dynamicEvents.js +7 -8
  184. package/assets/js/modules/fileupload.js +7 -7
  185. package/assets/js/modules/filterlist.js +3 -4
  186. package/assets/js/modules/form.js +12 -13
  187. package/assets/js/modules/helpers.js +7 -5
  188. package/assets/js/modules/inputs.js +6 -9
  189. package/assets/js/modules/nav.js +3 -4
  190. package/assets/js/modules/notification.js +2 -3
  191. package/assets/js/modules/orderablelist.js +0 -1
  192. package/assets/js/modules/table.js +604 -317
  193. package/assets/js/modules/tabs.js +46 -19
  194. package/assets/js/scripts.bundle.js +3 -3
  195. package/assets/js/scripts.bundle.js.map +1 -1
  196. package/assets/js/scripts.bundle.min.js +2 -2
  197. package/assets/js/scripts.bundle.min.js.map +1 -1
  198. package/assets/js/scripts.js +71 -6
  199. package/assets/js/tests/card.spec.js +14 -0
  200. package/assets/js/tests/carousel.spec.js +60 -0
  201. package/assets/js/tests/chart.spec.js +7 -5
  202. package/assets/js/tests/fileupload.spec.js +22 -0
  203. package/assets/js/tests/multistep.spec.js +68 -0
  204. package/assets/js/tests/table.spec.js +0 -31
  205. package/assets/sass/_bs_grid.scss +4 -1
  206. package/assets/sass/_components.scss +326 -100
  207. package/assets/sass/_corefiles.scss +42 -18
  208. package/assets/sass/_elements.scss +98 -18
  209. package/assets/sass/_example.scss +61 -0
  210. package/assets/sass/_func.scss +5 -13
  211. package/assets/sass/_functions/bs_utilities.scss +43 -39
  212. package/assets/sass/_functions/functions.scss +66 -52
  213. package/assets/sass/_functions/mixins.scss +84 -100
  214. package/assets/sass/_functions/utility-mixins.scss +56 -44
  215. package/assets/sass/_functions/variables.scss +90 -1659
  216. package/assets/sass/_functions/variables_old.scss +1701 -0
  217. package/assets/sass/_grid.scss +19 -5
  218. package/assets/sass/_tests/func.spec.scss +1 -37
  219. package/assets/sass/_tests/mixins.spec.scss +1 -77
  220. package/assets/sass/_tests/typography.spec.scss +1 -1
  221. package/assets/sass/_utilities.scss +15 -5
  222. package/assets/sass/_utility-mixins.scss +6 -1
  223. package/assets/sass/components/{actionbar.scss → actionbar.component.scss} +83 -16
  224. package/assets/sass/components/actionbar.global.scss +12 -68
  225. package/assets/sass/components/address-lookup.scss +6 -0
  226. package/assets/sass/components/barchart.component.scss +7 -20
  227. package/assets/sass/components/bento-grid.component.scss +91 -0
  228. package/assets/sass/components/carousel.config.scss +64 -58
  229. package/assets/sass/components/charts.config.scss +73 -67
  230. package/assets/sass/components/charts.module.scss +128 -97
  231. package/assets/sass/components/charts.scss +43 -42
  232. package/assets/sass/components/collapsible-side.scss +29 -27
  233. package/assets/sass/components/doughnutchart.component.scss +205 -0
  234. package/assets/sass/components/fileupload.scss +4 -3
  235. package/assets/sass/components/header.scss +5 -5
  236. package/assets/sass/components/inline-edit.preload.scss +108 -102
  237. package/assets/sass/components/menu.component.scss +101 -0
  238. package/assets/sass/components/menu.scss +21 -0
  239. package/assets/sass/components/multi-step.component.scss +5 -3
  240. package/assets/sass/components/multiselect.preload.scss +36 -30
  241. package/assets/sass/components/{nav.scss → nav.component.scss} +41 -21
  242. package/assets/sass/components/nav.docs.scss +1 -1
  243. package/assets/sass/components/nav.global.scss +13 -11
  244. package/assets/sass/components/nav.old.scss +21 -24
  245. package/assets/sass/components/nav.preload.scss +40 -34
  246. package/assets/sass/components/notification.scss +9 -5
  247. package/assets/sass/components/pagination.scss +7 -0
  248. package/assets/sass/components/property-searchbar.scss +7 -7
  249. package/assets/sass/components/slider.scss +2 -0
  250. package/assets/sass/components/snapshot.scss +2 -2
  251. package/assets/sass/components/stepper.scss +7 -7
  252. package/assets/sass/components/{table.scss → table-basic.component.scss} +25 -68
  253. package/assets/sass/components/table-basic.global.scss +355 -0
  254. package/assets/sass/components/table.component.scss +40 -0
  255. package/assets/sass/components/table.global.scss +215 -418
  256. package/assets/sass/components/tabs.component.scss +5 -0
  257. package/assets/sass/components/tabs.config.scss +27 -0
  258. package/assets/sass/components/tabs.scss +40 -4
  259. package/assets/sass/components/testimonial.scss +7 -7
  260. package/assets/sass/components/timeline.scss +1 -1
  261. package/assets/sass/core.scss +13 -4
  262. package/assets/sass/elements/admin-panel.scss +199 -185
  263. package/assets/sass/elements/badge-tag.scss +87 -81
  264. package/assets/sass/elements/brand.scss +67 -61
  265. package/assets/sass/elements/buttons--action.scss +55 -0
  266. package/assets/sass/elements/buttons--compact.scss +135 -0
  267. package/assets/sass/elements/buttons--global.scss +323 -0
  268. package/assets/sass/elements/buttons--secondary.scss +24 -0
  269. package/assets/sass/elements/buttons--tertiary.scss +57 -0
  270. package/assets/sass/elements/buttons.scss +29 -503
  271. package/assets/sass/elements/container.scss +157 -151
  272. package/assets/sass/elements/details.scss +147 -138
  273. package/assets/sass/elements/dialog.scss +36 -30
  274. package/assets/sass/elements/forms.scss +1061 -1047
  275. package/assets/sass/elements/icons.scss +23 -17
  276. package/assets/sass/elements/links.scss +131 -116
  277. package/assets/sass/elements/lists.scss +270 -264
  278. package/assets/sass/elements/media.scss +19 -13
  279. package/assets/sass/elements/modal.scss +336 -330
  280. package/assets/sass/elements/popover.scss +163 -152
  281. package/assets/sass/elements/progress.scss +173 -162
  282. package/assets/sass/elements/table.element.scss +116 -108
  283. package/assets/sass/elements/tooltips.scss +87 -80
  284. package/assets/sass/elements/type.scss +172 -160
  285. package/assets/sass/email.scss +0 -1
  286. package/assets/sass/error.scss +15 -13
  287. package/assets/sass/foundations/reboot.scss +176 -170
  288. package/assets/sass/foundations/root.scss +136 -125
  289. package/assets/sass/helpers/max-height.scss +2 -2
  290. package/assets/sass/main.scss +14 -6
  291. package/assets/sass/mobile-core.scss +14 -0
  292. package/assets/sass/mobile.scss +16 -0
  293. package/assets/sass/templates/auth.scss +88 -83
  294. package/assets/sass/templates/form.scss +68 -59
  295. package/assets/ts/components/_global.ts +2 -3
  296. package/assets/ts/components/actionbar/actionbar.component.ts +94 -2
  297. package/assets/ts/components/address-lookup/address-lookup.component.ts +21 -22
  298. package/assets/ts/components/applied-filters/applied-filters.component.ts +1 -2
  299. package/assets/ts/components/barchart/barchart.component.ts +3 -5
  300. package/assets/ts/components/bento-grid/README.md +31 -0
  301. package/assets/ts/components/bento-grid/bento-grid.component.ts +67 -0
  302. package/assets/ts/components/card/card.component.ts +13 -16
  303. package/assets/ts/components/carousel/carousel.component.ts +5 -7
  304. package/assets/ts/components/chart/chart.component.ts +4 -9
  305. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -6
  306. package/assets/ts/components/doughnutchart/doughnutchart.component.ts +85 -0
  307. package/assets/ts/components/fileupload/fileupload.component.ts +5 -6
  308. package/assets/ts/components/filter-card/filter-card.component.ts +4 -5
  309. package/assets/ts/components/filterlist/filterlist.component.ts +1 -2
  310. package/assets/ts/components/header/header.component.ts +1 -3
  311. package/assets/ts/components/inline-edit/inline-edit.component.ts +8 -11
  312. package/assets/ts/components/marketing/marketing.component.ts +1 -3
  313. package/assets/ts/components/menu/menu.component.ts +222 -0
  314. package/assets/ts/components/multi-step/multi-step.component.ts +19 -23
  315. package/assets/ts/components/multiselect/multiselect.component.ts +13 -14
  316. package/assets/ts/components/nav/nav.component.ts +8 -9
  317. package/assets/ts/components/notification/notification.component.ts +3 -3
  318. package/assets/ts/components/pagination/pagination.component.ts +24 -12
  319. package/assets/ts/components/record-card/record-card.component.ts +9 -11
  320. package/assets/ts/components/search/search.component.ts +12 -9
  321. package/assets/ts/components/slider/slider.component.ts +9 -10
  322. package/assets/ts/components/table/table.component.ts +50 -247
  323. package/assets/ts/components/table-ajax/table-ajax.component.ts +64 -0
  324. package/assets/ts/components/table-basic/README.md +40 -0
  325. package/assets/ts/components/table-basic/table-basic.component.ts +56 -0
  326. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +134 -0
  327. package/assets/ts/components/table-submit/table-submit.component.ts +64 -0
  328. package/assets/ts/components/tabs/tabs.component.ts +4 -3
  329. package/assets/ts/components/video-card/video-card.component.ts +13 -12
  330. package/assets/ts/modules/applied-filters.ts +10 -11
  331. package/assets/ts/modules/card.module.ts +1 -1
  332. package/assets/ts/modules/carousel.ts +13 -15
  333. package/assets/ts/modules/chart.module.ts +152 -19
  334. package/assets/ts/modules/chart.ts +26 -24
  335. package/assets/ts/modules/dialogs.ts +10 -13
  336. package/assets/ts/modules/drawer.ts +1 -2
  337. package/assets/ts/modules/dynamicEvents.ts +12 -14
  338. package/assets/ts/modules/fileupload.ts +10 -10
  339. package/assets/ts/modules/filterlist.ts +6 -7
  340. package/assets/ts/modules/form.ts +16 -17
  341. package/assets/ts/modules/helpers.ts +24 -21
  342. package/assets/ts/modules/inputs.ts +15 -18
  343. package/assets/ts/modules/nav.ts +4 -5
  344. package/assets/ts/modules/notification.ts +7 -8
  345. package/assets/ts/modules/orderablelist.ts +3 -4
  346. package/assets/ts/modules/pagination.ts +1 -1
  347. package/assets/ts/modules/table.ts +726 -356
  348. package/assets/ts/modules/tabs.ts +59 -20
  349. package/assets/ts/scripts.ts +72 -6
  350. package/assets/ts/tests/card.spec.ts +19 -0
  351. package/assets/ts/tests/carousel.spec.ts +66 -0
  352. package/assets/ts/tests/chart.spec.ts +9 -6
  353. package/assets/ts/tests/fileupload.spec.ts +30 -0
  354. package/assets/ts/tests/multistep.spec.ts +78 -0
  355. package/assets/ts/tests/table.spec.ts +0 -38
  356. package/dist/components.es.js +1260 -1063
  357. package/dist/components.umd.js +468 -198
  358. package/package.json +44 -49
  359. package/src/components/BentoGrid/BentoGrid.vue +20 -0
  360. package/src/components/DoughnutChart/DoughnutChart.vue +23 -0
  361. package/src/components/FileUpload/FileUpload.vue +4 -1
  362. package/src/components/Menu/Menu.vue +22 -0
  363. package/src/components/Table/TableAjax.vue +34 -0
  364. package/src/components/Table/TableBasic.vue +34 -0
  365. package/src/components/Table/TableNoSubmit.vue +34 -0
  366. package/src/components/Table/TableSubmit.vue +34 -0
  367. package/src/components/Tabs/Tabs.vue +0 -4
  368. package/src/index.js +25 -19
  369. package/assets/css/components/actionbar.css +0 -1
  370. package/assets/css/components/actionbar.css.map +0 -1
  371. package/assets/css/components/nav.css +0 -1
  372. package/assets/css/components/nav.css.map +0 -1
  373. package/assets/css/components/table.css +0 -1
  374. package/assets/css/components/table.css.map +0 -1
  375. package/assets/js/components.bundle.js +0 -5
  376. package/assets/js/components.bundle.js.map +0 -1
  377. package/assets/js/components.js +0 -57
  378. package/assets/js/modules/file-upload.js +0 -32
  379. package/assets/ts/components.ts +0 -62
  380. package/assets/ts/modules/file-upload.ts +0 -52
  381. package/dist/style.css +0 -1
  382. package/src/components/Table/Table.spec.js +0 -47
@@ -0,0 +1,222 @@
1
+ class iamMenu extends HTMLElement {
2
+ constructor() {
3
+ super();
4
+ this.attachShadow({ mode: 'open' });
5
+
6
+ const assetLocation = document.body.hasAttribute('data-assets-location')
7
+ ? document.body.getAttribute('data-assets-location')
8
+ : '/assets';
9
+ const loadCSS = `@import "${assetLocation}/css/components/menu.component.css";`;
10
+
11
+ const template = document.createElement('template');
12
+
13
+ template.innerHTML = `
14
+ <style>
15
+ ${loadCSS}
16
+ </style>
17
+ <div class="menu--inner" part="inner">
18
+ <slot></slot>
19
+ </div>`;
20
+ this.shadowRoot.appendChild(template.content.cloneNode(true));
21
+ }
22
+
23
+ connectedCallback(): void {
24
+ const menuID = this.hasAttribute('id') ? this.getAttribute('id') : false;
25
+ const menuButton = document.querySelector(`[popovertarget="${menuID}"]`);
26
+
27
+ const menuInner = this.shadowRoot.querySelector('.menu--inner');
28
+ const topLevelmenuItems = this.querySelectorAll(':scope > a, :scope > button, :scope > details > summary');
29
+ const menuItems = this.querySelectorAll('a, button');
30
+ const subMenus = this.querySelectorAll('details');
31
+
32
+ let subNextIndex;
33
+ let subPrevIndex;
34
+
35
+ // Set the needed CSS styles to connect the ID attribute to the anchor name
36
+ if (menuID && menuButton) {
37
+ menuInner?.setAttribute('role', 'menu');
38
+ this.style['position-anchor'] = `--${menuID}`;
39
+
40
+ menuButton?.setAttribute('aria-haspopup', 'true');
41
+ menuButton?.style['anchor-name'] = `--${menuID}`;
42
+ menuButton?.setAttribute('aria-controls', menuID);
43
+
44
+ subMenus.forEach((item, index) => {
45
+ item.setAttribute('role', 'menu');
46
+ });
47
+
48
+ menuItems.forEach((item, index) => {
49
+ item.setAttribute('role', 'menuitem');
50
+ item.setAttribute('tabindex', '0');
51
+
52
+ if (index == 0) {
53
+ item.setAttribute('autofocus', true);
54
+ }
55
+ });
56
+
57
+ this.addEventListener('keydown', (event) => {
58
+ if (event && event.target instanceof HTMLElement && event.target.closest('a, button, summary')) {
59
+ const activeItem = document.activeElement;
60
+ const prevIndex = Array.from(topLevelmenuItems).indexOf(activeItem) - 1;
61
+ const nextIndex = Array.from(topLevelmenuItems).indexOf(activeItem) + 1;
62
+
63
+ switch (
64
+ event.keyCode // change to event.key to key to use the above variable
65
+ ) {
66
+ case 27: // Esc
67
+ if (activeItem.closest('details')) {
68
+ event.stopPropagation();
69
+ event.preventDefault();
70
+ activeItem.closest('details').removeAttribute('open');
71
+ activeItem.closest('details').querySelector(':scope summary').focus();
72
+ } else {
73
+ event.stopPropagation();
74
+ menuButton.focus();
75
+ }
76
+
77
+ break;
78
+ case 32: // Space
79
+ case 13: // Enter
80
+ if (activeItem.matches('summary') && !activeItem.parentElement.matches('details[open]')) {
81
+ activeItem.parentElement.setAttribute('open', true);
82
+ const subMenuItems = activeItem
83
+ .closest('details')
84
+ .querySelectorAll('a, button, :scope details > summary');
85
+ Array.from(subMenuItems)[0].focus();
86
+ }
87
+
88
+ break;
89
+ case 35: // end
90
+ event.stopPropagation();
91
+ event.preventDefault();
92
+
93
+ this.querySelector('details[open]').removeAttribute('open');
94
+ Array.from(menuItems)[menuItems.length - 1].focus();
95
+
96
+ break;
97
+ case 36: // home
98
+ event.stopPropagation();
99
+ event.preventDefault();
100
+
101
+ this.querySelector('details[open]').removeAttribute('open');
102
+ Array.from(menuItems)[0].focus();
103
+
104
+ break;
105
+ case 38: // up
106
+ event.stopPropagation();
107
+ event.preventDefault();
108
+
109
+ if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {
110
+ if (Array.from(topLevelmenuItems)[prevIndex] != undefined)
111
+ Array.from(topLevelmenuItems)[prevIndex].focus();
112
+ else Array.from(topLevelmenuItems)[topLevelmenuItems.length - 1].focus();
113
+ } else if (activeItem.closest('details')) {
114
+ const subMenuItems = activeItem
115
+ .closest('details')
116
+ .querySelectorAll('a, button, :scope details > summary');
117
+ subPrevIndex = Array.from(subMenuItems).indexOf(activeItem) - 1;
118
+
119
+ if (Array.from(subMenuItems)[subPrevIndex] != undefined) Array.from(subMenuItems)[subPrevIndex].focus();
120
+ else Array.from(subMenuItems)[subMenuItems.length - 1].focus();
121
+ }
122
+
123
+ break;
124
+ case 40: // down
125
+ event.stopPropagation();
126
+ event.preventDefault();
127
+
128
+ if (Array.from(topLevelmenuItems).indexOf(activeItem) > -1) {
129
+ if (Array.from(topLevelmenuItems)[nextIndex] != undefined)
130
+ Array.from(topLevelmenuItems)[nextIndex].focus();
131
+ else Array.from(topLevelmenuItems)[0].focus();
132
+ } else if (activeItem.closest('details')) {
133
+ const subMenuItems = activeItem
134
+ .closest('details')
135
+ .querySelectorAll('a, button, :scope details > summary');
136
+ subNextIndex = Array.from(subMenuItems).indexOf(activeItem) + 1;
137
+
138
+ if (Array.from(subMenuItems)[subNextIndex] != undefined) Array.from(subMenuItems)[subNextIndex].focus();
139
+ else Array.from(subMenuItems)[0].focus();
140
+ }
141
+
142
+ break;
143
+ }
144
+ }
145
+ });
146
+ }
147
+
148
+ // insert extra CSS to help style inline details and summary items to allow collapsible sub menus
149
+ if (this.querySelector('details') && !document.getElementById('menuGlobalStyles'))
150
+ document.head.insertAdjacentHTML(
151
+ 'beforeend',
152
+ `<style id="menuGlobalStyles">
153
+ iam-menu details > * {
154
+ background: unset !important;
155
+ border: unset !important;
156
+ color: inherit!important;
157
+ font-weight: inherit!important;
158
+ font-family: inherit!important;
159
+ font-size: 1rem!important;
160
+ display: block!important;
161
+ margin: var(--menu-item-margin, 0 0 0.25rem 0)!important;
162
+ padding: var(--menu-item-padding, 0)!important;
163
+ width: var(--menu-item-width, 100%)!important;
164
+ text-align: var(--menu-item-text-align, left)!important;
165
+ cursor: var(--menu-item-cursor, pointer)!important;
166
+ }
167
+ iam-menu details > *:after,
168
+ iam-menu details > *:not(summary):before {
169
+ display: none!important;
170
+ }
171
+ iam-menu details :is(button,a) {
172
+ padding-inline-start: var(--menu-dialog-offset,1rem)!important;
173
+ }
174
+ iam-menu details :is(button,a):last-child {
175
+ margin-block-end: var(--menu-dialog-offset,1rem)!important;
176
+ }
177
+ iam-menu details summary {
178
+ padding: 0 !important;
179
+ margin: var(--menu-item-margin, 0 0 0.25rem 0)!important;
180
+ }
181
+ iam-menu details summary:before {
182
+ text-align: center;
183
+ display: inline-block!important;
184
+ vertical-align: bottom;
185
+ float: right;
186
+ color: inherit;
187
+ height: 1em;
188
+ width: 1em;
189
+ }
190
+
191
+ iam-menu details summary[class*="fa-"]:before {
192
+ font-family: var(--fa-font-family, "Font Awesome 6 Pro");
193
+ }
194
+
195
+ iam-menu details summary:not([class*="fa-"]:before {
196
+ --icon-arrow: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22'%3e%3cpath d='M6.5,2l9,9-9,9' style='fill:none;stroke:%23000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px'/%3e%3c/svg%3e");
197
+
198
+ content: ""!important;
199
+ height: 1.2rem;
200
+ width: 1.2rem;
201
+ background: var(--colour-primary-theme);
202
+ mask-image: var(--icon, var(--icon-arrow));
203
+ mask-size: 50%;
204
+ mask-repeat: no-repeat;
205
+ mask-position: 50% 50%;
206
+ -webkit-mask-image: var(--icon, var(--icon-arrow));
207
+ -webkit-mask-size: 50%;
208
+ -webkit-mask-repeat: no-repeat;
209
+ -webkit-mask-position: 50% 50%;
210
+ z-index: 2;
211
+ display: inline-block;
212
+ vertical-align: bottom;
213
+ float: right;
214
+ rotate: 90deg;
215
+ color: inherit;
216
+ }
217
+ </style>`
218
+ );
219
+ }
220
+ }
221
+
222
+ export default iamMenu;
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  import { trackComponent, trackComponentRegistered } from '../_global';
3
2
 
4
3
  trackComponentRegistered('iam-multi-step');
@@ -26,7 +25,8 @@ class iamMultiStep extends HTMLElement {
26
25
  this.shadowRoot.appendChild(template.content.cloneNode(true));
27
26
  }
28
27
 
29
- connectedCallback() {
28
+ connectedCallback(): void {
29
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
30
30
  const MultiStepComponent = this;
31
31
  const steps = this.shadowRoot.querySelector('.steps');
32
32
  const form = this.querySelector('form');
@@ -70,13 +70,13 @@ class iamMultiStep extends HTMLElement {
70
70
  const fieldsetID = fieldset.getAttribute('data-title');
71
71
 
72
72
  if (fieldset.querySelector('.is-invalid')) {
73
- Array.from(MultiStepComponent.querySelectorAll(`[data-title="${fieldsetID}"]`)).forEach((element, index) => {
73
+ Array.from(MultiStepComponent.querySelectorAll(`[data-title="${fieldsetID}"]`)).forEach((element) => {
74
74
  element.classList.add('active');
75
75
  });
76
76
 
77
77
  break;
78
78
  } else {
79
- Array.from(MultiStepComponent.querySelectorAll(`[data-title="${fieldsetID}"]`)).forEach((element, index) => {
79
+ Array.from(MultiStepComponent.querySelectorAll(`[data-title="${fieldsetID}"]`)).forEach((element) => {
80
80
  element.classList.add('valid');
81
81
  });
82
82
  }
@@ -86,14 +86,14 @@ class iamMultiStep extends HTMLElement {
86
86
  MultiStepComponent.addEventListener(
87
87
  'invalid',
88
88
  (function () {
89
- return function (e) {
89
+ return function (e): any {
90
90
  e.preventDefault();
91
91
  };
92
92
  })(),
93
93
  true
94
94
  );
95
95
 
96
- function validateFieldset(button) {
96
+ function validateFieldset(button): void {
97
97
  const currentFieldset = MultiStepComponent.querySelector(`fieldset.active`)
98
98
  ? MultiStepComponent.querySelector(`fieldset.active`)
99
99
  : MultiStepComponent.querySelector(`fieldset[data-title]`);
@@ -102,32 +102,28 @@ class iamMultiStep extends HTMLElement {
102
102
 
103
103
  currentFieldset.classList.add('was-validated');
104
104
 
105
- Array.from(currentFieldset.querySelectorAll('input')).forEach((input, index) => {
105
+ Array.from(currentFieldset.querySelectorAll('input')).forEach((input) => {
106
106
  if (!input.checkValidity()) isFieldsetValid = false;
107
107
  });
108
108
 
109
109
  // If valid mode to next field set
110
110
  if (!isFieldsetValid) {
111
- Array.from(MultiStepComponent.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach(
112
- (element, index) => {
113
- element.classList.remove('valid');
114
- }
115
- );
111
+ Array.from(MultiStepComponent.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach((element) => {
112
+ element.classList.remove('valid');
113
+ });
116
114
 
117
115
  Array.from(MultiStepComponent.shadowRoot.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach(
118
- (element, index) => {
116
+ (element) => {
119
117
  element.classList.remove('valid');
120
118
  }
121
119
  );
122
120
  } else {
123
- Array.from(MultiStepComponent.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach(
124
- (element, index) => {
125
- element.classList.add('valid');
126
- }
127
- );
121
+ Array.from(MultiStepComponent.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach((element) => {
122
+ element.classList.add('valid');
123
+ });
128
124
 
129
125
  Array.from(MultiStepComponent.shadowRoot.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach(
130
- (element, index) => {
126
+ (element) => {
131
127
  element.classList.add('valid');
132
128
  }
133
129
  );
@@ -142,10 +138,10 @@ class iamMultiStep extends HTMLElement {
142
138
  `.steps button[data-title="${button.getAttribute('data-title')}"]`
143
139
  );
144
140
 
145
- Array.from(MultiStepComponent.querySelectorAll('button')).forEach((button, index) => {
141
+ Array.from(MultiStepComponent.querySelectorAll('button')).forEach((button) => {
146
142
  button.classList.remove('active');
147
143
  });
148
- Array.from(MultiStepComponent.querySelectorAll('fieldset')).forEach((button, index) => {
144
+ Array.from(MultiStepComponent.querySelectorAll('fieldset')).forEach((button) => {
149
145
  button.classList.remove('active');
150
146
  });
151
147
 
@@ -202,11 +198,11 @@ class iamMultiStep extends HTMLElement {
202
198
  trackComponent(MultiStepComponent, 'iam-multi-step', []);
203
199
  }
204
200
 
205
- static get observedAttributes() {
201
+ static get observedAttributes(): any {
206
202
  return ['data-image'];
207
203
  }
208
204
 
209
- attributeChangedCallback(attrName, oldVal, newVal) {
205
+ attributeChangedCallback(attrName, oldVal, newVal): void {
210
206
  switch (attrName) {
211
207
  case 'data-total': {
212
208
  if (this.shadowRoot.querySelector('.card__total'))
@@ -1,5 +1,3 @@
1
- // @ts-nocheck
2
-
3
1
  // Data layer Web component created
4
2
  window.dataLayer = window.dataLayer || [];
5
3
  window.dataLayer.push({
@@ -45,7 +43,8 @@ class iamMultiselect extends HTMLElement {
45
43
  this.shadowRoot.appendChild(template.content.cloneNode(true));
46
44
  }
47
45
 
48
- connectedCallback() {
46
+ connectedCallback(): void {
47
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
49
48
  const multiselect = this;
50
49
  const form = this.closest('form');
51
50
  const wrapper = this.shadowRoot.querySelector('.wrapper');
@@ -91,7 +90,7 @@ class iamMultiselect extends HTMLElement {
91
90
  }
92
91
 
93
92
  // Set the correct attributes
94
- function setItem(inputToSet) {
93
+ function setItem(inputToSet): void {
95
94
  if (inputToSet.checked == false) {
96
95
  inputToSet.closest('label').removeAttribute('slot');
97
96
  inputToSet.closest('label').removeAttribute('style');
@@ -121,13 +120,13 @@ class iamMultiselect extends HTMLElement {
121
120
  }
122
121
 
123
122
  // Set on load
124
- Array.from(multiselect.querySelectorAll(`label input[type="checkbox"]:checked`)).forEach((checkbox, index) => {
123
+ Array.from(multiselect.querySelectorAll(`label input[type="checkbox"]:checked`)).forEach((checkbox) => {
125
124
  setItem(checkbox);
126
125
  });
127
126
 
128
127
  // Filter list
129
- search.addEventListener('input', (event) => {
130
- Array.from(multiselect.querySelectorAll(`label:not([slot="checked"])`)).forEach((label, index) => {
128
+ search.addEventListener('input', () => {
129
+ Array.from(multiselect.querySelectorAll(`label:not([slot="checked"])`)).forEach((label) => {
131
130
  const checkbox = label.querySelector('input');
132
131
  const searchValue = checkbox.value;
133
132
  const labelText = label.textContent;
@@ -145,12 +144,12 @@ class iamMultiselect extends HTMLElement {
145
144
 
146
145
  // Add a delayed hover effect for non hover devices
147
146
  let hoverTimeout;
148
- multiselect.addEventListener('focus', (event) => {
147
+ multiselect.addEventListener('focus', () => {
149
148
  multiselect.classList.add('hover');
150
149
  clearTimeout(hoverTimeout);
151
150
  });
152
151
 
153
- search.addEventListener('blur', (event) => {
152
+ search.addEventListener('blur', () => {
154
153
  clearTimeout(hoverTimeout);
155
154
  hoverTimeout = setTimeout(function () {
156
155
  multiselect.classList.remove('hover');
@@ -174,8 +173,8 @@ class iamMultiselect extends HTMLElement {
174
173
  });
175
174
 
176
175
  // Clear all
177
- button.addEventListener('click', function (event) {
178
- Array.from(multiselect.querySelectorAll(`label input[type="checkbox"]`)).forEach((checkbox, index) => {
176
+ button.addEventListener('click', function () {
177
+ Array.from(multiselect.querySelectorAll(`label input[type="checkbox"]`)).forEach((checkbox) => {
179
178
  checkbox.checked = false;
180
179
 
181
180
  setItem(checkbox);
@@ -239,7 +238,7 @@ class iamMultiselect extends HTMLElement {
239
238
  }
240
239
  });
241
240
 
242
- function checkLastTag() {
241
+ function checkLastTag(): Element | null {
243
242
  if (order == 0) return false;
244
243
 
245
244
  let lastTag = multiselect.querySelector(`label[data-order="${order}"]`);
@@ -281,11 +280,11 @@ class iamMultiselect extends HTMLElement {
281
280
  });
282
281
 
283
282
  // Fix for the inline edit multiselect
284
- multiselect.addEventListener('mousedown', (event) => {
283
+ multiselect.addEventListener('mousedown', () => {
285
284
  wrapper.setAttribute('data-mousedown', 'true');
286
285
  });
287
286
 
288
- multiselect.addEventListener('mouseup', (event) => {
287
+ multiselect.addEventListener('mouseup', () => {
289
288
  wrapper.removeAttribute('data-mousedown');
290
289
  });
291
290
  }
@@ -1,5 +1,3 @@
1
- // @ts-nocheck
2
-
3
1
  // Data layer Web component created
4
2
  window.dataLayer = window.dataLayer || [];
5
3
  window.dataLayer.push({
@@ -18,7 +16,7 @@ class iamNav extends HTMLElement {
18
16
  const coreCSS = document.body.hasAttribute('data-core-css')
19
17
  ? document.body.getAttribute('data-core-css')
20
18
  : `${assetLocation}/css/core.min.css`;
21
- const loadCSS = `@import "${assetLocation}/css/components/nav.css";`;
19
+ const loadCSS = `@import "${assetLocation}/css/components/nav.component.css";`;
22
20
  const loadExtraCSS = `@import "${assetLocation}/css/components/nav.global.css";`;
23
21
 
24
22
  const template = document.createElement('template');
@@ -63,7 +61,7 @@ class iamNav extends HTMLElement {
63
61
  document.head.insertAdjacentHTML('beforeend', `<style id="navGlobal">${loadExtraCSS}</style>`);
64
62
  }
65
63
 
66
- connectedCallback() {
64
+ connectedCallback(): void {
67
65
  // Load external CSS if needed
68
66
  if (this.hasAttribute('data-css'))
69
67
  this.shadowRoot
@@ -72,6 +70,7 @@ class iamNav extends HTMLElement {
72
70
 
73
71
  const menuButton = this.shadowRoot.querySelector('.btn-menu');
74
72
  const menu = this.shadowRoot.querySelector('.menu');
73
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
75
74
  const iamNav = this;
76
75
  const backdrop = this.shadowRoot.querySelector('.backdrop');
77
76
  const buttonsHolder = this.shadowRoot.querySelector('.buttons-holder');
@@ -225,14 +224,14 @@ class iamNav extends HTMLElement {
225
224
  );
226
225
 
227
226
  // Allow outside JS to close the menu
228
- this.addEventListener('request-close', (event) => {
227
+ this.addEventListener('request-close', () => {
229
228
  menuButton.removeAttribute('aria-expanded');
230
229
  menu.classList.remove('open');
231
230
  iamNav.classList.remove('open');
232
231
  });
233
232
 
234
233
  // Close the menu on the click of the backdrop on desktop
235
- backdrop.addEventListener('click', (event) => {
234
+ backdrop.addEventListener('click', () => {
236
235
  const openMenu = this.querySelector('details[open] summary');
237
236
 
238
237
  if (openMenu) openMenu.click();
@@ -275,7 +274,7 @@ class iamNav extends HTMLElement {
275
274
  });
276
275
 
277
276
  // Close any other dropdowns on the same level
278
- Array.from(wrapper.querySelectorAll(':scope > details')).forEach((detailsArrayElement, index) => {
277
+ Array.from(wrapper.querySelectorAll(':scope > details')).forEach((detailsArrayElement) => {
279
278
  if (detailsArrayElement != details) detailsArrayElement.removeAttribute('open');
280
279
  });
281
280
 
@@ -334,14 +333,14 @@ class iamNav extends HTMLElement {
334
333
  searchButton.setAttribute('aria-expanded', true);
335
334
  }
336
335
 
337
- searchButton.addEventListener('click', (event) => {
336
+ searchButton.addEventListener('click', () => {
338
337
  searchDialog.setAttribute('open', 'open');
339
338
  this.classList.add('search-open');
340
339
 
341
340
  searchButton.setAttribute('aria-expanded', true);
342
341
  });
343
342
 
344
- searchClose.addEventListener('click', (event) => {
343
+ searchClose.addEventListener('click', () => {
345
344
  searchDialog.removeAttribute('open');
346
345
  this.classList.remove('search-open');
347
346
 
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  import setupNotification, { closeNotification } from '../../modules/notification';
3
2
 
4
3
  // Data layer Web component created
@@ -43,6 +42,7 @@ class iamNotification extends HTMLElement {
43
42
  }
44
43
 
45
44
  connectedCallback(): void {
45
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
46
46
  const wrapper = this;
47
47
  const statusBG = this.hasAttribute('data-status') ? this.getAttribute('data-status') : 'white';
48
48
 
@@ -69,7 +69,7 @@ class iamNotification extends HTMLElement {
69
69
 
70
70
  const buttons = this.querySelectorAll('a,button');
71
71
 
72
- Array.from(buttons).forEach((button, index) => {
72
+ Array.from(buttons).forEach((button) => {
73
73
  button.setAttribute('slot', 'btns');
74
74
  button.classList.add('link');
75
75
  });
@@ -90,7 +90,7 @@ class iamNotification extends HTMLElement {
90
90
 
91
91
  this.shadowRoot.querySelector('.notification__dismiss [data-dismiss-button]').addEventListener(
92
92
  'click',
93
- function (e) {
93
+ function () {
94
94
  closeNotification(wrapper);
95
95
  },
96
96
  false
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  class iamPagination extends HTMLElement {
3
2
  constructor() {
4
3
  super();
@@ -53,7 +52,7 @@ class iamPagination extends HTMLElement {
53
52
  this.shadowRoot.appendChild(template.content.cloneNode(true));
54
53
  }
55
54
 
56
- connectedCallback() {
55
+ connectedCallback(): void {
57
56
  // Set default attributes
58
57
  const params = new URLSearchParams(window.location.search);
59
58
 
@@ -82,12 +81,13 @@ class iamPagination extends HTMLElement {
82
81
  });
83
82
 
84
83
  // Next and previous buttons will simply trigger and on change on the select which in turn will dispatch an event
85
- next.addEventListener('click', (event) => {
84
+ next.addEventListener('click', () => {
86
85
  select.value = parseInt(select.value) + 1;
86
+
87
87
  select.dispatchEvent(new Event('change'));
88
88
  });
89
89
 
90
- prev.addEventListener('click', (event) => {
90
+ prev.addEventListener('click', () => {
91
91
  select.value = parseInt(select.value) - 1;
92
92
  select.dispatchEvent(new Event('change'));
93
93
  });
@@ -97,8 +97,17 @@ class iamPagination extends HTMLElement {
97
97
  this.setAttribute('data-increment', event.target.value);
98
98
  });
99
99
 
100
- loadMore.addEventListener('click', (event) => {
101
- const newValue = parseInt(this.getAttribute('data-show')) + parseInt(this.getAttribute('data-increment'));
100
+ // Load more button
101
+
102
+ const increment = parseInt(this.getAttribute('data-increment'));
103
+ const show = parseInt(this.getAttribute('data-show'));
104
+
105
+ if (show >= parseInt(this.getAttribute('data-total'))) {
106
+ loadMore.remove();
107
+ }
108
+
109
+ loadMore.addEventListener('click', () => {
110
+ const newValue = show + increment;
102
111
  this.setAttribute('data-show', newValue);
103
112
 
104
113
  if (newValue > parseInt(this.getAttribute('data-total'))) {
@@ -107,7 +116,7 @@ class iamPagination extends HTMLElement {
107
116
  });
108
117
  }
109
118
 
110
- setup() {
119
+ setup(): void {
111
120
  // Elements
112
121
  const wrapper = this.shadowRoot.querySelector('.pagination');
113
122
  const select = this.shadowRoot.querySelector('.page-jump select');
@@ -160,22 +169,22 @@ class iamPagination extends HTMLElement {
160
169
  perPage.value = increment;
161
170
  }
162
171
 
163
- static get observedAttributes() {
172
+ static get observedAttributes(): any {
164
173
  return ['data-total', 'data-increment', 'data-page', 'data-show'];
165
174
  }
166
175
 
167
- attributeChangedCallback(attrName, oldVal, newVal) {
176
+ attributeChangedCallback(attrName, oldVal, newVal): void {
168
177
  switch (attrName) {
169
178
  case 'data-total': {
170
179
  if (oldVal != newVal) {
171
- this.setAttribute('data-page', 1);
180
+ //this.setAttribute('data-page', 1);
172
181
  this.setup();
173
182
  }
174
183
  break;
175
184
  }
176
185
  case 'data-show': {
177
186
  if (oldVal != newVal) {
178
- this.setAttribute('data-page', 1);
187
+ //this.setAttribute('data-page', 1);
179
188
  this.setup();
180
189
  this.dispatchEvent(new CustomEvent('update-show', { detail: { show: newVal } }));
181
190
  }
@@ -184,7 +193,7 @@ class iamPagination extends HTMLElement {
184
193
  case 'data-increment': {
185
194
  if (oldVal != newVal) {
186
195
  this.setAttribute('data-show', newVal);
187
- this.setAttribute('data-page', 1);
196
+ //this.setAttribute('data-page', 1);
188
197
  this.setup();
189
198
  this.dispatchEvent(new CustomEvent('update-show', { detail: { show: newVal } }));
190
199
  }
@@ -193,6 +202,9 @@ class iamPagination extends HTMLElement {
193
202
  case 'data-page': {
194
203
  if (oldVal && oldVal != newVal) {
195
204
  this.setup();
205
+
206
+ console.log(newVal);
207
+
196
208
  // Dispact the event for other components to use as triggers
197
209
  this.dispatchEvent(new CustomEvent('update-page', { detail: { page: newVal } }));
198
210
  }
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  import { trackComponent, trackComponentRegistered } from '../_global';
3
2
  import { cardHTML, setupCard } from '../../modules/card.module';
4
3
 
@@ -27,27 +26,26 @@ class iamRecordCard extends HTMLElement {
27
26
  this.shadowRoot.appendChild(template.content.cloneNode(true));
28
27
  }
29
28
 
30
- async connectedCallback() {
31
- const cardComponent = this;
32
- const cardHead = cardComponent.shadowRoot.querySelector('.card__head');
33
- setupCard(cardComponent);
29
+ async connectedCallback(): void {
30
+ const cardHead = this.shadowRoot.querySelector('.card__head');
31
+ setupCard(this);
34
32
 
35
- Array.from(cardComponent.querySelectorAll(':scope > *:not([slot])')).forEach((element, index) => {
33
+ Array.from(this.querySelectorAll(':scope > *:not([slot])')).forEach((element) => {
36
34
  element.setAttribute('slot', 'details');
37
35
  });
38
36
 
39
- if (cardComponent.hasAttribute('data-avatar')) {
40
- cardHead.innerHTML += `<img src="${cardComponent.getAttribute('data-avatar')}" alt="" loading="lazy" class="card__avatar" part="avatar" />`;
37
+ if (this.hasAttribute('data-avatar')) {
38
+ cardHead.innerHTML += `<img src="${this.getAttribute('data-avatar')}" alt="" loading="lazy" class="card__avatar" part="avatar" />`;
41
39
  }
42
40
 
43
- trackComponent(cardComponent, 'iam-record-card', []);
41
+ trackComponent(this, 'iam-record-card', []);
44
42
  }
45
43
 
46
- static get observedAttributes() {
44
+ static get observedAttributes(): any {
47
45
  return ['data-image'];
48
46
  }
49
47
 
50
- attributeChangedCallback(attrName, oldVal, newVal) {
48
+ attributeChangedCallback(attrName, oldVal, newVal): void {
51
49
  switch (attrName) {
52
50
  case 'data-image': {
53
51
  if (oldVal != newVal) {