@iamproperty/components 3.4.6 → 3.5.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 (304) hide show
  1. package/assets/bootstrap/LICENSE +22 -0
  2. package/assets/bootstrap/README.md +246 -0
  3. package/assets/bootstrap/js/src/alert.js +87 -0
  4. package/assets/bootstrap/js/src/base-component.js +85 -0
  5. package/assets/bootstrap/js/src/button.js +72 -0
  6. package/assets/bootstrap/js/src/carousel.js +475 -0
  7. package/assets/bootstrap/js/src/collapse.js +302 -0
  8. package/assets/bootstrap/js/src/dom/data.js +55 -0
  9. package/assets/bootstrap/js/src/dom/event-handler.js +320 -0
  10. package/assets/bootstrap/js/src/dom/manipulator.js +71 -0
  11. package/assets/bootstrap/js/src/dom/selector-engine.js +83 -0
  12. package/assets/bootstrap/js/src/dropdown.js +454 -0
  13. package/assets/bootstrap/js/src/modal.js +377 -0
  14. package/assets/bootstrap/js/src/offcanvas.js +283 -0
  15. package/assets/bootstrap/js/src/popover.js +97 -0
  16. package/assets/bootstrap/js/src/scrollspy.js +294 -0
  17. package/assets/bootstrap/js/src/tab.js +305 -0
  18. package/assets/bootstrap/js/src/toast.js +225 -0
  19. package/assets/bootstrap/js/src/tooltip.js +633 -0
  20. package/assets/bootstrap/js/src/util/backdrop.js +149 -0
  21. package/assets/bootstrap/js/src/util/component-functions.js +34 -0
  22. package/assets/bootstrap/js/src/util/config.js +66 -0
  23. package/assets/bootstrap/js/src/util/focustrap.js +115 -0
  24. package/assets/bootstrap/js/src/util/index.js +336 -0
  25. package/assets/bootstrap/js/src/util/sanitizer.js +118 -0
  26. package/assets/bootstrap/js/src/util/scrollbar.js +114 -0
  27. package/assets/bootstrap/js/src/util/swipe.js +146 -0
  28. package/assets/bootstrap/js/src/util/template-factory.js +160 -0
  29. package/assets/bootstrap/package.json +181 -0
  30. package/assets/bootstrap/scss/_accordion.scss +149 -0
  31. package/assets/bootstrap/scss/_alert.scss +71 -0
  32. package/assets/bootstrap/scss/_badge.scss +38 -0
  33. package/assets/bootstrap/scss/_breadcrumb.scss +40 -0
  34. package/assets/bootstrap/scss/_button-group.scss +142 -0
  35. package/assets/bootstrap/scss/_buttons.scss +207 -0
  36. package/assets/bootstrap/scss/_card.scss +234 -0
  37. package/assets/bootstrap/scss/_carousel.scss +226 -0
  38. package/assets/bootstrap/scss/_close.scss +40 -0
  39. package/assets/bootstrap/scss/_containers.scss +41 -0
  40. package/assets/bootstrap/scss/_dropdown.scss +249 -0
  41. package/assets/bootstrap/scss/_forms.scss +9 -0
  42. package/assets/bootstrap/scss/_functions.scss +302 -0
  43. package/assets/bootstrap/scss/_grid.scss +33 -0
  44. package/assets/bootstrap/scss/_helpers.scss +10 -0
  45. package/assets/bootstrap/scss/_images.scss +42 -0
  46. package/assets/bootstrap/scss/_list-group.scss +192 -0
  47. package/assets/bootstrap/scss/_maps.scss +54 -0
  48. package/assets/bootstrap/scss/_mixins.scss +43 -0
  49. package/assets/bootstrap/scss/_modal.scss +237 -0
  50. package/assets/bootstrap/scss/_nav.scss +172 -0
  51. package/assets/bootstrap/scss/_navbar.scss +278 -0
  52. package/assets/bootstrap/scss/_offcanvas.scss +144 -0
  53. package/assets/bootstrap/scss/_pagination.scss +109 -0
  54. package/assets/bootstrap/scss/_placeholders.scss +51 -0
  55. package/assets/bootstrap/scss/_popover.scss +196 -0
  56. package/assets/bootstrap/scss/_progress.scss +59 -0
  57. package/assets/bootstrap/scss/_reboot.scss +610 -0
  58. package/assets/bootstrap/scss/_root.scss +73 -0
  59. package/assets/bootstrap/scss/_spinners.scss +85 -0
  60. package/assets/bootstrap/scss/_tables.scss +164 -0
  61. package/assets/bootstrap/scss/_toasts.scss +73 -0
  62. package/assets/bootstrap/scss/_tooltip.scss +120 -0
  63. package/assets/bootstrap/scss/_transitions.scss +27 -0
  64. package/assets/bootstrap/scss/_type.scss +106 -0
  65. package/assets/bootstrap/scss/_utilities.scss +647 -0
  66. package/assets/bootstrap/scss/_variables.scss +1634 -0
  67. package/assets/bootstrap/scss/bootstrap-grid.scss +64 -0
  68. package/assets/bootstrap/scss/bootstrap-reboot.scss +9 -0
  69. package/assets/bootstrap/scss/bootstrap-utilities.scss +18 -0
  70. package/assets/bootstrap/scss/bootstrap.scss +51 -0
  71. package/assets/bootstrap/scss/forms/_floating-labels.scss +75 -0
  72. package/assets/bootstrap/scss/forms/_form-check.scss +175 -0
  73. package/assets/bootstrap/scss/forms/_form-control.scss +194 -0
  74. package/assets/bootstrap/scss/forms/_form-range.scss +91 -0
  75. package/assets/bootstrap/scss/forms/_form-select.scss +71 -0
  76. package/assets/bootstrap/scss/forms/_form-text.scss +11 -0
  77. package/assets/bootstrap/scss/forms/_input-group.scss +132 -0
  78. package/assets/bootstrap/scss/forms/_labels.scss +36 -0
  79. package/assets/bootstrap/scss/forms/_validation.scss +12 -0
  80. package/assets/bootstrap/scss/helpers/_clearfix.scss +3 -0
  81. package/assets/bootstrap/scss/helpers/_color-bg.scss +10 -0
  82. package/assets/bootstrap/scss/helpers/_colored-links.scss +12 -0
  83. package/assets/bootstrap/scss/helpers/_position.scss +36 -0
  84. package/assets/bootstrap/scss/helpers/_ratio.scss +26 -0
  85. package/assets/bootstrap/scss/helpers/_stacks.scss +15 -0
  86. package/assets/bootstrap/scss/helpers/_stretched-link.scss +15 -0
  87. package/assets/bootstrap/scss/helpers/_text-truncation.scss +7 -0
  88. package/assets/bootstrap/scss/helpers/_visually-hidden.scss +8 -0
  89. package/assets/bootstrap/scss/helpers/_vr.scss +8 -0
  90. package/assets/bootstrap/scss/mixins/_alert.scss +15 -0
  91. package/assets/bootstrap/scss/mixins/_backdrop.scss +14 -0
  92. package/assets/bootstrap/scss/mixins/_banner.scss +9 -0
  93. package/assets/bootstrap/scss/mixins/_border-radius.scss +78 -0
  94. package/assets/bootstrap/scss/mixins/_box-shadow.scss +18 -0
  95. package/assets/bootstrap/scss/mixins/_breakpoints.scss +127 -0
  96. package/assets/bootstrap/scss/mixins/_buttons.scss +70 -0
  97. package/assets/bootstrap/scss/mixins/_caret.scss +64 -0
  98. package/assets/bootstrap/scss/mixins/_clearfix.scss +9 -0
  99. package/assets/bootstrap/scss/mixins/_color-scheme.scss +7 -0
  100. package/assets/bootstrap/scss/mixins/_container.scss +11 -0
  101. package/assets/bootstrap/scss/mixins/_deprecate.scss +10 -0
  102. package/assets/bootstrap/scss/mixins/_forms.scss +152 -0
  103. package/assets/bootstrap/scss/mixins/_gradients.scss +47 -0
  104. package/assets/bootstrap/scss/mixins/_grid.scss +151 -0
  105. package/assets/bootstrap/scss/mixins/_image.scss +16 -0
  106. package/assets/bootstrap/scss/mixins/_list-group.scss +24 -0
  107. package/assets/bootstrap/scss/mixins/_lists.scss +7 -0
  108. package/assets/bootstrap/scss/mixins/_pagination.scss +10 -0
  109. package/assets/bootstrap/scss/mixins/_reset-text.scss +17 -0
  110. package/assets/bootstrap/scss/mixins/_resize.scss +6 -0
  111. package/assets/bootstrap/scss/mixins/_table-variants.scss +24 -0
  112. package/assets/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  113. package/assets/bootstrap/scss/mixins/_transition.scss +26 -0
  114. package/assets/bootstrap/scss/mixins/_utilities.scss +97 -0
  115. package/assets/bootstrap/scss/mixins/_visually-hidden.scss +29 -0
  116. package/assets/bootstrap/scss/utilities/_api.scss +47 -0
  117. package/assets/bootstrap/scss/vendor/_rfs.scss +354 -0
  118. package/assets/css/components/accordion.css +1 -1
  119. package/assets/css/components/accordion.css.map +1 -1
  120. package/assets/css/components/admin-panel.css +1 -0
  121. package/assets/css/components/admin-panel.css.map +1 -0
  122. package/assets/css/components/alert.css +1 -1
  123. package/assets/css/components/alert.css.map +1 -1
  124. package/assets/css/components/applied-filters.css +1 -0
  125. package/assets/css/components/applied-filters.css.map +1 -0
  126. package/assets/css/components/card.css +1 -1
  127. package/assets/css/components/card.css.map +1 -1
  128. package/assets/css/components/carousel.css +1 -1
  129. package/assets/css/components/carousel.css.map +1 -1
  130. package/assets/css/components/charts.css +1 -1
  131. package/assets/css/components/charts.css.map +1 -1
  132. package/assets/css/components/container.css +1 -1
  133. package/assets/css/components/container.css.map +1 -1
  134. package/assets/css/components/dialog.css +1 -0
  135. package/assets/css/components/dialog.css.map +1 -0
  136. package/assets/css/components/forms.css +1 -1
  137. package/assets/css/components/forms.css.map +1 -1
  138. package/assets/css/components/header.css +1 -1
  139. package/assets/css/components/header.css.map +1 -1
  140. package/assets/css/components/lists.css +1 -1
  141. package/assets/css/components/lists.css.map +1 -1
  142. package/assets/css/components/nav.css +1 -1
  143. package/assets/css/components/nav.css.map +1 -1
  144. package/assets/css/components/pagination.css +1 -0
  145. package/assets/css/components/pagination.css.map +1 -0
  146. package/assets/css/components/property-searchbar.css +1 -1
  147. package/assets/css/components/property-searchbar.css.map +1 -1
  148. package/assets/css/components/stepper.css +1 -1
  149. package/assets/css/components/stepper.css.map +1 -1
  150. package/assets/css/components/table.css +1 -0
  151. package/assets/css/components/table.css.map +1 -0
  152. package/assets/css/components/tabs.css +1 -1
  153. package/assets/css/components/tabs.css.map +1 -1
  154. package/assets/css/components/tooltips.css +1 -1
  155. package/assets/css/components/tooltips.css.map +1 -1
  156. package/assets/css/core.min.css +1 -1
  157. package/assets/css/core.min.css.map +1 -1
  158. package/assets/css/style.min.css +1 -1
  159. package/assets/css/style.min.css.map +1 -1
  160. package/assets/js/bundle.js +18 -11
  161. package/assets/js/components/accordion/accordion.component.js +6 -0
  162. package/assets/js/components/accordion/accordion.component.min.js +3 -3
  163. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  164. package/assets/js/components/applied-filters/applied-filters.component.js +26 -0
  165. package/assets/js/components/card/card.component.js +91 -0
  166. package/assets/js/components/card/card.component.min.js +21 -0
  167. package/assets/js/components/card/card.component.min.js.map +1 -0
  168. package/assets/js/components/filterlist/filterlist.component.js +49 -0
  169. package/assets/js/components/filterlist/filterlist.component.min.js +23 -0
  170. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -0
  171. package/assets/js/components/header/header.component.js +6 -0
  172. package/assets/js/components/header/header.component.min.js +5 -5
  173. package/assets/js/components/header/header.component.min.js.map +1 -1
  174. package/assets/js/components/pagination/pagination.component.js +34 -0
  175. package/assets/js/components/table/table.component.js +108 -0
  176. package/assets/js/components/table/table.component.min.js +24 -0
  177. package/assets/js/components/table/table.component.min.js.map +1 -0
  178. package/assets/js/components/tabs/tabs.component.js +6 -0
  179. package/assets/js/components/tabs/tabs.component.min.js +17 -0
  180. package/assets/js/components/tabs/tabs.component.min.js.map +1 -0
  181. package/assets/js/dynamic.js +7 -18
  182. package/assets/js/dynamic.min.js +2 -53
  183. package/assets/js/dynamic.min.js.map +1 -1
  184. package/assets/js/flat-components.js +27 -9
  185. package/assets/js/modules/applied-filters.js +100 -0
  186. package/assets/js/modules/data-layer.js +45 -0
  187. package/assets/js/modules/filterlist.js +32 -0
  188. package/assets/js/modules/helpers.js +102 -49
  189. package/assets/js/modules/pagination.js +33 -0
  190. package/assets/js/modules/table.js +506 -420
  191. package/assets/js/modules/tabs.js +6 -0
  192. package/assets/js/modules/youtubevideo.js +53 -61
  193. package/assets/js/scripts.bundle.js +77 -62
  194. package/assets/js/scripts.bundle.js.map +1 -1
  195. package/assets/js/scripts.bundle.min.js +2 -2
  196. package/assets/js/scripts.bundle.min.js.map +1 -1
  197. package/assets/js/tests/filterlist.spec.js +22 -0
  198. package/assets/js/tests/pagination.spec.js +15 -0
  199. package/assets/js/tests/table.spec.js +149 -0
  200. package/assets/sass/_components.scss +1 -2
  201. package/assets/sass/_corefiles.scss +20 -19
  202. package/assets/sass/_forms.scss +7 -7
  203. package/assets/sass/_functions/functions.scss +1 -1
  204. package/assets/sass/_functions/mixins.scss +19 -21
  205. package/assets/sass/_functions/utilities.scss +67 -9
  206. package/assets/sass/_functions/variables.scss +109 -55
  207. package/assets/sass/_tests/colours.spec.scss +8 -22
  208. package/assets/sass/components/accordion.scss +13 -0
  209. package/assets/sass/components/admin-panel.scss +106 -0
  210. package/assets/sass/components/alert.scss +22 -0
  211. package/assets/sass/components/applied-filters.scss +65 -0
  212. package/assets/sass/components/card.scss +177 -233
  213. package/assets/sass/components/carousel.scss +72 -0
  214. package/assets/sass/components/charts.scss +41 -1
  215. package/assets/sass/components/container.scss +8 -3
  216. package/assets/sass/components/dialog.scss +208 -0
  217. package/assets/sass/components/forms.scss +37 -5
  218. package/assets/sass/components/lists.scss +29 -0
  219. package/assets/sass/components/nav.scss +6 -2
  220. package/assets/sass/components/pagination.scss +140 -0
  221. package/assets/sass/components/stepper.scss +3 -3
  222. package/assets/sass/components/table.scss +423 -0
  223. package/assets/sass/components/tabs.scss +20 -7
  224. package/assets/sass/components/tooltips.scss +1 -1
  225. package/assets/sass/foundations/buttons.scss +366 -0
  226. package/assets/sass/foundations/icons.scss +1 -1
  227. package/assets/sass/foundations/links.scss +125 -0
  228. package/assets/sass/foundations/media.scss +1 -1
  229. package/assets/sass/foundations/reboot.scss +21 -17
  230. package/assets/sass/foundations/root.scss +9 -29
  231. package/assets/sass/foundations/type.scss +1 -1
  232. package/assets/svg/illustrations/table.svg +165 -0
  233. package/assets/ts/bundle.ts +23 -12
  234. package/assets/ts/components/accordion/accordion.component.ts +7 -0
  235. package/assets/ts/components/applied-filters/README.md +5 -0
  236. package/assets/ts/components/applied-filters/applied-filters.component.ts +33 -0
  237. package/assets/ts/components/card/README.md +22 -0
  238. package/assets/ts/components/card/card.component.ts +117 -0
  239. package/assets/ts/components/filterlist/README.md +17 -0
  240. package/assets/ts/components/filterlist/filterlist.component.ts +60 -0
  241. package/assets/ts/components/header/header.component.ts +8 -0
  242. package/assets/ts/components/pagination/README.md +11 -0
  243. package/assets/ts/components/pagination/pagination.component.ts +45 -0
  244. package/assets/ts/components/table/README.md +23 -0
  245. package/assets/ts/components/table/table.component.ts +133 -0
  246. package/assets/ts/components/tabs/tabs.component.ts +7 -0
  247. package/assets/ts/dynamic.ts +12 -19
  248. package/assets/ts/flat-components.ts +37 -9
  249. package/assets/ts/modules/applied-filters.ts +146 -0
  250. package/assets/ts/modules/data-layer.ts +58 -0
  251. package/assets/ts/modules/filterlist.ts +46 -0
  252. package/assets/ts/modules/helpers.ts +129 -58
  253. package/assets/ts/modules/pagination.ts +44 -0
  254. package/assets/ts/modules/table.ts +598 -433
  255. package/assets/ts/modules/tabs.ts +8 -1
  256. package/assets/ts/modules/youtubevideo.ts +58 -63
  257. package/assets/ts/tests/filterlist.spec.ts +29 -0
  258. package/assets/ts/tests/pagination.spec.ts +21 -0
  259. package/assets/ts/tests/table.spec.ts +194 -0
  260. package/dist/components.es.js +1267 -1295
  261. package/dist/components.umd.js +70 -65
  262. package/dist/style.css +1 -1
  263. package/package.json +8 -5
  264. package/src/components/AppliedFilters/AppliedFilters.vue +20 -0
  265. package/src/components/AppliedFilters/README.md +5 -0
  266. package/src/components/Card/Card.vue +11 -112
  267. package/src/components/Card/README.md +16 -18
  268. package/src/components/Carousel/Carousel.vue +49 -10
  269. package/src/components/Chart/Chart.vue +46 -4
  270. package/src/components/Filterlist/Filterlist.vue +20 -0
  271. package/src/components/Filterlist/README.md +17 -0
  272. package/src/components/Pagination/Pagination.vue +30 -0
  273. package/src/components/Pagination/README.md +11 -0
  274. package/src/components/Table/README.md +29 -44
  275. package/src/components/Table/Table.spec.js +5 -37
  276. package/src/components/Table/Table.vue +16 -91
  277. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +1 -1
  278. package/src/index.js +3 -2
  279. package/assets/css/components/buttons.css +0 -1
  280. package/assets/css/components/buttons.css.map +0 -1
  281. package/assets/css/components/cardDeck.css +0 -1
  282. package/assets/css/components/cardDeck.css.map +0 -1
  283. package/assets/css/components/links.css +0 -1
  284. package/assets/css/components/links.css.map +0 -1
  285. package/assets/css/components/modal.css +0 -1
  286. package/assets/css/components/modal.css.map +0 -1
  287. package/assets/css/components/panel.css +0 -1
  288. package/assets/css/components/panel.css.map +0 -1
  289. package/assets/css/components/tables.css +0 -1
  290. package/assets/css/components/tables.css.map +0 -1
  291. package/assets/js/modules/modal.js +0 -69
  292. package/assets/sass/components/buttons.scss +0 -252
  293. package/assets/sass/components/cardDeck.scss +0 -108
  294. package/assets/sass/components/links.scss +0 -99
  295. package/assets/sass/components/modal.scss +0 -136
  296. package/assets/sass/components/panel.scss +0 -161
  297. package/assets/sass/components/tables.scss +0 -291
  298. package/assets/ts/modules/modal.ts +0 -91
  299. package/src/components/CardDeck/CardDeck.spec.js +0 -99
  300. package/src/components/CardDeck/CardDeck.vue +0 -77
  301. package/src/components/CardDeck/README.md +0 -25
  302. package/src/components/Modal/Modal.spec.js +0 -22
  303. package/src/components/Modal/Modal.vue +0 -43
  304. package/src/components/Modal/README.md +0 -20
@@ -1,161 +0,0 @@
1
- @use "../_func" as *;
2
-
3
- .admin-panel {
4
- --panel-gutter: 1rem;
5
- --panel-tab-colour: #fafafa;
6
- background: var(--body-bg);
7
-
8
- &.bg-secondary{
9
-
10
- background-color: rgba(#b4e6a5,0.3) !important;
11
- }
12
-
13
- @media screen and (prefers-color-scheme: dark) {
14
-
15
- --panel-tab-colour: transparent;
16
- }
17
-
18
- @include media-breakpoint-up(md) {
19
-
20
- --panel-gutter: 1.5rem;
21
- }
22
-
23
- padding: 0 var(--panel-gutter) 0 var(--panel-gutter);
24
- border: 1px solid var(--colour-border-light);
25
- border-top: 3px solid var(--colour-secondary);
26
- margin-bottom: 2rem;
27
-
28
- &:empty {
29
- display: none;
30
- }
31
-
32
- > *:not(.note-feed):first-child {
33
- margin-top: var(--panel-gutter);
34
- }
35
-
36
- > *:last-child:not(details) {
37
- margin-bottom: var(--panel-gutter);
38
- }
39
-
40
- > :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):first-child {
41
- border-bottom: 2px solid var(--colour-border-light);
42
- font-size: var(--fs-4);
43
- line-height: 1;
44
- letter-spacing: 1;
45
- padding: var(--panel-gutter) var(--panel-gutter) var(--panel-gutter) var(--panel-gutter);
46
- margin: 0 calc(var(--panel-gutter) * -1) var(--panel-gutter) calc(var(--panel-gutter) * -1);
47
- display: block;
48
- }
49
-
50
- > .table__wrapper,
51
- > .note-feed > .table__wrapper,
52
- > .tabs > details > .table__wrapper {
53
-
54
- margin: 0 calc(var(--panel-gutter) * -1) var(--panel-gutter) calc(var(--panel-gutter) * -1);
55
- padding: 0 var(--panel-gutter) 0 var(--panel-gutter);
56
- min-width: calc(100% + var(--panel-gutter) + var(--panel-gutter));
57
-
58
- table {
59
-
60
- margin: 0 calc(var(--panel-gutter) * -1) var(--panel-gutter) calc(var(--panel-gutter) * -1);
61
- min-width: calc(100% + var(--panel-gutter) + var(--panel-gutter));
62
- padding-right: 0;
63
-
64
- }
65
-
66
- tr {
67
- :is(th, td) {
68
- padding-left: var(--panel-gutter);
69
- padding-right: var(--panel-gutter);
70
- }
71
- }
72
-
73
- &:first-child {
74
- margin-top: 0;
75
-
76
- thead tr:first-child {
77
-
78
- border-top: none;
79
- }
80
- }
81
-
82
- &:last-child {
83
- margin-bottom: 0;
84
-
85
- tbody tr:last-child {
86
-
87
- border-bottom: none;
88
- }
89
- }
90
- }
91
-
92
- // Table margin top override
93
- :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6, .admin-panel__links, .tabs__links) + :is(.table__wrapper, table, .note-feed) {
94
- margin-top: calc(var(--panel-gutter) * -1);
95
-
96
- tr:first-child {
97
-
98
- border-top: none;
99
- }
100
- }
101
- }
102
-
103
- [class*="col"] .admin-panel:first-child:last-child {
104
-
105
- min-height: calc(100% - 2rem);
106
- }
107
-
108
- .admin-panel .admin-panel__links {
109
-
110
- margin-top: -3px!important;
111
- margin-left: calc(var(--panel-gutter) * -1);
112
- margin-right: calc(var(--panel-gutter) * -1);
113
- display: flex;
114
- flex-direction: column;
115
- background-color: var(--body-bg);
116
- border-bottom: 2px solid var(--colour-border-light);
117
- margin-bottom: var(--panel-gutter);
118
-
119
- @include media-breakpoint-up(sm) {
120
-
121
- flex-direction: row;
122
- border-top: 1px solid var(--colour-border-light);
123
- }
124
-
125
- :is(a, label) {
126
- padding: var(--panel-gutter);
127
- margin: 0;
128
- width: 100%;
129
- background: var(--panel-tab-colour);
130
- border-top: 1px solid var(--colour-border-light);
131
- border-left: 3px solid var(--panel-tab-border, #fafafa);
132
-
133
- &:before {
134
- display: none;
135
- }
136
-
137
- @include media-breakpoint-up(sm) {
138
-
139
- margin-right: 0!important;
140
-
141
- &:first-child{
142
- border-left: none!important;
143
- }
144
-
145
- &:not(:first-child){
146
-
147
- border-left: 1px solid var(--colour-border-light)!important;
148
- }
149
-
150
- border-top: 3px solid var(--panel-tab-border, #fafafa);
151
- }
152
- }
153
-
154
- .current {
155
-
156
- --is-current: 1;
157
- --panel-tab-colour: var(--body-bg);;
158
- --panel-tab-border: var(--colour-secondary);
159
- pointer-events: none;
160
- }
161
- }
@@ -1,291 +0,0 @@
1
- @use "../_func.scss" as *;
2
-
3
- // #region Default table
4
- table {
5
- --border-width: 2px;
6
- --inner-border-width: 1px;
7
- width: 100%;
8
- font-size: rem(16);
9
- border: none;
10
- margin-bottom: rem(32);
11
- overflow: auto;
12
- }
13
-
14
- td,th {
15
- padding: rem(16) rem(32) rem(16) 0;
16
- font-weight: normal;
17
- text-align: left;
18
- vertical-align: top;
19
- border: none;
20
- font-size: rem(16);
21
- line-height: rem(24);
22
- color: var(--colour-body);
23
-
24
- &:first-child {
25
- padding-left: rem(8);
26
- }
27
- }
28
-
29
- th {
30
- font-weight: bold;
31
- @include var(color,--colour-heading);
32
- }
33
-
34
- tr {
35
- border-bottom: var(--inner-border-width) solid currentColor;
36
- @include var(border-color,--colour-border);
37
-
38
- &:last-child {
39
- border-bottom: var(--border-width) solid currentColor;
40
- @include var(border-color,--colour-border);
41
- }
42
- }
43
-
44
- thead {
45
- tr:first-child {
46
- border-top: var(--border-width) solid currentColor;
47
- @include var(border-color,--colour-border);
48
- }
49
-
50
- th {
51
- font-size: rem(16);
52
- line-height: rem(24);
53
- padding-bottom: rem(24);
54
-
55
- @include media-breakpoint-up(sm) {
56
-
57
- font-size: rem(18);
58
- white-space: nowrap;
59
- }
60
-
61
- font-weight: bold;
62
- vertical-align: bottom;
63
- }
64
- }
65
-
66
- tbody:first-child{
67
- tr:first-child {
68
- border-top: var(--border-width) solid currentColor;
69
- @include var(border-color,--colour-border);
70
- }
71
- }
72
-
73
- .table__wrapper.border-0 table,
74
- table.border-0 {
75
-
76
- --border-width: 0px;
77
- --inner-border-width: 0px;
78
- }
79
-
80
- // #endregion
81
-
82
- // #region Table wrapper - Add via JS if needed, provides a safe space to scroll
83
- .table__wrapper {
84
- display: block;
85
- width: calc(100% + 1rem);
86
- padding-right: 1rem;
87
- overflow-x: auto;
88
- -webkit-overflow-scrolling: touch;
89
- -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
90
- margin-bottom: rem(32);
91
-
92
- table {
93
- margin-bottom: 0;
94
- display: table;
95
- overflow: hidden;
96
- }
97
- }
98
- // #endregion
99
-
100
- // #region Tables are only stacked on mobile
101
- @media screen and (max-width: 36em) {
102
- .table__wrapper:not(.table-fullwidth):not(.client-table) {
103
-
104
- overflow: hidden;
105
-
106
- thead {
107
- display: none;
108
- }
109
-
110
- tbody {
111
- display: block;
112
- border-top: 2px solid currentColor;
113
- @include var(border-color,--colour-border);
114
- }
115
-
116
- tr {
117
- display: block;
118
- position: relative;
119
- padding-top: 1rem;
120
- padding-bottom: 1rem;
121
- }
122
-
123
- td,
124
- th {
125
- display: block;
126
- padding-right: 0;
127
- padding-top: 0;
128
- padding-left: rem(8);
129
-
130
- &[data-label]:before {
131
- content: attr(data-label);
132
- color: var(--colour-heading);
133
- padding: 0;
134
- margin-bottom: 0;
135
- display: block;
136
- font-weight: bold;
137
- margin: 0;
138
- }
139
- }
140
-
141
- &.table-minify tr:not(:hover) {
142
- td:not(:first-child){
143
- display: none;
144
- }
145
- }
146
- }
147
- }
148
- // #endregion
149
-
150
-
151
- // #region Table striped
152
- .table-striped tbody tr:nth-of-type(odd) {
153
-
154
- background-color: rgba(0, 0, 0, 0.1);
155
-
156
- .bg-light & {
157
-
158
- @include var(background-color,--colour-white);
159
- }
160
- }
161
- // #endregion
162
-
163
- // #region Table hover
164
- .table-hover tbody tr {
165
- &:hover,
166
- &:focus {
167
- background-color: rgba(0, 0, 0, 0.2);
168
- }
169
- }
170
- // #endregion
171
-
172
-
173
- // #region Sortable
174
- [data-sortable] {
175
-
176
- cursor: pointer;
177
- position: relative;
178
- user-select: none;
179
- padding-right: 3.5rem;
180
-
181
- &:hover {
182
- color: var(--colour-hover);
183
- }
184
- }
185
- [data-sortable]:after {
186
-
187
- content: "";
188
- position: absolute;
189
- top:0;
190
- right: 0;
191
- width: 3.5rem;
192
- height: 4rem;
193
- display: block;
194
- mask-image: var(--icon-sort);
195
- mask-size: 0.6rem 0.8rem;
196
- mask-repeat: no-repeat;
197
- mask-position: calc(100% - 1.5rem) calc(50% - 0.25rem);
198
-
199
- -webkit-mask-image: var(--icon-sort);
200
- -webkit-mask-size: 0.6rem 0.8rem;
201
- -webkit-mask-repeat: no-repeat;
202
- -webkit-mask-position: calc(100% - 1.5rem) calc(50% - 0.25rem);
203
- background-color: currentColor;
204
- }
205
-
206
- [data-sortable][aria-sort=ascending]:after {
207
- --icon-sort: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath opacity='.3' d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E");
208
- }
209
-
210
- [data-sortable][aria-sort=descending]:after {
211
- --icon-sort: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='101' height='101' preserveAspectRatio='none'%3E%3Cpath opacity='.3' d='M51 1l25 23 24 22H1l25-22z'/%3E%3Cpath d='M51 101l25-23 24-22H1l25 22z'/%3E%3C/svg%3E");
212
- }
213
- // #endregion
214
-
215
- // #region Pagination
216
- .table__pagination select {
217
- max-width: rem(240);
218
- }
219
- .table__pagination .showing-input-field {
220
- min-width: 4.5rem;
221
- }
222
- .table__pagination .page-number {
223
- min-width: 7rem;
224
- }
225
- // #endregion
226
-
227
- // #region Reorderable
228
- .table-order-reset {
229
-
230
- cursor: pointer;
231
- position: relative;
232
- width: 1rem;
233
-
234
- &:hover {
235
- color: var(--colour-hover);
236
- }
237
-
238
- overflow: hidden;
239
- text-indent: -200%;
240
-
241
- &:after {
242
- content: "#";
243
- position: absolute;
244
- left: 0.5rem;
245
- top: 1rem;
246
- text-indent: 0;
247
- }
248
- }
249
-
250
- [data-reorder] tr[draggable] {
251
-
252
- cursor: move;
253
-
254
- &:hover,
255
- &:focus {
256
- background-color: rgba(0, 0, 0, 0.2);
257
- }
258
-
259
- &.tr--dragging {
260
- background: var(--colour-muted);
261
- }
262
-
263
- &.tr--dropable {
264
-
265
- background-color: rgba(0, 0, 0, 0.2);
266
- }
267
- }
268
-
269
- // #endregion
270
-
271
-
272
- .note-feed {
273
-
274
- td:last-child {
275
- min-width: 20rem;
276
-
277
- /*
278
- display: -webkit-box;
279
- -webkit-line-clamp: 5;
280
- -webkit-box-orient: vertical;
281
- overflow: hidden;
282
- padding-bottom: 0;
283
- margin-bottom: 1rem;
284
-
285
- &:hover {
286
-
287
- -webkit-line-clamp: inherit;
288
- }
289
- */
290
- }
291
- }
@@ -1,91 +0,0 @@
1
- // @ts-nocheck
2
- const modal = (element) => {
3
-
4
- const links = element.querySelectorAll('.modal__outer a, .modal__outer button');
5
- const firstLink = links[0]
6
- const lastLink = links[links.length - 1]
7
- const modalID = element.getAttribute('id');
8
-
9
- const closeModal = function(){
10
- const button = document.querySelector('[href="'+window.location.hash+'"]');
11
- button.focus();
12
- window.location.hash = "close";
13
- history.replaceState("", document.title, window.location.pathname + window.location.search);
14
-
15
- // If there is more than one video lets make sure there is only one playing at a time.
16
- if(typeof window.player != "undefined" && typeof window.player.pauseVideo == "function")
17
- window.player.pauseVideo();
18
- }
19
-
20
- // Trap the tab focus inside
21
- element.addEventListener('keydown', function(e){
22
-
23
- if(e.key === "Tab" && e.shiftKey && document.activeElement == firstLink){
24
-
25
- e.preventDefault();
26
- lastLink.focus();
27
- }
28
- else if(e.key === "Tab" && !e.shiftKey && document.activeElement == lastLink) {
29
-
30
- e.preventDefault();
31
- firstLink.focus();
32
- }
33
- });
34
-
35
- // ESC will close the open modal
36
- document.addEventListener("keydown", function(e){
37
- if (e.key === "Escape" && document.querySelector('.modal:target'))
38
- closeModal();
39
- });
40
-
41
- element.addEventListener('click', function(e){
42
- for (var target = e.target; target && target != this; target = target.parentNode) {
43
-
44
- // Close links will close the model by default but we want to remove the hash link also
45
- if (target.matches('[href="#close"]')) {
46
-
47
- e.preventDefault();
48
- closeModal();
49
- break;
50
- }
51
- // Dock the modal to the right or left to make the content behind readable
52
- else if (target.matches('.modal__dock--right')) {
53
-
54
- e.preventDefault();
55
- if(!element.classList.contains('modal--left'))
56
- element.classList.add('modal--right');
57
-
58
- element.classList.remove('modal--left');
59
-
60
- break;
61
- }
62
- else if (target.matches('.modal__dock--left')) {
63
-
64
- e.preventDefault();
65
-
66
- if(!element.classList.contains('modal--right'))
67
- element.classList.add('modal--left');
68
-
69
- element.classList.remove('modal--right');
70
-
71
- break;
72
- }
73
- }
74
- });
75
-
76
- function locationHashChanged() {
77
- if (location.hash === '#'+modalID) {
78
- console.log("Modal is now open");
79
- const videoButton = document.querySelector('.modal:target .modal__inner > .youtube-embed:first-child:last-child a');
80
-
81
- console.log(videoButton)
82
- if (videoButton){
83
- videoButton.click();
84
- }
85
-
86
- }
87
- }
88
- window.onhashchange = locationHashChanged;
89
- }
90
-
91
- export default modal
@@ -1,99 +0,0 @@
1
- import { mount } from '@vue/test-utils'
2
- import CardDeck from './/CardDeck.vue'
3
- import Card from '../../components/Card/Card.vue'
4
-
5
- describe('Card Deck component', () => {
6
-
7
- const test = mount(CardDeck, {
8
- propsData: {
9
- items: [
10
- {
11
- link: '/components/card-deck',
12
- title: 'Card 1',
13
- content: `<p>It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages..</p>`
14
- },
15
- {
16
- link: '/components/card-deck',
17
- title: 'Card 2',
18
- content: `<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec efficitur, tortor eu faucibus facilisis, felis libero blandit dolor.</p>`
19
- },
20
- {
21
- link: '/components/card-deck',
22
- title: 'Card 3',
23
- content: `<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec efficitur, tortor eu faucibus facilisis, felis libero blandit dolor.</p><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec efficitur.</p>`
24
- }
25
- ]
26
- },
27
- slots: {
28
- default: '<p>Hello</p>',
29
- after: '<p>Hello 2</p>'
30
- }
31
- })
32
-
33
- it('renders the content before the card deck', () => {
34
- expect(test.html()).toContain('<p>Hello</p>')
35
- })
36
-
37
- it('renders the content after the card deck', () => {
38
- expect(test.html()).toContain('<p>Hello 2</p>')
39
- })
40
-
41
- it('renders the card title', () => {
42
- expect(test.html()).toContain('<span class="card-title d-block h4">Card 1</span>')
43
- expect(test.html()).toContain('<span class="card-title d-block h4">Card 2</span>')
44
- expect(test.html()).toContain('<span class="card-title d-block h4">Card 3</span>')
45
- })
46
-
47
- it('renders the correct number of cards', () => {
48
-
49
- expect(test.findAll('.card').length).toBe(3)
50
- })
51
- })
52
-
53
-
54
- describe('Property Card component', () => {
55
-
56
- const test = mount(CardDeck, {
57
- propsData: {
58
- items: [
59
- {
60
- link: '/components/card-deck',
61
- content: `<p>Reservation fee applies</p>`,
62
- image: 'house.jpg',
63
- title: '4 bed semi-detached',
64
- subtitle: 'Burt terrace, Newcastle upon tyne',
65
- details: {
66
- tags: ['Modern method','Freehold'],
67
- guideprice: '£90,000.00',
68
- auctiontime: '19 days',
69
- status: 'Live now',
70
- images: 5,
71
- videos: 2,
72
- logo: 'logo.jpg'
73
- }
74
- }
75
- ]
76
- }
77
- })
78
-
79
-
80
- it('renders the property card title', () => {
81
- expect(test.html()).toContain('<span class="card-title d-block h4">4 bed semi-detached <span class="d-block fw-normal font-body text-body small">Burt terrace, Newcastle upon tyne</span></span>')
82
-
83
- })
84
-
85
- it('renders the card image', () => {
86
-
87
- expect(test.html()).toContain('<img src="house.jpg" alt="" loading="lazy" class="card-image">')
88
- })
89
-
90
- it('renders the card logo', () => {
91
-
92
- expect(test.html()).toContain('<img src="logo.jpg" alt="" loading="lazy" class="card-logo">')
93
- })
94
-
95
- it('renders the card tags', () => {
96
-
97
- expect(test.html()).toContain('<span class="badge rounded-pill py-2 px-3 mb-3 me-2 bg-secondary text-primary">Modern method</span>')
98
- })
99
- })
@@ -1,77 +0,0 @@
1
- <template>
2
- <div class="container card-deck prevent-invert" :data-card-type="cardtype">
3
- <slot></slot>
4
- <div :class="`row row-cols-${cols} row-cols-sm-${smcols} row-cols-md-${mdcols} ${gap ? `g-${gap}`: ``}`">
5
- <div class="col" v-for="(value,index) in items" :key="index">
6
- <Card v-bind="value" :class="cardclass" :type="cardtype" :btntype="(value.btntype ? value.btntype : btntype )" :titleclass="(value.titleclass ? value.titleclass : titleclass)" :ctatext="value.ctatext" :hidectatext="hidectatext"></Card>
7
- </div>
8
- </div>
9
- <slot name="after"></slot>
10
- </div>
11
- </template>
12
-
13
- <style lang="scss">
14
- @import "../../../assets/sass/components/cardDeck.scss";
15
- </style>
16
-
17
- <script>
18
- import Card from '../Card/Card.vue'
19
-
20
- export default {
21
- components: {
22
- Card
23
- },
24
- name: 'CardDeck',
25
- props: {
26
- items: {
27
- type: Array,
28
- required: false
29
- },
30
- cols: {
31
- type: Number,
32
- required: false,
33
- default: 1
34
- },
35
- smcols: {
36
- type: Number,
37
- required: false,
38
- default: 1
39
- },
40
- mdcols: {
41
- type: Number,
42
- required: false,
43
- default: 3
44
- },
45
- gap: {
46
- type: Number,
47
- required: false,
48
- default: 4
49
- },
50
- cardtype: {
51
- type: String,
52
- required: false
53
- },
54
- cardclass: {
55
- type: String,
56
- required: false
57
- },
58
- btntype: {
59
- type: String,
60
- required: false
61
- },
62
- titleclass: {
63
- type: String,
64
- required: false
65
- },
66
- ctatext: {
67
- type: String,
68
- required: false
69
- },
70
- hidectatext: {
71
- type: Boolean,
72
- required: false,
73
- default: false
74
- }
75
- }
76
- }
77
- </script>