@iamproperty/components 7.5.0 → 7.5.1--beta2

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 (234) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/address-lookup.component.css +1 -1
  4. package/assets/css/components/address-lookup.component.css.map +1 -1
  5. package/assets/css/components/applied-filters.css +1 -1
  6. package/assets/css/components/applied-filters.css.map +1 -1
  7. package/assets/css/components/barchart.component.css +1 -1
  8. package/assets/css/components/barchart.component.css.map +1 -1
  9. package/assets/css/components/calendar.component.css +1 -1
  10. package/assets/css/components/calendar.component.css.map +1 -1
  11. package/assets/css/components/card.component.css +1 -1
  12. package/assets/css/components/card.component.css.map +1 -1
  13. package/assets/css/components/carousel.component.css +1 -1
  14. package/assets/css/components/carousel.component.css.map +1 -1
  15. package/assets/css/components/collapsible-side.css +1 -1
  16. package/assets/css/components/collapsible-side.css.map +1 -1
  17. package/assets/css/components/content.component.css +1 -1
  18. package/assets/css/components/content.component.css.map +1 -1
  19. package/assets/css/components/doughnutchart.component.css +1 -1
  20. package/assets/css/components/doughnutchart.component.css.map +1 -1
  21. package/assets/css/components/fileupload.css +1 -1
  22. package/assets/css/components/fileupload.css.map +1 -1
  23. package/assets/css/components/header.css +1 -1
  24. package/assets/css/components/header.css.map +1 -1
  25. package/assets/css/components/inline-edit.css +1 -1
  26. package/assets/css/components/inline-edit.css.map +1 -1
  27. package/assets/css/components/inline-edit.preload.css +1 -1
  28. package/assets/css/components/inline-edit.preload.css.map +1 -1
  29. package/assets/css/components/multiselect.css +1 -1
  30. package/assets/css/components/multiselect.css.map +1 -1
  31. package/assets/css/components/multiselect.preload.css +1 -1
  32. package/assets/css/components/multiselect.preload.css.map +1 -1
  33. package/assets/css/components/nav.component.css +1 -1
  34. package/assets/css/components/nav.component.css.map +1 -1
  35. package/assets/css/components/notification.css +1 -1
  36. package/assets/css/components/notification.css.map +1 -1
  37. package/assets/css/components/pagination.css +1 -1
  38. package/assets/css/components/pagination.css.map +1 -1
  39. package/assets/css/components/rank.component.css +1 -1
  40. package/assets/css/components/rank.component.css.map +1 -1
  41. package/assets/css/components/rankings.component.css +1 -1
  42. package/assets/css/components/rankings.component.css.map +1 -1
  43. package/assets/css/components/rankings.global.css +1 -1
  44. package/assets/css/components/rankings.global.css.map +1 -1
  45. package/assets/css/components/slider.css +1 -1
  46. package/assets/css/components/slider.css.map +1 -1
  47. package/assets/css/components/split-button.component.css +1 -1
  48. package/assets/css/components/split-button.component.css.map +1 -1
  49. package/assets/css/components/table-basic.global.css +1 -1
  50. package/assets/css/components/table-basic.global.css.map +1 -1
  51. package/assets/css/components/table.global.css +1 -1
  52. package/assets/css/components/table.global.css.map +1 -1
  53. package/assets/css/components/tabs.component.css +1 -1
  54. package/assets/css/components/tabs.component.css.map +1 -1
  55. package/assets/css/components/tabs.config.css +1 -1
  56. package/assets/css/components/tabs.config.css.map +1 -1
  57. package/assets/css/core.min.css +1 -1
  58. package/assets/css/core.min.css.map +1 -1
  59. package/assets/css/mobile-core.min.css +1 -1
  60. package/assets/css/mobile-core.min.css.map +1 -1
  61. package/assets/css/mobile.min.css +1 -1
  62. package/assets/css/mobile.min.css.map +1 -1
  63. package/assets/css/style.min.css +1 -1
  64. package/assets/css/style.min.css.map +1 -1
  65. package/assets/js/components/accordion/accordion.component.js +0 -7
  66. package/assets/js/components/accordion/accordion.component.min.js +3 -4
  67. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  68. package/assets/js/components/actionbar/actionbar.component.js +8 -9
  69. package/assets/js/components/actionbar/actionbar.component.min.js +13 -5
  70. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  71. package/assets/js/components/address-lookup/address-lookup.component.js +0 -3
  72. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  73. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  74. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  75. package/assets/js/components/applied-filters/applied-filters.component.js +2 -5
  76. package/assets/js/components/applied-filters/applied-filters.component.min.js +7 -7
  77. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  78. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  79. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  80. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  81. package/assets/js/components/card/card.component.min.js +9 -8
  82. package/assets/js/components/card/card.component.min.js.map +1 -1
  83. package/assets/js/components/carousel/carousel.component.min.js +2 -2
  84. package/assets/js/components/collapsible-side/collapsible-side.component.js +0 -5
  85. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -6
  86. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  87. package/assets/js/components/content/content.component.min.js +2 -2
  88. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  89. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
  90. package/assets/js/components/fileupload/fileupload.component.js +1 -5
  91. package/assets/js/components/fileupload/fileupload.component.min.js +5 -6
  92. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  93. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  94. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  95. package/assets/js/components/header/header.component.js +0 -5
  96. package/assets/js/components/header/header.component.min.js +4 -6
  97. package/assets/js/components/header/header.component.min.js.map +1 -1
  98. package/assets/js/components/inline-edit/inline-edit.component.js +61 -60
  99. package/assets/js/components/inline-edit/inline-edit.component.min.js +5 -5
  100. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  101. package/assets/js/components/marketing/marketing.component.js +0 -4
  102. package/assets/js/components/marketing/marketing.component.min.js +3 -4
  103. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  104. package/assets/js/components/menu/menu.component.min.js +5 -4
  105. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  106. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  107. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  108. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  109. package/assets/js/components/multiselect/multiselect.component.js +88 -11
  110. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  111. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  112. package/assets/js/components/nav/nav.component.js +2 -4
  113. package/assets/js/components/nav/nav.component.min.js +8 -7
  114. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  115. package/assets/js/components/notification/notification.component.js +1 -4
  116. package/assets/js/components/notification/notification.component.min.js +6 -6
  117. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  118. package/assets/js/components/pagination/pagination.component.js +3 -8
  119. package/assets/js/components/pagination/pagination.component.min.js +7 -8
  120. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  121. package/assets/js/components/password-indicator/password-indicator.component.js +19 -0
  122. package/assets/js/components/password-indicator/password-indicator.component.min.js +7 -0
  123. package/assets/js/components/password-indicator/password-indicator.component.min.js.map +1 -0
  124. package/assets/js/components/rank/rank.component.js +2 -2
  125. package/assets/js/components/rank/rank.component.min.js +4 -5
  126. package/assets/js/components/rank/rank.component.min.js.map +1 -1
  127. package/assets/js/components/rankings/rankings.component.js +3 -0
  128. package/assets/js/components/rankings/rankings.component.min.js +364 -5
  129. package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
  130. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  131. package/assets/js/components/search/search.component.js +0 -4
  132. package/assets/js/components/search/search.component.min.js +5 -6
  133. package/assets/js/components/search/search.component.min.js.map +1 -1
  134. package/assets/js/components/slider/slider.component.js +0 -4
  135. package/assets/js/components/slider/slider.component.min.js +4 -5
  136. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  137. package/assets/js/components/split-button/split-button.component.min.js +7 -6
  138. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  139. package/assets/js/components/table/table.component.js +3 -9
  140. package/assets/js/components/table/table.component.min.js +11 -4
  141. package/assets/js/components/table/table.component.min.js.map +1 -1
  142. package/assets/js/components/table-ajax/table-ajax.component.js +5 -11
  143. package/assets/js/components/table-ajax/table-ajax.component.min.js +11 -4
  144. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  145. package/assets/js/components/table-basic/table-basic.component.min.js +4 -4
  146. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  147. package/assets/js/components/table-no-submit/table-no-submit.component.js +18 -39
  148. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +11 -4
  149. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  150. package/assets/js/components/table-submit/table-submit.component.js +3 -9
  151. package/assets/js/components/table-submit/table-submit.component.min.js +11 -4
  152. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  153. package/assets/js/components/tabs/tabs.component.js +1 -4
  154. package/assets/js/components/tabs/tabs.component.min.js +5 -5
  155. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  156. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  157. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  158. package/assets/js/modules/inputs.js +0 -8
  159. package/assets/js/modules/password-indicator.js +21 -0
  160. package/assets/js/modules/table.js +28 -2
  161. package/assets/js/scripts.bundle.js +3 -3
  162. package/assets/js/scripts.bundle.js.map +1 -1
  163. package/assets/js/scripts.bundle.min.js +2 -2
  164. package/assets/js/scripts.bundle.min.js.map +1 -1
  165. package/assets/js/scripts.js +1 -0
  166. package/assets/sass/_components.scss +2 -1
  167. package/assets/sass/_elements.scss +5 -0
  168. package/assets/sass/_functions/utility-mixins.scss +21 -0
  169. package/assets/sass/_functions/variables.scss +14 -0
  170. package/assets/sass/_grid.scss +16 -0
  171. package/assets/sass/components/actionbar.component.scss +16 -1
  172. package/assets/sass/components/applied-filters.scss +1 -0
  173. package/assets/sass/components/collapsible-side.scss +2 -0
  174. package/assets/sass/components/fileupload.scss +18 -0
  175. package/assets/sass/components/header.scss +9 -0
  176. package/assets/sass/components/inline-edit.preload.scss +68 -2
  177. package/assets/sass/components/inline-edit.scss +7 -0
  178. package/assets/sass/components/multiselect.preload.scss +10 -0
  179. package/assets/sass/components/multiselect.scss +62 -4
  180. package/assets/sass/components/nav.component.scss +15 -0
  181. package/assets/sass/components/notification.scss +6 -4
  182. package/assets/sass/components/pagination.scss +6 -0
  183. package/assets/sass/components/slider.scss +1 -0
  184. package/assets/sass/components/table-basic.global.scss +1 -1
  185. package/assets/sass/components/table.global.scss +9 -4
  186. package/assets/sass/components/tabs.component.scss +4 -0
  187. package/assets/sass/components/tabs.config.scss +231 -4
  188. package/assets/sass/elements/admin-panel.scss +37 -9
  189. package/assets/sass/elements/buttons--global.scss +3 -3
  190. package/assets/sass/elements/forms.scss +7 -0
  191. package/assets/sass/elements/hr.scss +50 -0
  192. package/assets/sass/elements/icons.scss +5 -0
  193. package/assets/sass/elements/links.scss +2 -2
  194. package/assets/sass/elements/modal.scss +1 -5
  195. package/assets/sass/elements/type.scss +6 -9
  196. package/assets/sass/foundations/reboot.scss +6 -17
  197. package/assets/sass/foundations/root.scss +2 -0
  198. package/assets/sass/templates/form.scss +5 -0
  199. package/assets/ts/components/accordion/accordion.component.ts +0 -8
  200. package/assets/ts/components/actionbar/actionbar.component.ts +19 -10
  201. package/assets/ts/components/address-lookup/address-lookup.component.ts +1 -3
  202. package/assets/ts/components/applied-filters/applied-filters.component.ts +2 -5
  203. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +1 -5
  204. package/assets/ts/components/fileupload/fileupload.component.ts +2 -5
  205. package/assets/ts/components/header/header.component.ts +1 -5
  206. package/assets/ts/components/inline-edit/inline-edit.component.ts +74 -75
  207. package/assets/ts/components/marketing/marketing.component.ts +0 -4
  208. package/assets/ts/components/multiselect/multiselect.component.ts +97 -12
  209. package/assets/ts/components/nav/nav.component.ts +2 -4
  210. package/assets/ts/components/notification/notification.component.ts +2 -4
  211. package/assets/ts/components/pagination/pagination.component.ts +6 -8
  212. package/assets/ts/components/password-indicator/password-indicator.component.ts +24 -0
  213. package/assets/ts/components/rank/rank.component.ts +2 -2
  214. package/assets/ts/components/rankings/rankings.component.ts +4 -0
  215. package/assets/ts/components/search/search.component.ts +0 -4
  216. package/assets/ts/components/slider/slider.component.ts +1 -4
  217. package/assets/ts/components/table/table.component.ts +2 -9
  218. package/assets/ts/components/table-ajax/table-ajax.component.ts +5 -13
  219. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +12 -30
  220. package/assets/ts/components/table-submit/table-submit.component.ts +2 -9
  221. package/assets/ts/components/tabs/tabs.component.ts +2 -4
  222. package/assets/ts/modules/inputs.ts +1 -7
  223. package/assets/ts/modules/password-indicator.ts +29 -0
  224. package/assets/ts/modules/table.ts +41 -3
  225. package/assets/ts/scripts.ts +2 -0
  226. package/dist/components.es.js +47 -49
  227. package/dist/components.umd.js +595 -207
  228. package/package.json +3 -3
  229. package/src/components/PasswordIndicator/PasswordIndicator.vue +23 -0
  230. package/assets/css/components/tabs.css +0 -1
  231. package/assets/css/components/tabs.css.map +0 -1
  232. package/assets/sass/components/tabs.scss +0 -254
  233. package/assets/ts/components/accordion/README.md +0 -31
  234. package/assets/ts/components/fileupload/README.md +0 -28
@@ -1,10 +1,9 @@
1
1
  /*!
2
- * iamKey v7.5.0
2
+ * iamKey v7.5.1--beta2
3
3
  * Copyright 2022-2025 iamproperty
4
- */function m(t){if(t.hasAttribute("data-type")&&t.getAttribute("data-type")=="toast"){let i=document.querySelector(".notification__holder");i||(i=document.createElement("div"),i.classList.add("notification__holder"),i.classList.add("container"),document.querySelector("body").appendChild(i)),t.closest(".notification__holder")||i.appendChild(t)}if(t.setAttribute("role","alert"),t.addEventListener("click",function(i){event&&event.target instanceof HTMLElement&&(event.target.closest("[data-dismiss-button]")||event.target.matches("[data-dismiss-button]"))&&(i.preventDefault(),f(t))},!1),t.hasAttribute("data-timeout")){const i=t.getAttribute("data-timeout"),o=new u(function(){f(t)},i);t.addEventListener("mouseenter",()=>{o.pause()}),t.addEventListener("mouseleave",()=>{o.resume()})}}function u(t,i){let o,n,e=i;this.pause=function(){window.clearTimeout(o),e-=new Date-n},this.resume=function(){n=new Date,window.clearTimeout(o),o=window.setTimeout(t,e)},this.resume()}const f=function(t){t.classList.add("d-none")},h=t=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:t})},b=(t,i,o)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:i}),o.forEach(n=>{t.addEventListener(n,function(e){const a={event:n,element:i,target:e.target};Object.keys(e.detail).forEach(s=>{const c=e.detail[s];a[s]=c}),window.dataLayer.push(a)})}),!0);h("iam-notification");class p extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const i=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"):`${i}/css/core.min.css`,n=document.createElement("template");n.innerHTML=`
4
+ */function m(i){if(i.hasAttribute("data-type")&&i.getAttribute("data-type")=="toast"){let t=document.querySelector(".notification__holder");t||(t=document.createElement("div"),t.classList.add("notification__holder"),t.classList.add("container"),document.querySelector("body").appendChild(t)),i.closest(".notification__holder")||t.appendChild(i)}if(i.setAttribute("role","alert"),i.addEventListener("click",function(t){event&&event.target instanceof HTMLElement&&(event.target.closest("[data-dismiss-button]")||event.target.matches("[data-dismiss-button]"))&&(t.preventDefault(),f(i))},!1),i.hasAttribute("data-timeout")){const t=i.getAttribute("data-timeout"),o=new u(function(){f(i)},t);i.addEventListener("mouseenter",()=>{o.pause()}),i.addEventListener("mouseleave",()=>{o.resume()})}}function u(i,t){let o,e,n=t;this.pause=function(){window.clearTimeout(o),n-=new Date-e},this.resume=function(){e=new Date,window.clearTimeout(o),o=window.setTimeout(i,n)},this.resume()}const f=function(i){i.classList.add("d-none")},h=i=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:i})},b=(i,t,o)=>(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementAdded",element:t}),o.forEach(e=>{i.addEventListener(e,function(n){const a={event:e,element:t,target:n.target};Object.keys(n.detail).forEach(s=>{const c=n.detail[s];a[s]=c}),window.dataLayer.push(a)})}),!0);h("iam-notification");class p extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
5
5
  <style>
6
- @import "${o}";
7
- :host,.iam-notification{display:block;padding:1.375rem 1.5rem 1.375rem 1rem !important;border-radius:0.5rem;box-shadow:2px 6px 12px rgba(0,0,0,.2);margin-bottom:1rem;font-size:0.9375rem;border:0.125rem solid var(--colour, var(--colour-info));outline:var(--contrast-outline-width, 0px) solid var(--colour-primary)}@container style(--body-theme: light){:host,.iam-notification{background:#e9f9fd}}@container style(--body-theme: dark){:host,.iam-notification{background:var(--colour-canvas-2)}}:host::slotted(strong),.iam-notification::slotted(strong){color:green}:host::slotted(i),:host i,.iam-notification::slotted(i),.iam-notification i{color:var(--colour, currentColor)}:host([data-type]),.iam-notification[data-type]{border:0.125rem solid rgba(0,0,0,0)}@container style(--body-theme: light){:host(.colour-warning),.iam-notification.colour-warning{background:#fff6e6}}@container style(--body-theme: dark){:host(.colour-warning),.iam-notification.colour-warning{background:var(--colour-canvas-2)}}@container style(--body-theme: light){:host(.colour-danger),.iam-notification.colour-danger{background:#fcebec}}@container style(--body-theme: dark){:host(.colour-danger),.iam-notification.colour-danger{background:var(--colour-canvas-2)}}@container style(--body-theme: light){:host(.colour-success),.iam-notification.colour-success{background:#f8fdf6}}@container style(--body-theme: dark){:host(.colour-success),.iam-notification.colour-success{background:var(--colour-canvas-2)}}:host(.bg-white),.iam-notification.bg-white{border:none;border-left:0.5rem solid var(--colour-info)}:host(.bg-white) ::slotted(i),:host(.bg-white) i,.iam-notification.bg-white ::slotted(i),.iam-notification.bg-white i{color:var(--colour-info)}:host([data-type=alert]),.iam-notification[data-type=alert]{border-radius:0;position:fixed;top:var(--nav-height);left:0;right:0;z-index:calc(var(--index-menu) - 1);margin-bottom:0}:host([data-type=toast]),.iam-notification[data-type=toast]{margin:auto;display:block;width:100%;max-width:22.5rem}:host([data-type=toast].notification--dismissable){max-width:28.375rem}.notification{container-type:inline-size;max-width:69.5rem;margin-inline:auto;display:flex;flex-wrap:nowrap}@media screen and (prefers-color-scheme: light){.notification{color:var(--colour-heading)}}.notification .notification__icon{margin-inline-end:1rem;flex-grow:0}.notification .notification__icon ::slotted(i){font-size:1.125rem}.notification .notification__inner{display:flex;flex-wrap:wrap;flex-grow:1}@container (width > 23.4375em){.notification .notification__inner{flex-wrap:nowrap}}.notification .notification__text{flex-grow:1;flex-shrink:1;width:100%}.notification .notification__btns.empty{display:none}.notification .notification__btns{flex-grow:0;flex-shrink:0;--colour-underline: currentColor}.notification .notification__btns ::slotted(a),.notification .notification__btns ::slotted(button),.notification .notification__btns>*{margin:1rem 1rem 0 0 !important}@container (width > 23.4375em){.notification .notification__btns{display:flex;align-items:center;border-left:1px solid currentColor;margin-left:2rem}.notification .notification__btns ::slotted(a),.notification .notification__btns ::slotted(button),.notification .notification__btns>*{margin:0 0 0 2rem !important}}.notification .notification__dismiss:empty{display:none}.notification .notification__dismiss{flex-grow:0;padding-left:1rem}.notification .notification__dismiss button{text-indent:300%;overflow:hidden;border:none;height:1.125rem;width:1.125rem;background:rgba(0,0,0,0);display:inline-block;position:relative;color:inherit}.notification .notification__dismiss button:after{content:"";top:0;left:0;position:absolute;display:block;height:1.125rem;width:1.125rem;z-index:var(--index-focus);background:currentColor;mask-image:var(--icon-close);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-close);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%}@container (width > 23.4375em){.notification .notification__dismiss{padding-left:2rem;display:flex;align-items:center}}/*# sourceMappingURL=assets/css/components/notification.css.map */
6
+ :host,.iam-notification{display:block;padding:1.375rem 1.5rem 1.375rem 1rem !important;border-radius:0.5rem;box-shadow:2px 6px 12px rgba(0,0,0,.2);margin-bottom:1rem;font-size:0.9375rem;border:0.125rem solid var(--colour, var(--colour-info));outline:var(--contrast-outline-width, 0px) solid var(--colour-primary)}@container style(--body-theme: light){:host,.iam-notification{background:#e9f9fd}}@container style(--body-theme: dark){:host,.iam-notification{background:var(--colour-canvas-2)}}:host ::slotted(i),:host i,.iam-notification ::slotted(i),.iam-notification i{color:var(--colour, currentColor)}:host([data-type]),.iam-notification[data-type]{border:0.125rem solid rgba(0,0,0,0)}@container style(--body-theme: light){:host(.colour-warning),.iam-notification.colour-warning{background:#fff6e6}}@container style(--body-theme: dark){:host(.colour-warning),.iam-notification.colour-warning{background:var(--colour-canvas-2)}}@container style(--body-theme: light){:host(.colour-danger),.iam-notification.colour-danger{background:#fcebec}}@container style(--body-theme: dark){:host(.colour-danger),.iam-notification.colour-danger{background:var(--colour-canvas-2)}}@container style(--body-theme: light){:host(.colour-success),.iam-notification.colour-success{background:#f8fdf6}}@container style(--body-theme: dark){:host(.colour-success),.iam-notification.colour-success{background:var(--colour-canvas-2)}}:host(.bg-white),.iam-notification.bg-white{border:none;border-left:0.5rem solid var(--colour-info)}:host(.bg-white) ::slotted(i),:host(.bg-white) i,.iam-notification.bg-white ::slotted(i),.iam-notification.bg-white i{color:var(--colour-info)}:host(.bg-danger) .notification{color:var(--colour-white)}:host([data-type=alert]),.iam-notification[data-type=alert]{border-radius:0;position:fixed;top:var(--nav-height);left:0;right:0;z-index:calc(var(--index-menu) - 1);margin-bottom:0}:host([data-type=toast]),.iam-notification[data-type=toast]{margin:auto;display:block;width:100%;max-width:22.5rem}:host([data-type=toast].notification--dismissable){max-width:28.375rem}.notification{container-type:inline-size;max-width:69.5rem;margin-inline:auto;display:flex;flex-wrap:nowrap}@media screen and (prefers-color-scheme: light){.notification{color:var(--colour-heading)}}.notification .notification__icon{margin-inline-end:1rem;flex-grow:0}.notification .notification__icon ::slotted(i){font-size:1.125rem}.notification .notification__inner{display:flex;flex-wrap:wrap;flex-grow:1}@container (width > 23.4375em){.notification .notification__inner{flex-wrap:nowrap}}.notification .notification__text{flex-grow:1;flex-shrink:1;width:100%}.notification .notification__btns.empty{display:none}.notification .notification__btns{flex-grow:0;flex-shrink:0;--colour-underline: currentColor}.notification .notification__btns ::slotted(a),.notification .notification__btns ::slotted(button),.notification .notification__btns>*{margin:1rem 1rem 0 0 !important}@container (width > 23.4375em){.notification .notification__btns{display:flex;align-items:center;border-left:1px solid currentColor;margin-left:2rem}.notification .notification__btns ::slotted(a),.notification .notification__btns ::slotted(button),.notification .notification__btns>*{margin:0 0 0 2rem !important}}.notification .notification__dismiss:empty{display:none}.notification .notification__dismiss{flex-grow:0;padding-left:1rem}.notification .notification__dismiss button{text-indent:300%;overflow:hidden;border:none;height:1.125rem;width:1.125rem;background:rgba(0,0,0,0);display:inline-block;position:relative;color:inherit}.notification .notification__dismiss button:after{content:"";top:0;left:0;position:absolute;display:block;height:1.125rem;width:1.125rem;z-index:var(--index-focus);background:currentColor;mask-image:var(--icon-close);mask-size:100%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon-close);-webkit-mask-size:100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%}@container (width > 23.4375em){.notification .notification__dismiss{padding-left:2rem;display:flex;align-items:center}}/*# sourceMappingURL=assets/css/components/notification.css.map */
8
7
 
9
8
  ${this.hasAttribute("data-css")?`${this.getAttribute("data-css")}`:""}
10
9
  </style>
@@ -14,6 +13,7 @@
14
13
  <div class="notification__inner"><div class="notification__text"><slot></slot></div><div class="notification__btns"><slot name="btns"></slot></div></div>
15
14
  <div class="notification__dismiss"></div>
16
15
  </div>
17
- `,this.shadowRoot.appendChild(n.content.cloneNode(!0)),document.getElementById("notificationHolder")||document.head.insertAdjacentHTML("beforeend",`<style id="notificationHolder">.container.notification__holder{position:fixed;top:var(--nav-height);left:50%;transform:translate(-50%, 0);bottom:0;z-index:999999;pointer-events:none;padding-top:1rem;padding-bottom:1rem;display:flex;margin:0;width:100%;flex-wrap:wrap;align-content:flex-start;flex-direction:column;align-content:flex-end;align-items:flex-end}.container.notification__holder :is(.iam-notification,iam-notification){pointer-events:all;margin:.5rem 0 .5rem 0}.container.notification__holder.bottom{flex-direction:column-reverse}.container.notification__holder.left{align-content:flex-start;align-items:flex-start}.container.notification__holder.middle{align-content:space-around;align-items:center}/*# sourceMappingURL=assets/css/components/notification.global.css.map */
18
- </style>`)}connectedCallback(){var i,o,n,e,a;const s=this,c=this.hasAttribute("data-type")?"white":"info",d=this.hasAttribute("data-status")?this.getAttribute("data-status"):c;if(this.hasAttribute("data-type")?this.classList.add(`bg-${d}`):this.classList.add(`colour-${d}`),!this.querySelector("i"))switch(d){case"danger":this.insertAdjacentHTML("beforeend",'<i class="fa-solid fa-circle-exclamation" aria-hidden="true" slot="icon"></i>');break;case"warning":this.insertAdjacentHTML("beforeend",'<i class="fa-solid fa-triangle-exclamation" aria-hidden="true" slot="icon"></i>');break;case"success":this.insertAdjacentHTML("beforeend",'<i class="fa-solid fa-check-circle" aria-hidden="true" slot="icon"></i>');break;default:this.insertAdjacentHTML("beforeend",'<i class="fa-solid fa-circle-info" aria-hidden="true" slot="icon"></i>')}const l=this.querySelectorAll("a,button");Array.from(l).forEach(r=>{r.setAttribute("slot","btns"),r.classList.add("link")}),(l.length||this.hasAttribute("data-dismiss"))&&this.classList.add("notification--dismissable"),l.length?(e=(n=this.shadowRoot)===null||n===void 0?void 0:n.querySelector(".notification__btns"))===null||e===void 0||e.classList.remove("empty"):(o=(i=this.shadowRoot)===null||i===void 0?void 0:i.querySelector(".notification__btns"))===null||o===void 0||o.classList.add("empty"),this.hasAttribute("data-dismiss")&&((a=this.shadowRoot.querySelector(".notification__dismiss"))===null||a===void 0||(a.innerHTML='<button data-dismiss-button part="dismiss-btn">Dismiss</button>'),this.shadowRoot.querySelector(".notification__dismiss [data-dismiss-button]").addEventListener("click",function(){f(s);const r=new CustomEvent("dismiss",{detail:{class:this.classList}});this.dispatchEvent(r)},!1)),m(this),b(this,"iam-notification",["dismiss"])}}export{p as default};
16
+
17
+ `,this.shadowRoot.appendChild(t.content.cloneNode(!0)),document.getElementById("notificationHolder")||document.head.insertAdjacentHTML("beforeend",`<style id="notificationHolder">.container.notification__holder{position:fixed;top:var(--nav-height);left:50%;transform:translate(-50%, 0);bottom:0;z-index:999999;pointer-events:none;padding-top:1rem;padding-bottom:1rem;display:flex;margin:0;width:100%;flex-wrap:wrap;align-content:flex-start;flex-direction:column;align-content:flex-end;align-items:flex-end}.container.notification__holder :is(.iam-notification,iam-notification){pointer-events:all;margin:.5rem 0 .5rem 0}.container.notification__holder.bottom{flex-direction:column-reverse}.container.notification__holder.left{align-content:flex-start;align-items:flex-start}.container.notification__holder.middle{align-content:space-around;align-items:center}/*# sourceMappingURL=assets/css/components/notification.global.css.map */
18
+ </style>`)}connectedCallback(){var t,o,e,n,a;const s=this,c=this.hasAttribute("data-type")?"white":"info",d=this.hasAttribute("data-status")?this.getAttribute("data-status"):c;if(this.hasAttribute("data-type")?this.classList.add(`bg-${d}`):this.classList.add(`colour-${d}`),!this.querySelector("i"))switch(d){case"danger":this.insertAdjacentHTML("beforeend",'<i class="fa-solid fa-circle-exclamation" aria-hidden="true" slot="icon"></i>');break;case"warning":this.insertAdjacentHTML("beforeend",'<i class="fa-solid fa-triangle-exclamation" aria-hidden="true" slot="icon"></i>');break;case"success":this.insertAdjacentHTML("beforeend",'<i class="fa-solid fa-check-circle" aria-hidden="true" slot="icon"></i>');break;default:this.insertAdjacentHTML("beforeend",'<i class="fa-solid fa-circle-info" aria-hidden="true" slot="icon"></i>')}const l=this.querySelectorAll("a,button");Array.from(l).forEach(r=>{r.setAttribute("slot","btns"),r.classList.add("link")}),(l.length||this.hasAttribute("data-dismiss"))&&this.classList.add("notification--dismissable"),l.length?(n=(e=this.shadowRoot)===null||e===void 0?void 0:e.querySelector(".notification__btns"))===null||n===void 0||n.classList.remove("empty"):(o=(t=this.shadowRoot)===null||t===void 0?void 0:t.querySelector(".notification__btns"))===null||o===void 0||o.classList.add("empty"),this.hasAttribute("data-dismiss")&&((a=this.shadowRoot.querySelector(".notification__dismiss"))===null||a===void 0||(a.innerHTML='<button data-dismiss-button part="dismiss-btn">Dismiss</button>'),this.shadowRoot.querySelector(".notification__dismiss [data-dismiss-button]").addEventListener("click",function(){f(s);const r=new CustomEvent("dismiss",{detail:{class:this.classList}});this.dispatchEvent(r)},!1)),m(this),b(this,"iam-notification",["dismiss"])}}export{p as default};
19
19
  //# sourceMappingURL=notification.component.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification.component.min.js","sources":["../../modules/notification.js","../_global.js","notification.component.js"],"sourcesContent":["function setupNotification(element) {\n // Add toast to notification holder\n if (element.hasAttribute('data-type') && element.getAttribute('data-type') == 'toast') {\n let holder = document.querySelector('.notification__holder');\n if (!holder) {\n holder = document.createElement('div');\n holder.classList.add('notification__holder');\n holder.classList.add('container');\n document.querySelector('body').appendChild(holder);\n }\n if (!element.closest('.notification__holder'))\n holder.appendChild(element);\n }\n element.setAttribute('role', 'alert');\n // Create a dissmissable button\n element.addEventListener('click', function (e) {\n if (event &&\n event.target instanceof HTMLElement &&\n (event.target.closest('[data-dismiss-button]') || event.target.matches('[data-dismiss-button]'))) {\n e.preventDefault();\n closeNotification(element);\n }\n }, false);\n // Self disappearing alert\n if (element.hasAttribute('data-timeout')) {\n const timeOut = element.getAttribute('data-timeout');\n const timer = new Timer(function () {\n closeNotification(element);\n }, timeOut);\n element.addEventListener('mouseenter', () => {\n timer.pause();\n });\n element.addEventListener('mouseleave', () => {\n timer.resume();\n });\n }\n}\nfunction Timer(callback, delay) {\n let timerId, start, remaining = delay;\n this.pause = function () {\n window.clearTimeout(timerId);\n remaining -= new Date() - start;\n };\n this.resume = function () {\n start = new Date();\n window.clearTimeout(timerId);\n timerId = window.setTimeout(callback, remaining);\n };\n this.resume();\n}\nexport const closeNotification = function (element) {\n element.classList.add('d-none');\n};\nexport default setupNotification;\n","export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import setupNotification, { closeNotification } from '../../modules/notification.js';\nimport { trackComponent, trackComponentRegistered } from '../_global.js';\ntrackComponentRegistered('iam-notification');\nclass iamNotification 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/notification.css\";`;\n const loadExtraCSS = `@import \"${assetLocation}/css/components/notification.global.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n @import \"${coreCSS}\";\n ${loadCSS}\n ${this.hasAttribute('data-css') ? `${this.getAttribute('data-css')}` : ``}\n </style>\n\n <div class=\"notification\">\n <div class=\"notification__icon\"><slot name=\"icon\"></slot></div>\n <div class=\"notification__inner\"><div class=\"notification__text\"><slot></slot></div><div class=\"notification__btns\"><slot name=\"btns\"></slot></div></div>\n <div class=\"notification__dismiss\"></div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n // insert extra CSS\n if (!document.getElementById('notificationHolder'))\n document.head.insertAdjacentHTML('beforeend', `<style id=\"notificationHolder\">${loadExtraCSS}</style>`);\n }\n connectedCallback() {\n var _a, _b, _c, _d, _e;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const wrapper = this;\n const defaultStatusBG = this.hasAttribute('data-type') ? 'white' : 'info';\n const statusBG = this.hasAttribute('data-status') ? this.getAttribute('data-status') : defaultStatusBG;\n if (this.hasAttribute('data-type'))\n this.classList.add(`bg-${statusBG}`);\n else {\n this.classList.add(`colour-${statusBG}`);\n }\n if (!this.querySelector('i')) {\n switch (statusBG) {\n case 'danger':\n this.insertAdjacentHTML('beforeend', '<i class=\"fa-solid fa-circle-exclamation\" aria-hidden=\"true\" slot=\"icon\"></i>');\n break;\n case 'warning':\n this.insertAdjacentHTML('beforeend', '<i class=\"fa-solid fa-triangle-exclamation\" aria-hidden=\"true\" slot=\"icon\"></i>');\n break;\n case 'success':\n this.insertAdjacentHTML('beforeend', '<i class=\"fa-solid fa-check-circle\" aria-hidden=\"true\" slot=\"icon\"></i>');\n break;\n default:\n this.insertAdjacentHTML('beforeend', '<i class=\"fa-solid fa-circle-info\" aria-hidden=\"true\" slot=\"icon\"></i>');\n }\n }\n const buttons = this.querySelectorAll('a,button');\n Array.from(buttons).forEach((button) => {\n button.setAttribute('slot', 'btns');\n button.classList.add('link');\n });\n if (buttons.length || this.hasAttribute('data-dismiss')) {\n this.classList.add('notification--dismissable');\n }\n if (!buttons.length) {\n (_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.notification__btns')) === null || _b === void 0 ? void 0 : _b.classList.add('empty');\n }\n else {\n (_d = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.notification__btns')) === null || _d === void 0 ? void 0 : _d.classList.remove('empty');\n }\n if (this.hasAttribute('data-dismiss')) {\n (_e = this.shadowRoot.querySelector('.notification__dismiss')) === null || _e === void 0 ? void 0 : _e.innerHTML =\n `<button data-dismiss-button part=\"dismiss-btn\">Dismiss</button>`;\n this.shadowRoot.querySelector('.notification__dismiss [data-dismiss-button]').addEventListener('click', function () {\n closeNotification(wrapper);\n const customEvent = new CustomEvent('dismiss', {\n detail: {\n class: this.classList,\n },\n });\n this.dispatchEvent(customEvent);\n }, false);\n }\n setupNotification(this);\n trackComponent(this, 'iam-notification', ['dismiss']);\n }\n}\nexport default iamNotification;\n"],"names":["setupNotification","element","holder","e","closeNotification","timeOut","timer","Timer","callback","delay","timerId","start","remaining","trackComponentRegistered","componentName","trackComponent","component","trackEvents","eventName","event","eventDetails","eventKey","eventDetail","iamNotification","assetLocation","coreCSS","template","_a","_b","_c","_d","_e","wrapper","defaultStatusBG","statusBG","buttons","button","customEvent"],"mappings":"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"}
1
+ {"version":3,"file":"notification.component.min.js","sources":["../../modules/notification.js","../_global.js","notification.component.js"],"sourcesContent":["function setupNotification(element) {\n // Add toast to notification holder\n if (element.hasAttribute('data-type') && element.getAttribute('data-type') == 'toast') {\n let holder = document.querySelector('.notification__holder');\n if (!holder) {\n holder = document.createElement('div');\n holder.classList.add('notification__holder');\n holder.classList.add('container');\n document.querySelector('body').appendChild(holder);\n }\n if (!element.closest('.notification__holder'))\n holder.appendChild(element);\n }\n element.setAttribute('role', 'alert');\n // Create a dissmissable button\n element.addEventListener('click', function (e) {\n if (event &&\n event.target instanceof HTMLElement &&\n (event.target.closest('[data-dismiss-button]') || event.target.matches('[data-dismiss-button]'))) {\n e.preventDefault();\n closeNotification(element);\n }\n }, false);\n // Self disappearing alert\n if (element.hasAttribute('data-timeout')) {\n const timeOut = element.getAttribute('data-timeout');\n const timer = new Timer(function () {\n closeNotification(element);\n }, timeOut);\n element.addEventListener('mouseenter', () => {\n timer.pause();\n });\n element.addEventListener('mouseleave', () => {\n timer.resume();\n });\n }\n}\nfunction Timer(callback, delay) {\n let timerId, start, remaining = delay;\n this.pause = function () {\n window.clearTimeout(timerId);\n remaining -= new Date() - start;\n };\n this.resume = function () {\n start = new Date();\n window.clearTimeout(timerId);\n timerId = window.setTimeout(callback, remaining);\n };\n this.resume();\n}\nexport const closeNotification = function (element) {\n element.classList.add('d-none');\n};\nexport default setupNotification;\n","export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","import setupNotification, { closeNotification } from '../../modules/notification.js';\nimport { trackComponent, trackComponentRegistered } from '../_global.js';\ntrackComponentRegistered('iam-notification');\nclass iamNotification 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/notification.css\";`;\n const loadExtraCSS = `@import \"${assetLocation}/css/components/notification.global.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\n ${loadCSS}\n ${this.hasAttribute('data-css') ? `${this.getAttribute('data-css')}` : ``}\n </style>\n\n <div class=\"notification\">\n <div class=\"notification__icon\"><slot name=\"icon\"></slot></div>\n <div class=\"notification__inner\"><div class=\"notification__text\"><slot></slot></div><div class=\"notification__btns\"><slot name=\"btns\"></slot></div></div>\n <div class=\"notification__dismiss\"></div>\n </div>\n \n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n // insert extra CSS\n if (!document.getElementById('notificationHolder'))\n document.head.insertAdjacentHTML('beforeend', `<style id=\"notificationHolder\">${loadExtraCSS}</style>`);\n }\n connectedCallback() {\n var _a, _b, _c, _d, _e;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const wrapper = this;\n const defaultStatusBG = this.hasAttribute('data-type') ? 'white' : 'info';\n const statusBG = this.hasAttribute('data-status') ? this.getAttribute('data-status') : defaultStatusBG;\n if (this.hasAttribute('data-type'))\n this.classList.add(`bg-${statusBG}`);\n else {\n this.classList.add(`colour-${statusBG}`);\n }\n if (!this.querySelector('i')) {\n switch (statusBG) {\n case 'danger':\n this.insertAdjacentHTML('beforeend', '<i class=\"fa-solid fa-circle-exclamation\" aria-hidden=\"true\" slot=\"icon\"></i>');\n break;\n case 'warning':\n this.insertAdjacentHTML('beforeend', '<i class=\"fa-solid fa-triangle-exclamation\" aria-hidden=\"true\" slot=\"icon\"></i>');\n break;\n case 'success':\n this.insertAdjacentHTML('beforeend', '<i class=\"fa-solid fa-check-circle\" aria-hidden=\"true\" slot=\"icon\"></i>');\n break;\n default:\n this.insertAdjacentHTML('beforeend', '<i class=\"fa-solid fa-circle-info\" aria-hidden=\"true\" slot=\"icon\"></i>');\n }\n }\n const buttons = this.querySelectorAll('a,button');\n Array.from(buttons).forEach((button) => {\n button.setAttribute('slot', 'btns');\n button.classList.add('link');\n });\n if (buttons.length || this.hasAttribute('data-dismiss')) {\n this.classList.add('notification--dismissable');\n }\n if (!buttons.length) {\n (_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.notification__btns')) === null || _b === void 0 ? void 0 : _b.classList.add('empty');\n }\n else {\n (_d = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('.notification__btns')) === null || _d === void 0 ? void 0 : _d.classList.remove('empty');\n }\n if (this.hasAttribute('data-dismiss')) {\n (_e = this.shadowRoot.querySelector('.notification__dismiss')) === null || _e === void 0 ? void 0 : _e.innerHTML =\n `<button data-dismiss-button part=\"dismiss-btn\">Dismiss</button>`;\n this.shadowRoot.querySelector('.notification__dismiss [data-dismiss-button]').addEventListener('click', function () {\n closeNotification(wrapper);\n const customEvent = new CustomEvent('dismiss', {\n detail: {\n class: this.classList,\n },\n });\n this.dispatchEvent(customEvent);\n }, false);\n }\n setupNotification(this);\n trackComponent(this, 'iam-notification', ['dismiss']);\n }\n}\nexport default iamNotification;\n"],"names":["setupNotification","element","holder","e","closeNotification","timeOut","timer","Timer","callback","delay","timerId","start","remaining","trackComponentRegistered","componentName","trackComponent","component","trackEvents","eventName","event","eventDetails","eventKey","eventDetail","iamNotification","template","_a","_b","_c","_d","_e","wrapper","defaultStatusBG","statusBG","buttons","button","customEvent"],"mappings":"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"}
@@ -5,14 +5,10 @@ class iamPagination extends HTMLElement {
5
5
  const assetLocation = document.body.hasAttribute('data-assets-location')
6
6
  ? document.body.getAttribute('data-assets-location')
7
7
  : '/assets';
8
- const coreCSS = document.body.hasAttribute('data-core-css')
9
- ? document.body.getAttribute('data-core-css')
10
- : `${assetLocation}/css/core.min.css`;
11
8
  const loadCSS = `@import "${assetLocation}/css/components/pagination.css";`;
12
9
  const template = document.createElement('template');
13
10
  template.innerHTML = `
14
11
  <style>
15
- @import "${coreCSS}";
16
12
  ${loadCSS}
17
13
 
18
14
  ${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
@@ -76,12 +72,11 @@ class iamPagination extends HTMLElement {
76
72
  });
77
73
  // Next and previous buttons will simply trigger and on change on the select which in turn will dispatch an event
78
74
  next.addEventListener('click', () => {
79
- select.value = parseInt(select.value) + 1;
80
- select.dispatchEvent(new Event('change'));
75
+ console.log(parseInt(this.getAttribute('data-page')));
76
+ this.setAttribute('data-page', parseInt(this.getAttribute('data-page')) + 1);
81
77
  });
82
78
  prev.addEventListener('click', () => {
83
- select.value = parseInt(select.value) - 1;
84
- select.dispatchEvent(new Event('change'));
79
+ this.setAttribute('data-page', parseInt(this.getAttribute('data-page')) - 1);
85
80
  });
86
81
  // Update how many is shown
87
82
  perPage.addEventListener('change', (event) => {
@@ -1,10 +1,9 @@
1
1
  /*!
2
- * iamKey v7.5.0
2
+ * iamKey v7.5.1--beta2
3
3
  * Copyright 2022-2025 iamproperty
4
- */class v extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const o=document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets",t=document.body.hasAttribute("data-core-css")?document.body.getAttribute("data-core-css"):`${o}/css/core.min.css`,e=document.createElement("template");e.innerHTML=`
4
+ */class v extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const a=document.createElement("template");a.innerHTML=`
5
5
  <style>
6
- @import "${t}";
7
- .m-0{margin:0 !important}.mx-0{margin-left:0 !important;margin-right:0 !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.mt-0{margin-top:0 !important}.me-0{margin-right:0 !important}.mb-0{margin-bottom:0 !important}.ms-0{margin-left:0 !important}.m-1{margin:0.5rem !important}.mx-1{margin-left:0.5rem !important;margin-right:0.5rem !important}.my-1{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.mt-1{margin-top:0.5rem !important}.me-1{margin-right:0.5rem !important}.mb-1{margin-bottom:0.5rem !important}.ms-1{margin-left:0.5rem !important}.m-2{margin:1rem !important}.mx-2{margin-left:1rem !important;margin-right:1rem !important}.my-2{margin-top:1rem !important;margin-bottom:1rem !important}.mt-2{margin-top:1rem !important}.me-2{margin-right:1rem !important}.mb-2{margin-bottom:1rem !important}.ms-2{margin-left:1rem !important}.m-3{margin:1.5rem !important}.mx-3{margin-left:1.5rem !important;margin-right:1.5rem !important}.my-3{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.mt-3{margin-top:1.5rem !important}.me-3{margin-right:1.5rem !important}.mb-3{margin-bottom:1.5rem !important}.ms-3{margin-left:1.5rem !important}.m-4{margin:2rem !important}.mx-4{margin-left:2rem !important;margin-right:2rem !important}.my-4{margin-top:2rem !important;margin-bottom:2rem !important}.mt-4{margin-top:2rem !important}.me-4{margin-right:2rem !important}.mb-4{margin-bottom:2rem !important}.ms-4{margin-left:2rem !important}.m-5{margin:3rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mt-5{margin-top:3rem !important}.me-5{margin-right:3rem !important}.mb-5{margin-bottom:3rem !important}.ms-5{margin-left:3rem !important}.m-auto{margin:auto !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-auto{margin-top:auto !important}.me-auto{margin-right:auto !important}.mb-auto{margin-bottom:auto !important}.ms-auto{margin-left:auto !important}:host{container-type:inline-size;display:block}.pagination{display:block}@container (width > 23.4375em){.pagination{display:flex;align-items:center;justify-content:space-between !important;padding-top:2rem}}.pagination>div{display:flex;align-items:center}.pagination:has(.prev:disabled):has(.next:disabled){display:none;padding:0}.pagination div:is(.page-jump,.per-page){border:1px solid var(--colour-light);height:3.25rem;display:none;align-items:center;padding-inline:1rem}.pagination div:is(.page-jump,.per-page) .select--minimal{height:calc(3.25rem - 1em);line-height:calc(3.25rem - 1em);margin-left:-1rem;font-weight:bold}.pagination div:is(.page-jump,.per-page) div:has(>select){margin-bottom:0}.pagination div:is(.page-jump,.per-page) div:has(>select):after{top:50%}.page-jump{border-right:none !important}.total-pages{white-space:nowrap}:host([data-page-jump][data-minimal]) .page-jump{display:flex !important}@container (width > 23.4375em){:host([data-page-jump]) .page-jump{display:flex !important}}@container (width > 23.4375em){:host([data-per-page]:not([data-page-jump][data-item-count])) .per-page{display:flex !important}}@container (width > 48em){:host([data-per-page][data-page-jump][data-item-count]) .per-page{display:flex !important}}.pagination>.item-count{display:block;text-align:center;margin-bottom:1rem;margin-inline:auto}@container (width > 23.4375em){.pagination>.item-count{display:none}:host([data-item-count]) .pagination>.item-count{display:flex !important;margin:0}}*:where(.prev,.next){border:1px solid var(--colour-light);line-height:3.25rem;height:3.25rem;margin:0;display:none;background:none;padding-inline:1rem;color:var(--colour-body)}@container (width > 23.4375em){*:where(.prev,.next){display:inline-block}}*:where(.prev,.next):after{margin-left:.5em;font-size:.8rem;content:"\uF054";font-family:"Font Awesome 6 Pro";color:var(--colour-info)}*:where(.prev,.next):is(:hover,:focus):not(:disabled){background-color:var(--pagination-link-color);color:var(--colour-hover)}*:where(.prev,.next):is(:active):not(:disabled){background-color:var(--pagination-link-color);color:var(--colour-active)}*:where(.prev,.next):disabled:after,*:where(.prev,.next):disabled:before{color:inherit !important}:host([data-minimal]) .pagination{justify-content:flex-end}@container (width > 23.4375em){:host([data-minimal]) .pagination{justify-content:space-between}}:host([data-minimal]) *:where(.prev,.next){display:inline-block !important}.prev{border-right:none}.prev:after{display:none}.prev:before{margin-right:.5em;font-size:.8rem;content:"\uF053";font-family:"Font Awesome 6 Pro";color:var(--colour-info)}.mobile-controls{display:block}:host([data-minimal]) .pagination{padding-top:1.5rem;display:flex;align-items:center;justify-content:flex-end}:host([data-minimal]) *:is(.mobile-controls,.item-count){display:none}@container (width > 23.4375em){.mobile-controls{display:none !important}:host([data-item-count]) .item-count{display:flex !important}}.fa-spin{display:none !important;font-size:3rem;color:var(--colour-info)}:host([data-loading]) .mobile-controls{padding-top:2rem}:host([data-loading]) .item-count,:host([data-loading]) .mobile-controls>*:not(.fa-spin){display:none !important}:host([data-loading]) .fa-spin{display:block !important;margin:auto}/*# sourceMappingURL=assets/css/components/pagination.css.map */
6
+ @layer elements{label{display:inline-block}input,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}select{text-transform:none}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}:is(label:not(.tag),.label){font-size:1.125rem;line-height:1.3125rem;margin-bottom:0.5rem;font-weight:normal;color:var(--colour-heading);display:block}:is(label:not(.tag),.label):has(+input:not(:disabled):not([readonly]):not(:required):not([type=radio]):not([type=checkbox]):not([type=file])):after{content:" (Optional)"}:is(label:not(.tag),.label):has(input:not(:disabled):not([readonly]):not(:required):not([type=radio]):not([type=checkbox]):not([type=file])) .optional-text:before{content:" (Optional)"}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output,select:not(.select--minimal,.btn)){display:block;width:100%;display:block;width:100%;padding:var(--input-padding-block, 0.75rem) var(--input-padding-inline, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-heading);background-color:var(--colour-canvas-2);background-clip:padding-box;border:2px solid var(--colour-primary);appearance:none;border-radius:0.5rem;margin-bottom:1.5rem;min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px);max-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px)}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output,select:not(.select--minimal,.btn)):is(textarea){max-height:100%}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output,select:not(.select--minimal,.btn)):is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output,select:not(.select--minimal,.btn)):is(:focus,.focus):not(:disabled):not(:invalid){box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output,select:not(.select--minimal,.btn))::-webkit-date-and-time-value{height:1.5em}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output,select:not(.select--minimal,.btn)):disabled{background-color:#ccd6d8;opacity:.4;cursor:not-allowed}:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])){max-width:var(--input-max-width, 50rem)}textarea{--textarea-height-scale: 3;min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)*var(--textarea-height-scale) + 4px) !important}fieldset{width:100%}legend{font-family:var(--font-heading);font-style:normal;font-weight:var(--heading-weight);line-height:2rem;color:var(--colour-heading);margin:0;clear:both;display:block;float:none;font-size:round(var(--body-fs, 1rem)*pow(var(--type-scale),2),.25rem);line-height:round(up,1em*var(--type-scale),.25rem);padding-bottom:.5rem;max-width:var(--content-max-width);min-width:100%}div:has(>label:first-child):has(>input){position:relative;max-width:var(--input-max-width, 50rem);margin-bottom:1.5rem}div:has(>label:first-child):has(>input) input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),div:has(>label:first-child):has(>input) output,div:has(>label:first-child):has(>input) .prefix,div:has(>label:first-child):has(>input) .suffix{margin-bottom:0 !important}div:has(>label:first-child):has(>input){display:flex;flex-wrap:wrap;align-items:center}div:has(>label:first-child):has(>input)>*:not(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range])):not(output):not(.prefix):not(.suffix){flex-shrink:0;width:100%}div:has(>label:first-child):has(>input) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output){flex-shrink:1;flex-grow:1;width:0}div:has(>label:first-child):has(>input) input~*:not(output){order:5;margin-top:0.5rem}input[type=color]{width:3rem !important;flex-shrink:0 !important;flex-grow:0 !important;border-start-end-radius:0 !important;border-end-end-radius:0 !important;padding:0 !important;overflow:hidden;cursor:pointer !important}input[type=color]::-moz-color-swatch{border-radius:0;border:none}input[type=color]::-webkit-color-swatch{border-radius:0;border:none}label :is(div,span,fieldset):has(input[type=color]+output){display:flex}input[type=color]+output{border-left:none !important;border-end-start-radius:0 !important;border-start-start-radius:0 !important;margin:0 !important}output{margin-top:.5rem !important;margin-bottom:0 !important}div:has(>:is(.form-control-sm,.input--sm)){--input-fs: 0.875rem;--input-lh: 1rem;--input-padding-block: 0.625rem;--input-padding-inline: 0.875rem}div:has(>:is(.form-control-lg,.input--sm)){--input-fs: 1.5rem;--input-lh: 1.8125rem;--input-padding-block: 1.25rem;--input-padding-inline: 1.375rem}div:has(>label:first-child):has(>input):has(>:is(.form-control-inline,.input--inline)) label{flex-shrink:0;white-space:nowrap;width:fit-content !important;margin:0;margin-inline-end:1rem}*:has(>input[readonly]){position:relative;max-width:var(--input-max-width, 50rem)}*:has(>input[readonly]):after{font-family:"Font Awesome 6 Pro";font-weight:300;content:"\uF023";position:absolute;font-size:var(--input-lh, 1.25rem);height:var(--input-lh, 1.25rem);width:var(--input-lh, 1.25rem);bottom:calc(var(--input-padding-block, 0.75rem) + 2px);right:calc(var(--input-padding-block, 1rem) + 2px);text-align:center}:is(.prefix,.suffix){display:none;pointer-events:none}@supports selector(:has(*)){:is(.prefix,.suffix){display:inline-block;width:auto;padding:var(--input-padding-block, 0.75rem) var(--input-padding-block, 1rem);font-size:var(--input-fs, 1rem);line-height:var(--input-lh, 1.25rem);color:var(--colour-body);background-color:var(--colour-primary-theme);border:2px solid var(--colour-primary);color:var(--colour-white);margin-top:0 !important;margin-bottom:1rem;border-end-start-radius:0.5rem;border-start-start-radius:0.5rem;min-width:calc(2.75rem + 4px);overflow:hidden;white-space:nowrap;text-align:center;text-overflow:ellipsis;position:relative;min-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px);max-height:calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem) + 4px);flex-shrink:0}:is(.prefix,.suffix):after{display:inline-block;max-width:1.25rem}:is(.prefix,.suffix)[class*=fa-]{width:calc(2.75rem + 4px);padding-inline:0}:is(.prefix,.suffix) select{position:absolute;inset:0;opacity:0;cursor:pointer}:is(.prefix,.suffix) span{display:none}:is(.prefix,.suffix) select:has(option:nth-child(1):checked)~span:nth-of-type(1),:is(.prefix,.suffix) select:has(option:nth-child(2):checked)~span:nth-of-type(2),:is(.prefix,.suffix) select:has(option:nth-child(3):checked)~span:nth-of-type(3),:is(.prefix,.suffix) select:has(option:nth-child(4):checked)~span:nth-of-type(4),:is(.prefix,.suffix) select:has(option:nth-child(5):checked)~span:nth-of-type(5),:is(.prefix,.suffix) select:has(option:nth-child(6):checked)~span:nth-of-type(6),:is(.prefix,.suffix) select:has(option:nth-child(7):checked)~span:nth-of-type(7),:is(.prefix,.suffix) select:has(option:nth-child(8):checked)~span:nth-of-type(8),:is(.prefix,.suffix) select:has(option:nth-child(9):checked)~span:nth-of-type(9),:is(.prefix,.suffix) select:has(option:nth-child(10):checked)~span:nth-of-type(10){display:block}:is(.prefix,.suffix) select~span:after{content:" \uF078";font-family:"Font Awesome 6 Pro";font-size:.8em;display:inline-block;padding-left:1em}:is(.prefix,.suffix) select:focus-visible~span:after{content:"\uF077"}.prefix{border-right:none}.suffix{border-left:none;border-end-start-radius:0;border-start-start-radius:0;border-start-end-radius:0.5rem !important;border-end-end-radius:0.5rem !important;order:2}.prefix span{display:none}.prefix span small{font-size:.8em}.prefix~:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),textarea,output){border-end-start-radius:0 !important;border-start-start-radius:0 !important}.suffix~:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=date]):not([type=time]),textarea,output),:is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=date]):not([type=time]),textarea,output):has(~.suffix){order:1;border-start-end-radius:0 !important;border-end-end-radius:0 !important}:is(input):has(~iam-password-indicator){border-start-end-radius:0 !important;border-end-end-radius:0 !important}}.was-validated *:not(button):is(:invalid,.is-invalid,[aria-invalid]):not(.is-valid)+label,.was-validated label:has(*:not(button):is(:invalid,.is-invalid,[aria-invalid]):not(.is-valid)){--colour-check-border: var(--colour-danger);--colour-check-bg: #fcebec;border-color:var(--colour-danger)}.was-validated *:not(button):is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){border-color:var(--colour-danger) !important}.was-validated select:not(.btn):is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") right var(--input-padding-block, 0.75rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat,linear-gradient(to left, var(--colour-primary-theme), var(--colour-primary-theme) 100%) right top/calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.8rem) + var(--input-lh, 1.25rem)) no-repeat,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3c!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license %28Commercial License%29 Copyright 2023 Fonticons, Inc. --%3e%3cpath d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z' fill='%23dc3545'/%3e%3c/svg%3e") right var(--input-padding-block, 3.5rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat;padding-right:6rem !important}.was-validated input:is(:invalid,.is-invalid,[aria-invalid],:-internal-autofill-selected){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3c!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license %28Commercial License%29 Copyright 2023 Fonticons, Inc. --%3e%3cpath d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z' fill='%23dc3545'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--input-padding-inline, 1rem) center;background-size:var(--input-lh, 1.25rem) var(--input-lh, 1.25rem);padding-right:calc(var(--input-lh, 1.25rem) + var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem)) !important}.was-validated *:not(button):is(:valid,.is-valid):not(.is-invalid){border-color:var(--colour-complete)}.was-validated input:is(:valid,.is-valid):not(:is(:invalid,.is-invalid)){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3e%3c!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license %28Commercial License%29 Copyright 2023 Fonticons, Inc. --%3e%3cpath d='M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z' fill='%230f9d58' /%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--input-padding-inline, 1rem) center;background-size:var(--input-lh, 1.25rem) var(--input-lh, 1.25rem);padding-right:calc(var(--input-lh, 1.25rem) + var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem)) !important}.invalid-feedback{color:var(--colour-danger);margin-top:0.5rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3c!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license %28Commercial License%29 Copyright 2023 Fonticons, Inc. --%3e%3cpath d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z' fill='%23dc3545'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left top 1px;background-size:var(--input-fs, 1rem) var(--input-fs, 1rem);padding-left:calc(var(--input-fs, 1rem) + 0.5rem);display:none}iam-address-lookup:has([required]){--req-display: none}.was-validated :is(:invalid,.is-invalid)~.invalid-feedback{display:block}.was-validated iam-address-lookup:has([required]:invalid){--error-border: var(--colour-danger);--error-display: block}.pwd-checker{display:block;background-repeat:no-repeat !important;background-position:left center;background-size:1em 1em;padding-left:1.5rem !important}.pwd-checker.invalid-feedback{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3c!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license %28Commercial License%29 Copyright 2023 Fonticons, Inc. --%3e%3cpath d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z' fill='%23dc3545'/%3e%3c/svg%3e")}.pwd-checker:not(.invalid-feedback){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3e%3c!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license %28Commercial License%29 Copyright 2023 Fonticons, Inc. --%3e%3cpath d='M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z' fill='%230f9d58' /%3e%3c/svg%3e") !important}label:has(.pwd-checker.invalid-feedback):after{display:none !important}@supports selector(:has(*)){input:is([type=radio],[type=checkbox]){position:absolute;top:0;left:0;opacity:0;height:0;width:0;margin:0;pointer-events:none}:is(div,fieldset,label:not(.tag)):has(>input:is([type=radio],[type=checkbox])):not(:has(label input)){position:relative;margin-bottom:1.5rem}:is(div,fieldset,label:not(.tag)):has(>input[type=radio]){--border-radius: 50%;--outline-width: 0.5rem}:is(div,fieldset,label:not(.tag)):has(>input[type=checkbox]){--border-radius: 0.25rem;--outline-width: 0.25rem}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)){--tick-colour: transparent;color:var(--colour-heading);position:relative;font-size:1rem;line-height:1.25rem;padding-left:2.5rem;padding-top:0.625rem;padding-bottom:0.625rem;margin-bottom:1.5rem;margin-right:1.5rem;cursor:pointer}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):has(+span),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):has(+span){margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):has(+input),label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):has(+input){margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):last-child,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):last-child{margin-bottom:0}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)):before,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)):before{content:"";border:2px solid var(--colour-check-border, var(--colour-primary));background:var(--colour-check-bg, transparent);border-radius:var(--border-radius);height:var(--radio-size, 1.5rem);width:var(--radio-size, 1.5rem);display:inline-block;position:absolute;top:0.5rem;left:var(--outline-width)}input:is([type=radio],[type=checkbox])+label:not(:has(>iam-card)).btn:before,label:not(.tag):has(input:is([type=radio],[type=checkbox])):not(:has(>iam-card)).btn:before{opacity:0}input[type=radio]+label:not(:has(>iam-card)):after,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)):after{content:"" !important;background:var(--colour-info);border-radius:var(--border-radius);height:0.875rem;width:0.875rem;height:var(--radio-inner-size, 0.875rem);width:var(--radio-inner-size, 0.875rem);display:none;position:absolute;top:var(--radio-inner-top, 0.8125rem);left:var(--radio-inner-left, calc(0.3125rem + var(--outline-width)))}input[type=radio]+label:not(:has(>iam-card)).radio--tick:before,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)).radio--tick:before{content:"\uF00C";position:absolute;font-size:1.5em;line-height:1;color:var(--tick-colour);font-family:"Font Awesome 6 Pro";background:none !important;border:none !important;outline:none !important;left:.25rem}input[type=radio]+label:not(:has(>iam-card)).radio--tick:after,label:not(.tag):has(input[type=radio]):not(:has(>iam-card)).radio--tick:after{display:none}@media(forced-colors: active){input:is([type=radio],[type=checkbox]):not(:checked)+label.radio--tick:not(:has(>iam-card)):before,label:has(input:is([type=radio],[type=checkbox]):not(:checked)).radio--tick:not(:has(>iam-card)):before{display:none}}:is(div,fieldset):has(>:is(input[type=radio],input[type=checkbox]):nth-of-type(2)) label:not(.tag):not(:has(>iam-card)){margin-bottom:0rem}input:is([type=radio],[type=checkbox]):checked+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked){--tick-colour: var(--colour-info)}input:is([type=radio],[type=checkbox]):checked+label:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked):before{border-color:var(--colour-info)}input:is([type=radio],[type=checkbox]):checked+label:after,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked):after{display:inline-block}input:is([type=radio],[type=checkbox]):checked+label iam-card,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked) iam-card{--colour: var(--colour, var(--colour-info))}input[type=checkbox]:not([disabled]):checked+label:before,label:not(.tag):has(input[type=checkbox]:not([disabled]):checked):before{background:var(--colour-info) !important}input[type=checkbox]:checked+label:not(:has(>iam-card)):after,label:not(.tag):has(input[type=checkbox]:checked):after{content:"\uF00C";position:absolute;font-size:var(--checkbox-tick-size, 1em);line-height:1;color:var(--colour-primary-theme);font-family:"Font Awesome 6 Pro";font-weight:bold;height:var(--checkbox-inner-size, 1.5rem);width:var(--checkbox-inner-size, 1.5rem);line-height:1.625rem;background:none !important;border:none !important;outline:none !important;top:var(--checkbox-inner-top, 0.5rem);left:var(--checkbox-inner-left, var(--outline-width));text-align:center}input[type=checkbox]:indeterminate+label:before,label:not(.tag):has(input[type=checkbox]:indeterminate):before{background:var(--colour-info) !important;border-color:var(--colour-info) !important}input[type=checkbox]:indeterminate+label:after,label:not(.tag):has(input[type=checkbox]:indeterminate):after{content:"\uF068";position:absolute;font-size:var(--checkbox-tick-size, 1em);line-height:1;color:var(--colour-primary-theme);font-family:"Font Awesome 6 Pro";font-weight:bold;height:var(--checkbox-inner-size, 1.5rem);width:var(--checkbox-inner-size, 1.5rem);line-height:1.625rem;background:none !important;border:none !important;outline:none !important;top:var(--checkbox-inner-top, 0.5rem);left:var(--checkbox-inner-left, var(--outline-width));text-align:center}input:is([type=radio],[type=checkbox]):checked:is(:focus,:hover,.focus)+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):checked:is(:focus,:hover,.focus)){--tick-colour: var(--colour-info)}input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)+label,input:is([type=radio],[type=checkbox])+label.hover,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)){--tick-colour: var(--colour-muted)}input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)+label:before,input:is([type=radio],[type=checkbox])+label.hover:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:focus,:hover,.focus)):before{background:var(--colour-check-bg, var(--colour-light));outline:var(--outline-width) solid var(--colour-light)}input:is([type=radio],[type=checkbox]):is(:active,.active)+label,input:is([type=radio],[type=checkbox])+label.active,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:active,.active)){--tick-colour: var(--colour-light)}input:is([type=radio],[type=checkbox]):is(:active,.active)+label:before,input:is([type=radio],[type=checkbox])+label.active:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):is(:active,.active)):before{background:var(--colour-check-bg, #e0e0e0);outline:var(--outline-width) solid #e0e0e0}input:is([type=radio],[type=checkbox]):disabled+label,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled){opacity:.4;cursor:not-allowed}input:is([type=radio],[type=checkbox]):disabled+label>iam-card,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled)>iam-card{pointer-events:none}input:is([type=radio],[type=checkbox]):disabled+label:before,label:not(.tag):has(input:is([type=radio],[type=checkbox]):disabled):before{background-color:none !important;outline:none !important;border-color:var(--colour-primary) !important}input[type=radio][disabled]:checked+label:after,label:not(.tag):has(input[type=radio][disabled]:checked):after{background-color:var(--colour-primary) !important}input[type=checkbox][disabled]:checked+label:before,label:not(.tag):has(input[type=checkbox][disabled]:checked):before{background:#e0e0e0 !important;border-color:#e0e0e0 !important}}.conditional{display:none}input:checked+.conditional,input:checked+label+.conditional,label:has(:checked)+.conditional{display:block;clear:both}input:not([class*=conditional-input-]):nth-of-type(1):checked~.conditional-1,input:not([class*=conditional-input-]):nth-of-type(2):checked~.conditional-2,input:not([class*=conditional-input-]):nth-of-type(3):checked~.conditional-3,input:not([class*=conditional-input-]):nth-of-type(4):checked~.conditional-4,input:not([class*=conditional-input-]):nth-of-type(5):checked~.conditional-5,input.conditional-input-1:checked~.conditional-1,input.conditional-input-2:checked~.conditional-2,input.conditional-input-3:checked~.conditional-3,input.conditional-input-4:checked~.conditional-4,input.conditional-input-5:checked~.conditional-5,label:has(input.conditional-input-1:checked)~.conditional-1,label:has(input.conditional-input-2:checked)~.conditional-2,label:has(input.conditional-input-3:checked)~.conditional-3,label:has(input.conditional-input-4:checked)~.conditional-4,label:has(input.conditional-input-5:checked)~.conditional-5{display:block;clear:both}select[multiple]{border-radius:.35rem}select[multiple]::-webkit-scrollbar{width:.7rem}select[multiple]::-webkit-scrollbar *{background-color:rgba(0,0,0,0)}select[multiple]::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2);border-radius:.35rem}select:not(.select--minimal,.btn){background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") right var(--input-padding-block, 0.75rem) top var(--input-padding-block, 0.75rem)/var(--input-lh, 1.25rem) var(--input-lh, 1.25rem) no-repeat,linear-gradient(to left, var(--colour-primary-theme), var(--colour-primary-theme) 100%) right top/calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.75rem) + var(--input-lh, 1.25rem)) calc(var(--input-padding-block, 0.75rem) + var(--input-padding-block, 0.8rem) + var(--input-lh, 1.25rem)) no-repeat;padding-right:calc(var(--input-padding-inline, 1rem) + var(--input-padding-inline, 1rem) + var(--input-lh, 1.25rem)) !important}select:not(.select--minimal,.btn) option{font-size:1.2em}select:not(.select--minimal,.btn){box-shadow:inset -2px 0px 0px var(--colour-primary-theme);max-width:var(--select-max-width, 50rem)}select:not(.select--minimal,.btn)[multiple],select:not(.select--minimal,.btn)[size]:not([size="1"]){background:none;max-height:none !important}select:not(.select--minimal,.btn):disabled{background-color:gray;border-color:#000}select:not(.select--minimal,.btn):-moz-focusring{color:rgba(0,0,0,0);text-shadow:0 0 0 inherit}div:has(>select){margin-bottom:1.5rem}div:has(>select) select{margin-bottom:0 !important}.select--minimal{all:unset;font-size:inherit;line-height:inherit;background:none;border:2px solid rgba(0,0,0,0);display:inline-block;padding:.4em calc(1em + .8ch) .4rem var(--select-padding-left, 0.4em) !important;font-weight:normal !important;margin:-0.4em 0 !important;border-radius:.25em;color:var(--colour-body);height:auto;cursor:pointer;font-family:var(--font-body) !important}.select--minimal option{background-color:var(--colour-canvas);padding-left:1em;font-size:inherit;line-height:inherit}.select--minimal:hover{background:var(--colour-light)}.select--minimal:is(:focus,.focus):not(:disabled){border-color:var(--colour-info);outline:0;box-shadow:0 0 0 .1rem rgba(30,190,230,.25)}*:has(>.select--minimal){position:relative;display:inline-block !important;width:auto !important;font-size:inherit !important;line-height:1 !important;padding:0 !important;margin:0 !important;font-family:var(--font-body) !important}*:has(>.select--minimal):after{font-size:.8em;line-height:1em;content:"\uF078";font-family:"Font Awesome 6 Pro";position:absolute;top:40%;transform:translate(0, -50%);right:.8ch;pointer-events:none;color:var(--colour-body)}iam-fileupload input{display:none}:is(label:not(.tag),.label):has(:is(input,select)){display:block;margin-bottom:1.5rem;max-width:var(--input-max-width, 50rem)}:is(label:not(.tag),.label):has(:is(input,select)) :is(input:not([type=range]),select,textarea){margin-top:0.5rem;margin-bottom:0 !important}:is(label:not(.tag),.label):has(:is(input,select)) :is(input,select)~span:not(:is(.suffix,.prefix,.invalid-feedback)),:is(label:not(.tag),.label):has(:is(input,select)) span:has(>:is(input,select))~span:not(:is(.suffix,.prefix,.invalid-feedback)){all:initial;font-family:var(--font-body);color:var(--colour-body);margin-top:0.5rem;display:block;line-height:1.2}:is(label:not(.tag),.label):has(:is(input,select)) .invalid-feedback{font-size:1rem;font-weight:normal;line-height:1.2}:is(label:not(.tag),.label):has(:is(input,select)) span:has(:is(input,select)){display:flex;width:100%}:is(label:not(.tag),.label):has(:is(input,select)) :is(.suffix,.prefix):not(.mt-0){margin:0.5rem 0 0 0 !important}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)),.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid){margin-bottom:1.5rem}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)):has(:is(:invalid,.is-invalid)):after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid):has(:is(:invalid,.is-invalid)):after{content:"This field is required";color:var(--colour-danger);margin-top:0.5rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3e%3c!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license %28Commercial License%29 Copyright 2023 Fonticons, Inc. --%3e%3cpath d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z' fill='%23dc3545'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left top 1px;background-size:var(--input-fs, 1rem) var(--input-fs, 1rem);padding-left:calc(var(--input-fs, 1rem) + 0.5rem);display:block;width:100%;font-size:1rem;line-height:1.2}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select))[data-error]:has(:is(:invalid,.is-invalid)):after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid)[data-error]:has(:is(:invalid,.is-invalid)):after{content:attr(data-error) !important}.was-validated label:has(:is(input:not([type=radio]):not([type=checkbox]),select)).error-nowrap:after,.was-validated fieldset:has(label input:is([type=radio],[type=checkbox]):invalid).error-nowrap:after{white-space:nowrap}input[type=range]{--track-size: 0.5rem;--track-colour: var(--colour-light);--thumb-colour: var(--colour-info);--thumb-size: 1.5rem;width:100%;background:rgba(0,0,0,0);cursor:pointer;margin-top:2rem;margin-bottom:2rem;height:2rem;border-radius:50%;accent-color:var(--thumb-colour);-webkit-appearance:none;appearance:none}*:has(>input[type=range]){position:relative;padding-bottom:6rem;max-width:var(--input-max-width, 50rem)}label input[type=range]{position:absolute;top:1.5rem;left:0}input[type=range]::-webkit-slider-runnable-track{background:var(--track-colour);height:var(--track-size);border-radius:.5rem}input[type=range]::-moz-range-track{background:var(--track-colour);height:var(--track-size);border-radius:.5rem}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;margin-top:-0.5rem;background-color:var(--thumb-colour);height:var(--thumb-size);width:var(--thumb-size);border-radius:50%;position:relative;z-index:99;pointer-events:all}input[type=range]::-moz-range-thumb{border:none;background-color:var(--thumb-colour);height:var(--thumb-size);width:var(--thumb-size);border-radius:50%;position:relative;z-index:99;pointer-events:all}input[type=range]:focus{outline:none}input[type=range]:hover::-webkit-slider-thumb,input[type=range]:focus::-webkit-slider-thumb{outline:.5rem solid rgba(30,190,231,.2)}input[type=range]:active::-webkit-slider-thumb{outline:.5rem solid rgba(30,190,231,.4)}input[type=range]:hover::-moz-range-thumb,input[type=range]:focus::-moz-range-thumb{outline:.5rem solid rgba(30,190,231,.2)}input[type=range]:focus::-moz-range-thumb{outline:.5rem solid rgba(30,190,231,.4)}iam-slider input::-webkit-outer-spin-button,iam-slider input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:is(input[type=date],input[type=time]){position:relative;margin-right:-3rem;padding-right:3rem !important;background-position:right 4rem center;border-radius:.5rem !important}:is(input[type=date],input[type=time])::-webkit-calendar-picker-indicator{background:rgba(0,0,0,0);bottom:0;color:rgba(0,0,0,0);cursor:pointer;height:auto;left:4em;position:absolute;right:0;top:0;width:auto;order:3}}:is(iam-advanced-select,iam-search){position:relative;display:block}:is(iam-advanced-select,iam-search) label{position:relative}:is(iam-advanced-select,iam-search) input{padding-right:3rem}:is(iam-advanced-select,iam-search) .empty{position:absolute;bottom:.5rem;right:3.5rem;margin:0;aspect-ratio:1/1;width:2rem;height:2rem;text-align:center;line-height:1}:is(iam-advanced-select,iam-search) .empty:not(:hover,:focus){border-color:rgba(0,0,0,0);background-color:rgba(0,0,0,0)}:is(iam-advanced-select,iam-search) .empty i{font-size:1.5rem}:is(iam-advanced-select,iam-search) label:after,:is(iam-advanced-select,iam-search) .hint-text{position:absolute;top:100%}.was-validated :is(iam-advanced-select,iam-search) label:has(:is(input:not([type=radio]):not([type=checkbox]),select)){margin-bottom:2.5rem}.was-validated :is(iam-advanced-select,iam-search) label:has(:is(input:not([type=radio]):not([type=checkbox]),select)) input{background:none !important}.was-validated :is(iam-advanced-select,iam-search) label:has(:is(input:not([type=radio]):not([type=checkbox]),select)):has(:invalid,.is-invalid) .hint-text{display:none}:is(iam-advanced-select,iam-search) datalist:empty{display:none !important}:is(iam-advanced-select,iam-search) datalist{z-index:99;top:100%;position:absolute;background-color:#fff;border-top:none;padding:.5rem;max-height:10rem;overflow-y:auto;width:100%;max-width:var(--input-max-width, 50rem);border:none !important;border-radius:.5rem;box-shadow:0px 2px 9px rgba(0,0,0,.1)}:is(iam-advanced-select,iam-search) datalist option{background-color:#fff;padding:.5rem;color:blue !important;cursor:pointer;background:unset !important;border:unset !important;color:var(--colour-primary) !important;font-weight:inherit !important;font-family:inherit !important;font-size:1rem !important;line-height:1.1875rem !important;margin:var(--menu-item-margin, 0 0 0.25rem 0) !important;padding-block:var(--menu-item-padding, 0.5rem) !important;width:var(--menu-item-width, 100%) !important;max-width:var(--menu-item-width, 100%) !important;text-align:var(--menu-item-text-align, left) !important}:is(iam-advanced-select,iam-search) datalist option:is(:hover,:focus){background:var(--colour-light) !important;border-radius:.25rem !important}:is(iam-advanced-select,iam-search) datalist option:active{background:#e0e0e0 !important;border-radius:.25rem !important}iam-advanced-select datalist option.active{border-left:4px solid var(--colour-info) !important;border-radius:.25rem !important;background:hsl(from var(--colour-info) h s l/10%) !important}@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}}.m-0{margin:0 !important}.mx-0{margin-left:0 !important;margin-right:0 !important}.mx-minus-0{margin-left:-0 !important;margin-right:-0 !important}.my-minus-0{margin-top:-0 !important;margin-bottom:-0 !important}.my-0{margin-top:0 !important;margin-bottom:0 !important}.mt-0{margin-top:0 !important}.me-0{margin-right:0 !important}.mb-0{margin-bottom:0 !important}.ms-0{margin-left:0 !important}.m-1{margin:0.5rem !important}.mx-1{margin-left:0.5rem !important;margin-right:0.5rem !important}.mx-minus-1{margin-left:-0.5rem !important;margin-right:-0.5rem !important}.my-minus-1{margin-top:-0.5rem !important;margin-bottom:-0.5rem !important}.my-1{margin-top:0.5rem !important;margin-bottom:0.5rem !important}.mt-1{margin-top:0.5rem !important}.me-1{margin-right:0.5rem !important}.mb-1{margin-bottom:0.5rem !important}.ms-1{margin-left:0.5rem !important}.m-2{margin:1rem !important}.mx-2{margin-left:1rem !important;margin-right:1rem !important}.mx-minus-2{margin-left:-1rem !important;margin-right:-1rem !important}.my-minus-2{margin-top:-1rem !important;margin-bottom:-1rem !important}.my-2{margin-top:1rem !important;margin-bottom:1rem !important}.mt-2{margin-top:1rem !important}.me-2{margin-right:1rem !important}.mb-2{margin-bottom:1rem !important}.ms-2{margin-left:1rem !important}.m-3{margin:1.5rem !important}.mx-3{margin-left:1.5rem !important;margin-right:1.5rem !important}.mx-minus-3{margin-left:-1.5rem !important;margin-right:-1.5rem !important}.my-minus-3{margin-top:-1.5rem !important;margin-bottom:-1.5rem !important}.my-3{margin-top:1.5rem !important;margin-bottom:1.5rem !important}.mt-3{margin-top:1.5rem !important}.me-3{margin-right:1.5rem !important}.mb-3{margin-bottom:1.5rem !important}.ms-3{margin-left:1.5rem !important}.m-4{margin:2rem !important}.mx-4{margin-left:2rem !important;margin-right:2rem !important}.mx-minus-4{margin-left:-2rem !important;margin-right:-2rem !important}.my-minus-4{margin-top:-2rem !important;margin-bottom:-2rem !important}.my-4{margin-top:2rem !important;margin-bottom:2rem !important}.mt-4{margin-top:2rem !important}.me-4{margin-right:2rem !important}.mb-4{margin-bottom:2rem !important}.ms-4{margin-left:2rem !important}.m-5{margin:3rem !important}.mx-5{margin-left:3rem !important;margin-right:3rem !important}.mx-minus-5{margin-left:-3rem !important;margin-right:-3rem !important}.my-minus-5{margin-top:-3rem !important;margin-bottom:-3rem !important}.my-5{margin-top:3rem !important;margin-bottom:3rem !important}.mt-5{margin-top:3rem !important}.me-5{margin-right:3rem !important}.mb-5{margin-bottom:3rem !important}.ms-5{margin-left:3rem !important}.m-auto{margin:auto !important}.mx-auto{margin-right:auto !important;margin-left:auto !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-auto{margin-top:auto !important}.me-auto{margin-right:auto !important}.mb-auto{margin-bottom:auto !important}.ms-auto{margin-left:auto !important}:host{container-type:inline-size;display:block}:host(.d-none){display:none}.pagination{display:block}@container (width > 23.4375em){.pagination{display:flex;align-items:center;justify-content:space-between !important;padding-top:2rem}}.pagination>div{display:flex;align-items:center}.pagination:has(.prev:disabled):has(.next:disabled){display:none;padding:0}.pagination div:is(.page-jump,.per-page){border:1px solid var(--colour-light);height:3.25rem;display:none;align-items:center;padding-inline:1rem}.pagination div:is(.page-jump,.per-page) .select--minimal{height:calc(3.25rem - 1em);line-height:calc(3.25rem - 1em);margin-left:-1rem;font-weight:bold}.pagination div:is(.page-jump,.per-page) div:has(>select){margin-bottom:0}.pagination div:is(.page-jump,.per-page) div:has(>select):after{top:50%}.page-jump{border-right:none !important}.total-pages{white-space:nowrap}:host([data-page-jump][data-minimal]) .page-jump{display:flex !important}@container (width > 23.4375em){:host([data-page-jump]) .page-jump{display:flex !important}}@container (width > 23.4375em){:host([data-per-page]:not([data-page-jump][data-item-count])) .per-page{display:flex !important}}@container (width > 48em){:host([data-per-page][data-page-jump][data-item-count]) .per-page{display:flex !important}}.pagination>.item-count{display:block;text-align:center;margin-bottom:1rem;margin-inline:auto}@container (width > 23.4375em){.pagination>.item-count{display:none}:host([data-item-count]) .pagination>.item-count{display:flex !important;margin:0}}*:where(.prev,.next){border:1px solid var(--colour-light);line-height:3.25rem;height:3.25rem;margin:0;display:none;background:none;padding-inline:1rem;color:var(--colour-body)}@container (width > 23.4375em){*:where(.prev,.next){display:inline-block}}*:where(.prev,.next):after{margin-left:.5em;font-size:.8rem;content:"\uF054";font-family:"Font Awesome 6 Pro";color:var(--colour-info)}*:where(.prev,.next):is(:hover,:focus):not(:disabled){background-color:var(--pagination-link-color);color:var(--colour-hover)}*:where(.prev,.next):is(:active):not(:disabled){background-color:var(--pagination-link-color);color:var(--colour-active)}*:where(.prev,.next):disabled:after,*:where(.prev,.next):disabled:before{color:inherit !important}:host([data-minimal]) .pagination{justify-content:flex-end}@container (width > 23.4375em){:host([data-minimal]) .pagination{justify-content:space-between}}:host([data-minimal]) *:where(.prev,.next){display:inline-block !important}.prev{border-right:none}.prev:after{display:none}.prev:before{margin-right:.5em;font-size:.8rem;content:"\uF053";font-family:"Font Awesome 6 Pro";color:var(--colour-info)}.mobile-controls{display:block}:host([data-minimal]) .pagination{padding-top:1.5rem;display:flex;align-items:center;justify-content:flex-end}:host([data-minimal]) *:is(.mobile-controls,.item-count){display:none}@container (width > 23.4375em){.mobile-controls{display:none !important}:host([data-item-count]) .item-count{display:flex !important}}.fa-spin{display:none !important;font-size:3rem;color:var(--colour-info)}:host([data-loading]) .mobile-controls{padding-top:2rem}:host([data-loading]) .item-count,:host([data-loading]) .mobile-controls>*:not(.fa-spin){display:none !important}:host([data-loading]) .fa-spin{display:block !important;margin:auto}/*# sourceMappingURL=assets/css/components/pagination.css.map */
8
7
 
9
8
 
10
9
  ${this.hasAttribute("css")?`@import "${this.getAttribute("css")}";`:""}
@@ -39,8 +38,8 @@
39
38
  <button class="load-more btn btn-primary m-auto">Load more</a>
40
39
  </div>
41
40
  </div>
42
- `,this.shadowRoot.appendChild(e.content.cloneNode(!0))}connectedCallback(){const o=new URLSearchParams(window.location.search);this.hasAttribute("data-total")||this.setAttribute("data-total",15),this.hasAttribute("data-page")||this.setAttribute("data-page",o.has("page")?o.get("page"):1),this.hasAttribute("data-show")||this.setAttribute("data-show",o.has("show")?o.get("show"):15),this.hasAttribute("data-increment")||this.setAttribute("data-increment",this.getAttribute("data-show"));const t=this.shadowRoot.querySelector(".page-jump select"),e=this.shadowRoot.querySelector(".prev"),s=this.shadowRoot.querySelector(".next"),l=this.shadowRoot.querySelector(".per-page select"),r=this.shadowRoot.querySelector(".load-more");this.setup(),t.addEventListener("change",i=>{this.setAttribute("data-show",this.getAttribute("data-increment")),this.setAttribute("data-page",i.target.value)}),s.addEventListener("click",()=>{t.value=parseInt(t.value)+1,t.dispatchEvent(new Event("change"))}),e.addEventListener("click",()=>{t.value=parseInt(t.value)-1,t.dispatchEvent(new Event("change"))}),l.addEventListener("change",i=>{this.setAttribute("data-increment",i.target.value)});const d=parseInt(this.getAttribute("data-increment")),n=parseInt(this.getAttribute("data-show"));n>=parseInt(this.getAttribute("data-total"))&&r.remove(),r.addEventListener("click",()=>{const i=n+d;this.setAttribute("data-show",i),i>parseInt(this.getAttribute("data-total"))&&r.remove()})}setup(){const o=this.shadowRoot.querySelector(".pagination"),t=this.shadowRoot.querySelector(".page-jump select"),e=this.shadowRoot.querySelector(".prev"),s=this.shadowRoot.querySelector(".next"),l=this.shadowRoot.querySelector(".item-count"),r=this.shadowRoot.querySelector(".per-page select"),d=this.shadowRoot.querySelector(".total-pages"),n=parseInt(this.getAttribute("data-page")),i=parseInt(this.getAttribute("data-total")),p=parseInt(this.getAttribute("data-show")),a=parseInt(this.getAttribute("data-increment")),c=Math.ceil(i/a);i>p&&o.classList.remove("d-none");let g="";for(let m=1;m<=c;m++)g+=`<option value="${m}" ${m==n?"selected":""}>${m}</option>`;t.innerHTML=g,d.innerHTML=`of ${c}`,n==c?s.setAttribute("disabled","disabled"):s.removeAttribute("disabled"),n==1?e.setAttribute("disabled","disabled"):e.removeAttribute("disabled");const u=n==1?1:(n-1)*p+1,h=n==1?p:n*p;l.innerHTML=`${u} - ${h>i?i:h} of ${i} items`;const b=[15,25,40,50];a&&r.value!=a&&!b.includes(a)&&(r.innerHTML=`<option value="${a}">${a}</option>
43
- <option value="${a*2}">${a*2}</option>
44
- <option value="${a*3}">${a*3}</option>
45
- <option value="${a*4}">${a*4}</option>`),r.value=a}static get observedAttributes(){return["data-total","data-increment","data-page","data-show"]}attributeChangedCallback(o,t,e){switch(o){case"data-total":{t!=e&&this.setup();break}case"data-show":{t!=e&&(this.setup(),this.dispatchEvent(new CustomEvent("update-show",{detail:{show:e}})));break}case"data-increment":{t!=e&&(this.setAttribute("data-show",e),this.setup(),this.dispatchEvent(new CustomEvent("update-show",{detail:{show:e}})));break}case"data-page":{t&&t!=e&&(this.setup(),console.log(e),this.dispatchEvent(new CustomEvent("update-page",{detail:{page:e}})));break}}}}export{v as default};
41
+ `,this.shadowRoot.appendChild(a.content.cloneNode(!0))}connectedCallback(){const a=new URLSearchParams(window.location.search);this.hasAttribute("data-total")||this.setAttribute("data-total",15),this.hasAttribute("data-page")||this.setAttribute("data-page",a.has("page")?a.get("page"):1),this.hasAttribute("data-show")||this.setAttribute("data-show",a.has("show")?a.get("show"):15),this.hasAttribute("data-increment")||this.setAttribute("data-increment",this.getAttribute("data-show"));const n=this.shadowRoot.querySelector(".page-jump select"),t=this.shadowRoot.querySelector(".prev"),l=this.shadowRoot.querySelector(".next"),p=this.shadowRoot.querySelector(".per-page select"),r=this.shadowRoot.querySelector(".load-more");this.setup(),n.addEventListener("change",i=>{this.setAttribute("data-show",this.getAttribute("data-increment")),this.setAttribute("data-page",i.target.value)}),l.addEventListener("click",()=>{console.log(parseInt(this.getAttribute("data-page"))),this.setAttribute("data-page",parseInt(this.getAttribute("data-page"))+1)}),t.addEventListener("click",()=>{this.setAttribute("data-page",parseInt(this.getAttribute("data-page"))-1)}),p.addEventListener("change",i=>{this.setAttribute("data-increment",i.target.value)});const d=parseInt(this.getAttribute("data-increment")),o=parseInt(this.getAttribute("data-show"));o>=parseInt(this.getAttribute("data-total"))&&r.remove(),r.addEventListener("click",()=>{const i=o+d;this.setAttribute("data-show",i),i>parseInt(this.getAttribute("data-total"))&&r.remove()})}setup(){const a=this.shadowRoot.querySelector(".pagination"),n=this.shadowRoot.querySelector(".page-jump select"),t=this.shadowRoot.querySelector(".prev"),l=this.shadowRoot.querySelector(".next"),p=this.shadowRoot.querySelector(".item-count"),r=this.shadowRoot.querySelector(".per-page select"),d=this.shadowRoot.querySelector(".total-pages"),o=parseInt(this.getAttribute("data-page")),i=parseInt(this.getAttribute("data-total")),c=parseInt(this.getAttribute("data-show")),e=parseInt(this.getAttribute("data-increment")),m=Math.ceil(i/e);i>c&&a.classList.remove("d-none");let b="";for(let s=1;s<=m;s++)b+=`<option value="${s}" ${s==o?"selected":""}>${s}</option>`;n.innerHTML=b,d.innerHTML=`of ${m}`,o==m?l.setAttribute("disabled","disabled"):l.removeAttribute("disabled"),o==1?t.setAttribute("disabled","disabled"):t.removeAttribute("disabled");const u=o==1?1:(o-1)*c+1,h=o==1?c:o*c;p.innerHTML=`${u} - ${h>i?i:h} of ${i} items`;const g=[15,25,40,50];e&&r.value!=e&&!g.includes(e)&&(r.innerHTML=`<option value="${e}">${e}</option>
42
+ <option value="${e*2}">${e*2}</option>
43
+ <option value="${e*3}">${e*3}</option>
44
+ <option value="${e*4}">${e*4}</option>`),r.value=e}static get observedAttributes(){return["data-total","data-increment","data-page","data-show"]}attributeChangedCallback(a,n,t){switch(a){case"data-total":{n!=t&&this.setup();break}case"data-show":{n!=t&&(this.setup(),this.dispatchEvent(new CustomEvent("update-show",{detail:{show:t}})));break}case"data-increment":{n!=t&&(this.setAttribute("data-show",t),this.setup(),this.dispatchEvent(new CustomEvent("update-show",{detail:{show:t}})));break}case"data-page":{n&&n!=t&&(this.setup(),console.log(t),this.dispatchEvent(new CustomEvent("update-page",{detail:{page:t}})));break}}}}export{v as default};
46
45
  //# sourceMappingURL=pagination.component.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.component.min.js","sources":["pagination.component.js"],"sourcesContent":["class iamPagination 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/pagination.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=\"pagination d-none\">\n \n <div class=\"minimal\" part=\"minimal\">\n <div class=\"page-jump\">\n <div><select class=\"select--minimal\"></select></div>\n <span class=\"total-pages\"></span>\n </div>\n \n <button class=\"prev\" disabled>Prev</button>\n <button class=\"next\" disabled>Next</button>\n </div>\n\n <div class=\"item-count\" part=\"item-count\"></div>\n <div class=\"per-page\" part=\"per-page\">\n <div>\n <select class=\"select--minimal\">\n <option value=\"15\">15</option>\n <option value=\"25\">25</option>\n <option value=\"40\">40</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <span> / page</span>\n </div>\n <div class=\"mobile-controls m-auto text-center\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <button class=\"load-more btn btn-primary m-auto\">Load more</a>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // Set default attributes\n const params = new URLSearchParams(window.location.search);\n if (!this.hasAttribute('data-total'))\n this.setAttribute('data-total', 15);\n if (!this.hasAttribute('data-page'))\n this.setAttribute('data-page', params.has('page') ? params.get('page') : 1);\n if (!this.hasAttribute('data-show'))\n this.setAttribute('data-show', params.has('show') ? params.get('show') : 15);\n if (!this.hasAttribute('data-increment'))\n this.setAttribute('data-increment', this.getAttribute('data-show'));\n // Elements\n const select = this.shadowRoot.querySelector('.page-jump select');\n const prev = this.shadowRoot.querySelector('.prev');\n const next = this.shadowRoot.querySelector('.next');\n const perPage = this.shadowRoot.querySelector('.per-page select');\n const loadMore = this.shadowRoot.querySelector('.load-more');\n // Add the select inputs, enable or disable buttons, update the helper text\n this.setup();\n // Select on change will update the data-page attr which will dispatch an event\n select.addEventListener('change', (event) => {\n this.setAttribute('data-show', this.getAttribute('data-increment'));\n this.setAttribute('data-page', event.target.value);\n });\n // Next and previous buttons will simply trigger and on change on the select which in turn will dispatch an event\n next.addEventListener('click', () => {\n select.value = parseInt(select.value) + 1;\n select.dispatchEvent(new Event('change'));\n });\n prev.addEventListener('click', () => {\n select.value = parseInt(select.value) - 1;\n select.dispatchEvent(new Event('change'));\n });\n // Update how many is shown\n perPage.addEventListener('change', (event) => {\n this.setAttribute('data-increment', event.target.value);\n });\n // Load more button\n const increment = parseInt(this.getAttribute('data-increment'));\n const show = parseInt(this.getAttribute('data-show'));\n if (show >= parseInt(this.getAttribute('data-total'))) {\n loadMore.remove();\n }\n loadMore.addEventListener('click', () => {\n const newValue = show + increment;\n this.setAttribute('data-show', newValue);\n if (newValue > parseInt(this.getAttribute('data-total'))) {\n loadMore.remove();\n }\n });\n }\n setup() {\n // Elements\n const wrapper = this.shadowRoot.querySelector('.pagination');\n const select = this.shadowRoot.querySelector('.page-jump select');\n const prev = this.shadowRoot.querySelector('.prev');\n const next = this.shadowRoot.querySelector('.next');\n const itemCount = this.shadowRoot.querySelector('.item-count');\n const perPage = this.shadowRoot.querySelector('.per-page select');\n const totalPages = this.shadowRoot.querySelector('.total-pages');\n // Values\n const currentPage = parseInt(this.getAttribute('data-page'));\n const total = parseInt(this.getAttribute('data-total'));\n const show = parseInt(this.getAttribute('data-show'));\n const increment = parseInt(this.getAttribute('data-increment'));\n const numberPages = Math.ceil(total / increment);\n if (total > show)\n wrapper.classList.remove('d-none');\n // Populate the select input with the number of pages\n let strOptions = '';\n for (let i = 1; i <= numberPages; i++) {\n strOptions += `<option value=\"${i}\" ${i == currentPage ? 'selected' : ''}>${i}</option>`;\n }\n select.innerHTML = strOptions;\n totalPages.innerHTML = `of ${numberPages}`;\n // Next button\n if (currentPage == numberPages)\n next.setAttribute('disabled', 'disabled');\n else\n next.removeAttribute('disabled');\n if (currentPage == 1)\n prev.setAttribute('disabled', 'disabled');\n else\n prev.removeAttribute('disabled');\n // Update the item count text\n const startPoint = currentPage == 1 ? 1 : (currentPage - 1) * show + 1;\n const endPoint = currentPage == 1 ? show : currentPage * show;\n itemCount.innerHTML = `${startPoint} - ${endPoint > total ? total : endPoint} of ${total} items`;\n const defaultValues = [15, 25, 40, 50];\n // Update the per page options if needed\n if (increment && perPage.value != increment && !defaultValues.includes(increment)) {\n perPage.innerHTML = `<option value=\"${increment}\">${increment}</option>\n <option value=\"${increment * 2}\">${increment * 2}</option>\n <option value=\"${increment * 3}\">${increment * 3}</option>\n <option value=\"${increment * 4}\">${increment * 4}</option>`;\n }\n perPage.value = increment;\n }\n static get observedAttributes() {\n return ['data-total', 'data-increment', 'data-page', 'data-show'];\n }\n attributeChangedCallback(attrName, oldVal, newVal) {\n switch (attrName) {\n case 'data-total': {\n if (oldVal != newVal) {\n //this.setAttribute('data-page', 1);\n this.setup();\n }\n break;\n }\n case 'data-show': {\n if (oldVal != newVal) {\n //this.setAttribute('data-page', 1);\n this.setup();\n this.dispatchEvent(new CustomEvent('update-show', { detail: { show: newVal } }));\n }\n break;\n }\n case 'data-increment': {\n if (oldVal != newVal) {\n this.setAttribute('data-show', newVal);\n //this.setAttribute('data-page', 1);\n this.setup();\n this.dispatchEvent(new CustomEvent('update-show', { detail: { show: newVal } }));\n }\n break;\n }\n case 'data-page': {\n if (oldVal && oldVal != newVal) {\n this.setup();\n console.log(newVal);\n // Dispact the event for other components to use as triggers\n this.dispatchEvent(new CustomEvent('update-page', { detail: { page: newVal } }));\n }\n break;\n }\n }\n }\n}\nexport default iamPagination;\n"],"names":["iamPagination","assetLocation","coreCSS","template","params","select","prev","next","perPage","loadMore","event","increment","show","newValue","wrapper","itemCount","totalPages","currentPage","total","numberPages","strOptions","i","startPoint","endPoint","defaultValues","attrName","oldVal","newVal"],"mappings":"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"}
1
+ {"version":3,"file":"pagination.component.min.js","sources":["pagination.component.js"],"sourcesContent":["class iamPagination 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/pagination.css\";`;\n const template = document.createElement('template');\n template.innerHTML = `\n <style>\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=\"pagination d-none\">\n \n <div class=\"minimal\" part=\"minimal\">\n <div class=\"page-jump\">\n <div><select class=\"select--minimal\"></select></div>\n <span class=\"total-pages\"></span>\n </div>\n \n <button class=\"prev\" disabled>Prev</button>\n <button class=\"next\" disabled>Next</button>\n </div>\n\n <div class=\"item-count\" part=\"item-count\"></div>\n <div class=\"per-page\" part=\"per-page\">\n <div>\n <select class=\"select--minimal\">\n <option value=\"15\">15</option>\n <option value=\"25\">25</option>\n <option value=\"40\">40</option>\n <option value=\"50\">50</option>\n </select>\n </div>\n <span> / page</span>\n </div>\n <div class=\"mobile-controls m-auto text-center\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <button class=\"load-more btn btn-primary m-auto\">Load more</a>\n </div>\n </div>\n `;\n this.shadowRoot.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n // Set default attributes\n const params = new URLSearchParams(window.location.search);\n if (!this.hasAttribute('data-total'))\n this.setAttribute('data-total', 15);\n if (!this.hasAttribute('data-page'))\n this.setAttribute('data-page', params.has('page') ? params.get('page') : 1);\n if (!this.hasAttribute('data-show'))\n this.setAttribute('data-show', params.has('show') ? params.get('show') : 15);\n if (!this.hasAttribute('data-increment'))\n this.setAttribute('data-increment', this.getAttribute('data-show'));\n // Elements\n const select = this.shadowRoot.querySelector('.page-jump select');\n const prev = this.shadowRoot.querySelector('.prev');\n const next = this.shadowRoot.querySelector('.next');\n const perPage = this.shadowRoot.querySelector('.per-page select');\n const loadMore = this.shadowRoot.querySelector('.load-more');\n // Add the select inputs, enable or disable buttons, update the helper text\n this.setup();\n // Select on change will update the data-page attr which will dispatch an event\n select.addEventListener('change', (event) => {\n this.setAttribute('data-show', this.getAttribute('data-increment'));\n this.setAttribute('data-page', event.target.value);\n });\n // Next and previous buttons will simply trigger and on change on the select which in turn will dispatch an event\n next.addEventListener('click', () => {\n console.log(parseInt(this.getAttribute('data-page')));\n this.setAttribute('data-page', parseInt(this.getAttribute('data-page')) + 1);\n });\n prev.addEventListener('click', () => {\n this.setAttribute('data-page', parseInt(this.getAttribute('data-page')) - 1);\n });\n // Update how many is shown\n perPage.addEventListener('change', (event) => {\n this.setAttribute('data-increment', event.target.value);\n });\n // Load more button\n const increment = parseInt(this.getAttribute('data-increment'));\n const show = parseInt(this.getAttribute('data-show'));\n if (show >= parseInt(this.getAttribute('data-total'))) {\n loadMore.remove();\n }\n loadMore.addEventListener('click', () => {\n const newValue = show + increment;\n this.setAttribute('data-show', newValue);\n if (newValue > parseInt(this.getAttribute('data-total'))) {\n loadMore.remove();\n }\n });\n }\n setup() {\n // Elements\n const wrapper = this.shadowRoot.querySelector('.pagination');\n const select = this.shadowRoot.querySelector('.page-jump select');\n const prev = this.shadowRoot.querySelector('.prev');\n const next = this.shadowRoot.querySelector('.next');\n const itemCount = this.shadowRoot.querySelector('.item-count');\n const perPage = this.shadowRoot.querySelector('.per-page select');\n const totalPages = this.shadowRoot.querySelector('.total-pages');\n // Values\n const currentPage = parseInt(this.getAttribute('data-page'));\n const total = parseInt(this.getAttribute('data-total'));\n const show = parseInt(this.getAttribute('data-show'));\n const increment = parseInt(this.getAttribute('data-increment'));\n const numberPages = Math.ceil(total / increment);\n if (total > show)\n wrapper.classList.remove('d-none');\n // Populate the select input with the number of pages\n let strOptions = '';\n for (let i = 1; i <= numberPages; i++) {\n strOptions += `<option value=\"${i}\" ${i == currentPage ? 'selected' : ''}>${i}</option>`;\n }\n select.innerHTML = strOptions;\n totalPages.innerHTML = `of ${numberPages}`;\n // Next button\n if (currentPage == numberPages)\n next.setAttribute('disabled', 'disabled');\n else\n next.removeAttribute('disabled');\n if (currentPage == 1)\n prev.setAttribute('disabled', 'disabled');\n else\n prev.removeAttribute('disabled');\n // Update the item count text\n const startPoint = currentPage == 1 ? 1 : (currentPage - 1) * show + 1;\n const endPoint = currentPage == 1 ? show : currentPage * show;\n itemCount.innerHTML = `${startPoint} - ${endPoint > total ? total : endPoint} of ${total} items`;\n const defaultValues = [15, 25, 40, 50];\n // Update the per page options if needed\n if (increment && perPage.value != increment && !defaultValues.includes(increment)) {\n perPage.innerHTML = `<option value=\"${increment}\">${increment}</option>\n <option value=\"${increment * 2}\">${increment * 2}</option>\n <option value=\"${increment * 3}\">${increment * 3}</option>\n <option value=\"${increment * 4}\">${increment * 4}</option>`;\n }\n perPage.value = increment;\n }\n static get observedAttributes() {\n return ['data-total', 'data-increment', 'data-page', 'data-show'];\n }\n attributeChangedCallback(attrName, oldVal, newVal) {\n switch (attrName) {\n case 'data-total': {\n if (oldVal != newVal) {\n //this.setAttribute('data-page', 1);\n this.setup();\n }\n break;\n }\n case 'data-show': {\n if (oldVal != newVal) {\n //this.setAttribute('data-page', 1);\n this.setup();\n this.dispatchEvent(new CustomEvent('update-show', { detail: { show: newVal } }));\n }\n break;\n }\n case 'data-increment': {\n if (oldVal != newVal) {\n this.setAttribute('data-show', newVal);\n //this.setAttribute('data-page', 1);\n this.setup();\n this.dispatchEvent(new CustomEvent('update-show', { detail: { show: newVal } }));\n }\n break;\n }\n case 'data-page': {\n if (oldVal && oldVal != newVal) {\n this.setup();\n console.log(newVal);\n // Dispact the event for other components to use as triggers\n this.dispatchEvent(new CustomEvent('update-page', { detail: { page: newVal } }));\n }\n break;\n }\n }\n }\n}\nexport default iamPagination;\n"],"names":["iamPagination","template","params","select","prev","next","perPage","loadMore","event","increment","show","newValue","wrapper","itemCount","totalPages","currentPage","total","numberPages","strOptions","i","startPoint","endPoint","defaultValues","attrName","oldVal","newVal"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { trackComponentRegistered } from '../_global.js';
2
+ import passwordIndicator from '../../modules/password-indicator.js';
3
+ trackComponentRegistered('iam-password-indicator');
4
+ class iamPasswordIndicator extends HTMLElement {
5
+ constructor() {
6
+ var _a;
7
+ super();
8
+ this.attachShadow({ mode: 'open' });
9
+ const template = document.createElement('template');
10
+ template.innerHTML = `
11
+ <slot></slot>
12
+ `;
13
+ (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(template.content.cloneNode(true));
14
+ }
15
+ connectedCallback() {
16
+ passwordIndicator(this);
17
+ }
18
+ }
19
+ export default iamPasswordIndicator;
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * iamKey v7.5.1--beta2
3
+ * Copyright 2022-2025 iamproperty
4
+ */const c=t=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:t})},i=function(t){var a;const s=t.querySelector("button"),e=(a=t?.parentNode)===null||a===void 0?void 0:a.querySelector("input");t.addEventListener("click",p=>{const o=e.type,n=o==="password"?"text":"password",d=o==="password";if(e.setAttribute("type",n),e.setAttribute("data-password-type",d),t.hasAttribute("data-alt-class")){const r=t.getAttribute("data-alt-class");t.setAttribute("data-alt-class",s.getAttribute("class")),s.setAttribute("class",r)}})},l=function(t){i(t)};c("iam-password-indicator");class u extends HTMLElement{constructor(){var a;super(),this.attachShadow({mode:"open"});const s=document.createElement("template");s.innerHTML=`
5
+ <slot></slot>
6
+ `,(a=this.shadowRoot)===null||a===void 0||a.appendChild(s.content.cloneNode(!0))}connectedCallback(){l(this)}}export{u as default};
7
+ //# sourceMappingURL=password-indicator.component.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password-indicator.component.min.js","sources":["../_global.js","../../modules/password-indicator.js","password-indicator.component.js"],"sourcesContent":["export const trackComponentRegistered = (componentName) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementRegistered',\n element: componentName,\n });\n};\nexport const trackComponent = (component, componentName, trackEvents) => {\n // Data layer Web component created\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'customElementAdded',\n element: componentName,\n });\n trackEvents.forEach((eventName) => {\n component.addEventListener(eventName, function (event) {\n const eventDetails = {\n event: eventName,\n element: componentName,\n target: event.target,\n };\n Object.keys(event.detail).forEach((eventKey) => {\n const eventDetail = event.detail[eventKey];\n eventDetails[eventKey] = eventDetail;\n });\n window.dataLayer.push(eventDetails);\n });\n });\n return true;\n};\n","export const changeType = function (element) {\n var _a;\n const buttonEle = element.querySelector('button');\n const associatedInput = (_a = element === null || element === void 0 ? void 0 : element.parentNode) === null || _a === void 0 ? void 0 : _a.querySelector('input');\n element.addEventListener('click', (event) => {\n const currentType = associatedInput.type;\n const newType = currentType === 'password' ? 'text' : 'password';\n const isPasswordType = currentType === 'password';\n associatedInput.setAttribute('type', newType);\n associatedInput.setAttribute('data-password-type', isPasswordType);\n if (element.hasAttribute('data-alt-class')) {\n const newClass = element.getAttribute('data-alt-class');\n element.setAttribute('data-alt-class', buttonEle.getAttribute('class'));\n buttonEle.setAttribute('class', newClass);\n }\n });\n};\nconst passwordIndicator = function (element) {\n changeType(element);\n};\nexport default passwordIndicator;\n","import { trackComponentRegistered } from '../_global.js';\nimport passwordIndicator from '../../modules/password-indicator.js';\ntrackComponentRegistered('iam-password-indicator');\nclass iamPasswordIndicator extends HTMLElement {\n constructor() {\n var _a;\n super();\n this.attachShadow({ mode: 'open' });\n const template = document.createElement('template');\n template.innerHTML = `\r\n <slot></slot>\r\n `;\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(template.content.cloneNode(true));\n }\n connectedCallback() {\n passwordIndicator(this);\n }\n}\nexport default iamPasswordIndicator;\n"],"names":["trackComponentRegistered","componentName","changeType","element","_a","buttonEle","associatedInput","event","currentType","newType","isPasswordType","newClass","passwordIndicator","iamPasswordIndicator","template"],"mappings":";;;IAAO,MAAMA,EAA4BC,GAAkB,CAEvD,OAAO,UAAY,OAAO,WAAa,CAAA,EACvC,OAAO,UAAU,KAAK,CAClB,MAAO,0BACP,QAASA,CACjB,CAAK,CACL,ECPaC,EAAa,SAAUC,EAAS,CACzC,IAAIC,EACJ,MAAMC,EAAYF,EAAQ,cAAc,QAAQ,EAC1CG,GAAmBF,EAAuDD,GAAQ,cAAgB,MAAQC,IAAO,OAAS,OAASA,EAAG,cAAc,OAAO,EACjKD,EAAQ,iBAAiB,QAAUI,GAAU,CACzC,MAAMC,EAAcF,EAAgB,KAC9BG,EAAUD,IAAgB,WAAa,OAAS,WAChDE,EAAiBF,IAAgB,WAGvC,GAFAF,EAAgB,aAAa,OAAQG,CAAO,EAC5CH,EAAgB,aAAa,qBAAsBI,CAAc,EAC7DP,EAAQ,aAAa,gBAAgB,EAAG,CACxC,MAAMQ,EAAWR,EAAQ,aAAa,gBAAgB,EACtDA,EAAQ,aAAa,iBAAkBE,EAAU,aAAa,OAAO,CAAC,EACtEA,EAAU,aAAa,QAASM,CAAQ,CAC5C,CACJ,CAAC,CACL,EACMC,EAAoB,SAAUT,EAAS,CACzCD,EAAWC,CAAO,CACtB,ECjBAH,EAAyB,wBAAwB,EACjD,MAAMa,UAA6B,WAAY,CAC3C,aAAc,CACV,IAAIT,EACJ,MAAK,EACL,KAAK,aAAa,CAAE,KAAM,MAAM,CAAE,EAClC,MAAMU,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,UAAY;AAAA;AAAA,OAGpBV,EAAK,KAAK,cAAgB,MAAQA,IAAO,QAAkBA,EAAG,YAAYU,EAAS,QAAQ,UAAU,EAAI,CAAC,CAC/G,CACA,mBAAoB,CAChBF,EAAkB,IAAI,CAC1B,CACJ"}
@@ -7,12 +7,12 @@ class iamRank extends HTMLElement {
7
7
  const assetLocation = document.body.hasAttribute('data-assets-location')
8
8
  ? document.body.getAttribute('data-assets-location')
9
9
  : '/assets';
10
- const loadCSS = `@import "${assetLocation}/css/components/rank.component.css";`;
10
+ const loadRankCSS = `@import "${assetLocation}/css/components/rank.component.css";`;
11
11
  //const loadExtraCSS = `@import "${assetLocation}/css/components/rank.global.css";`;
12
12
  const template = document.createElement('template');
13
13
  template.innerHTML = `
14
14
  <style>
15
- ${loadCSS}
15
+ ${loadRankCSS}
16
16
  </style>
17
17
  <div class="wrapper" part="wrapper">
18
18
  <div class="rank" part="rank">
@@ -1,10 +1,9 @@
1
1
  /*!
2
- * iamKey v7.5.0
2
+ * iamKey v7.5.1--beta2
3
3
  * Copyright 2022-2025 iamproperty
4
- */const l=a=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:a})};l("iam-rank");class e extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),document.body.hasAttribute("data-assets-location")&&document.body.getAttribute("data-assets-location");const t=document.createElement("template");t.innerHTML=`
4
+ */const i=o=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:o})};i("iam-rank");class a extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const C=`@import "${document.body.hasAttribute("data-assets-location")?document.body.getAttribute("data-assets-location"):"/assets"}/css/components/rank.component.css";`,l=document.createElement("template");l.innerHTML=`
5
5
  <style>
6
- @layer elements{mark{padding:.1875em;background-color:#ff0}:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.display-1,.display-2,.display-3,.display-4){margin-top:0;margin-bottom:0;font-family:var(--font-heading);font-style:normal;font-weight:bold;line-height:round(1em*var(--type-scale),.25rem);padding-bottom:round(1em*var(--type-scale),.25rem);color:var(--colour-heading);clear:both;display:block}:is(h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.display-1,.display-2,.display-3,.display-4) [class*=fa-]{margin-right:.5rem}:is(.h1,h1){font-size:round(var(--body-fs, 1rem)*pow(var(--type-scale),6),.25rem);font-weight:900}:is(h2,.h2){font-size:round(var(--body-fs, 1rem)*pow(var(--type-scale),5),.25rem);font-weight:900}:is(h3,.h3){font-size:round(var(--body-fs, 1rem)*pow(var(--type-scale),3),.25rem);max-width:var(--content-max-width);line-height:round(1em*var(--type-scale),.25rem);padding-bottom:round(1em*var(--type-scale),.25rem)}:is(.h4,h4,.h5,h5,.h6,h6){font-size:round(var(--body-fs, 1rem)*pow(var(--type-scale),2),.25rem);max-width:var(--content-max-width);line-height:round(1em*var(--type-scale),.25rem);padding-bottom:round(1em*var(--type-scale),.25rem)}p{margin-top:0;font-size:1rem;line-height:1.5rem;padding-bottom:3rem;max-width:var(--content-max-width);margin-bottom:0}p:has(+p){padding-bottom:1.5rem}:is(.lead,.strapline){font-size:1.125rem;line-height:1.75rem;padding-bottom:3rem;max-width:var(--content-max-width);font-weight:700}small,.small{font-size:0.875rem;line-height:1.5rem;padding-bottom:3rem;max-width:var(--content-max-width);font-weight:normal}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}strong{font-weight:bolder;font-family:var(--font-heading);color:var(--colour-heading)}address{margin-bottom:1rem;font-style:normal;line-height:inherit}blockquote{margin:0;quotes:"\u201C" "\u201D" "\u2018" "\u2019";padding-bottom:3rem;overflow:hidden}blockquote p{font-size:1.5rem;line-height:2rem;padding-bottom:0}blockquote p:first-child:before{content:open-quote}blockquote p:last-of-type:after{content:close-quote}blockquote cite{font-size:1.125rem;line-height:2rem;padding-bottom:0;font-weight:bold;font-style:normal}.stat{font-size:4rem;line-height:4.5rem;font-weight:bold;color:var(--colour-heading);display:block;text-decoration:underline;text-underline-offset:.75rem;text-decoration-color:var(--colour-secondary);text-decoration-thickness:0.25rem;margin-bottom:4rem}}*,*::before,*::after{box-sizing:border-box}:host{display:block;width:100%;max-width:6.25rem;margin-bottom:2rem;z-index:1}.wrapper{display:flex;text-align:center;width:100%;max-width:6.25rem;position:relative}.rank{position:relative;display:flex;width:100%;aspect-ratio:1/1;max-width:6.25rem;max-height:6.25rem;height:auto;max-width:10rem;text-align:center;flex-direction:column;justify-content:center;align-items:center;border:.5rem solid var(--colour-info);border-radius:50%}.rank .position{margin:0;padding:0;line-height:1 !important}.rank svg{position:absolute;inset:0;z-index:1;display:none}.base{display:none}.title{display:none}:host([data-title]) .title{display:flex;text-align:center;align-items:center;flex-direction:column;justify-content:center;padding-top:0.75rem;padding-inline:0.3125rem;padding-bottom:0.75rem;height:5.25rem;position:relative;border-radius:0 0 4px 4px}:host([data-title]) .title:before{content:"1";position:absolute;font-size:4.5rem;font-weight:bold;display:block;top:50%;left:50%;transform:translate(-50%, -50%);z-index:-1;color:color-mix(in srgb, #fdcb6e, transparent 90%)}:host([data-title]) .title:after{content:"";position:absolute;height:8.25rem;width:100%;display:block;bottom:0;left:0;opacity:.2;z-index:-2;background:#fdcb6e;background:linear-gradient(0deg, rgb(253, 203, 110) 0%, rgb(255, 255, 255) 100%);border-radius:0 0 4px 4px}:host([data-title]) .title span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-align:center;text-overflow:ellipsis;position:relative;z-index:5;word-break:break-word}:host([data-position="1st"]),:host([data-position="2nd"]),:host([data-position="3rd"]){position:relative;max-width:4.375rem}:host([data-position="1st"]) .rank,:host([data-position="2nd"]) .rank,:host([data-position="3rd"]) .rank{border-width:0;overflow:hidden;aspect-ratio:14/25;max-width:4.375rem;margin-inline:auto}:host([data-position="1st"]) .position,:host([data-position="2nd"]) .position,:host([data-position="3rd"]) .position{display:none}:host([data-position="1st"]:not(.rank--trophy)) .rank svg:nth-child(3){display:block}:host([data-position="1st"]:not(.rank--trophy)) .title{font-weight:bold;font-family:var(--font-heading)}:host([data-position="1st"]:not(.rank--trophy)) .title:before{color:color-mix(in srgb, #f6b818, transparent 90%)}:host([data-position="1st"]:not(.rank--trophy)) .title:after{background:linear-gradient(0deg, rgb(246, 184, 24) 0%, rgb(255, 255, 255) 100%)}:host([data-position="2nd"]) .rank svg:nth-child(2){display:block}:host([data-position="2nd"]) .title:before{content:"2";color:color-mix(in srgb, #a9a9a9, transparent 90%)}:host([data-position="2nd"]) .title:after{background:linear-gradient(0deg, rgb(169, 169, 169) 0%, rgb(255, 255, 255) 100%)}:host([data-position="3rd"]) .rank svg:nth-child(1){display:block}:host([data-position="3rd"]) .title:before{content:"3"}:host([data-position="1st"].rank--trophy){max-width:6.25rem}:host([data-position="1st"].rank--trophy) .rank{aspect-ratio:1/1;max-width:6.25rem;margin-bottom:0}:host([data-position="1st"].rank--trophy) .rank svg:nth-child(4){display:block}:host([data-position="1st"]:not(.rank--medal)),:host([data-position="2nd"]:not(.rank--medal)),:host([data-position="3rd"]:not(.rank--medal)){aspect-ratio:8/10;max-width:7.8125rem}:host([data-position="1st"]:not(.rank--medal)) .wrapper,:host([data-position="2nd"]:not(.rank--medal)) .wrapper,:host([data-position="3rd"]:not(.rank--medal)) .wrapper{width:100%;height:100%;max-width:7.8125rem;max-height:9.375rem;align-items:center}:host([data-position="1st"]:not(.rank--medal)) .wrapper .rank,:host([data-position="2nd"]:not(.rank--medal)) .wrapper .rank,:host([data-position="3rd"]:not(.rank--medal)) .wrapper .rank{max-width:56%;margin-bottom:1rem}:host([data-position="1st"]:not(.rank--medal)) .wrapper .base,:host([data-position="2nd"]:not(.rank--medal)) .wrapper .base,:host([data-position="3rd"]:not(.rank--medal)) .wrapper .base{display:block;position:absolute;inset:0}:host([data-position="1st"]:not(.rank--medal)) .wrapper .base svg:nth-child(2),:host([data-position="2nd"]:not(.rank--medal)) .wrapper .base svg:nth-child(2),:host([data-position="3rd"]:not(.rank--medal)) .wrapper .base svg:nth-child(2){display:none}:host([data-position="1st"]:not(.rank--medal).rank--trophy){aspect-ratio:8/10;max-width:9.375rem}:host([data-position="1st"]:not(.rank--medal).rank--trophy) .wrapper{max-width:9.375rem;max-height:11.25rem;margin-top:-2rem}:host([data-position="1st"]:not(.rank--medal).rank--trophy) .rank{aspect-ratio:1/1;max-width:80%;margin-bottom:1rem}:host([data-position="1st"]:not(.rank--medal).rank--trophy) .wrapper .base svg:nth-child(1){display:none}:host([data-position="1st"]:not(.rank--medal).rank--trophy) .wrapper .base svg:nth-child(2){display:block}:host([data-position="1st"]:not(.rank--medal).rank--trophy) .title{font-weight:bold}:host([data-position="1st"]:not(.rank--medal).rank--trophy) .title:before{content:1;color:color-mix(in srgb, #f6b818, transparent 90%)}:host([data-position="1st"]:not(.rank--medal).rank--trophy) .title:after{background:linear-gradient(0deg, rgb(246, 184, 24) 0%, rgb(255, 255, 255) 100%)}/*# sourceMappingURL=assets/css/components/rank.component.css.map */
7
-
6
+ ${C}
8
7
  </style>
9
8
  <div class="wrapper" part="wrapper">
10
9
  <div class="rank" part="rank">
@@ -361,5 +360,5 @@
361
360
  <div class="title" part="title">
362
361
  <span></span>
363
362
  </div>
364
- `,this.shadowRoot.appendChild(t.content.cloneNode(!0))}connectedCallback(){var t,C;const i=this.hasAttribute("data-position")?this.getAttribute("data-position"):(t=this.textContent)===null||t===void 0?void 0:t.trim(),o=(C=this.shadowRoot)===null||C===void 0?void 0:C.querySelector(".title span");o==null||(o.innerHTML=this.hasAttribute("data-title")?this.getAttribute("data-title"):""),this.setAttribute("data-position",i)}}export{e as default};
363
+ `,this.shadowRoot.appendChild(l.content.cloneNode(!0))}connectedCallback(){var t,C;const l=this.hasAttribute("data-position")?this.getAttribute("data-position"):(t=this.textContent)===null||t===void 0?void 0:t.trim(),L=(C=this.shadowRoot)===null||C===void 0?void 0:C.querySelector(".title span");L==null||(L.innerHTML=this.hasAttribute("data-title")?this.getAttribute("data-title"):""),this.setAttribute("data-position",l)}}export{a as default};
365
364
  //# sourceMappingURL=rank.component.min.js.map