@iamproperty/components 7.1.0--beta6 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) 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.css → table.component.css} +1 -1
  57. package/assets/css/components/table.component.css.map +1 -0
  58. package/assets/css/components/table.global.css +1 -1
  59. package/assets/css/components/table.global.css.map +1 -1
  60. package/assets/css/components/tabs.component.css +1 -0
  61. package/assets/css/components/tabs.component.css.map +1 -0
  62. package/assets/css/components/tabs.css +1 -1
  63. package/assets/css/components/tabs.css.map +1 -1
  64. package/assets/css/components/testimonial.css.map +1 -1
  65. package/assets/css/components/timeline.css.map +1 -1
  66. package/assets/css/core.min.css +1 -1
  67. package/assets/css/core.min.css.map +1 -1
  68. package/assets/css/mobile-core.min.css +1 -0
  69. package/assets/css/mobile-core.min.css.map +1 -0
  70. package/assets/css/mobile.min.css +1 -0
  71. package/assets/css/mobile.min.css.map +1 -0
  72. package/assets/css/style.min.css +1 -1
  73. package/assets/css/style.min.css.map +1 -1
  74. package/assets/js/components/_global.js +0 -1
  75. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  76. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  77. package/assets/js/components/actionbar/actionbar.component.js +86 -8
  78. package/assets/js/components/actionbar/actionbar.component.min.js +19 -6
  79. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  80. package/assets/js/components/address-lookup/address-lookup.component.js +17 -18
  81. package/assets/js/components/address-lookup/address-lookup.component.min.js +5 -5
  82. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  83. package/assets/js/components/applied-filters/applied-filters.component.js +0 -1
  84. package/assets/js/components/applied-filters/applied-filters.component.min.js +4 -4
  85. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  86. package/assets/js/components/barchart/barchart.component.js +2 -3
  87. package/assets/js/components/barchart/barchart.component.min.js +8 -4
  88. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  89. package/assets/js/components/bento-grid/bento-grid.component.js +50 -0
  90. package/assets/js/components/bento-grid/bento-grid.component.min.js +15 -0
  91. package/assets/js/components/bento-grid/bento-grid.component.min.js.map +1 -0
  92. package/assets/js/components/card/card.component.js +10 -13
  93. package/assets/js/components/card/card.component.min.js +7 -7
  94. package/assets/js/components/card/card.component.min.js.map +1 -1
  95. package/assets/js/components/carousel/carousel.component.js +4 -5
  96. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  97. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  98. package/assets/js/components/chart/chart.component.js +1 -5
  99. package/assets/js/components/collapsible-side/collapsible-side.component.js +4 -5
  100. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -4
  101. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  102. package/assets/js/components/doughnutchart/doughnutchart.component.js +70 -0
  103. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +25 -0
  104. package/assets/js/components/doughnutchart/doughnutchart.component.min.js.map +1 -0
  105. package/assets/js/components/fileupload/fileupload.component.js +2 -3
  106. package/assets/js/components/fileupload/fileupload.component.min.js +6 -6
  107. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  108. package/assets/js/components/filter-card/filter-card.component.js +3 -4
  109. package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
  110. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  111. package/assets/js/components/filterlist/filterlist.component.js +0 -1
  112. package/assets/js/components/filterlist/filterlist.component.min.js +3 -3
  113. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  114. package/assets/js/components/header/header.component.js +0 -1
  115. package/assets/js/components/header/header.component.min.js +1 -1
  116. package/assets/js/components/header/header.component.min.js.map +1 -1
  117. package/assets/js/components/inline-edit/inline-edit.component.js +7 -8
  118. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  119. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  120. package/assets/js/components/marketing/marketing.component.js +0 -1
  121. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  122. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  123. package/assets/js/components/menu/menu.component.js +200 -0
  124. package/assets/js/components/menu/menu.component.min.js +77 -0
  125. package/assets/js/components/menu/menu.component.min.js.map +1 -0
  126. package/assets/js/components/multi-step/multi-step.component.js +10 -10
  127. package/assets/js/components/multi-step/multi-step.component.min.js +13 -0
  128. package/assets/js/components/multi-step/multi-step.component.min.js.map +1 -0
  129. package/assets/js/components/multiselect/multiselect.component.js +10 -10
  130. package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
  131. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  132. package/assets/js/components/nav/nav.component.js +7 -7
  133. package/assets/js/components/nav/nav.component.min.js +7 -7
  134. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  135. package/assets/js/components/notification/notification.component.js +3 -3
  136. package/assets/js/components/notification/notification.component.min.js +4 -4
  137. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  138. package/assets/js/components/pagination/pagination.component.js +3 -4
  139. package/assets/js/components/pagination/pagination.component.min.js +4 -4
  140. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  141. package/assets/js/components/record-card/record-card.component.js +6 -8
  142. package/assets/js/components/record-card/record-card.component.min.js +4 -4
  143. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  144. package/assets/js/components/search/search.component.js +9 -6
  145. package/assets/js/components/search/search.component.min.js +8 -5
  146. package/assets/js/components/search/search.component.min.js.map +1 -1
  147. package/assets/js/components/slider/slider.component.js +8 -8
  148. package/assets/js/components/slider/slider.component.min.js +5 -5
  149. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  150. package/assets/js/components/table/table.component.js +12 -11
  151. package/assets/js/components/table/table.component.min.js +7 -7
  152. package/assets/js/components/table/table.component.min.js.map +1 -1
  153. package/assets/js/components/tabs/tabs.component.js +1 -2
  154. package/assets/js/components/tabs/tabs.component.min.js +4 -4
  155. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  156. package/assets/js/components/video-card/video-card.component.js +4 -3
  157. package/assets/js/components/video-card/video-card.component.min.js +3 -3
  158. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  159. package/assets/js/modules/applied-filters.js +8 -9
  160. package/assets/js/modules/carousel.js +9 -10
  161. package/assets/js/modules/chart.js +5 -3
  162. package/assets/js/modules/chart.module.js +127 -6
  163. package/assets/js/modules/dialogs.js +6 -7
  164. package/assets/js/modules/drawer.js +1 -2
  165. package/assets/js/modules/dynamicEvents.js +7 -8
  166. package/assets/js/modules/fileupload.js +7 -7
  167. package/assets/js/modules/filterlist.js +3 -4
  168. package/assets/js/modules/form.js +12 -13
  169. package/assets/js/modules/helpers.js +3 -5
  170. package/assets/js/modules/inputs.js +6 -9
  171. package/assets/js/modules/nav.js +3 -4
  172. package/assets/js/modules/notification.js +2 -3
  173. package/assets/js/modules/orderablelist.js +0 -1
  174. package/assets/js/modules/table.js +80 -42
  175. package/assets/js/modules/tabs.js +3 -6
  176. package/assets/js/scripts.bundle.js +3 -3
  177. package/assets/js/scripts.bundle.js.map +1 -1
  178. package/assets/js/scripts.bundle.min.js +2 -2
  179. package/assets/js/scripts.bundle.min.js.map +1 -1
  180. package/assets/js/scripts.js +64 -6
  181. package/assets/js/tests/card.spec.js +14 -0
  182. package/assets/js/tests/carousel.spec.js +60 -0
  183. package/assets/js/tests/chart.spec.js +7 -5
  184. package/assets/js/tests/fileupload.spec.js +22 -0
  185. package/assets/js/tests/multistep.spec.js +68 -0
  186. package/assets/sass/_bs_grid.scss +39 -0
  187. package/assets/sass/_components.scss +323 -100
  188. package/assets/sass/_corefiles.scss +46 -39
  189. package/assets/sass/_elements.scss +98 -18
  190. package/assets/sass/_example.scss +61 -0
  191. package/assets/sass/_func.scss +4 -14
  192. package/assets/sass/_functions/{utilities.scss → bs_utilities.scss} +43 -39
  193. package/assets/sass/_functions/functions.scss +66 -52
  194. package/assets/sass/_functions/mixins.scss +82 -137
  195. package/assets/sass/_functions/utility-mixins.scss +1445 -0
  196. package/assets/sass/_functions/variables.scss +90 -1659
  197. package/assets/sass/_functions/variables_old.scss +1701 -0
  198. package/assets/sass/{foundations/grid.scss → _grid.scss} +96 -82
  199. package/assets/sass/_tests/func.spec.scss +1 -37
  200. package/assets/sass/_tests/mixins.spec.scss +1 -77
  201. package/assets/sass/_tests/typography.spec.scss +1 -1
  202. package/assets/sass/_utilities.scss +35 -117
  203. package/assets/sass/_utility-mixins.scss +37 -0
  204. package/assets/sass/components/{actionbar.scss → actionbar.component.scss} +82 -16
  205. package/assets/sass/components/actionbar.global.scss +28 -14
  206. package/assets/sass/components/address-lookup.scss +6 -0
  207. package/assets/sass/components/barchart.component.scss +8 -19
  208. package/assets/sass/components/bento-grid.component.scss +91 -0
  209. package/assets/sass/components/carousel.config.scss +64 -58
  210. package/assets/sass/components/charts.config.scss +73 -67
  211. package/assets/sass/components/charts.module.scss +131 -73
  212. package/assets/sass/components/charts.scss +43 -42
  213. package/assets/sass/components/collapsible-side.scss +29 -27
  214. package/assets/sass/components/doughnutchart.component.scss +205 -0
  215. package/assets/sass/components/fileupload.scss +4 -3
  216. package/assets/sass/components/header.scss +5 -5
  217. package/assets/sass/components/inline-edit.preload.scss +108 -102
  218. package/assets/sass/components/menu.component.scss +101 -0
  219. package/assets/sass/components/menu.scss +21 -0
  220. package/assets/sass/components/multi-step.component.scss +5 -3
  221. package/assets/sass/components/multiselect.preload.scss +36 -30
  222. package/assets/sass/components/{nav.scss → nav.component.scss} +41 -21
  223. package/assets/sass/components/nav.docs.scss +1 -1
  224. package/assets/sass/components/nav.global.scss +13 -11
  225. package/assets/sass/components/nav.old.scss +21 -24
  226. package/assets/sass/components/nav.preload.scss +40 -34
  227. package/assets/sass/components/notification.scss +9 -5
  228. package/assets/sass/components/pagination.scss +6 -0
  229. package/assets/sass/components/property-searchbar.scss +7 -7
  230. package/assets/sass/components/slider.scss +2 -0
  231. package/assets/sass/components/snapshot.scss +2 -2
  232. package/assets/sass/components/stepper.scss +7 -7
  233. package/assets/sass/components/table.global.scss +57 -1
  234. package/assets/sass/components/tabs.component.scss +5 -0
  235. package/assets/sass/components/tabs.scss +9 -6
  236. package/assets/sass/components/testimonial.scss +7 -7
  237. package/assets/sass/components/timeline.scss +1 -1
  238. package/assets/sass/core.scss +13 -2
  239. package/assets/sass/elements/admin-panel.scss +201 -134
  240. package/assets/sass/elements/badge-tag.scss +87 -81
  241. package/assets/sass/elements/brand.scss +67 -61
  242. package/assets/sass/elements/buttons--action.scss +55 -0
  243. package/assets/sass/elements/buttons--compact.scss +135 -0
  244. package/assets/sass/elements/buttons--global.scss +322 -0
  245. package/assets/sass/elements/buttons--secondary.scss +24 -0
  246. package/assets/sass/elements/buttons--tertiary.scss +57 -0
  247. package/assets/sass/elements/buttons.scss +29 -503
  248. package/assets/sass/elements/container.scss +160 -121
  249. package/assets/sass/elements/details.scss +147 -138
  250. package/assets/sass/elements/dialog.scss +36 -30
  251. package/assets/sass/elements/forms.scss +1061 -1047
  252. package/assets/sass/elements/icons.scss +23 -17
  253. package/assets/sass/elements/links.scss +131 -116
  254. package/assets/sass/elements/lists.scss +270 -264
  255. package/assets/sass/elements/media.scss +19 -13
  256. package/assets/sass/elements/modal.scss +336 -330
  257. package/assets/sass/elements/popover.scss +163 -152
  258. package/assets/sass/elements/progress.scss +173 -162
  259. package/assets/sass/elements/table.element.scss +115 -109
  260. package/assets/sass/elements/tooltips.scss +87 -80
  261. package/assets/sass/elements/type.scss +172 -160
  262. package/assets/sass/email.scss +4 -1
  263. package/assets/sass/error.scss +15 -9
  264. package/assets/sass/foundations/reboot.scss +176 -170
  265. package/assets/sass/foundations/root.scss +136 -125
  266. package/assets/sass/helpers/line-clamp.scss +0 -23
  267. package/assets/sass/helpers/max-height.scss +2 -2
  268. package/assets/sass/main.scss +14 -3
  269. package/assets/sass/mobile-core.scss +14 -0
  270. package/assets/sass/mobile.scss +16 -0
  271. package/assets/sass/templates/auth.scss +88 -83
  272. package/assets/sass/templates/form.scss +68 -59
  273. package/assets/ts/components/_global.ts +2 -3
  274. package/assets/ts/components/actionbar/actionbar.component.ts +94 -2
  275. package/assets/ts/components/address-lookup/address-lookup.component.ts +21 -22
  276. package/assets/ts/components/applied-filters/applied-filters.component.ts +1 -2
  277. package/assets/ts/components/barchart/barchart.component.ts +3 -5
  278. package/assets/ts/components/bento-grid/README.md +31 -0
  279. package/assets/ts/components/bento-grid/bento-grid.component.ts +67 -0
  280. package/assets/ts/components/card/card.component.ts +13 -16
  281. package/assets/ts/components/carousel/carousel.component.ts +5 -7
  282. package/assets/ts/components/chart/chart.component.ts +4 -9
  283. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -6
  284. package/assets/ts/components/doughnutchart/doughnutchart.component.ts +85 -0
  285. package/assets/ts/components/fileupload/fileupload.component.ts +5 -6
  286. package/assets/ts/components/filter-card/filter-card.component.ts +4 -5
  287. package/assets/ts/components/filterlist/filterlist.component.ts +1 -2
  288. package/assets/ts/components/header/header.component.ts +1 -3
  289. package/assets/ts/components/inline-edit/inline-edit.component.ts +8 -11
  290. package/assets/ts/components/marketing/marketing.component.ts +1 -3
  291. package/assets/ts/components/menu/menu.component.ts +222 -0
  292. package/assets/ts/components/multi-step/multi-step.component.ts +19 -23
  293. package/assets/ts/components/multiselect/multiselect.component.ts +13 -14
  294. package/assets/ts/components/nav/nav.component.ts +8 -9
  295. package/assets/ts/components/notification/notification.component.ts +3 -3
  296. package/assets/ts/components/pagination/pagination.component.ts +7 -8
  297. package/assets/ts/components/record-card/record-card.component.ts +9 -11
  298. package/assets/ts/components/search/search.component.ts +12 -9
  299. package/assets/ts/components/slider/slider.component.ts +9 -10
  300. package/assets/ts/components/table/table.component.ts +19 -18
  301. package/assets/ts/components/tabs/tabs.component.ts +2 -3
  302. package/assets/ts/components/video-card/video-card.component.ts +13 -12
  303. package/assets/ts/modules/applied-filters.ts +10 -11
  304. package/assets/ts/modules/card.module.ts +1 -1
  305. package/assets/ts/modules/carousel.ts +13 -15
  306. package/assets/ts/modules/chart.module.ts +176 -24
  307. package/assets/ts/modules/chart.ts +26 -24
  308. package/assets/ts/modules/dialogs.ts +10 -13
  309. package/assets/ts/modules/drawer.ts +1 -2
  310. package/assets/ts/modules/dynamicEvents.ts +12 -14
  311. package/assets/ts/modules/fileupload.ts +10 -10
  312. package/assets/ts/modules/filterlist.ts +6 -7
  313. package/assets/ts/modules/form.ts +16 -17
  314. package/assets/ts/modules/helpers.ts +18 -21
  315. package/assets/ts/modules/inputs.ts +15 -18
  316. package/assets/ts/modules/nav.ts +4 -5
  317. package/assets/ts/modules/notification.ts +7 -8
  318. package/assets/ts/modules/orderablelist.ts +3 -4
  319. package/assets/ts/modules/pagination.ts +1 -1
  320. package/assets/ts/modules/table.ts +103 -60
  321. package/assets/ts/modules/tabs.ts +6 -14
  322. package/assets/ts/scripts.ts +70 -6
  323. package/assets/ts/tests/card.spec.ts +19 -0
  324. package/assets/ts/tests/carousel.spec.ts +66 -0
  325. package/assets/ts/tests/chart.spec.ts +9 -6
  326. package/assets/ts/tests/fileupload.spec.ts +30 -0
  327. package/assets/ts/tests/multistep.spec.ts +78 -0
  328. package/dist/components.es.js +1258 -1063
  329. package/dist/components.umd.js +473 -195
  330. package/package.json +44 -49
  331. package/src/components/BentoGrid/BentoGrid.vue +20 -0
  332. package/src/components/DoughnutChart/DoughnutChart.vue +23 -0
  333. package/src/components/FileUpload/FileUpload.vue +4 -1
  334. package/src/components/Menu/Menu.vue +22 -0
  335. package/src/components/Tabs/Tabs.vue +0 -4
  336. package/src/index.js +25 -19
  337. package/assets/css/components/actionbar.css +0 -1
  338. package/assets/css/components/actionbar.css.map +0 -1
  339. package/assets/css/components/nav.css +0 -1
  340. package/assets/css/components/nav.css.map +0 -1
  341. package/assets/css/components/table.css.map +0 -1
  342. package/assets/js/components.bundle.js +0 -5
  343. package/assets/js/components.bundle.js.map +0 -1
  344. package/assets/js/components.js +0 -57
  345. package/assets/js/modules/file-upload.js +0 -32
  346. package/assets/sass/components.reset.scss +0 -8
  347. package/assets/sass/foundations/bs_grid.scss +0 -32
  348. package/assets/ts/components.ts +0 -62
  349. package/assets/ts/modules/file-upload.ts +0 -52
  350. package/dist/style.css +0 -1
  351. /package/assets/sass/components/{table.scss → table.component.scss} +0 -0
@@ -7,13 +7,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- // @ts-nocheck
11
10
  import { zeroPad, isNumeric, ucfirst, resolvePath } from './helpers.js';
12
11
  // Basic functionality needed
13
12
  export const addDataAttributes = (table) => {
14
13
  const colHeadings = Array.from(table.querySelectorAll('thead th'));
15
14
  const colRows = Array.from(table.querySelectorAll('tbody tr'));
16
- colRows.forEach((row, index) => {
15
+ colRows.forEach((row) => {
17
16
  const cells = Array.from(row.querySelectorAll('th, td'));
18
17
  const statuses = [
19
18
  '0',
@@ -60,7 +59,7 @@ export const addDataAttributes = (table) => {
60
59
  };
61
60
  export const getLargestLastColWidth = (table) => {
62
61
  let largestWidth = 0;
63
- Array.from(table.querySelectorAll('tbody tr')).forEach((row, index) => {
62
+ Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {
64
63
  const htmlStyles = window.getComputedStyle(document.querySelector('html'));
65
64
  const lastColChild = row.querySelector(':scope > *:last-child > *:first-child');
66
65
  if (lastColChild) {
@@ -78,17 +77,17 @@ export const createMobileButton = (table, wrapper) => {
78
77
  if (table.querySelectorAll('thead tr th').length < 4 && !wrapper.hasAttribute('data-expandable'))
79
78
  return false;
80
79
  //If the expand column already exists we don't need to add a new one.
81
- Array.from(table.querySelectorAll('thead tr')).forEach((row, index) => {
80
+ Array.from(table.querySelectorAll('thead tr')).forEach((row) => {
82
81
  if (!table.querySelectorAll('thead tr th.expand-button-heading').length) {
83
82
  row.insertAdjacentHTML('afterbegin', `<th class="th--fixed expand-button-heading"></th>`);
84
83
  }
85
84
  });
86
- Array.from(table.querySelectorAll('tbody tr')).forEach((row, index) => {
85
+ Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {
87
86
  const preExpanded = row.getAttribute('data-view') === 'full' ? 'aria-expanded' : '';
88
87
  row.insertAdjacentHTML('afterbegin', `<td class="td--fixed td--expand"><button class="btn btn-compact btn-secondary" data-expand-button ${preExpanded}>Expand</button></td>`);
89
88
  });
90
89
  };
91
- export const addTableEventListeners = (table) => {
90
+ export const addTableEventListeners = (table, wrapper) => {
92
91
  table.addEventListener('click', (event) => {
93
92
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-expand-button]')) {
94
93
  const button = event.target.closest('[data-expand-button]');
@@ -100,6 +99,41 @@ export const addTableEventListeners = (table) => {
100
99
  tableRow.setAttribute('data-view', 'full');
101
100
  button.blur();
102
101
  }
102
+ else if (event && event.target instanceof HTMLElement && event.target.closest('[data-sort]')) {
103
+ const heading = event.target.closest('[data-sort]');
104
+ heading.setAttribute('data-sort', 'true');
105
+ // Turn other headings off
106
+ Array.from(table.querySelectorAll('th[data-sort]')).forEach((element) => {
107
+ if (element != heading) {
108
+ element.setAttribute('data-sort', '');
109
+ element.removeAttribute('data-order-by');
110
+ heading.setAttribute('title', 'Click to sort ascending');
111
+ }
112
+ });
113
+ if (heading.hasAttribute('data-order-by') && heading.getAttribute('data-order-by') == 'asc') {
114
+ heading.setAttribute('data-order-by', 'desc');
115
+ heading.setAttribute('title', 'Click to sort ascending');
116
+ }
117
+ else {
118
+ heading.setAttribute('data-order-by', 'asc');
119
+ heading.setAttribute('title', 'Click to sort descending');
120
+ }
121
+ // dispath event
122
+ const dispatchedEvent = new CustomEvent('sort-by-heading', {
123
+ detail: {
124
+ heading: heading.textContent,
125
+ sortBy: heading.getAttribute('data-order-by'),
126
+ ref: heading.getAttribute('data-ref'),
127
+ },
128
+ });
129
+ const component = heading.closest('iam-table');
130
+ component.dispatchEvent(dispatchedEvent);
131
+ const sortBy = heading.textContent.trim();
132
+ const order = heading.getAttribute('data-order-by');
133
+ if (!wrapper.hasAttribute('data-submit')) {
134
+ sortTableByValues(table, sortBy, order);
135
+ }
136
+ }
103
137
  });
104
138
  };
105
139
  // Filters
@@ -111,8 +145,8 @@ export const createSearchDataList = (table, form) => {
111
145
  const searchableColumns = searchInput.getAttribute('data-search').split(',');
112
146
  const inputWrapper = searchInput.parentNode;
113
147
  const searchableTerms = {};
114
- searchableColumns.forEach((columnHeading, index) => {
115
- Array.from(table.querySelectorAll('td[data-label="' + columnHeading.trim() + '"]')).forEach((td, index) => {
148
+ searchableColumns.forEach((columnHeading) => {
149
+ Array.from(table.querySelectorAll('td[data-label="' + columnHeading.trim() + '"]')).forEach((td) => {
116
150
  if (td.querySelector('.td__content'))
117
151
  searchableTerms[td.querySelector('.td__content').textContent] = td.querySelector('.td__content').textContent;
118
152
  else
@@ -136,14 +170,14 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
136
170
  }
137
171
  if (form.classList.contains('processing'))
138
172
  return false;
139
- Array.from(form.querySelectorAll('iam-applied-filters')).forEach((element, index) => {
173
+ Array.from(form.querySelectorAll('iam-applied-filters')).forEach((element) => {
140
174
  const event = new Event('tags-set');
141
175
  element.dispatchEvent(event);
142
176
  });
143
177
  // Before submitting check if any duplicate checkboxes within the filters dialog needs to upset the original input
144
178
  if (event.type == 'submit') {
145
179
  form.classList.add('processing');
146
- Array.from(form.querySelectorAll('[data-duplicate]')).forEach((element, index) => {
180
+ Array.from(form.querySelectorAll('[data-duplicate]')).forEach((element) => {
147
181
  const id = element.getAttribute('data-duplicate');
148
182
  const input = document.getElementById(id);
149
183
  const card = document.querySelector(`[for="${id}"] iam-card`);
@@ -260,7 +294,7 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
260
294
  if (event && event.target instanceof HTMLElement && event.target.closest('[data-clear]')) {
261
295
  form.classList.add('processing');
262
296
  // Make sure any applied filters have been removed
263
- Array.from(form.querySelectorAll('.applied-filters')).forEach((filters, index) => {
297
+ Array.from(form.querySelectorAll('.applied-filters')).forEach((filters) => {
264
298
  filters.innerHTML = '';
265
299
  });
266
300
  // Make sure cards are unlicked
@@ -320,9 +354,9 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
320
354
  const forms = [];
321
355
  const fields = [];
322
356
  // Collect the forms that we need to add an event listener for.
323
- Array.from(form.querySelectorAll('[data-mimic]')).forEach((input, index) => {
357
+ Array.from(form.querySelectorAll('[data-mimic]')).forEach((input) => {
324
358
  const mimicField = input.getAttribute('data-mimic');
325
- Array.from(document.querySelectorAll(`[name="${mimicField}"]`)).forEach((mimicInput, index) => {
359
+ Array.from(document.querySelectorAll(`[name="${mimicField}"]`)).forEach((mimicInput) => {
326
360
  const parentForm = mimicInput.closest('form');
327
361
  if (!forms.includes(parentForm)) {
328
362
  forms.push(parentForm);
@@ -333,7 +367,7 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
333
367
  });
334
368
  });
335
369
  // For each form add change listener
336
- forms.forEach((parentForm, index) => {
370
+ forms.forEach((parentForm) => {
337
371
  const updateMimicInput = function () {
338
372
  const mimickedAlready = [];
339
373
  const formData = new FormData(parentForm);
@@ -360,10 +394,10 @@ export const addFilterEventListeners = (table, form, pagination, wrapper, savedT
360
394
  }
361
395
  }
362
396
  };
363
- parentForm.addEventListener('force', (event) => {
397
+ parentForm.addEventListener('force', () => {
364
398
  updateMimicInput();
365
399
  });
366
- parentForm.addEventListener('change', (event) => {
400
+ parentForm.addEventListener('change', () => {
367
401
  updateMimicInput();
368
402
  });
369
403
  });
@@ -386,13 +420,17 @@ export const sortTable = (table, form, savedTableBody) => {
386
420
  addDataAttributes(table);
387
421
  return false;
388
422
  }
423
+ sortTableByValues(table, sortBy, order, format);
424
+ };
425
+ export const sortTableByValues = (table, sortBy, order, format = '') => {
426
+ const tbody = table.querySelector('tbody');
389
427
  let orderArray = [];
390
428
  if (!['asc', 'desc', 'descending'].includes(order)) {
391
429
  orderArray = order.split(',');
392
430
  }
393
431
  // Create an array from the table rows, the index created is then used to sort the array
394
432
  let tableArr = [];
395
- Array.from(tbody.querySelectorAll('tr')).forEach((tableRow, index) => {
433
+ Array.from(tbody.querySelectorAll('tr')).forEach((tableRow) => {
396
434
  let rowIndex = tableRow
397
435
  .querySelector('td[data-label="' + sortBy + '"], th[data-label="' + sortBy + '"]')
398
436
  .textContent.trim();
@@ -424,7 +462,7 @@ export const sortTable = (table, form, savedTableBody) => {
424
462
  }
425
463
  // Create a string to return and populate the tbody
426
464
  let strTbody = '';
427
- tableArr.forEach((tableRow, index) => {
465
+ tableArr.forEach((tableRow) => {
428
466
  strTbody += tableRow.row.outerHTML;
429
467
  });
430
468
  tbody.innerHTML = strTbody;
@@ -437,7 +475,7 @@ export const filterTable = (table, form, wrapper) => {
437
475
  const page = form.querySelector('[data-pagination]') ? parseInt(form.querySelector('[data-pagination]').value) : 1;
438
476
  const showRows = form.querySelector('[data-show]') ? parseInt(form.querySelector('[data-show]').value) : 15;
439
477
  // Reset
440
- Array.from(table.querySelectorAll('tbody tr')).forEach((row, index) => {
478
+ Array.from(table.querySelectorAll('tbody tr')).forEach((row) => {
441
479
  row.classList.remove('filtered');
442
480
  row.classList.remove('filtered--matched');
443
481
  row.classList.remove('filtered--show');
@@ -447,17 +485,17 @@ export const filterTable = (table, form, wrapper) => {
447
485
  if (form.querySelector('input[data-search]')) {
448
486
  const searchInput = form.querySelector('input[data-search]');
449
487
  const searchColumns = form.querySelector('input[data-search]').getAttribute('data-search').split(',');
450
- searchColumns.forEach((column, index) => {
488
+ searchColumns.forEach((column) => {
451
489
  searches.push({ column: `${column.trim()}`, value: `${searchInput.value}` });
452
490
  });
453
491
  }
454
492
  //Display the filter count
455
- Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element, index) => {
493
+ Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element) => {
456
494
  element.innerHTML = '';
457
495
  element.parentNode.classList.remove('hover');
458
496
  });
459
497
  let filterCount = 0;
460
- Object.values(filters).forEach((filter, index) => {
498
+ Object.values(filters).forEach((filter) => {
461
499
  if (typeof filter == 'object' && Object.values(filter).length) {
462
500
  filterCount += Object.values(filter).length;
463
501
  }
@@ -466,7 +504,7 @@ export const filterTable = (table, form, wrapper) => {
466
504
  }
467
505
  });
468
506
  if (filterCount) {
469
- Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element, index) => {
507
+ Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element) => {
470
508
  element.innerHTML += `(${filterCount})`;
471
509
  element.parentNode.classList.add('hover');
472
510
  });
@@ -474,9 +512,9 @@ export const filterTable = (table, form, wrapper) => {
474
512
  // Filter the table
475
513
  table.classList.add('table--filtered');
476
514
  for (const [key, filterValue] of Object.entries(filters)) {
477
- Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row, index) => {
515
+ Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row) => {
478
516
  let isMatched = false;
479
- filterValue.forEach((filter, index) => {
517
+ filterValue.forEach((filter) => {
480
518
  const filterTd = row.querySelector(`[data-label="${key}"]`);
481
519
  if (filter.includes('-date-from')) {
482
520
  const fromDate = new Date(filter.replace('-date-from', ''));
@@ -566,9 +604,9 @@ export const filterTable = (table, form, wrapper) => {
566
604
  });
567
605
  }
568
606
  // Search whats left of the table after filtering
569
- Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row, index) => {
607
+ Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row) => {
570
608
  let isSearched = searches.length > 0 && searches[0].value.length >= 3 ? false : true;
571
- searches.forEach((search, index) => {
609
+ searches.forEach((search) => {
572
610
  const searchTd = row.querySelector(`[data-label="${search.column}"]`);
573
611
  if (searchTd &&
574
612
  search.value.length >= 3 &&
@@ -581,7 +619,7 @@ export const filterTable = (table, form, wrapper) => {
581
619
  }
582
620
  });
583
621
  // Work out what to display after pagination
584
- Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row, index) => {
622
+ Array.from(table.querySelectorAll('tbody tr:not(.filtered)')).forEach((row) => {
585
623
  matched++;
586
624
  row.classList.add('filtered--matched');
587
625
  // pagination bit
@@ -598,7 +636,7 @@ export const filterTable = (table, form, wrapper) => {
598
636
  };
599
637
  export const populateDataQueries = (table, form, wrapper) => {
600
638
  const dataQueries = Array.from(form.querySelectorAll('[data-query]'));
601
- dataQueries.forEach((queryElement, index) => {
639
+ dataQueries.forEach((queryElement) => {
602
640
  const query = queryElement.getAttribute('data-query');
603
641
  let numberOfMatchedRows = 0;
604
642
  if (query == 'total') {
@@ -624,7 +662,7 @@ export const populateDataQueries = (table, form, wrapper) => {
624
662
  const queries = query.split(' && ');
625
663
  numberOfMatchedRows = Array.from(table.querySelectorAll(`tbody tr:not(.filtered)`)).filter(function (row) {
626
664
  let matched = true;
627
- for (const [index, value] of Object.entries(queries)) {
665
+ for (const value of Object.entries(queries)) {
628
666
  const queryParts = value.split(' == ');
629
667
  if (!row.querySelector(`td[data-label="${queryParts[0]}"]`) ||
630
668
  row.querySelector(`td[data-label="${queryParts[0]}"]`).textContent != `${queryParts[1]}`)
@@ -685,7 +723,7 @@ export const addExportEventListeners = (button, table) => {
685
723
  if (!button) {
686
724
  return false;
687
725
  }
688
- button.addEventListener('click', (event) => {
726
+ button.addEventListener('click', () => {
689
727
  exportAsCSV(table);
690
728
  });
691
729
  };
@@ -733,7 +771,7 @@ export const makeTableFunctional = function (table, form, pagination, wrapper) {
733
771
  const largestWidth = getLargestLastColWidth(table);
734
772
  wrapper.style.setProperty('--cta-width', `${largestWidth}rem`);
735
773
  function outputsize() {
736
- Array.from(table.querySelectorAll('tr')).forEach((row, index) => {
774
+ Array.from(table.querySelectorAll('tr')).forEach((row) => {
737
775
  const rowHeight = row.offsetHeight;
738
776
  row.style.setProperty('--row-height', `${rowHeight}px`);
739
777
  });
@@ -745,7 +783,7 @@ const filterFilters = function (form) {
745
783
  const filters = new Object();
746
784
  // Filter
747
785
  const filterInputs = Array.from(form.querySelectorAll('[data-filter]'));
748
- filterInputs.forEach((filterInput, index) => {
786
+ filterInputs.forEach((filterInput) => {
749
787
  // Ignore uncked radio inputs
750
788
  if (filterInput.type == 'radio' && !filterInput.checked) {
751
789
  return;
@@ -777,19 +815,19 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
777
815
  wrapper.classList.add('table--loading');
778
816
  // Display the filter count
779
817
  const filters = filterFilters(form);
780
- Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element, index) => {
818
+ Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element) => {
781
819
  element.innerHTML = '';
782
820
  element.parentNode.classList.remove('hover');
783
821
  });
784
822
  let filterCount = 0;
785
- Object.values(filters).forEach((filter, index) => {
823
+ Object.values(filters).forEach((filter) => {
786
824
  if (typeof filter == 'object' && Object.values(filter).length)
787
825
  filterCount += Object.values(filter).length;
788
826
  else
789
827
  filterCount++;
790
828
  });
791
829
  if (filterCount) {
792
- Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element, index) => {
830
+ Array.from(form.querySelectorAll('[data-filter-count]')).forEach((element) => {
793
831
  element.innerHTML += `(${filterCount})`;
794
832
  element.parentNode.classList.add('hover');
795
833
  });
@@ -834,15 +872,15 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
834
872
  : 'No results found';
835
873
  if (data) {
836
874
  tbody.innerHTML = '';
837
- data.forEach((row, index) => {
875
+ data.forEach((row) => {
838
876
  const table_row = document.createElement('tr');
839
- columns.forEach((col, index) => {
877
+ columns.forEach((col) => {
840
878
  let cellOutput = '';
841
879
  const table_cell = document.createElement('td');
842
880
  // Add some data to help with the mobile layout design
843
881
  table_cell.setAttribute('data-label', col.innerText);
844
882
  if (col.getAttribute('data-output')) {
845
- var cellTemplate = col.getAttribute('data-output');
883
+ const cellTemplate = col.getAttribute('data-output');
846
884
  // Use a regex to replace {var} with actual values from the json data
847
885
  cellOutput = cellTemplate.replace(new RegExp(/{(.*?)}/, 'gm'), function (matched) {
848
886
  return resolvePath(row, matched.replace('{', '').replace('}', ''));
@@ -850,10 +888,10 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
850
888
  }
851
889
  // If an output array is defined then the content is going to made of of multiple values from an array
852
890
  if (col.hasAttribute('data-output-array')) {
853
- var cellTemplate = col.getAttribute('data-output');
891
+ const cellTemplate = col.getAttribute('data-output');
854
892
  const arrValue = resolvePath(row, cellTemplate.replace('{', '').replace('}', ''));
855
893
  cellOutput = '';
856
- arrValue.forEach((rowValue, i) => {
894
+ arrValue.forEach((rowValue) => {
857
895
  const cellTemplateValue = col.getAttribute('data-output-array');
858
896
  let cellOutputValue = '';
859
897
  // If we need to transform some of the data
@@ -886,7 +924,7 @@ export const loadAjaxTable = function (table, form, pagination, wrapper) {
886
924
  wrapper.setAttribute('data-total', parseInt(totalNumber));
887
925
  wrapper.setAttribute('data-page', parseInt(currentPage));
888
926
  makeTableFunctional(table, form, pagination, wrapper);
889
- Array.from(form.querySelectorAll('[data-ajax-query]')).forEach((queryElement, index) => {
927
+ Array.from(form.querySelectorAll('[data-ajax-query]')).forEach((queryElement) => {
890
928
  const totalNumber = resolvePath(response, queryElement.getAttribute('data-ajax-query'), '');
891
929
  if (queryElement.hasAttribute('data-total'))
892
930
  queryElement.setAttribute('data-total', totalNumber);
@@ -1,9 +1,6 @@
1
- // @ts-nocheck
2
1
  import { getSwipeDirection } from './helpers.js';
3
2
  export const createTabsLinks = function (tabsElement) {
4
- const details = tabsElement.querySelectorAll(':scope > details');
5
3
  const detailsORLinks = tabsElement.querySelectorAll(':scope > details, :scope > a');
6
- const summaries = tabsElement.querySelectorAll(':scope > details > summary');
7
4
  let tabLinks = tabsElement.querySelector(':scope > .tabs__links');
8
5
  if (tabsElement.shadowRoot && tabsElement.shadowRoot.querySelector('.tabs__links'))
9
6
  tabLinks = tabsElement.shadowRoot.querySelector('.tabs__links');
@@ -17,7 +14,7 @@ export const createTabsLinks = function (tabsElement) {
17
14
  }
18
15
  // Create the tab buttons from the summary titles
19
16
  let tabindex = 0;
20
- detailsORLinks.forEach((element, index) => {
17
+ detailsORLinks.forEach((element) => {
21
18
  let button = document.createElement('button');
22
19
  if (element.matches('details')) {
23
20
  const summary = element.querySelector(':scope > summary');
@@ -51,7 +48,7 @@ export const setTabsEventHandlers = function (tabsElement) {
51
48
  let buttonWrapper = tabsElement.querySelector(':scope .tabs__links');
52
49
  let buttons = tabsElement.querySelectorAll(':scope .tabs__links > button');
53
50
  let nextButton = tabsElement.querySelector(':scope .tabs__next');
54
- var scrollTimeout;
51
+ let scrollTimeout;
55
52
  window.isClicked = false;
56
53
  window.isScrolling = false;
57
54
  if (tabsElement.shadowRoot) {
@@ -96,7 +93,7 @@ export const setTabsEventHandlers = function (tabsElement) {
96
93
  });
97
94
  });
98
95
  });
99
- buttonWrapper.addEventListener('scrollend', (event) => {
96
+ buttonWrapper.addEventListener('scrollend', () => {
100
97
  clearTimeout(scrollTimeout);
101
98
  scrollTimeout = setTimeout(function () {
102
99
  let buttonToClick = buttons[0];
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * iamKey v7.1.0--beta6
2
+ * iamKey v7.2.0
3
3
  * Copyright 2022-2025 iamproperty
4
- */(function(h){typeof define=="function"&&define.amd?define(h):h()})(function(){"use strict";var h=r=>(r.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&r.classList.add("ie"),null),T=r=>{var e=function(t){var o=document.querySelector('label[for="'.concat(t.replace("#",""),'"]')),c=document.querySelector(t+" summary"),s=document.querySelector("dialog".concat(t)),n=document.querySelector("detail".concat(t));o instanceof HTMLElement?o.click():c instanceof HTMLElement?c.click():s instanceof HTMLElement?s.showModal():n instanceof HTMLElement&&n.addAttribute("open")};return location.hash&&e(location.hash),window.addEventListener("hashchange",function(){e(location.hash)},!1),addEventListener("popstate",a=>{if(a&&a.state&&a.state.type&&a.state.type=="pagination"){var t=document.querySelector("#".concat(a.state.form)),o=document.querySelector("#".concat(a.state.form," [data-pagination]"));o?o.value=a.state.page:t.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(a.state.page,'" />'),t.dispatchEvent(new Event("submit"))}}),document.addEventListener("submit",a=>{if(a&&a.target instanceof HTMLElement&&a.target.matches("form")){var t=a.target;Array.from(t.querySelectorAll("[data-password-type]")).forEach((o,c)=>{o.setAttribute("type","password")}),(t.querySelector(":invalid")||t.querySelector('.pwd-checker[data-strength="1"]')||t.querySelector('.pwd-checker[data-strength="2"]'))&&(t.classList.add("was-validated"),a.preventDefault()),t.querySelector("iam-multiselect[data-is-required][data-error]")&&(t.classList.add("was-validated"),a.preventDefault())}}),document.addEventListener("keydown",a=>{a.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(a.preventDefault(),a.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach((a,t)=>{var o=a.closest("label");o.setAttribute("data-percent",a.getAttribute("value"))}),null},C=r=>(Array.from(r.querySelectorAll("dialog[open]")).forEach((e,a)=>{var t=e.closest(".dialog__wrapper");t||(e.removeAttribute("open"),e.showModal(),e.focus(),v(e))}),r.addEventListener("click",e=>{if(e.target.tagName=="IAM-ACTIONBAR")return!1;if(e&&e.target instanceof HTMLElement&&e.target.closest("[data-modal]")){var a=e.target.closest("[data-modal]"),t=a.hasAttribute("data-modal")?a.getAttribute("data-modal"):a.getAttribute("data-filter"),o=document.querySelector("dialog#".concat(t));if(v(o),o.showModal(),o.focus(),!o.querySelector("iam-multi-step")){var c=o.offsetWidth;o.setAttribute("style","max-width: ".concat(c,"px;"))}Array.from(o.querySelectorAll("[data-duplicate]")).forEach((u,p)=>{var W=u.getAttribute("data-duplicate"),M=document.getElementById(W);if(u.checked!=M.checked){u.checked=M.checked;var J=new Event("change");u.dispatchEvent(J)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:t})}if(e&&e.target instanceof HTMLElement&&e.target.closest("button.dialog__close")){var s=e.target.closest("dialog[open]");e.preventDefault(),s.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((u,p)=>{u.classList.remove("active")});var n=new CustomEvent("dialog-closed",{bubbles:!0,cancelable:!0,detail:{modalId:s.id}});e.target.dispatchEvent(n),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:s.getAttribute("id")})}if(e&&e.target instanceof HTMLElement&&e.target.closest('button[formmethod="dialog"]')){var i=e.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((u,p)=>{u.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:i.getAttribute("id")})}if(e&&e.target instanceof HTMLElement&&e.target.closest("dialog[open]")){var l=e.target.closest("dialog[open]"),y=window.getComputedStyle(l);if(y.display==="contents"&&(l=l.parentNode.closest("dialog[open]")),!l.classList.contains("dialog--transactional")&&!l.classList.contains("dialog--acknowledgement")){var g=l.getBoundingClientRect();(e.clientX<g.left||e.clientX>g.right||e.clientY<g.top||e.clientY>g.bottom)&&(e.target.closest("dialog *")||l.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:l.getAttribute("id")}))}}if(e&&e.target instanceof HTMLElement&&e.target.closest(".dialog__wrapper > button")){e.stopPropagation();var f=e.target.closest(".dialog__wrapper > button"),V=f.parentNode,E="openPopover",d=V.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=d&&f.closest("dialog[open]")!=document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((u,p)=>{u.removeAttribute("aria-expanded")}),d.hasAttribute("open"))d.close(),E="closePopover",d.removeAttribute("style"),f.removeAttribute("aria-expanded");else{d.show(),f.setAttribute("aria-expanded",!0);var L=f.getBoundingClientRect(),q=L.top,x=L.left;if(f.closest("iam-table")){var k=f.closest("iam-table").parentNode.getBoundingClientRect();q-=k.top,x-=k.left}d.classList.contains("dialog--fix")&&d.setAttribute("style","position:fixed;top: ".concat(q,"px; left: ").concat(x,"px; margin: 3rem 0 0 0;"))}var w=d.getBoundingClientRect(),O=w.bottom-window.scrollY,Y=window.innerHeight-window.scrollY;if(O>Y){var R=d.hasAttribute("style")?d.getAttribute("style")+" ":"";d.setAttribute("style",R+"transform: translate(0, calc(-100% - 4rem))"),w=d.getBoundingClientRect();var F=w.top-window.scrollY;F<100&&d.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:E,id:f.textContent})}e&&e.target instanceof HTMLElement&&!e.target.closest("dialog[open]")&&!e.target.closest(".dialog__wrapper > button")&&(document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]")&&document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper:not([data-keep-open]) > button")).forEach((u,p)=>{u.removeAttribute("aria-expanded")}))}),null),v=r=>{if(!r.querySelector(":scope .mh-lg")&&!r.querySelector("iam-multi-step")){r.innerHTML='<div class="mh-lg">'.concat(r.innerHTML,"</div>");var e=r.querySelector(".mh-lg"),a=r.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(a){var t=a.previousSibling;e.before(a),t&&a.before(t)}}r.querySelector(":scope > button:first-child")||r.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')};function H(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",r=>{var e=r.target.closest("[open] summary");if(e)window.dataLayer.push({event:"closeDetails",detailsTitle:e.textContent||""});else{var a=r.target.closest("summary"),t=r.target.closest("a"),o=r.target.closest("button");a&&window.dataLayer.push({event:"openDetails",detailsTitle:a.textContent||""}),t&&window.dataLayer.push({event:"linkClicked",linkText:t.hasAttribute("title")?t.getAttribute("title")||"":t.textContent||"",class:t.hasAttribute("class")&&t.getAttribute("class")||"",href:t.getAttribute("href")||""}),o&&window.dataLayer.push({event:"buttonClicked",buttonText:o.textContent||"",class:o.hasAttribute("class")&&o.getAttribute("class")||""})}})}function D(r){var e=new TextEncoder("utf-8").encode(r);return crypto.subtle.digest("SHA-1",e).then(function(a){for(var t=[],o=new DataView(a),c=0;c<o.byteLength;c+=4){var s=o.getUint32(c),n=s.toString(16),i="00000000",l=(i+n).slice(-i.length);t.push(l)}return t.join("")})}var _=(r,e)=>{D(r).then(function(a){var t=new XMLHttpRequest;t.addEventListener("load",function(){var o=this.responseText.split(`
5
- `),c=a.slice(5).toUpperCase(),s=!1;for(var n in o)if(o[n].substring(0,35)==c){s=!0;break}var i=new CustomEvent("hibpCheck",{detail:s});e.dispatchEvent(i)}),t.open("GET","https://api.pwnedpasswords.com/range/"+a.substr(0,5)),t.send()})},B=r=>{function e(){if(Array.from(document.querySelectorAll("input[maxlength],textarea[maxlength]")).forEach((t,o)=>{t.parentElement,I(t)}),Array.from(document.querySelectorAll("label input")).forEach((t,o)=>{!t.closest("label").querySelector(".optional-text")&&!t.hasAttribute("required")&&(t.parentNode.tagName.toLowerCase()=="span"?t.parentElement.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'):t.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'))}),document.querySelector('input[type="date"]')){let t=function(o){var c=o.getFullYear(),s=String(o.getMonth()+1).padStart(2,"0"),n=String(o.getDate()).padStart(2,"0");return"".concat(c,"-").concat(s,"-").concat(n)};var a=new Date;Array.from(document.querySelectorAll('input[type="date"]')).forEach((o,c)=>{var s=a;if(o.hasAttribute("data-start")&&(s.setDate(s.getDate()+parseInt(o.getAttribute("data-start"))),o.setAttribute("min",t(s))),o.hasAttribute("data-period")){var n=parseInt(o.getAttribute("data-period")),i=new Date;i.setDate(s.getDate()+n),o.setAttribute("max",t(i))}if(o.hasAttribute("data-allowed-days")){var l=JSON.parse("[".concat(o.getAttribute("data-allowed-days"),"]"));o.addEventListener("input",function(y){var g=new Date(this.value).getUTCDay();l.includes(g)?o.setCustomValidity(""):o.setCustomValidity("That day of the week is not allowed")})}})}}document.readyState==="complete"&&e(),document.onreadystatechange=()=>{document.readyState==="complete"&&e()},r.addEventListener("input",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("input,textarea,select")){var t=a.target.closest("input,textarea,select");t.parentElement,t.hasAttribute("type")&&t.getAttribute("type")=="color"&&(t.nextElementSibling.value=t.value),t.hasAttribute("maxlength")&&t.nextElementSibling&&t.nextElementSibling.setAttribute("data-count",t.value.length),t.hasAttribute("data-strength-checker")&&b(t)}}),r.addEventListener("change",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("select")){var t=a.target.closest("select");if(t.hasAttribute("data-change-type")&&t.hasAttribute("data-input")){var o=document.getElementById(t.getAttribute("data-input")),c=t.value;S(o,c)}}if(a&&a.target instanceof HTMLElement&&a.target.closest('dialog [type="radio"]')){var s=a.target.closest("dialog");a.target.closest('dialog [type="radio"]'),Array.from(s.querySelectorAll('[type="radio"][autofocus]')).forEach((n,i)=>{n.removeAttribute("autofocus")}),Array.from(s.querySelectorAll('[type="radio"]:checked')).forEach((n,i)=>{n.setAttribute("autofocus",!0)})}}),r.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-type][data-input]:not(select)")){var t=a.target.closest("[data-change-type]"),o=document.getElementById(t.getAttribute("data-input")),c=t.getAttribute("data-change-type");if(t.setAttribute("data-change-type",o.getAttribute("type")),S(o,c),t.hasAttribute("data-alt-class")){var s=t.getAttribute("data-alt-class");t.setAttribute("data-alt-class",t.getAttribute("class")),t.setAttribute("class",s)}}})},I=r=>{var e=r.parentElement,a=r.getAttribute("maxlength");e.style.setProperty("--maxlength",a);var t=r.nextElementSibling;(!t||t&&t.classList.contains("invalid-feedback"))&&(t=document.createElement("span"),e.insertBefore(t,r.nextSibling)),t.setAttribute("data-count",r.value.length)},S=(r,e)=>{r.hasAttribute("type")&&r.getAttribute("type")=="password"&&r.setAttribute("data-password-type",!0),r.setAttribute("type",e)},b=function(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"no",t=document.getElementById(e.getAttribute("data-strength-checker")),o=e.value,c=e.hasAttribute("minlength")?e.getAttribute("minlength"):12,s=1,n=["Very weak","Weak","Average","Strong","Very strong"],i="";if(o.match(/(?=.*[0-9])/)&&(s+=1),o.match(/(?=.*[!,%,&,#,$,^,*,?,_,~,<,>,])/)&&(s+=1),o.match(/(?=.*[a-z])/)&&(s+=1),o.match(/(?=.*[A-Z])/)&&(s+=1),o.length<c&&(s=1,i="(must be at least ".concat(c," characters.)")),s>=3&&a=="no"){let l=function(y,g){y.detail?b(g,"danger"):b(g,"success"),g.removeEventListener("hibpCheck",l)};_(o,e),e.addEventListener("hibpCheck",function(y){l(y,e)})}else s>=3&&a=="danger"&&(s=3,i="(this password is very common)");t&&(s<=3?t.classList.add("invalid-feedback"):t.classList.remove("invalid-feedback"),t.setAttribute("data-strength",s),t.innerHTML="Password strength: ".concat(n[s-1]," ").concat(i))},N=()=>{document.addEventListener("change",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&A(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&A(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-click-events]")&&A(r.target,r.target.closest("[data-click-events]").getAttribute("data-click-events"))})},A=(r,e)=>{if(e||(e=r.parentNode.getAttribute("data-change-events")),!e)return!1;Array.from(JSON.parse(e)).forEach((a,t)=>{P(r,a)})},P=(r,e)=>{if("matches"in e)return e.matches=="any"||r.value==e.matches?m(r,e,"if"):m(r,e,"else"),!1;if("in-list"in e){var a=document.querySelector("".concat(e["in-list"],' option[value="').concat(r.value,'"]'));return document.querySelector("".concat(e["in-list"],' option[value="').concat(r.value,'"]'))?m(a,e,"if"):m(a,e,"else"),!1}else"event"in e&&m(r,e,"event")},m=(r,e,a)=>{if(!(a in e))return!1;switch(e[a]){case"hide":if(document.querySelector(e.target)){var t=document.querySelector(e.target);t.classList.add("js-hide"),Array.from(t.querySelectorAll("[data-required]")).forEach((n,i)=>{n.removeAttribute("required")})}break;case"show":if(document.querySelector(e.target)){var o=document.querySelector(e.target);o.classList.remove("js-hide"),Array.from(o.querySelectorAll("[data-required]")).forEach((n,i)=>{n.closest(".js-hide")||n.setAttribute("required","true")})}break;case"populate-form":j(r,e);break;case"dispatchEvent":var c=new Event(e.value);document.querySelector("".concat(e.target)).dispatchEvent(c);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(e.target))).forEach(function(n,i){n.setAttribute(e.attribute,e.value)});break;case"focus":document.querySelector("".concat(e.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(e.target))).forEach(function(n,i){n.removeAttribute(e.attribute)});break;case"updateValue":document.querySelector("".concat(e.target)).value=e.value?e.value:"";var s=new Event("change");document.querySelector("".concat(e.target)).dispatchEvent(s);break;case"submitForm":document.querySelector("".concat(e.target)).submit();break;case"openLink":document.querySelector("".concat(e.target)).value&&(window.location.href=document.querySelector("".concat(e.target)).value);break}},j=function(e,a){var t=JSON.parse(e.getAttribute("data-values")),o=document.querySelector(a.target);if(!t)return!1;Object.keys(t).forEach((c,s)=>{document.getElementById(c)&&document.getElementById(c).tagName=="SPAN"&&(document.getElementById(c).innerHTML=t[c]),o.querySelector('select[name="'.concat(c,'"] [value="').concat(t[c],'"]'))?(o.querySelector('select[name="'.concat(c,'"]')).value=t[c],e.hasAttribute("data-lock-fields")&&(o.querySelector('select[name="'.concat(c,'"]')).disabled=!0)):o.querySelector('input[name="'.concat(c,'"][type="radio"][value="').concat(t[c],'"]'))?(Array.from(o.querySelectorAll('input[name="'.concat(c,'"][type="radio"]'))).forEach(function(n,i){n.disabled=!0}),o.querySelector('input[name="'.concat(c,'"][type="radio"][value="').concat(t[c],'"]')).checked=!0,o.querySelector('input[name="'.concat(c,'"][type="radio"][value="').concat(t[c],'"]')).disabled=!1):o.querySelector('input[name="'.concat(c,'"]'))&&(o.querySelector('input[name="'.concat(c,'"]')).value=t[c],e.hasAttribute("data-lock-fields")&&o.querySelector('input[name="'.concat(c,'"]')).setAttribute("readonly","true"))})};document.addEventListener("DOMContentLoaded",function(){H(),N(),h(document.body),T(),C(document.body),B(document.body)})});
4
+ */(function(y){typeof define=="function"&&define.amd?define(y):y()})(function(){"use strict";var y=r=>{r.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&r.classList.add("ie")},M=r=>{var t=function(e){var o=document.querySelector('label[for="'.concat(e.replace("#",""),'"]')),c=document.querySelector(e+" summary"),s=document.querySelector("dialog".concat(e)),i=document.querySelector("detail".concat(e));o instanceof HTMLElement?o.click():c instanceof HTMLElement?c.click():s instanceof HTMLElement?s.showModal():i instanceof HTMLElement&&i.addAttribute("open")};location.hash&&t(location.hash),window.addEventListener("hashchange",function(){t(location.hash)},!1),addEventListener("popstate",a=>{if(a&&a.state&&a.state.type&&a.state.type=="pagination"){var e=document.querySelector("#".concat(a.state.form)),o=document.querySelector("#".concat(a.state.form," [data-pagination]"));o?o.value=a.state.page:e.innerHTML+='<input name="page" type="hidden" data-pagination="true" value="'.concat(a.state.page,'" />'),e.dispatchEvent(new Event("submit"))}}),document.addEventListener("submit",a=>{if(a&&a.target instanceof HTMLElement&&a.target.matches("form")){var e=a.target;Array.from(e.querySelectorAll("[data-password-type]")).forEach(o=>{o.setAttribute("type","password")}),(e.querySelector(":invalid")||e.querySelector('.pwd-checker[data-strength="1"]')||e.querySelector('.pwd-checker[data-strength="2"]'))&&(e.classList.add("was-validated"),a.preventDefault()),e.querySelector("iam-multiselect[data-is-required][data-error]")&&(e.classList.add("was-validated"),a.preventDefault())}}),document.addEventListener("keydown",a=>{a.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(a.preventDefault(),a.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach(a=>{var e=a.closest("label");e.setAttribute("data-percent",a.getAttribute("value"))})},T=r=>(Array.from(r.querySelectorAll("dialog[open]")).forEach(t=>{var a=t.closest(".dialog__wrapper");a||(t.removeAttribute("open"),t.showModal(),t.focus(),v(t))}),r.addEventListener("click",t=>{if(t.target.tagName=="IAM-ACTIONBAR")return!1;if(t&&t.target instanceof HTMLElement&&t.target.closest("[data-modal]")){var a=t.target.closest("[data-modal]"),e=a.hasAttribute("data-modal")?a.getAttribute("data-modal"):a.getAttribute("data-filter"),o=document.querySelector("dialog#".concat(e));if(v(o),o.showModal(),o.focus(),!o.querySelector("iam-multi-step")){var c=o.offsetWidth;o.setAttribute("style","max-width: ".concat(c,"px;"))}Array.from(o.querySelectorAll("[data-duplicate]")).forEach(u=>{var W=u.getAttribute("data-duplicate"),x=document.getElementById(W);if(u.checked!=x.checked){u.checked=x.checked;var J=new Event("change");u.dispatchEvent(J)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:e})}if(t&&t.target instanceof HTMLElement&&t.target.closest("button.dialog__close")){var s=t.target.closest("dialog[open]");t.preventDefault(),s.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(u=>{u.classList.remove("active")});var i=new CustomEvent("dialog-closed",{bubbles:!0,cancelable:!0,detail:{modalId:s.id}});t.target.dispatchEvent(i),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:s.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest('button[formmethod="dialog"]')){var n=t.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(u=>{u.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:n.getAttribute("id")})}if(t&&t.target instanceof HTMLElement&&t.target.closest("dialog[open]")){var l=t.target.closest("dialog[open]"),h=window.getComputedStyle(l);if(h.display==="contents"&&(l=l.parentNode.closest("dialog[open]")),!l.classList.contains("dialog--transactional")&&!l.classList.contains("dialog--acknowledgement")){var g=l.getBoundingClientRect();(t.clientX<g.left||t.clientX>g.right||t.clientY<g.top||t.clientY>g.bottom)&&(t.target.closest("dialog *")||l.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:l.getAttribute("id")}))}}if(t&&t.target instanceof HTMLElement&&t.target.closest(".dialog__wrapper > button")){t.stopPropagation();var f=t.target.closest(".dialog__wrapper > button"),O=f.parentNode,E="openPopover",d=O.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=d&&f.closest("dialog[open]")!=document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach(u=>{u.removeAttribute("aria-expanded")}),d.hasAttribute("open"))d.close(),E="closePopover",d.removeAttribute("style"),f.removeAttribute("aria-expanded");else{d.show(),f.setAttribute("aria-expanded",!0);var S=f.getBoundingClientRect(),L=S.top,q=S.left;if(f.closest("iam-table")){var k=f.closest("iam-table").parentNode.getBoundingClientRect();L-=k.top,q-=k.left}d.classList.contains("dialog--fix")&&d.setAttribute("style","position:fixed;top: ".concat(L,"px; left: ").concat(q,"px; margin: 3rem 0 0 0;"))}var A=d.getBoundingClientRect(),V=A.bottom-window.scrollY,R=window.innerHeight-window.scrollY;if(V>R){var Y=d.hasAttribute("style")?d.getAttribute("style")+" ":"";d.setAttribute("style",Y+"transform: translate(0, calc(-100% - 4rem))"),A=d.getBoundingClientRect();var F=A.top-window.scrollY;F<100&&d.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:E,id:f.textContent})}t&&t.target instanceof HTMLElement&&!t.target.closest("dialog[open]")&&!t.target.closest(".dialog__wrapper > button")&&(document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]")&&document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper:not([data-keep-open]) > button")).forEach(u=>{u.removeAttribute("aria-expanded")}))}),null),v=r=>{if(!r.querySelector(":scope .mh-lg")&&!r.querySelector("iam-multi-step")){r.innerHTML='<div class="mh-lg">'.concat(r.innerHTML,"</div>");var t=r.querySelector(".mh-lg"),a=r.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(a){var e=a.previousSibling;t.before(a),e&&a.before(e)}}r.querySelector(":scope > button:first-child")||r.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')};function C(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",r=>{var t=r.target.closest("[open] summary");if(t)window.dataLayer.push({event:"closeDetails",detailsTitle:t.textContent||""});else{var a=r.target.closest("summary"),e=r.target.closest("a"),o=r.target.closest("button");a&&window.dataLayer.push({event:"openDetails",detailsTitle:a.textContent||""}),e&&window.dataLayer.push({event:"linkClicked",linkText:e.hasAttribute("title")?e.getAttribute("title")||"":e.textContent||"",class:e.hasAttribute("class")&&e.getAttribute("class")||"",href:e.getAttribute("href")||""}),o&&window.dataLayer.push({event:"buttonClicked",buttonText:o.textContent||"",class:o.hasAttribute("class")&&o.getAttribute("class")||""})}})}function H(r){var t=new TextEncoder("utf-8").encode(r);return crypto.subtle.digest("SHA-1",t).then(function(a){for(var e=[],o=new DataView(a),c=0;c<o.byteLength;c+=4){var s=o.getUint32(c),i=s.toString(16),n="00000000",l=(n+i).slice(-n.length);e.push(l)}return e.join("")})}var D=(r,t)=>{H(r).then(function(a){var e=new XMLHttpRequest;e.addEventListener("load",function(){var o=this.responseText.split(`
5
+ `),c=a.slice(5).toUpperCase(),s=!1;for(var i in o)if(o[i].substring(0,35)==c){s=!0;break}var n=new CustomEvent("hibpCheck",{detail:s});t.dispatchEvent(n)}),e.open("GET","https://api.pwnedpasswords.com/range/"+a.substr(0,5)),e.send()})},B=r=>{function t(){if(Array.from(document.querySelectorAll("input[maxlength],textarea[maxlength]")).forEach(e=>{e.parentElement,_(e)}),Array.from(document.querySelectorAll("label input")).forEach(e=>{!e.closest("label").querySelector(".optional-text")&&!e.hasAttribute("required")&&(e.parentNode.tagName.toLowerCase()=="span"?e.parentElement.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'):e.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'))}),document.querySelector('input[type="date"]')){let e=function(o){var c=o.getFullYear(),s=String(o.getMonth()+1).padStart(2,"0"),i=String(o.getDate()).padStart(2,"0");return"".concat(c,"-").concat(s,"-").concat(i)};var a=new Date;Array.from(document.querySelectorAll('input[type="date"]')).forEach(o=>{var c=a;if(o.hasAttribute("data-start")&&(c.setDate(c.getDate()+parseInt(o.getAttribute("data-start"))),o.setAttribute("min",e(c))),o.hasAttribute("data-period")){var s=parseInt(o.getAttribute("data-period")),i=new Date;i.setDate(c.getDate()+s),o.setAttribute("max",e(i))}if(o.hasAttribute("data-allowed-days")){var n=JSON.parse("[".concat(o.getAttribute("data-allowed-days"),"]"));o.addEventListener("input",function(){var l=new Date(this.value).getUTCDay();n.includes(l)?o.setCustomValidity(""):o.setCustomValidity("That day of the week is not allowed")})}})}}document.readyState==="complete"&&t(),document.onreadystatechange=()=>{document.readyState==="complete"&&t()},r.addEventListener("input",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("input,textarea,select")){var e=a.target.closest("input,textarea,select");e.hasAttribute("type")&&e.getAttribute("type")=="color"&&(e.nextElementSibling.value=e.value),e.hasAttribute("maxlength")&&e.nextElementSibling&&e.nextElementSibling.setAttribute("data-count",e.value.length),e.hasAttribute("data-strength-checker")&&p(e)}}),r.addEventListener("change",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("select")){var e=a.target.closest("select");if(e.hasAttribute("data-change-type")&&e.hasAttribute("data-input")){var o=document.getElementById(e.getAttribute("data-input")),c=e.value;w(o,c)}}if(a&&a.target instanceof HTMLElement&&a.target.closest('dialog [type="radio"]')){var s=a.target.closest("dialog");Array.from(s.querySelectorAll('[type="radio"][autofocus]')).forEach(i=>{i.removeAttribute("autofocus")}),Array.from(s.querySelectorAll('[type="radio"]:checked')).forEach(i=>{i.setAttribute("autofocus",!0)})}}),r.addEventListener("click",a=>{if(a&&a.target instanceof HTMLElement&&a.target.closest("[data-change-type][data-input]:not(select)")){var e=a.target.closest("[data-change-type]"),o=document.getElementById(e.getAttribute("data-input")),c=e.getAttribute("data-change-type");if(e.setAttribute("data-change-type",o.getAttribute("type")),w(o,c),e.hasAttribute("data-alt-class")){var s=e.getAttribute("data-alt-class");e.setAttribute("data-alt-class",e.getAttribute("class")),e.setAttribute("class",s)}}})},_=r=>{var t=r.parentElement,a=r.getAttribute("maxlength");t.style.setProperty("--maxlength",a);var e=r.nextElementSibling;(!e||e&&e.classList.contains("invalid-feedback"))&&(e=document.createElement("span"),t.insertBefore(e,r.nextSibling)),e.setAttribute("data-count",r.value.length)},w=(r,t)=>{r.hasAttribute("type")&&r.getAttribute("type")=="password"&&r.setAttribute("data-password-type",!0),r.setAttribute("type",t)},p=function(t){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"no",e=document.getElementById(t.getAttribute("data-strength-checker")),o=t.value,c=t.hasAttribute("minlength")?t.getAttribute("minlength"):12,s=1,i=["Very weak","Weak","Average","Strong","Very strong"],n="";if(o.match(/(?=.*[0-9])/)&&(s+=1),o.match(/(?=.*[!,%,&,#,$,^,*,?,_,~,<,>,])/)&&(s+=1),o.match(/(?=.*[a-z])/)&&(s+=1),o.match(/(?=.*[A-Z])/)&&(s+=1),o.length<c&&(s=1,n="(must be at least ".concat(c," characters.)")),s>=3&&a=="no"){let l=function(h,g){h.detail?p(g,"danger"):p(g,"success"),g.removeEventListener("hibpCheck",l)};D(o,t),t.addEventListener("hibpCheck",function(h){l(h,t)})}else s>=3&&a=="danger"&&(s=3,n="(this password is very common)");e&&(s<=3?e.classList.add("invalid-feedback"):e.classList.remove("invalid-feedback"),e.setAttribute("data-strength",s),e.innerHTML="Password strength: ".concat(i[s-1]," ").concat(n))},N=()=>{document.addEventListener("change",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&b(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("keyup",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-change-events]")&&b(r.target,r.target.closest("[data-change-events]").getAttribute("data-change-events"))}),document.addEventListener("click",r=>{r&&r.target instanceof HTMLElement&&r.target.closest("[data-click-events]")&&b(r.target,r.target.closest("[data-click-events]").getAttribute("data-click-events"))})},b=(r,t)=>{if(t||(t=r.parentNode.getAttribute("data-change-events")),!t)return!1;Array.from(JSON.parse(t)).forEach(a=>{I(r,a)})},I=(r,t)=>{if("matches"in t)return t.matches=="any"||r.value==t.matches?m(r,t,"if"):m(r,t,"else"),!1;if("in-list"in t){var a=document.querySelector("".concat(t["in-list"],' option[value="').concat(r.value,'"]'));return document.querySelector("".concat(t["in-list"],' option[value="').concat(r.value,'"]'))?m(a,t,"if"):m(a,t,"else"),!1}else"event"in t&&m(r,t,"event")},m=(r,t,a)=>{if(!(a in t))return!1;switch(t[a]){case"hide":if(document.querySelector(t.target)){var e=document.querySelector(t.target);e.classList.add("js-hide"),Array.from(e.querySelectorAll("[data-required]")).forEach(i=>{i.removeAttribute("required")})}break;case"show":if(document.querySelector(t.target)){var o=document.querySelector(t.target);o.classList.remove("js-hide"),Array.from(o.querySelectorAll("[data-required]")).forEach(i=>{i.closest(".js-hide")||i.setAttribute("required","true")})}break;case"populate-form":j(r,t);break;case"dispatchEvent":var c=new Event(t.value);document.querySelector("".concat(t.target)).dispatchEvent(c);break;case"setAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(i){i.setAttribute(t.attribute,t.value)});break;case"focus":document.querySelector("".concat(t.target)).focus();break;case"removeAttribute":Array.from(document.querySelectorAll("".concat(t.target))).forEach(function(i){i.removeAttribute(t.attribute)});break;case"updateValue":document.querySelector("".concat(t.target)).value=t.value?t.value:"";var s=new Event("change");document.querySelector("".concat(t.target)).dispatchEvent(s);break;case"submitForm":document.querySelector("".concat(t.target)).submit();break;case"openLink":document.querySelector("".concat(t.target)).value&&(window.location.href=document.querySelector("".concat(t.target)).value);break}},j=function(t,a){var e=JSON.parse(t.getAttribute("data-values")),o=document.querySelector(a.target);if(!e)return!1;Object.keys(e).forEach(c=>{document.getElementById(c)&&document.getElementById(c).tagName=="SPAN"&&(document.getElementById(c).innerHTML=e[c]),o.querySelector('select[name="'.concat(c,'"] [value="').concat(e[c],'"]'))?(o.querySelector('select[name="'.concat(c,'"]')).value=e[c],t.hasAttribute("data-lock-fields")&&(o.querySelector('select[name="'.concat(c,'"]')).disabled=!0)):o.querySelector('input[name="'.concat(c,'"][type="radio"][value="').concat(e[c],'"]'))?(Array.from(o.querySelectorAll('input[name="'.concat(c,'"][type="radio"]'))).forEach(function(s){s.disabled=!0}),o.querySelector('input[name="'.concat(c,'"][type="radio"][value="').concat(e[c],'"]')).checked=!0,o.querySelector('input[name="'.concat(c,'"][type="radio"][value="').concat(e[c],'"]')).disabled=!1):o.querySelector('input[name="'.concat(c,'"]'))&&(o.querySelector('input[name="'.concat(c,'"]')).value=e[c],t.hasAttribute("data-lock-fields")&&o.querySelector('input[name="'.concat(c,'"]')).setAttribute("readonly","true"))})},P=["accordion","header","table","tabs","card","filter-card","video-card","record-card","filterlist","applied-filters","pagination","notification","actionbar","nav","collapsible-side","address-lookup","fileupload","search","inline-edit","multiselect","multi-step","menu","slider","carousel","marketing","barchart","doughnutchart","bento-grid"];document.addEventListener("DOMContentLoaded",function(){C(),N(),y(document.body),M(),T(document.body),B(document.body);var r="iam",t={rootMargin:"50px",threshold:.1},a=".component.min.js";P.forEach(e=>{if(document.getElementsByTagName("".concat(r,"-").concat(e)).length!==0){var o=s=>{s.forEach(i=>{i.intersectionRatio>0&&(console.log(e),import("../js/components/".concat(e,"/").concat(e).concat(a)).then(n=>{window.customElements.get("".concat(r,"-").concat(e))||window.customElements.define("".concat(r,"-").concat(e),n.default)}).catch(n=>{console.log(n.message)}),c.unobserve(i.target))})},c=new IntersectionObserver(o,t);c.observe(document.getElementsByTagName("".concat(r,"-").concat(e))[0])}})})});
6
6
  //# sourceMappingURL=scripts.bundle.js.map