@iamproperty/components 6.0.0 → 6.1.0--beta

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 (207) hide show
  1. package/assets/bootstrap/README.md +8 -7
  2. package/assets/bootstrap/js/index.esm.js +19 -0
  3. package/assets/bootstrap/js/index.umd.js +34 -0
  4. package/assets/bootstrap/js/src/alert.js +1 -1
  5. package/assets/bootstrap/js/src/base-component.js +2 -2
  6. package/assets/bootstrap/js/src/button.js +1 -1
  7. package/assets/bootstrap/js/src/carousel.js +1 -1
  8. package/assets/bootstrap/js/src/collapse.js +1 -1
  9. package/assets/bootstrap/js/src/dom/data.js +1 -1
  10. package/assets/bootstrap/js/src/dom/event-handler.js +1 -1
  11. package/assets/bootstrap/js/src/dom/manipulator.js +1 -1
  12. package/assets/bootstrap/js/src/dom/selector-engine.js +1 -1
  13. package/assets/bootstrap/js/src/dropdown.js +3 -12
  14. package/assets/bootstrap/js/src/modal.js +13 -17
  15. package/assets/bootstrap/js/src/offcanvas.js +1 -1
  16. package/assets/bootstrap/js/src/popover.js +1 -1
  17. package/assets/bootstrap/js/src/scrollspy.js +10 -14
  18. package/assets/bootstrap/js/src/tab.js +4 -2
  19. package/assets/bootstrap/js/src/toast.js +4 -9
  20. package/assets/bootstrap/js/src/tooltip.js +50 -32
  21. package/assets/bootstrap/js/src/util/backdrop.js +1 -1
  22. package/assets/bootstrap/js/src/util/component-functions.js +1 -1
  23. package/assets/bootstrap/js/src/util/config.js +1 -1
  24. package/assets/bootstrap/js/src/util/focustrap.js +1 -1
  25. package/assets/bootstrap/js/src/util/index.js +1 -1
  26. package/assets/bootstrap/js/src/util/sanitizer.js +1 -1
  27. package/assets/bootstrap/js/src/util/scrollbar.js +1 -1
  28. package/assets/bootstrap/js/src/util/swipe.js +1 -1
  29. package/assets/bootstrap/js/src/util/template-factory.js +1 -1
  30. package/assets/bootstrap/package.json +27 -28
  31. package/assets/bootstrap/scss/_accordion.scss +4 -7
  32. package/assets/bootstrap/scss/_button-group.scss +1 -1
  33. package/assets/bootstrap/scss/_buttons.scss +7 -28
  34. package/assets/bootstrap/scss/_carousel.scss +3 -0
  35. package/assets/bootstrap/scss/_dropdown.scss +1 -2
  36. package/assets/bootstrap/scss/_functions.scss +2 -2
  37. package/assets/bootstrap/scss/_list-group.scss +5 -6
  38. package/assets/bootstrap/scss/_modal.scss +1 -1
  39. package/assets/bootstrap/scss/_nav.scss +2 -2
  40. package/assets/bootstrap/scss/_navbar.scss +0 -2
  41. package/assets/bootstrap/scss/_offcanvas.scss +4 -5
  42. package/assets/bootstrap/scss/_pagination.scss +1 -1
  43. package/assets/bootstrap/scss/_popover.scss +5 -5
  44. package/assets/bootstrap/scss/_toasts.scss +2 -5
  45. package/assets/bootstrap/scss/_variables-dark.scss +87 -0
  46. package/assets/bootstrap/scss/_variables.scss +17 -18
  47. package/assets/bootstrap/scss/bootstrap-utilities.scss +0 -3
  48. package/assets/bootstrap/scss/forms/_floating-labels.scss +0 -1
  49. package/assets/bootstrap/scss/forms/_input-group.scss +4 -7
  50. package/assets/bootstrap/scss/helpers/_focus-ring.scss +5 -0
  51. package/assets/bootstrap/scss/helpers/_icon-link.scss +25 -0
  52. package/assets/bootstrap/scss/mixins/_banner.scss +2 -2
  53. package/assets/bootstrap/scss/mixins/_color-mode.scss +21 -0
  54. package/assets/bootstrap/scss/mixins/_forms.scss +10 -10
  55. package/assets/bootstrap/scss/mixins/_table-variants.scss +2 -2
  56. package/assets/bootstrap/scss/mixins/_utilities.scss +1 -1
  57. package/assets/css/components/barchart.component.css +1 -1
  58. package/assets/css/components/barchart.component.css.map +1 -1
  59. package/assets/css/components/card.component.css +1 -0
  60. package/assets/css/components/card.component.css.map +1 -0
  61. package/assets/css/components/card.module.css +1 -0
  62. package/assets/css/components/card.module.css.map +1 -0
  63. package/assets/css/components/charts.config.css +1 -1
  64. package/assets/css/components/charts.config.css.map +1 -1
  65. package/assets/css/components/charts.css +1 -1
  66. package/assets/css/components/charts.css.map +1 -1
  67. package/assets/css/components/charts.module.css +1 -1
  68. package/assets/css/components/charts.module.css.map +1 -1
  69. package/assets/css/components/filter-card.component.css +1 -0
  70. package/assets/css/components/filter-card.component.css.map +1 -0
  71. package/assets/css/components/multiselect.preload.css +1 -1
  72. package/assets/css/components/multiselect.preload.css.map +1 -1
  73. package/assets/css/components/record-card.component.css +1 -0
  74. package/assets/css/components/record-card.component.css.map +1 -0
  75. package/assets/css/components/timeline.css +1 -1
  76. package/assets/css/components/timeline.css.map +1 -1
  77. package/assets/css/components/video-card.component.css +1 -0
  78. package/assets/css/components/video-card.component.css.map +1 -0
  79. package/assets/css/core.min.css +1 -1
  80. package/assets/css/core.min.css.map +1 -1
  81. package/assets/css/style.min.css +1 -1
  82. package/assets/css/style.min.css.map +1 -1
  83. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  84. package/assets/js/components/actionbar/actionbar.component.min.js +5 -5
  85. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  86. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  87. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  88. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  89. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  90. package/assets/js/components/barchart/barchart.component.js +2 -0
  91. package/assets/js/components/barchart/barchart.component.min.js +4 -2
  92. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  93. package/assets/js/components/card/card.component.js +92 -154
  94. package/assets/js/components/card/card.component.min.js +26 -31
  95. package/assets/js/components/card/card.component.min.js.map +1 -1
  96. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  97. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  98. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  99. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  100. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  101. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  102. package/assets/js/components/filter-card/filter-card.component.js +71 -0
  103. package/assets/js/components/filter-card/filter-card.component.min.js +27 -0
  104. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -0
  105. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  106. package/assets/js/components/header/header.component.min.js +1 -1
  107. package/assets/js/components/header/header.component.min.js.map +1 -1
  108. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  109. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  110. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  111. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  112. package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
  113. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  114. package/assets/js/components/nav/nav.component.min.js +1 -1
  115. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  116. package/assets/js/components/notification/notification.component.min.js +1 -1
  117. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  118. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  119. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  120. package/assets/js/components/record-card/record-card.component.js +69 -0
  121. package/assets/js/components/record-card/record-card.component.min.js +27 -0
  122. package/assets/js/components/record-card/record-card.component.min.js.map +1 -0
  123. package/assets/js/components/search/search.component.min.js +1 -1
  124. package/assets/js/components/slider/slider.component.min.js +1 -1
  125. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  126. package/assets/js/components/table/table.component.min.js +2 -2
  127. package/assets/js/components/table/table.component.min.js.map +1 -1
  128. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  129. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  130. package/assets/js/components/video-card/video-card.component.js +176 -0
  131. package/assets/js/components/video-card/video-card.component.min.js +30 -0
  132. package/assets/js/components/video-card/video-card.component.min.js.map +1 -0
  133. package/assets/js/components.bundle.js +5 -0
  134. package/assets/js/components.bundle.js.map +1 -0
  135. package/assets/js/components.js +30 -0
  136. package/assets/js/modules/card.module.js +33 -0
  137. package/assets/js/modules/chart.js +2 -2
  138. package/assets/js/modules/dialogs.js +0 -6
  139. package/assets/js/modules/table.js +1 -1
  140. package/assets/js/scripts.bundle.js +3 -194
  141. package/assets/js/scripts.bundle.js.map +1 -1
  142. package/assets/js/scripts.bundle.min.js +2 -2
  143. package/assets/js/scripts.bundle.min.js.map +1 -1
  144. package/assets/js/scripts.js +17 -0
  145. package/assets/js/tests/filterlist.spec.js +1 -1
  146. package/assets/sass/_components.scss +81 -1
  147. package/assets/sass/_corefiles.scss +4 -10
  148. package/assets/sass/_elements.scss +2 -0
  149. package/assets/sass/components/card.component.scss +229 -0
  150. package/assets/sass/components/card.module.scss +154 -0
  151. package/assets/sass/components/charts.config.scss +3 -0
  152. package/assets/sass/components/charts.module.scss +5 -3
  153. package/assets/sass/components/filter-card.component.scss +106 -0
  154. package/assets/sass/components/multiselect.preload.scss +7 -0
  155. package/assets/sass/components/record-card.component.scss +204 -0
  156. package/assets/sass/components/video-card.component.scss +80 -0
  157. package/assets/sass/components.reset.scss +5 -43
  158. package/assets/sass/elements/badge-tag.scss +5 -1
  159. package/assets/sass/elements/buttons.scss +3 -0
  160. package/assets/sass/elements/dialog.scss +2 -744
  161. package/assets/sass/elements/forms.scss +5 -0
  162. package/assets/sass/elements/media.scss +0 -38
  163. package/assets/sass/elements/modal.scss +553 -0
  164. package/assets/sass/elements/popover.scss +207 -0
  165. package/assets/sass/foundations/reboot.scss +2 -2
  166. package/assets/sass/foundations/root.scss +0 -1
  167. package/assets/ts/components/barchart/barchart.component.ts +2 -0
  168. package/assets/ts/components/card/card.component.ts +94 -192
  169. package/assets/ts/components/filter-card/filter-card.component.ts +81 -0
  170. package/assets/ts/components/record-card/record-card.component.ts +82 -0
  171. package/assets/ts/components/video-card/video-card.component.ts +227 -0
  172. package/assets/ts/components.ts +38 -0
  173. package/assets/ts/modules/card.module.ts +43 -0
  174. package/assets/ts/modules/dialogs.ts +0 -8
  175. package/assets/ts/modules/table.ts +1 -1
  176. package/assets/ts/scripts.ts +22 -0
  177. package/assets/ts/tests/filterlist.spec.ts +1 -1
  178. package/dist/components.es.js +201 -201
  179. package/dist/components.umd.js +76 -81
  180. package/package.json +8 -7
  181. package/src/components/BarChart/BarChart.vue +2 -2
  182. package/src/components/FilterCard/FilterCard.vue +25 -0
  183. package/src/components/RecordCard/RecordCard.vue +25 -0
  184. package/src/components/VideoCard/VideoCard.vue +25 -0
  185. package/assets/css/components/card.css +0 -1
  186. package/assets/css/components/card.css.map +0 -1
  187. package/assets/css/components/card.global.css +0 -1
  188. package/assets/css/components/card.global.css.map +0 -1
  189. package/assets/css/components/card.preload.css +0 -1
  190. package/assets/css/components/card.preload.css.map +0 -1
  191. package/assets/js/bundle.js +0 -74
  192. package/assets/js/dynamic.js +0 -80
  193. package/assets/js/dynamic.min.js +0 -18
  194. package/assets/js/dynamic.min.js.map +0 -1
  195. package/assets/js/flat-components.js +0 -84
  196. package/assets/js/modules/youtubevideo.js +0 -106
  197. package/assets/sass/components/card.global.scss +0 -102
  198. package/assets/sass/components/card.preload.scss +0 -8
  199. package/assets/sass/components/card.scss +0 -606
  200. package/assets/ts/bundle.ts +0 -94
  201. package/assets/ts/components/barchart/README.md +0 -37
  202. package/assets/ts/components/card/README.md +0 -39
  203. package/assets/ts/dynamic.ts +0 -107
  204. package/assets/ts/flat-components.ts +0 -106
  205. package/assets/ts/modules/youtubevideo.ts +0 -141
  206. package/src/foundations/YoutubeVideo/README.md +0 -11
  207. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +0 -24
package/package.json CHANGED
@@ -5,22 +5,23 @@
5
5
  "name": "iamproperty"
6
6
  },
7
7
  "private": false,
8
- "version": "6.0.0",
8
+ "version": "6.1.0--beta",
9
9
  "scripts": {
10
10
  "bootstrap": "copyfiles -u 2 node_modules/bootstrap/**/* assets/bootstrap",
11
+ "reload": "vite --host",
11
12
  "dev": "npm run copy && node local_modules/delete-assets.js && vite --host",
12
13
  "build": "npm run compile && vue-tsc --noEmit && vite build --mode lib",
13
14
  "prepack": "npm run build",
14
15
  "build:docs": "npm run compile && npm run copy && vue-tsc --noEmit && vite build",
15
16
  "preview": "vite preview --host",
16
17
  "compile:sass": "sass assets/sass/main.scss assets/css/style.min.css --style=compressed && sass assets/sass/core.scss assets/css/core.min.css --style=compressed && sass assets/sass/components:assets/css/components --style=compressed",
17
- "compile:sass2": "sass assets/sass/core.scss assets/css/core.min.css --style=compressed",
18
18
  "compile:js": "rollup --environment BUNDLE:true --config rollup.config.js --sourcemap && terser --compress passes=2 --mangle --comments \"/^!/\" --source-map \"content=assets/js/scripts.bundle.js.map,includeSources,url=scripts.bundle.min.js.map\" --output assets/js/scripts.bundle.min.js assets/js/scripts.bundle.js",
19
19
  "compile:ts": "node node_modules/typescript/bin/tsc --project tscompileconfig.json && fix-esm-import-path assets/js",
20
20
  "compile": "npm run compile:sass && npm run compile:ts && npm run compile:js",
21
21
  "watch:ts": "tsc-watch -p tscompileconfig.json --onCompilationComplete \"fix-esm-import-path assets/js\"",
22
- "watch:sass": "sass --watch assets/sass/main.scss:assets/css/style.min.css assets/sass/core.scss:assets/css/core.min.css assets/sass/components:assets/css/components --style=compressed",
23
- "watch": "concurrently \"npm run dev\" \"serve\" \"npm run watch:sass\" \"node local_modules/sass.js\" \"npm run watch:ts\"",
22
+ "watch:sass": "sass --watch assets/sass/main.scss:assets/css/style.min.css assets/sass/core.scss:assets/css/core.min.css assets/sass/components.reset.scss:assets/css/components.reset.min.css assets/sass/components:assets/css/components --style=compressed",
23
+ "watch": "concurrently \"npm run dev\" \"npm run watch:ts\" \"npm run watch:sass\" \"node local_modules/components.js\"",
24
+ "watch2": "npm run watch:ts && npm run watch:sass && node local_modules/components.js && npm run dev",
24
25
  "copy:svg": "copyfiles -u 2 assets/svg/**/* public/svg && copyfiles -u 2 assets/svg/icons.svg public/svg && copyfiles -u 2 assets/svg/logo.svg public/svg",
25
26
  "copy:img": "copyfiles -u 2 assets/img/* public/img && copyfiles -u 2 assets/img/**/* public/img && copyfiles -u 2 assets/img/**/**/* public/img",
26
27
  "copy:fonts": "copyfiles -u 2 assets/fonts/**/* public/fonts",
@@ -81,8 +82,8 @@
81
82
  "postcss-css-variables": "^0.18.0",
82
83
  "puppeteer": "^22.12.0",
83
84
  "rollup-plugin-esbuild": "^5.0.0",
84
- "sass": "^1.60.0",
85
- "sass-true": "^7.0.0",
85
+ "sass": "^1.80.2",
86
+ "sass-true": "^8.1.0",
86
87
  "terser": "^5.16.6",
87
88
  "ts-jest": "^29.0.5",
88
89
  "ts-node-dev": "^2.0.0",
@@ -95,7 +96,7 @@
95
96
  "vue": "^3.2.47",
96
97
  "vue-jest": "^3.0.7",
97
98
  "vue-router": "^4.1.6",
98
- "vue-tsc": "^1.2.0"
99
+ "vue-tsc": "^2.1.10"
99
100
  },
100
101
  "main": "./dist/components.umd.js",
101
102
  "module": "./dist/components.es.js",
@@ -6,12 +6,12 @@
6
6
 
7
7
  <script>
8
8
  export default {
9
- name: 'Card',
9
+ name: 'Barchart',
10
10
  created(){
11
11
 
12
12
  this.$nextTick(function () {
13
13
 
14
- import(`../../../assets/js/components/barchart/barchart.component.js`).then(module => {
14
+ import(`../../../assets/js/components/barchart/barchart.component.min.js`).then(module => {
15
15
 
16
16
  if (!window.customElements.get(`iam-barchart`))
17
17
  window.customElements.define(`iam-barchart`, module.default);
@@ -0,0 +1,25 @@
1
+ <template>
2
+ <iam-filter-card>
3
+ <slot></slot>
4
+ </iam-filter-card>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'Card',
10
+ created(){
11
+
12
+ this.$nextTick(function () {
13
+
14
+ import(`../../../assets/js/components/filter-card/filter-card.component.js`).then(module => {
15
+
16
+ if (!window.customElements.get(`iam-filter-card`))
17
+ window.customElements.define(`iam-filter-card`, module.default);
18
+
19
+ }).catch((err) => {
20
+ console.log(err.message);
21
+ });
22
+ })
23
+ }
24
+ }
25
+ </script>
@@ -0,0 +1,25 @@
1
+ <template>
2
+ <iam-record-card>
3
+ <slot></slot>
4
+ </iam-record-card>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'Card',
10
+ created(){
11
+
12
+ this.$nextTick(function () {
13
+
14
+ import(`../../../assets/js/components/record-card/record-card.component.js`).then(module => {
15
+
16
+ if (!window.customElements.get(`iam-record-card`))
17
+ window.customElements.define(`iam-record-card`, module.default);
18
+
19
+ }).catch((err) => {
20
+ console.log(err.message);
21
+ });
22
+ })
23
+ }
24
+ }
25
+ </script>
@@ -0,0 +1,25 @@
1
+ <template>
2
+ <iam-video-card>
3
+ <slot></slot>
4
+ </iam-video-card>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'Video card',
10
+ created(){
11
+
12
+ this.$nextTick(function () {
13
+
14
+ import(`../../../assets/js/components/video-card/video-card.component.js`).then(module => {
15
+
16
+ if (!window.customElements.get(`iam-video-card`))
17
+ window.customElements.define(`iam-video-card`, module.default);
18
+
19
+ }).catch((err) => {
20
+ console.log(err.message);
21
+ });
22
+ })
23
+ }
24
+ }
25
+ </script>
@@ -1 +0,0 @@
1
- .card{--card-icon-right: 1rem;box-shadow:var(--card-box-shadow);border-radius:var(--card-border-radius);position:relative;font-weight:bold;font-size:1.125rem;line-height:1.5rem;color:var(--colour-primary);min-height:100%;width:100%;text-align:left;display:flex;flex-direction:column;overflow:hidden;z-index:0;background:var(--colour-canvas-2);outline:2px solid var(--outline-colour, --colour-canvas-2);outline-offset:-2px}.card>*:not(.btn-compact){min-width:100%}.card.border-0{box-shadow:none;--card-left-padding: 0rem;outline-offset:1px !important}.card__body{position:relative;padding:var(--card-top-padding) var(--card-right-padding) 0 var(--card-left-padding);z-index:-1}.card__footer{margin-top:auto;padding:0 var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding)}.card:is(:hover,:focus) .link:after{width:50%}.card:has(.card__footer .link):before,.card:has(.card__footer .link):after{display:none}.card:not(:has(.dialog__wrapper)):before,.card:not(:has(.dialog__wrapper)):after{content:"";position:absolute;right:var(--card-icon-right);bottom:var(--card-bottom-padding);height:1.5rem;width:1.5rem;background:var(--colour-warning);border-radius:50%}.card:not(:has(.dialog__wrapper)):after{background:var(--colour-primary-theme);mask-image:var(--icon, var(--icon-arrow));mask-size:50%;mask-repeat:no-repeat;mask-position:50% 50%;-webkit-mask-image:var(--icon, var(--icon-arrow));-webkit-mask-size:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:50% 50%;z-index:2}.card:not(:has(.dialog__wrapper)):is(:hover,:focus,.hover){--hover-outline-colour-default: var(--colour, var(--colour-primary));outline:2px solid var(--hover-outline-colour, var(--hover-outline-colour-default));outline-offset:-2px}.card:not(:has(.dialog__wrapper)):not([class*=colour-]):is(:hover,:focus,.hover,:active,.active):before{background:var(--hover-icon-bg, var(--colour-primary-theme))}.card:not(:has(.dialog__wrapper)):not([class*=colour-]):is(:hover,:focus,.hover,:active,.active):after{background:var(--hover-icon-colour, #ffffff)}.card:not(:has(.dialog__wrapper)):is(:active,.active){--card-icon-right: var(--card-icon-right-overide,0.5rem);outline:none}.card:not(:has(.dialog__wrapper)):is(:active){background:#fcfcfc}.card span{display:block;font-weight:bold;padding-top:1.5rem;font-size:1rem}.card:has(.card__illustration) .card__body{align-items:center;display:flex}.card:has(.card__illustration) .card__body .card__illustration{height:4rem;width:4rem;margin-right:1.5rem;margin-top:-1.25rem;margin-bottom:-1.25rem;position:relative}.card:has(.card__illustration) .card__body .card__illustration img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.card .card__total{font-size:3rem;line-height:3rem;padding-right:1rem;margin-top:.5rem}.card.card--has-icon:not(.card--secondary):not(.card--filter){display:flex;align-items:center}.card.card--has-icon:not(.card--secondary):not(.card--filter):before,.card.card--has-icon:not(.card--secondary):not(.card--filter):after{top:calc(50% - .75rem);bottom:auto}.card.card--has-icon:not(.card--secondary):not(.card--filter) .card__body{padding-left:4rem;margin-block:auto;padding-bottom:var(--card-bottom-padding)}.card.card--has-icon:not(.card--secondary):not(.card--filter) .card__footer{padding:0;display:none}::slotted(i){font-size:1.5rem !important;margin:-3px var(--card-icon-right) 0 0 !important;vertical-align:middle !important}::slotted(i:not(.fa-light):not(.fa-bold)){font-weight:400 !important}::slotted(span:not(.badge)){display:block !important;font-weight:normal !important;font-size:1rem !important}::slotted(small){padding-top:1rem !important;display:block !important;font-weight:normal !important;padding-bottom:0 !important;color:var(--colour-body)}::slotted(span:not(.badge):not([class*=pt-])){padding-top:1.5rem !important}.card__head .card__badges{position:absolute;top:1rem;text-align:left;left:1rem;z-index:9}.card__body .card__badges.card__badges--inline{margin-top:-1rem;min-height:1rem}.card__body .card__badges:not(.card__badges--inline){position:absolute;top:.5rem;text-align:left;right:.75rem;z-index:9}.card[class*=colour-],.card--filter{border-left:0.75rem solid var(--colour, var(--colour-primary))}.card--filter{--top-padding: 1.5rem;--right-padding: 1rem;--bottom-padding: 1.5rem;--left-padding: 1rem}.card--filter:has(.card__total) .card__body{align-items:center;display:flex}.card--filter:before,.card--filter:after{display:none}.card--filter:is(:hover,:focus,.hover){outline:none}.card--filter:is(:hover,:focus,.hover) :is(.card__body,.card__footer){background:#eee}.card--filter:is(:checked,.checked,:active,.active){outline:2px solid var(--colour, var(--colour-primary));outline-offset:-2px}.card--filter:is(:checked,.checked,:active,.active) .card__body{background:none}.card--filter:is(:checked,.checked,:active,.active) .card__footer{background:none}.card--filter.card--has-icon{--bottom-padding: 1rem;border:none}.card--filter .icon{font-size:1.125rem !important;height:1.125rem !important;margin:0 0 .5rem 0 !important;font-weight:400 !important;display:block !important}.card--filter .card__total{margin-top:0;order:-1}@media screen and (prefers-color-scheme: dark){.card--filter .card__body{background:none !important}.card--filter:is(:hover,:focus,.hover,:active,.active):not(:checked,.checked){outline:2px solid var(--colour, var(--colour-primary)) !important;outline-offset:-2px}}.card--filter ::slotted(i){display:block !important;font-size:1.125rem !important;margin:0 0 .5rem 0 !important}.card:has(.card__head) .card__head{padding-bottom:0;padding-top:var(--img-height, 27%);position:relative;overflow:hidden;background:rgba(0,0,0,.1);z-index:-1}.card:has(.card__head) .card__head>img{position:absolute;top:0;left:0;width:102%;height:102%;object-fit:cover}.card.card--lg-image:has(.card__head) .card__head{padding-top:55%}:host([data-selected]) .card:before,:host([data-selected]) .card:after{display:none !important}:host(.card--flag){position:relative}:host(.card--flag):after{content:"";font-family:"Font Awesome 6 Pro";position:absolute;top:1rem;right:1rem;font-size:1rem;line-height:1;height:1rem;width:1rem;display:inline-block;font-weight:normal;color:var(--colour, var(--colour-primary))}.card--secondary{--card-top-padding: 1rem;--card-bottom-padding: 1.5rem}.card--secondary:before,.card--secondary:after{display:none}.card--secondary .btn-compact{position:absolute;top:0;right:0;margin:.5rem .5rem 0 0;z-index:99}.card--secondary.secondary-hover{outline:2px solid var(--colour, var(--colour-primary));outline-offset:-2px}.card--secondary.secondary-hover .btn-compact{background-color:var(--colour);color:var(--colour-primary-theme);border-color:rgba(0,0,0,0) !important}.card--secondary:has(.btn-compact:is(:hover,:focus,:active)) .btn-compact{pointer-events:all}.card--secondary ::slotted(i){display:block !important;font-size:2.5rem !important;margin:.5rem 0 .5rem 0 !important;line-height:2.5rem}.card--record:has(.card__head){--img-height: 40%}.card--record:has(.card__head):before,.card--record:has(.card__head):after{display:none}.card--record:has(.card__head) .card__head{background:rgba(0,0,0,0);position:relative}:host([data-record=business]){--record-icon: "";--record-colour: var(--wider-colour-2)}:host([data-record=page]){--record-icon: "";--record-colour: var(--wider-colour-3)}:host([data-record=contact]){--record-icon: "";--record-colour: var(--wider-colour-4)}:host([data-record=lettings]){--record-icon: "";--record-icon-font: Font Awesome Kit;--record-colour: var(--wider-colour-5)}:host([data-record=sales]){--record-icon: "";--record-icon-font: Font Awesome Kit;--record-colour: var(--wider-colour-7)}:host([data-record=landlord]){--record-icon: "";--record-icon-font: Font Awesome Kit;--record-colour: var(--wider-colour-8)}:host([data-record=contractor]){--record-icon: "";--record-colour: var(--wider-colour-9)}:host([data-record=vendor]){--record-icon: "";--record-icon-font: Font Awesome Kit;--record-colour: var(--wider-colour-13)}:host([data-record=tenant]){--record-icon: "";--record-colour: var(--wider-colour-6)}:host([data-record=sales-applicant]){--record-icon: "";--record-icon-font: Font Awesome Kit;--record-colour: var(--wider-colour-10)}:host([data-record]) .card--record:has(.card__head) .card__head{background:rgba(0,0,0,0);position:relative}:host([data-record]) .card--record:has(.card__head) .card__head:before{font-family:var(--record-icon-font, "Font Awesome 6 Pro");font-weight:normal;font-size:1.5rem;content:var(--record-icon);display:block;position:absolute;top:auto;left:50%;bottom:0;background-color:var(--record-colour);border-radius:50%;height:4rem;line-height:4rem;width:4rem;text-align:center;transform:translate(-50%, 0)}slot[name=btns]{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;margin-right:calc(var(--card-right-padding)*-1);margin-bottom:calc(var(--card-bottom-padding)*-1);padding-right:1rem;padding-bottom:1rem;pointer-events:none}::slotted([slot=btns]){pointer-events:all;margin:0 !important}.dialog__wrapper{position:absolute;right:1rem;bottom:2rem;min-width:3rem !important;left:auto;z-index:999}.dialog__wrapper>dialog{display:var(--menu-display, none);position:fixed;top:anchor(top);position-anchor:--anchor-el;left:anchor(right);right:auto;margin:0 0 0 0.25rem;padding:1rem}.dialog__wrapper>dialog::backdrop{display:none}.dialog__wrapper>dialog:popover-open{display:block !important}.dialog__wrapper:has(dialog:popover-open)>button{background-color:var(--colour)}.dialog__wrapper>button{margin:0;anchor-name:--anchor-el}.dialog__wrapper>button:not(:hover,:focus,:focus-within,:active){background:var(--ellipsis-bg)}::slotted([slot=actions]){border:none !important;margin:0 !important;display:block !important;width:fit-content}::slotted([slot=primary-action]){overflow:hidden;background-color:rgba(0,0,0,0);text-indent:-300%;position:absolute !important;inset:0;margin:0 !important;z-index:99;border:none}::slotted([slot=primary-action]:is(:hover,:focus,.hover)){--hover-outline-colour-default: var(--colour, var(--colour-primary));outline:2px solid var(--hover-outline-colour, var(--hover-outline-colour-default));outline-offset:-2px;border-radius:var(--card-border-radius) !important}/*# sourceMappingURL=card.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../sass/components/card.scss","../../sass/_functions/mixins.scss"],"names":[],"mappings":"CAGA,MACE,wBACA,kCACA,wCACA,kBACA,iBACA,mBACA,mBACA,4BACA,gBACA,WACA,gBACA,aACA,sBACA,gBACA,UACA,kCACA,2DACA,oBAEA,0BACE,eAGF,eACE,gBACA,0BACA,8BAGF,YACE,kBACA,qFACA,WAGF,cACE,gBACA,wFAIA,oCACE,UAKF,2EAEE,aAMF,iFAEE,WACA,kBACA,6BACA,kCACA,cACA,aACA,iCACA,kBAGF,wCACE,uCACA,0CACA,cACA,sBACA,sBACA,kDACA,sBACA,8BACA,8BACA,UAGF,2DACE,qEACA,mFACA,oBAMA,wGACE,6DAEF,uGACE,6CAIJ,sDACE,yDACA,aAGF,8CACE,mBAKJ,WACE,cACA,iBACA,mBACA,eAGF,2CAEE,mBACA,aAEA,+DACE,YACA,WACA,oBACA,oBACA,uBACA,kBAEA,mEACE,kBACA,MACA,OACA,WACA,YACA,mBAMN,mBACE,eACA,iBACA,mBACA,iBAGF,8DACE,aACA,mBAEA,yIAEE,uBACA,YAIJ,0EACE,kBACA,kBACA,0CAEF,4EACE,UACA,aAIJ,aACE,4BACA,kDACA,iCAEF,0CACE,2BAGF,4BACE,yBACA,8BACA,0BAEF,iBACE,4BACA,yBACA,8BACA,4BACA,yBAEF,8CACE,8BAKF,0BAEE,kBACA,SACA,gBACA,UACA,UAGF,+CAEE,iBACA,gBAEF,qDAEE,kBACA,UACA,gBACA,aACA,UAMF,oCAGE,+DAKF,cACE,sBACA,sBACA,yBACA,qBAIA,4CAEE,mBACA,aAGF,yCAEE,aAGF,uCACE,aAEA,sEACE,gBAIJ,oDACE,uDACA,oBAEA,gEACE,gBAEF,kEACE,gBAIJ,6BACE,uBACA,YAGF,oBACE,8BACA,2BACA,8BACA,2BACA,yBAGF,2BACE,aACA,SC3QF,+CDkRE,0BACE,2BAGF,8EACE,kEACA,qBAKN,2BACE,yBACA,8BACA,8BAMA,mCACE,iBACA,mCACA,kBACA,gBACA,0BACA,WAEA,uCACE,kBACA,MACA,OACA,WACA,YACA,iBAKN,kDAEE,gBAQA,uEAEE,wBAKJ,mBACE,kBAEA,yBACE,YACA,iCACA,kBACA,SACA,WACA,eACA,cACA,YACA,WACA,qBACA,mBACA,2CAOJ,iBAEE,yBACA,8BAEA,+CAEE,aAIJ,8BACE,kBACA,MACA,QACA,uBACA,WAIF,iCAEE,uDACA,oBAEA,8CACE,+BACA,kCACA,sCAMF,0EACE,mBAIJ,8BACE,yBACA,4BACA,kCACA,mBAQF,+BACE,kBAEA,2EAEE,aAGF,2CACE,yBACA,kBAKJ,8BACE,mBACA,uCAEF,0BACE,mBACA,uCAEF,6BACE,mBACA,uCAEF,8BACE,mBACA,qCACA,uCAGF,2BACE,mBACA,qCACA,uCAEF,8BACE,mBACA,qCACA,uCAGF,gCACE,mBACA,uCAGF,4BACE,mBACA,qCACA,wCAGF,4BACE,mBACA,uCAEF,qCACE,mBACA,qCACA,wCAKA,gEACE,yBACA,kBAEA,uEACE,0DACA,mBACA,iBACA,2BACA,cACA,kBACA,SACA,SACA,SACA,sCACA,kBACA,YACA,iBACA,WACA,kBACA,6BAON,gBACE,aACA,mBACA,iBACA,yBACA,gDAEA,kDACA,mBACA,oBAEA,oBAGF,uBAEE,mBACA,oBAKF,iBACE,kBACA,WACA,YACA,0BACA,UACA,YAEA,wBAEE,kCACA,eACA,gBACA,4BACA,mBACA,WACA,qBACA,aAGA,kCACE,aAIJ,qCAEE,yBAGF,iDACE,+BAGF,wBACE,SACA,wBAEA,iEAEE,8BAIN,0BACE,uBACA,oBACA,yBACA,kBAEF,iCACE,gBACA,+BACA,kBACA,6BACA,QACA,oBACA,WACA,YAEF,0DACE,qEACA,mFACA,oBACA","file":"card.css"}
@@ -1 +0,0 @@
1
- iam-card{margin-bottom:1.5rem;display:block}@supports not selector(:has(*)){iam-card{margin-bottom:2rem;display:block}}iam-card>div:has([type=checkbox]){display:contents}iam-card>div:has([type=checkbox])>input:is([type=radio],[type=checkbox])+label{position:absolute !important;top:.5rem;right:.5rem;width:2rem;padding-left:2rem;margin:0.25rem 0.5rem !important;height:2.5rem;overflow:hidden}iam-card:has([type=checkbox]:checked){--hover-outline-colour: var(--colour-info);--outline-colour: var(--colour-info)}iam-card:has([type=checkbox]+label:hover){--hover-outline-colour: transparent;--hover-icon-bg: var(--colour-warning);--hover-icon-colour: var(--colour-primary-theme);--card-icon-right-overide:1rem}iam-card:has([type=checkbox]:active){--hover-outline-colour: transparent;--hover-icon-bg: var(--colour-warning);--hover-icon-colour: var(--colour-primary-theme);--card-icon-right-overide:1rem}iam-card.card--has-icon:not(.card--filter):not(.card--secondary) i{position:absolute;top:calc(50% - .5rem - 2px);left:1rem}iam-card .badge i{position:static !important;margin-right:.25rem}:is(a,button,label) iam-card{margin-bottom:0 !important}[data-select-container]:has([type=checkbox]:checked) iam-card>div:has([type=checkbox])>input:is([type=radio],[type=checkbox]){width:100%;height:100%;max-height:100%;max-width:100%;cursor:pointer;pointer-events:all;inset:0;border-radius:0;z-index:10}a[target=_blank] iam-card::part(card){--icon: var(--icon-new-tab)}/*# sourceMappingURL=card.global.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../sass/components/card.global.scss"],"names":[],"mappings":"AAIA,SAEE,qBACA,cAEA,gCALF,SAOI,mBACA,eAIF,kCACE,iBAEA,+EAEE,6BACA,UACA,YACA,WACA,kBACA,iCACA,cACA,gBAIJ,sCACE,2CACA,qCAGF,0CAGE,oCACA,uCACA,iDACA,+BAGF,qCAGE,oCACA,uCACA,iDACA,+BAIF,mEACE,kBACA,4BACA,UAKA,kBACE,2BACA,oBAKN,6BACE,2BAQE,8HACE,WACA,YACA,gBACA,eACA,eACA,mBACA,QACA,gBACA,WASN,sCAEE","file":"card.global.css"}
@@ -1 +0,0 @@
1
- iam-card:not(:defined){box-shadow:var(--card-box-shadow);border-radius:var(--card-border-radius);padding:var(--card-top-padding) var(--card-right-padding) var(--card-bottom-padding) var(--card-left-padding)}/*# sourceMappingURL=card.preload.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../../sass/components/card.preload.scss"],"names":[],"mappings":"AAEA,uBACE,kCACA,wCACA","file":"card.preload.css"}
@@ -1,74 +0,0 @@
1
- // @ts-nocheck
2
- // Modules
3
- import * as helpers from '../js/modules/helpers.js';
4
- import extendDialogs from '../js/modules/dialogs.js';
5
- import createDataLayer from '../js/modules/data-layer.js';
6
- import extendInputs from '../js/modules/inputs.js';
7
- import nav from '../js/modules/nav.js';
8
- import testimonial from '../js/modules/testimonial.js';
9
- import carousel from '../js/modules/carousel.js';
10
- import form from '../js/modules/form.js';
11
- import youtubeVideo from '../js/modules/youtubevideo.js';
12
- import iamHeader from './components/header/header.component.js';
13
- import iamAccordion from './components/accordion/accordion.component.js';
14
- import iamTabs from './components/tabs/tabs.component.js';
15
- import iamTable from './components/table/table.component.js';
16
- import iamCard from './components/card/card.component.js';
17
- import iamAppliedFilters from './components/applied-filters/applied-filters.component.js';
18
- import iamPagination from './components/pagination/pagination.component.js';
19
- import iamFilterlist from './components/filterlist/filterlist.component.js';
20
- import iamNotification from './components/notification/notification.component.js';
21
- // Attach classes to dom elements
22
- document.addEventListener("DOMContentLoaded", function () {
23
- createDataLayer();
24
- // Global stuff
25
- helpers.addBodyClasses(document.body);
26
- helpers.addGlobalEvents(document.body);
27
- extendDialogs(document.body);
28
- extendInputs(document.body);
29
- //helpers.checkElements(document.body);
30
- if (!window.customElements.get(`iam-header`))
31
- window.customElements.define(`iam-header`, iamHeader);
32
- if (!window.customElements.get(`iam-accordion`))
33
- window.customElements.define(`iam-accordion`, iamAccordion);
34
- if (!window.customElements.get(`iam-tabs`))
35
- window.customElements.define(`iam-tabs`, iamTabs);
36
- if (!window.customElements.get(`iam-table`))
37
- window.customElements.define(`iam-table`, iamTable);
38
- if (!window.customElements.get(`iam-card`))
39
- window.customElements.define(`iam-card`, iamCard);
40
- if (!window.customElements.get(`iam-filterlist`))
41
- window.customElements.define(`iam-filterlist`, iamFilterlist);
42
- if (!window.customElements.get(`iam-pagination`))
43
- window.customElements.define(`iam-pagination`, iamPagination);
44
- if (!window.customElements.get(`iam-applied-filters`))
45
- window.customElements.define(`iam-applied-filters`, iamAppliedFilters);
46
- if (!window.customElements.get(`iam-notification`))
47
- window.customElements.define(`iam-notification`, iamNotification);
48
- // ANav
49
- Array.from(document.querySelectorAll('.nav')).forEach((arrayElement) => {
50
- nav(arrayElement);
51
- });
52
- // Testimonial
53
- Array.from(document.querySelectorAll('.testimonial')).forEach((arrayElement) => {
54
- testimonial(arrayElement);
55
- });
56
- // Carousel
57
- Array.from(document.querySelectorAll('.carousel')).forEach((arrayElement) => {
58
- carousel(arrayElement);
59
- });
60
- // Form
61
- Array.from(document.querySelectorAll('form')).forEach((arrayElement) => {
62
- form(arrayElement);
63
- });
64
- // YouTube videos
65
- Array.from(document.querySelectorAll('.youtube-embed')).forEach((arrayElement) => {
66
- new youtubeVideo(arrayElement);
67
- });
68
- window.addEventListener('hashchange', function () {
69
- const hash = location.hash.replace('#', '');
70
- const label = document.querySelector(`label[for="${hash}"]`);
71
- if (label instanceof HTMLElement)
72
- label.click();
73
- }, false);
74
- });
@@ -1,80 +0,0 @@
1
- // @ts-nocheck
2
- // Modules
3
- import * as helpers from '../js/modules/helpers.js';
4
- import extendDialogs from '../js/modules/dialogs.js';
5
- import createDataLayer from '../js/modules/data-layer.js';
6
- import extendInputs from '../js/modules/inputs.js';
7
- import nav from '../js/modules/nav.js';
8
- import testimonial from '../js/modules/testimonial.js';
9
- import carousel from '../js/modules/carousel.js';
10
- import form from '../js/modules/form.js';
11
- import youtubeVideo from '../js/modules/youtubevideo.js';
12
- import iamNotification from './components/notification/notification.component.js';
13
- const components = ['accordion', 'header', 'tabs', 'table', 'card', 'pagination', 'filterlist', 'applied-filters', 'nav', 'marketing'];
14
- const prefix = "iam";
15
- const options = {
16
- rootMargin: '50px',
17
- threshold: 0.1
18
- };
19
- const componentExt = ".component.min.js";
20
- // Load components - Each component will load once the first of its type has been loaded
21
- components.forEach((component) => {
22
- console.log(component);
23
- if (document.getElementsByTagName(`${prefix}-${component}`).length === 0)
24
- return;
25
- let callback = (entries) => {
26
- entries.forEach((entry) => {
27
- if (entry.intersectionRatio > 0) {
28
- console.log(component);
29
- import(`./components/${component}/${component}${componentExt}`).then(module => {
30
- if (!window.customElements.get(`${prefix}-${component}`))
31
- window.customElements.define(`${prefix}-${component}`, module.default);
32
- }).catch((err) => {
33
- console.log(err.message);
34
- });
35
- intObserver.unobserve(entry.target);
36
- }
37
- });
38
- };
39
- const intObserver = new IntersectionObserver(callback, options);
40
- intObserver.observe(document.getElementsByTagName(`${prefix}-${component}`)[0]);
41
- });
42
- // Attach classes to dom elements
43
- document.addEventListener("DOMContentLoaded", function () {
44
- createDataLayer();
45
- // Global stuff
46
- helpers.addBodyClasses(document.body);
47
- helpers.addGlobalEvents(document.body);
48
- //helpers.checkElements(document.body);
49
- extendDialogs(document.body);
50
- extendInputs(document.body);
51
- if (!window.customElements.get(`iam-notification`))
52
- window.customElements.define(`iam-notification`, iamNotification);
53
- // ANav
54
- Array.from(document.querySelectorAll('.nav')).forEach((arrayElement) => {
55
- nav(arrayElement);
56
- });
57
- // Testimonial
58
- Array.from(document.querySelectorAll('.testimonial')).forEach((arrayElement) => {
59
- testimonial(arrayElement);
60
- });
61
- // Carousel
62
- Array.from(document.querySelectorAll('.carousel')).forEach((arrayElement) => {
63
- carousel(arrayElement);
64
- });
65
- // Form
66
- Array.from(document.querySelectorAll('form')).forEach((arrayElement) => {
67
- form(arrayElement);
68
- });
69
- // YouTube videos
70
- Array.from(document.querySelectorAll('.youtube-embed')).forEach((arrayElement) => {
71
- console.log(arrayElement);
72
- new youtubeVideo(arrayElement);
73
- });
74
- window.addEventListener('hashchange', function () {
75
- const hash = location.hash.replace('#', '');
76
- const label = document.querySelector(`label[for="${hash}"]`);
77
- if (label instanceof HTMLElement)
78
- label.click();
79
- }, false);
80
- });
@@ -1,18 +0,0 @@
1
- /*!
2
- * iamKey v6.0.0
3
- * Copyright 2022-2024 iamproperty
4
- */(function(p){typeof define=="function"&&define.amd?define(p):p()})(function(){"use strict";const p=e=>(e.classList.add("js-enabled"),(navigator.userAgent.indexOf("MSIE")!==-1||navigator.appVersion.indexOf("Trident/")>0)&&e.classList.add("ie"),null),E=e=>{const i=function(t){const a=document.querySelector(`label[for="${t.replace("#","")}"]`),o=document.querySelector(t+" summary"),r=document.querySelector(`dialog${t}`),s=document.querySelector(`detail${t}`);a instanceof HTMLElement?a.click():o instanceof HTMLElement?o.click():r instanceof HTMLElement?r.showModal():s instanceof HTMLElement&&s.addAttribute("open")};return location.hash&&i(location.hash),window.addEventListener("hashchange",function(){i(location.hash)},!1),addEventListener("popstate",t=>{if(t&&t.state&&t.state.type&&t.state.type=="pagination"){let a=document.querySelector(`#${t.state.form}`),o=document.querySelector(`#${t.state.form} [data-pagination]`);o?o.value=t.state.page:a.innerHTML+=`<input name="page" type="hidden" data-pagination="true" value="${t.state.page}" />`,a.dispatchEvent(new Event("submit"))}}),document.addEventListener("submit",t=>{if(t&&t.target instanceof HTMLElement&&t.target.matches("form")){let a=t.target;Array.from(a.querySelectorAll("[data-password-type]")).forEach((o,r)=>{o.setAttribute("type","password")}),(a.querySelector(":invalid")||a.querySelector('.pwd-checker[data-strength="1"]')||a.querySelector('.pwd-checker[data-strength="2"]'))&&(a.classList.add("was-validated"),t.preventDefault()),a.querySelector("iam-multiselect[data-is-required][data-error]")&&(a.classList.add("was-validated"),t.preventDefault())}}),document.addEventListener("keydown",t=>{t.key==="Escape"&&document.querySelector(".dialog--transactional[open], .dialog--acknowledgement[open]")&&(t.preventDefault(),t.stopPropagation())}),Array.from(document.querySelectorAll("label progress")).forEach((t,a)=>{t.closest("label").setAttribute("data-percent",t.getAttribute("value"))}),null};class q{constructor(i){document.body.classList.contains("youtubeLoaded")?i.addEventListener("click",function(t){for(var a=t.target;a&&a!=this;a=a.parentNode)if(a.matches("a")){t.preventDefault(),g(a);break}},!1):this.loadScripts(i,this.createEmbed)}loadScripts(i){return new Promise((t,a)=>{const o=new Image;o.onload=function(){var r=document.createElement("script");r.src="https://www.youtube.com/iframe_api";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(r,s),document.body.classList.add("youtubeLoaded"),t(!0),r.onload=()=>{i.addEventListener("click",function(l){console.log("click"),l&&l.target instanceof HTMLElement&&l.target.closest("a")&&(l.preventDefault(),g(l.target.closest("a")))},!1)}},o.onerror=function(){a(!1)},o.src="https://youtube.com/favicon.ico"})}}const g=function(e){typeof window.player<"u"&&typeof window.player.pauseVideo=="function"&&window.player.pauseVideo();var i=e.getAttribute("data-id"),t=e.getAttribute("id");if(typeof t>"u"||t==null){var a=String.fromCharCode(65+Math.floor(Math.random()*26));t=a+Date.now(),e.setAttribute("id",t)}function o(){window.player=new YT.Player(t,{height:"100%",width:"100%",videoId:i,playerVars:{modestbranding:1,playsinline:1,rel:0,showinfo:0},events:{onReady:r,onStateChange:l}})}o();function r(n){n.target.playVideo()}var s=!1;function l(n){if(n.data==YT.PlayerState.PLAYING&&!s){var c=document.getElementById(t);c.classList.add("player-ready"),s=!0}}},x=e=>(Array.from(e.querySelectorAll("dialog[open]")).forEach((i,t)=>{i.closest(".dialog__wrapper")||(i.removeAttribute("open"),i.showModal(),i.focus(),L(i))}),e.addEventListener("click",i=>{if(i.target.tagName=="IAM-ACTIONBAR")return!1;if(i&&i.target instanceof HTMLElement&&i.target.closest("[data-modal]")){const o=i.target.closest("[data-modal]"),r=o.hasAttribute("data-modal")?o.getAttribute("data-modal"):o.getAttribute("data-filter"),s=document.querySelector(`dialog#${r}`);L(s),s.showModal(),s.focus();let l=s.offsetWidth;s.setAttribute("style",`max-width: ${l}px;`),Array.from(s.querySelectorAll("[data-duplicate]")).forEach((n,c)=>{const d=n.getAttribute("data-duplicate"),f=document.getElementById(d);if(n.checked!=f.checked){n.checked=f.checked;let u=new Event("change");n.dispatchEvent(u)}}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"openModal",id:r})}if(i&&i.target instanceof HTMLElement&&i.target.closest("button.dialog__close")){const o=i.target.closest("dialog[open]");i.preventDefault(),o.close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((s,l)=>{s.classList.remove("active")});let r=new CustomEvent("dialog-closed",{bubbles:!0,cancelable:!0,detail:{modalId:o.id}});i.target.dispatchEvent(r),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:o.getAttribute("id")})}if(i&&i.target instanceof HTMLElement&&i.target.closest('button[formmethod="dialog"]')){const o=i.target.closest("dialog[open]");Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((r,s)=>{r.classList.remove("active")}),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:o.getAttribute("id")})}if(i&&i.target instanceof HTMLElement&&i.target.closest("dialog[open]")){let o=i.target.closest("dialog[open]");var t=window.getComputedStyle(o);if(t.display==="contents"&&(o=o.parentNode.closest("dialog[open]")),!o.classList.contains("dialog--transactional")&&!o.classList.contains("dialog--acknowledgement")){const r=o.getBoundingClientRect();(i.clientX<r.left||i.clientX>r.right||i.clientY<r.top||i.clientY>r.bottom)&&(i.target.closest("dialog *")||o.close(),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"closeModal",id:o.getAttribute("id")}))}}if(i&&i.target instanceof HTMLElement&&i.target.closest(".dialog__wrapper > button")){i.stopPropagation();let o=i.target.closest(".dialog__wrapper > button"),r=o.parentNode,s="openPopover",l=r.querySelector(":scope > dialog");if(document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]")!=l&&o.closest("dialog[open]")!=document.querySelector("*:not([data-keep-open]) > dialog[open]")&&document.querySelector("*:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper > button")).forEach((f,u)=>{f.removeAttribute("aria-expanded")}),l.hasAttribute("open"))l.close(),s="closePopover",l.removeAttribute("style"),o.removeAttribute("aria-expanded");else{l.show(),o.setAttribute("aria-expanded",!0);var a=o.getBoundingClientRect();let f=a.top,u=a.left;if(o.closest("iam-table")){let m=o.closest("iam-table").parentNode.getBoundingClientRect();f-=m.top,u-=m.left}l.classList.contains("dialog--fix")&&l.setAttribute("style",`position:fixed;top: ${f}px; left: ${u}px; margin: 3rem 0 0 0;`)}let n=l.getBoundingClientRect(),c=n.bottom-window.scrollY,d=window.innerHeight-window.scrollY;if(c>d){let f=l.hasAttribute("style")?l.getAttribute("style")+" ":"";l.setAttribute("style",f+"transform: translate(0, calc(-100% - 4rem))"),n=l.getBoundingClientRect(),n.top-window.scrollY<100&&l.removeAttribute("style")}window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:s,id:o.textContent})}i&&i.target instanceof HTMLElement&&!i.target.closest("dialog[open]")&&!i.target.closest(".dialog__wrapper > button")&&(document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]")&&document.querySelector(".dialog__wrapper:not([data-keep-open]) > dialog[open]").close(),Array.from(document.querySelectorAll(".dialog__wrapper:not([data-keep-open]) > button")).forEach((o,r)=>{o.removeAttribute("aria-expanded")}))}),null),L=e=>{let i=e.querySelector(".youtube-embed a");if(i&&g(i),e.classList.contains("dialog--multi")&&!e.querySelector(":scope > .steps")&&k(e),!e.querySelector(":scope .mh-lg")&&!e.classList.contains("dialog--multi")){e.innerHTML=`<div class="mh-lg">${e.innerHTML}</div>`;let t=e.querySelector(".mh-lg"),a=e.querySelector(".mh-lg :is(.h1,.h2,.h3,.h4,.h5,.h6)");if(a){let o=a.previousSibling;t.before(a),o&&a.before(o)}}e.querySelector(":scope > button:first-child")||e.insertAdjacentHTML("afterbegin",'<button class="dialog__close">Close</button>')},k=e=>{let i="",t=Array.from(e.querySelectorAll("fieldset[data-title]")),a=e.querySelector("form");t.forEach((s,l)=>{i+=`<button data-title="${s.getAttribute("data-title")}" type="button" class="${l==0?"active":""}" tabindex="-1">${s.getAttribute("data-title")}</button>`;const n=document.createElement("div");if(n.classList.add("btn--wrapper"),s.appendChild(n),l!=0&&(n.innerHTML+=`<button data-title="${t[l-1].getAttribute("data-title")}" class="btn btn-secondary mb-0" data-previous type="button">Previous</button>`),l!=t.length-1&&(n.innerHTML+=`<button data-title="${t[l+1].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="button">Next</button>`),l==t.length-1)if(a&&a.querySelector(':scope > button[type="submit"]')){let c=a.querySelector(':scope > button[type="submit"]');c.classList.add("mb-0"),n.insertAdjacentElement("beforeend",c)}else n.innerHTML+=`<button data-title="${t[l].getAttribute("data-title")}" class="btn btn-primary mb-0" data-next type="submit">Submit</button>`}),e.insertAdjacentHTML("afterbegin",`<div class="steps bg-primary">${i}</div>`);let o=Array.from(e.querySelectorAll("fieldset.was-validated"));for(let s=0;s<o.length;s++){let l=o[s],n=l.getAttribute("data-title");if(l.querySelector(".is-invalid")){Array.from(e.querySelectorAll(`[data-title="${n}"]`)).forEach((c,d)=>{c.classList.add("active")});break}else Array.from(e.querySelectorAll(`[data-title="${n}"]`)).forEach((c,d)=>{c.classList.add("valid")})}e.addEventListener("invalid",function(){return function(s){s.preventDefault()}}(),!0);function r(s){const l=e.querySelector("fieldset.active")?e.querySelector("fieldset.active"):e.querySelector("fieldset[data-title]"),n=l.getAttribute("data-title");let c=!0;if(l.classList.add("was-validated"),Array.from(l.querySelectorAll("input")).forEach((u,m)=>{u.checkValidity()||(c=!1)}),c?Array.from(e.querySelectorAll(`[data-title="${n}"]`)).forEach((u,m)=>{u.classList.add("valid")}):Array.from(e.querySelectorAll(`[data-title="${n}"]`)).forEach((u,m)=>{u.classList.remove("valid")}),c||!s.hasAttribute("data-next")){const u=e.querySelector(`fieldset[data-title="${s.getAttribute("data-title")}"]`),m=e.querySelector(`.steps button[data-title="${s.getAttribute("data-title")}"]`);Array.from(e.querySelectorAll("button")).forEach((h,b)=>{h.classList.remove("active")}),Array.from(e.querySelectorAll("fieldset")).forEach((h,b)=>{h.classList.remove("active")}),m.classList.add("active"),u.classList.add("active")}let d=Array.from(e.querySelectorAll("fieldset")).length,f=Array.from(e.querySelectorAll("fieldset.valid")).length;e.style.setProperty("--progress",`${f/(d-1)*100}%`)}e.addEventListener("keydown",s=>{if(s&&s.target instanceof HTMLElement&&s.target.closest("button")){const l=s.target.closest("button");s.keyCode==13&&l.getAttribute("type")!="submit"&&(s.preventDefault(),r(l))}s&&s.target instanceof HTMLElement&&s.target.closest("input")&&(s.target.closest("input").classList.remove("is-invalid"),s.keyCode==13&&s.preventDefault())}),e.addEventListener("click",s=>{if(s&&s.target instanceof HTMLElement&&s.target.closest('button[type="submit"]'))s.target.closest("form").classList.add("was-validated");else if(s&&s.target instanceof HTMLElement&&s.target.closest("button[data-title]")){const l=s.target.closest("button[data-title]");r(l)}return null})};function T(){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"Pageview",pageTitle:document.title}),document.addEventListener("click",e=>{const i=e.target.closest("[open] summary");if(i)window.dataLayer.push({event:"closeDetails",detailsTitle:i.textContent||""});else{const t=e.target.closest("summary"),a=e.target.closest("a"),o=e.target.closest("button");t&&window.dataLayer.push({event:"openDetails",detailsTitle:t.textContent||""}),a&&window.dataLayer.push({event:"linkClicked",linkText:a.hasAttribute("title")?a.getAttribute("title")||"":a.textContent||"",class:a.hasAttribute("class")&&a.getAttribute("class")||"",href:a.getAttribute("href")||""}),o&&window.dataLayer.push({event:"buttonClicked",buttonText:o.textContent||"",class:o.hasAttribute("class")&&o.getAttribute("class")||""})}})}function M(e){var i=new TextEncoder("utf-8").encode(e);return crypto.subtle.digest("SHA-1",i).then(function(t){for(var a=[],o=new DataView(t),r=0;r<o.byteLength;r+=4){var s=o.getUint32(r),l=s.toString(16),n="00000000",c=(n+l).slice(-n.length);a.push(c)}return a.join("")})}const $=(e,i)=>{M(e).then(function(t){const a=new XMLHttpRequest;a.addEventListener("load",function(){const o=this.responseText.split(`
5
- `),r=t.slice(5).toUpperCase();var s=!1;for(let n in o)if(o[n].substring(0,35)==r){s=!0;break}const l=new CustomEvent("hibpCheck",{detail:s});i.dispatchEvent(l)}),a.open("GET","https://api.pwnedpasswords.com/range/"+t.substr(0,5)),a.send()})},C=e=>{function i(){if(Array.from(document.querySelectorAll("input[maxlength],textarea[maxlength]")).forEach((t,a)=>{t.parentElement,_(t)}),Array.from(document.querySelectorAll("label input")).forEach((t,a)=>{!t.closest("label").querySelector(".optional-text")&&!t.hasAttribute("required")&&(t.parentNode.tagName.toLowerCase()=="span"?t.parentElement.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'):t.insertAdjacentHTML("beforebegin",'<span class="optional-text"></span>'))}),document.querySelector('input[type="date"]')){let a=function(o){const r=o.getFullYear(),s=String(o.getMonth()+1).padStart(2,"0"),l=String(o.getDate()).padStart(2,"0");return`${r}-${s}-${l}`};const t=new Date;Array.from(document.querySelectorAll('input[type="date"]')).forEach((o,r)=>{let s=t;if(o.hasAttribute("data-start")&&(s.setDate(s.getDate()+parseInt(o.getAttribute("data-start"))),o.setAttribute("min",a(s))),o.hasAttribute("data-period")){let l=parseInt(o.getAttribute("data-period")),n=new Date;n.setDate(s.getDate()+l),o.setAttribute("max",a(n))}if(o.hasAttribute("data-allowed-days")){let l=JSON.parse(`[${o.getAttribute("data-allowed-days")}]`);o.addEventListener("input",function(n){var c=new Date(this.value).getUTCDay();l.includes(c)?o.setCustomValidity(""):o.setCustomValidity("That day of the week is not allowed")})}})}}document.readyState==="complete"&&i(),document.onreadystatechange=()=>{document.readyState==="complete"&&i()},e.addEventListener("input",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest("input,textarea,select")){const a=t.target.closest("input,textarea,select");a.parentElement,a.hasAttribute("type")&&a.getAttribute("type")=="color"&&(a.nextElementSibling.value=a.value),a.hasAttribute("maxlength")&&a.nextElementSibling&&a.nextElementSibling.setAttribute("data-count",a.value.length),a.hasAttribute("data-strength-checker")&&A(a)}}),e.addEventListener("change",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest("select")){const a=t.target.closest("select");if(a.hasAttribute("data-change-type")&&a.hasAttribute("data-input")){const o=document.getElementById(a.getAttribute("data-input")),r=a.value;S(o,r)}}if(t&&t.target instanceof HTMLElement&&t.target.closest('dialog [type="radio"]')){const a=t.target.closest("dialog");t.target.closest('dialog [type="radio"]'),Array.from(a.querySelectorAll('[type="radio"][autofocus]')).forEach((o,r)=>{o.removeAttribute("autofocus")}),Array.from(a.querySelectorAll('[type="radio"]:checked')).forEach((o,r)=>{o.setAttribute("autofocus",!0)})}}),e.addEventListener("click",t=>{if(t&&t.target instanceof HTMLElement&&t.target.closest("[data-change-type][data-input]:not(select)")){const a=t.target.closest("[data-change-type]"),o=document.getElementById(a.getAttribute("data-input")),r=a.getAttribute("data-change-type");if(a.setAttribute("data-change-type",o.getAttribute("type")),S(o,r),a.hasAttribute("data-alt-class")){const s=a.getAttribute("data-alt-class");a.setAttribute("data-alt-class",a.getAttribute("class")),a.setAttribute("class",s)}}})},_=e=>{let i=e.parentElement,t=e.getAttribute("maxlength");i.style.setProperty("--maxlength",t);let a=e.nextElementSibling;(!a||a&&a.classList.contains("invalid-feedback"))&&(a=document.createElement("span"),i.insertBefore(a,e.nextSibling)),a.setAttribute("data-count",e.value.length)},S=(e,i)=>{e.hasAttribute("type")&&e.getAttribute("type")=="password"&&e.setAttribute("data-password-type",!0),e.setAttribute("type",i)},A=(e,i="no")=>{const t=document.getElementById(e.getAttribute("data-strength-checker")),a=e.value,o=e.hasAttribute("minlength")?e.getAttribute("minlength"):12;let r=1,s=["Very weak","Weak","Average","Strong","Very strong"],l="";if(a.match(/(?=.*[0-9])/)&&(r+=1),a.match(/(?=.*[!,%,&,#,$,^,*,?,_,~,<,>,])/)&&(r+=1),a.match(/(?=.*[a-z])/)&&(r+=1),a.match(/(?=.*[A-Z])/)&&(r+=1),a.length<o&&(r=1,l=`(must be at least ${o} characters.)`),r>=3&&i=="no"){let n=function(c,d){c.detail?A(d,"danger"):A(d,"success"),d.removeEventListener("hibpCheck",n)};$(a,e),e.addEventListener("hibpCheck",function(c){n(c,e)})}else r>=3&&i=="danger"&&(r=3,l="(this password is very common)");t&&(r<=3?t.classList.add("invalid-feedback"):t.classList.remove("invalid-feedback"),t.setAttribute("data-strength",r),t.innerHTML=`Password strength: ${s[r-1]} ${l}`)},H=e=>{Array.from(e.querySelectorAll("details")).forEach((i,t)=>{i.addEventListener("mouseenter",function(a){window.matchMedia("(min-width: 62em)").matches&&i.setAttribute("open","true")},!1),i.addEventListener("mouseleave",function(a){window.matchMedia("(min-width: 62em)").matches&&i.removeAttribute("open")},!1)}),"IntersectionObserver"in window&&new IntersectionObserver(([t])=>t.target.classList.toggle("is-stuck",t.intersectionRatio<1),{threshold:[1]}).observe(e)};function D(e){var i;const t=e.querySelector(".testimonial__images"),a=t.querySelectorAll("img").length;if(a==1)return!1;e.classList.add("testimonial--multi");const o=function(r){const s=e.querySelector(".btn-next"),l=e.querySelector(".btn-prev");s.setAttribute("data-go",r+1),l.setAttribute("data-go",r-1),s.removeAttribute("disabled"),l.removeAttribute("disabled"),r==1?l.setAttribute("disabled",!0):r==a&&s.setAttribute("disabled",!0)};t.addEventListener("scroll",function(r){clearTimeout(i),i=setTimeout(function(){let s=t.scrollWidth,l=t.scrollHeight,n=t.scrollLeft,c=t.scrollTop,d=Math.round(n/s*a)+1;n==0&&c!=0&&(d=Math.round(c/l*a)+1),e.setAttribute("data-show",d),o(d)},300)},!1),e.addEventListener("click",function(r){for(var s=r.target;s&&s!=this;s=s.parentNode)if(s.matches("[data-go]")){let l=parseInt(s.getAttribute("data-go")),n=0,c=0,d=t.scrollWidth,f=t.scrollHeight;d>f?c=Math.floor(d*((l-1)/a)):n=Math.floor(f*((l-1)/a)),t.scroll({top:n,left:c,behavior:"smooth"});break}},!1)}function I(e,i){var t;let a=e.querySelector(".carousel__inner"),o=e.querySelector(".carousel__controls"),r=i.querySelectorAll(":scope > .col").length;a.addEventListener("scroll",function(s){clearTimeout(t),t=setTimeout(function(){let l=a.clientWidth,n=a.scrollWidth,c=a.scrollLeft,d=Math.round(c/n*r)+1,f=i.querySelector(":scope > .col").scrollWidth,u=i.querySelector(":scope > .col:last-child").offsetLeft,m=a.scrollLeft+l+a.getBoundingClientRect().left>=u+60,h=Math.round(l/f);Math.ceil(r/h)*h-r>0&&m&&(d=Math.floor(r/h)*h+1),Array.from(e.querySelectorAll(".carousel__controls button")).forEach((v,W)=>{v.removeAttribute("aria-current")}),e.querySelector(".control-"+d).setAttribute("aria-current",!0),d==1?e.querySelector(".btn-prev").setAttribute("disabled","disabled"):e.querySelector(".btn-prev").removeAttribute("disabled"),d>r-h?e.querySelector(".btn-next").setAttribute("disabled","disabled"):e.querySelector(".btn-next").removeAttribute("disabled")},100)},!1),o.addEventListener("click",function(s){for(var l=s.target;l&&l!=this;l=l.parentNode)if(typeof l.matches=="function"&&l.matches("button")){s.preventDefault(),Array.from(o.querySelectorAll("button")).forEach((c,d)=>{c.removeAttribute("aria-current")}),l.setAttribute("aria-current",!0);const n=i.querySelector(`:scope > *:nth-child(${l.getAttribute("data-slide")})`);a.scroll({top:0,left:n.offsetLeft-a.getBoundingClientRect().left,behavior:"smooth"});break}},!1),e.addEventListener("click",function(s){let l=a.clientWidth;a.scrollWidth;let n=i.querySelector(":scope > .col").scrollWidth,c=Math.round(l/n),d=i.querySelector(":scope > .col:last-child").offsetLeft,f=a.scrollLeft+l+a.getBoundingClientRect().left>=d+60,u=Math.ceil(r/c)*c-r,m=c-u,h=f&&u>0?m*n:a.clientWidth;for(var b=s.target;b&&b!=this;b=b.parentNode)if(typeof b.matches=="function"&&b.matches(".btn-next, .btn-prev")){s.preventDefault();let v=b.classList.contains("btn-prev")?a.scrollLeft-h:a.scrollLeft+a.clientWidth;a.scroll({top:0,left:v,behavior:"smooth"});break}},!1)}function B(e){e.addEventListener("change",function(i){var t=parseInt(e.querySelector("[data-min] select,[data-min] input").value),a=parseInt(e.querySelector("[data-max] select,[data-max] input").value);Array.from(e.querySelectorAll("[data-min] input")).forEach((o,r)=>{o.setAttribute("max",a)}),Array.from(e.querySelectorAll("[data-max] input")).forEach((o,r)=>{o.setAttribute("min",t)}),Array.from(e.querySelectorAll("[data-min] select option")).forEach((o,r)=>{parseInt(o.getAttribute("value"))>a?o.classList.add("d-none"):o.classList.remove("d-none")}),Array.from(e.querySelectorAll("[data-max] select option")).forEach((o,r)=>{parseInt(o.getAttribute("value"))<t?o.classList.add("d-none"):o.classList.remove("d-none")})},!1)}function N(e){e.addEventListener("change",function(i){if(e.matches("[data-value-if]")){const t=e.getAttribute("data-redirect"),a=e.getAttribute("data-value-if");e.value==a&&(document.location.href=t)}else typeof e.value<"u"&&(document.location.href=e.value)},!1)}function R(e){const t=e.querySelector(".row").cloneNode(!0),a=e.querySelector("[data-add]");e.addEventListener("click",function(o){for(var r=o.target;r&&r!=this;r=r.parentNode){if(r.matches("[data-add]")){const s=t.cloneNode(!0);e.insertBefore(s,r),a.matches("[data-maxfiles]")&&Array.from(e.querySelectorAll(":scope > .row")).length>=a.dataset.maxfiles&&a.setAttribute("disabled","disabled");break}if(r.matches("[data-delete]")){r.closest(".row").remove(),a.matches("[data-maxfiles]")&&Array.from(e.querySelectorAll(":scope > .row")).length<a.dataset.maxfiles&&a.removeAttribute("disabled");break}}},!1)}function P(e){Array.from(e.querySelectorAll("[data-input-range]")).forEach((i,t)=>{B(i)}),Array.from(e.querySelectorAll("[data-redirect]")).forEach((i,t)=>{N(i)}),Array.from(e.querySelectorAll(".multiple-file-uploads")).forEach((i,t)=>{R(i)}),e.addEventListener("change",function(i){for(var t=i.target;t&&t!=this;t=t.parentNode)if(t.matches('[type="file"][data-filesize]')&&t.files&&t.files[0]){const a=t.dataset.filesize;t.files[0].size>a&&(t.value="",alert("File too large"));break}},!1),e.addEventListener("change",function(i){Array.from(e.querySelectorAll("select[data-activeif][data-equals],input[data-activeif][data-equals]")).forEach((t,a)=>{let o=t.closest("[data-group]")?t.closest("[data-group]"):e,r=t.dataset.activeif,s=t.dataset.equals;o.querySelector(`select[data-id="${r}"],input[data-id="${r}"]`).value==s?t.removeAttribute("disabled"):(t.setAttribute("disabled","disabled"),t.value="")}),Array.from(e.querySelectorAll(".form-control__wrapper[data-displayif][data-equals]")).forEach((t,a)=>{let o=t.closest("[data-group]")?t.closest("[data-group]"):e,r=t.dataset.activeif,s=t.dataset.equals;o.querySelector(`select[data-id="${r}"],input[data-id="${r}"]`).value==s?t.classList.remove("d-none"):t.classList.add("d-none")})},!1)}function O(e){if(e.hasAttribute("data-type")&&e.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)),e.closest(".notification__holder")||t.appendChild(e)}if(e.setAttribute("role","alert"),e.addEventListener("click",function(t){event&&event.target instanceof HTMLElement&&event.target.closest("[data-dismiss-button]")&&(t.preventDefault(),w(e))},!1),e.hasAttribute("data-timeout")){let t=e.getAttribute("data-timeout");var i=new V(function(){w(e)},t);e.addEventListener("mouseenter",a=>{i.pause()}),e.addEventListener("mouseleave",a=>{i.resume()})}}function V(e,i){var t,a,o=i;this.pause=function(){window.clearTimeout(t),o-=new Date-a},this.resume=function(){a=new Date,window.clearTimeout(t),t=window.setTimeout(e,o)},this.resume()}const w=function(e){e.classList.add("d-none")};window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"customElementRegistered",element:"Notification"});class F extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"});const i=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"):`${i}/css/core.min.css`,a=`@import "${i}/css/components/notification.css";`,o=`@import "${i}/css/components/notification.global.css";`,r=this.querySelectorAll("a,button");Array.from(r).forEach((l,n)=>{l.setAttribute("slot","btns"),l.classList.add("link")}),(r.length||this.hasAttribute("data-dismiss"))&&this.classList.add("notification--dismissable");const s=document.createElement("template");s.innerHTML=`
6
- <style>
7
- @import "${t}";
8
- ${a}
9
- ${this.hasAttribute("data-css")?`${this.getAttribute("data-css")}`:""}
10
- </style>
11
-
12
- <div class="notification">
13
- <div class="notification__icon"><slot name="icon"></slot></div>
14
- <div class="notification__inner"><div class="notification__text"><slot></slot></div>${r.length?'<div class="notification__btns"><slot name="btns"></slot></div>':""}</div>
15
- ${this.hasAttribute("data-dismiss")?'<div class="notification__dismiss"><button data-dismiss-button part="dismiss-btn">Dismiss</button></div>':""}
16
- </div>
17
- `,this.shadowRoot.appendChild(s.content.cloneNode(!0)),document.getElementById("notificationHolder")||document.head.insertAdjacentHTML("beforeend",`<style id="notificationHolder">${o}</style>`)}connectedCallback(){const i=this.shadowRoot.querySelector("[data-dismiss-button]"),t=this.hasAttribute("data-status")?this.getAttribute("data-status"):"white";this.hasAttribute("data-type")?this.classList.add(`bg-${t}`):this.classList.add(`colour-${t}`);const a=this;if(!this.querySelector("i"))switch(t){case"danger":this.innerHTML+='<i class="fa-solid fa-circle-exclamation" aria-hidden="true" slot="icon"></i>';break;case"warning":this.innerHTML+='<i class="fa-solid fa-triangle-exclamation" aria-hidden="true" slot="icon"></i>';break;case"success":this.innerHTML+='<i class="fa-solid fa-check-circle" aria-hidden="true" slot="icon"></i>';break;default:this.innerHTML+='<i class="fa-solid fa-circle-info" aria-hidden="true" slot="icon"></i>'}O(a),i&&i.addEventListener("click",function(o){w(a)},!1)}}const Y=["accordion","header","tabs","table","card","pagination","filterlist","applied-filters","nav","marketing"],y="iam",j={rootMargin:"50px",threshold:.1};Y.forEach(e=>{if(console.log(e),document.getElementsByTagName(`${y}-${e}`).length===0)return;let i=a=>{a.forEach(o=>{o.intersectionRatio>0&&(console.log(e),import(`./components/${e}/${e}.component.min.js`).then(r=>{window.customElements.get(`${y}-${e}`)||window.customElements.define(`${y}-${e}`,r.default)}).catch(r=>{console.log(r.message)}),t.unobserve(o.target))})};const t=new IntersectionObserver(i,j);t.observe(document.getElementsByTagName(`${y}-${e}`)[0])}),document.addEventListener("DOMContentLoaded",function(){T(),p(document.body),E(),x(document.body),C(document.body),window.customElements.get("iam-notification")||window.customElements.define("iam-notification",F),Array.from(document.querySelectorAll(".nav")).forEach(e=>{H(e)}),Array.from(document.querySelectorAll(".testimonial")).forEach(e=>{D(e)}),Array.from(document.querySelectorAll(".carousel")).forEach(e=>{I(e)}),Array.from(document.querySelectorAll("form")).forEach(e=>{P(e)}),Array.from(document.querySelectorAll(".youtube-embed")).forEach(e=>{console.log(e),new q(e)}),window.addEventListener("hashchange",function(){const e=location.hash.replace("#",""),i=document.querySelector(`label[for="${e}"]`);i instanceof HTMLElement&&i.click()},!1)})});
18
- //# sourceMappingURL=dynamic.min.js.map