@iamproperty/components 1.0.14 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/README.md +120 -12
  2. package/assets/.DS_Store +0 -0
  3. package/assets/css/core.min.css +1 -0
  4. package/assets/css/core.min.css.map +1 -0
  5. package/assets/css/style.min.css +1 -0
  6. package/assets/css/style.min.css.map +1 -0
  7. package/assets/favicons/android-chrome-192x192.png +0 -0
  8. package/assets/favicons/android-chrome-512x512.png +0 -0
  9. package/assets/favicons/apple-touch-icon.png +0 -0
  10. package/assets/favicons/favicon-16x16.png +0 -0
  11. package/assets/favicons/favicon-32x32.png +0 -0
  12. package/assets/favicons/favicon.ico +0 -0
  13. package/assets/fonts/qanelas-medium-webfont.woff +0 -0
  14. package/assets/fonts/qanelas-medium-webfont.woff2 +0 -0
  15. package/assets/fonts/qanelassoft-extrabold-webfont.woff +0 -0
  16. package/assets/fonts/qanelassoft-extrabold-webfont.woff2 +0 -0
  17. package/{src/assets → assets}/img/logo.png +0 -0
  18. package/assets/js/main.js +67 -0
  19. package/assets/js/modules/accordion.js +36 -0
  20. package/assets/js/modules/carousel.js +102 -0
  21. package/assets/js/modules/drawer.js +16 -0
  22. package/assets/js/modules/form.js +49 -0
  23. package/assets/js/modules/helpers.js +93 -0
  24. package/assets/js/modules/modal.js +90 -0
  25. package/assets/js/modules/nav.js +27 -0
  26. package/assets/js/modules/table.js +573 -0
  27. package/assets/js/modules/testimonial.js +83 -0
  28. package/assets/js/modules/youtubevideo.js +145 -0
  29. package/assets/js/scripts.bundle.js +871 -0
  30. package/assets/js/scripts.bundle.js.map +1 -0
  31. package/assets/js/scripts.bundle.min.js +7 -0
  32. package/assets/js/scripts.bundle.min.js.map +1 -0
  33. package/assets/sass/_components.scss +35 -0
  34. package/assets/sass/_corefiles.scss +58 -0
  35. package/assets/sass/_func.scss +9 -0
  36. package/assets/sass/_functions/functions.scss +95 -0
  37. package/assets/sass/_functions/mixins.scss +109 -0
  38. package/assets/sass/_functions/utilities.scss +238 -0
  39. package/assets/sass/_functions/variables.scss +418 -0
  40. package/assets/sass/components/accordion.scss +195 -0
  41. package/assets/sass/components/card.scss +168 -0
  42. package/assets/sass/components/cardDeck.scss +107 -0
  43. package/assets/sass/components/carousel.scss +265 -0
  44. package/assets/sass/components/charts.scss +562 -0
  45. package/assets/sass/components/drawer.scss +45 -0
  46. package/assets/sass/components/header.scss +57 -0
  47. package/assets/sass/components/modal.scss +133 -0
  48. package/assets/sass/components/nav.scss +619 -0
  49. package/assets/sass/components/property-searchbar.scss +138 -0
  50. package/assets/sass/components/snapshot.scss +69 -0
  51. package/assets/sass/components/tabs.scss +46 -0
  52. package/assets/sass/components/testimonial.scss +131 -0
  53. package/assets/sass/components/timeline.scss +93 -0
  54. package/assets/sass/core.scss +4 -0
  55. package/assets/sass/elements/buttons.scss +263 -0
  56. package/assets/sass/elements/container.scss +222 -0
  57. package/assets/sass/elements/forms.scss +128 -0
  58. package/assets/sass/elements/links.scss +95 -0
  59. package/assets/sass/elements/lists.scss +26 -0
  60. package/assets/sass/elements/tables.scss +247 -0
  61. package/assets/sass/elements/tooltips.scss +71 -0
  62. package/assets/sass/elements/type.scss +114 -0
  63. package/assets/sass/foundations/brand.scss +74 -0
  64. package/assets/sass/foundations/circles.scss +73 -0
  65. package/assets/sass/foundations/fonts.scss +17 -0
  66. package/assets/sass/foundations/icons.scss +46 -0
  67. package/assets/sass/foundations/media.scss +47 -0
  68. package/assets/sass/foundations/reboot.scss +120 -0
  69. package/assets/sass/foundations/root.scss +45 -0
  70. package/assets/sass/main.scss +5 -0
  71. package/assets/svg/flat/agreed.svg +1 -0
  72. package/assets/svg/flat/alert.svg +1 -0
  73. package/assets/svg/flat/asset-37.svg +1 -0
  74. package/assets/svg/flat/asset-73.svg +1 -0
  75. package/assets/svg/flat/asset-82.svg +1 -0
  76. package/assets/svg/flat/award.svg +1 -0
  77. package/assets/svg/flat/bath.svg +1 -0
  78. package/assets/svg/flat/bed.svg +1 -0
  79. package/assets/svg/flat/calculate.svg +1 -0
  80. package/assets/svg/flat/calendar.svg +1 -0
  81. package/assets/svg/flat/celebrate.svg +1 -0
  82. package/assets/svg/flat/chat-house.svg +1 -0
  83. package/assets/svg/flat/chat.svg +1 -0
  84. package/assets/svg/flat/circle.svg +1 -0
  85. package/assets/svg/flat/clean.svg +1 -0
  86. package/assets/svg/flat/clock.svg +1 -0
  87. package/assets/svg/flat/computer.svg +1 -0
  88. package/assets/svg/flat/down.svg +1 -0
  89. package/assets/svg/flat/edit.svg +1 -0
  90. package/assets/svg/flat/email.svg +1 -0
  91. package/assets/svg/flat/event.svg +1 -0
  92. package/assets/svg/flat/family.svg +1 -0
  93. package/assets/svg/flat/file.svg +1 -0
  94. package/assets/svg/flat/find.svg +1 -0
  95. package/assets/svg/flat/fireworks.svg +1 -0
  96. package/assets/svg/flat/fist-left.svg +1 -0
  97. package/assets/svg/flat/fist.svg +1 -0
  98. package/assets/svg/flat/folder.svg +1 -0
  99. package/assets/svg/flat/footprints.svg +1 -0
  100. package/assets/svg/flat/hand.svg +1 -0
  101. package/assets/svg/flat/hands.svg +1 -0
  102. package/assets/svg/flat/house-2.svg +1 -0
  103. package/assets/svg/flat/house.svg +1 -0
  104. package/assets/svg/flat/idea.svg +1 -0
  105. package/assets/svg/flat/judge-house.svg +1 -0
  106. package/assets/svg/flat/judge.svg +1 -0
  107. package/assets/svg/flat/keys-house.svg +1 -0
  108. package/assets/svg/flat/lock.svg +1 -0
  109. package/assets/svg/flat/mobile.svg +1 -0
  110. package/assets/svg/flat/money.svg +1 -0
  111. package/assets/svg/flat/monument.svg +1 -0
  112. package/assets/svg/flat/online-judgement.svg +1 -0
  113. package/assets/svg/flat/paint.svg +1 -0
  114. package/assets/svg/flat/person-2.svg +1 -0
  115. package/assets/svg/flat/person.svg +1 -0
  116. package/assets/svg/flat/phone.svg +1 -0
  117. package/assets/svg/flat/pin.svg +1 -0
  118. package/assets/svg/flat/pound.svg +1 -0
  119. package/assets/svg/flat/present.svg +1 -0
  120. package/assets/svg/flat/qualification.svg +1 -0
  121. package/assets/svg/flat/rocket.svg +1 -0
  122. package/assets/svg/flat/sale.svg +1 -0
  123. package/assets/svg/flat/save.svg +1 -0
  124. package/assets/svg/flat/scale.svg +1 -0
  125. package/assets/svg/flat/send.svg +1 -0
  126. package/assets/svg/flat/share.svg +1 -0
  127. package/assets/svg/flat/sofa.svg +1 -0
  128. package/assets/svg/flat/sold.svg +1 -0
  129. package/assets/svg/flat/star.svg +1 -0
  130. package/assets/svg/flat/stopwatch.svg +1 -0
  131. package/assets/svg/flat/task.svg +1 -0
  132. package/assets/svg/flat/telescope.svg +1 -0
  133. package/assets/svg/flat/thumb.svg +1 -0
  134. package/assets/svg/flat/time.svg +1 -0
  135. package/assets/svg/flat/up.svg +1 -0
  136. package/assets/svg/flat/valuation.svg +1 -0
  137. package/assets/svg/flat/value-house.svg +1 -0
  138. package/assets/svg/flat/warning.svg +1 -0
  139. package/assets/svg/flat/water.svg +1 -0
  140. package/assets/svg/icons.svg +51 -0
  141. package/assets/svg/illustrations/commuter1.svg +1 -0
  142. package/assets/svg/illustrations/commuter2.svg +1 -0
  143. package/assets/svg/illustrations/commuter3.svg +1 -0
  144. package/assets/svg/logo.svg +43 -0
  145. package/dist/components.common.js +2825 -252
  146. package/dist/components.common.js.map +1 -1
  147. package/dist/components.css +2 -1
  148. package/dist/components.css.map +1 -0
  149. package/dist/components.umd.js +2825 -252
  150. package/dist/components.umd.js.map +1 -1
  151. package/dist/components.umd.min.js +1 -1
  152. package/dist/components.umd.min.js.map +1 -1
  153. package/package.json +90 -57
  154. package/src/.DS_Store +0 -0
  155. package/src/components/Accordion/Accordion.vue +24 -0
  156. package/src/components/Accordion/AccordionItem.vue +43 -0
  157. package/src/components/Accordion/README.md +34 -0
  158. package/src/components/Banner/Banner.vue +38 -0
  159. package/src/components/Banner/README.md +24 -0
  160. package/src/components/Card/Card.vue +115 -0
  161. package/src/components/Card/README.md +24 -0
  162. package/src/components/CardDeck/CardDeck.vue +78 -0
  163. package/src/components/CardDeck/README.md +25 -0
  164. package/src/components/Carousel/Carousel.vue +86 -0
  165. package/src/components/Carousel/README.md +20 -0
  166. package/src/components/Chart/Chart.vue +246 -0
  167. package/src/components/Chart/README.md +18 -0
  168. package/src/components/Drawer/Drawer.vue +54 -0
  169. package/src/components/Drawer/README.md +23 -0
  170. package/src/components/Header/Header.vue +39 -0
  171. package/src/components/Header/README.md +28 -0
  172. package/src/components/Modal/Modal.vue +44 -0
  173. package/src/components/Modal/README.md +20 -0
  174. package/src/components/Nav/Nav.vue +129 -0
  175. package/src/components/Nav/README.md +23 -0
  176. package/src/components/PropertySearchbar/PropertySearchbar.vue +206 -0
  177. package/src/components/PropertySearchbar/README.md +26 -0
  178. package/src/components/Snapshot/README.md +21 -0
  179. package/src/components/Snapshot/Snapshot.vue +33 -0
  180. package/src/components/Tabs/README.md +27 -0
  181. package/src/components/Tabs/Tab.vue +17 -0
  182. package/src/components/Tabs/Tabs.vue +59 -0
  183. package/src/components/Testimonial/README.md +26 -0
  184. package/src/components/Testimonial/Testimonial.vue +61 -0
  185. package/src/components/Timeline/README.md +18 -0
  186. package/src/components/Timeline/Timeline.vue +25 -0
  187. package/src/elements/Input/Input.vue +236 -0
  188. package/src/elements/Input/README.md +18 -0
  189. package/src/elements/Table/README.md +55 -0
  190. package/src/elements/Table/Table.vue +112 -0
  191. package/src/foundations/Icon/Icon.vue +21 -0
  192. package/src/foundations/Icon/README.md +11 -0
  193. package/src/foundations/Logo/Logo.vue +39 -0
  194. package/src/foundations/Logo/README.md +20 -0
  195. package/src/foundations/YoutubeVideo/README.md +11 -0
  196. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +24 -0
  197. package/src/helpers/strings.js +12 -0
  198. package/src/index.js +21 -6
  199. package/src/assets/css/default.css +0 -99
  200. package/src/assets/logo.png +0 -0
  201. package/src/assets/scss/_variables.scss +0 -13
  202. package/src/components/KeyFacts/KeyFact.vue +0 -45
  203. package/src/components/KeyFacts/KeyFactGroup.vue +0 -44
  204. package/src/components/KeyFacts/README.md +0 -23
  205. package/src/components/KeyInformation/KeyInformation.vue +0 -23
  206. package/src/components/KeyInformation/README.md +0 -32
  207. package/src/components/PropertyTaskIntro/PropertyTaskIntro.vue +0 -74
  208. package/src/components/PropertyTaskIntro/README.md +0 -27
  209. package/src/components/TaskTitle/README.md +0 -24
  210. package/src/components/TaskTitle/TaskTitle.vue +0 -68
  211. package/src/components/VendorTable/README.md +0 -63
  212. package/src/components/VendorTable/VendorTable.vue +0 -30
@@ -96,43 +96,141 @@ return /******/ (function(modules) { // webpackBootstrap
96
96
  /************************************************************************/
97
97
  /******/ ({
98
98
 
99
- /***/ "17a4":
99
+ /***/ "00f7":
100
100
  /***/ (function(module, exports, __webpack_require__) {
101
101
 
102
102
  // extracted by mini-css-extract-plugin
103
103
 
104
104
  /***/ }),
105
105
 
106
- /***/ "2d24":
106
+ /***/ "148c":
107
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
108
+
109
+ "use strict";
110
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c925");
111
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Modal_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
112
+ /* unused harmony reexport * */
113
+
114
+
115
+ /***/ }),
116
+
117
+ /***/ "267c":
118
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
119
+
120
+ "use strict";
121
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Tabs_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4285");
122
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Tabs_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Tabs_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
123
+ /* unused harmony reexport * */
124
+
125
+
126
+ /***/ }),
127
+
128
+ /***/ "3299":
129
+ /***/ (function(module, exports, __webpack_require__) {
130
+
131
+ // extracted by mini-css-extract-plugin
132
+
133
+ /***/ }),
134
+
135
+ /***/ "3626":
136
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
137
+
138
+ "use strict";
139
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Accordion_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5307");
140
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Accordion_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Accordion_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
141
+ /* unused harmony reexport * */
142
+
143
+
144
+ /***/ }),
145
+
146
+ /***/ "3eec":
147
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
148
+
149
+ "use strict";
150
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Drawer_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3299");
151
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Drawer_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Drawer_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
152
+ /* unused harmony reexport * */
153
+
154
+
155
+ /***/ }),
156
+
157
+ /***/ "3f43":
158
+ /***/ (function(module, exports, __webpack_require__) {
159
+
160
+ // extracted by mini-css-extract-plugin
161
+
162
+ /***/ }),
163
+
164
+ /***/ "4285":
165
+ /***/ (function(module, exports, __webpack_require__) {
166
+
167
+ // extracted by mini-css-extract-plugin
168
+
169
+ /***/ }),
170
+
171
+ /***/ "52f3":
172
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
173
+
174
+ "use strict";
175
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Header_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ec0e");
176
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Header_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Header_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
177
+ /* unused harmony reexport * */
178
+
179
+
180
+ /***/ }),
181
+
182
+ /***/ "5307":
107
183
  /***/ (function(module, exports, __webpack_require__) {
108
184
 
109
185
  // extracted by mini-css-extract-plugin
110
186
 
111
187
  /***/ }),
112
188
 
113
- /***/ "3e1b":
189
+ /***/ "570c":
190
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
191
+
192
+ "use strict";
193
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Card_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3f43");
194
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Card_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Card_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
195
+ /* unused harmony reexport * */
196
+
197
+
198
+ /***/ }),
199
+
200
+ /***/ "5dd8":
201
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
202
+
203
+ "use strict";
204
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Testimonial_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e866");
205
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Testimonial_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Testimonial_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
206
+ /* unused harmony reexport * */
207
+
208
+
209
+ /***/ }),
210
+
211
+ /***/ "652c":
114
212
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
115
213
 
116
214
  "use strict";
117
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeyFactGroup_vue_vue_type_style_index_0_id_32dbd7de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2d24");
118
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeyFactGroup_vue_vue_type_style_index_0_id_32dbd7de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeyFactGroup_vue_vue_type_style_index_0_id_32dbd7de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
215
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CardDeck_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("00f7");
216
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CardDeck_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CardDeck_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
119
217
  /* unused harmony reexport * */
120
- /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeyFactGroup_vue_vue_type_style_index_0_id_32dbd7de_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
218
+
121
219
 
122
220
  /***/ }),
123
221
 
124
- /***/ "4eef":
222
+ /***/ "8342":
125
223
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
126
224
 
127
225
  "use strict";
128
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyTaskIntro_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("17a4");
129
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyTaskIntro_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyTaskIntro_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
226
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertySearchbar_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("87e3");
227
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertySearchbar_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertySearchbar_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
130
228
  /* unused harmony reexport * */
131
- /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyTaskIntro_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
229
+
132
230
 
133
231
  /***/ }),
134
232
 
135
- /***/ "6d30":
233
+ /***/ "87e3":
136
234
  /***/ (function(module, exports, __webpack_require__) {
137
235
 
138
236
  // extracted by mini-css-extract-plugin
@@ -224,32 +322,82 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
224
322
 
225
323
  /***/ }),
226
324
 
227
- /***/ "a218":
228
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
325
+ /***/ "9523":
326
+ /***/ (function(module, exports) {
327
+
328
+ function _defineProperty(obj, key, value) {
329
+ if (key in obj) {
330
+ Object.defineProperty(obj, key, {
331
+ value: value,
332
+ enumerable: true,
333
+ configurable: true,
334
+ writable: true
335
+ });
336
+ } else {
337
+ obj[key] = value;
338
+ }
229
339
 
230
- "use strict";
231
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeyFact_vue_vue_type_style_index_0_id_49b8b975_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("6d30");
232
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeyFact_vue_vue_type_style_index_0_id_49b8b975_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeyFact_vue_vue_type_style_index_0_id_49b8b975_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
233
- /* unused harmony reexport * */
234
- /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeyFact_vue_vue_type_style_index_0_id_49b8b975_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default.a);
340
+ return obj;
341
+ }
342
+
343
+ module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
344
+
345
+ /***/ }),
346
+
347
+ /***/ "9ec8":
348
+ /***/ (function(module, exports, __webpack_require__) {
349
+
350
+ // extracted by mini-css-extract-plugin
235
351
 
236
352
  /***/ }),
237
353
 
238
- /***/ "af2c":
354
+ /***/ "aca1":
239
355
  /***/ (function(module, exports, __webpack_require__) {
240
356
 
241
357
  // extracted by mini-css-extract-plugin
242
358
 
243
359
  /***/ }),
244
360
 
245
- /***/ "e4a3":
361
+ /***/ "c925":
362
+ /***/ (function(module, exports, __webpack_require__) {
363
+
364
+ // extracted by mini-css-extract-plugin
365
+
366
+ /***/ }),
367
+
368
+ /***/ "cc46":
369
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
370
+
371
+ "use strict";
372
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Carousel_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("aca1");
373
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Carousel_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Carousel_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
374
+ /* unused harmony reexport * */
375
+
376
+
377
+ /***/ }),
378
+
379
+ /***/ "d463":
246
380
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
247
381
 
248
382
  "use strict";
249
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TaskTitle_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("af2c");
250
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TaskTitle_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TaskTitle_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
383
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Nav_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9ec8");
384
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Nav_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Nav_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
251
385
  /* unused harmony reexport * */
252
- /* unused harmony default export */ var _unused_webpack_default_export = (_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TaskTitle_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
386
+
387
+
388
+ /***/ }),
389
+
390
+ /***/ "e866":
391
+ /***/ (function(module, exports, __webpack_require__) {
392
+
393
+ // extracted by mini-css-extract-plugin
394
+
395
+ /***/ }),
396
+
397
+ /***/ "ec0e":
398
+ /***/ (function(module, exports, __webpack_require__) {
399
+
400
+ // extracted by mini-css-extract-plugin
253
401
 
254
402
  /***/ }),
255
403
 
@@ -261,12 +409,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
261
409
  __webpack_require__.r(__webpack_exports__);
262
410
 
263
411
  // EXPORTS
264
- __webpack_require__.d(__webpack_exports__, "KeyFact", function() { return /* reexport */ KeyFact; });
265
- __webpack_require__.d(__webpack_exports__, "KeyFactGroup", function() { return /* reexport */ KeyFactGroup; });
266
- __webpack_require__.d(__webpack_exports__, "KeyInformation", function() { return /* reexport */ KeyInformation; });
267
- __webpack_require__.d(__webpack_exports__, "PropertyTaskIntro", function() { return /* reexport */ PropertyTaskIntro; });
268
- __webpack_require__.d(__webpack_exports__, "TaskTitle", function() { return /* reexport */ TaskTitle; });
269
- __webpack_require__.d(__webpack_exports__, "VendorTable", function() { return /* reexport */ VendorTable; });
412
+ __webpack_require__.d(__webpack_exports__, "Icon", function() { return /* reexport */ Icon; });
413
+ __webpack_require__.d(__webpack_exports__, "Logo", function() { return /* reexport */ Logo; });
414
+ __webpack_require__.d(__webpack_exports__, "Table", function() { return /* reexport */ Table; });
415
+ __webpack_require__.d(__webpack_exports__, "Input", function() { return /* reexport */ Input; });
416
+ __webpack_require__.d(__webpack_exports__, "Accordion", function() { return /* reexport */ Accordion; });
417
+ __webpack_require__.d(__webpack_exports__, "Banner", function() { return /* reexport */ Banner; });
418
+ __webpack_require__.d(__webpack_exports__, "Card", function() { return /* reexport */ Card; });
419
+ __webpack_require__.d(__webpack_exports__, "CardDeck", function() { return /* reexport */ CardDeck; });
420
+ __webpack_require__.d(__webpack_exports__, "Carousel", function() { return /* reexport */ Carousel; });
421
+ __webpack_require__.d(__webpack_exports__, "Header", function() { return /* reexport */ Header; });
422
+ __webpack_require__.d(__webpack_exports__, "Testimonial", function() { return /* reexport */ Testimonial; });
423
+ __webpack_require__.d(__webpack_exports__, "PropertySearchbar", function() { return /* reexport */ PropertySearchbar; });
424
+ __webpack_require__.d(__webpack_exports__, "Nav", function() { return /* reexport */ Nav; });
425
+ __webpack_require__.d(__webpack_exports__, "Drawer", function() { return /* reexport */ Drawer; });
426
+ __webpack_require__.d(__webpack_exports__, "Modal", function() { return /* reexport */ Modal; });
427
+ __webpack_require__.d(__webpack_exports__, "Tabs", function() { return /* reexport */ Tabs; });
428
+ __webpack_require__.d(__webpack_exports__, "Tab", function() { return /* reexport */ Tab; });
270
429
 
271
430
  // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
272
431
  // This file is imported into lib/wc client bundles.
@@ -292,14 +451,14 @@ if (typeof window !== 'undefined') {
292
451
  // Indicate to webpack that this file can be concatenated
293
452
  /* harmony default export */ var setPublicPath = (null);
294
453
 
295
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"679cd527-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeyFacts/KeyFact.vue?vue&type=template&id=49b8b975&scoped=true&functional=true&
296
- var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{staticClass:"key-fact col-6 col-sm-4 col-lg-2"},[_c('ul',[_c('li',{staticClass:"fact-value",class:{nil: _vm.props.keyfact.value == 0}},[_vm._v(_vm._s(_vm.props.keyfact.value))]),_c('li',{staticClass:"fact-label"},[_vm._v(_vm._s(_vm.props.keyfact.label))])])])}
454
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/foundations/Icon/Icon.vue?vue&type=template&id=3f642422&
455
+ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:"icon"},[_c('title',[_vm._v(_vm._s(_vm.id))]),_c('use',{staticClass:"icon__bg",attrs:{"xlink:href":'#icon-'+_vm.id+'-bg'}}),_c('use',{staticClass:"icon__fill",attrs:{"xlink:href":'#icon-'+_vm.id+'-fill'}}),_c('use',{staticClass:"icon__outline",attrs:{"xlink:href":'#icon-'+_vm.id+'-outline'}})])}
297
456
  var staticRenderFns = []
298
457
 
299
458
 
300
- // CONCATENATED MODULE: ./src/components/KeyFacts/KeyFact.vue?vue&type=template&id=49b8b975&scoped=true&functional=true&
459
+ // CONCATENATED MODULE: ./src/foundations/Icon/Icon.vue?vue&type=template&id=3f642422&
301
460
 
302
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeyFacts/KeyFact.vue?vue&type=script&lang=js&
461
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/foundations/Icon/Icon.vue?vue&type=script&lang=js&
303
462
  //
304
463
  //
305
464
  //
@@ -309,20 +468,18 @@ var staticRenderFns = []
309
468
  //
310
469
  //
311
470
  //
312
- /* harmony default export */ var KeyFactvue_type_script_lang_js_ = ({
313
- name: 'KeyFact',
471
+ /* harmony default export */ var Iconvue_type_script_lang_js_ = ({
472
+ name: 'Icon',
314
473
  props: {
315
- keyfact: {
316
- type: Object,
317
- required: true
474
+ id: {
475
+ type: String,
476
+ required: false,
477
+ default: 'email'
318
478
  }
319
479
  }
320
480
  });
321
- // CONCATENATED MODULE: ./src/components/KeyFacts/KeyFact.vue?vue&type=script&lang=js&
322
- /* harmony default export */ var KeyFacts_KeyFactvue_type_script_lang_js_ = (KeyFactvue_type_script_lang_js_);
323
- // EXTERNAL MODULE: ./src/components/KeyFacts/KeyFact.vue?vue&type=style&index=0&id=49b8b975&lang=scss&scoped=true&
324
- var KeyFactvue_type_style_index_0_id_49b8b975_lang_scss_scoped_true_ = __webpack_require__("a218");
325
-
481
+ // CONCATENATED MODULE: ./src/foundations/Icon/Icon.vue?vue&type=script&lang=js&
482
+ /* harmony default export */ var Icon_Iconvue_type_script_lang_js_ = (Iconvue_type_script_lang_js_);
326
483
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
327
484
  /* globals __VUE_SSR_CONTEXT__ */
328
485
 
@@ -423,8 +580,7 @@ function normalizeComponent (
423
580
  }
424
581
  }
425
582
 
426
- // CONCATENATED MODULE: ./src/components/KeyFacts/KeyFact.vue
427
-
583
+ // CONCATENATED MODULE: ./src/foundations/Icon/Icon.vue
428
584
 
429
585
 
430
586
 
@@ -433,30 +589,25 @@ function normalizeComponent (
433
589
  /* normalize component */
434
590
 
435
591
  var component = normalizeComponent(
436
- KeyFacts_KeyFactvue_type_script_lang_js_,
592
+ Icon_Iconvue_type_script_lang_js_,
437
593
  render,
438
594
  staticRenderFns,
439
- true,
595
+ false,
596
+ null,
440
597
  null,
441
- "49b8b975",
442
598
  null
443
599
 
444
600
  )
445
601
 
446
- /* harmony default export */ var KeyFact = (component.exports);
447
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"679cd527-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeyFacts/KeyFactGroup.vue?vue&type=template&id=32dbd7de&scoped=true&
448
- var KeyFactGroupvue_type_template_id_32dbd7de_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',[_c('div',{staticClass:"key-fact-group"},[_c('div',{staticClass:"row"},_vm._l((_vm.keyfacts),function(keyfact){return _c('key-fact',{key:keyfact.id,attrs:{"keyfact":keyfact}})}),1)])])])}
449
- var KeyFactGroupvue_type_template_id_32dbd7de_scoped_true_staticRenderFns = []
602
+ /* harmony default export */ var Icon = (component.exports);
603
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/foundations/Logo/Logo.vue?vue&type=template&id=098e33a5&
604
+ var Logovue_type_template_id_098e33a5_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className},[_c('svg',[_c('title',[_vm._v("iam "+_vm._s(_vm.id))]),_c('use',{attrs:{"xlink:href":_vm.path+_vm.src}})]),(_vm.desc)?_c('span',{domProps:{"innerHTML":_vm._s(_vm.desc)}}):_vm._e()])}
605
+ var Logovue_type_template_id_098e33a5_staticRenderFns = []
450
606
 
451
607
 
452
- // CONCATENATED MODULE: ./src/components/KeyFacts/KeyFactGroup.vue?vue&type=template&id=32dbd7de&scoped=true&
608
+ // CONCATENATED MODULE: ./src/foundations/Logo/Logo.vue?vue&type=template&id=098e33a5&
453
609
 
454
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeyFacts/KeyFactGroup.vue?vue&type=script&lang=js&
455
- //
456
- //
457
- //
458
- //
459
- //
610
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/foundations/Logo/Logo.vue?vue&type=script&lang=js&
460
611
  //
461
612
  //
462
613
  //
@@ -466,28 +617,37 @@ var KeyFactGroupvue_type_template_id_32dbd7de_scoped_true_staticRenderFns = []
466
617
  //
467
618
  //
468
619
  //
469
- //
470
- //
471
-
472
- /* harmony default export */ var KeyFactGroupvue_type_script_lang_js_ = ({
473
- name: 'KeyFactGroup',
620
+ /* harmony default export */ var Logovue_type_script_lang_js_ = ({
621
+ name: 'Logo',
474
622
  props: {
475
- keyfacts: {
476
- type: Array,
477
- required: true
623
+ id: {
624
+ type: String,
625
+ required: false,
626
+ default: 'property'
627
+ },
628
+ path: {
629
+ type: String,
630
+ required: false,
631
+ default: ''
632
+ },
633
+ desc: {
634
+ type: String
478
635
  }
479
636
  },
480
- components: {
481
- KeyFact: KeyFact
637
+ computed: {
638
+ src: function src() {
639
+ // `this` points to the vm instance
640
+ return '#logo-' + this.id;
641
+ },
642
+ className: function className() {
643
+ // `this` points to the vm instance
644
+ return 'brand brand--' + this.id;
645
+ }
482
646
  }
483
647
  });
484
- // CONCATENATED MODULE: ./src/components/KeyFacts/KeyFactGroup.vue?vue&type=script&lang=js&
485
- /* harmony default export */ var KeyFacts_KeyFactGroupvue_type_script_lang_js_ = (KeyFactGroupvue_type_script_lang_js_);
486
- // EXTERNAL MODULE: ./src/components/KeyFacts/KeyFactGroup.vue?vue&type=style&index=0&id=32dbd7de&lang=scss&scoped=true&
487
- var KeyFactGroupvue_type_style_index_0_id_32dbd7de_lang_scss_scoped_true_ = __webpack_require__("3e1b");
488
-
489
- // CONCATENATED MODULE: ./src/components/KeyFacts/KeyFactGroup.vue
490
-
648
+ // CONCATENATED MODULE: ./src/foundations/Logo/Logo.vue?vue&type=script&lang=js&
649
+ /* harmony default export */ var Logo_Logovue_type_script_lang_js_ = (Logovue_type_script_lang_js_);
650
+ // CONCATENATED MODULE: ./src/foundations/Logo/Logo.vue
491
651
 
492
652
 
493
653
 
@@ -495,211 +655,540 @@ var KeyFactGroupvue_type_style_index_0_id_32dbd7de_lang_scss_scoped_true_ = __we
495
655
 
496
656
  /* normalize component */
497
657
 
498
- var KeyFactGroup_component = normalizeComponent(
499
- KeyFacts_KeyFactGroupvue_type_script_lang_js_,
500
- KeyFactGroupvue_type_template_id_32dbd7de_scoped_true_render,
501
- KeyFactGroupvue_type_template_id_32dbd7de_scoped_true_staticRenderFns,
658
+ var Logo_component = normalizeComponent(
659
+ Logo_Logovue_type_script_lang_js_,
660
+ Logovue_type_template_id_098e33a5_render,
661
+ Logovue_type_template_id_098e33a5_staticRenderFns,
502
662
  false,
503
663
  null,
504
- "32dbd7de",
664
+ null,
505
665
  null
506
666
 
507
667
  )
508
668
 
509
- /* harmony default export */ var KeyFactGroup = (KeyFactGroup_component.exports);
510
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"679cd527-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeyInformation/KeyInformation.vue?vue&type=template&id=4a96c73e&
511
- var KeyInformationvue_type_template_id_4a96c73e_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.items),function(value,name){return _c('div',{key:name,staticClass:"row mb-2"},[_c('div',{staticClass:"col-md-3 font-weight-bold"},[_vm._v(" "+_vm._s(name)+": ")]),_c('div',{staticClass:"col-md-9"},[_c('span',{domProps:{"innerHTML":_vm._s(value)}})])])}),0)}
512
- var KeyInformationvue_type_template_id_4a96c73e_staticRenderFns = []
513
-
514
-
515
- // CONCATENATED MODULE: ./src/components/KeyInformation/KeyInformation.vue?vue&type=template&id=4a96c73e&
669
+ /* harmony default export */ var Logo = (Logo_component.exports);
670
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/elements/Table/Table.vue?vue&type=template&id=3feb44d8&
671
+ var Tablevue_type_template_id_3feb44d8_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"wrapper",staticClass:"table__wrapper",attrs:{"data-sortby":_vm.sortby,"data-sort":_vm.sort,"data-show":_vm.show,"data-page":_vm.page,"data-reorder":_vm.reorder}},[_c('table',[(_vm.fields)?_c('thead',[_c('tr',_vm._l((_vm.fields),function(field){return _c('th',{key:field.key,attrs:{"data-sortable":field.sortable,"data-filterable":field.filterable}},[_vm._v(_vm._s(_vm.cellHeading(field.key)))])}),0)]):_vm._e(),(_vm.items)?_c('tbody',_vm._l((_vm.items),function(value,index){return _c('tr',{key:index},_vm._l((value),function(cellValue,cellIndex){return _c('td',{key:cellIndex,attrs:{"data-label":_vm.cellHeading(cellIndex),"data-numeric":_vm.numericValue(cellValue)},domProps:{"innerHTML":_vm._s(cellValue)}})}),0)}),0):_vm._e()]),_vm._t("default")],2)}
672
+ var Tablevue_type_template_id_3feb44d8_staticRenderFns = []
673
+
674
+
675
+ // CONCATENATED MODULE: ./src/elements/Table/Table.vue?vue&type=template&id=3feb44d8&
676
+
677
+ // CONCATENATED MODULE: ./src/helpers/strings.js
678
+ var ucfirst = str => str.charAt(0).toUpperCase() + str.slice(1);
679
+ var ucwords = str => str.split(' ').map(s => ucfirst(s)).join(' ');
680
+ var unsnake = str => str.replace(/_/g, ' ');
681
+ var snake = str => str.replace(/ /g, '_');
682
+ var safeID = function safeID(str) {
683
+ str = str.toLowerCase();
684
+ str = snake(str);
685
+ str = str.replace(/\W/g, '');
686
+ return str;
687
+ };
688
+ // CONCATENATED MODULE: ./assets/js/modules/helpers.js
689
+ /**
690
+ * Global helper functions to help maintain and enhance framework elements.
691
+ * @module Helpers
692
+ */
693
+
694
+ /**
695
+ * Add global classes used by the CSS and later JavaScript.
696
+ * @param {HTMLElement} body Dom element, this doesn't have to be the body but it is recommended.
697
+ */
698
+ var addBodyClasses = body => {
699
+ body.classList.add("js-enabled");
700
+
701
+ if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
702
+ body.classList.add("ie");
703
+ }
516
704
 
517
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeyInformation/KeyInformation.vue?vue&type=script&lang=js&
518
- //
519
- //
520
- //
521
- //
522
- //
523
- //
524
- //
525
- //
526
- //
527
- //
528
- //
529
- //
530
- /* harmony default export */ var KeyInformationvue_type_script_lang_js_ = ({
531
- name: 'KeyInformation',
532
- props: {
533
- items: {
534
- type: Object,
535
- required: true
536
- }
705
+ return null;
706
+ };
707
+ /**
708
+ * Check if an element contains certain elements that needs enhancing with the JavaScript helpers, it is recommended to do this on the page body after the dom is loaded. Elements that are loaded via ajax should also run this function.
709
+ * @param {HTMLElement} element Dom element, this doesn't have to be the body but it is recommended.
710
+ */
711
+
712
+
713
+ var checkElements = element => {
714
+ // Tables
715
+ Array.from(element.querySelectorAll('table')).forEach((table, index) => {
716
+ tableStacked(table);
717
+ tableWrap(table);
718
+ });
719
+ };
720
+ /**
721
+ * Wrap tables with a table wrapper div to help maintain its responsive design.
722
+ * @param {HTMLElement} table Dom table element
723
+ */
724
+
725
+
726
+ var tableWrap = table => {
727
+ if (!table.parentNode.classList.contains('table__wrapper')) {
728
+ var tableHTML = table.outerHTML;
729
+ table.outerHTML = "<div class=\"table__wrapper\">".concat(tableHTML, "</div>");
537
730
  }
538
- });
539
- // CONCATENATED MODULE: ./src/components/KeyInformation/KeyInformation.vue?vue&type=script&lang=js&
540
- /* harmony default export */ var KeyInformation_KeyInformationvue_type_script_lang_js_ = (KeyInformationvue_type_script_lang_js_);
541
- // CONCATENATED MODULE: ./src/components/KeyInformation/KeyInformation.vue
731
+ };
732
+ /**
733
+ * Creates data attributes to be used by the CSS for mobile views.
734
+ * @param {HTMLElement} table Dom table element
735
+ */
736
+
737
+
738
+ var tableStacked = table => {
739
+ var colHeadings = Array.from(table.querySelectorAll('thead th'));
740
+ var colRows = Array.from(table.querySelectorAll('tbody tr'));
741
+ colRows.forEach((row, index) => {
742
+ var cells = Array.from(row.querySelectorAll('th, td'));
743
+ cells.forEach((cell, cellIndex) => {
744
+ var heading = colHeadings[cellIndex];
745
+
746
+ if (typeof heading != "undefined") {
747
+ var tempDiv = document.createElement("div");
748
+ tempDiv.innerHTML = heading.innerHTML;
749
+ var headingText = tempDiv.textContent || tempDiv.innerText || "";
750
+ cell.setAttribute('data-label', headingText);
751
+ }
752
+ });
753
+ });
754
+ };
542
755
 
756
+ var isNumeric = function isNumeric(str) {
757
+ if (typeof str != "string") return false; // we only process strings!
543
758
 
759
+ return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...
760
+ !isNaN(parseFloat(str)); // ...and ensure strings of whitespace fail
761
+ };
544
762
 
763
+ var zeroPad = (num, places) => String(num).padStart(places, '0');
545
764
 
546
765
 
547
- /* normalize component */
766
+ // CONCATENATED MODULE: ./assets/js/modules/table.js
548
767
 
549
- var KeyInformation_component = normalizeComponent(
550
- KeyInformation_KeyInformationvue_type_script_lang_js_,
551
- KeyInformationvue_type_template_id_4a96c73e_render,
552
- KeyInformationvue_type_template_id_4a96c73e_staticRenderFns,
553
- false,
554
- null,
555
- null,
556
- null
557
-
558
- )
559
768
 
560
- /* harmony default export */ var KeyInformation = (KeyInformation_component.exports);
561
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"679cd527-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PropertyTaskIntro/PropertyTaskIntro.vue?vue&type=template&id=71661b94&
562
- var PropertyTaskIntrovue_type_template_id_71661b94_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"property-task-intro"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col-12"},[_c('h2',[_vm._v(_vm._s(_vm.property.address))]),_vm._v(" "),_c('a',{attrs:{"href":_vm.property.url,"target":"_blank"}},[_vm._v("View details")])]),(_vm.branch)?_c('div',{staticClass:"col-12"},[_c('ul',{staticClass:"branch-info d-sm-flex"},[_c('li',[_c('strong',[_vm._v(_vm._s(_vm.property.branchName))])]),_c('li',[_vm._v("Telephone: "),_c('a',{attrs:{"href":("tel: " + (_vm.property.branchTelephone))}},[_vm._v(_vm._s(_vm.property.branchTelephone))])]),_c('li',[_vm._v("Email: "),_c('a',{attrs:{"href":("mailto: " + (_vm.property.branchEmail))}},[_vm._v(_vm._s(_vm.property.branchEmail))])])])]):_vm._e(),(_vm.bid)?_c('div',{staticClass:"col-12"},[_c('ul',{staticClass:"bid-info d-sm-flex"},[_c('li',[_vm._v("Starting Bid: £"+_vm._s(_vm.property.startingBid))]),_c('li',[_vm._v("Contract signed: "+_vm._s(_vm.property.contractSigned)+" "),_c('span',[_vm._v(_vm._s(_vm.property.contractTime))])])])]):_vm._e(),(_vm.auction)?_c('div',{staticClass:"col-12"},[_c('ul',{staticClass:"auction-info d-sm-flex"},[_c('li',[_vm._v("Auction start date: "+_vm._s(_vm.property.auctionStartDate))]),_c('li',[_vm._v("Auction end date: "+_vm._s(_vm.property.auctionEndDate))])])]):_vm._e()])])}
563
- var PropertyTaskIntrovue_type_template_id_71661b94_staticRenderFns = []
769
+ function table(tableElement) {
770
+ if (typeof tableElement != "object") return false;
771
+ var thead = tableElement.querySelector('thead');
772
+ var tbody = tableElement.querySelector('tbody');
773
+ var storedData = tbody.cloneNode(true);
774
+ var sortedEvent = new Event('sorted');
775
+ var filteredEvent = new Event('filtered');
776
+ var randID = 'tabe_' + Math.random().toString(36).substr(2, 9); // Random to make sure IDs created are unique
564
777
 
778
+ var draggedRow;
779
+ tableElement.setAttribute('id', randID); // #region Sortable
565
780
 
566
- // CONCATENATED MODULE: ./src/components/PropertyTaskIntro/PropertyTaskIntro.vue?vue&type=template&id=71661b94&
781
+ var sortTable = function sortTable(sortBy, sort) {
782
+ // Create an array from the table rows, the index created is then used to sort the array
783
+ var tableArr = [];
784
+ Array.from(tbody.querySelectorAll('tr')).forEach((tableRow, index) => {
785
+ var rowIndex = tableRow.querySelector('td[data-label="' + sortBy + '"], th[data-label="' + sortBy + '"]').textContent;
786
+ if (isNumeric(rowIndex)) rowIndex = zeroPad(rowIndex, 10);
787
+ var dataRow = {
788
+ index: rowIndex,
789
+ row: tableRow
790
+ };
791
+ tableArr.push(dataRow);
792
+ }); // Sort array
567
793
 
568
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PropertyTaskIntro/PropertyTaskIntro.vue?vue&type=script&lang=js&
569
- //
570
- //
571
- //
572
- //
573
- //
574
- //
575
- //
576
- //
577
- //
578
- //
579
- //
580
- //
581
- //
582
- //
583
- //
584
- //
585
- //
586
- //
587
- //
588
- //
589
- //
590
- //
591
- //
592
- //
593
- //
594
- //
595
- //
596
- //
597
- /* harmony default export */ var PropertyTaskIntrovue_type_script_lang_js_ = ({
598
- name: 'PropertTaskIntro',
599
- props: {
600
- property: {
601
- type: Object,
602
- required: true
603
- },
604
- auction: {
605
- type: Boolean,
606
- default: false
607
- },
608
- bid: {
609
- type: Boolean,
610
- default: false
611
- },
612
- branch: {
613
- type: Boolean,
614
- default: false
615
- }
616
- }
617
- });
618
- // CONCATENATED MODULE: ./src/components/PropertyTaskIntro/PropertyTaskIntro.vue?vue&type=script&lang=js&
619
- /* harmony default export */ var PropertyTaskIntro_PropertyTaskIntrovue_type_script_lang_js_ = (PropertyTaskIntrovue_type_script_lang_js_);
620
- // EXTERNAL MODULE: ./src/components/PropertyTaskIntro/PropertyTaskIntro.vue?vue&type=style&index=0&lang=scss&
621
- var PropertyTaskIntrovue_type_style_index_0_lang_scss_ = __webpack_require__("4eef");
794
+ tableArr.sort((a, b) => a.index > b.index ? 1 : -1); // Reverse if descending
622
795
 
623
- // CONCATENATED MODULE: ./src/components/PropertyTaskIntro/PropertyTaskIntro.vue
796
+ if (sort == "descending") tableArr = tableArr.reverse(); // Create a string to return and populate the tbody
624
797
 
798
+ var strTbody = '';
799
+ tableArr.forEach((tableRow, index) => {
800
+ strTbody += tableRow.row.outerHTML;
801
+ });
802
+ tbody.innerHTML = strTbody; // Dispatch the sortable event
625
803
 
804
+ tableElement.dispatchEvent(sortedEvent);
805
+ }; // Declare event handlers
626
806
 
627
807
 
808
+ tableElement.addEventListener('click', function (e) {
809
+ for (var target = e.target; target && target != this; target = target.parentNode) {
810
+ if (target.matches('[data-sortable]')) {
811
+ // Get current sort order
812
+ var sort = target.getAttribute('aria-sort') == "ascending" ? "descending" : "ascending"; // unset sort attributes
628
813
 
814
+ Array.from(tableElement.querySelectorAll('[data-sortable]')).forEach((col, index) => {
815
+ col.setAttribute('aria-sort', 'none');
816
+ }); // Set the sort order attribute
629
817
 
630
- /* normalize component */
818
+ target.setAttribute('aria-sort', sort); // Save the sort options on the table element so that it can be re-sorted later
631
819
 
632
- var PropertyTaskIntro_component = normalizeComponent(
633
- PropertyTaskIntro_PropertyTaskIntrovue_type_script_lang_js_,
634
- PropertyTaskIntrovue_type_template_id_71661b94_render,
635
- PropertyTaskIntrovue_type_template_id_71661b94_staticRenderFns,
636
- false,
637
- null,
638
- null,
639
- null
640
-
641
- )
820
+ tableElement.setAttribute('data-sort', sort);
821
+ tableElement.setAttribute('data-sortBy', target.textContent); // Sort the table
642
822
 
643
- /* harmony default export */ var PropertyTaskIntro = (PropertyTaskIntro_component.exports);
644
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"679cd527-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TaskTitle/TaskTitle.vue?vue&type=template&id=237d393f&
645
- var TaskTitlevue_type_template_id_237d393f_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"task-title",class:_vm.variant},[_vm._t("default")],2)}
646
- var TaskTitlevue_type_template_id_237d393f_staticRenderFns = []
823
+ sortTable(target.textContent, sort);
824
+ Array.from(tableElement.querySelectorAll('tr[draggable]')).forEach((tableRow, index) => {
825
+ tableRow.removeAttribute('draggable');
826
+ });
827
+ break;
828
+ }
829
+ }
830
+ }, false); // On page load check if the table should be pre-sorted, if so trigger a click
831
+
832
+ if (tableElement.getAttribute('data-sortBy')) {
833
+ var sort = tableElement.getAttribute('data-sort') == "ascending" ? "descending" : "ascending";
834
+ Array.from(tableElement.querySelectorAll('[data-sortable]')).forEach((col, index) => {
835
+ if (col.textContent == tableElement.getAttribute('data-sortBy')) {
836
+ col.setAttribute('aria-sort', sort);
837
+ col.click();
838
+ }
839
+ });
840
+ } // #endregion Sortable
841
+ // #region Filters
647
842
 
648
843
 
649
- // CONCATENATED MODULE: ./src/components/TaskTitle/TaskTitle.vue?vue&type=template&id=237d393f&
844
+ var createFilterForm = function createFilterForm(count) {
845
+ // Create wrapper div
846
+ var form = document.createElement("div");
847
+ form.classList.add('table__filters');
848
+ form.classList.add('row');
849
+ form.classList.add('pt-1');
850
+ form.classList.add('pb-3'); // Create the filter options array
650
851
 
651
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/TaskTitle/TaskTitle.vue?vue&type=script&lang=js&
652
- //
653
- //
654
- //
655
- //
656
- //
657
- //
658
- /* harmony default export */ var TaskTitlevue_type_script_lang_js_ = ({
659
- name: 'TaskTitle',
660
- props: {
661
- variant: {
662
- required: false,
663
- type: String,
664
- default: 'task-punchy-mustard'
665
- }
666
- }
667
- });
668
- // CONCATENATED MODULE: ./src/components/TaskTitle/TaskTitle.vue?vue&type=script&lang=js&
669
- /* harmony default export */ var TaskTitle_TaskTitlevue_type_script_lang_js_ = (TaskTitlevue_type_script_lang_js_);
670
- // EXTERNAL MODULE: ./src/components/TaskTitle/TaskTitle.vue?vue&type=style&index=0&lang=scss&
671
- var TaskTitlevue_type_style_index_0_lang_scss_ = __webpack_require__("e4a3");
852
+ var filterColumns = Array.from(tableElement.querySelectorAll('th[data-filterable]')); // Populate a list of searchable terms from the cells of the columns that could be used as a filter
672
853
 
673
- // CONCATENATED MODULE: ./src/components/TaskTitle/TaskTitle.vue
854
+ var searchableTerms = {};
855
+ filterColumns.forEach((columnHeading, index) => {
856
+ Array.from(tableElement.querySelectorAll('td[data-label="' + columnHeading.textContent + '"]')).forEach((label, index) => {
857
+ searchableTerms[label.textContent] = label.textContent;
858
+ });
859
+ }); // Create the form
674
860
 
861
+ var filterTitle = filterColumns.length == 1 ? "Filter by " + filterColumns[0].textContent : "Filter"; // Update title if only one filter is chosen
675
862
 
863
+ var checkboxClass = filterColumns.length == 1 ? "d-none" : "d-sm-flex"; // Hide controls when only one filter is chosen
676
864
 
865
+ form.innerHTML = "<div class=\"col-sm-6 col-md-4 pb-3\">\n <div class=\"form-control__wrapper form-control-inline mb-0\">\n <label for=\"".concat(randID, "_filter\" class=\"form-label\">").concat(filterTitle, ":</label>\n <input type=\"search\" name=\"").concat(randID, "_filter\" id=\"").concat(randID, "_filter\" class=\"form-control form-control-sm\" placeholder=\"\" list=\"").concat(randID, "_list\" />\n </div>\n <datalist id=\"").concat(randID, "_list\">\n ").concat(Object.keys(searchableTerms).map(term => "<option value=\"".concat(term, "\"></option>")).join(""), "\n </datalist>\n</div>\n<div class=\"col-md-8 align-items-center pb-3 ").concat(checkboxClass, "\">\n ").concat("<span class=\"pe-3 text-nowrap h5 mb-0\">Filter by: </span>" + filterColumns.map(column => "<div class=\"form-check pe-3 mt-0 mb-0\"><input class=\"form-check-input\" type=\"checkbox\" id=\"".concat(randID, "_").concat(column.textContent.replace(' ', '_').toLowerCase(), "\" checked=\"checked\" /><label class=\"form-check-label text-nowrap\" for=\"").concat(randID, "_").concat(column.textContent.replace(' ', '_').toLowerCase(), "\">").concat(column.textContent, "</label></div>")).join(""), "\n</div>"); // Add before the actual table
677
866
 
867
+ tableElement.prepend(form);
868
+ };
678
869
 
870
+ var filterTable = function filterTable(searchTerm) {
871
+ // Create an array of rows that match the search term
872
+ var tableArr = [];
873
+ Array.from(storedData.querySelectorAll('tr')).forEach((tableRow, index) => {
874
+ // We want one long search string per row including each filterable table cell
875
+ var rowSearchString = '';
876
+ Array.from(tableElement.querySelectorAll('[type="checkbox"]:checked + label')).forEach((label, index) => {
877
+ rowSearchString += tableRow.querySelector('td[data-label="' + label.textContent + '"]').textContent + ' | ';
878
+ }); // Check if the table row search string contains the search term
879
+
880
+ if (rowSearchString.indexOf(searchTerm) >= 0) {
881
+ var dataRow = {
882
+ row: tableRow
883
+ };
884
+ tableArr.push(dataRow);
885
+ }
886
+ }); // Create a string to return and populate the tbody
679
887
 
680
- /* normalize component */
888
+ var strTbody = '';
889
+ tableArr.forEach((tableRow, index) => {
890
+ strTbody += tableRow.row.outerHTML;
891
+ });
892
+ tbody.innerHTML = strTbody; // Dispatch the filter event.
681
893
 
682
- var TaskTitle_component = normalizeComponent(
683
- TaskTitle_TaskTitlevue_type_script_lang_js_,
684
- TaskTitlevue_type_template_id_237d393f_render,
685
- TaskTitlevue_type_template_id_237d393f_staticRenderFns,
686
- false,
687
- null,
688
- null,
689
- null
690
-
691
- )
894
+ tableElement.dispatchEvent(filteredEvent);
895
+ };
692
896
 
693
- /* harmony default export */ var TaskTitle = (TaskTitle_component.exports);
694
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"679cd527-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/VendorTable/VendorTable.vue?vue&type=template&id=736f863b&
695
- var VendorTablevue_type_template_id_736f863b_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"vendor-table"},[_c('b-table',{attrs:{"stacked":"sm","small":_vm.small,"items":_vm.items,"fields":_vm.fields},scopedSlots:_vm._u([{key:"cell()",fn:function(data){return [_c('span',{domProps:{"innerHTML":_vm._s(data.value)}})]}}])})],1)}
696
- var VendorTablevue_type_template_id_736f863b_staticRenderFns = []
897
+ var createFilterList = function createFilterList() {
898
+ // Check which options are checked
899
+ var filterOptions = [];
900
+ Array.from(tableElement.querySelectorAll('[type="checkbox"]:checked + label')).forEach((label, index) => {
901
+ filterOptions.push(label.textContent);
902
+ }); // Build up the list of searchable terms
903
+
904
+ var searchableTerms = [];
905
+ filterOptions.forEach((option, index) => {
906
+ Array.from(tableElement.querySelectorAll('td[data-label="' + option + '"]')).forEach((label, index) => {
907
+ searchableTerms[label.textContent] = label.textContent;
908
+ });
909
+ }); // Rebuild the list
910
+
911
+ var dataList = tableElement.querySelector('datalist');
912
+ dataList.innerHTML = Object.keys(searchableTerms).map(term => "<option value=\"".concat(term, "\"></option>")).join("");
913
+ }; // On page load check if filters are needed
914
+
915
+
916
+ if (Array.from(tableElement.querySelectorAll('[data-filterable]')).length) {
917
+ // Create the filter options
918
+ createFilterForm(tableElement, Array.from(tableElement.querySelectorAll('[data-filterable]')).length); // Add event handlers for the filter options
919
+
920
+ tableElement.addEventListener('keyup', function (e) {
921
+ for (var target = e.target; target && target != this; target = target.parentNode) {
922
+ if (target.matches('input[type="search"]')) {
923
+ var searchTerm = target.value;
924
+ filterTable(searchTerm);
925
+ }
926
+ }
927
+ });
928
+ tableElement.addEventListener('change', function (e) {
929
+ for (var target = e.target; target && target != this; target = target.parentNode) {
930
+ if (target.matches('input[type="search"]')) {
931
+ var searchTerm = target.value;
932
+ filterTable(searchTerm);
933
+ }
934
+ }
935
+ });
936
+ tableElement.addEventListener('change', function (e) {
937
+ for (var target = e.target; target && target != this; target = target.parentNode) {
938
+ if (target.matches('input[type="checkbox"]')) {
939
+ var searchTerm = tableElement.querySelector('input[type="search"]').value;
940
+ filterTable(searchTerm);
941
+ createFilterList();
942
+ }
943
+ }
944
+ });
945
+ } // #endregion Filters
946
+ // #region Pagination
697
947
 
698
948
 
699
- // CONCATENATED MODULE: ./src/components/VendorTable/VendorTable.vue?vue&type=template&id=736f863b&
949
+ var paginateRows = function paginateRows(show, page) {
950
+ // Create some inline CSS to control what is viewed on the table, unline the filters we are just hiding the rable rows not removing them from the DOM.
951
+ var style = document.getElementById(randID + '_style');
700
952
 
701
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/VendorTable/VendorTable.vue?vue&type=script&lang=js&
702
- //
953
+ if (style == null) {
954
+ style = document.createElement("style");
955
+ style.setAttribute('id', randID + '_style');
956
+ }
957
+
958
+ var startShowing = show * (page - 1) + 1;
959
+ var stopShowing = show * page;
960
+ style.innerHTML = "\n #".concat(randID, " tbody tr {\n display: none;\n }\n #").concat(randID, " tbody tr:nth-child(").concat(startShowing, "),\n #").concat(randID, " tbody tr:nth-child(").concat(startShowing, ") ~ tr{\n display: table-row;\n }\n #").concat(randID, " tbody tr:nth-child(").concat(stopShowing, ") ~ tr{\n display: none;\n }\n ");
961
+ tableElement.append(style);
962
+ };
963
+
964
+ var createPaginationForm = function createPaginationForm(show, page, totalRows) {
965
+ var form = document.createElement("div");
966
+ form.classList.add('table__pagination');
967
+ form.classList.add('row');
968
+ form.classList.add('pt-3');
969
+ form.classList.add('pb-3'); // Create the form and create a container div to hold the pagination buttons
970
+
971
+ form.innerHTML = "<div class=\"col-6 col-sm-3 col-md-2 mb-3\">\n <div class=\"form-control__wrapper form-control-inline mb-0\">\n <label for=\"".concat(randID, "_showing\" class=\"form-label\">Showing:</label>\n <input type=\"number\" name=\"").concat(randID, "_showing\" id=\"").concat(randID, "_showing\" class=\"form-control form-control-sm\" placeholder=\"\" list=\"").concat(randID, "_pagination\" value=\"").concat(show, "\" min=\"1\" max=\"").concat(totalRows, "\" />\n </div>\n <datalist id=\"").concat(randID, "_pagination\">\n <option value=\"5\">5</option>\n ").concat(totalRows > 10 ? "<option value=\"10\">10</option>" : '', "\n ").concat(totalRows > 20 ? "<option value=\"20\">20</option>" : '', "\n <option value=\"").concat(totalRows, "\">").concat(totalRows, "</option>\n </datalist>\n</div>\n<div class=\"col-6 col-sm-2 col-md-2 d-flex align-items-center mb-3\"><span class=\"label\">per page</span></div>\n<div class=\"col-sm-7 col-md-8 d-sm-flex justify-content-end align-items-center mb-3\" id=\"").concat(randID, "_paginationBtns\"></div>"); // Add after the actual table
972
+
973
+ tableElement.append(form);
974
+ };
975
+
976
+ var createPaginationButttons = function createPaginationButttons(show, page, totalRows) {
977
+ var paginationButtonsWrapper = document.getElementById(randID + '_paginationBtns');
978
+ if (paginationButtonsWrapper == null) return false;
979
+ var numberPages = Math.ceil(totalRows / show);
980
+
981
+ if (numberPages == 1) {
982
+ // Remore the buttons or dont display any if we dont need them
983
+ paginationButtonsWrapper.innerHTML = '';
984
+ } else if (numberPages < 5) {
985
+ // If less than 5 pages (which fits comfortably on mobile) we display buttons
986
+ var strButtons = '';
987
+
988
+ for (var i = 1; i <= numberPages; i++) {
989
+ if (i == page) strButtons += "<li class=\"page-item active\" aria-current=\"page\"><span class=\"page-link\">".concat(i, "</span></li>");else strButtons += "<li class=\"page-item\"><button class=\"page-link\" data-page=\"".concat(i, "\">").concat(i, "</button></li>");
990
+ }
991
+
992
+ paginationButtonsWrapper.innerHTML = "<span class=\"pe-2\">Page: </span><ul class=\"pagination mb-0\">\n ".concat(page == 1 ? "<li class=\"page-item disabled\"><span class=\"page-link\">Previous</span></li>" : "<li class=\"page-item\"><button class=\"page-link\" data-page=\"".concat(parseInt(page) - 1, "\">Previous</button></li>"), "\n ").concat(strButtons, "\n ").concat(page == numberPages ? "<li class=\"page-item disabled\"><span class=\"page-link\">Next</span></li>" : "<li class=\"page-item\"><button class=\"page-link\" data-page=\"".concat(parseInt(page) + 1, "\">Next</button></li>"), "\n </ul>");
993
+ } else {
994
+ // If more than 5 lets show a select field instead so that we dont have loads and loads of buttons
995
+ var strOptions = '';
996
+
997
+ for (var _i = 1; _i <= numberPages; _i++) {
998
+ if (_i == page) strOptions += "<option value=\"".concat(_i, "\" selected>Page ").concat(_i, "</option>");else strOptions += "<option value=\"".concat(_i, "\">Page ").concat(_i, "</option>");
999
+ }
1000
+
1001
+ paginationButtonsWrapper.innerHTML = "\n<select class=\"form-select mb-3\">\n ".concat(strOptions, "\n</select>\n ");
1002
+ }
1003
+ }; // On page load check if the table should be paginated
1004
+
1005
+
1006
+ if (tableElement.getAttribute('data-show')) {
1007
+ var show = parseInt(tableElement.getAttribute('data-show'));
1008
+ var page = parseInt(tableElement.getAttribute('data-page')) ? parseInt(tableElement.getAttribute('data-page')) : 1;
1009
+ var totalRows = tableElement.querySelectorAll('tbody tr').length;
1010
+
1011
+ if (show < totalRows) {
1012
+ paginateRows(show, page);
1013
+ createPaginationForm(show, page, totalRows);
1014
+ createPaginationButttons(show, page, totalRows);
1015
+ tableElement.addEventListener('change', function (e) {
1016
+ for (var target = e.target; target && target != this; target = target.parentNode) {
1017
+ if (target.matches('.table__pagination input[type="number"]')) {
1018
+ paginateRows(target.value, page);
1019
+ createPaginationButttons(target.value, page, totalRows);
1020
+ tableElement.setAttribute('data-show', target.value);
1021
+ }
1022
+ }
1023
+ });
1024
+ tableElement.addEventListener('click', function (e) {
1025
+ for (var target = e.target; target && target != this; target = target.parentNode) {
1026
+ if (target.matches('.page-item:not(.active):not(.disabled) .page-link')) {
1027
+ paginateRows(tableElement.getAttribute('data-show'), target.getAttribute('data-page'));
1028
+ createPaginationButttons(tableElement.getAttribute('data-show'), target.getAttribute('data-page'), totalRows);
1029
+ }
1030
+ }
1031
+ }, false);
1032
+ tableElement.addEventListener('change', function (e) {
1033
+ for (var target = e.target; target && target != this; target = target.parentNode) {
1034
+ if (target.matches('.table__pagination select')) {
1035
+ paginateRows(tableElement.getAttribute('data-show'), target.value);
1036
+ createPaginationButttons(tableElement.getAttribute('data-show'), target.value, totalRows);
1037
+ }
1038
+ }
1039
+ });
1040
+ }
1041
+ } // #endregion Pagination
1042
+ // #region Reorderable
1043
+ // Set the row thats being dragged and copy the row
1044
+
1045
+
1046
+ function setDraggedRow(e) {
1047
+ e.dataTransfer.setData("text/plain", e.target.id);
1048
+ draggedRow = e.target;
1049
+ e.target.classList.add('tr--dragging');
1050
+ } // Create the order column and event handler for rows
1051
+
1052
+
1053
+ var setReorderRows = function setReorderRows() {
1054
+ Array.from(tbody.querySelectorAll('tr')).forEach((tableRow, index) => {
1055
+ // Create column if not already created
1056
+ if (tableRow.querySelector('[data-label="Order"]') == null) {
1057
+ var orderColumn = document.createElement('th');
1058
+ orderColumn.innerHTML = index + 1;
1059
+ orderColumn.setAttribute('data-label', 'Order');
1060
+ tableRow.prepend(orderColumn);
1061
+ } // Make draggable
1062
+
1063
+
1064
+ tableRow.setAttribute('id', randID + '_row_' + (index + 1));
1065
+ tableRow.setAttribute('data-order', index + 1);
1066
+ tableRow.setAttribute('draggable', 'true');
1067
+ tableRow.addEventListener("dragstart", setDraggedRow);
1068
+ });
1069
+ };
1070
+
1071
+ if (tableElement.getAttribute('data-reorder')) {
1072
+ // Add column heading
1073
+ var orderHeading = document.createElement('th');
1074
+ orderHeading.innerHTML = 'Order';
1075
+ orderHeading.classList.add('table-order-reset');
1076
+ thead.querySelector('tr').prepend(orderHeading);
1077
+ setReorderRows(); // Reset order button
1078
+
1079
+ tableElement.addEventListener('click', function (e) {
1080
+ for (var target = e.target; target && target != this; target = target.parentNode) {
1081
+ if (target.matches('.table-order-reset')) {
1082
+ // unset sort attributes
1083
+ Array.from(tableElement.querySelectorAll('[data-sortable]')).forEach((col, index) => {
1084
+ col.setAttribute('aria-sort', 'none');
1085
+ }); // Save the sort options on the table element so that it can be re-sorted later
1086
+
1087
+ tableElement.removeAttribute('data-sort');
1088
+ tableElement.removeAttribute('data-sortBy'); // Sort the table
1089
+
1090
+ sortTable('Order', 'ascending');
1091
+ Array.from(tableElement.querySelectorAll('tbody tr')).forEach((tableRow, index) => {
1092
+ tableRow.setAttribute('draggable', 'true');
1093
+ });
1094
+ break;
1095
+ }
1096
+ }
1097
+ }, false);
1098
+ document.addEventListener("dragover", function (e) {
1099
+ // prevent default to allow drop
1100
+ e.preventDefault();
1101
+ }, false);
1102
+ document.addEventListener("dragenter", function (e) {
1103
+ // prevent default to allow drop
1104
+ e.preventDefault();
1105
+ e.dataTransfer.dropEffect = "move";
1106
+
1107
+ for (var target = e.target; target && target != this; target = target.parentNode) {
1108
+ if (target.matches('[data-reorder] tbody tr')) {
1109
+ target.classList.add('tr--dropable');
1110
+ }
1111
+ }
1112
+ }, false);
1113
+ document.addEventListener("dragleave", function (e) {
1114
+ // prevent default to allow drop
1115
+ e.preventDefault();
1116
+
1117
+ for (var target = e.target; target && target != this; target = target.parentNode) {
1118
+ if (target.matches('[data-reorder] tbody tr')) {
1119
+ target.classList.remove('tr--dropable');
1120
+ }
1121
+ }
1122
+ }, false);
1123
+ document.addEventListener("drop", function (e) {
1124
+ e.preventDefault();
1125
+
1126
+ for (var target = e.target; target && target != this; target = target.parentNode) {
1127
+ if (target.matches('[data-reorder] tbody tr')) {
1128
+ if (target.parentNode != null && draggedRow.parentNode != null && target != draggedRow) {
1129
+ draggedRow.parentNode.removeChild(draggedRow);
1130
+ if (draggedRow.getAttribute('data-order') > target.getAttribute('data-order')) target.parentNode.insertBefore(draggedRow, target);else target.parentNode.insertBefore(draggedRow, target.nextElementSibling); // Re label the rows
1131
+
1132
+ Array.from(tbody.querySelectorAll('tr')).forEach((tableRowOrder, index) => {
1133
+ tableRowOrder.classList.remove('tr--dragging');
1134
+ tableRowOrder.classList.remove('tr--dropable');
1135
+ tableRowOrder.querySelector('th').innerHTML = index + 1;
1136
+ tableRowOrder.setAttribute('data-order', index + 1);
1137
+ });
1138
+ }
1139
+
1140
+ break;
1141
+ }
1142
+ }
1143
+ }, false);
1144
+ } // #endregion Reorderable
1145
+ // Watch for the filterable event and re-sort the tbody
1146
+
1147
+
1148
+ tableElement.addEventListener('filtered', function (e) {
1149
+ if (tableElement.getAttribute('data-sortBy') && tableElement.getAttribute('data-sort')) sortTable(tableElement.getAttribute('data-sortBy'), tableElement.getAttribute('data-sort'));
1150
+
1151
+ if (tableElement.getAttribute('data-show')) {
1152
+ var _show = parseInt(tableElement.getAttribute('data-show'));
1153
+
1154
+ var _totalRows = tableElement.querySelectorAll('tbody tr').length;
1155
+ var tablePagination = tableElement.querySelector('.table__pagination');
1156
+ if (tablePagination != null) tablePagination.remove();
1157
+
1158
+ if (_show < _totalRows) {
1159
+ paginateRows(_show, 1);
1160
+ createPaginationForm(_show, 1, _totalRows);
1161
+ createPaginationButttons(_show, 1, _totalRows);
1162
+ }
1163
+ }
1164
+
1165
+ if (tableElement.getAttribute('data-reorder')) {
1166
+ setReorderRows();
1167
+ }
1168
+ }, false);
1169
+ tableElement.addEventListener('sorted', function (e) {
1170
+ if (tableElement.getAttribute('data-reorder')) {
1171
+ setReorderRows();
1172
+ }
1173
+ }, false);
1174
+ tableElement.addEventListener('populated', function (e) {
1175
+ var tableFilter = tableElement.querySelector('.table__filters');
1176
+ tableFilter.remove();
1177
+ var tablePagination = tableElement.querySelector('.table__pagination');
1178
+ tablePagination.remove();
1179
+ var newTable = tableElement.cloneNode(true);
1180
+ tableElement.parentNode.replaceChild(newTable, tableElement);
1181
+ table(newTable);
1182
+ }, false);
1183
+ }
1184
+
1185
+ /* harmony default export */ var modules_table = (table);
1186
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/elements/Table/Table.vue?vue&type=script&lang=js&
1187
+ //
1188
+ //
1189
+ //
1190
+ //
1191
+ //
703
1192
  //
704
1193
  //
705
1194
  //
@@ -709,9 +1198,35 @@ var VendorTablevue_type_template_id_736f863b_staticRenderFns = []
709
1198
  //
710
1199
  //
711
1200
  //
712
- /* harmony default export */ var VendorTablevue_type_script_lang_js_ = ({
713
- name: 'VendorTable',
1201
+ //
1202
+ //
1203
+ //
1204
+ //
1205
+
1206
+
1207
+ /* harmony default export */ var Tablevue_type_script_lang_js_ = ({
1208
+ name: 'Table',
714
1209
  props: {
1210
+ reorder: {
1211
+ type: Boolean,
1212
+ required: false
1213
+ },
1214
+ page: {
1215
+ type: Number,
1216
+ required: false
1217
+ },
1218
+ show: {
1219
+ type: Number,
1220
+ required: false
1221
+ },
1222
+ sortby: {
1223
+ type: String,
1224
+ required: false
1225
+ },
1226
+ sort: {
1227
+ type: String,
1228
+ required: false
1229
+ },
715
1230
  items: {
716
1231
  type: Array,
717
1232
  required: true
@@ -719,16 +1234,333 @@ var VendorTablevue_type_template_id_736f863b_staticRenderFns = []
719
1234
  fields: {
720
1235
  type: Array,
721
1236
  required: true
1237
+ }
1238
+ },
1239
+ computed: {
1240
+ cellHeading() {
1241
+ return heading => {
1242
+ return "".concat(ucfirst(unsnake(heading)));
1243
+ };
722
1244
  },
723
- small: {
724
- type: Boolean,
1245
+
1246
+ numericValue() {
1247
+ return value => {
1248
+ value = value.replace('£', '');
1249
+ value = value.replace('%', '');
1250
+
1251
+ if (Number.isNaN(Number.parseFloat(value))) {
1252
+ return 0;
1253
+ }
1254
+
1255
+ return Number.parseFloat(value);
1256
+ };
1257
+ }
1258
+
1259
+ },
1260
+
1261
+ mounted() {
1262
+ this.$nextTick(function () {
1263
+ modules_table(this.$refs.wrapper); // Listen for the event.
1264
+
1265
+ this.$el.addEventListener('sorted', function (e) {
1266
+ console.log('Table sorted');
1267
+ }, false);
1268
+ this.$el.addEventListener('filtered', function (e) {
1269
+ console.log('Table filtered');
1270
+ }, false);
1271
+ });
1272
+ },
1273
+
1274
+ updated() {
1275
+ this.$nextTick(function () {
1276
+ // If the data gets updated we may need to recreate the tbody as it get detached when sorted in the table.js
1277
+ var tbody = this.$refs.wrapper.querySelector('tbody');
1278
+ var tbodyHTML = '';
1279
+ this.items.forEach((row, index) => {
1280
+ tbodyHTML += "<tr>".concat(Object.keys(row).map(col => "<td data-label=\"".concat(ucfirst(unsnake(col)), "\">").concat(row[col], "</td>")).join(""), "</tr>");
1281
+ });
1282
+ tbody.innerHTML = tbodyHTML; // Tell the framework that the table has been filtered so that it can re-sort it etc
1283
+
1284
+ var updatedEvent = new Event('filtered');
1285
+ this.$refs.wrapper.dispatchEvent(updatedEvent);
1286
+ });
1287
+ }
1288
+
1289
+ });
1290
+ // CONCATENATED MODULE: ./src/elements/Table/Table.vue?vue&type=script&lang=js&
1291
+ /* harmony default export */ var Table_Tablevue_type_script_lang_js_ = (Tablevue_type_script_lang_js_);
1292
+ // CONCATENATED MODULE: ./src/elements/Table/Table.vue
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+ /* normalize component */
1299
+
1300
+ var Table_component = normalizeComponent(
1301
+ Table_Tablevue_type_script_lang_js_,
1302
+ Tablevue_type_template_id_3feb44d8_render,
1303
+ Tablevue_type_template_id_3feb44d8_staticRenderFns,
1304
+ false,
1305
+ null,
1306
+ null,
1307
+ null
1308
+
1309
+ )
1310
+
1311
+ /* harmony default export */ var Table = (Table_component.exports);
1312
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/elements/Input/Input.vue?vue&type=template&id=fcd5c080&
1313
+ var Inputvue_type_template_id_fcd5c080_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"wrapper",class:_vm.wrapperClass()},[(_vm.needsLabel())?_c('label',{class:("form-label" + (_vm.labelclass?(" " + _vm.labelclass):'')),attrs:{"for":_vm.id},domProps:{"innerHTML":_vm._s(_vm.displayLabel())}}):_vm._e(),((_vm.type)==='checkbox'&&(_vm.isInput()))?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-control" + (_vm.size?(" form-control-" + _vm.size):"") + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern(),"list":_vm.hasOptions(),"type":"checkbox"},domProps:{"checked":Array.isArray(_vm.inputVal)?_vm._i(_vm.inputVal,null)>-1:(_vm.inputVal)},on:{"keyup":_vm.inputKeyup,"change":function($event){var $$a=_vm.inputVal,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.inputVal=$$a.concat([$$v]))}else{$$i>-1&&(_vm.inputVal=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.inputVal=$$c}}}},'input',_vm.$attrs,false)):((_vm.type)==='radio'&&(_vm.isInput()))?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-control" + (_vm.size?(" form-control-" + _vm.size):"") + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern(),"list":_vm.hasOptions(),"type":"radio"},domProps:{"checked":_vm._q(_vm.inputVal,null)},on:{"keyup":_vm.inputKeyup,"change":function($event){_vm.inputVal=null}}},'input',_vm.$attrs,false)):(_vm.isInput())?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-control" + (_vm.size?(" form-control-" + _vm.size):"") + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern(),"list":_vm.hasOptions(),"type":_vm.type},domProps:{"value":(_vm.inputVal)},on:{"keyup":_vm.inputKeyup,"input":function($event){if($event.target.composing){ return; }_vm.inputVal=$event.target.value}}},'input',_vm.$attrs,false)):_vm._e(),(_vm.type=='textarea')?_c('textarea',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-control" + (_vm.size?(" form-control-" + _vm.size):"") + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"type":_vm.type,"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern()},domProps:{"value":(_vm.inputVal)},on:{"input":function($event){if($event.target.composing){ return; }_vm.inputVal=$event.target.value}}},'textarea',_vm.$attrs,false)):_vm._e(),(_vm.type=='range')?_c('div',{staticClass:"input-group"},[((_vm.type)==='checkbox')?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-range" + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern(),"list":_vm.hasOptions(),"oninput":"this.nextElementSibling.value=this.value;","type":"checkbox"},domProps:{"checked":Array.isArray(_vm.inputVal)?_vm._i(_vm.inputVal,null)>-1:(_vm.inputVal)},on:{"change":function($event){var $$a=_vm.inputVal,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.inputVal=$$a.concat([$$v]))}else{$$i>-1&&(_vm.inputVal=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.inputVal=$$c}}}},'input',_vm.$attrs,false)):((_vm.type)==='radio')?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-range" + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern(),"list":_vm.hasOptions(),"oninput":"this.nextElementSibling.value=this.value;","type":"radio"},domProps:{"checked":_vm._q(_vm.inputVal,null)},on:{"change":function($event){_vm.inputVal=null}}},'input',_vm.$attrs,false)):_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-range" + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern(),"list":_vm.hasOptions(),"oninput":"this.nextElementSibling.value=this.value;","type":_vm.type},domProps:{"value":(_vm.inputVal)},on:{"input":function($event){if($event.target.composing){ return; }_vm.inputVal=$event.target.value}}},'input',_vm.$attrs,false)),_c('output',{staticClass:"input-group-text border-0 col-2 col-sm-1 px-0"},[_vm._v(_vm._s(_vm.value))])]):_vm._e(),(_vm.type=='color')?_c('div',{staticClass:"input-group"},[((_vm.type)==='checkbox')?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-control form-control-color" + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern(),"list":_vm.hasOptions(),"oninput":"this.nextElementSibling.value=this.value;","type":"checkbox"},domProps:{"checked":Array.isArray(_vm.inputVal)?_vm._i(_vm.inputVal,null)>-1:(_vm.inputVal)},on:{"change":function($event){var $$a=_vm.inputVal,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.inputVal=$$a.concat([$$v]))}else{$$i>-1&&(_vm.inputVal=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.inputVal=$$c}}}},'input',_vm.$attrs,false)):((_vm.type)==='radio')?_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-control form-control-color" + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern(),"list":_vm.hasOptions(),"oninput":"this.nextElementSibling.value=this.value;","type":"radio"},domProps:{"checked":_vm._q(_vm.inputVal,null)},on:{"change":function($event){_vm.inputVal=null}}},'input',_vm.$attrs,false)):_c('input',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-control form-control-color" + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"name":_vm.name?_vm.name:_vm.id,"id":_vm.id,"pattern":_vm.needPattern(),"list":_vm.hasOptions(),"oninput":"this.nextElementSibling.value=this.value;","type":_vm.type},domProps:{"value":(_vm.inputVal)},on:{"input":function($event){if($event.target.composing){ return; }_vm.inputVal=$event.target.value}}},'input',_vm.$attrs,false)),_c('output',{staticClass:"input-group-text flex-fill"},[_vm._v(_vm._s(_vm.value?_vm.vale:'#000000'))])]):_vm._e(),(_vm.type=='select')?_c('select',_vm._b({directives:[{name:"model",rawName:"v-model",value:(_vm.inputVal),expression:"inputVal"}],class:("form-select" + (_vm.size?(" form-select-" + _vm.size):"") + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"type":_vm.type,"name":_vm.id,"id":_vm.id,"pattern":_vm.needPattern()},on:{"change":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return val}); _vm.inputVal=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},'select',_vm.$attrs,false),_vm._l((_vm.options),function(value,index){return _c('option',{key:index,domProps:{"value":value.value}},[_vm._v(_vm._s(value.display ? value.display : value.value))])}),0):_vm._e(),(_vm.allowDatalist())?_c('datalist',{attrs:{"id":_vm.id+'-list'}},_vm._l((_vm.options),function(value,index){return _c('option',{key:index,domProps:{"value":value.value}},[_vm._v(_vm._s(value.value))])}),0):_vm._e(),(_vm.type=='checkbox'||_vm.type=='radio')?_c('input',_vm._b({staticClass:"form-check-input",attrs:{"type":_vm.type,"name":_vm.name?_vm.name:_vm.id,"id":_vm.id}},'input',_vm.$attrs,false)):_vm._e(),(_vm.type=='checkbox'||_vm.type=='radio')?_c('label',{class:("form-label form-check-label" + (_vm.labelclass?(" " + _vm.labelclass):'')),attrs:{"for":_vm.id},domProps:{"innerHTML":_vm._s(_vm.label)}}):_vm._e(),(_vm.type=='checkbox-btn'||_vm.type=='radio-btn')?_c('input',_vm._b({class:("btn-check" + (_vm.inputclass?(" " + _vm.inputclass):"")),attrs:{"type":_vm.type.replace('-btn',''),"autocomplete":"off","name":_vm.name?_vm.name:_vm.id,"id":_vm.id}},'input',_vm.$attrs,false)):_vm._e(),(_vm.type=='checkbox-btn'||_vm.type=='radio-btn')?_c('label',{class:("btn" + (_vm.labelclass?(" " + _vm.labelclass):'')),attrs:{"for":_vm.id},domProps:{"innerHTML":_vm._s(_vm.label)},on:{"click":_vm.clickEvent}}):_vm._e(),(_vm.errormsg)?_c('p',{staticClass:"invalid-feedback mb-0",domProps:{"innerHTML":_vm._s(_vm.errormsg)}}):_vm._e(),_vm._t("default")],2)}
1314
+ var Inputvue_type_template_id_fcd5c080_staticRenderFns = []
1315
+
1316
+
1317
+ // CONCATENATED MODULE: ./src/elements/Input/Input.vue?vue&type=template&id=fcd5c080&
1318
+
1319
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/elements/Input/Input.vue?vue&type=script&lang=js&
1320
+ //
1321
+ //
1322
+ //
1323
+ //
1324
+ //
1325
+ //
1326
+ //
1327
+ //
1328
+ //
1329
+ //
1330
+ //
1331
+ //
1332
+ //
1333
+ //
1334
+ //
1335
+ //
1336
+ //
1337
+ //
1338
+ //
1339
+ //
1340
+ //
1341
+ //
1342
+ //
1343
+ //
1344
+ //
1345
+ //
1346
+ //
1347
+ //
1348
+ //
1349
+ //
1350
+ //
1351
+ //
1352
+ //
1353
+ //
1354
+ //
1355
+ //
1356
+ //
1357
+ //
1358
+ //
1359
+ //
1360
+ //
1361
+ //
1362
+ //
1363
+ //
1364
+ //
1365
+ /* harmony default export */ var Inputvue_type_script_lang_js_ = ({
1366
+ name: 'Input',
1367
+ props: {
1368
+ value: {
1369
+ type: String,
1370
+ required: false
1371
+ },
1372
+ id: {
1373
+ type: String,
1374
+ required: true
1375
+ },
1376
+ name: {
1377
+ type: String,
1378
+ required: false
1379
+ },
1380
+ list: {
1381
+ type: String,
1382
+ required: false
1383
+ },
1384
+ label: {
1385
+ type: String,
1386
+ required: false
1387
+ },
1388
+ labelclass: {
1389
+ type: String,
1390
+ required: false
1391
+ },
1392
+ inputclass: {
1393
+ type: String,
1394
+ required: false
1395
+ },
1396
+ type: {
1397
+ type: String,
1398
+ required: false,
1399
+ default: 'text'
1400
+ },
1401
+ size: {
1402
+ type: String,
1403
+ required: false
1404
+ },
1405
+ errormsg: {
1406
+ type: String,
1407
+ required: false
1408
+ },
1409
+ options: {
1410
+ type: Array,
725
1411
  required: false
726
1412
  }
1413
+ },
1414
+ computed: {
1415
+ displayLabel() {
1416
+ return () => {
1417
+ if (this.$attrs.multiple) {
1418
+ return this.label + "<span class=\"small d-block text-body font-body fw-normal\">Hold down the Ctrl (windows) or Command (Mac) button to select multiple options.</span>";
1419
+ }
1420
+
1421
+ return this.label;
1422
+ };
1423
+ },
1424
+
1425
+ wrapperClass() {
1426
+ return () => {
1427
+ switch (this.type) {
1428
+ case 'radio':
1429
+ case 'checkbox':
1430
+ return 'form-check';
1431
+
1432
+ case 'radio-btn':
1433
+ case 'checkbox-btn':
1434
+ return false;
1435
+
1436
+ default:
1437
+ return 'form-control__wrapper';
1438
+ }
1439
+ };
1440
+ },
1441
+
1442
+ needPattern() {
1443
+ return () => {
1444
+ if (this.pattern) return this.pattern; // Create fallback patterns for input types
1445
+
1446
+ switch (this.type) {
1447
+ case 'datetime-local':
1448
+ return '[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}';
1449
+ }
1450
+
1451
+ return false;
1452
+ };
1453
+ },
1454
+
1455
+ needsLabel() {
1456
+ return () => {
1457
+ switch (this.type) {
1458
+ case 'radio':
1459
+ case 'radio-btn':
1460
+ case 'checkbox':
1461
+ case 'checkbox-btn':
1462
+ return false;
1463
+
1464
+ default:
1465
+ return true;
1466
+ }
1467
+ };
1468
+ },
1469
+
1470
+ isInput() {
1471
+ return () => {
1472
+ switch (this.type) {
1473
+ case 'textarea':
1474
+ case 'select':
1475
+ case 'radio':
1476
+ case 'radio-btn':
1477
+ case 'checkbox':
1478
+ case 'checkbox-btn':
1479
+ case 'range':
1480
+ case 'color':
1481
+ return false;
1482
+
1483
+ default:
1484
+ return true;
1485
+ }
1486
+ };
1487
+ },
1488
+
1489
+ allowDatalist() {
1490
+ return () => {
1491
+ switch (this.type) {
1492
+ case 'select':
1493
+ case 'radio':
1494
+ case 'radio-btn':
1495
+ case 'checkbox':
1496
+ case 'checkbox-btn':
1497
+ return false;
1498
+
1499
+ default:
1500
+ return true;
1501
+ }
1502
+ };
1503
+ },
1504
+
1505
+ hasOptions() {
1506
+ return () => {
1507
+ if (this.list) return this.list;
1508
+
1509
+ if (this.options) {
1510
+ return this.id + '-list';
1511
+ }
1512
+ };
1513
+ },
1514
+
1515
+ inputVal: {
1516
+ get() {
1517
+ // Default to the first options if no value set for select field
1518
+ if (this.value == undefined && this.options != undefined && this.type == "select") {
1519
+ // Return an empty array if muliple attribute is set
1520
+ if (this.$attrs.multiple) {
1521
+ return [];
1522
+ }
1523
+
1524
+ return this.options[0].value;
1525
+ }
1526
+
1527
+ return this.value;
1528
+ },
1529
+
1530
+ set(val) {
1531
+ this.$emit('input', val);
1532
+ }
1533
+
1534
+ }
1535
+ },
1536
+
1537
+ mounted() {
1538
+ this.$nextTick(function () {
1539
+ var element = this.$refs.wrapper; // Remove unnecessary divs that may get in the way of our CSS sibling selectors working
1540
+
1541
+ if (element.parentNode && element.parentNode.classList.contains('form-check') || element.classList.length == 0) {
1542
+ var fragment = document.createDocumentFragment();
1543
+ Array.from(element.childNodes).forEach(child => fragment.appendChild(child));
1544
+ element.parentNode.insertBefore(fragment, element);
1545
+ element.parentNode.removeChild(element);
1546
+ }
1547
+ });
1548
+ },
1549
+
1550
+ methods: {
1551
+ inputKeyup(event) {
1552
+ this.$emit('keyupEvent', event);
1553
+ },
1554
+
1555
+ clickEvent() {
1556
+ this.$emit('bus');
1557
+ }
1558
+
727
1559
  }
728
1560
  });
729
- // CONCATENATED MODULE: ./src/components/VendorTable/VendorTable.vue?vue&type=script&lang=js&
730
- /* harmony default export */ var VendorTable_VendorTablevue_type_script_lang_js_ = (VendorTablevue_type_script_lang_js_);
731
- // CONCATENATED MODULE: ./src/components/VendorTable/VendorTable.vue
1561
+ // CONCATENATED MODULE: ./src/elements/Input/Input.vue?vue&type=script&lang=js&
1562
+ /* harmony default export */ var Input_Inputvue_type_script_lang_js_ = (Inputvue_type_script_lang_js_);
1563
+ // CONCATENATED MODULE: ./src/elements/Input/Input.vue
732
1564
 
733
1565
 
734
1566
 
@@ -736,10 +1568,10 @@ var VendorTablevue_type_template_id_736f863b_staticRenderFns = []
736
1568
 
737
1569
  /* normalize component */
738
1570
 
739
- var VendorTable_component = normalizeComponent(
740
- VendorTable_VendorTablevue_type_script_lang_js_,
741
- VendorTablevue_type_template_id_736f863b_render,
742
- VendorTablevue_type_template_id_736f863b_staticRenderFns,
1571
+ var Input_component = normalizeComponent(
1572
+ Input_Inputvue_type_script_lang_js_,
1573
+ Inputvue_type_template_id_fcd5c080_render,
1574
+ Inputvue_type_template_id_fcd5c080_staticRenderFns,
743
1575
  false,
744
1576
  null,
745
1577
  null,
@@ -747,8 +1579,1749 @@ var VendorTable_component = normalizeComponent(
747
1579
 
748
1580
  )
749
1581
 
750
- /* harmony default export */ var VendorTable = (VendorTable_component.exports);
751
- // CONCATENATED MODULE: ./src/index.js
1582
+ /* harmony default export */ var Input = (Input_component.exports);
1583
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Accordion/Accordion.vue?vue&type=template&id=5b142733&
1584
+ var Accordionvue_type_template_id_5b142733_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"wrapper",staticClass:"container accordion"},[_vm._t("default")],2)}
1585
+ var Accordionvue_type_template_id_5b142733_staticRenderFns = []
1586
+
1587
+
1588
+ // CONCATENATED MODULE: ./src/components/Accordion/Accordion.vue?vue&type=template&id=5b142733&
1589
+
1590
+ // CONCATENATED MODULE: ./assets/js/modules/accordion.js
1591
+ function accordion(accordionElement) {
1592
+ // Fetch all the details element.
1593
+ if (!accordionElement.classList.contains('accordion--keep-open')) {
1594
+ var details = accordionElement.querySelectorAll(":scope > details"); // Add the onclick listeners.
1595
+
1596
+ details.forEach(targetDetail => {
1597
+ targetDetail.addEventListener("click", () => {
1598
+ // Close all the details that are not targetDetail.
1599
+ details.forEach(detail => {
1600
+ if (detail !== targetDetail) {
1601
+ detail.removeAttribute("open");
1602
+ }
1603
+ });
1604
+ });
1605
+ });
1606
+ }
1607
+
1608
+ if (window.location.hash && document.querySelector(window.location.hash + ':not([open]) summary')) {
1609
+ var detail = document.querySelector(window.location.hash + ' summary');
1610
+ detail.click();
1611
+ }
1612
+
1613
+ window.addEventListener('hashchange', function () {
1614
+ if (window.location.hash && document.querySelector(window.location.hash + ' summary')) {
1615
+ var _detail = document.querySelector(window.location.hash + ' summary');
1616
+
1617
+ _detail.click();
1618
+ }
1619
+ });
1620
+ }
1621
+
1622
+ /* harmony default export */ var modules_accordion = (accordion);
1623
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Accordion/Accordion.vue?vue&type=script&lang=js&
1624
+ //
1625
+ //
1626
+ //
1627
+ //
1628
+ //
1629
+ //
1630
+ //
1631
+ //
1632
+ //
1633
+ //
1634
+ //
1635
+ //
1636
+
1637
+ /* harmony default export */ var Accordionvue_type_script_lang_js_ = ({
1638
+ name: 'Accordion',
1639
+ props: {},
1640
+
1641
+ mounted() {
1642
+ modules_accordion(this.$refs.wrapper);
1643
+ }
1644
+
1645
+ });
1646
+ // CONCATENATED MODULE: ./src/components/Accordion/Accordion.vue?vue&type=script&lang=js&
1647
+ /* harmony default export */ var Accordion_Accordionvue_type_script_lang_js_ = (Accordionvue_type_script_lang_js_);
1648
+ // EXTERNAL MODULE: ./src/components/Accordion/Accordion.vue?vue&type=style&index=0&lang=scss&
1649
+ var Accordionvue_type_style_index_0_lang_scss_ = __webpack_require__("3626");
1650
+
1651
+ // CONCATENATED MODULE: ./src/components/Accordion/Accordion.vue
1652
+
1653
+
1654
+
1655
+
1656
+
1657
+
1658
+ /* normalize component */
1659
+
1660
+ var Accordion_component = normalizeComponent(
1661
+ Accordion_Accordionvue_type_script_lang_js_,
1662
+ Accordionvue_type_template_id_5b142733_render,
1663
+ Accordionvue_type_template_id_5b142733_staticRenderFns,
1664
+ false,
1665
+ null,
1666
+ null,
1667
+ null
1668
+
1669
+ )
1670
+
1671
+ /* harmony default export */ var Accordion = (Accordion_component.exports);
1672
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Banner/Banner.vue?vue&type=template&id=1acf827a&
1673
+ var Bannervue_type_template_id_1acf827a_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"container"},[_c('div',{class:'bg-'+_vm.background+' mb-4'},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col-sm-6"},[_c('div',{staticClass:"pt-5 pb-3 px-4"},[_c('h2',[_vm._v(_vm._s(_vm.title))]),_vm._t("default")],2)]),_c('div',{staticClass:"col-sm-6 col-md-5 ms-auto"},[(_vm.image)?_c('img',{staticClass:"h-100 w-100 object-cover",attrs:{"src":_vm.image,"alt":""}}):_vm._e()])])])])}
1674
+ var Bannervue_type_template_id_1acf827a_staticRenderFns = []
1675
+
1676
+
1677
+ // CONCATENATED MODULE: ./src/components/Banner/Banner.vue?vue&type=template&id=1acf827a&
1678
+
1679
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Banner/Banner.vue?vue&type=script&lang=js&
1680
+ //
1681
+ //
1682
+ //
1683
+ //
1684
+ //
1685
+ //
1686
+ //
1687
+ //
1688
+ //
1689
+ //
1690
+ //
1691
+ //
1692
+ //
1693
+ //
1694
+ //
1695
+ //
1696
+ //
1697
+ //
1698
+ /* harmony default export */ var Bannervue_type_script_lang_js_ = ({
1699
+ name: 'Header',
1700
+ props: {
1701
+ title: {
1702
+ type: String,
1703
+ required: true
1704
+ },
1705
+ image: {
1706
+ type: String,
1707
+ required: false
1708
+ },
1709
+ background: {
1710
+ type: String,
1711
+ default: 'light',
1712
+ required: false
1713
+ }
1714
+ }
1715
+ });
1716
+ // CONCATENATED MODULE: ./src/components/Banner/Banner.vue?vue&type=script&lang=js&
1717
+ /* harmony default export */ var Banner_Bannervue_type_script_lang_js_ = (Bannervue_type_script_lang_js_);
1718
+ // CONCATENATED MODULE: ./src/components/Banner/Banner.vue
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+ /* normalize component */
1725
+
1726
+ var Banner_component = normalizeComponent(
1727
+ Banner_Bannervue_type_script_lang_js_,
1728
+ Bannervue_type_template_id_1acf827a_render,
1729
+ Bannervue_type_template_id_1acf827a_staticRenderFns,
1730
+ false,
1731
+ null,
1732
+ null,
1733
+ null
1734
+
1735
+ )
1736
+
1737
+ /* harmony default export */ var Banner = (Banner_component.exports);
1738
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Card/Card.vue?vue&type=template&id=49ed1e80&
1739
+ var Cardvue_type_template_id_49ed1e80_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{class:'card'+(_vm.type?' card--'+_vm.type:''),attrs:{"href":_vm.link,"title":'Find out more: '+_vm.title+(_vm.subtitle ? ' - '+_vm.subtitle:'')}},[(_vm.image)?_c('div',{staticClass:"card-header__wrapper"},[_c('img',{staticClass:"card-image",attrs:{"src":_vm.image,"alt":"","loading":"lazy"}}),_c('div',{staticClass:"card-header"},[(this.details && this.details.status)?_c('span',{staticClass:"badge bg-primary p-2 me-2",domProps:{"innerHTML":_vm._s(_vm.cardStatus())}}):_vm._e(),(this.details && (this.details.images || this.details.videos))?_c('span',{staticClass:"badge bg-black bg-opacity-50 p-2 align-self-end",domProps:{"innerHTML":_vm._s(_vm.cardMedia())}}):_vm._e()]),(_vm.details && _vm.details.logo)?_c('img',{staticClass:"card-logo",attrs:{"src":_vm.details.logo,"alt":"","loading":"lazy"}}):_vm._e()]):_vm._e(),_c('div',{staticClass:"card-body",domProps:{"innerHTML":_vm._s(_vm.cardContent())}}),(_vm.hidectatext == false)?_c('div',{staticClass:"card-footer"},[_c('span',{class:((_vm.btntype == 'link' ? "link" : ("btn btn-" + _vm.btntype)) + " mb-0")},[_vm._v(_vm._s(_vm.ctatext)),_c('span',{staticClass:"visually-hidden"},[_vm._v(" about "+_vm._s(_vm.title))])])]):_vm._e()])}
1740
+ var Cardvue_type_template_id_49ed1e80_staticRenderFns = []
1741
+
1742
+
1743
+ // CONCATENATED MODULE: ./src/components/Card/Card.vue?vue&type=template&id=49ed1e80&
1744
+
1745
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Card/Card.vue?vue&type=script&lang=js&
1746
+ //
1747
+ //
1748
+ //
1749
+ //
1750
+ //
1751
+ //
1752
+ //
1753
+ //
1754
+ //
1755
+ //
1756
+ //
1757
+ //
1758
+ //
1759
+ //
1760
+ //
1761
+ //
1762
+ //
1763
+ //
1764
+ //
1765
+ //
1766
+ //
1767
+ //
1768
+ //
1769
+ /* harmony default export */ var Cardvue_type_script_lang_js_ = ({
1770
+ name: 'Card',
1771
+ props: {
1772
+ link: {
1773
+ type: String,
1774
+ required: false
1775
+ },
1776
+ titleclass: {
1777
+ type: String,
1778
+ required: false,
1779
+ default: 'h4'
1780
+ },
1781
+ title: {
1782
+ type: String,
1783
+ required: false
1784
+ },
1785
+ subtitle: {
1786
+ type: String,
1787
+ required: false
1788
+ },
1789
+ content: {
1790
+ type: String,
1791
+ required: false
1792
+ },
1793
+ type: {
1794
+ type: String,
1795
+ required: false
1796
+ },
1797
+ btntype: {
1798
+ type: String,
1799
+ required: false,
1800
+ default: 'secondary'
1801
+ },
1802
+ ctatext: {
1803
+ type: String,
1804
+ required: false,
1805
+ default: 'Find out more'
1806
+ },
1807
+ hidectatext: {
1808
+ type: Boolean,
1809
+ required: false,
1810
+ default: false
1811
+ },
1812
+ image: {
1813
+ type: String,
1814
+ required: false
1815
+ },
1816
+ details: {
1817
+ type: Object,
1818
+ required: false
1819
+ }
1820
+ },
1821
+ computed: {
1822
+ cardStatus() {
1823
+ return () => {
1824
+ return this.details && this.details.status ? "".concat(this.details.status == 'Live now' ? '<span class="text-danger lh-0 fs-1 align-middle">&#8226;</span>&nbsp;&nbsp;' : '').concat(this.details.status) : '';
1825
+ };
1826
+ },
1827
+
1828
+ cardMedia() {
1829
+ return () => {
1830
+ return "<svg xmlns='http://www.w3.org/2000/svg' width='30' height='28' viewBox='0 0 30 28' class=\"icon text-white\"><title>Images </title><path d='M15 10.5c2.484 0 4.5 2.016 4.5 4.5s-2.016 4.5-4.5 4.5-4.5-2.016-4.5-4.5 2.016-4.5 4.5-4.5zM26 4c2.203 0 4 1.797 4 4v14c0 2.203-1.797 4-4 4h-22c-2.203 0-4-1.797-4-4v-14c0-2.203 1.797-4 4-4h3.5l0.797-2.125c0.391-1.031 1.609-1.875 2.703-1.875h8c1.094 0 2.312 0.844 2.703 1.875l0.797 2.125h3.5zM15 22c3.859 0 7-3.141 7-7s-3.141-7-7-7-7 3.141-7 7 3.141 7 7 7z'></path></svg> ".concat(this.details && this.details.images ? "".concat(this.details.images) : "0", "&nbsp;&nbsp;|&nbsp;&nbsp;<svg xmlns='http://www.w3.org/2000/svg' width='30' height='28' viewBox='0 0 28 28' class=\"icon text-white ms-0\"><title>Videos </title><path d=\"M11.109 17.625l7.562-3.906-7.562-3.953v7.859zM14 4.156c5.891 0 9.797 0.281 9.797 0.281 0.547 0.063 1.75 0.063 2.812 1.188 0 0 0.859 0.844 1.109 2.781 0.297 2.266 0.281 4.531 0.281 4.531v2.125s0.016 2.266-0.281 4.531c-0.25 1.922-1.109 2.781-1.109 2.781-1.062 1.109-2.266 1.109-2.812 1.172 0 0-3.906 0.297-9.797 0.297v0c-7.281-0.063-9.516-0.281-9.516-0.281-0.625-0.109-2.031-0.078-3.094-1.188 0 0-0.859-0.859-1.109-2.781-0.297-2.266-0.281-4.531-0.281-4.531v-2.125s-0.016-2.266 0.281-4.531c0.25-1.937 1.109-2.781 1.109-2.781 1.062-1.125 2.266-1.125 2.812-1.188 0 0 3.906-0.281 9.797-0.281v0z\"></path></svg> ").concat(this.details && this.details.videos ? "".concat(this.details.videos) : "0");
1831
+ };
1832
+ },
1833
+
1834
+ cardContent() {
1835
+ return () => {
1836
+ var tagClass = function tagClass(tag) {
1837
+ switch (tag) {
1838
+ case 'Modern method':
1839
+ return 'bg-secondary text-primary';
1840
+
1841
+ case 'Freehold':
1842
+ return 'bg-light text-dark';
1843
+
1844
+ default:
1845
+ return 'bg-body text-white';
1846
+ }
1847
+ };
1848
+
1849
+ var tags = this.details && this.details.tags ? this.details.tags.map(tag => "<span class=\"badge rounded-pill py-2 px-3 mb-3 me-2 ".concat(tagClass(tag), "\">").concat(tag, "</span>")).join("") : '';
1850
+ var title = this.title ? "<span class=\"card-title d-block ".concat(this.titleclass, "\">").concat(this.title).concat(this.subtitle ? " <span class=\"d-block fw-normal font-body text-body small\">".concat(this.subtitle, "</span>") : '', "</span>") : "";
1851
+ var details = "\n ".concat(this.details && this.details.guideprice ? "<span class=\"d-block h6 text-dark mb-1\">Price guide: ".concat(this.details.guideprice, "</span>") : "", "\n ").concat(this.details && this.details.auctiontime ? "<span class=\"d-block h6 text-primary mb-4\">Auction time left: ".concat(this.details.auctiontime, "</span>") : "", "\n ").concat(this.details && this.details.readtime ? "<span class=\"d-block h6 text-primary mb-4\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"22\" height=\"23\" viewBox=\"0 0 22 23\" class=\"icon ms-0 me-2\"><path d=\"M11 1.63c-5.176 0-9.37 4.194-9.37 9.37 0 5.176 4.194 9.37 9.37 9.37 5.176 0 9.37-4.194 9.37-9.37 0-5.176-4.194-9.37-9.37-9.37M11 0c6.075 0 11 4.925 11 11s-4.925 11-11 11S0 17.075 0 11 4.925 0 11 0\" fill=\"var(--colour-secondary)\" /><path d=\"M9.62 5.39c0-.473.368-.856.82-.856.454 0 .822.383.822.855v6.27l3.25 1.898c.395.23.536.75.314 1.16-.22.412-.72.558-1.115.328l-4.09-2.39V5.39z\" fill=\"var(--colour-primary)\"/></svg>".concat(this.details.readtime, "</span>") : "", "\n ");
1852
+ return "".concat(tags).concat(title).concat(details).concat(this.content);
1853
+ };
1854
+ }
1855
+
1856
+ }
1857
+ });
1858
+ // CONCATENATED MODULE: ./src/components/Card/Card.vue?vue&type=script&lang=js&
1859
+ /* harmony default export */ var Card_Cardvue_type_script_lang_js_ = (Cardvue_type_script_lang_js_);
1860
+ // EXTERNAL MODULE: ./src/components/Card/Card.vue?vue&type=style&index=0&lang=scss&
1861
+ var Cardvue_type_style_index_0_lang_scss_ = __webpack_require__("570c");
1862
+
1863
+ // CONCATENATED MODULE: ./src/components/Card/Card.vue
1864
+
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+ /* normalize component */
1871
+
1872
+ var Card_component = normalizeComponent(
1873
+ Card_Cardvue_type_script_lang_js_,
1874
+ Cardvue_type_template_id_49ed1e80_render,
1875
+ Cardvue_type_template_id_49ed1e80_staticRenderFns,
1876
+ false,
1877
+ null,
1878
+ null,
1879
+ null
1880
+
1881
+ )
1882
+
1883
+ /* harmony default export */ var Card = (Card_component.exports);
1884
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/CardDeck/CardDeck.vue?vue&type=template&id=029dbbea&
1885
+ var CardDeckvue_type_template_id_029dbbea_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"container card-deck prevent-invert",attrs:{"data-card-type":_vm.cardtype}},[_vm._t("default"),_c('div',{class:("row row-cols-" + _vm.cols + " row-cols-sm-" + _vm.smcols + " row-cols-md-" + _vm.mdcols + " " + (_vm.gap ? ("g-" + _vm.gap): ""))},_vm._l((_vm.items),function(value,index){return _c('div',{key:index,staticClass:"col"},[_c('Card',_vm._b({class:_vm.cardclass,attrs:{"type":_vm.cardtype,"btntype":_vm.btntype,"titleclass":_vm.titleclass,"ctatext":_vm.ctatext,"hidectatext":_vm.hidectatext}},'Card',value,false))],1)}),0),_vm._t("after")],2)}
1886
+ var CardDeckvue_type_template_id_029dbbea_staticRenderFns = []
1887
+
1888
+
1889
+ // CONCATENATED MODULE: ./src/components/CardDeck/CardDeck.vue?vue&type=template&id=029dbbea&
1890
+
1891
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/CardDeck/CardDeck.vue?vue&type=script&lang=js&
1892
+ //
1893
+ //
1894
+ //
1895
+ //
1896
+ //
1897
+ //
1898
+ //
1899
+ //
1900
+ //
1901
+ //
1902
+ //
1903
+ //
1904
+ //
1905
+ //
1906
+ //
1907
+ //
1908
+ //
1909
+
1910
+ /* harmony default export */ var CardDeckvue_type_script_lang_js_ = ({
1911
+ components: {
1912
+ Card: Card
1913
+ },
1914
+ name: 'CardDeck',
1915
+ props: {
1916
+ items: {
1917
+ type: Array,
1918
+ required: false
1919
+ },
1920
+ cols: {
1921
+ type: Number,
1922
+ required: false,
1923
+ default: 1
1924
+ },
1925
+ smcols: {
1926
+ type: Number,
1927
+ required: false,
1928
+ default: 1
1929
+ },
1930
+ mdcols: {
1931
+ type: Number,
1932
+ required: false,
1933
+ default: 3
1934
+ },
1935
+ gap: {
1936
+ type: Number,
1937
+ required: false,
1938
+ default: 4
1939
+ },
1940
+ cardtype: {
1941
+ type: String,
1942
+ required: false
1943
+ },
1944
+ cardclass: {
1945
+ type: String,
1946
+ required: false
1947
+ },
1948
+ btntype: {
1949
+ type: String,
1950
+ required: false
1951
+ },
1952
+ titleclass: {
1953
+ type: String,
1954
+ required: false
1955
+ },
1956
+ ctatext: {
1957
+ type: String,
1958
+ required: false
1959
+ },
1960
+ hidectatext: {
1961
+ type: Boolean,
1962
+ required: false,
1963
+ default: false
1964
+ }
1965
+ }
1966
+ });
1967
+ // CONCATENATED MODULE: ./src/components/CardDeck/CardDeck.vue?vue&type=script&lang=js&
1968
+ /* harmony default export */ var CardDeck_CardDeckvue_type_script_lang_js_ = (CardDeckvue_type_script_lang_js_);
1969
+ // EXTERNAL MODULE: ./src/components/CardDeck/CardDeck.vue?vue&type=style&index=0&lang=scss&
1970
+ var CardDeckvue_type_style_index_0_lang_scss_ = __webpack_require__("652c");
1971
+
1972
+ // CONCATENATED MODULE: ./src/components/CardDeck/CardDeck.vue
1973
+
1974
+
1975
+
1976
+
1977
+
1978
+
1979
+ /* normalize component */
1980
+
1981
+ var CardDeck_component = normalizeComponent(
1982
+ CardDeck_CardDeckvue_type_script_lang_js_,
1983
+ CardDeckvue_type_template_id_029dbbea_render,
1984
+ CardDeckvue_type_template_id_029dbbea_staticRenderFns,
1985
+ false,
1986
+ null,
1987
+ null,
1988
+ null
1989
+
1990
+ )
1991
+
1992
+ /* harmony default export */ var CardDeck = (CardDeck_component.exports);
1993
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Carousel/Carousel.vue?vue&type=template&id=00e67f83&
1994
+ var Carouselvue_type_template_id_00e67f83_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"wrapper",staticClass:"container carousel",attrs:{"id":'carousel'+_vm.id,"data-cols":_vm.cols,"data-sm-cols":_vm.smcols,"data-md-cols":_vm.mdcols}},[_vm._t("default"),_c('div',{staticClass:"carousel__wrapper"},[_c('div',{staticClass:"carousel__inner"},[(_vm.type == 'card')?_c('div',{class:("row row-cols-" + _vm.cols + " row-cols-sm-" + _vm.smcols + " row-cols-md-" + _vm.mdcols + " " + (_vm.gap ? ("g-" + _vm.gap): ""))},_vm._l((_vm.items),function(value,index){return _c('div',{key:index,class:("col carousel__item" + (_vm.colclass?(" " + _vm.colclass):'')),attrs:{"id":'carousel'+_vm.id+'slide'+(index+1)}},[_c('Card',_vm._b({class:_vm.cardclass,attrs:{"type":_vm.cardtype,"btnyype":_vm.btntype,"titleclass":_vm.titleclass,"ctatext":_vm.ctatext,"hidectatext":_vm.hidectatext}},'Card',value,false))],1)}),0):_vm._e(),(_vm.type != 'card')?_c('div',{class:("row row-cols-" + _vm.cols + " row-cols-sm-" + _vm.smcols + " row-cols-md-" + _vm.mdcols + " " + (_vm.gap ? ("g-" + _vm.gap): ""))},_vm._l((_vm.items),function(value,index){return _c('div',{key:index,class:("col carousel__item" + (_vm.colclass?(" " + _vm.colclass):'')),attrs:{"id":'carousel'+_vm.id+'slide'+(index+1)},domProps:{"innerHTML":_vm._s(_vm.content(value))}})}),0):_vm._e()]),_c('div',{class:("carousel__controls cols-" + _vm.cols + " cols-sm-" + _vm.smcols + " cols-md-" + _vm.mdcols)},_vm._l((_vm.items),function(value,index){return _c('a',{key:index,class:("control-" + (index+1)),attrs:{"href":'\#carousel'+_vm.id+'slide'+(index+1)}},[_vm._v("Slide "+_vm._s(index+1))])}),0),_c('button',{staticClass:"btn btn-prev",attrs:{"data-go":"0","disabled":""}},[_vm._v("Prev")]),_c('button',{staticClass:"btn btn-next",attrs:{"data-go":"2"}},[_vm._v("Next")])])],2)}
1995
+ var Carouselvue_type_template_id_00e67f83_staticRenderFns = []
1996
+
1997
+
1998
+ // CONCATENATED MODULE: ./src/components/Carousel/Carousel.vue?vue&type=template&id=00e67f83&
1999
+
2000
+ // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
2001
+ var defineProperty = __webpack_require__("9523");
2002
+ var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty);
2003
+
2004
+ // CONCATENATED MODULE: ./assets/js/modules/carousel.js
2005
+ function carousel(carouselElement) {
2006
+ var scrollTimeout;
2007
+ var carouselInner = carouselElement.querySelector('.carousel__inner');
2008
+ var itemCount = carouselElement.querySelectorAll('.carousel__item').length;
2009
+ var cols = carouselElement.getAttribute('data-cols');
2010
+ var smCols = carouselElement.getAttribute('data-sm-cols');
2011
+ var mdCols = carouselElement.getAttribute('data-md-cols');
2012
+ carouselElement.querySelector('.carousel__controls a').classList.add('active'); // On scroll we need to make sure the buttons get corrected and the next testimonial is shown
2013
+
2014
+ carouselInner.addEventListener('scroll', function (e) {
2015
+ clearTimeout(scrollTimeout);
2016
+ scrollTimeout = setTimeout(function () {
2017
+ var scrollArea = carouselInner.clientWidth;
2018
+ var scrollWidth = carouselInner.scrollWidth;
2019
+ var scrollLeft = carouselInner.scrollLeft;
2020
+ var targetSlide = Math.round(scrollLeft / scrollWidth * itemCount) + 1;
2021
+ var lastItemOffset = carouselElement.querySelector('.carousel__item:last-child').offsetLeft;
2022
+ Array.from(carouselElement.querySelectorAll('.carousel__controls a')).forEach((link, index) => {
2023
+ link.classList.remove('active');
2024
+ });
2025
+ carouselElement.querySelector('.control-' + targetSlide).classList.add('active'); // Disable the previous button
2026
+
2027
+ if (targetSlide == 1) carouselElement.querySelector('.btn-prev').setAttribute('disabled', 'disabled');else carouselElement.querySelector('.btn-prev').removeAttribute('disabled'); // Disable the next button if the last item is in view
2028
+
2029
+ if (carouselInner.scrollLeft + scrollArea > lastItemOffset) carouselElement.querySelector('.btn-next').setAttribute('disabled', 'disabled');else carouselElement.querySelector('.btn-next').removeAttribute('disabled');
2030
+ }, 100);
2031
+ }, false); // when the buttons are used we need to make sure the carousel scrolls to the correct place
2032
+
2033
+ carouselElement.addEventListener('click', function (e) {
2034
+ for (var target = e.target; target && target != this; target = target.parentNode) {
2035
+ if (target.matches('.carousel__controls a')) {
2036
+ e.preventDefault();
2037
+ Array.from(carouselElement.querySelectorAll('.carousel__controls a')).forEach((link, index) => {
2038
+ link.classList.remove('active');
2039
+ });
2040
+ target.classList.add('active');
2041
+ var el = document.querySelector(target.getAttribute('href'));
2042
+ carouselInner.scroll({
2043
+ top: 0,
2044
+ left: el.offsetLeft,
2045
+ behavior: 'smooth'
2046
+ });
2047
+ break;
2048
+ }
2049
+ }
2050
+ }, false);
2051
+ carouselElement.addEventListener('click', function (e) {
2052
+ for (var target = e.target; target && target != this; target = target.parentNode) {
2053
+ if (target.matches('.btn-next, .btn-prev')) {
2054
+ e.preventDefault();
2055
+ var scrollTo = target.classList.contains('btn-prev') ? carouselInner.scrollLeft - carouselInner.clientWidth : carouselInner.scrollLeft + carouselInner.clientWidth;
2056
+ carouselInner.scroll({
2057
+ top: 0,
2058
+ left: scrollTo,
2059
+ behavior: 'smooth'
2060
+ });
2061
+ break;
2062
+ }
2063
+ }
2064
+ }, false); // Add responsive hide button classes
2065
+
2066
+ if (itemCount == 1) carouselElement.classList.add('hide-btns');
2067
+ if (smCols >= itemCount) carouselElement.classList.add('hide-sm-btns');
2068
+ if (mdCols >= itemCount) carouselElement.classList.add('hide-md-btns');
2069
+ }
2070
+
2071
+ /* harmony default export */ var modules_carousel = (carousel);
2072
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Carousel/Carousel.vue?vue&type=script&lang=js&
2073
+
2074
+
2075
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2076
+
2077
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { defineProperty_default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2078
+
2079
+ //
2080
+ //
2081
+ //
2082
+ //
2083
+ //
2084
+ //
2085
+ //
2086
+ //
2087
+ //
2088
+ //
2089
+ //
2090
+ //
2091
+ //
2092
+ //
2093
+ //
2094
+ //
2095
+ //
2096
+ //
2097
+ //
2098
+ //
2099
+ //
2100
+ //
2101
+ //
2102
+ //
2103
+ //
2104
+ //
2105
+ //
2106
+ //
2107
+ //
2108
+ //
2109
+ //
2110
+ //
2111
+ //
2112
+
2113
+
2114
+ // Inherit the card deck props
2115
+
2116
+ var cardDeckProps = CardDeck.props; // Update the default values
2117
+
2118
+ cardDeckProps.gap.default = 0;
2119
+ cardDeckProps.cols.default = 1;
2120
+ cardDeckProps.smcols.default = 2;
2121
+ cardDeckProps.mdcols.default = 4;
2122
+ /* harmony default export */ var Carouselvue_type_script_lang_js_ = ({
2123
+ components: {
2124
+ Card: Card
2125
+ },
2126
+ name: 'Carousel',
2127
+
2128
+ data() {
2129
+ return {
2130
+ id: null
2131
+ };
2132
+ },
2133
+
2134
+ props: _objectSpread(_objectSpread({}, cardDeckProps), {}, {
2135
+ colclass: {
2136
+ type: String,
2137
+ required: false
2138
+ },
2139
+ type: {
2140
+ type: String,
2141
+ required: false
2142
+ }
2143
+ }),
2144
+ computed: {
2145
+ content() {
2146
+ return value => {
2147
+ return "".concat(value.image ? "<img src=\"".concat(value.image, "\" alt=\"\" />") : '').concat(value.content ? value.content : '');
2148
+ };
2149
+ }
2150
+
2151
+ },
2152
+
2153
+ mounted() {
2154
+ this.id = this._uid;
2155
+ this.$nextTick(function () {
2156
+ modules_carousel(this.$refs.wrapper);
2157
+ });
2158
+ }
2159
+
2160
+ });
2161
+ // CONCATENATED MODULE: ./src/components/Carousel/Carousel.vue?vue&type=script&lang=js&
2162
+ /* harmony default export */ var Carousel_Carouselvue_type_script_lang_js_ = (Carouselvue_type_script_lang_js_);
2163
+ // EXTERNAL MODULE: ./src/components/Carousel/Carousel.vue?vue&type=style&index=0&lang=scss&
2164
+ var Carouselvue_type_style_index_0_lang_scss_ = __webpack_require__("cc46");
2165
+
2166
+ // CONCATENATED MODULE: ./src/components/Carousel/Carousel.vue
2167
+
2168
+
2169
+
2170
+
2171
+
2172
+
2173
+ /* normalize component */
2174
+
2175
+ var Carousel_component = normalizeComponent(
2176
+ Carousel_Carouselvue_type_script_lang_js_,
2177
+ Carouselvue_type_template_id_00e67f83_render,
2178
+ Carouselvue_type_template_id_00e67f83_staticRenderFns,
2179
+ false,
2180
+ null,
2181
+ null,
2182
+ null
2183
+
2184
+ )
2185
+
2186
+ /* harmony default export */ var Carousel = (Carousel_component.exports);
2187
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Header/Header.vue?vue&type=template&id=f4b601fa&
2188
+ var Headervue_type_template_id_f4b601fa_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:"header-banner"},[_c('div',{staticClass:"container"},[_vm._t("breadcrumb"),_c('div',{staticClass:"header-banner__inner"},[_c('h1',{domProps:{"innerHTML":_vm._s(_vm.title)}}),_vm._t("default")],2)],2),(_vm.image)?_c('picture',[_c('source',{attrs:{"srcset":_vm.image,"media":"(min-width: 62em)"}}),_c('img',{attrs:{"src":"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7","alt":""}})]):_vm._e()])}
2189
+ var Headervue_type_template_id_f4b601fa_staticRenderFns = []
2190
+
2191
+
2192
+ // CONCATENATED MODULE: ./src/components/Header/Header.vue?vue&type=template&id=f4b601fa&
2193
+
2194
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Header/Header.vue?vue&type=script&lang=js&
2195
+ //
2196
+ //
2197
+ //
2198
+ //
2199
+ //
2200
+ //
2201
+ //
2202
+ //
2203
+ //
2204
+ //
2205
+ //
2206
+ //
2207
+ //
2208
+ //
2209
+ //
2210
+ //
2211
+ //
2212
+ //
2213
+ //
2214
+ //
2215
+ //
2216
+ //
2217
+ //
2218
+ //
2219
+ /* harmony default export */ var Headervue_type_script_lang_js_ = ({
2220
+ name: 'Header',
2221
+ props: {
2222
+ title: {
2223
+ type: String,
2224
+ required: true
2225
+ },
2226
+ image: {
2227
+ type: String,
2228
+ required: false
2229
+ }
2230
+ }
2231
+ });
2232
+ // CONCATENATED MODULE: ./src/components/Header/Header.vue?vue&type=script&lang=js&
2233
+ /* harmony default export */ var Header_Headervue_type_script_lang_js_ = (Headervue_type_script_lang_js_);
2234
+ // EXTERNAL MODULE: ./src/components/Header/Header.vue?vue&type=style&index=0&lang=scss&
2235
+ var Headervue_type_style_index_0_lang_scss_ = __webpack_require__("52f3");
2236
+
2237
+ // CONCATENATED MODULE: ./src/components/Header/Header.vue
2238
+
2239
+
2240
+
2241
+
2242
+
2243
+
2244
+ /* normalize component */
2245
+
2246
+ var Header_component = normalizeComponent(
2247
+ Header_Headervue_type_script_lang_js_,
2248
+ Headervue_type_template_id_f4b601fa_render,
2249
+ Headervue_type_template_id_f4b601fa_staticRenderFns,
2250
+ false,
2251
+ null,
2252
+ null,
2253
+ null
2254
+
2255
+ )
2256
+
2257
+ /* harmony default export */ var Header = (Header_component.exports);
2258
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Testimonial/Testimonial.vue?vue&type=template&id=4e1deff8&
2259
+ var Testimonialvue_type_template_id_4e1deff8_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"wrapper",staticClass:"container testimonial mb-5",attrs:{"data-show":"1"}},[_c('div',{class:'bg-'+_vm.background},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col-md-5 position-relative"},[_c('div',{staticClass:"testimonial__images"},_vm._l((_vm.items),function(value,index){return _c('img',{key:index,class:'h-100 w-100 object-cover' + (value.image ? '' : ' opacity-0'),attrs:{"src":value.image ? value.image : 'data:image/gif;base64,R0lGODlhAQABAIAAAHd3dwAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==',"alt":""}})}),0),_vm._m(0)]),_c('div',{staticClass:"col-md-7"},[_c('h2',[_vm._v("What our customers think…")]),_c('div',{staticClass:"testimonial__content"},_vm._l((_vm.items),function(value,index){return _c('blockquote',{key:index,class:value.class},[_c('div',{domProps:{"innerHTML":_vm._s(value.quote)}}),_c('cite',{domProps:{"innerHTML":_vm._s(value.cite)}})])}),0),_c('div',{staticClass:"testimonial__after"},[_vm._t("default")],2)])]),_c('span',{staticClass:"circle circle--dots d-none d-md-block"})])])}
2260
+ var Testimonialvue_type_template_id_4e1deff8_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"testimonial__controls"},[_c('button',{staticClass:"btn-prev",attrs:{"data-go":"0","disabled":""}},[_vm._v("Previous")]),_c('button',{staticClass:"btn-next",attrs:{"data-go":"2"}},[_vm._v("Next")])])}]
2261
+
2262
+
2263
+ // CONCATENATED MODULE: ./src/components/Testimonial/Testimonial.vue?vue&type=template&id=4e1deff8&
2264
+
2265
+ // CONCATENATED MODULE: ./assets/js/modules/testimonial.js
2266
+ function testimonial(testimonialElement) {
2267
+ var scrollTimeout;
2268
+ var imagesCarousel = testimonialElement.querySelector('.testimonial__images');
2269
+ var itemCount = imagesCarousel.querySelectorAll('img').length; // If we only have 1 item lets not bother doing anything else
2270
+
2271
+ if (itemCount == 1) {
2272
+ return false;
2273
+ }
2274
+
2275
+ testimonialElement.classList.add('testimonial--multi'); // Set where the buttons go to
2276
+
2277
+ var setButtons = function setButtons(scrollTo) {
2278
+ var nextButton = testimonialElement.querySelector('.btn-next');
2279
+ var prevButton = testimonialElement.querySelector('.btn-prev');
2280
+ nextButton.setAttribute('data-go', scrollTo + 1);
2281
+ prevButton.setAttribute('data-go', scrollTo - 1);
2282
+ nextButton.removeAttribute('disabled');
2283
+ prevButton.removeAttribute('disabled');
2284
+ if (scrollTo == 1) prevButton.setAttribute('disabled', true);else if (scrollTo == itemCount) nextButton.setAttribute('disabled', true);
2285
+ }; // On scroll we need to make sure the buttons get corrected and the next testimonial is shown
2286
+
2287
+
2288
+ imagesCarousel.addEventListener('scroll', function (e) {
2289
+ clearTimeout(scrollTimeout);
2290
+ scrollTimeout = setTimeout(function () {
2291
+ var scrollWidth = imagesCarousel.scrollWidth;
2292
+ var scrollHeight = imagesCarousel.scrollHeight;
2293
+ var scrollLeft = imagesCarousel.scrollLeft;
2294
+ var scrollDown = imagesCarousel.scrollTop;
2295
+ var scrollTo = Math.round(scrollLeft / scrollWidth * itemCount) + 1; // Change in scroll direction
2296
+
2297
+ if (scrollLeft == 0 && scrollDown != 0) scrollTo = Math.round(scrollDown / scrollHeight * itemCount) + 1;
2298
+ testimonialElement.setAttribute('data-show', scrollTo);
2299
+ setButtons(scrollTo);
2300
+ }, 300);
2301
+ }, false); // when the buttons are used we need to make sure the carousel scrolls to the correct place
2302
+
2303
+ testimonialElement.addEventListener('click', function (e) {
2304
+ for (var target = e.target; target && target != this; target = target.parentNode) {
2305
+ if (target.matches('[data-go]')) {
2306
+ var scrollTo = parseInt(target.getAttribute('data-go'));
2307
+ var scrollDown = 0;
2308
+ var scrollLeft = 0;
2309
+ var scrollWidth = imagesCarousel.scrollWidth;
2310
+ var scrollHeight = imagesCarousel.scrollHeight;
2311
+ if (scrollWidth > scrollHeight) scrollLeft = Math.floor(scrollWidth * ((scrollTo - 1) / itemCount));else scrollDown = Math.floor(scrollHeight * ((scrollTo - 1) / itemCount)); // Trigger the scroll
2312
+
2313
+ imagesCarousel.scroll({
2314
+ top: scrollDown,
2315
+ left: scrollLeft,
2316
+ behavior: 'smooth'
2317
+ });
2318
+ break;
2319
+ }
2320
+ }
2321
+ }, false);
2322
+ }
2323
+
2324
+ /* harmony default export */ var modules_testimonial = (testimonial);
2325
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Testimonial/Testimonial.vue?vue&type=script&lang=js&
2326
+ //
2327
+ //
2328
+ //
2329
+ //
2330
+ //
2331
+ //
2332
+ //
2333
+ //
2334
+ //
2335
+ //
2336
+ //
2337
+ //
2338
+ //
2339
+ //
2340
+ //
2341
+ //
2342
+ //
2343
+ //
2344
+ //
2345
+ //
2346
+ //
2347
+ //
2348
+ //
2349
+ //
2350
+ //
2351
+ //
2352
+ //
2353
+ //
2354
+ //
2355
+ //
2356
+ //
2357
+ //
2358
+ //
2359
+ //
2360
+ //
2361
+ //
2362
+ //
2363
+
2364
+ /* harmony default export */ var Testimonialvue_type_script_lang_js_ = ({
2365
+ name: 'Testimonial',
2366
+ props: {
2367
+ items: {
2368
+ type: Array,
2369
+ required: true
2370
+ },
2371
+ background: {
2372
+ type: String,
2373
+ default: 'light',
2374
+ required: false
2375
+ }
2376
+ },
2377
+
2378
+ mounted() {
2379
+ modules_testimonial(this.$refs.wrapper);
2380
+ }
2381
+
2382
+ });
2383
+ // CONCATENATED MODULE: ./src/components/Testimonial/Testimonial.vue?vue&type=script&lang=js&
2384
+ /* harmony default export */ var Testimonial_Testimonialvue_type_script_lang_js_ = (Testimonialvue_type_script_lang_js_);
2385
+ // EXTERNAL MODULE: ./src/components/Testimonial/Testimonial.vue?vue&type=style&index=0&lang=scss&
2386
+ var Testimonialvue_type_style_index_0_lang_scss_ = __webpack_require__("5dd8");
2387
+
2388
+ // CONCATENATED MODULE: ./src/components/Testimonial/Testimonial.vue
2389
+
2390
+
2391
+
2392
+
2393
+
2394
+
2395
+ /* normalize component */
2396
+
2397
+ var Testimonial_component = normalizeComponent(
2398
+ Testimonial_Testimonialvue_type_script_lang_js_,
2399
+ Testimonialvue_type_template_id_4e1deff8_render,
2400
+ Testimonialvue_type_template_id_4e1deff8_staticRenderFns,
2401
+ false,
2402
+ null,
2403
+ null,
2404
+ null
2405
+
2406
+ )
2407
+
2408
+ /* harmony default export */ var Testimonial = (Testimonial_component.exports);
2409
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PropertySearchbar/PropertySearchbar.vue?vue&type=template&id=57288694&
2410
+ var PropertySearchbarvue_type_template_id_57288694_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"wrapper",staticClass:"container"},[_vm._t("default"),_c('div',{staticClass:"property-searchbar"},[_c('form',{staticClass:"row",attrs:{"action":_vm.formaction,"method":_vm.formmethod}},[_c('fieldset',{staticClass:"col-12 col-md-3"},[_c('Input',{ref:"search",attrs:{"inputClass":"input--locations","label":"Location","id":"location","options":_vm.locationsList(),"required":"","placeholder":"i.e. Newcastle or NE1"},on:{"keyupEvent":function($event){return _vm.locationKeyup.apply(void 0, arguments)}},model:{value:(_vm.locationSet),callback:function ($$v) {_vm.locationSet=$$v},expression:"locationSet"}}),_c('Input',{staticClass:"select--miles",attrs:{"label":"Miles","id":"miles","type":"select","options":_vm.distances}})],1),_c('fieldset',{staticClass:"col-12 col-md"},[_c('span',{staticClass:"form-label d-none d-md-block"},[_vm._v("Price range")]),_c('div',{staticClass:"row",attrs:{"data-input-range":""}},[_c('Input',{staticClass:"col-6",attrs:{"label":"Minimum price","id":"price-min","data-min":"true","type":"select","options":_vm.pricemin}}),_c('Input',{staticClass:"col-6",attrs:{"label":"Maximum price","id":"price-max","data-max":"true","type":"select","options":_vm.pricemax}})],1)]),_c('fieldset',{staticClass:"col-12 col-md"},[_c('span',{staticClass:"form-label d-none d-md-block"},[_vm._v("Number of beds")]),_c('div',{staticClass:"row",attrs:{"data-input-range":""}},[_c('Input',{staticClass:"col-6",attrs:{"label":"Minimum beds","id":"beds-min","data-min":"true","type":"select","options":_vm.bedsmin}}),_c('Input',{staticClass:"col-6",attrs:{"label":"Maximum beds","id":"beds-max","data-max":"true","type":"select","options":_vm.bedsmax}})],1)]),_c('fieldset',{staticClass:"col-12 col-md-2"},[_c('Input',{attrs:{"label":"Property type","id":"property-type","type":"select","options":_vm.propertytypes}})],1),_vm._m(0)])]),_vm._t("after")],2)}
2411
+ var PropertySearchbarvue_type_template_id_57288694_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"col-12 col-md mw-md-fit-content d-flex property-searchbar__btn"},[_c('button',{staticClass:"btn w-100 me-0",attrs:{"type":"submit","value":"submit"}},[_vm._v("Search")])])}]
2412
+
2413
+
2414
+ // CONCATENATED MODULE: ./src/components/PropertySearchbar/PropertySearchbar.vue?vue&type=template&id=57288694&
2415
+
2416
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/PropertySearchbar/PropertySearchbar.vue?vue&type=script&lang=js&
2417
+ //
2418
+ //
2419
+ //
2420
+ //
2421
+ //
2422
+ //
2423
+ //
2424
+ //
2425
+ //
2426
+ //
2427
+ //
2428
+ //
2429
+ //
2430
+ //
2431
+ //
2432
+ //
2433
+ //
2434
+ //
2435
+ //
2436
+ //
2437
+ //
2438
+ //
2439
+ //
2440
+ //
2441
+ //
2442
+ //
2443
+ //
2444
+ //
2445
+ //
2446
+ //
2447
+ //
2448
+ //
2449
+ //
2450
+ //
2451
+ //
2452
+ //
2453
+ //
2454
+ //
2455
+ //
2456
+ //
2457
+ //
2458
+
2459
+ /* harmony default export */ var PropertySearchbarvue_type_script_lang_js_ = ({
2460
+ components: {
2461
+ Input: Input
2462
+ },
2463
+ name: 'PropertySearchbar',
2464
+ props: {
2465
+ formaction: {
2466
+ type: String,
2467
+ required: false
2468
+ },
2469
+ formmethod: {
2470
+ type: String,
2471
+ required: false
2472
+ },
2473
+ location: {
2474
+ type: String,
2475
+ required: false
2476
+ },
2477
+ locations: {
2478
+ type: Array,
2479
+ required: false
2480
+ },
2481
+ distances: {
2482
+ type: Array,
2483
+ required: false,
2484
+
2485
+ default() {
2486
+ return [{
2487
+ 'value': '0.25',
2488
+ 'display': '+¼ mi'
2489
+ }, {
2490
+ 'value': '0.5',
2491
+ 'display': '+½ mi'
2492
+ }, {
2493
+ 'value': '1',
2494
+ 'display': '+1 mi'
2495
+ }, {
2496
+ 'value': '2',
2497
+ 'display': '+2 mi'
2498
+ }, {
2499
+ 'value': '3',
2500
+ 'display': '+3 mi'
2501
+ }, {
2502
+ 'value': '4',
2503
+ 'display': '+4 mi'
2504
+ }, {
2505
+ 'value': '5',
2506
+ 'display': '+5 mi'
2507
+ }];
2508
+ }
2509
+
2510
+ },
2511
+ pricemin: {
2512
+ type: Array,
2513
+ required: false,
2514
+
2515
+ default() {
2516
+ return [{
2517
+ 'value': '0',
2518
+ 'display': 'No min'
2519
+ }, {
2520
+ 'value': '50000',
2521
+ 'display': '£50k min'
2522
+ }, {
2523
+ 'value': '75000',
2524
+ 'display': '£75k min'
2525
+ }, {
2526
+ 'value': '100000',
2527
+ 'display': '£100k min'
2528
+ }, {
2529
+ 'value': '150000',
2530
+ 'display': '£150k min'
2531
+ }, {
2532
+ 'value': '200000',
2533
+ 'display': '£200k min'
2534
+ }, {
2535
+ 'value': '250000',
2536
+ 'display': '£250k min'
2537
+ }];
2538
+ }
2539
+
2540
+ },
2541
+ pricemax: {
2542
+ type: Array,
2543
+ required: false,
2544
+
2545
+ default() {
2546
+ return [{
2547
+ 'value': 'any',
2548
+ 'display': 'No max'
2549
+ }, {
2550
+ 'value': '50000',
2551
+ 'display': '£50k max'
2552
+ }, {
2553
+ 'value': '75000',
2554
+ 'display': '£75k max'
2555
+ }, {
2556
+ 'value': '100000',
2557
+ 'display': '£100k max'
2558
+ }, {
2559
+ 'value': '150000',
2560
+ 'display': '£150k max'
2561
+ }, {
2562
+ 'value': '200000',
2563
+ 'display': '£200k max'
2564
+ }, {
2565
+ 'value': '250000',
2566
+ 'display': '£250k max'
2567
+ }];
2568
+ }
2569
+
2570
+ },
2571
+ bedsmin: {
2572
+ type: Array,
2573
+ required: false,
2574
+
2575
+ default() {
2576
+ return [{
2577
+ 'value': 'any',
2578
+ 'display': 'No min'
2579
+ }, {
2580
+ 'value': '0',
2581
+ 'display': 'Studio min'
2582
+ }, {
2583
+ 'value': '1',
2584
+ 'display': '1 bed min'
2585
+ }, {
2586
+ 'value': '2',
2587
+ 'display': '2 beds min'
2588
+ }, {
2589
+ 'value': '3',
2590
+ 'display': '3 beds min'
2591
+ }, {
2592
+ 'value': '4',
2593
+ 'display': '4 beds min'
2594
+ }, {
2595
+ 'value': '5',
2596
+ 'display': '5 beds min'
2597
+ }, {
2598
+ 'value': '6',
2599
+ 'display': '6 beds min'
2600
+ }];
2601
+ }
2602
+
2603
+ },
2604
+ bedsmax: {
2605
+ type: Array,
2606
+ required: false,
2607
+
2608
+ default() {
2609
+ return [{
2610
+ 'value': 'any',
2611
+ 'display': 'No max'
2612
+ }, {
2613
+ 'value': '0',
2614
+ 'display': 'Studio max'
2615
+ }, {
2616
+ 'value': '1',
2617
+ 'display': '1 bed max'
2618
+ }, {
2619
+ 'value': '2',
2620
+ 'display': '2 beds max'
2621
+ }, {
2622
+ 'value': '3',
2623
+ 'display': '3 beds max'
2624
+ }, {
2625
+ 'value': '4',
2626
+ 'display': '4 beds max'
2627
+ }, {
2628
+ 'value': '5',
2629
+ 'display': '5 beds max'
2630
+ }, {
2631
+ 'value': '6',
2632
+ 'display': '6 beds max'
2633
+ }];
2634
+ }
2635
+
2636
+ },
2637
+ propertytypes: {
2638
+ type: Array,
2639
+ required: false,
2640
+
2641
+ default() {
2642
+ return [{
2643
+ 'value': 'all',
2644
+ 'display': 'Show all'
2645
+ }, {
2646
+ 'value': 'Bungalow',
2647
+ 'display': 'Bungalow'
2648
+ }, {
2649
+ 'value': 'Character Property',
2650
+ 'display': 'Character Property'
2651
+ }, {
2652
+ 'value': 'Commercial Property',
2653
+ 'display': 'Commercial Property'
2654
+ }, {
2655
+ 'value': 'Flat / Apartment',
2656
+ 'display': 'Flat / Apartment'
2657
+ }, {
2658
+ 'value': 'Garage / Parking',
2659
+ 'display': 'Garage / Parking'
2660
+ }, {
2661
+ 'value': 'Guest House / Hotel',
2662
+ 'display': 'Guest House / Hotel'
2663
+ }, {
2664
+ 'value': 'House',
2665
+ 'display': 'House'
2666
+ }, {
2667
+ 'value': 'House / Flat Share',
2668
+ 'display': 'House / Flat Share'
2669
+ }, {
2670
+ 'value': 'Land',
2671
+ 'display': 'Land'
2672
+ }, {
2673
+ 'value': 'Mobile / Park Home',
2674
+ 'display': 'Mobile / Park Home'
2675
+ }, {
2676
+ 'value': 'Private Halls',
2677
+ 'display': 'Private Halls'
2678
+ }, {
2679
+ 'value': 'Retirement Property',
2680
+ 'display': 'Retirement Property'
2681
+ }];
2682
+ }
2683
+
2684
+ }
2685
+ },
2686
+
2687
+ data() {
2688
+ return {
2689
+ locationSave: ''
2690
+ };
2691
+ },
2692
+
2693
+ methods: {
2694
+ locationKeyup: function locationKeyup(event) {
2695
+ this.$emit('locationKeyup', event);
2696
+ }
2697
+ },
2698
+ computed: {
2699
+ locationSet: {
2700
+ get() {
2701
+ if (this.locationSave) return this.locationSave;
2702
+ return this.location;
2703
+ },
2704
+
2705
+ set(val) {
2706
+ this.locationSave = val;
2707
+ this.$emit('input', val);
2708
+ }
2709
+
2710
+ },
2711
+
2712
+ locationsList() {
2713
+ return () => {
2714
+ if (this.locations) {
2715
+ return this.locations;
2716
+ }
2717
+
2718
+ return [{
2719
+ 'value': 'Newcastle'
2720
+ }];
2721
+ };
2722
+ }
2723
+
2724
+ }
2725
+ });
2726
+ // CONCATENATED MODULE: ./src/components/PropertySearchbar/PropertySearchbar.vue?vue&type=script&lang=js&
2727
+ /* harmony default export */ var PropertySearchbar_PropertySearchbarvue_type_script_lang_js_ = (PropertySearchbarvue_type_script_lang_js_);
2728
+ // EXTERNAL MODULE: ./src/components/PropertySearchbar/PropertySearchbar.vue?vue&type=style&index=0&lang=scss&
2729
+ var PropertySearchbarvue_type_style_index_0_lang_scss_ = __webpack_require__("8342");
2730
+
2731
+ // CONCATENATED MODULE: ./src/components/PropertySearchbar/PropertySearchbar.vue
2732
+
2733
+
2734
+
2735
+
2736
+
2737
+
2738
+ /* normalize component */
2739
+
2740
+ var PropertySearchbar_component = normalizeComponent(
2741
+ PropertySearchbar_PropertySearchbarvue_type_script_lang_js_,
2742
+ PropertySearchbarvue_type_template_id_57288694_render,
2743
+ PropertySearchbarvue_type_template_id_57288694_staticRenderFns,
2744
+ false,
2745
+ null,
2746
+ null,
2747
+ null
2748
+
2749
+ )
2750
+
2751
+ /* harmony default export */ var PropertySearchbar = (PropertySearchbar_component.exports);
2752
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Nav/Nav.vue?vue&type=template&id=098b2178&
2753
+ var Navvue_type_template_id_098b2178_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{ref:"wrapper",class:("nav" + (_vm.hasSecondarySlot?" has-secondary":''))},[_c('input',{staticClass:"d-none",attrs:{"type":"checkbox","name":"showMenu","id":"showMenu"}}),_c('input',{staticClass:"d-none",attrs:{"type":"checkbox","name":"showSearch","id":"showSearch"}}),_c('div',{staticClass:"nav__inner"},[_c('div',{staticClass:"container"},[_c('div',{staticClass:"row"},[_c('div',{staticClass:"col mw-md-fit-content nav__logo"},[_c('a',{staticClass:"text-decoration-none mb-0",attrs:{"href":"/"}},[_c('Logo',{staticClass:"pb-0",attrs:{"id":_vm.logo,"path":_vm.logopath,"desc":_vm.logotext}})],1)]),(_vm.hasSearchSlot)?_c('div',{staticClass:"col mw-fit-content nav__search-btn flex-row align-items-center"},[_c('label',{attrs:{"for":"showSearch"}},[_c('svg',{staticClass:"icon",attrs:{"viewBox":"0 0 32 32"}},[_c('title',[_vm._v("Search")]),_c('ellipse',{staticClass:"icon__outline",attrs:{"cx":"14.92","cy":"13.81","rx":"11.92","ry":"11.81"}}),_c('line',{staticClass:"icon__outline",attrs:{"x1":"22.68","y1":"22.75","x2":"30","y2":"30"}})])])]):_vm._e(),_vm._m(0),_c('div',{staticClass:"col-12 col-md nav__menu ms-auto flex-row align-items-center"},[_vm._t("default")],2),(_vm.btnlink)?_c('div',{staticClass:"col-12 col-md nav__btn mw-md-fit-content flex-row align-items-center"},[_c('a',{staticClass:"btn me-0",attrs:{"href":_vm.btnlink},domProps:{"innerHTML":_vm._s(_vm.btntext)}})]):_vm._e()])]),(_vm.hasSecondarySlot)?_c('div',{staticClass:"nav__menu--secondary bg-primary"},[_c('div',{staticClass:"container"},[_vm._t("secondary")],2)]):_vm._e(),(_vm.hasSearchSlot)?_c('div',{staticClass:"nav__menu--search"},[_c('div',{staticClass:"bg-gradient pt-4"},[_c('div',{staticClass:"container"},[_vm._t("search")],2)])]):_vm._e()])])}
2754
+ var Navvue_type_template_id_098b2178_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"col mw-fit-content d-md-none flex-row align-items-center nav__menu-btn"},[_c('label',{attrs:{"for":"showMenu"}},[_vm._v("Menu")])])}]
2755
+
2756
+
2757
+ // CONCATENATED MODULE: ./src/components/Nav/Nav.vue?vue&type=template&id=098b2178&
2758
+
2759
+ // CONCATENATED MODULE: ./assets/js/modules/nav.js
2760
+ var navbar = element => {
2761
+ Array.from(element.querySelectorAll('details')).forEach((detail, index) => {
2762
+ detail.addEventListener('mouseenter', function (e) {
2763
+ if (window.matchMedia('(min-width: 62em)').matches) detail.setAttribute('open', 'true');
2764
+ }, false);
2765
+ detail.addEventListener('mouseleave', function (e) {
2766
+ if (window.matchMedia('(min-width: 62em)').matches) detail.removeAttribute('open');
2767
+ }, false);
2768
+ });
2769
+ var observer = new IntersectionObserver(_ref => {
2770
+ var [e] = _ref;
2771
+ return e.target.classList.toggle("is-stuck", e.intersectionRatio < 1);
2772
+ }, {
2773
+ threshold: [1]
2774
+ });
2775
+ observer.observe(element);
2776
+ };
2777
+
2778
+ /* harmony default export */ var nav = (navbar);
2779
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Nav/Nav.vue?vue&type=script&lang=js&
2780
+ //
2781
+ //
2782
+ //
2783
+ //
2784
+ //
2785
+ //
2786
+ //
2787
+ //
2788
+ //
2789
+ //
2790
+ //
2791
+ //
2792
+ //
2793
+ //
2794
+ //
2795
+ //
2796
+ //
2797
+ //
2798
+ //
2799
+ //
2800
+ //
2801
+ //
2802
+ //
2803
+ //
2804
+ //
2805
+ //
2806
+ //
2807
+ //
2808
+ //
2809
+ //
2810
+ //
2811
+ //
2812
+ //
2813
+ //
2814
+ //
2815
+ //
2816
+ //
2817
+ //
2818
+ //
2819
+ //
2820
+ //
2821
+ //
2822
+ //
2823
+ //
2824
+ //
2825
+ //
2826
+ //
2827
+ //
2828
+ //
2829
+ //
2830
+ //
2831
+ //
2832
+ //
2833
+ //
2834
+ //
2835
+ //
2836
+ //
2837
+ //
2838
+ //
2839
+ //
2840
+ //
2841
+ //
2842
+ //
2843
+ //
2844
+
2845
+
2846
+ /* harmony default export */ var Navvue_type_script_lang_js_ = ({
2847
+ components: {
2848
+ Logo: Logo
2849
+ },
2850
+ name: 'Nav',
2851
+ props: {
2852
+ logo: {
2853
+ type: String,
2854
+ required: false
2855
+ },
2856
+ logotext: {
2857
+ type: String,
2858
+ required: false
2859
+ },
2860
+ logopath: {
2861
+ type: String,
2862
+ required: false
2863
+ },
2864
+ search: {
2865
+ type: String,
2866
+ required: false
2867
+ },
2868
+ btnlink: {
2869
+ type: String,
2870
+ required: false
2871
+ },
2872
+ btntext: {
2873
+ type: String,
2874
+ required: false
2875
+ }
2876
+ },
2877
+
2878
+ data() {
2879
+ return {
2880
+ locationSave: ''
2881
+ };
2882
+ },
2883
+
2884
+ methods: {
2885
+ subIsActive(input) {
2886
+ var paths = Array.isArray(input) ? input : [input];
2887
+ return paths.some(path => {
2888
+ return this.$route.path.indexOf(path) === 0; // current path starts with this path string
2889
+ });
2890
+ }
2891
+
2892
+ },
2893
+ computed: {
2894
+ hasSecondarySlot() {
2895
+ return !!this.$slots.secondary;
2896
+ },
2897
+
2898
+ hasSearchSlot() {
2899
+ return !!this.$slots.search;
2900
+ }
2901
+
2902
+ },
2903
+
2904
+ mounted() {
2905
+ this.$nextTick(function () {
2906
+ nav(this.$refs.wrapper);
2907
+ });
2908
+ }
2909
+
2910
+ });
2911
+ // CONCATENATED MODULE: ./src/components/Nav/Nav.vue?vue&type=script&lang=js&
2912
+ /* harmony default export */ var Nav_Navvue_type_script_lang_js_ = (Navvue_type_script_lang_js_);
2913
+ // EXTERNAL MODULE: ./src/components/Nav/Nav.vue?vue&type=style&index=0&lang=scss&
2914
+ var Navvue_type_style_index_0_lang_scss_ = __webpack_require__("d463");
2915
+
2916
+ // CONCATENATED MODULE: ./src/components/Nav/Nav.vue
2917
+
2918
+
2919
+
2920
+
2921
+
2922
+
2923
+ /* normalize component */
2924
+
2925
+ var Nav_component = normalizeComponent(
2926
+ Nav_Navvue_type_script_lang_js_,
2927
+ Navvue_type_template_id_098b2178_render,
2928
+ Navvue_type_template_id_098b2178_staticRenderFns,
2929
+ false,
2930
+ null,
2931
+ null,
2932
+ null
2933
+
2934
+ )
2935
+
2936
+ /* harmony default export */ var Nav = (Nav_component.exports);
2937
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Drawer/Drawer.vue?vue&type=template&id=a910a282&
2938
+ var Drawervue_type_template_id_a910a282_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"wrapper"},[_c('input',{staticClass:"d-none",attrs:{"type":"checkbox","name":"showDrawer","id":"showDrawer"}}),_c('div',{staticClass:"drawer__btn pb-0"},[_c('div',{staticClass:"container text-end pb-0"},[_c('label',{staticClass:"btn btn-secondary me-0",attrs:{"for":"showDrawer"}},[_vm._v(_vm._s(_vm.label))])])]),_c('div',{ref:"drawer",staticClass:"drawer",attrs:{"id":"drawer"}},[_vm._m(0),_vm._t("default")],2),_c('hr',{attrs:{"id":"drawer-end"}})])}
2939
+ var Drawervue_type_template_id_a910a282_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"container text-end pb-0"},[_c('label',{staticClass:"btn btn-tertiary mb-0 me-0 py-1 px-2",attrs:{"for":"showDrawer"}},[_c('span',{staticClass:"visually-hidden"},[_vm._v("Close")]),_vm._v("✕")])])}]
2940
+
2941
+
2942
+ // CONCATENATED MODULE: ./src/components/Drawer/Drawer.vue?vue&type=template&id=a910a282&
2943
+
2944
+ // CONCATENATED MODULE: ./assets/js/modules/drawer.js
2945
+ var drawer = element => {
2946
+ var observer = new IntersectionObserver(function (_ref) {
2947
+ var [e] = _ref;
2948
+ e.target.classList.toggle("in-view", e.intersectionRatio > 0);
2949
+ document.getElementById('showDrawer').checked = false;
2950
+ }, {
2951
+ threshold: [1]
2952
+ });
2953
+ var el = document.getElementById('drawer-end');
2954
+ observer.observe(el);
2955
+ };
2956
+
2957
+ /* harmony default export */ var modules_drawer = (drawer);
2958
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Drawer/Drawer.vue?vue&type=script&lang=js&
2959
+ //
2960
+ //
2961
+ //
2962
+ //
2963
+ //
2964
+ //
2965
+ //
2966
+ //
2967
+ //
2968
+ //
2969
+ //
2970
+ //
2971
+ //
2972
+ //
2973
+ //
2974
+ //
2975
+ //
2976
+ //
2977
+ //
2978
+ //
2979
+ //
2980
+ //
2981
+ //
2982
+ //
2983
+
2984
+ /* harmony default export */ var Drawervue_type_script_lang_js_ = ({
2985
+ name: 'Header',
2986
+ props: {
2987
+ label: {
2988
+ type: String,
2989
+ required: true
2990
+ }
2991
+ },
2992
+
2993
+ mounted() {
2994
+ this.$nextTick(function () {
2995
+ var element = this.$refs.wrapper;
2996
+ var fragment = document.createDocumentFragment();
2997
+ Array.from(element.childNodes).forEach(child => fragment.appendChild(child));
2998
+ element.parentNode.insertBefore(fragment, element);
2999
+ element.parentNode.removeChild(element);
3000
+ this.$nextTick(function () {
3001
+ modules_drawer(this.$refs.drawer);
3002
+ });
3003
+ });
3004
+ }
3005
+
3006
+ });
3007
+ // CONCATENATED MODULE: ./src/components/Drawer/Drawer.vue?vue&type=script&lang=js&
3008
+ /* harmony default export */ var Drawer_Drawervue_type_script_lang_js_ = (Drawervue_type_script_lang_js_);
3009
+ // EXTERNAL MODULE: ./src/components/Drawer/Drawer.vue?vue&type=style&index=0&lang=scss&
3010
+ var Drawervue_type_style_index_0_lang_scss_ = __webpack_require__("3eec");
3011
+
3012
+ // CONCATENATED MODULE: ./src/components/Drawer/Drawer.vue
3013
+
3014
+
3015
+
3016
+
3017
+
3018
+
3019
+ /* normalize component */
3020
+
3021
+ var Drawer_component = normalizeComponent(
3022
+ Drawer_Drawervue_type_script_lang_js_,
3023
+ Drawervue_type_template_id_a910a282_render,
3024
+ Drawervue_type_template_id_a910a282_staticRenderFns,
3025
+ false,
3026
+ null,
3027
+ null,
3028
+ null
3029
+
3030
+ )
3031
+
3032
+ /* harmony default export */ var Drawer = (Drawer_component.exports);
3033
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Modal/Modal.vue?vue&type=template&id=2443604a&
3034
+ var Modalvue_type_template_id_2443604a_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"modal",staticClass:"modal",attrs:{"id":_vm.id,"role":"dialog","modal":"true"}},[_c('a',{attrs:{"href":("#" + (_vm.returnid?_vm.returnid:'')),"tabindex":"-1"}},[_c('span',{staticClass:"visually-hidden"},[_vm._v("Close")])]),_c('div',{staticClass:"modal__outer"},[_c('a',{staticClass:"btn btn-tertiary py-1 px-2",attrs:{"href":("#" + (_vm.returnid?_vm.returnid:''))}},[_c('span',{staticClass:"visually-hidden"},[_vm._v("Close")]),_vm._v("✕")]),_c('div',{staticClass:"modal__inner"},[_vm._t("default")],2)]),_c('button',{staticClass:"modal__dock--left btn btn-prev",attrs:{"tabindex":"-1"}},[_vm._v("Left")]),_c('button',{staticClass:"modal__dock--right btn btn-next",attrs:{"tabindex":"-1"}},[_vm._v("Right")])])}
3035
+ var Modalvue_type_template_id_2443604a_staticRenderFns = []
3036
+
3037
+
3038
+ // CONCATENATED MODULE: ./src/components/Modal/Modal.vue?vue&type=template&id=2443604a&
3039
+
3040
+ // CONCATENATED MODULE: ./assets/js/modules/modal.js
3041
+ var modal = element => {
3042
+ var links = element.querySelectorAll('.modal__outer a, .modal__outer button');
3043
+ var firstLink = links[0];
3044
+ var lastLink = links[links.length - 1];
3045
+ var modalID = element.getAttribute('id');
3046
+
3047
+ var closeModal = function closeModal() {
3048
+ var button = document.querySelector('[href="' + window.location.hash + '"]');
3049
+ button.focus();
3050
+ window.location.hash = "close";
3051
+ history.replaceState("", document.title, window.location.pathname + window.location.search); // If there is more than one video lets make sure there is only one playing at a time.
3052
+
3053
+ if (typeof window.player != "undefined" && typeof window.player.pauseVideo == "function") window.player.pauseVideo();
3054
+ }; // Trap the tab focus inside
3055
+
3056
+
3057
+ element.addEventListener('keydown', function (e) {
3058
+ if (e.key === "Tab" && e.shiftKey && document.activeElement == firstLink) {
3059
+ e.preventDefault();
3060
+ lastLink.focus();
3061
+ } else if (e.key === "Tab" && !e.shiftKey && document.activeElement == lastLink) {
3062
+ e.preventDefault();
3063
+ firstLink.focus();
3064
+ }
3065
+ }); // ESC will close the open modal
3066
+
3067
+ document.addEventListener("keydown", function (e) {
3068
+ if (e.key === "Escape" && document.querySelector('.modal:target')) closeModal();
3069
+ });
3070
+ element.addEventListener('click', function (e) {
3071
+ for (var target = e.target; target && target != this; target = target.parentNode) {
3072
+ // Close links will close the model by default but we want to remove the hash link also
3073
+ if (target.matches('[href="#close"]')) {
3074
+ e.preventDefault();
3075
+ closeModal();
3076
+ break;
3077
+ } // Dock the modal to the right or left to make the content behind readable
3078
+ else if (target.matches('.modal__dock--right')) {
3079
+ e.preventDefault();
3080
+ if (!element.classList.contains('modal--left')) element.classList.add('modal--right');
3081
+ element.classList.remove('modal--left');
3082
+ break;
3083
+ } else if (target.matches('.modal__dock--left')) {
3084
+ e.preventDefault();
3085
+ if (!element.classList.contains('modal--right')) element.classList.add('modal--left');
3086
+ element.classList.remove('modal--right');
3087
+ break;
3088
+ }
3089
+ }
3090
+ });
3091
+
3092
+ function locationHashChanged() {
3093
+ if (location.hash === '#' + modalID) {
3094
+ console.log("Modal is now open");
3095
+ var videoButton = document.querySelector('.modal:target .modal__inner > .youtube-embed:first-child:last-child a');
3096
+ console.log(videoButton);
3097
+
3098
+ if (videoButton) {
3099
+ videoButton.click();
3100
+ }
3101
+ }
3102
+ }
3103
+
3104
+ window.onhashchange = locationHashChanged;
3105
+ };
3106
+
3107
+ /* harmony default export */ var modules_modal = (modal);
3108
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Modal/Modal.vue?vue&type=script&lang=js&
3109
+ //
3110
+ //
3111
+ //
3112
+ //
3113
+ //
3114
+ //
3115
+ //
3116
+ //
3117
+ //
3118
+ //
3119
+ //
3120
+ //
3121
+ //
3122
+ //
3123
+ //
3124
+ //
3125
+ //
3126
+ //
3127
+ //
3128
+
3129
+ /* harmony default export */ var Modalvue_type_script_lang_js_ = ({
3130
+ name: 'Modal',
3131
+ props: {
3132
+ id: {
3133
+ type: String,
3134
+ required: true
3135
+ },
3136
+ returnid: {
3137
+ type: String,
3138
+ default: 'close',
3139
+ required: false
3140
+ }
3141
+ },
3142
+
3143
+ mounted() {
3144
+ this.$nextTick(function () {
3145
+ modules_modal(this.$refs.modal);
3146
+ });
3147
+ }
3148
+
3149
+ });
3150
+ // CONCATENATED MODULE: ./src/components/Modal/Modal.vue?vue&type=script&lang=js&
3151
+ /* harmony default export */ var Modal_Modalvue_type_script_lang_js_ = (Modalvue_type_script_lang_js_);
3152
+ // EXTERNAL MODULE: ./src/components/Modal/Modal.vue?vue&type=style&index=0&lang=scss&
3153
+ var Modalvue_type_style_index_0_lang_scss_ = __webpack_require__("148c");
3154
+
3155
+ // CONCATENATED MODULE: ./src/components/Modal/Modal.vue
3156
+
3157
+
3158
+
3159
+
3160
+
3161
+
3162
+ /* normalize component */
3163
+
3164
+ var Modal_component = normalizeComponent(
3165
+ Modal_Modalvue_type_script_lang_js_,
3166
+ Modalvue_type_template_id_2443604a_render,
3167
+ Modalvue_type_template_id_2443604a_staticRenderFns,
3168
+ false,
3169
+ null,
3170
+ null,
3171
+ null
3172
+
3173
+ )
3174
+
3175
+ /* harmony default export */ var Modal = (Modal_component.exports);
3176
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Tabs/Tabs.vue?vue&type=template&id=e2556836&
3177
+ var Tabsvue_type_template_id_e2556836_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"wrapper",staticClass:"container tabs__container"},[_vm._l((_vm.tabLinks()),function(value,index){return _c('input',{key:index,staticClass:"d-none",attrs:{"type":"radio","name":value.name,"id":value.id},domProps:{"checked":index == 0? 'checked':''}})}),_c('div',{staticClass:"tabs__links"},_vm._l((_vm.tabLinks()),function(value,index){return _c('label',{key:index,staticClass:"link",attrs:{"for":value.id}},[_vm._v(" "+_vm._s(value.tabTitle)+" ")])}),0),_c('div',{staticClass:"tabs"},[_vm._t("default")],2)],2)}
3178
+ var Tabsvue_type_template_id_e2556836_staticRenderFns = []
3179
+
3180
+
3181
+ // CONCATENATED MODULE: ./src/components/Tabs/Tabs.vue?vue&type=template&id=e2556836&
3182
+
3183
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Tabs/Tabs.vue?vue&type=script&lang=js&
3184
+ //
3185
+ //
3186
+ //
3187
+ //
3188
+ //
3189
+ //
3190
+ //
3191
+ //
3192
+ //
3193
+ //
3194
+ //
3195
+ //
3196
+ //
3197
+ //
3198
+ //
3199
+ //
3200
+ //
3201
+ //
3202
+ //
3203
+ //
3204
+ //
3205
+ /* harmony default export */ var Tabsvue_type_script_lang_js_ = ({
3206
+ name: 'Tabs',
3207
+
3208
+ data() {
3209
+ return {
3210
+ tabsID: 'tabs_' + Math.random().toString(36).substr(2, 9)
3211
+ };
3212
+ },
3213
+
3214
+ computed: {
3215
+ tabLinks() {
3216
+ return () => {
3217
+ var tabLinks = [];
3218
+ var i = 1;
3219
+
3220
+ for (var [key, value] of Object.entries(this.$slots.default)) {
3221
+ // Check if the value in the object is actually a tab and has the correct data
3222
+ if (value.componentOptions && value.componentOptions.propsData && value.componentOptions.propsData.title) {
3223
+ var tabTitle = value.componentOptions.propsData.title;
3224
+ var tab = {
3225
+ name: this.tabsID,
3226
+ id: this.tabsID + "_tab" + i++,
3227
+ tabTitle: tabTitle
3228
+ };
3229
+ tabLinks.push(tab);
3230
+ }
3231
+ }
3232
+
3233
+ return tabLinks;
3234
+ };
3235
+ }
3236
+
3237
+ }
3238
+ });
3239
+ // CONCATENATED MODULE: ./src/components/Tabs/Tabs.vue?vue&type=script&lang=js&
3240
+ /* harmony default export */ var Tabs_Tabsvue_type_script_lang_js_ = (Tabsvue_type_script_lang_js_);
3241
+ // EXTERNAL MODULE: ./src/components/Tabs/Tabs.vue?vue&type=style&index=0&lang=scss&
3242
+ var Tabsvue_type_style_index_0_lang_scss_ = __webpack_require__("267c");
3243
+
3244
+ // CONCATENATED MODULE: ./src/components/Tabs/Tabs.vue
3245
+
3246
+
3247
+
3248
+
3249
+
3250
+
3251
+ /* normalize component */
3252
+
3253
+ var Tabs_component = normalizeComponent(
3254
+ Tabs_Tabsvue_type_script_lang_js_,
3255
+ Tabsvue_type_template_id_e2556836_render,
3256
+ Tabsvue_type_template_id_e2556836_staticRenderFns,
3257
+ false,
3258
+ null,
3259
+ null,
3260
+ null
3261
+
3262
+ )
3263
+
3264
+ /* harmony default export */ var Tabs = (Tabs_component.exports);
3265
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"210bd474-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Tabs/Tab.vue?vue&type=template&id=205c835e&
3266
+ var Tabvue_type_template_id_205c835e_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"tab"},[_vm._t("default")],2)}
3267
+ var Tabvue_type_template_id_205c835e_staticRenderFns = []
3268
+
3269
+
3270
+ // CONCATENATED MODULE: ./src/components/Tabs/Tab.vue?vue&type=template&id=205c835e&
3271
+
3272
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/Tabs/Tab.vue?vue&type=script&lang=js&
3273
+ //
3274
+ //
3275
+ //
3276
+ //
3277
+ //
3278
+ //
3279
+ /* harmony default export */ var Tabvue_type_script_lang_js_ = ({
3280
+ name: 'Tab',
3281
+ props: {
3282
+ title: {
3283
+ type: String,
3284
+ required: true
3285
+ }
3286
+ }
3287
+ });
3288
+ // CONCATENATED MODULE: ./src/components/Tabs/Tab.vue?vue&type=script&lang=js&
3289
+ /* harmony default export */ var Tabs_Tabvue_type_script_lang_js_ = (Tabvue_type_script_lang_js_);
3290
+ // CONCATENATED MODULE: ./src/components/Tabs/Tab.vue
3291
+
3292
+
3293
+
3294
+
3295
+
3296
+ /* normalize component */
3297
+
3298
+ var Tab_component = normalizeComponent(
3299
+ Tabs_Tabvue_type_script_lang_js_,
3300
+ Tabvue_type_template_id_205c835e_render,
3301
+ Tabvue_type_template_id_205c835e_staticRenderFns,
3302
+ false,
3303
+ null,
3304
+ null,
3305
+ null
3306
+
3307
+ )
3308
+
3309
+ /* harmony default export */ var Tab = (Tab_component.exports);
3310
+ // CONCATENATED MODULE: ./src/index.js
3311
+ // Foundations
3312
+
3313
+ // Elements
3314
+
3315
+
3316
+ // Components
3317
+
3318
+
3319
+
3320
+
3321
+
3322
+
3323
+
3324
+
752
3325
 
753
3326
 
754
3327