@iamproperty/components 7.4.0 → 7.5.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 (349) hide show
  1. package/README.md +1 -1
  2. package/assets/css/components/actionbar.component.css +1 -1
  3. package/assets/css/components/actionbar.component.css.map +1 -1
  4. package/assets/css/components/actionbar.global.css +1 -1
  5. package/assets/css/components/actionbar.global.css.map +1 -1
  6. package/assets/css/components/address-lookup.component.css +1 -0
  7. package/assets/css/components/address-lookup.component.css.map +1 -0
  8. package/assets/css/components/applied-filters.css +1 -1
  9. package/assets/css/components/applied-filters.css.map +1 -1
  10. package/assets/css/components/barchart.component.css +1 -1
  11. package/assets/css/components/barchart.component.css.map +1 -1
  12. package/assets/css/components/calendar.component.css +1 -1
  13. package/assets/css/components/calendar.component.css.map +1 -1
  14. package/assets/css/components/calendar.config.css.map +1 -1
  15. package/assets/css/components/card.component.css +1 -1
  16. package/assets/css/components/card.component.css.map +1 -1
  17. package/assets/css/components/carousel.component.css +1 -1
  18. package/assets/css/components/carousel.component.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/collapsible-side.css +1 -1
  22. package/assets/css/components/collapsible-side.css.map +1 -1
  23. package/assets/css/components/content.component.css +1 -1
  24. package/assets/css/components/content.component.css.map +1 -1
  25. package/assets/css/components/darkmode.component.css +1 -0
  26. package/assets/css/components/darkmode.component.css.map +1 -0
  27. package/assets/css/components/doughnutchart.component.css +1 -1
  28. package/assets/css/components/doughnutchart.component.css.map +1 -1
  29. package/assets/css/components/fileupload.css +1 -1
  30. package/assets/css/components/fileupload.css.map +1 -1
  31. package/assets/css/components/header.css +1 -1
  32. package/assets/css/components/header.css.map +1 -1
  33. package/assets/css/components/inline-edit.css +1 -1
  34. package/assets/css/components/inline-edit.css.map +1 -1
  35. package/assets/css/components/inline-edit.preload.css +1 -1
  36. package/assets/css/components/inline-edit.preload.css.map +1 -1
  37. package/assets/css/components/{menu.css → menu.global.css} +1 -1
  38. package/assets/css/components/menu.global.css.map +1 -0
  39. package/assets/css/components/milestone.css +1 -1
  40. package/assets/css/components/milestone.css.map +1 -1
  41. package/assets/css/components/multi-step.component.css +1 -1
  42. package/assets/css/components/multi-step.component.css.map +1 -1
  43. package/assets/css/components/multiselect.css +1 -1
  44. package/assets/css/components/multiselect.css.map +1 -1
  45. package/assets/css/components/multiselect.preload.css +1 -1
  46. package/assets/css/components/multiselect.preload.css.map +1 -1
  47. package/assets/css/components/nav.component.css +1 -1
  48. package/assets/css/components/nav.component.css.map +1 -1
  49. package/assets/css/components/nav.global.css +1 -1
  50. package/assets/css/components/nav.global.css.map +1 -1
  51. package/assets/css/components/notification.css +1 -1
  52. package/assets/css/components/notification.css.map +1 -1
  53. package/assets/css/components/pagination.css +1 -1
  54. package/assets/css/components/pagination.css.map +1 -1
  55. package/assets/css/components/property-searchbar.css +1 -1
  56. package/assets/css/components/property-searchbar.css.map +1 -1
  57. package/assets/css/components/rank.component.css +1 -1
  58. package/assets/css/components/rank.component.css.map +1 -1
  59. package/assets/css/components/rankings.component.css +1 -1
  60. package/assets/css/components/rankings.component.css.map +1 -1
  61. package/assets/css/components/rankings.global.css +1 -1
  62. package/assets/css/components/rankings.global.css.map +1 -1
  63. package/assets/css/components/slider.css +1 -1
  64. package/assets/css/components/slider.css.map +1 -1
  65. package/assets/css/components/split-button.component.css +1 -1
  66. package/assets/css/components/split-button.component.css.map +1 -1
  67. package/assets/css/components/table-basic.global.css +1 -1
  68. package/assets/css/components/table-basic.global.css.map +1 -1
  69. package/assets/css/components/table.global.css +1 -1
  70. package/assets/css/components/table.global.css.map +1 -1
  71. package/assets/css/components/tabs.component.css +1 -1
  72. package/assets/css/components/tabs.component.css.map +1 -1
  73. package/assets/css/components/tabs.config.css +1 -1
  74. package/assets/css/components/tabs.config.css.map +1 -1
  75. package/assets/css/components/word-count.component.css +1 -0
  76. package/assets/css/components/word-count.component.css.map +1 -0
  77. package/assets/css/core.min.css +1 -1
  78. package/assets/css/core.min.css.map +1 -1
  79. package/assets/css/mobile-core.min.css +1 -1
  80. package/assets/css/mobile-core.min.css.map +1 -1
  81. package/assets/css/mobile.min.css +1 -1
  82. package/assets/css/mobile.min.css.map +1 -1
  83. package/assets/css/style.min.css +1 -1
  84. package/assets/css/style.min.css.map +1 -1
  85. package/assets/js/components/accordion/accordion.component.js +39 -25
  86. package/assets/js/components/accordion/accordion.component.min.js +14 -15
  87. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  88. package/assets/js/components/actionbar/actionbar.component.js +16 -9
  89. package/assets/js/components/actionbar/actionbar.component.min.js +13 -5
  90. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  91. package/assets/js/components/address-lookup/address-lookup.component.js +6 -11
  92. package/assets/js/components/address-lookup/address-lookup.component.min.js +10 -12
  93. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  94. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  95. package/assets/js/components/advanced-select/advanced-select.component.min.js.map +1 -1
  96. package/assets/js/components/applied-filters/applied-filters.component.js +2 -5
  97. package/assets/js/components/applied-filters/applied-filters.component.min.js +7 -7
  98. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  99. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  100. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  101. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  102. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -1
  103. package/assets/js/components/calendar/calendar.component.js +153 -136
  104. package/assets/js/components/calendar/calendar.component.min.js +3 -3
  105. package/assets/js/components/calendar/calendar.component.min.js.map +1 -1
  106. package/assets/js/components/card/card.component.js +3 -9
  107. package/assets/js/components/card/card.component.min.js +13 -7
  108. package/assets/js/components/card/card.component.min.js.map +1 -1
  109. package/assets/js/components/carousel/carousel.component.js +17 -19
  110. package/assets/js/components/carousel/carousel.component.min.js +17 -19
  111. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  112. package/assets/js/components/collapsible-side/collapsible-side.component.js +0 -5
  113. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -6
  114. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  115. package/assets/js/components/content/content.component.min.js +2 -2
  116. package/assets/js/components/content/content.component.min.js.map +1 -1
  117. package/assets/js/components/darkmode/darkmode.component.js +70 -0
  118. package/assets/js/components/darkmode/darkmode.component.min.js +10 -0
  119. package/assets/js/components/darkmode/darkmode.component.min.js.map +1 -0
  120. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
  121. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -1
  122. package/assets/js/components/fileupload/fileupload.component.js +1 -5
  123. package/assets/js/components/fileupload/fileupload.component.min.js +5 -6
  124. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  125. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  126. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  127. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  128. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  129. package/assets/js/components/header/header.component.js +0 -5
  130. package/assets/js/components/header/header.component.min.js +4 -6
  131. package/assets/js/components/header/header.component.min.js.map +1 -1
  132. package/assets/js/components/inline-edit/inline-edit.component.js +61 -60
  133. package/assets/js/components/inline-edit/inline-edit.component.min.js +5 -5
  134. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  135. package/assets/js/components/marketing/marketing.component.js +0 -4
  136. package/assets/js/components/marketing/marketing.component.min.js +3 -4
  137. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  138. package/assets/js/components/menu/menu.component.js +2 -2
  139. package/assets/js/components/menu/menu.component.min.js +4 -5
  140. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  141. package/assets/js/components/milestone/milestone.component.js +12 -14
  142. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  143. package/assets/js/components/milestone/milestone.component.min.js.map +1 -1
  144. package/assets/js/components/milestone-group/milestone-group.component.js +10 -12
  145. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  146. package/assets/js/components/milestone-group/milestone-group.component.min.js.map +1 -1
  147. package/assets/js/components/multi-step/multi-step.component.min.js +3 -3
  148. package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -1
  149. package/assets/js/components/multiselect/multiselect.component.js +90 -13
  150. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  151. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  152. package/assets/js/components/nav/nav.component.js +4 -7
  153. package/assets/js/components/nav/nav.component.min.js +8 -7
  154. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  155. package/assets/js/components/notification/notification.component.js +2 -7
  156. package/assets/js/components/notification/notification.component.min.js +6 -6
  157. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  158. package/assets/js/components/pagination/pagination.component.js +3 -8
  159. package/assets/js/components/pagination/pagination.component.min.js +7 -8
  160. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  161. package/assets/js/components/password-indicator/password-indicator.component.js +19 -0
  162. package/assets/js/components/password-indicator/password-indicator.component.min.js +7 -0
  163. package/assets/js/components/password-indicator/password-indicator.component.min.js.map +1 -0
  164. package/assets/js/components/rank/rank.component.js +2 -2
  165. package/assets/js/components/rank/rank.component.min.js +4 -5
  166. package/assets/js/components/rank/rank.component.min.js.map +1 -1
  167. package/assets/js/components/rankings/rankings.component.js +3 -0
  168. package/assets/js/components/rankings/rankings.component.min.js +364 -5
  169. package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
  170. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  171. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  172. package/assets/js/components/search/search.component.js +0 -4
  173. package/assets/js/components/search/search.component.min.js +5 -6
  174. package/assets/js/components/search/search.component.min.js.map +1 -1
  175. package/assets/js/components/slider/slider.component.js +0 -4
  176. package/assets/js/components/slider/slider.component.min.js +4 -5
  177. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  178. package/assets/js/components/split-button/split-button.component.js +1 -3
  179. package/assets/js/components/split-button/split-button.component.min.js +8 -11
  180. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  181. package/assets/js/components/table/table.component.min.js +4 -4
  182. package/assets/js/components/table/table.component.min.js.map +1 -1
  183. package/assets/js/components/table-ajax/table-ajax.component.js +11 -9
  184. package/assets/js/components/table-ajax/table-ajax.component.min.js +4 -4
  185. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  186. package/assets/js/components/table-basic/table-basic.component.min.js +4 -4
  187. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  188. package/assets/js/components/table-no-submit/table-no-submit.component.js +15 -30
  189. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +4 -4
  190. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  191. package/assets/js/components/table-submit/table-submit.component.min.js +4 -4
  192. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  193. package/assets/js/components/tabs/tabs.component.js +1 -4
  194. package/assets/js/components/tabs/tabs.component.min.js +5 -5
  195. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  196. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  197. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  198. package/assets/js/components/word-count/word-count.component.js +81 -0
  199. package/assets/js/components/word-count/word-count.component.min.js +12 -0
  200. package/assets/js/components/word-count/word-count.component.min.js.map +1 -0
  201. package/assets/js/components.js +1 -0
  202. package/assets/js/modules/advanced-select.js +1 -1
  203. package/assets/js/modules/dynamicEvents.js +3 -3
  204. package/assets/js/modules/inputs.js +0 -26
  205. package/assets/js/modules/milestone.js +2 -2
  206. package/assets/js/modules/password-indicator.js +21 -0
  207. package/assets/js/modules/table.js +28 -2
  208. package/assets/js/scripts.bundle.js +3 -3
  209. package/assets/js/scripts.bundle.js.map +1 -1
  210. package/assets/js/scripts.bundle.min.js +2 -2
  211. package/assets/js/scripts.bundle.min.js.map +1 -1
  212. package/assets/js/scripts.js +3 -1
  213. package/assets/sass/_components.scss +6 -5
  214. package/assets/sass/_elements.scss +5 -0
  215. package/assets/sass/_example.scss +1 -1
  216. package/assets/sass/_functions/utility-mixins.scss +21 -1
  217. package/assets/sass/_functions/variables.scss +14 -0
  218. package/assets/sass/components/actionbar.component.scss +38 -1
  219. package/assets/sass/components/actionbar.global.scss +1 -1
  220. package/assets/sass/components/{address-lookup.scss → address-lookup.component.scss} +10 -0
  221. package/assets/sass/components/applied-filters.scss +1 -0
  222. package/assets/sass/components/calendar.component.scss +163 -271
  223. package/assets/sass/components/calendar.config.scss +69 -122
  224. package/assets/sass/components/collapsible-side.scss +2 -0
  225. package/assets/sass/components/darkmode.component.scss +22 -0
  226. package/assets/sass/components/fileupload.scss +18 -0
  227. package/assets/sass/components/header.scss +9 -0
  228. package/assets/sass/components/inline-edit.preload.scss +68 -2
  229. package/assets/sass/components/inline-edit.scss +7 -0
  230. package/assets/sass/components/milestone.scss +69 -60
  231. package/assets/sass/components/multi-step.component.scss +1 -1
  232. package/assets/sass/components/multiselect.preload.scss +11 -1
  233. package/assets/sass/components/multiselect.scss +62 -5
  234. package/assets/sass/components/nav.component.scss +31 -6
  235. package/assets/sass/components/nav.global.scss +8 -12
  236. package/assets/sass/components/notification.scss +38 -17
  237. package/assets/sass/components/pagination.scss +6 -0
  238. package/assets/sass/components/slider.scss +1 -0
  239. package/assets/sass/components/split-button.component.scss +3 -1
  240. package/assets/sass/components/table-basic.global.scss +33 -33
  241. package/assets/sass/components/table.global.scss +9 -4
  242. package/assets/sass/components/tabs.component.scss +4 -0
  243. package/assets/sass/components/tabs.config.scss +231 -4
  244. package/assets/sass/components/word-count.component.scss +26 -0
  245. package/assets/sass/elements/admin-panel.scss +38 -10
  246. package/assets/sass/elements/buttons--compact.scss +1 -1
  247. package/assets/sass/elements/buttons--global.scss +3 -3
  248. package/assets/sass/elements/details.scss +33 -6
  249. package/assets/sass/elements/forms.scss +23 -31
  250. package/assets/sass/elements/hr.scss +50 -0
  251. package/assets/sass/elements/icons.scss +5 -0
  252. package/assets/sass/elements/links.scss +2 -2
  253. package/assets/sass/elements/lists.scss +1 -1
  254. package/assets/sass/elements/modal.scss +1 -5
  255. package/assets/sass/elements/toggle-button.scss +1 -0
  256. package/assets/sass/elements/type.scss +6 -9
  257. package/assets/sass/foundations/colours.scss +0 -0
  258. package/assets/sass/foundations/reboot.scss +14 -18
  259. package/assets/sass/foundations/root.scss +43 -51
  260. package/assets/sass/templates/form.scss +5 -0
  261. package/assets/ts/components/accordion/accordion.component.ts +46 -33
  262. package/assets/ts/components/actionbar/actionbar.component.ts +29 -10
  263. package/assets/ts/components/address-lookup/address-lookup.component.ts +7 -11
  264. package/assets/ts/components/applied-filters/applied-filters.component.ts +2 -5
  265. package/assets/ts/components/calendar/calendar.component.ts +368 -498
  266. package/assets/ts/components/card/card.component.ts +2 -9
  267. package/assets/ts/components/carousel/carousel.component.ts +17 -19
  268. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +1 -5
  269. package/assets/ts/components/darkmode/darkmode.component.ts +85 -0
  270. package/assets/ts/components/fileupload/fileupload.component.ts +2 -5
  271. package/assets/ts/components/header/header.component.ts +1 -5
  272. package/assets/ts/components/inline-edit/inline-edit.component.ts +74 -75
  273. package/assets/ts/components/marketing/marketing.component.ts +0 -4
  274. package/assets/ts/components/menu/menu.component.ts +2 -2
  275. package/assets/ts/components/milestone/milestone.component.ts +43 -45
  276. package/assets/ts/components/milestone-group/milestone-group.component.ts +39 -41
  277. package/assets/ts/components/multiselect/multiselect.component.ts +103 -27
  278. package/assets/ts/components/nav/nav.component.ts +10 -19
  279. package/assets/ts/components/notification/notification.component.ts +3 -9
  280. package/assets/ts/components/pagination/pagination.component.ts +6 -8
  281. package/assets/ts/components/password-indicator/password-indicator.component.ts +24 -0
  282. package/assets/ts/components/rank/rank.component.ts +2 -2
  283. package/assets/ts/components/rankings/rankings.component.ts +4 -0
  284. package/assets/ts/components/search/search.component.ts +0 -4
  285. package/assets/ts/components/slider/slider.component.ts +1 -4
  286. package/assets/ts/components/split-button/split-button.component.ts +1 -3
  287. package/assets/ts/components/table-ajax/table-ajax.component.ts +5 -5
  288. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +10 -21
  289. package/assets/ts/components/tabs/tabs.component.ts +2 -4
  290. package/assets/ts/components/word-count/word-count.component.ts +91 -0
  291. package/assets/ts/components.ts +1 -0
  292. package/assets/ts/modules/advanced-select.ts +11 -16
  293. package/assets/ts/modules/data-layer.md +0 -5
  294. package/assets/ts/modules/dynamicEvents.ts +6 -7
  295. package/assets/ts/modules/inputs.ts +0 -31
  296. package/assets/ts/modules/milestone-group.ts +39 -42
  297. package/assets/ts/modules/milestone.ts +119 -122
  298. package/assets/ts/modules/password-indicator.ts +29 -0
  299. package/assets/ts/modules/table.ts +41 -3
  300. package/assets/ts/scripts.ts +4 -1
  301. package/dist/components.es.js +1691 -41
  302. package/dist/components.umd.js +1398 -231
  303. package/package.json +6 -6
  304. package/src/components/Accordion/Accordion.vue +14 -23
  305. package/src/components/Accordion/AccordionItem.vue +27 -43
  306. package/src/components/Actionbar/Actionbar.vue +17 -19
  307. package/src/components/AddressLookup/AddressLookup.vue +17 -18
  308. package/src/components/AdvancedSelect/AdvancedSelect.vue +17 -18
  309. package/src/components/AppliedFilters/AppliedFilters.vue +16 -18
  310. package/src/components/Banner/Banner.vue +18 -21
  311. package/src/components/BarChart/BarChart.vue +17 -18
  312. package/src/components/Calendar/Calendar.vue +14 -20
  313. package/src/components/Card/Card.vue +17 -17
  314. package/src/components/Carousel/Carousel.vue +17 -20
  315. package/src/components/Content/Content.vue +17 -18
  316. package/src/components/DarkMode/DarkMode.vue +19 -0
  317. package/src/components/DoughnutChart/DoughnutChart.vue +17 -18
  318. package/src/components/FileUpload/FileUpload.vue +22 -28
  319. package/src/components/FilterCard/FilterCard.vue +17 -18
  320. package/src/components/Filterlist/Filterlist.vue +17 -0
  321. package/src/components/Header/Header.vue +28 -29
  322. package/src/components/InlineEdit/InlineEdit.vue +11 -19
  323. package/src/components/Menu/Menu.vue +17 -17
  324. package/src/components/Milestones/Milestone.vue +22 -27
  325. package/src/components/Milestones/MilestoneGroup.vue +24 -27
  326. package/src/components/Multiselect/Multiselect.vue +17 -18
  327. package/src/components/Nav/Nav.vue +17 -19
  328. package/src/components/Notification/Notification.vue +17 -15
  329. package/src/components/Pagination/Pagination.vue +16 -16
  330. package/src/components/PasswordIndicator/PasswordIndicator.vue +23 -0
  331. package/src/components/Rank/Rank.vue +17 -18
  332. package/src/components/Rankings/Rankings.vue +17 -27
  333. package/src/components/RecordCard/RecordCard.vue +17 -18
  334. package/src/components/Search/Search.vue +17 -17
  335. package/src/components/Slider/Slider.vue +17 -17
  336. package/src/components/SplitButton/SplitButton.vue +17 -20
  337. package/src/components/Tabs/Tabs.vue +17 -17
  338. package/src/components/VideoCard/VideoCard.vue +17 -18
  339. package/src/components/WordCount/WordCount.vue +22 -0
  340. package/src/index.js +43 -44
  341. package/assets/css/components/address-lookup.css +0 -1
  342. package/assets/css/components/address-lookup.css.map +0 -1
  343. package/assets/css/components/menu.css.map +0 -1
  344. package/assets/css/components/tabs.css +0 -1
  345. package/assets/css/components/tabs.css.map +0 -1
  346. package/assets/sass/components/tabs.scss +0 -254
  347. package/assets/ts/components/accordion/README.md +0 -31
  348. package/assets/ts/components/fileupload/README.md +0 -28
  349. /package/assets/sass/components/{menu.scss → menu.global.scss} +0 -0
@@ -1,3 +1,5 @@
1
+ import Cookies from 'js-cookie';
2
+
1
3
  // Data layer Web component created
2
4
  window.dataLayer = window.dataLayer || [];
3
5
  window.dataLayer.push({
@@ -13,15 +15,13 @@ class iamMultiselect extends HTMLElement {
13
15
  const assetLocation = document.body.hasAttribute('data-assets-location')
14
16
  ? document.body.getAttribute('data-assets-location')
15
17
  : '/assets';
16
- const coreCSS = document.body.hasAttribute('data-core-css')
17
- ? document.body.getAttribute('data-core-css')
18
- : `${assetLocation}/css/core.min.css`;
18
+
19
19
  const loadCSS = `@import "${assetLocation}/css/components/multiselect.css";`;
20
20
 
21
21
  const template = document.createElement('template');
22
22
  template.innerHTML = `
23
23
  <style>
24
- @import "${coreCSS}";
24
+
25
25
  ${loadCSS}
26
26
  ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
27
27
  </style>
@@ -52,7 +52,7 @@ class iamMultiselect extends HTMLElement {
52
52
  const button = multiselect.shadowRoot.querySelector('#clear');
53
53
  let order = 0;
54
54
  const innerLabel = multiselect.shadowRoot.querySelector('label .inner-label');
55
-
55
+ const ajaxURL = this.getAttribute('data-url');
56
56
  innerLabel.innerHTML = multiselect.getAttribute('data-label');
57
57
 
58
58
  if (multiselect.hasAttribute('placeholder')) {
@@ -99,6 +99,10 @@ class iamMultiselect extends HTMLElement {
99
99
  inputToSet.closest('label').setAttribute('slot', 'checked');
100
100
  inputToSet.closest('label').setAttribute('style', `--order:${order};`);
101
101
  inputToSet.closest('label').setAttribute('data-order', order);
102
+
103
+ if(inputToSet.closest('[data-value]')){
104
+ inputToSet.closest('[data-value]').setAttribute('data-value', inputToSet.closest('label').textContent)
105
+ }
102
106
  }
103
107
 
104
108
  // check for errors
@@ -123,7 +127,8 @@ class iamMultiselect extends HTMLElement {
123
127
  });
124
128
 
125
129
  // Filter list
126
- search.addEventListener('input', () => {
130
+ const filterList = () => {
131
+
127
132
  Array.from(multiselect.querySelectorAll(`label:not([slot="checked"])`)).forEach((label) => {
128
133
  const checkbox = label.querySelector('input');
129
134
  const searchValue = checkbox.value;
@@ -138,6 +143,19 @@ class iamMultiselect extends HTMLElement {
138
143
  label.setAttribute('slot', 'notmatched');
139
144
  }
140
145
  });
146
+ }
147
+
148
+ search.addEventListener('input', () => {
149
+
150
+ if (multiselect.hasAttribute('data-url')) {
151
+
152
+ if (search.value.length == 3) {
153
+ searchAjax(search.value);
154
+ }
155
+ } else {
156
+
157
+ filterList();
158
+ }
141
159
  });
142
160
 
143
161
  // Add a delayed hover effect for non hover devices
@@ -148,31 +166,34 @@ class iamMultiselect extends HTMLElement {
148
166
  });
149
167
 
150
168
  search.addEventListener('blur', (event) => {
151
-
152
169
  setTimeout(function () {
153
170
  const activeElement = document.activeElement;
154
-
155
- if(activeElement.getAttribute('type') != 'checkbox'){
156
-
157
- if(multiselect.querySelector(`input[type="checkbox"][value="${search.value}" i]`)){
158
171
 
172
+ if (activeElement.getAttribute('type') != 'checkbox') {
173
+ if (multiselect.querySelector(`input[type="checkbox"][value="${search.value}" i]`)) {
159
174
  multiselect.querySelector(`input[type="checkbox"][value="${search.value}" i]`).checked = true;
175
+
160
176
  setItem(multiselect.querySelector(`input[type="checkbox"][value="${search.value}" i]`));
161
177
  }
162
- search.value = "";
178
+ search.value = '';
163
179
 
164
180
  Array.from(multiselect.querySelectorAll(`label input[type="checkbox"]`)).forEach((checkbox) => {
165
181
  setItem(checkbox);
166
182
  });
167
183
  }
168
-
184
+
185
+ if (multiselect.hasAttribute('data-url')) {
186
+ Array.from(multiselect.querySelectorAll(`label:has(input[type="checkbox"]:not(:checked))`)).forEach((checkbox) => {
187
+
188
+ checkbox.remove();
189
+ });
190
+ }
169
191
  }, 200);
170
192
 
171
193
  clearTimeout(hoverTimeout);
172
194
  hoverTimeout = setTimeout(function () {
173
-
174
195
  multiselect.classList.remove('hover');
175
- }, 1000);
196
+ }, 500);
176
197
  });
177
198
 
178
199
  // Set items
@@ -180,15 +201,30 @@ class iamMultiselect extends HTMLElement {
180
201
  if (event && event.target instanceof HTMLElement && event.target.closest('input[type="checkbox"]')) {
181
202
  const checkbox = event.target.closest('input[type="checkbox"]');
182
203
 
204
+ if(multiselect.hasAttribute('data-single')){
205
+ Array.from(multiselect.querySelectorAll(`label[slot="checked"] input`)).forEach((inputToCancel) => {
206
+ inputToCancel.checked = false;
207
+ inputToCancel.closest('label').removeAttribute('slot');
208
+ inputToCancel.closest('label').removeAttribute('style');
209
+ inputToCancel.closest('label').removeAttribute('data-order');
210
+ });
211
+ }
212
+
183
213
  setItem(checkbox);
184
214
 
185
- search.value = "";
186
- search.focus();
187
- clearTimeout(hoverTimeout);
188
- multiselect.classList.add('hover');
189
- hoverTimeout = setTimeout(function () {
215
+ search.value = '';
216
+ if(!multiselect.hasAttribute('data-single')){
217
+ search.focus();
218
+ clearTimeout(hoverTimeout);
219
+ multiselect.classList.add('hover');
220
+ hoverTimeout = setTimeout(function () {
221
+ multiselect.classList.remove('hover');
222
+ }, 5000);
223
+ }
224
+ else{
225
+
190
226
  multiselect.classList.remove('hover');
191
- }, 5000);
227
+ }
192
228
  }
193
229
  });
194
230
 
@@ -222,10 +258,8 @@ class iamMultiselect extends HTMLElement {
222
258
 
223
259
  if (prevCheckbox) prevCheckbox.focus();
224
260
  else search.focus();
225
- }
226
- else if (activeElement == multiselect){
227
-
228
- const options = Array.from(multiselect.querySelectorAll('label[slot="checked"]')).sort(function(a, b) {
261
+ } else if (activeElement == multiselect) {
262
+ const options = Array.from(multiselect.querySelectorAll('label[slot="checked"]')).sort(function (a, b) {
229
263
  return +a.dataset.order - +b.dataset.order;
230
264
  });
231
265
 
@@ -294,7 +328,6 @@ class iamMultiselect extends HTMLElement {
294
328
  break;
295
329
  case 'Backspace':
296
330
  if (activeElement.hasAttribute('type') && activeElement.getAttribute('type') == 'checkbox') {
297
-
298
331
  activeElement.checked = false;
299
332
  setItem(activeElement);
300
333
  search.focus();
@@ -315,7 +348,6 @@ class iamMultiselect extends HTMLElement {
315
348
  return lastTag;
316
349
  }
317
350
 
318
-
319
351
  search.addEventListener('keydown', function (event) {
320
352
  switch (
321
353
  event.key // change to event.key to key to use the above variable
@@ -353,6 +385,50 @@ class iamMultiselect extends HTMLElement {
353
385
  multiselect.addEventListener('mouseup', () => {
354
386
  wrapper.removeAttribute('data-mousedown');
355
387
  });
388
+
389
+ const searchAjax = async (searchterm): any => {
390
+ const searchAjaxURL = `${ajaxURL}${encodeURI(searchterm)}`;
391
+
392
+ // Setup controller vars if not already set
393
+ if (!window.controller) window.controller = [];
394
+
395
+ // Abort if controller already present for this url
396
+ if (window.controller[searchAjaxURL]) window.controller[searchAjaxURL].abort();
397
+
398
+ // Create a new controller so it can be aborted if new fetch made
399
+ window.controller[searchAjaxURL] = new AbortController();
400
+ const { signal } = controller[searchAjaxURL];
401
+
402
+ try {
403
+ await fetch(searchAjaxURL, {
404
+ signal: signal,
405
+ method: 'get',
406
+ credentials: 'same-origin',
407
+ headers: new Headers({
408
+ 'Content-Type': 'application/json',
409
+ Accept: 'application/json',
410
+ 'X-Requested-With': 'XMLHttpRequest',
411
+ 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),
412
+ }),
413
+ })
414
+ .then((response) => response.json())
415
+ .then((response) => {
416
+
417
+ let items = '';
418
+
419
+ for (let i = 0; i < response['data'].length; i++) {
420
+ items += `<label class="tag"><input type="checkbox" name="${multiselect.hasAttribute('data-name') ? multiselect.getAttribute('data-name') : 'tags'}" value="${ response['data'][i].value }"/>${ response['data'][i].title }</label>`;
421
+ }
422
+
423
+ multiselect.insertAdjacentHTML('beforeend', `${items}`);
424
+
425
+ filterList();
426
+ return response;
427
+ });
428
+ } catch (error) {
429
+ console.log(error);
430
+ }
431
+ };
356
432
  }
357
433
  }
358
434
 
@@ -13,16 +13,14 @@ class iamNav extends HTMLElement {
13
13
  const assetLocation = document.body.hasAttribute('data-assets-location')
14
14
  ? document.body.getAttribute('data-assets-location')
15
15
  : '/assets';
16
- const coreCSS = document.body.hasAttribute('data-core-css')
17
- ? document.body.getAttribute('data-core-css')
18
- : `${assetLocation}/css/core.min.css`;
19
16
  const loadCSS = `@import "${assetLocation}/css/components/nav.component.css";`;
20
17
  const loadExtraCSS = `@import "${assetLocation}/css/components/nav.global.css";`;
21
18
 
22
19
  const template = document.createElement('template');
23
20
  template.innerHTML = `
24
21
  <style class="styles">
25
- @import "${coreCSS}";
22
+
23
+
26
24
  ${loadCSS}
27
25
  </style>
28
26
  <style class="doc-styles">
@@ -348,30 +346,23 @@ class iamNav extends HTMLElement {
348
346
  });
349
347
  }
350
348
 
351
- if(this.classList.contains('nav--sticky')){
352
-
353
- console.log('hey');
354
-
349
+ if (this.classList.contains('nav--sticky')) {
355
350
  let oldScrollY = window.scrollY;
356
- window.onscroll = function(e) {
357
- if(oldScrollY < window.scrollY){
358
- document.body.setAttribute('data-direction', "down");
351
+ window.onscroll = function (e): void {
352
+ if (oldScrollY < window.scrollY) {
353
+ document.body.setAttribute('data-direction', 'down');
359
354
  } else {
360
- document.body.setAttribute('data-direction', "up");
355
+ document.body.setAttribute('data-direction', 'up');
361
356
  }
362
357
 
363
- if(window.scrollY > 100){
358
+ if (window.scrollY > 100) {
364
359
  document.body.classList.add('past100');
365
- }
366
- else {
367
-
360
+ } else {
368
361
  document.body.classList.remove('past100');
369
362
  }
370
363
  oldScrollY = window.scrollY;
371
- }
372
-
364
+ };
373
365
  }
374
-
375
366
  }
376
367
  }
377
368
 
@@ -3,7 +3,6 @@ import { trackComponent, trackComponentRegistered } from '../_global';
3
3
 
4
4
  trackComponentRegistered('iam-notification');
5
5
 
6
-
7
6
  class iamNotification extends HTMLElement {
8
7
  constructor() {
9
8
  super();
@@ -11,16 +10,13 @@ class iamNotification extends HTMLElement {
11
10
  const assetLocation = document.body.hasAttribute('data-assets-location')
12
11
  ? document.body.getAttribute('data-assets-location')
13
12
  : '/assets';
14
- const coreCSS = document.body.hasAttribute('data-core-css')
15
- ? document.body.getAttribute('data-core-css')
16
- : `${assetLocation}/css/core.min.css`;
13
+
17
14
  const loadCSS = `@import "${assetLocation}/css/components/notification.css";`;
18
15
  const loadExtraCSS = `@import "${assetLocation}/css/components/notification.global.css";`;
19
16
 
20
17
  const template = document.createElement('template');
21
18
  template.innerHTML = `
22
19
  <style>
23
- @import "${coreCSS}";
24
20
  ${loadCSS}
25
21
  ${this.hasAttribute('data-css') ? `${this.getAttribute('data-css')}` : ``}
26
22
  </style>
@@ -30,6 +26,7 @@ class iamNotification extends HTMLElement {
30
26
  <div class="notification__inner"><div class="notification__text"><slot></slot></div><div class="notification__btns"><slot name="btns"></slot></div></div>
31
27
  <div class="notification__dismiss"></div>
32
28
  </div>
29
+
33
30
  `;
34
31
  this.shadowRoot.appendChild(template.content.cloneNode(true));
35
32
 
@@ -110,7 +107,6 @@ class iamNotification extends HTMLElement {
110
107
  });
111
108
 
112
109
  this.dispatchEvent(customEvent);
113
-
114
110
  },
115
111
  false
116
112
  );
@@ -118,9 +114,7 @@ class iamNotification extends HTMLElement {
118
114
 
119
115
  setupNotification(this);
120
116
 
121
- trackComponent(this, 'iam-notification', [
122
- 'dismiss'
123
- ]);
117
+ trackComponent(this, 'iam-notification', ['dismiss']);
124
118
  }
125
119
  }
126
120
 
@@ -5,15 +5,12 @@ class iamPagination extends HTMLElement {
5
5
  const assetLocation = document.body.hasAttribute('data-assets-location')
6
6
  ? document.body.getAttribute('data-assets-location')
7
7
  : '/assets';
8
- const coreCSS = document.body.hasAttribute('data-core-css')
9
- ? document.body.getAttribute('data-core-css')
10
- : `${assetLocation}/css/core.min.css`;
8
+
11
9
  const loadCSS = `@import "${assetLocation}/css/components/pagination.css";`;
12
10
 
13
11
  const template = document.createElement('template');
14
12
  template.innerHTML = `
15
13
  <style>
16
- @import "${coreCSS}";
17
14
  ${loadCSS}
18
15
 
19
16
  ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
@@ -82,14 +79,15 @@ class iamPagination extends HTMLElement {
82
79
 
83
80
  // Next and previous buttons will simply trigger and on change on the select which in turn will dispatch an event
84
81
  next.addEventListener('click', () => {
85
- select.value = parseInt(select.value) + 1;
86
82
 
87
- select.dispatchEvent(new Event('change'));
83
+ console.log(parseInt(this.getAttribute('data-page')))
84
+
85
+ this.setAttribute('data-page', parseInt(this.getAttribute('data-page')) + 1);
88
86
  });
89
87
 
90
88
  prev.addEventListener('click', () => {
91
- select.value = parseInt(select.value) - 1;
92
- select.dispatchEvent(new Event('change'));
89
+
90
+ this.setAttribute('data-page', parseInt(this.getAttribute('data-page')) - 1);
93
91
  });
94
92
 
95
93
  // Update how many is shown
@@ -0,0 +1,24 @@
1
+ import { trackComponentRegistered } from '../_global';
2
+ import passwordIndicator from '../../modules/password-indicator';
3
+
4
+ trackComponentRegistered('iam-password-indicator');
5
+
6
+ class iamPasswordIndicator extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.attachShadow({ mode: 'open' });
10
+
11
+ const template = document.createElement('template');
12
+ template.innerHTML = `
13
+ <slot></slot>
14
+ `;
15
+ this.shadowRoot?.appendChild(template.content.cloneNode(true));
16
+ }
17
+
18
+ connectedCallback(): void {
19
+
20
+ passwordIndicator(this);
21
+ }
22
+ }
23
+
24
+ export default iamPasswordIndicator;
@@ -10,13 +10,13 @@ class iamRank extends HTMLElement {
10
10
  ? document.body.getAttribute('data-assets-location')
11
11
  : '/assets';
12
12
 
13
- const loadCSS = `@import "${assetLocation}/css/components/rank.component.css";`;
13
+ const loadRankCSS = `@import "${assetLocation}/css/components/rank.component.css";`;
14
14
  //const loadExtraCSS = `@import "${assetLocation}/css/components/rank.global.css";`;
15
15
 
16
16
  const template = document.createElement('template');
17
17
  template.innerHTML = `
18
18
  <style>
19
- ${loadCSS}
19
+ ${loadRankCSS}
20
20
  </style>
21
21
  <div class="wrapper" part="wrapper">
22
22
  <div class="rank" part="rank">
@@ -1,4 +1,5 @@
1
1
  import { trackComponent, trackComponentRegistered } from '../_global';
2
+ import iamRank from '../rank/rank.component';
2
3
 
3
4
  trackComponentRegistered('iam-rankings');
4
5
  class iamRankings extends HTMLElement {
@@ -69,7 +70,10 @@ class iamRankings extends HTMLElement {
69
70
 
70
71
  firstRow?.insertAdjacentHTML('afterbegin', `<iam-rank class="rank--medal first-position">1st</iam-rank>`);
71
72
  }
73
+
74
+ if (!window.customElements.get(`iam-rank`)) window.customElements.define(`iam-rank`, iamRank);
72
75
  }
73
76
  }
74
77
 
78
+
75
79
  export default iamRankings;
@@ -17,14 +17,10 @@ class iamSearch extends HTMLElement {
17
17
  const assetLocation = document.body.hasAttribute('data-assets-location')
18
18
  ? document.body.getAttribute('data-assets-location')
19
19
  : '/assets';
20
- const coreCSS = document.body.hasAttribute('data-core-css')
21
- ? document.body.getAttribute('data-core-css')
22
- : `${assetLocation}/css/core.min.css`;
23
20
 
24
21
  const template = document.createElement('template');
25
22
  template.innerHTML = `
26
23
  <style>
27
- @import "${coreCSS}";
28
24
  input {
29
25
  background: red;
30
26
  }
@@ -13,15 +13,12 @@ class iamSlider extends HTMLElement {
13
13
  const assetLocation = document.body.hasAttribute('data-assets-location')
14
14
  ? document.body.getAttribute('data-assets-location')
15
15
  : '/assets';
16
- const coreCSS = document.body.hasAttribute('data-core-css')
17
- ? document.body.getAttribute('data-core-css')
18
- : `${assetLocation}/css/core.min.css`;
16
+
19
17
  const loadCSS = `@import "${assetLocation}/css/components/slider.css";`;
20
18
 
21
19
  const template = document.createElement('template');
22
20
  template.innerHTML = `
23
21
  <style>
24
- @import "${coreCSS}";
25
22
  ${loadCSS}
26
23
  </style>
27
24
  <div class="row">
@@ -35,9 +35,7 @@ class iamSplitButton extends HTMLElement {
35
35
  </button>
36
36
 
37
37
  <iam-menu id="actions" style="position-anchor: --anchor-el;" popover>
38
- <slot name="menu-item">
39
-
40
- </slot>
38
+ <slot name="menu-item"></slot>
41
39
  </iam-menu>
42
40
 
43
41
  </div>
@@ -52,9 +52,9 @@ class iamTableAjax extends HTMLElement {
52
52
  const assetLocation = document.body.hasAttribute('data-assets-location')
53
53
  ? document.body.getAttribute('data-assets-location')
54
54
  : '/assets';
55
-
55
+ /*
56
56
  if (!window.customElements.get(`iam-menu`)) {
57
- import(/* @vite-ignore */ `${assetLocation}/js/components/menu/menu.component.js`)
57
+ import( `${assetLocation}/js/components/menu/menu.component.js`)
58
58
  .then((module) => {
59
59
  window.customElements.define(`iam-menu`, module.default);
60
60
  })
@@ -62,15 +62,15 @@ class iamTableAjax extends HTMLElement {
62
62
  console.log(err.message);
63
63
  });
64
64
  }
65
-
65
+ */
66
66
  setupBasicTable(this, table, form, pagination);
67
67
 
68
68
  setupAdvancedTable(this, table, form, pagination);
69
69
 
70
70
  setupAjaxTable(this, table, form, pagination);
71
71
 
72
- paginateTable(component, table, form, pagination, () => {
73
- loadAjaxTable(component, table, form, pagination);
72
+ paginateTable(this, table, form, pagination, () => {
73
+ loadAjaxTable(this, table, form, pagination);
74
74
  });
75
75
  }
76
76
  }
@@ -5,6 +5,7 @@ import {
5
5
  setupNoSubmitTable,
6
6
  paginateRows,
7
7
  paginateTable,
8
+ updateAttributes
8
9
  } from '../../modules/table';
9
10
 
10
11
  class iamTableNoSubmit extends HTMLElement {
@@ -66,30 +67,10 @@ class iamTableNoSubmit extends HTMLElement {
66
67
  }
67
68
 
68
69
  setupBasicTable(this, table, form, pagination);
69
-
70
70
  setupAdvancedTable(this, table);
71
-
72
71
  setupNoSubmitTable(this, table, form, pagination, savedTableBody);
73
72
 
74
- paginateRows(this);
75
-
76
- if (pagination) {
77
- paginateTable(this, table, form, pagination, () => {
78
- paginateRows(this);
79
- });
80
- }
81
-
82
- // #region shared advanced functions
83
73
 
84
- //endregion
85
-
86
- // select all
87
- // search
88
- // filter
89
- // sort
90
-
91
- /*
92
- // Push up the pagination events
93
74
  pagination.addEventListener('update-show', (event) => {
94
75
  const show = event.detail.show;
95
76
 
@@ -108,7 +89,15 @@ class iamTableNoSubmit extends HTMLElement {
108
89
  updateAttributes(this, pagination);
109
90
  });
110
91
 
111
- */
92
+
93
+ // For when the table contents is updated with an ajax call
94
+ this.addEventListener('update-table', (event) => {
95
+
96
+ setupBasicTable(this, table, form, pagination);
97
+ setupAdvancedTable(this, table);
98
+ setupNoSubmitTable(this, table, form, pagination, savedTableBody);
99
+ });
100
+
112
101
  }
113
102
  /*
114
103
  static get observedAttributes(): any {
@@ -15,15 +15,13 @@ class iamTabs extends HTMLElement {
15
15
  const assetLocation = document.body.hasAttribute('data-assets-location')
16
16
  ? document.body.getAttribute('data-assets-location')
17
17
  : '/assets';
18
- const coreCSS = document.body.hasAttribute('data-core-css')
19
- ? document.body.getAttribute('data-core-css')
20
- : `${assetLocation}/css/core.min.css`;
18
+
21
19
  const loadCSS = `@import "${assetLocation}/css/components/tabs.component.css";`;
22
20
 
23
21
  const template = document.createElement('template');
24
22
  template.innerHTML = `
25
23
  <style>
26
- @import "${coreCSS}";
24
+
27
25
  ${loadCSS}
28
26
 
29
27
  :host(.admin-panel){