@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 +1 @@
1
- {"version":3,"file":"address-lookup.component.min.js","sources":["address-lookup.component.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from 'js-cookie';\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Address Lookup',\n});\nclass iamAddressLookup extends HTMLElement {\n constructor() {\n var _a;\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/address-lookup.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n \n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <div class=\"wrapper\">\n\n <div class=\"postcode-lookup\">\n <div>\n <label class=\"mb-2\">Search <span class=\"title text-lowercase\"></span> <span class=\"optional\">(Optional)</span>\n <span>\n <input type=\"text\" name=\"postcode\" list=\"address-lookup__addressess\" autocomplete=\"off\" aria-autocomplete=\"none\" placeholder=\"Postcode\" />\n <span class=\"suffix fa-regular fa-search\"></span>\n </span>\n <span class=\"invalid-feedback\">Required Adddress fields missing</span>\n </label>\n\n </div>\n <button class=\"btn btn-tertiary switch-to-manual-btn\" type=\"button\">Or enter address manually</button>\n </div>\n <datalist id=\"address-lookup__addressess\"></datalist>\n\n <div class=\"manual-address pb-2 js-hide\">\n <slot></slot>\n <button class=\"btn btn-tertiary switch-to-lookup-btn\" type=\"button\">Use postcode lookup</button>\n <slot name=\"after\"></slot>\n </div>\n <div class=\"pre-filled pb-2 js-hide\">\n <strong class=\"title text-primary d-block\"></strong>\n <p><span class=\"pre-filled-address\"></span><button class=\"text-primary text-decoration-none ms-1 cursor-pointer\" type=\"button\"><i class=\"fa-regular fa-pen-to-square\"></i><span class=\"visually-hidden\">Edit</span></button><slot name=\"prefilled\"></slot></p>\n </div>\n </div>\n `;\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');\n const manualWrapper = this.shadowRoot.querySelector('.manual-address');\n const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');\n const list = this.shadowRoot.querySelector('datalist');\n const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');\n const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');\n const title = this.hasAttribute('data-title') ? this.getAttribute('data-title') : 'Property address';\n const preFilledAddressBtn = this.shadowRoot.querySelector('.pre-filled-address + button');\n const dataDisplayText = this.hasAttribute('data-display-text');\n Array.from(this.shadowRoot.querySelectorAll('.title')).forEach((titleElement) => {\n titleElement.innerHTML = title;\n });\n function checkFilled(component) {\n const preFilledAddress = component.shadowRoot.querySelector('.pre-filled-address');\n let preFilled = true;\n preFilledAddress.innerHTML = '';\n Array.from(component.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input) => {\n const value = input.value;\n if (!value)\n preFilled = false;\n else\n preFilledAddress.innerHTML += value + (/^-?\\d+$/.test(value) ? ' ' : ', ');\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(0, -2);\n if (preFilled) {\n preFilledWrapper.classList.remove('js-hide');\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.add('js-hide');\n }\n }\n checkFilled(this);\n this.addEventListener('filled', () => {\n checkFilled(this);\n });\n if (this.hasAttribute('data-use')) {\n const useLabel = this.hasAttribute('data-use-label') ? this.getAttribute('data-use-label') : 'Use saved address';\n const useCheckbox = `<div><input type=\"checkbox\" name=\"use\" id=\"use\" value=\"yes\"><label for=\"use\">${useLabel}</label></div>`;\n lookupWrapper.insertAdjacentHTML('afterbegin', useCheckbox);\n this.shadowRoot.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[name=\"use\"]')) {\n const checkbox = event.target.closest('[name=\"use\"]');\n if (checkbox.checked) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n }\n }\n });\n }\n if (this.hasAttribute('data-manual')) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n }\n function openManualWrapper() {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n manualWrapper.scrollIntoView();\n }\n preFilledAddressBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n openManualWrapper();\n });\n switchManualBtn.addEventListener('click', () => {\n openManualWrapper();\n });\n switchLookupBtn.addEventListener('click', () => {\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n lookupWrapper.scrollIntoView();\n });\n lookup.addEventListener('keyup', () => {\n if (lookup.value.length >= 3)\n search(lookup.value);\n });\n lookup.addEventListener('change', () => {\n if (lookup.value.length >= 3) {\n search(lookup.value);\n if (list.querySelector(`[value=\"${lookup.value}\"]`)) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(list.querySelector(`[value=\"${lookup.value}\"]`).getAttribute('data-values'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`) && value != '')\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[data-name-alt=\"${key}\"]`) && value != '')\n this.querySelector(`[data-name-alt=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`) && value != '')\n this.querySelector(`[name=\"${key}\"]`).value = value;\n if (this.querySelector(`[data-name-2=\"${key}\"]`))\n this.querySelector(`[data-name-2=\"${key}\"]`).value += ' ' + value;\n });\n // Focus on first input\n this.querySelector('[name]').focus();\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n lookup.removeAttribute('required');\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n }\n }\n });\n const search = (postcode) => __awaiter(this, void 0, void 0, function* () {\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(postcode)}`;\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[ajaxURL])\n window.controller[ajaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[ajaxURL] = new AbortController();\n const { signal } = controller[ajaxURL];\n try {\n yield fetch(ajaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n // populate datalist\n let listString = '';\n response.forEach((address) => {\n // Deal with agent platform response\n if (typeof address.value == 'object') {\n const values = JSON.stringify(address.value);\n listString += `<option value=\"${address['label']}, ${postcode}\" data-values='${values}'></option>`;\n }\n else {\n const values = JSON.stringify(address);\n if (dataDisplayText) {\n listString += `<option value=\"${address[dataDisplayText]}, ${postcode}\" data-values='${values}'></option>`;\n }\n else {\n let itemString = '';\n for (const [key, value] of Object.entries(address)) {\n if (key == 'address_number_name')\n itemString += `${value} `;\n else if (key != 'postcode' && key != 'address_title')\n itemString += `${value}${/^-?\\d+$/.test(value) ? '' : ','} `;\n }\n listString += `<option value=\"${itemString}${postcode}\" data-values='${values}'></option>`;\n }\n }\n });\n list.innerHTML = listString;\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n });\n });\n }\n}\nexport default iamAddressLookup;\n"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","iamAddressLookup","_a","assetLocation","coreCSS","template","lookup","lookupWrapper","manualWrapper","preFilledWrapper","list","switchManualBtn","switchLookupBtn","title","preFilledAddressBtn","dataDisplayText","titleElement","checkFilled","component","preFilledAddress","preFilled","input","useCheckbox","event","values","key","openManualWrapper","search","postcode","ajaxURL","signal","Cookies","response","listString","address","itemString","error"],"mappings":"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"}
1
+ {"version":3,"file":"address-lookup.component.min.js","sources":["address-lookup.component.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport Cookies from 'js-cookie';\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Address Lookup',\n});\nclass iamAddressLookup extends HTMLElement {\n constructor() {\n var _a;\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/address-lookup.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n \n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <div class=\"wrapper\">\n\n <div class=\"postcode-lookup\">\n <div>\n <label class=\"mb-2\">Search <span class=\"title text-lowercase\"></span> <span class=\"optional\">(Optional)</span>\n <span>\n <input type=\"text\" name=\"postcode\" list=\"address-lookup__addressess\" autocomplete=\"off\" aria-autocomplete=\"none\" placeholder=\"Postcode\" part=\"input\" />\n <span class=\"suffix fa-regular fa-search\" part=\"suffix\"></span>\n </span>\n <span class=\"invalid-feedback\">Required Adddress fields missing</span>\n </label>\n\n </div>\n <button class=\"btn btn-tertiary switch-to-manual-btn\" type=\"button\" part=\"button\">Or enter address manually</button>\n </div>\n <datalist id=\"address-lookup__addressess\"></datalist>\n\n <div class=\"manual-address pb-2 js-hide\">\n <slot part=\"contents\"></slot>\n <button class=\"btn btn-tertiary switch-to-lookup-btn\" type=\"button\" part=\"button\">Use postcode lookup</button>\n <slot name=\"after\"></slot>\n </div>\n <div class=\"pre-filled pb-2 js-hide\">\n <strong class=\"title text-primary d-block\"></strong>\n <p><span class=\"pre-filled-address\"></span><button class=\"text-primary text-decoration-none ms-1 cursor-pointer\" type=\"button\" part=\"edit-button\"><i class=\"fa-regular fa-pen-to-square\"></i> <span class=\"visually-hidden\">Edit</span></button><slot name=\"prefilled\"></slot></p>\n </div>\n </div>\n `;\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n return __awaiter(this, void 0, void 0, function* () {\n const lookup = this.shadowRoot.querySelector('[name=\"postcode\"]');\n const lookupWrapper = this.shadowRoot.querySelector('.postcode-lookup');\n const manualWrapper = this.shadowRoot.querySelector('.manual-address');\n const preFilledWrapper = this.shadowRoot.querySelector('.pre-filled');\n const list = this.shadowRoot.querySelector('datalist');\n const switchManualBtn = this.shadowRoot.querySelector('.switch-to-manual-btn');\n const switchLookupBtn = this.shadowRoot.querySelector('.switch-to-lookup-btn');\n const title = this.hasAttribute('data-title') ? this.getAttribute('data-title') : 'Property address';\n const preFilledAddressBtn = this.shadowRoot.querySelector('.pre-filled-address + button');\n const dataDisplayText = this.hasAttribute('data-display-text');\n Array.from(this.shadowRoot.querySelectorAll('.title')).forEach((titleElement) => {\n titleElement.innerHTML = title;\n });\n function checkFilled(component) {\n const preFilledAddress = component.shadowRoot.querySelector('.pre-filled-address');\n let preFilled = true;\n preFilledAddress.innerHTML = '';\n Array.from(component.querySelectorAll('input[required],input[data-required],select[required],select[data-required]')).forEach((input) => {\n const value = input.value;\n if (!value)\n preFilled = false;\n else\n preFilledAddress.innerHTML += value + (/^-?\\d+$/.test(value) ? ' ' : ', ');\n });\n preFilledAddress.innerHTML = preFilledAddress.innerHTML.slice(0, -2);\n if (preFilled) {\n preFilledWrapper.classList.remove('js-hide');\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.add('js-hide');\n }\n }\n checkFilled(this);\n this.addEventListener('filled', () => {\n checkFilled(this);\n });\n if (this.hasAttribute('data-use')) {\n const useLabel = this.hasAttribute('data-use-label') ? this.getAttribute('data-use-label') : 'Use saved address';\n const useCheckbox = `<div><input type=\"checkbox\" name=\"use\" id=\"use\" value=\"yes\"><label for=\"use\">${useLabel}</label></div>`;\n lookupWrapper.insertAdjacentHTML('afterbegin', useCheckbox);\n this.shadowRoot.addEventListener('change', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.closest('[name=\"use\"]')) {\n const checkbox = event.target.closest('[name=\"use\"]');\n if (checkbox.checked) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(this.getAttribute('data-use'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`))\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`))\n this.querySelector(`[name=\"${key}\"]`).value = value;\n });\n }\n }\n });\n }\n if (this.hasAttribute('data-manual')) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n }\n function openManualWrapper() {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n Array.from(manualWrapper.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n manualWrapper.scrollIntoView();\n }\n preFilledAddressBtn.addEventListener('click', () => {\n preFilledWrapper.classList.add('js-hide');\n openManualWrapper();\n });\n switchManualBtn.addEventListener('click', () => {\n openManualWrapper();\n });\n switchLookupBtn.addEventListener('click', () => {\n lookupWrapper.classList.remove('js-hide');\n manualWrapper.classList.add('js-hide');\n lookupWrapper.scrollIntoView();\n });\n lookup.addEventListener('keyup', () => {\n if (lookup.value.length >= 3)\n search(lookup.value);\n });\n lookup.addEventListener('change', () => {\n if (lookup.value.length >= 3) {\n search(lookup.value);\n if (list.querySelector(`[value=\"${lookup.value}\"]`)) {\n lookupWrapper.classList.add('js-hide');\n manualWrapper.classList.remove('js-hide');\n const values = JSON.parse(list.querySelector(`[value=\"${lookup.value}\"]`).getAttribute('data-values'));\n Object.keys(values).forEach((key) => {\n const value = values[key];\n if (this.querySelector(`[data-name=\"${key}\"]`) && value != '')\n this.querySelector(`[data-name=\"${key}\"]`).value = value;\n else if (this.querySelector(`[data-name-alt=\"${key}\"]`) && value != '')\n this.querySelector(`[data-name-alt=\"${key}\"]`).value = value;\n else if (this.querySelector(`[name=\"${key}\"]`) && value != '')\n this.querySelector(`[name=\"${key}\"]`).value = value;\n if (this.querySelector(`[data-name-2=\"${key}\"]`))\n this.querySelector(`[data-name-2=\"${key}\"]`).value += ' ' + value;\n });\n // Focus on first input\n this.querySelector('[name]').focus();\n Array.from(this.querySelectorAll('[data-required]')).forEach((input) => {\n input.setAttribute('required', 'true');\n });\n lookup.removeAttribute('required');\n if (this.shadowRoot.querySelector('[name=\"use\"]'))\n this.shadowRoot.querySelector('[name=\"use\"]').checked = false;\n }\n }\n });\n const search = (postcode) => __awaiter(this, void 0, void 0, function* () {\n let ajaxURL = this.getAttribute('data-url');\n ajaxURL += `${encodeURI(postcode)}`;\n // Setup controller vars if not already set\n if (!window.controller)\n window.controller = [];\n // Abort if controller already present for this url\n if (window.controller[ajaxURL])\n window.controller[ajaxURL].abort();\n // Create a new controller so it can be aborted if new fetch made\n window.controller[ajaxURL] = new AbortController();\n const { signal } = controller[ajaxURL];\n try {\n yield fetch(ajaxURL, {\n signal: signal,\n method: 'get',\n credentials: 'same-origin',\n headers: new Headers({\n 'Content-Type': 'application/json',\n Accept: 'application/json',\n 'X-Requested-With': 'XMLHttpRequest',\n 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),\n }),\n })\n .then((response) => response.json())\n .then((response) => {\n // populate datalist\n let listString = '';\n response.forEach((address) => {\n // Deal with agent platform response\n if (typeof address.value == 'object') {\n const values = JSON.stringify(address.value);\n listString += `<option value=\"${address['label']}, ${postcode}\" data-values='${values}'></option>`;\n }\n else {\n const values = JSON.stringify(address);\n if (dataDisplayText) {\n listString += `<option value=\"${address[dataDisplayText]}, ${postcode}\" data-values='${values}'></option>`;\n }\n else {\n let itemString = '';\n for (const [key, value] of Object.entries(address)) {\n if (key == 'address_number_name')\n itemString += `${value} `;\n else if (key != 'postcode' && key != 'address_title')\n itemString += `${value}${/^-?\\d+$/.test(value) ? '' : ','} `;\n }\n listString += `<option value=\"${itemString}${postcode}\" data-values='${values}'></option>`;\n }\n }\n });\n list.innerHTML = listString;\n return response;\n });\n }\n catch (error) {\n console.log(error);\n }\n });\n });\n }\n}\nexport default iamAddressLookup;\n"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","iamAddressLookup","_a","template","lookup","lookupWrapper","manualWrapper","preFilledWrapper","list","switchManualBtn","switchLookupBtn","title","preFilledAddressBtn","dataDisplayText","titleElement","checkFilled","component","preFilledAddress","preFilled","input","useCheckbox","event","values","key","openManualWrapper","search","postcode","ajaxURL","signal","Cookies","response","listString","address","itemString","error"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.4.0
2
+ * iamKey v7.5.1--beta1
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */function u(n,t,o,i=!1){let s=-1;i?t.addEventListener("focus",function(){t.setAttribute("data-list",t.getAttribute("list")),t.setAttribute("list",""),o.style.display="block"}):t.addEventListener("focus",function(){t.setAttribute("placeholder",t.value),t.setAttribute("data-value",t.value),t.value="",t.setAttribute("data-list",t.getAttribute("list")),t.setAttribute("list",""),o.style.display="block"}),t.addEventListener("blur",function(){t.hasAttribute("data-value")&&(t.value=t.getAttribute("data-value")),setTimeout(()=>{o.style.display="none"},500)});for(const e of o.options)e.innerHTML==""&&(e.innerHTML=e.value);n.addEventListener("click",function(){if(event&&event.target instanceof HTMLElement&&event.target.closest("datalist option")){const e=event.target.closest("datalist option");t.value=e.value,typeof window.triggerDynamicEvent=="function"&&window.triggerDynamicEvent(t),o.style.display="none";for(const c of o.options)c.classList.remove("active");e.classList.add("active")}}),t.addEventListener("input",function(){t.removeAttribute("data-value"),s=-1;const e=t.value.toUpperCase();for(const c of o.options)c.value.toUpperCase().indexOf(e)>-1?c.style.display="block":c.style.display="none"}),t.addEventListener("keydown",function(e){e.keyCode==40?(s++,a(o.options)):e.keyCode==38?(s--,a(o.options)):e.keyCode==13&&(e.preventDefault(),s>-1&&o.options&&o.options[s].click())});function a(e){if(!e)return!1;r(e),s>=e.length&&(s=0),s<0&&(s=e.length-1),e[s].classList.add("active")}function r(e){for(let c=0;c<e.length;c++)e[c].classList.remove("active")}t.closest("label").insertAdjacentHTML("beforeend",'<button class="empty btn btn-action"><i class="fa-light fa-times me-0"></i></button>'),n.querySelector(".empty").addEventListener("click",function(e){t.removeAttribute("placeholder"),t.removeAttribute("data-value"),t.value="";for(const c of o.options)c.classList.remove("active"),c.removeAttribute("style")})}const l=n=>n.replace(/ /g,"_"),f=function(n){return n=n.toLowerCase(),n=l(n),n=n.replace(/\W/g,""),n};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Advanced select"});class v extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const t=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",o=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${t}/css/core.min.css`,i=document.createElement("template");i.innerHTML=`
5
5
  <style>
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-select.component.min.js","sources":["../../modules/advanced-select.js","../../modules/helpers.js","advanced-select.component.js"],"sourcesContent":["function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n let currentFocus = -1;\n if (!isSearch) {\n displayInputField.addEventListener('focus', function () {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n displayInputField.value = '';\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n datalist.style.display = 'block';\n });\n }\n else {\n displayInputField.addEventListener('focus', function () {\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n datalist.style.display = 'block';\n });\n }\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n setTimeout(() => {\n datalist.style.display = 'none';\n }, 500);\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n advancedSelect.addEventListener('click', function () {\n if (event && event.target instanceof HTMLElement && event.target.closest('datalist option')) {\n const option = event.target.closest('datalist option');\n displayInputField.value = option.value;\n if (typeof window.triggerDynamicEvent == \"function\")\n window.triggerDynamicEvent(displayInputField);\n datalist.style.display = 'none';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n }\n else {\n option.style.display = 'none';\n }\n }\n });\n displayInputField.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const closeBtn = advancedSelect.querySelector('.empty');\n closeBtn.addEventListener('click', function (e) {\n displayInputField.removeAttribute('placeholder');\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n });\n}\nexport default advancedSelect;\n","/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n document.addEventListener('submit', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.matches('form')) {\n const form = event.target;\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\n","import advancedSelect from '../../modules/advanced-select.js';\nimport { safeID } from '../../modules/helpers.js';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Advanced select',\n});\nclass iamAdvancedSelect extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n input {\n background: red;\n }\n input:not(.is-invalid):not(:invalid) {\n background: none!important;\n }\n .optional-text {\n display: none;\n } \n .js-hide {\n display: none !important;\n }\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // Clone original input field, re-name and use for display purposes\n const inputField = this.querySelector('input');\n const displayInputField = inputField.cloneNode();\n displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);\n inputField.removeAttribute('data-change-events');\n displayInputField.removeAttribute('id');\n let datalist = this.querySelector('datalist');\n inputField.after(displayInputField);\n // Hide original input field\n inputField.setAttribute('type', 'hidden');\n // if data list does not exist then create one and append\n if (!datalist) {\n datalist = document.createElement('datalist');\n const listID = safeID('list');\n datalist.setAttribute('id', listID);\n searchWrapper.appendChild(datalist);\n displayInputField.setAttribute('list', listID);\n }\n advancedSelect(this, displayInputField, datalist);\n }\n}\nexport default iamAdvancedSelect;\n"],"names":["advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","optionInner","text","addActive","x","removeActive","i","snake","str","safeID","iamAdvancedSelect","assetLocation","coreCSS","template","inputField","listID"],"mappings":"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"}
1
+ {"version":3,"file":"advanced-select.component.min.js","sources":["../../modules/advanced-select.js","../../modules/helpers.js","advanced-select.component.js"],"sourcesContent":["function advancedSelect(advancedSelect, displayInputField, datalist, isSearch = false) {\n let currentFocus = -1;\n if (!isSearch) {\n displayInputField.addEventListener('focus', function () {\n displayInputField.setAttribute('placeholder', displayInputField.value);\n displayInputField.setAttribute('data-value', displayInputField.value);\n displayInputField.value = '';\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n datalist.style.display = 'block';\n });\n }\n else {\n displayInputField.addEventListener('focus', function () {\n displayInputField.setAttribute('data-list', displayInputField.getAttribute('list'));\n displayInputField.setAttribute('list', '');\n datalist.style.display = 'block';\n });\n }\n displayInputField.addEventListener('blur', function () {\n if (displayInputField.hasAttribute('data-value')) {\n displayInputField.value = displayInputField.getAttribute('data-value');\n }\n setTimeout(() => {\n datalist.style.display = 'none';\n }, 500);\n });\n for (const option of datalist.options) {\n if (option.innerHTML == '')\n option.innerHTML = option.value;\n }\n advancedSelect.addEventListener('click', function () {\n if (event && event.target instanceof HTMLElement && event.target.closest('datalist option')) {\n const option = event.target.closest('datalist option');\n displayInputField.value = option.value;\n if (typeof window.triggerDynamicEvent == 'function')\n window.triggerDynamicEvent(displayInputField);\n datalist.style.display = 'none';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n }\n option.classList.add('active');\n }\n });\n displayInputField.addEventListener('input', function () {\n displayInputField.removeAttribute('data-value');\n currentFocus = -1;\n const text = displayInputField.value.toUpperCase();\n for (const option of datalist.options) {\n if (option.value.toUpperCase().indexOf(text) > -1) {\n option.style.display = 'block';\n }\n else {\n option.style.display = 'none';\n }\n }\n });\n displayInputField.addEventListener('keydown', function (e) {\n if (e.keyCode == 40) {\n currentFocus++;\n addActive(datalist.options);\n }\n else if (e.keyCode == 38) {\n currentFocus--;\n addActive(datalist.options);\n }\n else if (e.keyCode == 13) {\n e.preventDefault();\n if (currentFocus > -1) {\n /*and simulate a click on the \"active\" item:*/\n if (datalist.options)\n datalist.options[currentFocus].click();\n }\n }\n });\n function addActive(x) {\n if (!x)\n return false;\n removeActive(x);\n if (currentFocus >= x.length)\n currentFocus = 0;\n if (currentFocus < 0)\n currentFocus = x.length - 1;\n x[currentFocus].classList.add('active');\n }\n function removeActive(x) {\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove('active');\n }\n }\n // Add the empty button\n displayInputField\n .closest('label')\n .insertAdjacentHTML('beforeend', '<button class=\"empty btn btn-action\"><i class=\"fa-light fa-times me-0\"></i></button>');\n const closeBtn = advancedSelect.querySelector('.empty');\n closeBtn.addEventListener('click', function (e) {\n displayInputField.removeAttribute('placeholder');\n displayInputField.removeAttribute('data-value');\n displayInputField.value = '';\n for (const optionInner of datalist.options) {\n optionInner.classList.remove('active');\n optionInner.removeAttribute('style');\n }\n });\n}\nexport default advancedSelect;\n","/**\n * Global helper functions to help maintain and enhance framework elements.\n * @module Helpers\n */\n/**\n * Add global classes used by the CSS and later JavaScript.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addBodyClasses = (body) => {\n body.classList.add('js-enabled');\n if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {\n body.classList.add('ie');\n }\n};\n/**\n * Add global events.\n * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.\n */\nexport const addGlobalEvents = (body) => {\n const checkElements = function (hash) {\n const label = document.querySelector(`label[for=\"${hash.replace('#', '')}\"]`);\n const summary = document.querySelector(hash + ' summary');\n const dialog = document.querySelector(`dialog${hash}`);\n const detail = document.querySelector(`detail${hash}`);\n if (label instanceof HTMLElement)\n label.click();\n else if (summary instanceof HTMLElement)\n summary.click();\n else if (dialog instanceof HTMLElement)\n dialog.showModal();\n else if (detail instanceof HTMLElement)\n detail.addAttribute('open');\n };\n if (location.hash)\n checkElements(location.hash);\n window.addEventListener('hashchange', function () {\n checkElements(location.hash);\n }, false);\n addEventListener('popstate', (event) => {\n if (event && event.state && event.state.type && event.state.type == 'pagination') {\n const form = document.querySelector(`#${event.state.form}`);\n const pageInput = document.querySelector(`#${event.state.form} [data-pagination]`);\n if (pageInput)\n pageInput.value = event.state.page;\n else\n form.innerHTML += `<input name=\"page\" type=\"hidden\" data-pagination=\"true\" value=\"${event.state.page}\" />`;\n form.dispatchEvent(new Event('submit'));\n }\n });\n document.addEventListener('submit', (event) => {\n if (event && event.target instanceof HTMLElement && event.target.matches('form')) {\n const form = event.target;\n // Reset password types\n Array.from(form.querySelectorAll('[data-password-type]')).forEach((input) => {\n input.setAttribute('type', 'password');\n });\n if (form.querySelector(':invalid') ||\n form.querySelector('.pwd-checker[data-strength=\"1\"]') ||\n form.querySelector('.pwd-checker[data-strength=\"2\"]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n if (form.querySelector('iam-multiselect[data-is-required][data-error]')) {\n form.classList.add('was-validated');\n event.preventDefault();\n }\n }\n });\n document.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n if (document.querySelector('.dialog--transactional[open], .dialog--acknowledgement[open]')) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n });\n Array.from(document.querySelectorAll('label progress')).forEach((progress) => {\n const label = progress.closest('label');\n label.setAttribute('data-percent', progress.getAttribute('value'));\n });\n};\nexport const isNumeric = function (str) {\n if (typeof str != 'string')\n return false; // we only process strings!\n return (!isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...\n !isNaN(parseFloat(str))); // ...and ensure strings of whitespace fail\n};\nexport const zeroPad = (num, places) => String(num).padStart(places, '0');\nexport const ucfirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);\nexport const ucwords = (str) => str\n .split(' ')\n .map((s) => ucfirst(s))\n .join(' ');\nexport const unsnake = (str) => str.replace(/_/g, ' ');\nexport const snake = (str) => str.replace(/ /g, '_');\nexport const safeID = function (str) {\n str = str.toLowerCase();\n str = snake(str);\n str = str.replace(/\\W/g, '');\n return str;\n};\nexport const numberOfDays = function (startDateString, endDateString) {\n const convertStart = startDateString.split('/');\n const convertEnd = endDateString.split('/');\n const dateStart = new Date(convertStart[1] + '/' + convertStart[0] + '/' + convertStart[2]);\n const dateEnd = new Date(convertEnd[1] + '/' + convertEnd[0] + '/' + convertEnd[2]);\n if (dateStart == 'Invalid Date')\n throw 'Start date is not a valid date';\n if (dateEnd == 'Invalid Date')\n throw 'End date is not a valid date';\n // To calculate the time difference of two dates\n const diffTime = dateEnd.getTime() - dateStart.getTime();\n const numberOfDays = diffTime / (1000 * 3600 * 24) + 1;\n if (numberOfDays < 0)\n throw 'The start date should be before the end date';\n return numberOfDays;\n};\n// Used to get values from nested json objects\nexport const resolvePath = (object, path, defaultValue) => path\n // eslint-disable-next-line no-useless-escape\n .split(/[\\.\\[\\]\\'\\\"]/)\n .filter((p) => p)\n .reduce((o, p) => (o ? o[p] : defaultValue), object);\nexport const isTraversable = (o) => Array.isArray(o) || (o !== null && ['function', 'object'].includes(typeof o));\nexport const getSwipeDirection = (touchstartX, touchstartY, touchendX, touchendY) => {\n const limit = Math.tan(((45 * 1.5) / 180) * Math.PI);\n const pageWidth = window.innerWidth || document.body.clientWidth;\n const treshold = Math.max(1, Math.floor(0.01 * pageWidth));\n const x = touchendX - touchstartX;\n const y = touchendY - touchstartY;\n const xy = Math.abs(x / y);\n const yx = Math.abs(y / x);\n if (Math.abs(x) > treshold || Math.abs(y) > treshold) {\n if (yx <= limit) {\n if (x < 0) {\n return 'left';\n }\n else {\n return 'right';\n }\n }\n if (xy <= limit) {\n if (y < 0) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n }\n else {\n return 'tap';\n }\n};\nexport const uniqueID = (index = 1) => {\n const ID = Math.floor(Math.random() * Date.now() * (index + 1));\n return ID;\n};\n","import advancedSelect from '../../modules/advanced-select.js';\nimport { safeID } from '../../modules/helpers.js';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Advanced select',\n});\nclass iamAdvancedSelect extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n input {\n background: red;\n }\n input:not(.is-invalid):not(:invalid) {\n background: none!important;\n }\n .optional-text {\n display: none;\n } \n .js-hide {\n display: none !important;\n }\n </style>\n <link rel=\"stylesheet\" href=\"https://kit.fontawesome.com/26fdbf0179.css\" crossorigin=\"anonymous\" />\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // Clone original input field, re-name and use for display purposes\n const inputField = this.querySelector('input');\n const displayInputField = inputField.cloneNode();\n displayInputField.setAttribute('name', `${inputField.getAttribute('name')}Alt`);\n inputField.removeAttribute('data-change-events');\n displayInputField.removeAttribute('id');\n let datalist = this.querySelector('datalist');\n inputField.after(displayInputField);\n // Hide original input field\n inputField.setAttribute('type', 'hidden');\n // if data list does not exist then create one and append\n if (!datalist) {\n datalist = document.createElement('datalist');\n const listID = safeID('list');\n datalist.setAttribute('id', listID);\n searchWrapper.appendChild(datalist);\n displayInputField.setAttribute('list', listID);\n }\n advancedSelect(this, displayInputField, datalist);\n }\n}\nexport default iamAdvancedSelect;\n"],"names":["advancedSelect","displayInputField","datalist","isSearch","currentFocus","option","optionInner","text","addActive","x","removeActive","i","snake","str","safeID","iamAdvancedSelect","assetLocation","coreCSS","template","inputField","listID"],"mappings":"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"}
@@ -12,17 +12,14 @@ class iamAppliedFilters extends HTMLElement {
12
12
  const assetLocation = document.body.hasAttribute('data-assets-location')
13
13
  ? document.body.getAttribute('data-assets-location')
14
14
  : '/assets';
15
- const coreCSS = document.body.hasAttribute('data-core-css')
16
- ? document.body.getAttribute('data-core-css')
17
- : `${assetLocation}/css/core.min.css`;
18
15
  const loadCSS = `@import "${assetLocation}/css/components/applied-filters.css";`;
19
16
  const classList = this.classList.toString();
20
17
  const template = document.createElement('template');
21
18
  template.innerHTML = `
22
19
  <style>
23
- @import "${coreCSS}";
20
+
24
21
  ${loadCSS}
25
- ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
22
+
26
23
  </style>
27
24
  <div class="applied-filters ${classList}"></div>
28
25
  <slot></slot>
@@ -1,14 +1,14 @@
1
1
  /*!
2
- * iamKey v7.4.0
2
+ * iamKey v7.5.1--beta1
3
3
  * Copyright 2022-2025 iamproperty
4
- */function A(o,l){function p(t,e,c=!0){let m=!1,s=e.getAttribute("name");if(!s)return!1;s.includes("[]")&&(s=s.replace("[]",`[${e.value}]`));let a=t.querySelector(`[data-name="${s}"]`);a&&e.getAttribute("type")=="checkbox"&&(m=!e.checked);const h=e.getAttribute("data-filter-text");if(a||(a=document.createElement("button"),t.appendChild(a)),a.setAttribute("type","button"),a.classList.add("filter"),a.classList.add("tag"),c&&a.classList.add("tag--not-set"),a.setAttribute("data-name",s),a.innerHTML=h.replace("$value",e.value),(!e.value||m)&&a.remove(),e.parentNode.closest("[data-filter-text]")){const n=e.parentNode.closest("[data-filter-text]");let i=!0;if(s="",n.querySelectorAll("input").forEach((r,d)=>{const f=r.getAttribute("name");if(s+=`${d!=0?",":""}${f}`,t.querySelector(`[data-name="${f}"]`)&&t.querySelector(`[data-name="${f}"]`).remove(),r.value){const u=document.createElement("button");u.setAttribute("type","button"),u.classList.add("filter"),u.classList.add("tag"),c&&a.classList.add("tag--not-set"),u.setAttribute("data-name",f),u.innerHTML=h.replace("$value",r.value),t.appendChild(u)}else i=!1}),t.querySelector(`[data-name="${s}"]`)&&t.querySelector(`[data-name="${s}"]`).remove(),i){let r=n.getAttribute("data-filter-text");n.querySelectorAll("input").forEach((f,u)=>{const y=f.getAttribute("name");t.querySelector(`[data-name="${y}"]`)&&t.querySelector(`[data-name="${y}"]`).remove(),r=r.replace(`$${u+1}`,f.value)});const d=document.createElement("button");d.setAttribute("type","button"),d.classList.add("filter"),d.classList.add("tag"),c&&a.classList.add("tag--not-set"),d.setAttribute("data-name",s),d.innerHTML=r,t.appendChild(d)}}}Array.from(o.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach(t=>{p(l,t,!1)});const b=o.closest("dialog");b&&new MutationObserver(function(e){e[0].attributeName=="open"&&Array.from(o.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach(c=>{p(l,c,!1)})}).observe(b,{attributes:!0}),o.addEventListener("tags-set",function(){l.innerHTML="",Array.from(o.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach(t=>{p(l,t,!1)})}),Array.from(o.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach(t=>{t.addEventListener("change",function(e){o.hasAttribute("data-keep-same")||p(l,t),e.stopPropagation()})}),o.addEventListener("change",function(t){if(t&&t.target instanceof HTMLElement&&t.target.closest("input[data-filter-text]")){const e=t.target.closest("input[data-filter-text]");o.hasAttribute("data-keep-same")||p(l,e)}}),l.addEventListener("click",function(t){if(t&&t.target instanceof HTMLElement&&t.target.closest(".filter")){const e=t.target.closest(".filter"),c=e.getAttribute("data-name").split(",");for(let m=0;m<c.length;m++){const s=c[m];let a=`[name="${s}"]`;s.match(/\[(.*)\]/)&&(a=`[value="${s.replace(/.*\[(.*)\]/,"$1")}"]`);const h=o.querySelectorAll(a);for(let n=0;n<h.length;n++){const i=h[n];if(i.getAttribute("type")!="radio"&&i.getAttribute("type")!="checkbox"){i.value="";const r=new Event("force");o.hasAttribute("data-nosubmit")||i.closest("form").dispatchEvent(r)}else{i.checked=!1;const r=new Event("force");o.hasAttribute("data-nosubmit")||i.closest("form").dispatchEvent(r)}}}e.remove()}},!1)}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Applied Filters"});class g extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const l=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",p=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${l}/css/core.min.css`,b=this.classList.toString(),t=document.createElement("template");t.innerHTML=`
4
+ */function y(r,s){function n(e,t,c=!0){let m=!1,o=t.getAttribute("name");if(!o)return!1;o.includes("[]")&&(o=o.replace("[]",`[${t.value}]`));let a=e.querySelector(`[data-name="${o}"]`);a&&t.getAttribute("type")=="checkbox"&&(m=!t.checked);const f=t.getAttribute("data-filter-text");if(a||(a=document.createElement("button"),e.appendChild(a)),a.setAttribute("type","button"),a.classList.add("filter"),a.classList.add("tag"),c&&a.classList.add("tag--not-set"),a.setAttribute("data-name",o),a.innerHTML=f.replace("$value",t.value),(!t.value||m)&&a.remove(),t.parentNode.closest("[data-filter-text]")){const d=t.parentNode.closest("[data-filter-text]");let l=!0;if(o="",d.querySelectorAll("input").forEach((i,u)=>{const g=i.getAttribute("name");if(o+=`${u!=0?",":""}${g}`,e.querySelector(`[data-name="${g}"]`)&&e.querySelector(`[data-name="${g}"]`).remove(),i.value){const p=document.createElement("button");p.setAttribute("type","button"),p.classList.add("filter"),p.classList.add("tag"),c&&a.classList.add("tag--not-set"),p.setAttribute("data-name",g),p.innerHTML=f.replace("$value",i.value),e.appendChild(p)}else l=!1}),e.querySelector(`[data-name="${o}"]`)&&e.querySelector(`[data-name="${o}"]`).remove(),l){let i=d.getAttribute("data-filter-text");d.querySelectorAll("input").forEach((g,p)=>{const h=g.getAttribute("name");e.querySelector(`[data-name="${h}"]`)&&e.querySelector(`[data-name="${h}"]`).remove(),i=i.replace(`$${p+1}`,g.value)});const u=document.createElement("button");u.setAttribute("type","button"),u.classList.add("filter"),u.classList.add("tag"),c&&a.classList.add("tag--not-set"),u.setAttribute("data-name",o),u.innerHTML=i,e.appendChild(u)}}}Array.from(r.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach(e=>{n(s,e,!1)});const b=r.closest("dialog");b&&new MutationObserver(function(t){t[0].attributeName=="open"&&Array.from(r.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach(c=>{n(s,c,!1)})}).observe(b,{attributes:!0}),r.addEventListener("tags-set",function(){s.innerHTML="",Array.from(r.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach(e=>{n(s,e,!1)})}),Array.from(r.querySelectorAll('input[type="checkbox"]:checked, input:not([type="checkbox"]):not([type="radio"])')).forEach(e=>{e.addEventListener("change",function(t){r.hasAttribute("data-keep-same")||n(s,e),t.stopPropagation()})}),r.addEventListener("change",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest("input[data-filter-text]")){const t=e.target.closest("input[data-filter-text]");r.hasAttribute("data-keep-same")||n(s,t)}}),s.addEventListener("click",function(e){if(e&&e.target instanceof HTMLElement&&e.target.closest(".filter")){const t=e.target.closest(".filter"),c=t.getAttribute("data-name").split(",");for(let m=0;m<c.length;m++){const o=c[m];let a=`[name="${o}"]`;o.match(/\[(.*)\]/)&&(a=`[value="${o.replace(/.*\[(.*)\]/,"$1")}"]`);const f=r.querySelectorAll(a);for(let d=0;d<f.length;d++){const l=f[d];if(l.getAttribute("type")!="radio"&&l.getAttribute("type")!="checkbox"){l.value="";const i=new Event("force");r.hasAttribute("data-nosubmit")||l.closest("form").dispatchEvent(i)}else{l.checked=!1;const i=new Event("force");r.hasAttribute("data-nosubmit")||l.closest("form").dispatchEvent(i)}}}t.remove()}},!1)}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Applied Filters"});class v extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const s=this.classList.toString(),n=document.createElement("template");n.innerHTML=`
5
5
  <style>
6
- @import "${p}";
7
- .applied-filters:not(.applied-filters--compact):not(:empty):before{content:"Applied filters";font-weight:bold;font-size:1.125rem;line-height:1.375rem;color:var(--colour-header);display:block}:host(.applied-filters--hide-title) .applied-filters:before{display:none}:host(.applied-filters--show-set) .tag--not-set{display:none}/*# sourceMappingURL=assets/css/components/applied-filters.css.map */
6
+
7
+ @layer elements{:is(.badge,.tag){font-size:1rem;line-height:1.625rem;border:none !important;margin:0;display:inline-block;text-align:center;white-space:nowrap;max-width:fit-content;color:#262626;position:relative;background:var(--wider-colour, var(--wider-colour-1));margin-bottom:1rem}:is(.badge,.tag):has(+:is(.badge,.tag)){margin-right:0.375rem}:is(.badge,.tag):empty{display:none}:is(.badge,.tag):is(.bg-primary,.bg-dark,.bg-danger){color:#fcfcfc !important}.badge{border-radius:0.375rem;padding:0 0.5rem}.badge--rounded{border-radius:1rem;min-width:1.625rem;padding:0}.tag{border-radius:1rem;padding:0 1rem}.tag:not(:has(i)):after{content:"\u2715";margin-left:.6em;font-weight:bold}.tag i{margin-left:.5rem}.tag:is(:hover,:focus,.hover,:focus-within,:focus-visible){background:var(--wider-colour-hover, var(--wider-colour-1-hover))}.tag:is(:active,.active){background:var(--wider-colour-active, var(--wider-colour-1-active))}.tag:has(input:disabled),.tag:disabled{background:var(--wider-colour-1) !important;color:#99adb1 !important}.tag.tag--not-set,iam-multiselect:not(:defined) .tag,.tag.tag--toggle{background:var(--colour-canvas);outline:1px solid var(--colour-border)}.tag.tag--toggle:after{display:none}.tag.tag--toggle:is(:hover,:focus){background:#eee}.tag.tag--toggle:is(:active){background:#e0e0e0}.tag.tag--toggle:has(input:checked),.tag.tag--toggle.selected{background:#e9f9fd;outline:1px solid #1ebee6}.btn :is(.badge,.tag){position:relative;top:-1px}}.applied-filters:not(.applied-filters--compact):not(:empty):before{content:"Applied filters";font-weight:bold;font-size:1.125rem;line-height:1.375rem;color:var(--colour-header);display:block}:host(.applied-filters--hide-title) .applied-filters:before{display:none}:host(.applied-filters--show-set) .tag--not-set{display:none}/*# sourceMappingURL=assets/css/components/applied-filters.css.map */
8
8
 
9
- ${this.hasAttribute("css")?`@import "${this.getAttribute("css")}";`:""}
9
+
10
10
  </style>
11
- <div class="applied-filters ${b}"></div>
11
+ <div class="applied-filters ${s}"></div>
12
12
  <slot></slot>
13
- `,this.shadowRoot.appendChild(t.content.cloneNode(!0))}connectedCallback(){A(this,this.shadowRoot.querySelector(".applied-filters"))}}export{g as default};
13
+ `,this.shadowRoot.appendChild(n.content.cloneNode(!0))}connectedCallback(){y(this,this.shadowRoot.querySelector(".applied-filters"))}}export{v as default};
14
14
  //# sourceMappingURL=applied-filters.component.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"applied-filters.component.min.js","sources":["../../modules/applied-filters.js","applied-filters.component.js"],"sourcesContent":["function createAppliedFilters(container, filters) {\n function addFilterButton(filters, input, notSet = true) {\n let shouldRemoveFilter = false;\n let inputName = input.getAttribute('name');\n if (!inputName) {\n return false;\n }\n if (inputName.includes('[]')) {\n inputName = inputName.replace('[]', `[${input.value}]`);\n }\n let filter = filters.querySelector(`[data-name=\"${inputName}\"]`);\n if (filter && input.getAttribute('type') == 'checkbox')\n shouldRemoveFilter = !input.checked ? true : false;\n const filterText = input.getAttribute('data-filter-text');\n if (!filter) {\n filter = document.createElement('button');\n filters.appendChild(filter);\n }\n filter.setAttribute('type', 'button');\n filter.classList.add('filter');\n filter.classList.add('tag');\n if (notSet)\n filter.classList.add('tag--not-set');\n filter.setAttribute('data-name', inputName);\n filter.innerHTML = filterText.replace('$value', input.value);\n // If the value\n if (!input.value || shouldRemoveFilter)\n filter.remove();\n // If input has an ancestor with data-filter and all of inputs in that parent have been filled in then we need to transform the filter\n if (input.parentNode.closest('[data-filter-text]')) {\n const parent = input.parentNode.closest('[data-filter-text]');\n let allValuesSet = true;\n inputName = '';\n parent.querySelectorAll('input').forEach((element, index) => {\n const name = element.getAttribute('name');\n // create a joined inputname for the parent filter\n inputName += `${index != 0 ? ',' : ''}${name}`;\n if (filters.querySelector(`[data-name=\"${name}\"]`))\n filters.querySelector(`[data-name=\"${name}\"]`).remove();\n if (element.value) {\n const childFilter = document.createElement('button');\n childFilter.setAttribute('type', 'button');\n childFilter.classList.add('filter');\n childFilter.classList.add('tag');\n if (notSet)\n filter.classList.add('tag--not-set');\n childFilter.setAttribute('data-name', name);\n childFilter.innerHTML = filterText.replace('$value', element.value);\n filters.appendChild(childFilter);\n }\n else\n allValuesSet = false;\n });\n if (filters.querySelector(`[data-name=\"${inputName}\"]`))\n filters.querySelector(`[data-name=\"${inputName}\"]`).remove();\n if (allValuesSet) {\n let newFilterText = parent.getAttribute('data-filter-text');\n parent.querySelectorAll('input').forEach((element, index) => {\n const name = element.getAttribute('name');\n // Remove all the child filter tags\n if (filters.querySelector(`[data-name=\"${name}\"]`))\n filters.querySelector(`[data-name=\"${name}\"]`).remove();\n newFilterText = newFilterText.replace(`$${index + 1}`, element.value);\n });\n const parentFilter = document.createElement('button');\n parentFilter.setAttribute('type', 'button');\n parentFilter.classList.add('filter');\n parentFilter.classList.add('tag');\n if (notSet)\n filter.classList.add('tag--not-set');\n parentFilter.setAttribute('data-name', inputName);\n parentFilter.innerHTML = newFilterText;\n filters.appendChild(parentFilter);\n }\n }\n }\n // check for inputs on load\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked, input:not([type=\"checkbox\"]):not([type=\"radio\"])')).forEach((input) => {\n addFilterButton(filters, input, false);\n });\n const dialog = container.closest('dialog');\n if (dialog) {\n const observer = new MutationObserver(function (event) {\n if (event[0].attributeName == 'open') {\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked, input:not([type=\"checkbox\"]):not([type=\"radio\"])')).forEach((input) => {\n addFilterButton(filters, input, false);\n });\n }\n });\n observer.observe(dialog, { attributes: true });\n }\n container.addEventListener('tags-set', function () {\n filters.innerHTML = '';\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked, input:not([type=\"checkbox\"]):not([type=\"radio\"])')).forEach((input) => {\n addFilterButton(filters, input, false);\n });\n });\n // check for change in displayed inputs\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked, input:not([type=\"checkbox\"]):not([type=\"radio\"])')).forEach((input) => {\n input.addEventListener('change', function (event) {\n if (!container.hasAttribute('data-keep-same'))\n addFilterButton(filters, input);\n event.stopPropagation(); // Don't allow the below event handler to trigger\n });\n });\n // Some change event aren't getting triggered above so this event listener on the container will pick them up. This happens with input in modals\n container.addEventListener('change', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[data-filter-text]')) {\n const input = event.target.closest('input[data-filter-text]');\n if (!container.hasAttribute('data-keep-same'))\n addFilterButton(filters, input);\n }\n });\n filters.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('.filter')) {\n const filter = event.target.closest('.filter');\n const names = filter.getAttribute('data-name').split(',');\n for (let t = 0; t < names.length; t++) {\n const name = names[t];\n let selector = `[name=\"${name}\"]`;\n if (name.match(/\\[(.*)\\]/)) {\n //const newName = name.replace(/\\[(.*)\\]/, `[]`);\n const value = name.replace(/.*\\[(.*)\\]/, `$1`);\n selector = `[value=\"${value}\"]`;\n }\n const inputs = container.querySelectorAll(selector);\n for (let i = 0; i < inputs.length; i++) {\n const input = inputs[i];\n if (input.getAttribute('type') != 'radio' && input.getAttribute('type') != 'checkbox') {\n input.value = '';\n const event = new Event('force');\n if (!container.hasAttribute('data-nosubmit'))\n input.closest('form').dispatchEvent(event);\n }\n else {\n input.checked = false;\n const event = new Event('force');\n if (!container.hasAttribute('data-nosubmit'))\n input.closest('form').dispatchEvent(event);\n }\n }\n }\n filter.remove();\n }\n }, false);\n}\nexport default createAppliedFilters;\n","import createAppliedFilters from '../../modules/applied-filters.js';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Applied Filters',\n});\nclass iamAppliedFilters extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const coreCSS = document.body.hasAttribute('data-core-css')\n ? document.body.getAttribute('data-core-css')\n : `${assetLocation}/css/core.min.css`;\n const loadCSS = `@import \"${assetLocation}/css/components/applied-filters.css\";`;\n const classList = this.classList.toString();\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n ${this.hasAttribute('css') ? `@import \"${this.getAttribute('css')}\";` : ``}\n </style>\n <div class=\"applied-filters ${classList}\"></div>\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n createAppliedFilters(this, this.shadowRoot.querySelector('.applied-filters'));\n }\n}\nexport default iamAppliedFilters;\n"],"names":["createAppliedFilters","container","filters","addFilterButton","input","notSet","shouldRemoveFilter","inputName","filter","filterText","parent","allValuesSet","element","index","name","childFilter","newFilterText","parentFilter","dialog","event","names","t","selector","inputs","i","iamAppliedFilters","assetLocation","coreCSS","classList","template"],"mappings":"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"}
1
+ {"version":3,"file":"applied-filters.component.min.js","sources":["../../modules/applied-filters.js","applied-filters.component.js"],"sourcesContent":["function createAppliedFilters(container, filters) {\n function addFilterButton(filters, input, notSet = true) {\n let shouldRemoveFilter = false;\n let inputName = input.getAttribute('name');\n if (!inputName) {\n return false;\n }\n if (inputName.includes('[]')) {\n inputName = inputName.replace('[]', `[${input.value}]`);\n }\n let filter = filters.querySelector(`[data-name=\"${inputName}\"]`);\n if (filter && input.getAttribute('type') == 'checkbox')\n shouldRemoveFilter = !input.checked ? true : false;\n const filterText = input.getAttribute('data-filter-text');\n if (!filter) {\n filter = document.createElement('button');\n filters.appendChild(filter);\n }\n filter.setAttribute('type', 'button');\n filter.classList.add('filter');\n filter.classList.add('tag');\n if (notSet)\n filter.classList.add('tag--not-set');\n filter.setAttribute('data-name', inputName);\n filter.innerHTML = filterText.replace('$value', input.value);\n // If the value\n if (!input.value || shouldRemoveFilter)\n filter.remove();\n // If input has an ancestor with data-filter and all of inputs in that parent have been filled in then we need to transform the filter\n if (input.parentNode.closest('[data-filter-text]')) {\n const parent = input.parentNode.closest('[data-filter-text]');\n let allValuesSet = true;\n inputName = '';\n parent.querySelectorAll('input').forEach((element, index) => {\n const name = element.getAttribute('name');\n // create a joined inputname for the parent filter\n inputName += `${index != 0 ? ',' : ''}${name}`;\n if (filters.querySelector(`[data-name=\"${name}\"]`))\n filters.querySelector(`[data-name=\"${name}\"]`).remove();\n if (element.value) {\n const childFilter = document.createElement('button');\n childFilter.setAttribute('type', 'button');\n childFilter.classList.add('filter');\n childFilter.classList.add('tag');\n if (notSet)\n filter.classList.add('tag--not-set');\n childFilter.setAttribute('data-name', name);\n childFilter.innerHTML = filterText.replace('$value', element.value);\n filters.appendChild(childFilter);\n }\n else\n allValuesSet = false;\n });\n if (filters.querySelector(`[data-name=\"${inputName}\"]`))\n filters.querySelector(`[data-name=\"${inputName}\"]`).remove();\n if (allValuesSet) {\n let newFilterText = parent.getAttribute('data-filter-text');\n parent.querySelectorAll('input').forEach((element, index) => {\n const name = element.getAttribute('name');\n // Remove all the child filter tags\n if (filters.querySelector(`[data-name=\"${name}\"]`))\n filters.querySelector(`[data-name=\"${name}\"]`).remove();\n newFilterText = newFilterText.replace(`$${index + 1}`, element.value);\n });\n const parentFilter = document.createElement('button');\n parentFilter.setAttribute('type', 'button');\n parentFilter.classList.add('filter');\n parentFilter.classList.add('tag');\n if (notSet)\n filter.classList.add('tag--not-set');\n parentFilter.setAttribute('data-name', inputName);\n parentFilter.innerHTML = newFilterText;\n filters.appendChild(parentFilter);\n }\n }\n }\n // check for inputs on load\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked, input:not([type=\"checkbox\"]):not([type=\"radio\"])')).forEach((input) => {\n addFilterButton(filters, input, false);\n });\n const dialog = container.closest('dialog');\n if (dialog) {\n const observer = new MutationObserver(function (event) {\n if (event[0].attributeName == 'open') {\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked, input:not([type=\"checkbox\"]):not([type=\"radio\"])')).forEach((input) => {\n addFilterButton(filters, input, false);\n });\n }\n });\n observer.observe(dialog, { attributes: true });\n }\n container.addEventListener('tags-set', function () {\n filters.innerHTML = '';\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked, input:not([type=\"checkbox\"]):not([type=\"radio\"])')).forEach((input) => {\n addFilterButton(filters, input, false);\n });\n });\n // check for change in displayed inputs\n Array.from(container.querySelectorAll('input[type=\"checkbox\"]:checked, input:not([type=\"checkbox\"]):not([type=\"radio\"])')).forEach((input) => {\n input.addEventListener('change', function (event) {\n if (!container.hasAttribute('data-keep-same'))\n addFilterButton(filters, input);\n event.stopPropagation(); // Don't allow the below event handler to trigger\n });\n });\n // Some change event aren't getting triggered above so this event listener on the container will pick them up. This happens with input in modals\n container.addEventListener('change', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('input[data-filter-text]')) {\n const input = event.target.closest('input[data-filter-text]');\n if (!container.hasAttribute('data-keep-same'))\n addFilterButton(filters, input);\n }\n });\n filters.addEventListener('click', function (event) {\n if (event && event.target instanceof HTMLElement && event.target.closest('.filter')) {\n const filter = event.target.closest('.filter');\n const names = filter.getAttribute('data-name').split(',');\n for (let t = 0; t < names.length; t++) {\n const name = names[t];\n let selector = `[name=\"${name}\"]`;\n if (name.match(/\\[(.*)\\]/)) {\n //const newName = name.replace(/\\[(.*)\\]/, `[]`);\n const value = name.replace(/.*\\[(.*)\\]/, `$1`);\n selector = `[value=\"${value}\"]`;\n }\n const inputs = container.querySelectorAll(selector);\n for (let i = 0; i < inputs.length; i++) {\n const input = inputs[i];\n if (input.getAttribute('type') != 'radio' && input.getAttribute('type') != 'checkbox') {\n input.value = '';\n const event = new Event('force');\n if (!container.hasAttribute('data-nosubmit'))\n input.closest('form').dispatchEvent(event);\n }\n else {\n input.checked = false;\n const event = new Event('force');\n if (!container.hasAttribute('data-nosubmit'))\n input.closest('form').dispatchEvent(event);\n }\n }\n }\n filter.remove();\n }\n }, false);\n}\nexport default createAppliedFilters;\n","import createAppliedFilters from '../../modules/applied-filters.js';\n// Data layer Web component created\nwindow.dataLayer = window.dataLayer || [];\nwindow.dataLayer.push({\n event: 'customElementRegistered',\n element: 'Applied Filters',\n});\nclass iamAppliedFilters extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const assetLocation = document.body.hasAttribute('data-assets-location')\n ? document.body.getAttribute('data-assets-location')\n : '/assets';\n const loadCSS = `@import \"${assetLocation}/css/components/applied-filters.css\";`;\n const classList = this.classList.toString();\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n \n ${loadCSS}\n \n </style>\n <div class=\"applied-filters ${classList}\"></div>\n <slot></slot>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n createAppliedFilters(this, this.shadowRoot.querySelector('.applied-filters'));\n }\n}\nexport default iamAppliedFilters;\n"],"names":["createAppliedFilters","container","filters","addFilterButton","input","notSet","shouldRemoveFilter","inputName","filter","filterText","parent","allValuesSet","element","index","name","childFilter","newFilterText","parentFilter","dialog","event","names","t","selector","inputs","i","iamAppliedFilters","classList","template"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * iamKey v7.4.0
2
+ * iamKey v7.5.1--beta1
3
3
  * Copyright 2022-2025 iamproperty
4
4
  */const L=t=>t.charAt(0).toUpperCase()+t.slice(1),M=t=>t.replace(/_/g," "),E=(t,r)=>{for(let e=1;e<=10;e++){if(t.hasAttribute(`data-colour-${e}`)){const a=t.getAttribute(`data-colour-${e}`);t.style.setProperty(`--chart-colour-${e}`,`var(--chart-colour-${a})`),t.style.setProperty(`--chart-colour-${e}-hover`,`var(--chart-colour-${a}-hover)`)}Array.from(r.querySelectorAll(`[data-colour-${e}]`)).forEach(a=>{const o=a.getAttribute(`data-colour-${e}`);a.style.setProperty(`--chart-colour-${e}-set`,`var(--chart-colour-${o})`),a.style.setProperty(`--chart-colour-${e}-hover`,`var(--chart-colour-${o}-hover)`)})}return!0},k=(t,r,e)=>{if(t.tagName=="IAM-DOUGHNUTCHART")return P(t,r,e),!0;const a=r.querySelector(".chart__key");a.innerHTML="";const o=r.querySelector(".chart__guidelines");o.innerHTML="";const n=r.querySelector(".chart__yaxis");n.innerHTML="",Array.from(r.querySelectorAll(':scope > input[type="checkbox"],:scope > input[type="radio"]')).map(i=>{i.remove()});const{xaxis:c}=f(t);return A(t,e),T(r,e,a),K(t,o),X(t,n),c&&Y(r),!0},P=(t,r,e)=>{const a=r.querySelector(".chart__key");return a.innerHTML="",Array.from(r.querySelectorAll(':scope > input[type="checkbox"],:scope > input[type="radio"]')).map(o=>{o.remove()}),A(t,e),T(r,e,a),F(r),!0},N=function(t,r){const e=r.querySelector(".chart");e.addEventListener("mousemove",c=>{if(c&&c.target instanceof HTMLElement&&c.target.closest("td:not(:first-child")){const h=c.target.closest("td:not(:first-child").getBoundingClientRect(),s=c.clientX-h.left,l=c.clientY-h.top;e.setAttribute("style",`--cursor-x: ${s}px; --cursor-y: ${l}px;`)}});const a=r.querySelectorAll("label");Array.from(a).forEach(c=>{r.querySelector(`input#${c.getAttribute("for")}`).checked?c.setAttribute("part","key-checked"):c.setAttribute("part","key-unchecked")});const o=t.querySelector("table"),n=r.querySelector("table");r.addEventListener("change",function(c){const i=c.target,h=new CustomEvent("view-change",{detail:{"data-dataset":i.getAttribute("data-dataset"),label:i.getAttribute("data-label"),checked:i.checked}});t.dispatchEvent(h),Array.from(a).forEach(s=>{var l;!((l=r.querySelector(`input#${s.getAttribute("for")}`))===null||l===void 0)&&l.checked?s.setAttribute("part","key-checked"):s.setAttribute("part","key-unchecked")}),n.innerHTML=o.innerHTML,A(t,n),t.tagName=="IAM-DOUGHNUTCHART"&&F(r)})},R=function(t,r){const e=t.querySelector("table"),a=r.querySelector("table"),o=(h,s)=>{s.disconnect(),i.disconnect();for(const l of h)(l.attributeName=="class"||l.type==="attributes"||l.type==="attributes")&&(a.innerHTML=e.innerHTML,k(t,r,a));s.observe(e,{characterData:!0,subtree:!0}),i.observe(t,{attributes:!0})},n=(h,s)=>{s.disconnect(),i.disconnect();for(const l of h)(l.type=="characterData"||l.type=="childList"&&l.addedNodes.length)&&(a.innerHTML=e.innerHTML,k(t,r,a));s.observe(e,{characterData:!0,subtree:!0}),i.observe(t,{attributes:!0})},c=new MutationObserver(n),i=new MutationObserver(o);return c.observe(e,{characterData:!0,subtree:!0}),i.observe(t,{attributes:!0}),!0};function q(t,r){r>1&&(t=t-.25);const e=Math.cos(2*Math.PI*t),a=Math.sin(2*Math.PI*t);return[e*100,a*100]}const f=function(t){const r=t.shadowRoot.querySelector(".chart__wrapper table"),e=t.hasAttribute("data-min")?t.getAttribute("data-min"):0,a=t.hasAttribute("data-max")?t.getAttribute("data-max"):V(t,r),o=t.hasAttribute("data-yaxis")?t.getAttribute("data-yaxis").split(","):[],n=t.hasAttribute("data-guidelines")?t.getAttribute("data-guidelines").split(","):[],c=t.hasAttribute("data-xaxis")?t.getAttribute("data-xaxis").split(","):null;return{min:e,max:a,yaxis:o,xaxis:c,guidelines:n}};function V(t,r){const e=t.classList.contains("chart--stacked")?"tbody tr":"tbody td:not(:first-child)",a=Array.from(r.querySelectorAll(e)).map(n=>n.getAttribute("data-numeric")),o=Math.max(...a);return Math.ceil(o)}const x=function(t,r,e,a){let o=String(t);o=o.replace("\xA3",""),o=o.replace("%",""),o=o.replace(",",""),o=Number.parseFloat(o);let n=(o-r)/(e-r)*100,c=n,i=0;return a&&a!=0&&(i=(a-r)/(e-r)*100),r<0&&(i=Math.abs(r/(e-r)*100),o<0?(n=i-n,i=i-n,c=i):(n=n-i,c=n+i)),{percent:n,axis:c,bottom:i}},A=function(t,r){Array.from(r.querySelectorAll("tbody tr")).forEach(o=>{let n=0;Array.from(o.querySelectorAll("td:not(:first-child)")).forEach(c=>{const i=c.cloneNode(!0);Array.from(i.querySelectorAll("*")).forEach(l=>{l.remove()});const h=parseFloat(i.textContent.replace("\xA3","").replace("%","").replace(",",""));c.setAttribute("data-numeric",h),c.setAttribute("data-value",i.textContent),getComputedStyle(c).display!="none"&&(n+=h),Array.from(c.querySelectorAll("a, button")).forEach((l,m)=>{m==0&&l.insertAdjacentHTML("beforeBegin","<hr/>"),l.classList.add("btn"),l.classList.add("btn-tertiary")})}),o.setAttribute("data-numeric",n)});const{min:e,max:a}=f(t);Array.from(r.querySelectorAll("tbody tr")).forEach((o,n)=>{const c=o.querySelector("td:first-child, th:first-child")?o.querySelector("td:first-child, th:first-child").textContent:"";o.setAttribute("part","group");const i=(o.getAttribute("data-numeric")-e)/(a-e)*100;o.style.setProperty("--percent",`${i}%`),Array.from(o.querySelectorAll("td:not([data-label])")).forEach((l,m)=>{m==0?l.setAttribute("part","xaxis-label"):l.setAttribute("part","value"),o.querySelectorAll("td").length>2&&l.setAttribute("data-label",r.querySelectorAll("thead th")[m].textContent)});const h=o.hasAttribute("data-min")?o.getAttribute("data-min"):e,s=o.hasAttribute("data-max")?o.getAttribute("data-max"):a;if(h<0){const l=Math.abs(h/(s-h)*100);t.setAttribute("style",`--min-bottom: ${l}%;`)}o.style.setProperty("--row-index",n+1),Array.from(o.querySelectorAll('td[data-numeric]:not([data-label="Min"]):not([data-label="Max"]):not(:first-child)')).forEach(l=>{if(getComputedStyle(l).display=="none")return;const y=l.innerHTML,g=Number.parseFloat(l.getAttribute("data-numeric")),d=Number.parseFloat(l.getAttribute("data-start"));if(l.querySelector("span[data-group]")||(l.innerHTML=`<span data-group="${c}" ${l.hasAttribute("data-label")?`data-label="${l.getAttribute("data-label")}"`:""} part="popover">${y}</span>`),!l.hasAttribute("style")){const{percent:u,bottom:v,axis:p}=x(g,h,s,d);l.setAttribute("data-percent",u),l.setAttribute("style",`--bottom:${v}%;--percent:${u}%;--axis:${p}%;`)}})})},U=function(t){const r=t.querySelector(".chart__wrapper"),e=t.querySelector(".chart__spacer span"),a=t.querySelector(".chart table");let o="";Array.from(a.querySelectorAll("tbody tr td:first-child")).forEach(n=>{typeof n.textContent<"u"&&n.textContent.length>o.length&&(o=n.textContent)}),r.setAttribute("data-longest-label",o),e.innerHTML=o},I=function(t){const r=t.querySelector(".chart__wrapper"),e=t.querySelector(".chart table");let a="";Array.from(e.querySelectorAll("tbody tr td:not(:first-child)")).forEach(o=>{typeof o.getAttribute("data-value")<"u"&&o.getAttribute("data-value").length>a.length&&(a=o.getAttribute("data-value"))}),r.setAttribute("data-longest-value",a)},T=function(t,r,e){const a=`chart-${Date.now()+(Math.floor(Math.random()*100)+1)}`;let o;const n=Array.from(r.querySelectorAll("thead th"));return n.forEach((c,i)=>{i!=0&&(o=j(a,i,c.textContent,e,t,o)),i==50&&(n.length=i+1)}),!0};function j(t,r,e,a,o,n){var c;const i=document.createElement("input");i.setAttribute("name",`${t}-dataset-${r}`),i.setAttribute("id",`${t}-dataset-${r}`),i.setAttribute("data-dataset",`${r}`),i.setAttribute("data-label",`${e}`),i.checked=!0,i.setAttribute("type","checkbox"),r==1?o.prepend(i):o.insertBefore(i,n.nextSibling),n=i;const h=document.createElement("label");h.setAttribute("class","key btn btn-action"),h.setAttribute("for",`${t}-dataset-${r}`),h.setAttribute("data-label",`${e}`),h.setAttribute("part","key");const s=(c=o.querySelector(`tbody tr td:nth-child(${r+1})`))===null||c===void 0?void 0:c.getAttribute("data-numeric");return h.setAttribute("data-numeric",s),h.innerHTML=`${e}`,a.append(h),n}const K=function(t,r){const{min:e,max:a,yaxis:o}=f(t);let{guidelines:n}=f(t);n.length||(n=o),r.innerHTML="";for(let c=0;c<n.length;c++){const i=parseFloat(n[c].replace("\xA3","").replace("%","").replace(",","")),{axis:h}=x(i,e,a);r.innerHTML+=`<div class="guideline" style="--percent:${h}%;">${o.indexOf(n[c])!=-1?`<span>${n[c]}</span>`:""}</div>`}},X=function(t,r){const{min:e,max:a,yaxis:o}=f(t);r.innerHTML="";for(let n=0;n<o.length;n++){const c=parseFloat(o[n].replace("\xA3","").replace("%","")),{axis:i}=x(c,e,a);r.innerHTML+=`<div class="axis__point" style="--percent:${i}%;"><span>${o[n]}</span></div>`}},Y=function(t){const r=t.querySelector(".chart");let e=t.querySelector(".chart__xaxis");e||(e=document.createElement("div"),e.setAttribute("class","chart__xaxis")),r.prepend(e)},G=function(t){const r=t.querySelectorAll("thead th[title], tbody th[title]:first-child, tbody td[title]:first-child");Array.from(r).forEach(e=>{const a=`tooltip-${Date.now()}-${Math.floor(Math.random()*100)}`;e.innerHTML=`<button class="tooltip" popovertarget="${a}" part="tooltip" style="anchor-name: --${a};">${e.textContent}</button><span id="${a}" style="position-anchor: --${a};" popover part="tooltip__content" class="tooltip__content">${e.getAttribute("title")}</span>`})},F=function(t){let r="";const e=t.querySelector(".chart");let a=t.querySelector(".doughnuts");a||(a=document.createElement("div"),a.setAttribute("class","doughnuts"),e.append(a)),Array.from(e.querySelectorAll("tbody tr")).forEach((o,n)=>{let c="",i="",h=0,s=0;const m=o.querySelectorAll("td")[0].innerHTML;let y=0;const g=o.getAttribute("data-numeric");Array.from(o.querySelectorAll("td")).forEach((d,u)=>{const v=getComputedStyle(d).display;if(u!=0&&v!="none"){let p=d.getAttribute("data-numeric");p=p.replace("\xA3",""),p=p.replace("%",""),p=p.replace(",",""),p=Number.parseInt(p),s+=p,y++}}),Array.from(o.querySelectorAll("td")).forEach((d,u)=>{var v,p;const _=getComputedStyle(d).display;if(u!=0&&y==1&&_!="none")c+=`<path d="M 0 0 L 100 0 A 100 100 0 1 1 100 -0.01 L 0 0" style="${d.getAttribute("style")} --path-index: ${u};"></path>`,i+=`<span class="h5 mb-0" part="popover">${L(M(d.getAttribute("data-label"))).trim()}<br/>${d.hasAttribute("data-second")?`${d.getAttribute("data-second-label")}: ${d.getAttribute("data-second")}<br/>`:""}${(v=d.querySelector('[part="popover"]'))===null||v===void 0?void 0:v.innerHTML}</span>`;else if(u!=0){let b=d.getAttribute("data-numeric");const H=_=="none"?"display: none;":"";b=b.replace("\xA3",""),b=b.replace("%",""),b=b.replace(",",""),b=Number.parseInt(b);const w=b/s,[z,$]=q(h,y),[S,C]=q(h+w,y),D=w>.5?1:0,B=["M 0 0",`L ${z?z.toFixed(0):0} ${$?$.toFixed(0):0}`,`A 100 100 0 ${D} 1 ${S?S.toFixed(0):0} ${C?C.toFixed(0):0}`,"L 0 0"].join(" ");c+=`<path d="${B}" style="${d.getAttribute("style")} --path-index: ${u};${H}"></path>`,i+=`<span class="h5 mb-0" part="popover">${L(M(d.getAttribute("data-label"))).trim()}<br/>${d.hasAttribute("data-second")?`${d.getAttribute("data-second-label")}: ${d.getAttribute("data-second")}<br/>`:""}${(p=d.querySelector('[part="popover"]'))===null||p===void 0?void 0:p.innerHTML}</span>`,_!="none"&&(h+=w)}}),r+=`<div class="doughnut">
5
5
  <svg viewBox="-105 -105 210 210" preserveAspectRatio="none" style="--row-index: ${n+1};">${c}</svg>
@@ -9,7 +9,7 @@
9
9
  <style>
10
10
  ${this.hasAttribute("css")?`@import "${this.getAttribute("css")}";`:""}
11
11
 
12
- :host{--chart-colour-1-set: var(--chart-colour-1, #BEE8F8);--chart-colour-2-set: var(--chart-colour-2, #A6DCC7);--chart-colour-3-set: var(--chart-colour-3, #FAD0DA);--chart-colour-4-set: var(--chart-colour-4, #AFCCF2);--chart-colour-5-set: var(--chart-colour-5, #FFD2B4);--chart-colour-6-set: var(--chart-colour-6, #CDF0F2);--chart-colour-7-set: var(--chart-colour-7, #FFABC2);--chart-colour-8-set: var(--chart-colour-8, #DCEAF2);--chart-colour-9-set: var(--chart-colour-9, #EEBCB3);--chart-colour-10-set: var(--chart-colour-10, #F0BDFF);--chart-colour-1-hover: var(--chart-colour-1, #B6DEED);--chart-colour-2-hover: var(--chart-colour-2, #98CBB7);--chart-colour-3-hover: var(--chart-colour-3, #EFC8D1);--chart-colour-4-hover: var(--chart-colour-4, #A6C1E5);--chart-colour-5-hover: var(--chart-colour-5, #F4CAAF);--chart-colour-6-hover: var(--chart-colour-6, #C2E3E5);--chart-colour-7-hover: var(--chart-colour-7, #F5A2B9);--chart-colour-8-hover: var(--chart-colour-8, #CFDCE3);--chart-colour-9-hover: var(--chart-colour-9, #E3B2A9);--chart-colour-10-hover: var(--chart-colour-10, #E3B2F2);--chart-colour-success: #d2f0c9 !important;--chart-colour-success-hover: #8ad873 !important;--chart-colour-danger: #f5c2c7 !important;--chart-colour-danger-hover: #f5c2e7 !important;--chart-colour-warning: #ffd280 !important;--chart-colour-warning-hover: #ffb020 !important}.chart__key .key:nth-child(11n-10),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-9){--chart-colour: var(--chart-colour-1-set);--chart-colour-hover: var(--chart-colour-1-hover)}.chart__outer table tbody tr:nth-child(1):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-1-set);--chart-colour-hover: var(--chart-colour-1-hover)}.chart__key .key:nth-child(11n-9),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-8){--chart-colour: var(--chart-colour-2-set);--chart-colour-hover: var(--chart-colour-2-hover)}.chart__outer table tbody tr:nth-child(2):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-2-set);--chart-colour-hover: var(--chart-colour-2-hover)}.chart__key .key:nth-child(11n-8),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-7){--chart-colour: var(--chart-colour-3-set);--chart-colour-hover: var(--chart-colour-3-hover)}.chart__outer table tbody tr:nth-child(3):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-3-set);--chart-colour-hover: var(--chart-colour-3-hover)}.chart__key .key:nth-child(11n-7),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-6){--chart-colour: var(--chart-colour-4-set);--chart-colour-hover: var(--chart-colour-4-hover)}.chart__outer table tbody tr:nth-child(4):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-4-set);--chart-colour-hover: var(--chart-colour-4-hover)}.chart__key .key:nth-child(11n-6),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-5){--chart-colour: var(--chart-colour-5-set);--chart-colour-hover: var(--chart-colour-5-hover)}.chart__outer table tbody tr:nth-child(5):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-5-set);--chart-colour-hover: var(--chart-colour-5-hover)}.chart__key .key:nth-child(11n-5),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-4){--chart-colour: var(--chart-colour-6-set);--chart-colour-hover: var(--chart-colour-6-hover)}.chart__outer table tbody tr:nth-child(6):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-6-set);--chart-colour-hover: var(--chart-colour-6-hover)}.chart__key .key:nth-child(11n-4),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-3){--chart-colour: var(--chart-colour-7-set);--chart-colour-hover: var(--chart-colour-7-hover)}.chart__outer table tbody tr:nth-child(7):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-7-set);--chart-colour-hover: var(--chart-colour-7-hover)}.chart__key .key:nth-child(11n-3),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-2){--chart-colour: var(--chart-colour-8-set);--chart-colour-hover: var(--chart-colour-8-hover)}.chart__outer table tbody tr:nth-child(8):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-8-set);--chart-colour-hover: var(--chart-colour-8-hover)}.chart__key .key:nth-child(11n-2),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-1){--chart-colour: var(--chart-colour-9-set);--chart-colour-hover: var(--chart-colour-9-hover)}.chart__outer table tbody tr:nth-child(9):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-9-set);--chart-colour-hover: var(--chart-colour-9-hover)}.chart__key .key:nth-child(11n-1),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-0){--chart-colour: var(--chart-colour-10-set);--chart-colour-hover: var(--chart-colour-10-hover)}.chart__outer table tbody tr:nth-child(10):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-10-set);--chart-colour-hover: var(--chart-colour-10-hover)}::slotted(table){display:none !important}:host{container-type:inline-size;margin-bottom:2rem;display:block}.chart__outer{display:flex;flex-direction:column;position:relative;font-weight:var(--chart-font-weight, bold);color:var(--chart-text-color, black);--body-colour-set: var(--body-colour, Canvas);--text-colour-set: var(--text-colour, black);--chart-height-set: var(--chart-height, 7.5rem);--chart-height-lg-set: var(--chart-height-lg, 12.5rem);--chart-height-resp: var(--chart-height-set);--index-below: -1;--index-base: 0;--index-focus: 2;--index-above: 10;--index-floating: 100;--index-menu: 200;--index-overlay: 1000;--key-label-width: 100%;--label-size: 0.75rem;--line-thickness: 1px;--yaxis-width: auto;--yaxis-point-display: block;--yaxis-last-point-transform: translate(0, -50%);--bar-gap: min(10%, 0.75rem)}.chart__outer>*{display:block;order:2}.chart__outer tbody{--chart-direction: 360deg;--chart-day-bg-pos: 100% calc(var(--single-day) * 7)}@container (min-width: 23.4375em){.chart__outer :has(tr:nth-child(5) td:nth-child(4)),.chart__outer :has(tr:nth-child(10)){--yaxis-width: 0;--yaxis-point-display: none;--yaxis-last-point-transform: translate(0, -100%);--bar-gap: 0}.chart__outer .chart__wrapper{--chart-height-resp: var(--chart-height-lg-set);--line-thickness: 0.8px;--yaxis-width: auto;--yaxis-point-display: block;--yaxis-last-point-transform: translate(0, -50%)}}@container (min-width: 48em){.chart__outer :has(tr:nth-child(10)){--bar-gap: 0}.chart__outer .chart__wrapper{--label-size: 0.875rem;--line-thickness: 0.5px}}.chart__outer .chart__spacer span{opacity:0}.chart__outer>input[type=checkbox]{opacity:0;position:absolute;pointer-events:none;bottom:50%;left:50%}.chart__key{padding:0 0 0 0;margin-bottom:1.5rem;display:flex;overflow:auto;scroll-snap-type:x mandatory;scroll-padding:.75rem;gap:.5rem}.chart__key:has(label:first-child:last-child){display:var(--single-key-display, none)}.chart__key .key{margin:0 !important}.chart__key .key:before{content:"";height:.8em;width:.8em;margin-right:.3em !important;background-color:var(--chart-colour);display:inline-block;border-radius:var(--key-border-radius, 4px)}.chart__key .key[data-label=Min],.chart__key .key[data-label=Max]{display:none}.chart__key .key .chart__total{display:none}.chart__outer input[type=checkbox]:focus:nth-child(1)~.chart__key .key:nth-child(1){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(2)~.chart__key .key:nth-child(2){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(3)~.chart__key .key:nth-child(3){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(4)~.chart__key .key:nth-child(4){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(5)~.chart__key .key:nth-child(5){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(6)~.chart__key .key:nth-child(6){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(7)~.chart__key .key:nth-child(7){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(8)~.chart__key .key:nth-child(8){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(9)~.chart__key .key:nth-child(9){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer>input[type=checkbox]:nth-of-type(1):not(:checked)~.chart__key .key:nth-of-type(1){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(2):not(:checked)~.chart__key .key:nth-of-type(2){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(3):not(:checked)~.chart__key .key:nth-of-type(3){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(4):not(:checked)~.chart__key .key:nth-of-type(4){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(5):not(:checked)~.chart__key .key:nth-of-type(5){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(6):not(:checked)~.chart__key .key:nth-of-type(6){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(7):not(:checked)~.chart__key .key:nth-of-type(7){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(8):not(:checked)~.chart__key .key:nth-of-type(8){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(9):not(:checked)~.chart__key .key:nth-of-type(9){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(10):not(:checked)~.chart__key .key:nth-of-type(10){opacity:.25}:host([data-yaxis]){--yaxis-display: flex}.chart__yaxis{display:var(--yaxis-display, none);flex-direction:column-reverse;width:var(--yaxis-width)}.chart__yaxis .axis__point{bottom:var(--percent);position:relative;height:0;white-space:nowrap}.chart__yaxis .axis__point:not(:last-child){display:var(--yaxis-point-display)}.chart__yaxis .axis__point span{display:block;transform:translate(0, -50%);padding-right:.25rem;text-align:right;font-weight:var(--chart-yaxis-fw, normal);font-size:var(--chart-yaxis-fs, 0.75rem);color:var(--colour-body)}.chart__yaxis .axis__point:last-child span{transform:var(--yaxis-last-point-transform)}.chart__xaxis{margin-bottom:1rem;display:flex;flex-direction:column-reverse;width:100%;position:absolute;left:0;bottom:-1rem}.chart__xaxis .axis__point{left:var(--percent);width:1px;position:absolute;height:0;white-space:nowrap}.chart__xaxis .axis__point span{display:block;transform:translate(-50%, 0%);text-align:center;font-size:var(--label-size);position:absolute;left:50%}.chart__guidelines{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column-reverse;pointer-events:none}.chart__guidelines .guideline{bottom:var(--percent);position:absolute;right:0;width:100%;height:0px;margin-bottom:-1px;border-bottom:1px dashed #eee;pointer-events:none;z-index:var(--index-below)}.chart__guidelines .guideline:not(.guideline--target) span{display:none}.chart__guidelines .guideline--target{border-bottom:1px dashed #000;z-index:var(--index-above);text-shadow:1px solid #fff;overflow:visible}.chart__guidelines .guideline--target span{position:absolute;bottom:0;font-size:var(--label-size);text-shadow:1px 1px 2px #fff;background:hsla(0,0%,100%,.6)}.chart__guidelines [data-value="0"]{border-bottom:1px solid var(--colour-primary)}.chart__guidelines [data-value="0"]:not(:first-child){border-bottom:1px dashed var(--colour-primary)}[part=popover]{position:absolute;top:var(--cursor-y, 50%);left:var(--cursor-x, 50%);font-size:var(--label-size);line-height:1.2;background:var(--chart-details-bg, var(--colour-canvas-2, Canvas));opacity:0;pointer-events:none;padding:.5rem;border-radius:.5rem;margin-bottom:.25rem;display:block;white-space:pre;text-align:left;box-shadow:var(--chart-details-shadow, 0 0.125rem 0.75rem rgba(0, 0, 0, 0.25));transform:translate(-50%, -100%)}[part=popover]::before{content:attr(data-group) "\\a"}[part=popover][data-label]::before{content:attr(data-group) "\\a" attr(data-label) "\\a"}[part=popover]:has(:is(a,button)){top:0;left:50%;transform:translate(-50%, -100%);font-size:.9rem}[part=popover] hr{margin:0;opacity:0}[part=popover] :is(a,button){display:inline-block !important;clear:both !important;float:left !important;margin-top:1rem !important;margin-right:1rem !important;margin-bottom:.25em !important;font-size:1em !important}[part=popover] :is(a,button)+:is(a,button){margin-top:0 !important}.chart__wrapper{display:block;display:flex;flex-direction:row;position:relative}.chart__wrapper .chart{position:relative;flex-grow:1}.chart__wrapper table{display:block;width:100% !important;padding-top:var(--chart-height-resp);position:relative;margin-bottom:0;overflow:visible}.chart__wrapper table thead{display:none}.chart__wrapper table tbody{display:flex;position:absolute;width:100%;height:100%;top:0;left:0;flex-direction:row;border:none}.chart__wrapper table tbody tr{display:flex;flex-direction:row;justify-content:var(--chart-bar-alignment, left);align-items:flex-end;border:none;width:100%;height:100%;position:relative;padding:0 2px;gap:var(--bar-gap)}.chart__wrapper table tbody tr td{font-weight:inherit}.chart__wrapper table tbody tr td:first-child{position:absolute;top:100%;left:0%;width:fit-content;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--label-size);text-align:center}@container (min-width: 48em){.chart__wrapper table tbody tr td:first-child{display:block}}.chart__wrapper table tbody tr td:first-child button{all:unset;cursor:pointer}.chart__wrapper table tbody tr td[data-label=Min],.chart__wrapper table tbody tr td[data-label=Max]{display:none}.chart__wrapper table tbody tr:first-child td:first-child,.chart__wrapper table tbody tr:last-child td:first-child{display:block}.chart__wrapper table tbody tr td:not(:first-child){height:100%;height:var(--percent, 0%);bottom:var(--bottom, 0%);width:100%;max-width:7.5rem;position:relative;padding:0;background:var(--chart-colour);border-top-right-radius:4px;border-top-left-radius:4px}@media screen and (prefers-color-scheme: dark){.chart__wrapper table tbody tr td:not(:first-child){background:color-mix(in oklab, var(--chart-colour), black 20%)}}.chart__wrapper table tbody tr td:not(:first-child):hover{background:var(--chart-colour-hover)}.chart__wrapper table tbody tr td:not(:first-child):has(span:empty),.chart__wrapper table tbody tr td:not(:first-child):empty{display:none}.chart__wrapper table tbody tr td:not(:first-child)[data-label]:before{display:none}.chart__wrapper table tbody tr td:not(:first-child):hover [part=popover]{opacity:1;z-index:var(--index-above);pointer-events:all}.chart__wrapper table tbody tr td:first-child[data-label]:before{display:none}@container (min-width: 48em){.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr td:first-child,.chart__wrapper table tbody:has(tr:nth-child(10)) tr td:first-child{display:none}.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr:first-child td:first-child,.chart__wrapper table tbody:has(tr:nth-child(10)) tr:first-child td:first-child{left:0%;transform:translate(0, 0);display:block;text-align:left}.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr:last-child td:first-child,.chart__wrapper table tbody:has(tr:nth-child(10)) tr:last-child td:first-child{left:100%;transform:translate(-100%, 0);display:block;text-align:right}.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr:first-child td:not(:first-child) span,.chart__wrapper table tbody:has(tr:nth-child(10)) tr:first-child td:not(:first-child) span{left:-20%;transform:translate(0%, 0);text-align:left}.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr:last-child td:not(:first-child) span,.chart__wrapper table tbody:has(tr:nth-child(10)) tr:last-child td:not(:first-child) span{left:120%;transform:translate(-100%, 0);text-align:right}}@container (min-width: 23.4375em){.chart__wrapper table tbody:has(tr:nth-child(25)) tr td:first-child{display:none !important}.chart__wrapper table tbody:has(tr:nth-child(25)) tr:is(:first-child,:nth-child(2n+1)) td:first-child{display:block !important}.chart__wrapper table tbody:has(tr:nth-child(50)) tr:is(:first-child,:nth-child(2n+1)) td:first-child,.chart__wrapper table tbody:has(tr:nth-child(50)) tr td:first-child{display:none !important}.chart__wrapper table tbody:has(tr:nth-child(50)) tr:is(:first-child,:nth-child(10n+1)) td:first-child{display:block !important}.chart__wrapper table tbody:has(tr:nth-child(100)) tr:is(:first-child,:nth-child(10n+1)) td:first-child,.chart__wrapper table tbody:has(tr:nth-child(100)) tr td:first-child{display:none !important}.chart__wrapper table tbody:has(tr:nth-child(100)) tr:is(:first-child,:nth-child(20n+1)) td:first-child{display:block !important}}:host(.chart-colour--success) td,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--success,.chart-colour--success td{--chart-colour: var(--chart-colour-success) !important}:host(.chart-colour--success) td:hover,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--success:hover,.chart-colour--success td:hover{--chart-colour-hover: var(--chart-colour-success-hover) !important}:host(.chart-colour--danger) td,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--danger,.chart-colour--danger,.chart-colour--danger td{--chart-colour: var(--chart-colour-danger) !important}:host(.chart-colour--danger) td:hover,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--danger:hover,.chart-colour--danger:hover,.chart-colour--danger td:hover{--chart-colour-hover: var(--chart-colour-danger-hover) !important}:host(.chart-colour--warning) td,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--warning,.chart-colour--warning,.chart-colour--warning td{--chart-colour: var(--chart-colour-warning) !important}:host(.chart-colour--warning) td:hover,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--warning:hover,.chart-colour--warning:hover,.chart-colour--warning td:hover{--chart-colour-hover: var(--chart-colour-warning-hover) !important}.chart__outer>input[type=checkbox]:nth-of-type(1):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(2){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(2):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(3){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(3):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(4){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(4):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(5){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(5):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(6){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(6):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(7){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(7):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(8){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(8):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(9){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(9):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(10){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(10):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(11){display:none;opacity:0}@layer elements{*,*::before,*::after{box-sizing:border-box}button{border-radius:0;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[role=button]{cursor:pointer}button:focus:not(:focus-visible){outline:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}.btn{--btn-margin: 1rem;--btn-padding-block: 0.75rem;--btn-padding-inline: 2.5rem;--btn-border-width: 0.125rem;--btn-font-size: 1.125rem;--btn-line-height: 1.25rem;display:inline-block;font-weight:bold;text-align:left;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;color:var(--colour-btn);font-size:var(--btn-font-size);line-height:var(--btn-line-height);padding:var(--btn-padding-block) var(--btn-padding-inline);border-radius:1.5rem;margin-bottom:var(--btn-margin);background:none;transition:border .5s,background .5s,color .5s;height:auto;max-width:fit-content;appearance:none;white-space:nowrap}@media screen and (min-width: 36em){.btn{--btn-margin: 1.5rem}}.btn:not(.btn-secondary)[class*=colour-]{--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour)}.btn:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){--colour-btn: #fcfcfc}.btn:not(.border-0){background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border)}.btn:not(:last-child){margin-right:var(--btn-margin)}a:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn,.btn:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){outline:0;text-decoration:none;background:var(--colour-btn-bg-hover);color:var(--colour-btn-hover);border-radius:1.5rem}a:is(:active,.active):not([disabled]) .btn,.btn:is(:active,.active):not([disabled]){filter:brightness(85%);transition:background .1s,color .1s;color:var(--colour-btn);border-radius:1.5rem}a:disabled .btn,.btn:disabled,[disabled] .btn,.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.colour-success{--colour-btn-bg-hover: var(--colour);--colour-btn-border-hover: var(--colour);--colour-btn-hover: var(--colour-primary-theme);position:relative;padding-left:3.5rem;padding-right:3.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active){padding-left:2.5rem;padding-right:2.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success:before,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active):before{content:"\uF00C";font-family:"Font Awesome 6 Pro";margin-right:1rem;font-style:inherit;width:1rem;display:inline-block;height:var(--btn-line-height);vertical-align:bottom}.btn.btn-sm{--btn-padding-block: 0.5rem;--btn-padding-inline: 2rem;--btn-margin: 0.5rem;--btn-font-size: 1rem}.btn[class*=fa-]:before{content:var(--fa);font-family:"Font Awesome 6 Pro";line-height:1em}.btn.btn[class*=fa-after]{padding-right:4rem}.btn.btn[class*=fa-after]:before{margin-right:0;margin-right:0.375rem;position:absolute;right:1.5rem;top:50%;transform:translate(0, -50%)}.btn:not(.btn-compact):before{margin-right:1rem}.btn i[class*=fa-]{font-family:"Font Awesome 6 Pro";margin-right:1rem;line-height:1em;font-style:inherit}.btn i[class*=fa-]:not(:first-child){margin-left:1rem;margin-right:0}.btn.btn--prompt:after{content:"";height:var(--btn-line-height);width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn--prompt:after,.btn.btn--prompt:is(:hover,:focus,.hover):not([disabled],:active,.active):after{margin-left:1.5rem;margin-right:-0.5rem}.btn:has(select){position:relative;padding-right:3.5rem}.btn:has(select):not(.mw-100){max-width:13rem}.btn:has(select) select{all:unset !important;margin:calc(-0.75rem) calc(-2.5rem) !important;padding:var(--btn-padding-block) var(--btn-padding-inline) !important;padding-right:3.5rem !important;margin-right:-3.5rem !important;border-radius:1.5rem !important;appearance:none !important;background:none !important;border:none !important;color:currentColor !important;display:block;max-width:100% !important;outline:none;font-weight:bold;font-size:var(--btn-font-size) !important;line-height:var(--btn-line-height) !important}.btn:has(select) select option{padding:0;text-align:left;color:var(--colour-primary)}.btn:has(select):after{position:absolute;top:0.625rem;right:2rem;content:"";height:1.5rem;width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem;transform:rotate(90deg);pointer-events:none}.btn:has(select).active:after{transform:rotate(-90deg)}.btn:has(select:focus):after{transform:rotate(-90deg)}.btn-filter:after{content:"\uF1DE";display:inline-block;margin-left:1em;margin-bottom:-0.15em;height:1em;width:1em;z-index:var(--index-focus);color:currentColor;font-weight:300;font-family:"Font Awesome 6 Pro"}}@layer elements{.btn-secondary{color:var(--colour-btn-secondary)}.btn-secondary:not(.border-0){background:var(--colour-btn-secondary-bg);border:2px solid var(--colour-btn-secondary-border)}a:is(:hover,:focus,.hover,:active,.active):not([disabled]) .btn-secondary,.btn-secondary:is(:hover,:focus,.hover,:focus-within,:active,.active):not([disabled]){background:var(--colour-btn-secondary-bg-hover);color:var(--colour-btn-secondary-hover)}}@layer elements{.btn.btn-tertiary{background-color:rgba(0,0,0,0);border:none;color:var(--colour-link);margin:0 var(--btn-margin) var(--btn-margin) 0;padding:0;font-size:1.125rem;font-weight:normal;line-height:1.5rem;min-height:1.5rem;position:relative}.btn.btn-tertiary:after{position:absolute;content:"";top:100%;left:50%;height:2px;width:100%;transform:translate(-50%, 0);background:var(--colour-underline);transition:width .5s}.btn.btn-tertiary.text-decoration-none:after{width:0%}.btn.btn-tertiary [class*=fa-]{margin-left:0;margin-right:.5rem}.btn.btn-tertiary [class*=fa-]:not(:first-child){margin-left:.5rem;margin-right:0}.btn.btn-tertiary:is(:hover,:focus,.hover,:focus-within):not([disabled],:disabled,:active,.active):after{width:60% !important}.btn.btn-tertiary:is(:active,.active):not([disabled],:disabled){color:var(--colour-active)}}@layer elements{.btn-action{--btn-border-width: 0.0625rem;--btn-padding-block: 0.3125rem;--btn-padding-inline: 0.3125rem;--btn-margin: 0.5rem;border-radius:0.25rem !important;font-weight:400 !important;font-size:1rem;line-height:1.25rem}.btn-action:not(.btn-primary){color:var(--colour-heading)}.btn-action:not(.btn-primary):not(.border-0){background-color:var(--colour-canvas-2);border:var(--btn-border-width) solid var(--colour-muted)}.btn-action.btn[class*=fa-]:before{content:var(--fa);margin-right:0.375rem}a:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn-action,.btn-action:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){background:var(--colour-btn-action-hover-bg)}.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn-action,.btn-action.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){filter:brightness(90%);background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border);color:var(--colour-btn)}a:is(:active,.active):not([disabled]):not(.btn-primary) .btn-action,.btn-action:is(:active,.active):not([disabled]):not(.btn-primary){filter:brightness(85%);transition:all .1s;color:var(--colour-heading)}}@layer elements{.btn-compact{--compact-size: 3rem;padding:0 !important;margin-bottom:0.5rem;text-align:center;width:var(--compact-size);min-width:var(--compact-size);max-width:var(--compact-size);height:var(--compact-size) !important;min-height:var(--compact-size) !important;max-height:var(--compact-size) !important;line-height:var(--compact-size) !important;text-indent:-500px;overflow:hidden;position:relative;font-size:1rem}.btn-compact:not(:last-child){margin-right:0.5rem}.btn-compact:before{content:var(--fa);position:absolute;top:0;left:0;width:100%;height:100%;text-indent:0;line-height:calc(var(--compact-size) - 0.25rem);font-weight:900}.btn-compact[class*=fa-]:before{line-height:calc(var(--compact-size) - 0.25rem)}@media screen and (prefers-color-scheme: dark){.btn-compact[class*=fa-]:before{color:#fff}}.btn-compact.btn-sm{--compact-size: 2.5rem;font-size:1rem;padding:0 !important}.btn-compact.btn-action{--compact-size: 2rem;font-size:1rem}.btn-compact.btn-action:before{font-size:1em;font-weight:400}.btn-compact.btn-secondary{--colour-btn-bg: transparent;--colour-btn-border: transparent;border-color:rgba(0,0,0,0)}.btn-compact.btn-secondary:not([class*=colour-]){--colour: var(--colour-light)}.btn-compact.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse){background-color:var(--colour);color:var(--colour-primary-theme);border-color:var(--colour)}.btn-compact.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse):is(.colour-primary,.colour-dark,.colour-danger,.colour-black){color:var(--colour-inverted)}.btn-compact[data-number]{position:relative}.btn-compact[data-number]:after{content:attr(data-number);position:absolute;top:.5em;z-index:99;background:var(--colour-danger);height:1.5em;width:1.5em;border-radius:50%;text-indent:0;left:50%;font-size:.5em;line-height:1.5em;text-align:center;color:#fff;letter-spacing:-0.1em;font-family:arial,sans-serif}[class*=bg-]:not(.bg-info):not(.bg-success):not(.bg-light):not(.bg-warning):not(.bg-white):not(.bg-admin):not(.bg-canvas):not(.bg-canvas-2):not(.prevent-invert) .btn-compact.btn-secondary:not(:hover,:focus,.hover,:focus-within):not(.btn-collapse),.invert-colours .btn-compact.btn-secondary:not(:hover,:focus,.hover,:focus-within):not(.btn-collapse){background-color:var(--colour-inverted) !important;border-color:var(--colour-inverted) !important;color:var(--colour-primary-theme)}[class*=bg-]:not(.bg-info):not(.bg-success):not(.bg-light):not(.bg-warning):not(.bg-white):not(.bg-admin):not(.bg-canvas):not(.bg-canvas-2):not(.prevent-invert) .btn-compact.btn-secondary:is(:hover,:focus,.hover,:focus-within):not([disabled]):not(.btn-collapse),.invert-colours .btn-compact.btn-secondary:is(:hover,:focus,.hover,:focus-within):not([disabled]):not(.btn-collapse){background-color:rgba(0,0,0,0);border-color:var(--colour-inverted) !important;color:var(--colour-inverted)}[class*=bg-]:not(.bg-info):not(.bg-success):not(.bg-light):not(.bg-warning):not(.bg-white):not(.bg-admin):not(.bg-canvas):not(.bg-canvas-2):not(.prevent-invert) .btn-compact.btn-secondary[disabled],.invert-colours .btn-compact.btn-secondary[disabled]{background-color:var(--colour-inverted) !important;border-color:var(--colour-inverted) !important;color:var(--colour-primary-theme) !important}}:host(.chart--horizontal) .chart__outer tbody{--chart-direction: 90deg;--chart-day-bg-pos: calc(var(--single-day) * 7) 100%;--bar-gap: 0}:host(.chart--horizontal) .chart__outer .chart__guidelines{position:absolute}:host(.chart--horizontal) .chart__outer .chart__guidelines .guideline{bottom:auto;left:var(--percent);height:100%;border-left:1px dashed #eee;width:0}:host(.chart--horizontal) .chart__outer .chart__guidelines .guideline span{display:block;font-size:var(--label-size);position:absolute;top:100%;transform:translate(-50%, 0.2em);opacity:1}:host(.chart--horizontal) .chart__outer .chart__yaxis{display:none}:host(.chart--horizontal) .chart__outer table{padding-top:0}:host(.chart--horizontal) .chart__outer table tbody{flex-direction:column;position:relative}:host(.chart--horizontal) .chart__outer table tbody tr{flex-direction:column;align-items:flex-start;margin-bottom:.5rem;padding:0;min-height:1.5rem}:host(.chart--horizontal) .chart__outer table tbody tr td{height:var(--bar-height, 1.5rem);bottom:0;left:var(--bottom, 0%);width:var(--comparison, var(--percent));max-width:100%;border-top-left-radius:0;border-bottom-right-radius:4px}:host(.chart--horizontal) .chart__outer table tbody tr td:first-child{position:static;transform:none;display:block !important;height:var(--bar-height, 1.5rem);line-height:var(--bar-height, 1.5rem);max-width:var(--xaxis-max-width, none)}:host(.chart--horizontal) .chart__outer table tbody tr td:first-child>*:not([popover]){max-width:100%;text-overflow:ellipsis;overflow:hidden}:host(.chart--horizontal) .chart__outer table tbody:has(td:first-child strong) td:first-child{font-weight:normal !important}:host(.chart--horizontal) .chart__outer .chart__wrapper[data-longest-label]:before{display:block;content:attr(data-longest-label);font-size:var(--label-size);padding-right:.5em;opacity:0;pointer-events:none;white-space:nowrap;width:var(--xaxis-max-width, none)}:host(.chart--horizontal) .chart__outer:has(td .tooltip) .chart__wrapper[data-longest-label]:before{padding-right:2em;width:calc(var(--xaxis-max-width, none) - 1rem)}:host(.chart--horizontal) .chart__outer .chart__wrapper[data-longest-label] table tbody tr td:first-child{position:absolute;display:block !important;max-height:1.5rem;z-index:var(--index-above);top:0%;left:auto !important;right:100% !important;padding-right:.5em;width:fit-content}:host(.chart--horizontal) .chart__outer .chart__spacer span{display:none !important}:host(.chart--stacked) .chart__wrapper table tbody tr{--bar-gap: 0;flex-direction:column-reverse;justify-content:flex-start;align-items:center}:host(.chart--stacked) .chart__wrapper table tbody tr td{border-radius:0 !important}:host(.chart--stacked.chart--horizontal) .chart__wrapper table tbody tr{flex-direction:row}:host(.chart--stacked.chart--horizontal) .chart__wrapper table tbody tr::after{content:attr(data-numeric);position:absolute;opacity:1 !important;bottom:100%;left:50%;transform:translate(-50%, 0);display:block !important;height:fit-content;margin:0;bottom:50%;left:calc(var(--percent) + .5rem);transform:translate(0, 50%)}:host(.chart--stacked.chart--horizontal) .chart__wrapper table tbody tr td:after{content:none}.chart--animate.animating.inview{--animation-left: 2s}.chart--animate.animating.inview table tbody tr td:not(:first-child){transition:height 2s ease-out,width 2s ease-out,bottom 2s ease-out,left var(--animation-left) ease-out;transition-delay:calc(var(--row-index)*.1s)}.chart--animate:not(.inview) table tbody tr td:not(:first-child){--bottom: var(--min-bottom, 0%) !important;--percent: 0% !important;--axis: 0% !important;--comparison: 0% !important}.chart--animate.animating table tbody tr td:not(:first-child){overflow:hidden}:host(.chart--display-data) table tbody tr td:not(:first-child):after{content:attr(data-value);position:absolute;opacity:1 !important;bottom:100%;left:50%;transform:translate(-50%, 0);display:block !important;height:fit-content;margin:0}:host(.chart--display-data.chart--horizontal) table tbody tr td:not(:first-child):after{bottom:50%;left:calc(100% + .5rem);transform:translate(0, 50%)}:host(.chart--display-data.chart--horizontal) .chart__wrapper[data-longest-value]:after{display:block;content:attr(data-longest-value);font-size:var(--label-size);padding-left:.5em;opacity:0;pointer-events:none;white-space:nowrap}:host(.chart--display-data.chart--fit-content:not(.chart--horizontal)) .chart__outer{padding-top:1rem}:host(.chart--fit-content:not(.chart--horizontal)){width:100%;display:block}:host(.chart--fit-content:not(.chart--horizontal)) .chart__wrapper{width:fit-content}:host(.chart--fit-content:not(.chart--horizontal)) table{width:fit-content !important;padding-top:0;height:var(--chart-height-resp, 7.5rem)}:host(.chart--fit-content:not(.chart--horizontal)) tbody{position:relative}:host(.chart--fit-content:not(.chart--horizontal)) [part=group]{min-width:fit-content;width:fit-content;max-width:fit-content;padding-right:var(--fc-group-width, 1rem)}:host(.chart--fit-content:not(.chart--horizontal)) [part=value]{min-width:var(--fc-value-width, 0.75rem);width:var(--fc-value-width, 0.75rem);max-width:var(--fc-value-width, 0.75rem)}:host(.chart--fit-content:not(.chart--horizontal).chart--no-scale){--fc-group-width: 1.375rem;--fc-value-width: 1.5rem}:host(.chart--fit-content:not(.chart--horizontal).chart--no-scale) table{height:var(--chart-height-lg-set, 7.5rem)}@container (min-width: 23.4375em){.chart__wrapper{--fc-group-width: 1.375rem;--fc-value-width: 1.5rem}}button.tooltip:after{content:"?";margin-left:.25rem;display:inline-block;border:1px solid currentColor}.tooltip__content[popover]{z-index:var(--index-floating);background:var(--colour-primary);color:var(--colour-white);padding:1.5rem;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.11);white-space:normal;position:fixed;border:none;margin:0;box-sizing:border-box;inset-area:bottom center;overflow:visible;width:calc(anchor-size(width) + var(--container-padding-x) + var(--container-padding-x) + 1.5rem) !important}.tooltip__content[popover]::after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-0.25rem;border-width:.5rem;border-style:solid;border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--colour-primary) rgba(0,0,0,0);margin-bottom:-1px}/*# sourceMappingURL=assets/css/components/barchart.component.css.map */
12
+ :host{--chart-colour-1-set: var(--chart-colour-1, #BEE8F8);--chart-colour-2-set: var(--chart-colour-2, #A6DCC7);--chart-colour-3-set: var(--chart-colour-3, #FAD0DA);--chart-colour-4-set: var(--chart-colour-4, #AFCCF2);--chart-colour-5-set: var(--chart-colour-5, #FFD2B4);--chart-colour-6-set: var(--chart-colour-6, #CDF0F2);--chart-colour-7-set: var(--chart-colour-7, #FFABC2);--chart-colour-8-set: var(--chart-colour-8, #DCEAF2);--chart-colour-9-set: var(--chart-colour-9, #EEBCB3);--chart-colour-10-set: var(--chart-colour-10, #F0BDFF);--chart-colour-1-hover: var(--chart-colour-1, #B6DEED);--chart-colour-2-hover: var(--chart-colour-2, #98CBB7);--chart-colour-3-hover: var(--chart-colour-3, #EFC8D1);--chart-colour-4-hover: var(--chart-colour-4, #A6C1E5);--chart-colour-5-hover: var(--chart-colour-5, #F4CAAF);--chart-colour-6-hover: var(--chart-colour-6, #C2E3E5);--chart-colour-7-hover: var(--chart-colour-7, #F5A2B9);--chart-colour-8-hover: var(--chart-colour-8, #CFDCE3);--chart-colour-9-hover: var(--chart-colour-9, #E3B2A9);--chart-colour-10-hover: var(--chart-colour-10, #E3B2F2);--chart-colour-success: #d2f0c9 !important;--chart-colour-success-hover: #8ad873 !important;--chart-colour-danger: #f5c2c7 !important;--chart-colour-danger-hover: #f5c2e7 !important;--chart-colour-warning: #ffd280 !important;--chart-colour-warning-hover: #ffb020 !important}.chart__key .key:nth-child(11n-10),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-9){--chart-colour: var(--chart-colour-1-set);--chart-colour-hover: var(--chart-colour-1-hover)}.chart__outer table tbody tr:nth-child(1):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-1-set);--chart-colour-hover: var(--chart-colour-1-hover)}.chart__key .key:nth-child(11n-9),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-8){--chart-colour: var(--chart-colour-2-set);--chart-colour-hover: var(--chart-colour-2-hover)}.chart__outer table tbody tr:nth-child(2):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-2-set);--chart-colour-hover: var(--chart-colour-2-hover)}.chart__key .key:nth-child(11n-8),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-7){--chart-colour: var(--chart-colour-3-set);--chart-colour-hover: var(--chart-colour-3-hover)}.chart__outer table tbody tr:nth-child(3):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-3-set);--chart-colour-hover: var(--chart-colour-3-hover)}.chart__key .key:nth-child(11n-7),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-6){--chart-colour: var(--chart-colour-4-set);--chart-colour-hover: var(--chart-colour-4-hover)}.chart__outer table tbody tr:nth-child(4):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-4-set);--chart-colour-hover: var(--chart-colour-4-hover)}.chart__key .key:nth-child(11n-6),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-5){--chart-colour: var(--chart-colour-5-set);--chart-colour-hover: var(--chart-colour-5-hover)}.chart__outer table tbody tr:nth-child(5):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-5-set);--chart-colour-hover: var(--chart-colour-5-hover)}.chart__key .key:nth-child(11n-5),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-4){--chart-colour: var(--chart-colour-6-set);--chart-colour-hover: var(--chart-colour-6-hover)}.chart__outer table tbody tr:nth-child(6):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-6-set);--chart-colour-hover: var(--chart-colour-6-hover)}.chart__key .key:nth-child(11n-4),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-3){--chart-colour: var(--chart-colour-7-set);--chart-colour-hover: var(--chart-colour-7-hover)}.chart__outer table tbody tr:nth-child(7):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-7-set);--chart-colour-hover: var(--chart-colour-7-hover)}.chart__key .key:nth-child(11n-3),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-2){--chart-colour: var(--chart-colour-8-set);--chart-colour-hover: var(--chart-colour-8-hover)}.chart__outer table tbody tr:nth-child(8):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-8-set);--chart-colour-hover: var(--chart-colour-8-hover)}.chart__key .key:nth-child(11n-2),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-1){--chart-colour: var(--chart-colour-9-set);--chart-colour-hover: var(--chart-colour-9-hover)}.chart__outer table tbody tr:nth-child(9):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-9-set);--chart-colour-hover: var(--chart-colour-9-hover)}.chart__key .key:nth-child(11n-1),.chart__outer table tbody tr td:not(:first-child):nth-child(11n-0){--chart-colour: var(--chart-colour-10-set);--chart-colour-hover: var(--chart-colour-10-hover)}.chart__outer table tbody tr:nth-child(10):has(td:nth-child(2):last-child):not([data-colour]):not([data-colour-1]) td:nth-child(2){--chart-colour: var(--chart-colour-10-set);--chart-colour-hover: var(--chart-colour-10-hover)}::slotted(table){display:none !important}:host{container-type:inline-size;margin-bottom:2rem;display:block}.chart__outer{display:flex;flex-direction:column;position:relative;font-weight:var(--chart-font-weight, bold);color:var(--chart-text-color, black);--body-colour-set: var(--body-colour, Canvas);--text-colour-set: var(--text-colour, black);--chart-height-set: var(--chart-height, 7.5rem);--chart-height-lg-set: var(--chart-height-lg, 12.5rem);--chart-height-resp: var(--chart-height-set);--index-below: -1;--index-base: 0;--index-focus: 2;--index-above: 10;--index-floating: 100;--index-menu: 200;--index-overlay: 1000;--key-label-width: 100%;--label-size: 0.75rem;--line-thickness: 1px;--yaxis-width: auto;--yaxis-point-display: block;--yaxis-last-point-transform: translate(0, -50%);--bar-gap: min(10%, 0.75rem)}.chart__outer>*{display:block;order:2}.chart__outer tbody{--chart-direction: 360deg;--chart-day-bg-pos: 100% calc(var(--single-day) * 7)}@container (min-width: 23.4375em){.chart__outer :has(tr:nth-child(5) td:nth-child(4)),.chart__outer :has(tr:nth-child(10)){--yaxis-width: 0;--yaxis-point-display: none;--yaxis-last-point-transform: translate(0, -100%);--bar-gap: 0}.chart__outer .chart__wrapper{--chart-height-resp: var(--chart-height-lg-set);--line-thickness: 0.8px;--yaxis-width: auto;--yaxis-point-display: block;--yaxis-last-point-transform: translate(0, -50%)}}@container (min-width: 48em){.chart__outer :has(tr:nth-child(10)){--bar-gap: 0}.chart__outer .chart__wrapper{--label-size: 0.875rem;--line-thickness: 0.5px}}.chart__outer .chart__spacer span{opacity:0}.chart__outer>input[type=checkbox]{opacity:0;position:absolute;pointer-events:none;bottom:50%;left:50%}.chart__key{padding:0 0 0 0;margin-bottom:1.5rem;display:flex;overflow:auto;scroll-snap-type:x mandatory;scroll-padding:.75rem;gap:.5rem}.chart__key:has(label:first-child:last-child){display:var(--single-key-display, none)}.chart__key .key{margin:0 !important}.chart__key .key:before{content:"";height:.8em;width:.8em;margin-right:.3em !important;background-color:var(--chart-colour);display:inline-block;border-radius:var(--key-border-radius, 4px)}.chart__key .key[data-label=Min],.chart__key .key[data-label=Max]{display:none}.chart__key .key .chart__total{display:none}.chart__outer input[type=checkbox]:focus:nth-child(1)~.chart__key .key:nth-child(1){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(2)~.chart__key .key:nth-child(2){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(3)~.chart__key .key:nth-child(3){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(4)~.chart__key .key:nth-child(4){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(5)~.chart__key .key:nth-child(5){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(6)~.chart__key .key:nth-child(6){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(7)~.chart__key .key:nth-child(7){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(8)~.chart__key .key:nth-child(8){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer input[type=checkbox]:focus:nth-child(9)~.chart__key .key:nth-child(9){background:var(--colour-btn-action-hover-bg) !important;border:var(--btn-border-width) solid var(--colour-muted) !important}.chart__outer>input[type=checkbox]:nth-of-type(1):not(:checked)~.chart__key .key:nth-of-type(1){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(2):not(:checked)~.chart__key .key:nth-of-type(2){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(3):not(:checked)~.chart__key .key:nth-of-type(3){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(4):not(:checked)~.chart__key .key:nth-of-type(4){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(5):not(:checked)~.chart__key .key:nth-of-type(5){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(6):not(:checked)~.chart__key .key:nth-of-type(6){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(7):not(:checked)~.chart__key .key:nth-of-type(7){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(8):not(:checked)~.chart__key .key:nth-of-type(8){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(9):not(:checked)~.chart__key .key:nth-of-type(9){opacity:.25}.chart__outer>input[type=checkbox]:nth-of-type(10):not(:checked)~.chart__key .key:nth-of-type(10){opacity:.25}:host([data-yaxis]){--yaxis-display: flex}.chart__yaxis{display:var(--yaxis-display, none);flex-direction:column-reverse;width:var(--yaxis-width)}.chart__yaxis .axis__point{bottom:var(--percent);position:relative;height:0;white-space:nowrap}.chart__yaxis .axis__point:not(:last-child){display:var(--yaxis-point-display)}.chart__yaxis .axis__point span{display:block;transform:translate(0, -50%);padding-right:.25rem;text-align:right;font-weight:var(--chart-yaxis-fw, normal);font-size:var(--chart-yaxis-fs, 0.75rem);color:var(--colour-body)}.chart__yaxis .axis__point:last-child span{transform:var(--yaxis-last-point-transform)}.chart__xaxis{margin-bottom:1rem;display:flex;flex-direction:column-reverse;width:100%;position:absolute;left:0;bottom:-1rem}.chart__xaxis .axis__point{left:var(--percent);width:1px;position:absolute;height:0;white-space:nowrap}.chart__xaxis .axis__point span{display:block;transform:translate(-50%, 0%);text-align:center;font-size:var(--label-size);position:absolute;left:50%}.chart__guidelines{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column-reverse;pointer-events:none}.chart__guidelines .guideline{bottom:var(--percent);position:absolute;right:0;width:100%;height:0px;margin-bottom:-1px;border-bottom:1px dashed #eee;pointer-events:none;z-index:var(--index-below)}.chart__guidelines .guideline:not(.guideline--target) span{display:none}.chart__guidelines .guideline--target{border-bottom:1px dashed #000;z-index:var(--index-above);text-shadow:1px solid #fff;overflow:visible}.chart__guidelines .guideline--target span{position:absolute;bottom:0;font-size:var(--label-size);text-shadow:1px 1px 2px #fff;background:hsla(0,0%,100%,.6)}.chart__guidelines [data-value="0"]{border-bottom:1px solid var(--colour-primary)}.chart__guidelines [data-value="0"]:not(:first-child){border-bottom:1px dashed var(--colour-primary)}[part=popover]{position:absolute;top:var(--cursor-y, 50%);left:var(--cursor-x, 50%);font-size:var(--label-size);line-height:1.2;background:var(--chart-details-bg, var(--colour-canvas-2, Canvas));opacity:0;pointer-events:none;padding:.5rem;border-radius:.5rem;margin-bottom:.25rem;display:block;white-space:pre;text-align:left;box-shadow:var(--chart-details-shadow, 0 0.125rem 0.75rem rgba(0, 0, 0, 0.25));transform:translate(-50%, -100%)}[part=popover]::before{content:attr(data-group) "\\a"}[part=popover][data-label]::before{content:attr(data-group) "\\a" attr(data-label) "\\a"}[part=popover]:has(:is(a,button)){top:0;left:50%;transform:translate(-50%, -100%);font-size:.9rem}[part=popover] hr{margin:0;opacity:0}[part=popover] :is(a,button){display:inline-block !important;clear:both !important;float:left !important;margin-top:1rem !important;margin-right:1rem !important;margin-bottom:.25em !important;font-size:1em !important}[part=popover] :is(a,button)+:is(a,button){margin-top:0 !important}.chart__wrapper{display:block;display:flex;flex-direction:row;position:relative}.chart__wrapper .chart{position:relative;flex-grow:1}.chart__wrapper table{display:block;width:100% !important;padding-top:var(--chart-height-resp);position:relative;margin-bottom:0;overflow:visible}.chart__wrapper table thead{display:none}.chart__wrapper table tbody{display:flex;position:absolute;width:100%;height:100%;top:0;left:0;flex-direction:row;border:none}.chart__wrapper table tbody tr{display:flex;flex-direction:row;justify-content:var(--chart-bar-alignment, left);align-items:flex-end;border:none;width:100%;height:100%;position:relative;padding:0 2px;gap:var(--bar-gap)}.chart__wrapper table tbody tr td{font-weight:inherit}.chart__wrapper table tbody tr td:first-child{position:absolute;top:100%;left:0%;width:fit-content;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--label-size);text-align:center}@container (min-width: 48em){.chart__wrapper table tbody tr td:first-child{display:block}}.chart__wrapper table tbody tr td:first-child button{all:unset;cursor:pointer}.chart__wrapper table tbody tr td[data-label=Min],.chart__wrapper table tbody tr td[data-label=Max]{display:none}.chart__wrapper table tbody tr:first-child td:first-child,.chart__wrapper table tbody tr:last-child td:first-child{display:block}.chart__wrapper table tbody tr td:not(:first-child){height:100%;height:var(--percent, 0%);bottom:var(--bottom, 0%);width:100%;max-width:7.5rem;position:relative;padding:0;background:var(--chart-colour);border-top-right-radius:4px;border-top-left-radius:4px}@media screen and (prefers-color-scheme: dark){.chart__wrapper table tbody tr td:not(:first-child){background:color-mix(in oklab, var(--chart-colour), black 20%)}}.chart__wrapper table tbody tr td:not(:first-child):hover{background:var(--chart-colour-hover)}.chart__wrapper table tbody tr td:not(:first-child):has(span:empty),.chart__wrapper table tbody tr td:not(:first-child):empty{display:none}.chart__wrapper table tbody tr td:not(:first-child)[data-label]:before{display:none}.chart__wrapper table tbody tr td:not(:first-child):hover [part=popover]{opacity:1;z-index:var(--index-above);pointer-events:all}.chart__wrapper table tbody tr td:first-child[data-label]:before{display:none}@container (min-width: 48em){.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr td:first-child,.chart__wrapper table tbody:has(tr:nth-child(10)) tr td:first-child{display:none}.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr:first-child td:first-child,.chart__wrapper table tbody:has(tr:nth-child(10)) tr:first-child td:first-child{left:0%;transform:translate(0, 0);display:block;text-align:left}.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr:last-child td:first-child,.chart__wrapper table tbody:has(tr:nth-child(10)) tr:last-child td:first-child{left:100%;transform:translate(-100%, 0);display:block;text-align:right}.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr:first-child td:not(:first-child) span,.chart__wrapper table tbody:has(tr:nth-child(10)) tr:first-child td:not(:first-child) span{left:-20%;transform:translate(0%, 0);text-align:left}.chart__wrapper table tbody:has(tr:nth-child(5) td:nth-child(4)) tr:last-child td:not(:first-child) span,.chart__wrapper table tbody:has(tr:nth-child(10)) tr:last-child td:not(:first-child) span{left:120%;transform:translate(-100%, 0);text-align:right}}@container (min-width: 23.4375em){.chart__wrapper table tbody:has(tr:nth-child(25)) tr td:first-child{display:none !important}.chart__wrapper table tbody:has(tr:nth-child(25)) tr:is(:first-child,:nth-child(2n+1)) td:first-child{display:block !important}.chart__wrapper table tbody:has(tr:nth-child(50)) tr:is(:first-child,:nth-child(2n+1)) td:first-child,.chart__wrapper table tbody:has(tr:nth-child(50)) tr td:first-child{display:none !important}.chart__wrapper table tbody:has(tr:nth-child(50)) tr:is(:first-child,:nth-child(10n+1)) td:first-child{display:block !important}.chart__wrapper table tbody:has(tr:nth-child(100)) tr:is(:first-child,:nth-child(10n+1)) td:first-child,.chart__wrapper table tbody:has(tr:nth-child(100)) tr td:first-child{display:none !important}.chart__wrapper table tbody:has(tr:nth-child(100)) tr:is(:first-child,:nth-child(20n+1)) td:first-child{display:block !important}}:host(.chart-colour--success) td,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--success,.chart-colour--success td{--chart-colour: var(--chart-colour-success) !important}:host(.chart-colour--success) td:hover,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--success:hover,.chart-colour--success td:hover{--chart-colour-hover: var(--chart-colour-success-hover) !important}:host(.chart-colour--danger) td,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--danger,.chart-colour--danger,.chart-colour--danger td{--chart-colour: var(--chart-colour-danger) !important}:host(.chart-colour--danger) td:hover,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--danger:hover,.chart-colour--danger:hover,.chart-colour--danger td:hover{--chart-colour-hover: var(--chart-colour-danger-hover) !important}:host(.chart-colour--warning) td,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--warning,.chart-colour--warning,.chart-colour--warning td{--chart-colour: var(--chart-colour-warning) !important}:host(.chart-colour--warning) td:hover,:host(:is(.chart-colour--success,.chart-colour--danger,.chart-colour--wraning)) td.chart-colour--warning:hover,.chart-colour--warning:hover,.chart-colour--warning td:hover{--chart-colour-hover: var(--chart-colour-warning-hover) !important}.chart__outer>input[type=checkbox]:nth-of-type(1):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(2){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(2):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(3){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(3):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(4){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(4):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(5){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(5):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(6){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(6):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(7){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(7):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(8){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(8):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(9){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(9):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(10){display:none;opacity:0}.chart__outer>input[type=checkbox]:nth-of-type(10):not(:checked)~.chart__wrapper table tbody tr td:not(:first-child):nth-child(11){display:none;opacity:0}@layer elements{*,*::before,*::after{box-sizing:border-box}button{border-radius:0;text-transform:none;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}[role=button]{cursor:pointer}button:focus:not(:focus-visible){outline:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}.btn{--btn-margin: 1rem;--btn-padding-block: 0.75rem;--btn-padding-inline: 2.5rem;--btn-border-width: 0.125rem;--btn-font-size: 1.125rem;--btn-line-height: 1.25rem;display:inline-block;font-weight:500;text-align:left;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;color:var(--colour-btn);font-size:var(--btn-font-size);line-height:var(--btn-line-height);padding:var(--btn-padding-block) var(--btn-padding-inline);border-radius:1.5rem;margin-bottom:var(--btn-margin);background:none;transition:border .5s,background .5s,color .5s;height:auto;max-width:fit-content;appearance:none;white-space:nowrap}@media screen and (min-width: 36em){.btn{--btn-margin: 1.5rem}}.btn:not(.btn-secondary)[class*=colour-]{--colour-btn-bg: var(--colour);--colour-btn-border: var(--colour)}.btn:is(.colour-primary,.colour-dark,.colour-danger,.colour-black){--colour-btn: #fcfcfc}.btn:not(.border-0){background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border)}.btn:not(:last-child){margin-right:var(--btn-margin)}a:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn,.btn:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){outline:0;text-decoration:none;background:var(--colour-btn-bg-hover);color:var(--colour-btn-hover);border-radius:1.5rem}a:is(:active,.active):not([disabled]) .btn,.btn:is(:active,.active):not([disabled]){filter:brightness(85%);transition:background .1s,color .1s;color:var(--colour-btn);border-radius:1.5rem}a:disabled .btn,.btn:disabled,[disabled] .btn,.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.colour-success{--colour-btn-bg-hover: var(--colour);--colour-btn-border-hover: var(--colour);--colour-btn-hover: var(--colour-primary-theme);position:relative;padding-left:3.5rem;padding-right:3.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active){padding-left:2.5rem;padding-right:2.5rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.colour-success:before,.btn.colour-success:is(:hover,:focus,.hover):not([disabled],:active,.active):before{content:"\uF00C";font-family:"Font Awesome 6 Pro";margin-right:1rem;font-style:inherit;width:1rem;display:inline-block;height:var(--btn-line-height);vertical-align:bottom}.btn.btn-sm{--btn-padding-block: 0.5rem;--btn-padding-inline: 2rem;--btn-margin: 0.5rem;--btn-font-size: 1rem}.btn[class*=fa-]:before{content:var(--fa);font-family:"Font Awesome 6 Pro";line-height:1em}.btn.btn[class*=fa-after]{padding-right:4rem}.btn.btn[class*=fa-after]:before{margin-right:0;margin-right:0.375rem;position:absolute;right:1.5rem;top:50%;transform:translate(0, -50%)}.btn:not(.btn-compact):before{margin-right:1rem}.btn i[class*=fa-]{font-family:"Font Awesome 6 Pro";margin-right:1rem;line-height:1em;font-style:inherit}.btn i[class*=fa-]:not(:first-child){margin-left:1rem;margin-right:0}.btn.btn--prompt:after{content:"";height:var(--btn-line-height);width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem}a:is(:hover,:focus,.hover):not([disabled],:active,.active) .btn.btn--prompt:after,.btn.btn--prompt:is(:hover,:focus,.hover):not([disabled],:active,.active):after{margin-left:1.5rem;margin-right:-0.5rem}.btn:has(select){position:relative;padding-right:3.5rem}.btn:has(select):not(.mw-100){max-width:13rem}.btn:has(select) select{all:unset !important;margin:calc(-0.75rem) calc(-2.5rem) !important;padding:var(--btn-padding-block) var(--btn-padding-inline) !important;padding-right:3.5rem !important;margin-right:-3.5rem !important;border-radius:1.5rem !important;appearance:none !important;background:none !important;border:none !important;color:currentColor !important;display:block;max-width:100% !important;outline:none;font-weight:500;font-size:var(--btn-font-size) !important;line-height:var(--btn-line-height) !important}.btn:has(select) select option{padding:0;text-align:left;color:var(--colour-primary)}.btn:has(select):after{position:absolute;top:0.625rem;right:2rem;content:"";height:1.5rem;width:1rem;display:inline-block;background:currentColor;mask-image:var(--icon-arrow);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-arrow);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;vertical-align:bottom;margin-left:1rem;transform:rotate(90deg);pointer-events:none}.btn:has(select).active:after{transform:rotate(-90deg)}.btn:has(select:focus):after{transform:rotate(-90deg)}.btn-filter:after{content:"\uF1DE";display:inline-block;margin-left:1em;margin-bottom:-0.15em;height:1em;width:1em;z-index:var(--index-focus);color:currentColor;font-weight:300;font-family:"Font Awesome 6 Pro"}}@layer elements{.btn-secondary{color:var(--colour-btn-secondary)}.btn-secondary:not(.border-0){background:var(--colour-btn-secondary-bg);border:2px solid var(--colour-btn-secondary-border)}a:is(:hover,:focus,.hover,:active,.active):not([disabled]) .btn-secondary,.btn-secondary:is(:hover,:focus,.hover,:focus-within,:active,.active):not([disabled]){background:var(--colour-btn-secondary-bg-hover);color:var(--colour-btn-secondary-hover)}}@layer elements{.btn.btn-tertiary{background-color:rgba(0,0,0,0);border:none;color:var(--colour-link);margin:0 var(--btn-margin) var(--btn-margin) 0;padding:0;font-size:1.125rem;font-weight:normal;line-height:1.5rem;min-height:1.5rem;position:relative}.btn.btn-tertiary:after{position:absolute;content:"";top:100%;left:50%;height:2px;width:100%;transform:translate(-50%, 0);background:var(--colour-underline);transition:width .5s}.btn.btn-tertiary.text-decoration-none:after{width:0%}.btn.btn-tertiary [class*=fa-]{margin-left:0;margin-right:.5rem}.btn.btn-tertiary [class*=fa-]:not(:first-child){margin-left:.5rem;margin-right:0}.btn.btn-tertiary:is(:hover,:focus,.hover,:focus-within):not([disabled],:disabled,:active,.active):after{width:60% !important}.btn.btn-tertiary:is(:active,.active):not([disabled],:disabled){color:var(--colour-active)}}@layer elements{.btn-action{--btn-border-width: 0.0625rem;--btn-padding-block: 0.3125rem;--btn-padding-inline: 0.3125rem;--btn-margin: 0.5rem}.btn-action:not(.btn-primary){color:var(--colour-heading)}.btn-action:not(.btn-primary):not(.border-0){background-color:var(--colour-canvas-2);border:var(--btn-border-width) solid var(--colour-muted)}.btn-action{border-radius:0.25rem !important;font-weight:400 !important;font-size:1rem;line-height:1.25rem}.btn-action.btn[class*=fa-]:before{content:var(--fa);margin-right:0.375rem}a:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn-action,.btn-action:not(.btn-primary):is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){background:var(--colour-btn-action-hover-bg)}.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active) .btn-action,.btn-action.btn-primary:is(:hover,:focus,.hover,:focus-within):not([disabled],:active,.active){filter:brightness(90%);background:var(--colour-btn-bg);border:var(--btn-border-width) solid var(--colour-btn-border);color:var(--colour-btn)}a:is(:active,.active):not([disabled]):not(.btn-primary) .btn-action,.btn-action:is(:active,.active):not([disabled]):not(.btn-primary){filter:brightness(85%);transition:all .1s;color:var(--colour-heading)}}@layer elements{.btn-compact{--compact-size: 3rem;padding:0 !important;margin-bottom:0.5rem}.btn-compact:not(:last-child){margin-right:0.5rem}.btn-compact{text-align:center;width:var(--compact-size);min-width:var(--compact-size);max-width:var(--compact-size);height:var(--compact-size) !important;min-height:var(--compact-size) !important;max-height:var(--compact-size) !important;line-height:var(--compact-size) !important;text-indent:-500px;overflow:hidden;position:relative;font-size:1rem}.btn-compact:before{content:var(--fa);position:absolute;top:0;left:0;width:100%;height:100%;text-indent:0;line-height:calc(var(--compact-size) - 0.25rem);font-weight:900}.btn-compact[class*=fa-]:before{line-height:calc(var(--compact-size) - 0.25rem)}@container style(--theme: dark){.btn-compact[class*=fa-]:before{color:#fff}}.btn-compact.btn-sm{--compact-size: 2.5rem;font-size:1rem;padding:0 !important}.btn-compact.btn-action{--compact-size: 2rem;font-size:1rem}.btn-compact.btn-action:before{font-size:1em;font-weight:400}.btn-compact.btn-secondary{--colour-btn-bg: transparent;--colour-btn-border: transparent;border-color:rgba(0,0,0,0)}.btn-compact.btn-secondary:not([class*=colour-]){--colour: var(--colour-light)}.btn-compact.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse){background-color:var(--colour);color:var(--colour-primary-theme);border-color:var(--colour)}.btn-compact.btn-secondary:is(:hover,:focus,.hover,:active,.active,[aria-expanded],:focus-within):not([disabled]):not(.btn-collapse):is(.colour-primary,.colour-dark,.colour-danger,.colour-black){color:var(--colour-inverted)}.btn-compact[data-number]{position:relative}.btn-compact[data-number]:after{content:attr(data-number);position:absolute;top:.5em;z-index:99;background:var(--colour-danger);height:1.5em;width:1.5em;border-radius:50%;text-indent:0;left:50%;font-size:.5em;line-height:1.5em;text-align:center;color:#fff;letter-spacing:-0.1em;font-family:arial,sans-serif}[class*=bg-]:not(.bg-info):not(.bg-success):not(.bg-light):not(.bg-warning):not(.bg-white):not(.bg-admin):not(.bg-canvas):not(.bg-canvas-2):not(.prevent-invert) .btn-compact.btn-secondary:not(:hover,:focus,.hover,:focus-within):not(.btn-collapse),.invert-colours .btn-compact.btn-secondary:not(:hover,:focus,.hover,:focus-within):not(.btn-collapse){background-color:var(--colour-inverted) !important;border-color:var(--colour-inverted) !important;color:var(--colour-primary-theme)}[class*=bg-]:not(.bg-info):not(.bg-success):not(.bg-light):not(.bg-warning):not(.bg-white):not(.bg-admin):not(.bg-canvas):not(.bg-canvas-2):not(.prevent-invert) .btn-compact.btn-secondary:is(:hover,:focus,.hover,:focus-within):not([disabled]):not(.btn-collapse),.invert-colours .btn-compact.btn-secondary:is(:hover,:focus,.hover,:focus-within):not([disabled]):not(.btn-collapse){background-color:rgba(0,0,0,0);border-color:var(--colour-inverted) !important;color:var(--colour-inverted)}[class*=bg-]:not(.bg-info):not(.bg-success):not(.bg-light):not(.bg-warning):not(.bg-white):not(.bg-admin):not(.bg-canvas):not(.bg-canvas-2):not(.prevent-invert) .btn-compact.btn-secondary[disabled],.invert-colours .btn-compact.btn-secondary[disabled]{background-color:var(--colour-inverted) !important;border-color:var(--colour-inverted) !important;color:var(--colour-primary-theme) !important}}:host(.chart--horizontal) .chart__outer tbody{--chart-direction: 90deg;--chart-day-bg-pos: calc(var(--single-day) * 7) 100%;--bar-gap: 0}:host(.chart--horizontal) .chart__outer .chart__guidelines{position:absolute}:host(.chart--horizontal) .chart__outer .chart__guidelines .guideline{bottom:auto;left:var(--percent);height:100%;border-left:1px dashed #eee;width:0}:host(.chart--horizontal) .chart__outer .chart__guidelines .guideline span{display:block;font-size:var(--label-size);position:absolute;top:100%;transform:translate(-50%, 0.2em);opacity:1}:host(.chart--horizontal) .chart__outer .chart__yaxis{display:none}:host(.chart--horizontal) .chart__outer table{padding-top:0}:host(.chart--horizontal) .chart__outer table tbody{flex-direction:column;position:relative}:host(.chart--horizontal) .chart__outer table tbody tr{flex-direction:column;align-items:flex-start;margin-bottom:.5rem;padding:0;min-height:1.5rem}:host(.chart--horizontal) .chart__outer table tbody tr td{height:var(--bar-height, 1.5rem);bottom:0;left:var(--bottom, 0%);width:var(--comparison, var(--percent));max-width:100%;border-top-left-radius:0;border-bottom-right-radius:4px}:host(.chart--horizontal) .chart__outer table tbody tr td:first-child{position:static;transform:none;display:block !important;height:var(--bar-height, 1.5rem);line-height:var(--bar-height, 1.5rem);max-width:var(--xaxis-max-width, none)}:host(.chart--horizontal) .chart__outer table tbody tr td:first-child>*:not([popover]){max-width:100%;text-overflow:ellipsis;overflow:hidden}:host(.chart--horizontal) .chart__outer table tbody:has(td:first-child strong) td:first-child{font-weight:normal !important}:host(.chart--horizontal) .chart__outer .chart__wrapper[data-longest-label]:before{display:block;content:attr(data-longest-label);font-size:var(--label-size);padding-right:.5em;opacity:0;pointer-events:none;white-space:nowrap;width:var(--xaxis-max-width, none)}:host(.chart--horizontal) .chart__outer:has(td .tooltip) .chart__wrapper[data-longest-label]:before{padding-right:2em;width:calc(var(--xaxis-max-width, none) - 1rem)}:host(.chart--horizontal) .chart__outer .chart__wrapper[data-longest-label] table tbody tr td:first-child{position:absolute;display:block !important;max-height:1.5rem;z-index:var(--index-above);top:0%;left:auto !important;right:100% !important;padding-right:.5em;width:fit-content}:host(.chart--horizontal) .chart__outer .chart__spacer span{display:none !important}:host(.chart--stacked) .chart__wrapper table tbody tr{--bar-gap: 0;flex-direction:column-reverse;justify-content:flex-start;align-items:center}:host(.chart--stacked) .chart__wrapper table tbody tr td{border-radius:0 !important}:host(.chart--stacked.chart--horizontal) .chart__wrapper table tbody tr{flex-direction:row}:host(.chart--stacked.chart--horizontal) .chart__wrapper table tbody tr::after{content:attr(data-numeric);position:absolute;opacity:1 !important;bottom:100%;left:50%;transform:translate(-50%, 0);display:block !important;height:fit-content;margin:0;bottom:50%;left:calc(var(--percent) + .5rem);transform:translate(0, 50%)}:host(.chart--stacked.chart--horizontal) .chart__wrapper table tbody tr td:after{content:none}.chart--animate.animating.inview{--animation-left: 2s}.chart--animate.animating.inview table tbody tr td:not(:first-child){transition:height 2s ease-out,width 2s ease-out,bottom 2s ease-out,left var(--animation-left) ease-out;transition-delay:calc(var(--row-index)*.1s)}.chart--animate:not(.inview) table tbody tr td:not(:first-child){--bottom: var(--min-bottom, 0%) !important;--percent: 0% !important;--axis: 0% !important;--comparison: 0% !important}.chart--animate.animating table tbody tr td:not(:first-child){overflow:hidden}:host(.chart--display-data) table tbody tr td:not(:first-child):after{content:attr(data-value);position:absolute;opacity:1 !important;bottom:100%;left:50%;transform:translate(-50%, 0);display:block !important;height:fit-content;margin:0}:host(.chart--display-data.chart--horizontal) table tbody tr td:not(:first-child):after{bottom:50%;left:calc(100% + .5rem);transform:translate(0, 50%)}:host(.chart--display-data.chart--horizontal) .chart__wrapper[data-longest-value]:after{display:block;content:attr(data-longest-value);font-size:var(--label-size);padding-left:.5em;opacity:0;pointer-events:none;white-space:nowrap}:host(.chart--display-data.chart--fit-content:not(.chart--horizontal)) .chart__outer{padding-top:1rem}:host(.chart--fit-content:not(.chart--horizontal)){width:100%;display:block}:host(.chart--fit-content:not(.chart--horizontal)) .chart__wrapper{width:fit-content}:host(.chart--fit-content:not(.chart--horizontal)) table{width:fit-content !important;padding-top:0;height:var(--chart-height-resp, 7.5rem)}:host(.chart--fit-content:not(.chart--horizontal)) tbody{position:relative}:host(.chart--fit-content:not(.chart--horizontal)) [part=group]{min-width:fit-content;width:fit-content;max-width:fit-content;padding-right:var(--fc-group-width, 1rem)}:host(.chart--fit-content:not(.chart--horizontal)) [part=value]{min-width:var(--fc-value-width, 0.75rem);width:var(--fc-value-width, 0.75rem);max-width:var(--fc-value-width, 0.75rem)}:host(.chart--fit-content:not(.chart--horizontal).chart--no-scale){--fc-group-width: 1.375rem;--fc-value-width: 1.5rem}:host(.chart--fit-content:not(.chart--horizontal).chart--no-scale) table{height:var(--chart-height-lg-set, 7.5rem)}@container (min-width: 23.4375em){.chart__wrapper{--fc-group-width: 1.375rem;--fc-value-width: 1.5rem}}button.tooltip:after{content:"?";margin-left:.25rem;display:inline-block;border:1px solid currentColor}.tooltip__content[popover]{z-index:var(--index-floating);background:var(--colour-primary);color:var(--colour-white);padding:1.5rem;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.11);white-space:normal;position:fixed;border:none;margin:0;box-sizing:border-box;inset-area:bottom center;overflow:visible;width:calc(anchor-size(width) + var(--container-padding-x) + var(--container-padding-x) + 1.5rem) !important}.tooltip__content[popover]::after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-0.25rem;border-width:.5rem;border-style:solid;border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--colour-primary) rgba(0,0,0,0);margin-bottom:-1px}/*# sourceMappingURL=assets/css/components/barchart.component.css.map */
13
13
 
14
14
  </style>
15
15
  <div class="chart__outer" part="outer">