@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
@@ -1,11 +1,9 @@
1
- // @ts-nocheck
2
1
  import { getSwipeDirection } from './helpers';
3
2
 
4
- export const createTabsLinks = function (tabsElement: Element) {
5
- const details = tabsElement.querySelectorAll(':scope > details');
3
+ export const createTabsLinks = function (tabsElement: Element): void {
6
4
  const detailsORLinks = tabsElement.querySelectorAll(':scope > details, :scope > a');
7
- const summaries = tabsElement.querySelectorAll(':scope > details > summary');
8
5
  let tabLinks = tabsElement.querySelector(':scope > .tabs__links');
6
+ let tabDropdown = tabsElement.querySelector(':scope .tabs__dropdown');
9
7
 
10
8
  if (tabsElement.shadowRoot && tabsElement.shadowRoot.querySelector('.tabs__links'))
11
9
  tabLinks = tabsElement.shadowRoot.querySelector('.tabs__links');
@@ -21,10 +19,19 @@ export const createTabsLinks = function (tabsElement: Element) {
21
19
  tabsElement.prepend(tabLinksWrapper);
22
20
  }
23
21
 
22
+ if (!tabDropdown) {
23
+ tabDropdown = document.createElement('select');
24
+
25
+ tabDropdown.classList.add('tabs__dropdown');
26
+
27
+ tabsElement.prepend(tabDropdown);
28
+ }
29
+
24
30
  // Create the tab buttons from the summary titles
25
31
  let tabindex = 0;
26
- detailsORLinks.forEach((element, index) => {
32
+ detailsORLinks.forEach((element) => {
27
33
  let button = document.createElement('button');
34
+ const dropdownOpt = document.createElement('option');
28
35
 
29
36
  if (element.matches('details')) {
30
37
  const summary = element.querySelector(':scope > summary');
@@ -41,6 +48,11 @@ export const createTabsLinks = function (tabsElement: Element) {
41
48
  button.classList.add('link');
42
49
  button.setAttribute('data-index', tabindex);
43
50
  button.setAttribute('part', 'tab-link');
51
+
52
+ dropdownOpt.innerHTML = `${summary.innerText}`;
53
+ dropdownOpt.value = summary.innerText.replace(/\s+/g, '-').toLowerCase();
54
+ dropdownOpt.setAttribute('data-index', tabindex);
55
+
44
56
  element.setAttribute('tabindex', '-1');
45
57
 
46
58
  if (isDisabled) {
@@ -54,25 +66,28 @@ export const createTabsLinks = function (tabsElement: Element) {
54
66
 
55
67
  button.classList.add('link');
56
68
  tabLinks.appendChild(button);
69
+
70
+ tabDropdown.appendChild(dropdownOpt);
57
71
  });
58
72
  };
59
73
 
60
- export const setTabsEventHandlers = function (tabsElement: Element) {
74
+ export const setTabsEventHandlers = function (tabsElement: Element): void {
61
75
  const details = tabsElement.querySelectorAll(':scope > details');
62
76
  const summaries = tabsElement.querySelectorAll(':scope > details > summary');
63
77
  let buttonWrapper = tabsElement.querySelector(':scope .tabs__links');
64
78
  let buttons = tabsElement.querySelectorAll(':scope .tabs__links > button');
79
+ const tabDropdown = tabsElement.querySelector(':scope .tabs__dropdown');
65
80
 
66
81
  let nextButton = tabsElement.querySelector(':scope .tabs__next');
67
82
 
68
- var scrollTimeout;
83
+ let scrollTimeout;
69
84
  window.isClicked = false;
70
85
  window.isScrolling = false;
71
86
 
72
87
  if (tabsElement.shadowRoot) {
73
88
  buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');
74
89
  buttonWrapper = tabsElement.shadowRoot.querySelector('.tabs__links');
75
- nextButton = tabsElement.shadowRoot.querySelector(':scope .tabs__next');
90
+ nextButton = tabsElement.shadowRoot.querySelector('.tabs__next');
76
91
  }
77
92
 
78
93
  // Set the on click for the tab buttons, these will open the details box it matches too
@@ -95,11 +110,14 @@ export const setTabsEventHandlers = function (tabsElement: Element) {
95
110
  behavior: 'smooth',
96
111
  });
97
112
 
98
- details.forEach((detail, detailsIndex) => {
99
- const detailsOpen = button.getAttribute('data-index') == detailsIndex ? true : false;
113
+ //Handles showing correct content
114
+ toggleTab(details, button);
100
115
 
101
- if (detailsOpen) detail.setAttribute('open', detailsOpen);
102
- else detail.removeAttribute('open');
116
+ // Data layer Open Event
117
+ window.dataLayer = window.dataLayer || [];
118
+ window.dataLayer.push({
119
+ event: 'openTab',
120
+ tabTitle: button.textContent,
103
121
  });
104
122
 
105
123
  if (button.matches(':last-child')) {
@@ -107,17 +125,12 @@ export const setTabsEventHandlers = function (tabsElement: Element) {
107
125
  } else {
108
126
  nextButton?.removeAttribute('disabled');
109
127
  }
110
-
111
- // Data layer Open Event
112
- window.dataLayer = window.dataLayer || [];
113
- window.dataLayer.push({
114
- event: 'openTab',
115
- tabTitle: button.textContent,
116
- });
117
128
  });
129
+
130
+ dropdownTabSelector(details, tabDropdown);
118
131
  });
119
132
 
120
- buttonWrapper.addEventListener('scrollend', (event) => {
133
+ buttonWrapper.addEventListener('scrollend', () => {
121
134
  clearTimeout(scrollTimeout);
122
135
 
123
136
  scrollTimeout = setTimeout(function () {
@@ -154,6 +167,7 @@ export const setTabsEventHandlers = function (tabsElement: Element) {
154
167
 
155
168
  const currentTab = buttonWrapper.querySelector('[aria-pressed="true"]');
156
169
  const nextTab = currentTab.nextSibling;
170
+
157
171
  if (nextTab) nextTab.click();
158
172
  });
159
173
 
@@ -195,6 +209,31 @@ export const setTabsEventHandlers = function (tabsElement: Element) {
195
209
  }
196
210
  };
197
211
 
212
+ export const toggleTab = function (details: Array, button: Element): boolean | void {
213
+ details.forEach((detail, detailsIndex) => {
214
+ const detailsOpen = button.getAttribute('data-index') == detailsIndex ? true : false;
215
+
216
+ if (detailsOpen) detail.setAttribute('open', detailsOpen);
217
+ else detail.removeAttribute('open');
218
+ });
219
+ };
220
+
221
+ export const dropdownTabSelector = function (details: Array, dropdown: Element): boolean | void {
222
+ dropdown.addEventListener('change', (e) => {
223
+ e.preventDefault();
224
+ const selected = dropdown.options[dropdown.selectedIndex];
225
+
226
+ toggleTab(details, selected);
227
+
228
+ // Data layer Open Event
229
+ window.dataLayer = window.dataLayer || [];
230
+ window.dataLayer.push({
231
+ event: 'openTab',
232
+ tabTitle: selected.innerText,
233
+ });
234
+ });
235
+ };
236
+
198
237
  export const openFirstTab = function (tabsElement: Element): boolean | void {
199
238
  if (!tabsElement.querySelector(':scope > details')) return false;
200
239
 
@@ -1,10 +1,42 @@
1
- // @ts-nocheck
2
1
  // Modules
3
- import * as helpers from '../js/modules/helpers';
4
- import extendDialogs from '../js/modules/dialogs';
5
- import createDataLayer from '../js/modules/data-layer';
6
- import extendInputs from '../js/modules/inputs';
7
- import createDynamicEvents from '../js/modules/dynamicEvents';
2
+ import * as helpers from './modules/helpers';
3
+ import extendDialogs from './modules/dialogs';
4
+ import createDataLayer from './modules/data-layer';
5
+ import extendInputs from './modules/inputs';
6
+ import createDynamicEvents from './modules/dynamicEvents';
7
+
8
+ const components = [
9
+ 'accordion',
10
+ 'header',
11
+ 'table',
12
+ 'table-basic',
13
+ 'table-no-submit',
14
+ 'tabs',
15
+ 'card',
16
+ 'filter-card',
17
+ 'video-card',
18
+ 'record-card',
19
+ 'filterlist',
20
+ 'applied-filters',
21
+ 'pagination',
22
+ 'notification',
23
+ 'actionbar',
24
+ 'nav',
25
+ 'collapsible-side',
26
+ 'address-lookup',
27
+ 'fileupload',
28
+ 'search',
29
+ 'inline-edit',
30
+ 'multiselect',
31
+ 'multi-step',
32
+ 'menu',
33
+ 'slider',
34
+ 'carousel',
35
+ 'marketing',
36
+ 'barchart',
37
+ 'doughnutchart',
38
+ 'bento-grid',
39
+ ];
8
40
 
9
41
  // Attach classes to dom elements
10
42
  document.addEventListener('DOMContentLoaded', function () {
@@ -17,4 +49,38 @@ document.addEventListener('DOMContentLoaded', function () {
17
49
 
18
50
  extendDialogs(document.body);
19
51
  extendInputs(document.body);
52
+ /*
53
+ const prefix = 'iam';
54
+ const options = {
55
+ rootMargin: '50px',
56
+ threshold: 0.1,
57
+ };
58
+ const componentExt = '.component.min.js';
59
+
60
+ // Load components - Each component will load once the first of its type has been loaded
61
+ components.forEach((component) => {
62
+ if (document.getElementsByTagName(`${prefix}-${component}`).length === 0) return;
63
+
64
+ const callback = (entries: any): void => {
65
+ entries.forEach((entry: any) => {
66
+ if (entry.intersectionRatio > 0) {
67
+
68
+ import(`../js/components/${component}/${component}${componentExt}`)
69
+ .then((module) => {
70
+ if (!window.customElements.get(`${prefix}-${component}`))
71
+ window.customElements.define(`${prefix}-${component}`, module.default);
72
+ })
73
+ .catch((err) => {
74
+ console.log(err.message);
75
+ });
76
+
77
+ intObserver.unobserve(entry.target);
78
+ }
79
+ });
80
+ };
81
+
82
+ const intObserver = new IntersectionObserver(callback, options);
83
+ intObserver.observe(document.getElementsByTagName(`${prefix}-${component}`)[0]);
84
+ });
85
+ */
20
86
  });
@@ -0,0 +1,19 @@
1
+ // @ts-nocheck
2
+ import '@testing-library/jest-dom';
3
+ import { getChartData } from '../modules/chart.module';
4
+ import puppeteer from 'puppeteer';
5
+ import 'expect-puppeteer';
6
+
7
+ import iamCard from '../components/card/card.component';
8
+
9
+ describe('The card component', () => {
10
+ if (!window.customElements.get(`iam-card`)) window.customElements.define(`iam-card`, iamCard);
11
+
12
+ document.body.innerHTML = `
13
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>`;
14
+
15
+ test('should have the class of card added to it', () => {
16
+ let component = document.querySelector('iam-card');
17
+ expect(component.classList).toContain('card');
18
+ });
19
+ });
@@ -0,0 +1,66 @@
1
+ // @ts-nocheck
2
+ import '@testing-library/jest-dom';
3
+ import { getChartData } from '../modules/chart.module';
4
+ import puppeteer from 'puppeteer';
5
+ import 'expect-puppeteer';
6
+
7
+ import iamCarousel from '../components/carousel/carousel.component';
8
+ import iamCard from '../components/card/card.component';
9
+
10
+ import { getProgressMax } from '../modules/carousel';
11
+
12
+ describe('The carousel component', () => {
13
+ if (!window.customElements.get(`iam-carousel`)) window.customElements.define(`iam-carousel`, iamCarousel);
14
+ if (!window.customElements.get(`iam-card`)) window.customElements.define(`iam-card`, iamCard);
15
+
16
+ document.body.innerHTML = `
17
+ <iam-carousel>
18
+ <div>
19
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
20
+ </div>
21
+ <div>
22
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
23
+ </div>
24
+ <div>
25
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
26
+ </div>
27
+ <div>
28
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
29
+ </div>
30
+ <div>
31
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
32
+ </div>
33
+ <div>
34
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
35
+ </div>
36
+ <div>
37
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
38
+ </div>
39
+ <div>
40
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
41
+ </div>
42
+ <div>
43
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
44
+ </div>
45
+ <div>
46
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
47
+ </div>
48
+ <div>
49
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
50
+ </div>
51
+ <div>
52
+ <iam-card>Financial preparation <span>Here would be the top level description of the task</span></iam-card>
53
+ </div>
54
+ </iam-carousel>`;
55
+
56
+ test('should have a pip for each item', () => {
57
+ let component = document.querySelector('iam-carousel');
58
+ let value = component?.shadowRoot?.querySelectorAll('.carousel__controls button').length;
59
+
60
+ expect(value).toEqual(12);
61
+ });
62
+
63
+ test('should set the max value of the range input to the number of items divided by the visible items', () => {
64
+ expect(getProgressMax(9, 3)).toEqual(7);
65
+ });
66
+ });
@@ -35,18 +35,21 @@ describe('The bar chart component', () => {
35
35
  </table>
36
36
  </iam-barchart>`;
37
37
 
38
- test('should create the min attribute as 0', () => {
38
+ test('should sync HTML changes with the shadow dom', () => {
39
39
  let component = document.querySelector('iam-barchart');
40
- let { min } = getChartData(component);
40
+ let domElement = component.querySelector('tr:first-child td:nth-child(2)');
41
41
 
42
- expect(min).toEqual(0);
42
+ let shadowElement = component.shadowRoot.querySelector('tr:first-child td:nth-child(2)');
43
+ let value = shadowElement?.innerHTML;
44
+
45
+ expect(value).toEqual('<span data-group="Item 1" part="popover">300</span>');
43
46
  });
44
47
 
45
- test('should equal the largest single value', () => {
48
+ test('should create the min attribute as 0', () => {
46
49
  let component = document.querySelector('iam-barchart');
47
- let { max } = getChartData(component);
50
+ let { min } = getChartData(component);
48
51
 
49
- expect(max).toEqual(300);
52
+ expect(min).toEqual(0);
50
53
  });
51
54
 
52
55
  test('should equal the largest single value', () => {
@@ -0,0 +1,30 @@
1
+ // @ts-nocheck
2
+ import '@testing-library/jest-dom';
3
+ import { getChartData } from '../modules/chart.module';
4
+ import puppeteer from 'puppeteer';
5
+ import 'expect-puppeteer';
6
+
7
+ import iamFileupload from '../components/fileupload/fileupload.component';
8
+
9
+ describe('The Fileupload component', () => {
10
+ if (!window.customElements.get(`iam-fileupload`)) window.customElements.define(`iam-fileupload`, iamFileupload);
11
+
12
+ document.body.innerHTML = `
13
+ <iam-fileupload>
14
+ <input type="file" name="files[]" accept=".pdf, .csv, .jpg, .png" multiple="multiple" />
15
+ </iam-fileupload>`;
16
+
17
+ test('should have a title in its UI', () => {
18
+ let component = document.querySelector('iam-fileupload');
19
+ let title = component?.shadowRoot.querySelector('.file-upload__title');
20
+
21
+ expect(title?.innerHTML).toContain('Upload file');
22
+ });
23
+
24
+ test('should have a button in its UI', () => {
25
+ let component = document.querySelector('iam-fileupload');
26
+ let button = component?.shadowRoot.querySelector('button');
27
+
28
+ expect(button?.innerHTML).toContain('Upload file');
29
+ });
30
+ });
@@ -0,0 +1,78 @@
1
+ // @ts-nocheck
2
+ import '@testing-library/jest-dom';
3
+ import { getChartData } from '../modules/chart.module';
4
+ import puppeteer from 'puppeteer';
5
+ import 'expect-puppeteer';
6
+
7
+ import iamMultiStep from '../components/multi-step/multi-step.component';
8
+
9
+ describe('The Multi-step component', () => {
10
+ if (!window.customElements.get(`iam-multi-step`)) window.customElements.define(`iam-multi-step`, iamMultiStep);
11
+
12
+ document.body.innerHTML = `
13
+ <iam-multi-step>
14
+ <form>
15
+ <span class="h3">Multi-step modal title</span>
16
+
17
+ <fieldset data-title="Personal details">
18
+ <div>
19
+ <label for="input1">Name 1</label>
20
+ <input type="text" id="input1" name="input1" placeholder="Optional placeholder text" required="" />
21
+ <span class="invalid-feedback">This field is required</span>
22
+ </div>
23
+ </fieldset>
24
+ <fieldset data-title="Property details">
25
+ <div>
26
+ <label for="input2">Name 2</label>
27
+ <input type="text" id="input2" name="input2" placeholder="Optional placeholder text" required="" />
28
+ <span class="invalid-feedback">This field is required</span>
29
+ </div>
30
+ </fieldset>
31
+ <fieldset data-title="Location">
32
+ <div>
33
+ <label for="input3">Name 3</label>
34
+ <input
35
+ type="text"
36
+ id="input3"
37
+ name="input3"
38
+ placeholder="Optional placeholder text"
39
+ required=""
40
+ class="is-invalid"
41
+ />
42
+ <span class="invalid-feedback">This field is required</span>
43
+ </div>
44
+ </fieldset>
45
+ <fieldset data-title="Submit property">
46
+ <div>
47
+ <label for="input4">Name 4</label>
48
+ <input type="text" id="input4" name="input4" placeholder="Optional placeholder text" required="" />
49
+ <span class="invalid-feedback">This field is required</span>
50
+ </div>
51
+ </fieldset>
52
+ <button class="btn btn-primary colour-success" type="submit">Register</button>
53
+ </form>
54
+
55
+ </iam-multi-step>`;
56
+
57
+ test('should add the active class to the first fieldset element', () => {
58
+ let component = document.querySelector('iam-multi-step');
59
+ let fieldset = component.querySelector('fieldset');
60
+
61
+ expect(fieldset.classList).toContain('active');
62
+ });
63
+
64
+ test('should have a next button added to each fieldset element', () => {
65
+ let component = document.querySelector('iam-multi-step');
66
+ let fieldset = component.querySelector('fieldset');
67
+ let button = fieldset.querySelector('.btn--wrapper button[data-next]');
68
+
69
+ expect(button?.innerHTML).toContain('Next');
70
+ });
71
+
72
+ test('should have a steps list created using the data-title attributes for content', () => {
73
+ let component = document.querySelector('iam-multi-step');
74
+ let button = component?.shadowRoot.querySelector('.steps button');
75
+
76
+ expect(button?.innerHTML).toContain('Personal details');
77
+ });
78
+ });
@@ -66,30 +66,6 @@ describe('addDataAttributes', () => {
66
66
  });
67
67
  });
68
68
 
69
- describe('createSearchDataList', () => {
70
- const table = document.createElement('table');
71
- table.innerHTML = basicTable;
72
- const form = document.createElement('form');
73
- form.innerHTML += `<div><input name="search" id="search" type="text" class="form-control" data-search="Heading 1"></div>`;
74
-
75
- tableModule.addDataAttributes(table);
76
- tableModule.createSearchDataList(table, form);
77
-
78
- test('should create a datalist populated by the defined columns in the data-search ', () => {
79
- expect(form.querySelectorAll('datalist').length).toEqual(1);
80
- expect(form.querySelectorAll('datalist option').length).toEqual(2);
81
- expect(form.querySelector('datalist option:nth-child(1)').value).toEqual('Cell 1');
82
- expect(form.querySelector('datalist option:nth-child(2)').value).toEqual('Different Cell 1');
83
- });
84
-
85
- test('should set the autocomplete attribute to off', () => {
86
- expect(form.querySelectorAll('datalist').length).toEqual(1);
87
- expect(form.querySelectorAll('datalist option').length).toEqual(2);
88
- expect(form.querySelector('datalist option:nth-child(1)').value).toEqual('Cell 1');
89
- expect(form.querySelector('input').getAttribute('autocomplete')).toEqual('off');
90
- });
91
- });
92
-
93
69
  describe('sortTable', () => {
94
70
  const table = document.createElement('table');
95
71
  table.innerHTML = basicTable;
@@ -107,20 +83,6 @@ describe('sortTable', () => {
107
83
  });
108
84
  });
109
85
 
110
- describe('filterTable', () => {
111
- const table = document.createElement('table');
112
- table.innerHTML = basicTable;
113
- const form = document.createElement('form');
114
- form.innerHTML += `<div><input type="text" name="filter" id="filter" data-filter="Heading 2" value="High" /></div>`;
115
-
116
- tableModule.addDataAttributes(table);
117
- tableModule.filterTable(table, form, document.createElement('div'));
118
-
119
- test('should filter the table to only show high values', () => {
120
- expect(table.querySelectorAll('tbody tr.filtered--matched').length).toEqual(1);
121
- });
122
- });
123
-
124
86
  describe('formatCell', () => {
125
87
  test('should format the text correctly', () => {
126
88
  expect(tableModule.formatCell('date', '2023-05-15 12:10:45.000000')).toEqual('15 May 23');