@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,10 +1,10 @@
1
1
  /*!
2
- * iamKey v7.1.0--beta7
2
+ * iamKey v7.2.1--beta1
3
3
  * Copyright 2022-2025 iamproperty
4
- */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Slider"});class f extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",p=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,l=document.createElement("template");l.innerHTML=`
4
+ */window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Slider"});class w extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",d=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,n=document.createElement("template");n.innerHTML=`
5
5
  <style>
6
- @import "${p}";
7
- .row{align-items:center}:is(.min,.max){max-width:fit-content;line-height:2rem}.sliders{position:relative;padding:0}:host{max-width:var(--input-max-width, 50rem);display:block}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%))}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%))}input[type=range]+input[type=range]{position:absolute;top:0;left:50%;width:50%}input[type=range]+input[type=range]::-webkit-slider-runnable-track{background:rgba(0,0,0,0);pointer-events:none;width:200%;margin-left:-100%}@supports(-moz-appearance: none){input[type=range]+input[type=range]{left:0;width:100%;pointer-events:none}}input[type=range]+input[type=range]::-moz-range-track{background:rgba(0,0,0,0);pointer-events:none}.input__wrapper{display:flex;justify-content:flex-end;--max-width: 6.25rem;--padding-top: 0.75rem}.input__wrapper>span{display:none}.input__wrapper[data-elements="2"]{justify-content:space-between;--max-width: calc(50% - 3rem);--padding-top: 2rem;position:relative}.input__wrapper[data-elements="2"]:before{content:"";position:absolute;width:4rem;height:2px;top:calc(50% - 1px);left:calc(50% - 2rem);background-color:var(--colour-border)}.input__wrapper[data-elements="2"] span{display:block;position:absolute;top:.5rem;left:1rem;color:#9d9d9d;font-size:1rem}.input__wrapper[data-elements="2"] span+span{left:calc(50% + 4rem)}::slotted(input){margin-top:0 !important;padding-top:var(--padding-top) !important;max-width:var(--max-width) !important;-webkit-appearance:none !important;appearance:none !important;min-height:auto !important;max-height:none !important}/*# sourceMappingURL=assets/css/components/slider.css.map */
6
+ @import "${d}";
7
+ @layer reset{.row{--gutter-x: 1rem;--gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--gutter-y));margin-right:calc(-0.5*var(--gutter-x));margin-left:calc(-0.5*var(--gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--gutter-x)*.5);padding-left:calc(var(--gutter-x)*.5);margin-top:var(--gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}.g-0,.gx-0{--gutter-x: 0}.g-0,.gy-0{--gutter-y: 0}.g-1,.gx-1{--gutter-x: 0.5rem}.g-1,.gy-1{--gutter-y: 0.5rem}.g-2,.gx-2{--gutter-x: 1rem}.g-2,.gy-2{--gutter-y: 1rem}.g-3,.gx-3{--gutter-x: 1.5rem}.g-3,.gy-3{--gutter-y: 1.5rem}.g-4,.gx-4{--gutter-x: 2rem}.g-4,.gy-4{--gutter-y: 2rem}.g-5,.gx-5{--gutter-x: 3rem}.g-5,.gy-5{--gutter-y: 3rem}@media screen and (min-width: 36em){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}.g-sm-0,.gx-sm-0{--gutter-x: 0}.g-sm-0,.gy-sm-0{--gutter-y: 0}.g-sm-1,.gx-sm-1{--gutter-x: 0.5rem}.g-sm-1,.gy-sm-1{--gutter-y: 0.5rem}.g-sm-2,.gx-sm-2{--gutter-x: 1rem}.g-sm-2,.gy-sm-2{--gutter-y: 1rem}.g-sm-3,.gx-sm-3{--gutter-x: 1.5rem}.g-sm-3,.gy-sm-3{--gutter-y: 1.5rem}.g-sm-4,.gx-sm-4{--gutter-x: 2rem}.g-sm-4,.gy-sm-4{--gutter-y: 2rem}.g-sm-5,.gx-sm-5{--gutter-x: 3rem}.g-sm-5,.gy-sm-5{--gutter-y: 3rem}}@media screen and (min-width: 62em){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}.g-md-0,.gx-md-0{--gutter-x: 0}.g-md-0,.gy-md-0{--gutter-y: 0}.g-md-1,.gx-md-1{--gutter-x: 0.5rem}.g-md-1,.gy-md-1{--gutter-y: 0.5rem}.g-md-2,.gx-md-2{--gutter-x: 1rem}.g-md-2,.gy-md-2{--gutter-y: 1rem}.g-md-3,.gx-md-3{--gutter-x: 1.5rem}.g-md-3,.gy-md-3{--gutter-y: 1.5rem}.g-md-4,.gx-md-4{--gutter-x: 2rem}.g-md-4,.gy-md-4{--gutter-y: 2rem}.g-md-5,.gx-md-5{--gutter-x: 3rem}.g-md-5,.gy-md-5{--gutter-y: 3rem}}}.row{align-items:center}:is(.min,.max){max-width:fit-content;line-height:2rem}.sliders{position:relative;padding:0}:host{max-width:var(--input-max-width, 50rem);display:block}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%))}input[type=range]::-moz-range-track{background:linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%))}input[type=range]+input[type=range]{position:absolute;top:0;left:50%;width:50%}input[type=range]+input[type=range]::-webkit-slider-runnable-track{background:rgba(0,0,0,0);pointer-events:none;width:200%;margin-left:-100%}@supports(-moz-appearance: none){input[type=range]+input[type=range]{left:0;width:100%;pointer-events:none}}input[type=range]+input[type=range]::-moz-range-track{background:rgba(0,0,0,0);pointer-events:none}.input__wrapper{display:flex;justify-content:flex-end;--max-width: 6.25rem;--padding-top: 0.75rem}.input__wrapper>span{display:none}.input__wrapper[data-elements="2"]{justify-content:space-between;--max-width: calc(50% - 3rem);--padding-top: 2rem;position:relative}.input__wrapper[data-elements="2"]:before{content:"";position:absolute;width:4rem;height:2px;top:calc(50% - 1px);left:calc(50% - 2rem);background-color:var(--colour-border)}.input__wrapper[data-elements="2"] span{display:block;position:absolute;top:.5rem;left:1rem;color:#9d9d9d;font-size:1rem}.input__wrapper[data-elements="2"] span+span{left:calc(50% + 4rem)}::slotted(input){margin-top:0 !important;padding-top:var(--padding-top) !important;max-width:var(--max-width) !important;-webkit-appearance:none !important;appearance:none !important;min-height:auto !important;max-height:none !important}/*# sourceMappingURL=assets/css/components/slider.css.map */
8
8
 
9
9
  </style>
10
10
  <div class="row">
@@ -15,5 +15,5 @@
15
15
  <div class="col max ps-2"></div>
16
16
  </div>
17
17
  <div class="input__wrapper"><slot></slot><span>Minimum</span><span>Maximum</span></div>
18
- `,this.shadowRoot.appendChild(l.content.cloneNode(!0))}connectedCallback(){const t=this,p=this.shadowRoot.querySelector(".min"),l=this.shadowRoot.querySelector(".max"),m=this.shadowRoot.querySelector(".sliders");let s=this.querySelectorAll("input");const y=this.shadowRoot.querySelector(".input__wrapper"),g=this.closest("label");let c,v="mouseup",h="mousedown";"ontouchstart"in document.documentElement&&(v="touchend",h="touchstart");const i=function(e,r){const a=e.value,d=t.shadowRoot.querySelector(".is-first").getAttribute("min"),u=t.shadowRoot.querySelector(".is-last").getAttribute("max");if(e.classList.contains("is-last")&&!e.classList.contains("is-first")){const n=a/(u-d)*100;t.style.setProperty("--percent",n+"%"),parseFloat(e.value)<=parseFloat(t.shadowRoot.querySelector(".is-first").value)&&(t.shadowRoot.querySelector(".is-first").value=e.value,t.querySelector(".is-first").value=e.value,t.style.setProperty("--start-percent",n+"%"))}else if(e.classList.contains("is-first")&&!e.classList.contains("is-last")){const n=a/(u-d)*100;t.style.setProperty("--start-percent",n+"%"),parseFloat(e.value)>=parseFloat(t.shadowRoot.querySelector(".is-last").value)&&(t.shadowRoot.querySelector(".is-last").value=e.value,t.querySelector(".is-last").value=e.value,t.style.setProperty("--percent",n+"%"))}else{const n=(a/(u-d)*100).toFixed(2);t.style.setProperty("--percent",n+"%")}};Array.from(s).forEach((e,r)=>{const a=e.cloneNode(!0);e.setAttribute("type","number"),a.setAttribute("type","range"),r==0&&(e.classList.add("is-first"),a.classList.add("is-first"),p.innerHTML=e.getAttribute("min"),l.innerHTML=e.getAttribute("max"),m.appendChild(a)),r==s.length-1&&(e.classList.add("is-last"),a.classList.add("is-last"),m.appendChild(a)),r>1&&e.remove()}),s=this.querySelectorAll("input"),y.setAttribute("data-elements",s.length);const o=this.shadowRoot.querySelectorAll("input");Array.from(s).forEach((e,r)=>{e.addEventListener("keyup",function(a){o[r].value=e.value,i(o[r])}),e.addEventListener("keydown",function(a){o[r].value=e.value,i(o[r])}),e.addEventListener("change",function(a){o[r].value=e.value,i(o[r])})}),Array.from(o).forEach((e,r)=>{i(e),e.addEventListener(h,function(a){clearInterval(c),c=setInterval(function(){i(e),s[r].value=e.value},10)}),e.addEventListener(v,function(a){clearInterval(c)}),e.addEventListener("change",function(a){clearInterval(c),i(e),s[r].value=e.value})}),g.addEventListener("click",function(e){if(e.preventDefault(),this===e.target)t.shadowRoot.querySelector("input").focus();else return e.stopPropagation(),!1})}}export{f as default};
18
+ `,this.shadowRoot.appendChild(n.content.cloneNode(!0))}connectedCallback(){const o=this,d=this.shadowRoot.querySelector(".min"),n=this.shadowRoot.querySelector(".max"),u=this.shadowRoot.querySelector(".sliders");let a=this.querySelectorAll("input");const p=this.shadowRoot.querySelector(".input__wrapper"),h=this.closest("label");let m,f="mouseup",g="mousedown";"ontouchstart"in document.documentElement&&(f="touchend",g="touchstart");const i=function(t){const e=t.value,r=o.shadowRoot.querySelector(".is-first").getAttribute("min"),c=o.shadowRoot.querySelector(".is-last").getAttribute("max");if(t.classList.contains("is-last")&&!t.classList.contains("is-first")){const l=e/(c-r)*100;o.style.setProperty("--percent",l+"%"),parseFloat(t.value)<=parseFloat(o.shadowRoot.querySelector(".is-first").value)&&(o.shadowRoot.querySelector(".is-first").value=t.value,o.querySelector(".is-first").value=t.value,o.style.setProperty("--start-percent",l+"%"))}else if(t.classList.contains("is-first")&&!t.classList.contains("is-last")){const l=e/(c-r)*100;o.style.setProperty("--start-percent",l+"%"),parseFloat(t.value)>=parseFloat(o.shadowRoot.querySelector(".is-last").value)&&(o.shadowRoot.querySelector(".is-last").value=t.value,o.querySelector(".is-last").value=t.value,o.style.setProperty("--percent",l+"%"))}else{const l=(e/(c-r)*100).toFixed(2);o.style.setProperty("--percent",l+"%")}};Array.from(a).forEach((t,e)=>{const r=t.cloneNode(!0);t.setAttribute("type","number"),r.setAttribute("type","range"),e==0&&(t.classList.add("is-first"),r.classList.add("is-first"),d.innerHTML=t.getAttribute("min"),n.innerHTML=t.getAttribute("max"),u.appendChild(r)),e==a.length-1&&(t.classList.add("is-last"),r.classList.add("is-last"),u.appendChild(r)),e>1&&t.remove()}),a=this.querySelectorAll("input"),p.setAttribute("data-elements",a.length);const s=this.shadowRoot.querySelectorAll("input");Array.from(a).forEach((t,e)=>{t.addEventListener("keyup",function(){s[e].value=t.value,i(s[e])}),t.addEventListener("keydown",function(){s[e].value=t.value,i(s[e])}),t.addEventListener("change",function(){s[e].value=t.value,i(s[e])})}),Array.from(s).forEach((t,e)=>{i(t),t.addEventListener(g,function(){clearInterval(m),m=setInterval(function(){i(t),a[e].value=t.value},10)}),t.addEventListener(f,function(){clearInterval(m)}),t.addEventListener("change",function(){clearInterval(m),i(t),a[e].value=t.value})}),h.addEventListener("click",function(t){if(t.preventDefault(),this===t.target)o.shadowRoot.querySelector("input").focus();else return t.stopPropagation(),!1})}}export{w as default};
19
19
  //# sourceMappingURL=slider.component.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.component.min.js","sources":["slider.component.js"],"sourcesContent":["// @ts-nocheck\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Slider',\n});\nclass iamSlider extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/slider.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n </style>\n <div class=\"row\">\n <div class=\"col min pe-2\"></div>\n <div class=\"col sliders\">\n \n </div>\n <div class=\"col max ps-2\"></div>\n </div>\n <div class=\"input__wrapper\"><slot></slot><span>Minimum</span><span>Maximum</span></div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n const slider = this;\n const minElement = this.shadowRoot.querySelector('.min');\n const maxElement = this.shadowRoot.querySelector('.max');\n const slidersHolder = this.shadowRoot.querySelector('.sliders');\n let inputs = this.querySelectorAll('input');\n const inputWrapper = this.shadowRoot.querySelector('.input__wrapper');\n const label = this.closest('label');\n let stepperInterval, stepperEvent = 'mouseup', stepperStart = 'mousedown';\n if ('ontouchstart' in document.documentElement) {\n stepperEvent = 'touchend';\n stepperStart = 'touchstart';\n }\n const stepperFunction = function (input, eventType) {\n const value = input.value;\n const min = slider.shadowRoot.querySelector('.is-first').getAttribute('min');\n const max = slider.shadowRoot.querySelector('.is-last').getAttribute('max');\n if (input.classList.contains('is-last') && !input.classList.contains('is-first')) {\n const percent = (value / (max - min)) * 100;\n slider.style.setProperty('--percent', percent + '%');\n if (parseFloat(input.value) <= parseFloat(slider.shadowRoot.querySelector('.is-first').value)) {\n slider.shadowRoot.querySelector('.is-first').value = input.value;\n slider.querySelector('.is-first').value = input.value;\n slider.style.setProperty('--start-percent', percent + '%');\n }\n }\n else if (input.classList.contains('is-first') && !input.classList.contains('is-last')) {\n const percent = (value / (max - min)) * 100;\n slider.style.setProperty('--start-percent', percent + '%');\n if (parseFloat(input.value) >= parseFloat(slider.shadowRoot.querySelector('.is-last').value)) {\n slider.shadowRoot.querySelector('.is-last').value = input.value;\n slider.querySelector('.is-last').value = input.value;\n slider.style.setProperty('--percent', percent + '%');\n }\n }\n else {\n const percent = ((value / (max - min)) * 100).toFixed(2);\n slider.style.setProperty('--percent', percent + '%');\n }\n };\n // Create sliders\n Array.from(inputs).forEach((input, index) => {\n const rangeInput = input.cloneNode(true);\n input.setAttribute('type', 'number');\n rangeInput.setAttribute('type', 'range');\n if (index == 0) {\n input.classList.add('is-first');\n rangeInput.classList.add('is-first');\n minElement.innerHTML = input.getAttribute('min');\n maxElement.innerHTML = input.getAttribute('max');\n slidersHolder.appendChild(rangeInput);\n }\n if (index == inputs.length - 1) {\n input.classList.add('is-last');\n rangeInput.classList.add('is-last');\n slidersHolder.appendChild(rangeInput);\n }\n if (index > 1) {\n input.remove();\n }\n });\n inputs = this.querySelectorAll('input');\n inputWrapper.setAttribute('data-elements', inputs.length);\n const sliders = this.shadowRoot.querySelectorAll('input');\n Array.from(inputs).forEach((input, index) => {\n input.addEventListener('keyup', function (event) {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n input.addEventListener('keydown', function (event) {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n input.addEventListener('change', function (event) {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n });\n Array.from(sliders).forEach((input, index) => {\n stepperFunction(input, 'start');\n input.addEventListener(stepperStart, function (event) {\n clearInterval(stepperInterval);\n stepperInterval = setInterval(function () {\n stepperFunction(input, 'drag');\n inputs[index].value = input.value;\n }, 10);\n });\n input.addEventListener(stepperEvent, function (event) {\n clearInterval(stepperInterval);\n });\n input.addEventListener('change', function (event) {\n clearInterval(stepperInterval);\n stepperFunction(input, 'click');\n inputs[index].value = input.value;\n });\n });\n // Move focus to slider when clicking on label\n label.addEventListener('click', function (event) {\n event.preventDefault();\n if (this === event.target) {\n /* click was on label */\n slider.shadowRoot.querySelector('input').focus();\n }\n else {\n /* click was on input */\n event.stopPropagation();\n return false;\n }\n });\n } // Connected callback\n}\nexport default iamSlider;\n"],"names":["iamSlider","assetLocation","coreCSS","template","slider","minElement","maxElement","slidersHolder","inputs","inputWrapper","label","stepperInterval","stepperEvent","stepperStart","stepperFunction","input","eventType","value","min","max","percent","index","rangeInput","sliders","event"],"mappings":"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"}
1
+ {"version":3,"file":"slider.component.min.js","sources":["slider.component.js"],"sourcesContent":["// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Slider',\n});\nclass iamSlider extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/slider.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n </style>\n <div class=\"row\">\n <div class=\"col min pe-2\"></div>\n <div class=\"col sliders\">\n \n </div>\n <div class=\"col max ps-2\"></div>\n </div>\n <div class=\"input__wrapper\"><slot></slot><span>Minimum</span><span>Maximum</span></div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const slider = this;\n const minElement = this.shadowRoot.querySelector('.min');\n const maxElement = this.shadowRoot.querySelector('.max');\n const slidersHolder = this.shadowRoot.querySelector('.sliders');\n let inputs = this.querySelectorAll('input');\n const inputWrapper = this.shadowRoot.querySelector('.input__wrapper');\n const label = this.closest('label');\n let stepperInterval, stepperEvent = 'mouseup', stepperStart = 'mousedown';\n if ('ontouchstart' in document.documentElement) {\n stepperEvent = 'touchend';\n stepperStart = 'touchstart';\n }\n const stepperFunction = function (input) {\n const value = input.value;\n const min = slider.shadowRoot.querySelector('.is-first').getAttribute('min');\n const max = slider.shadowRoot.querySelector('.is-last').getAttribute('max');\n if (input.classList.contains('is-last') && !input.classList.contains('is-first')) {\n const percent = (value / (max - min)) * 100;\n slider.style.setProperty('--percent', percent + '%');\n if (parseFloat(input.value) <= parseFloat(slider.shadowRoot.querySelector('.is-first').value)) {\n slider.shadowRoot.querySelector('.is-first').value = input.value;\n slider.querySelector('.is-first').value = input.value;\n slider.style.setProperty('--start-percent', percent + '%');\n }\n }\n else if (input.classList.contains('is-first') && !input.classList.contains('is-last')) {\n const percent = (value / (max - min)) * 100;\n slider.style.setProperty('--start-percent', percent + '%');\n if (parseFloat(input.value) >= parseFloat(slider.shadowRoot.querySelector('.is-last').value)) {\n slider.shadowRoot.querySelector('.is-last').value = input.value;\n slider.querySelector('.is-last').value = input.value;\n slider.style.setProperty('--percent', percent + '%');\n }\n }\n else {\n const percent = ((value / (max - min)) * 100).toFixed(2);\n slider.style.setProperty('--percent', percent + '%');\n }\n };\n // Create sliders\n Array.from(inputs).forEach((input, index) => {\n const rangeInput = input.cloneNode(true);\n input.setAttribute('type', 'number');\n rangeInput.setAttribute('type', 'range');\n if (index == 0) {\n input.classList.add('is-first');\n rangeInput.classList.add('is-first');\n minElement.innerHTML = input.getAttribute('min');\n maxElement.innerHTML = input.getAttribute('max');\n slidersHolder.appendChild(rangeInput);\n }\n if (index == inputs.length - 1) {\n input.classList.add('is-last');\n rangeInput.classList.add('is-last');\n slidersHolder.appendChild(rangeInput);\n }\n if (index > 1) {\n input.remove();\n }\n });\n inputs = this.querySelectorAll('input');\n inputWrapper.setAttribute('data-elements', inputs.length);\n const sliders = this.shadowRoot.querySelectorAll('input');\n Array.from(inputs).forEach((input, index) => {\n input.addEventListener('keyup', function () {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n input.addEventListener('keydown', function () {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n input.addEventListener('change', function () {\n sliders[index].value = input.value;\n stepperFunction(sliders[index]);\n });\n });\n Array.from(sliders).forEach((input, index) => {\n stepperFunction(input, 'start');\n input.addEventListener(stepperStart, function () {\n clearInterval(stepperInterval);\n stepperInterval = setInterval(function () {\n stepperFunction(input, 'drag');\n inputs[index].value = input.value;\n }, 10);\n });\n input.addEventListener(stepperEvent, function () {\n clearInterval(stepperInterval);\n });\n input.addEventListener('change', function () {\n clearInterval(stepperInterval);\n stepperFunction(input, 'click');\n inputs[index].value = input.value;\n });\n });\n // Move focus to slider when clicking on label\n label.addEventListener('click', function (event) {\n event.preventDefault();\n if (this === event.target) {\n /* click was on label */\n slider.shadowRoot.querySelector('input').focus();\n }\n else {\n /* click was on input */\n event.stopPropagation();\n return false;\n }\n });\n } // Connected callback\n}\nexport default iamSlider;\n"],"names":["iamSlider","assetLocation","coreCSS","template","slider","minElement","maxElement","slidersHolder","inputs","inputWrapper","label","stepperInterval","stepperEvent","stepperStart","stepperFunction","input","value","min","max","percent","index","rangeInput","sliders","event"],"mappings":"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"}
@@ -1,42 +1,29 @@
1
- // @ts-nocheck
2
- import * as tableModule from '../../modules/table.js';
3
- class iamTable extends HTMLElement {
1
+ import { moveAttributesToComponents, findForm, setupBasicTable, setupAdvancedTable, paginateRows, setupNoSubmitTable, setupSubmitTable, setupAjaxTable, loadAjaxTable, paginateTable, } from '../../modules/table.js';
2
+ class iamTableBasic extends HTMLElement {
4
3
  constructor() {
5
4
  super();
6
5
  this.attachShadow({ mode: 'open' });
7
6
  const assetLocation = document.body.hasAttribute('data-assets-location')
8
7
  ? document.body.getAttribute('data-assets-location')
9
8
  : '/assets';
10
- const coreCSS = document.body.hasAttribute('data-core-css')
11
- ? document.body.getAttribute('data-core-css')
12
- : `${assetLocation}/css/core.min.css`;
13
- const loadCSS = `@import "${assetLocation}/css/components/table.css";`;
9
+ const loadCSS = `@import "${assetLocation}/css/components/table.component.css";`;
14
10
  const loadExtraCSS = `@import "${assetLocation}/css/components/table.global.css";`;
15
11
  const template = document.createElement('template');
16
12
  template.innerHTML = `
17
13
  <style>
18
- @import "${coreCSS}";
19
14
  ${loadCSS}
20
15
 
21
- :host(.mh-sm){
22
- max-height: none!important;
23
- }
24
- :host(.mh-md){
25
- max-height: none!important;
26
- }
27
- :host(.mh-lg){
28
- max-height: none!important;
29
- }
30
-
31
16
  ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
32
17
  </style>
33
- <slot name="before"></slot>
34
- <div class="table--cta">
35
- <div class="table__wrapper">
36
- <slot></slot>
18
+ <div class="table__container">
19
+ <slot name="before"></slot>
20
+ <div class="table--cta">
21
+ <div class="table__wrapper">
22
+ <slot></slot>
23
+ </div>
24
+ </div>
25
+ <iam-pagination part="pagination" class="pagination--table" ></iam-pagination>
37
26
  </div>
38
- </div>
39
- <iam-pagination part="pagination" class="pagination--table" ${this.hasAttribute('data-page') ? `data-page="${this.getAttribute('data-page')}"` : ''} ></iam-pagination>
40
27
  `;
41
28
  this.shadowRoot.appendChild(template.content.cloneNode(true));
42
29
  // insert extra CSS
@@ -45,187 +32,36 @@ class iamTable extends HTMLElement {
45
32
  }
46
33
  }
47
34
  connectedCallback() {
48
- const params = new URLSearchParams(window.location.search);
49
- // Set default attributes
50
- if (!this.hasAttribute('data-total')) {
51
- this.setAttribute('data-total', this.querySelectorAll('table tbody tr').length);
52
- }
53
- if (!this.hasAttribute('data-page')) {
54
- this.setAttribute('data-page', params.has('page') ? params.get('page') : 1);
55
- }
56
- if (!this.hasAttribute('data-show')) {
57
- this.setAttribute('data-show', params.has('show') ? params.get('show') : 15);
58
- }
59
- if (!this.hasAttribute('data-increment')) {
60
- this.setAttribute('data-increment', this.getAttribute('data-show'));
61
- }
62
- // Update table__wrapper class
63
- let classList = this.classList.toString();
64
- classList = classList.replace('table--cta', '');
65
- classList = classList.replace('table--loading', '');
66
- //classList = classList.replace('mh-md','');
67
- this.shadowRoot.querySelector('.table__wrapper').className += ` ${classList}`;
68
- // set actionbar class if needed
69
- if (this.querySelector('.actionbar__sticky')) {
70
- this.shadowRoot.querySelector('.table__wrapper').classList.add('has-actionbar');
71
- }
72
- this.table = this.querySelector('table');
73
- this.savedTableBody = this.table.querySelector('tbody').cloneNode(true);
74
- this.pagination = this.shadowRoot.querySelector('iam-pagination');
75
- this.pagination.setAttribute('data-total', this.getAttribute('data-total'));
76
- this.pagination.setAttribute('data-page', this.getAttribute('data-page'));
77
- this.pagination.setAttribute('data-show', this.getAttribute('data-show'));
78
- this.pagination.setAttribute('data-increment', this.getAttribute('data-show'));
79
- if (this.hasAttribute('data-page-jump')) {
80
- this.pagination.setAttribute('data-page-jump', 'true');
81
- }
82
- if (this.hasAttribute('data-per-page')) {
83
- this.pagination.setAttribute('data-per-page', 'true');
84
- }
85
- if (this.hasAttribute('data-item-count')) {
86
- this.pagination.setAttribute('data-item-count', 'true');
87
- }
88
- if (this.hasAttribute('data-loading')) {
89
- this.pagination.setAttribute('data-loading', 'true');
90
- }
91
- if (this.classList.contains('table--fullwidth')) {
92
- this.pagination.setAttribute('data-minimal', 'true');
93
- }
94
- // Remove table CTA
95
- const isCTA = this.classList.contains('table--cta');
96
- if (!isCTA)
97
- this.shadowRoot.querySelector('.table--cta').classList.remove('table--cta');
98
- // Set events on the filter table
99
- this.form = document.createElement('form');
100
- if (this.hasAttribute('data-filterby')) {
101
- this.form = document.querySelector(`#${this.getAttribute('data-filterby')}`);
102
- }
103
- else {
104
- this.table.parentNode.insertBefore(this.form, this.table.nextSibling);
105
- }
106
- // Set ajax class
107
- if (this.form.hasAttribute('data-ajax')) {
108
- this.table.classList.add('table--ajax');
109
- }
110
- // Create a data list if a search input is present
111
- tableModule.createSearchDataList(this.table, this.form);
112
- if (!this.form.querySelector('[data-pagination]')) {
113
- this.form.insertAdjacentHTML('beforeend', `<input name="page" type="hidden" value="${this.getAttribute('data-page')}" data-pagination="true" />`);
35
+ const pagination = this.shadowRoot.querySelector('iam-pagination');
36
+ const table = this.querySelector('table');
37
+ const form = findForm(this, table);
38
+ const savedTableBody = table.querySelector('tbody').cloneNode(true);
39
+ moveAttributesToComponents(this);
40
+ setupBasicTable(this, table, form, pagination);
41
+ setupAdvancedTable(this, table, form, pagination);
42
+ if (this.hasAttribute('data-submit')) {
43
+ setupSubmitTable(this, table, form, pagination);
44
+ paginateTable(this, table, form, pagination, () => {
45
+ form.submit();
46
+ });
114
47
  }
115
- if (!this.form.querySelector('[data-show]')) {
116
- this.form.insertAdjacentHTML('beforeend', `<input name="show" type="hidden" value="${this.getAttribute('data-show')}" data-show="true" />`);
48
+ else if (this.hasAttribute('data-no-submit')) {
49
+ setupNoSubmitTable(this, table, form, pagination, savedTableBody);
50
+ paginateTable(this, table, form, pagination, () => {
51
+ paginateRows(this);
52
+ });
117
53
  }
118
- // Event listeners
119
- tableModule.addTableEventListeners(this.table);
120
- tableModule.addFilterEventListeners(this.table, this.form, this.pagination, this, this.savedTableBody);
121
- tableModule.addPaginationEventListeners(this.table, this.form, this.pagination, this);
122
- tableModule.addExportEventListeners(this.shadowRoot.querySelector('[data-export]'), this.table);
123
- if (this.form.getAttribute('data-ajax')) {
124
- tableModule.loadAjaxTable(this.table, this.form, this.pagination, this);
54
+ else if (this.hasAttribute('data-ajax')) {
55
+ setupAjaxTable(this, table, form, pagination);
56
+ paginateTable(this, table, form, pagination, () => {
57
+ loadAjaxTable(this, table, form, pagination);
58
+ });
125
59
  }
126
60
  else {
127
- function uniqueID(index = 1) {
128
- const ID = Math.floor(Math.random() * Date.now() * (index + 1));
129
- return ID;
130
- }
131
- // Add in the checkboxes
132
- if (this.querySelector('iam-actionbar[data-selectall]') ||
133
- document.querySelector(`iam-actionbar[data-for='${this.getAttribute('id')}']`)) {
134
- const actionbar = this.querySelector('iam-actionbar[data-selectall]')
135
- ? this.querySelector('iam-actionbar[data-selectall]')
136
- : document.querySelector(`iam-actionbar[data-for='${this.getAttribute('id')}']`);
137
- Array.from(this.table.querySelectorAll('thead tr')).forEach((row, index) => {
138
- row.insertAdjacentHTML('afterbegin', `<th class="th--fixed"></th>`);
139
- });
140
- Array.from(this.table.querySelectorAll('tbody tr')).forEach((row, index) => {
141
- if (!row.querySelector('.selectrow')) {
142
- const rowID = `row${uniqueID(index)}`;
143
- row.insertAdjacentHTML('afterbegin', `<td class="td--fixed selectrow selected"><input type="checkbox" name="row" id="${rowID}" ${row.hasAttribute('data-selected') ? `checked="true"` : ''}/><label for="${rowID}"><span class="visually-hidden">Select row</span></label></td>`);
144
- }
145
- });
146
- this.table.addEventListener('change', (event) => {
147
- if (event && event.target instanceof HTMLElement && event.target.closest('.selectrow input')) {
148
- const count = this.table.querySelectorAll('.selectrow input[type="checkbox"]').length;
149
- const countChecked = this.table.querySelectorAll('.selectrow input[type="checkbox"]:checked').length;
150
- actionbar.setAttribute('data-selected', count == countChecked ? 'all' : countChecked);
151
- }
152
- });
153
- actionbar.addEventListener('selected', (event) => {
154
- if (event.detail.selected == '0') {
155
- Array.from(this.table.querySelectorAll('.selectrow input[type="checkbox"]')).forEach((input, index) => {
156
- input.checked = false;
157
- });
158
- }
159
- else if (event.detail.selected == 'all') {
160
- Array.from(this.table.querySelectorAll('.selectrow input[type="checkbox"]')).forEach((input, index) => {
161
- input.checked = true;
162
- });
163
- }
164
- });
165
- }
166
- // Make the dialog menus columns fixed
167
- let colIndex = -1;
168
- Array.from(this.table.querySelectorAll('tbody tr')).forEach((row, index) => {
169
- if (row.querySelector(':scope > td > .dialog__wrapper')) {
170
- const columnn = row.querySelector(':scope > td > .dialog__wrapper').parentNode;
171
- columnn.classList.add('td--fixed');
172
- colIndex = Array.from(columnn.parentNode.children).indexOf(columnn);
173
- }
61
+ paginateTable(this, table, form, pagination, () => {
62
+ paginateRows(this);
174
63
  });
175
- if (colIndex != -1) {
176
- this.table.querySelector(`thead tr th:nth-child(${colIndex + 1})`).classList.add('th--fixed');
177
- Array.from(this.table.querySelectorAll(`tbody tr td:nth-child(${colIndex + 1})`)).forEach((col, index) => {
178
- col.classList.add('td--fixed');
179
- });
180
- }
181
- tableModule.makeTableFunctional(this.table, this.form, this.pagination, this);
182
- if (!this.hasAttribute('data-no-submit'))
183
- tableModule.filterTable(this.table, this.form, this);
184
- tableModule.populateDataQueries(this.table, this.form);
185
- }
186
- this.shadowRoot.querySelector('.table__wrapper').addEventListener('scroll', (event) => {
187
- if (this.table.querySelector('dialog[open]')) {
188
- this.table.querySelector('dialog[open]').close();
189
- this.table.querySelector('.dialog__wrapper > button.active').classList.remove('active');
190
- }
191
- });
192
- // Push up the pagination events
193
- this.pagination.addEventListener('update-show', (event) => {
194
- const show = event.detail.show;
195
- const updateEvent = new CustomEvent('update-show', { detail: { show: show } });
196
- this.dispatchEvent(updateEvent);
197
- });
198
- this.pagination.addEventListener('update-page', (event) => {
199
- const page = event.detail.page;
200
- const updateEvent = new CustomEvent('update-page', { detail: { page: page } });
201
- this.dispatchEvent(updateEvent);
202
- });
203
- }
204
- static get observedAttributes() {
205
- return ['data-total', 'data-page', 'data-show'];
206
- }
207
- attributeChangedCallback(attrName, oldVal, newVal) {
208
- this.pagination = this.shadowRoot.querySelector('iam-pagination');
209
- switch (attrName) {
210
- case 'data-total': {
211
- if (oldVal != newVal) {
212
- this.pagination.setAttribute('data-total', newVal);
213
- }
214
- break;
215
- }
216
- case 'data-show': {
217
- if (oldVal != newVal) {
218
- this.pagination.setAttribute('data-show', newVal);
219
- }
220
- break;
221
- }
222
- case 'data-page': {
223
- if (oldVal != newVal) {
224
- this.pagination.setAttribute('data-page', newVal);
225
- }
226
- break;
227
- }
228
64
  }
229
65
  }
230
66
  }
231
- export default iamTable;
67
+ export default iamTableBasic;