@iamproperty/components 6.0.0 → 6.1.0--beta2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/assets/bootstrap/README.md +8 -7
  2. package/assets/bootstrap/js/index.esm.js +19 -0
  3. package/assets/bootstrap/js/index.umd.js +34 -0
  4. package/assets/bootstrap/js/src/alert.js +1 -1
  5. package/assets/bootstrap/js/src/base-component.js +2 -2
  6. package/assets/bootstrap/js/src/button.js +1 -1
  7. package/assets/bootstrap/js/src/carousel.js +1 -1
  8. package/assets/bootstrap/js/src/collapse.js +1 -1
  9. package/assets/bootstrap/js/src/dom/data.js +1 -1
  10. package/assets/bootstrap/js/src/dom/event-handler.js +1 -1
  11. package/assets/bootstrap/js/src/dom/manipulator.js +1 -1
  12. package/assets/bootstrap/js/src/dom/selector-engine.js +1 -1
  13. package/assets/bootstrap/js/src/dropdown.js +3 -12
  14. package/assets/bootstrap/js/src/modal.js +13 -17
  15. package/assets/bootstrap/js/src/offcanvas.js +1 -1
  16. package/assets/bootstrap/js/src/popover.js +1 -1
  17. package/assets/bootstrap/js/src/scrollspy.js +10 -14
  18. package/assets/bootstrap/js/src/tab.js +4 -2
  19. package/assets/bootstrap/js/src/toast.js +4 -9
  20. package/assets/bootstrap/js/src/tooltip.js +50 -32
  21. package/assets/bootstrap/js/src/util/backdrop.js +1 -1
  22. package/assets/bootstrap/js/src/util/component-functions.js +1 -1
  23. package/assets/bootstrap/js/src/util/config.js +1 -1
  24. package/assets/bootstrap/js/src/util/focustrap.js +1 -1
  25. package/assets/bootstrap/js/src/util/index.js +1 -1
  26. package/assets/bootstrap/js/src/util/sanitizer.js +1 -1
  27. package/assets/bootstrap/js/src/util/scrollbar.js +1 -1
  28. package/assets/bootstrap/js/src/util/swipe.js +1 -1
  29. package/assets/bootstrap/js/src/util/template-factory.js +1 -1
  30. package/assets/bootstrap/package.json +27 -28
  31. package/assets/bootstrap/scss/_accordion.scss +4 -7
  32. package/assets/bootstrap/scss/_button-group.scss +1 -1
  33. package/assets/bootstrap/scss/_buttons.scss +7 -28
  34. package/assets/bootstrap/scss/_carousel.scss +3 -0
  35. package/assets/bootstrap/scss/_dropdown.scss +1 -2
  36. package/assets/bootstrap/scss/_functions.scss +2 -2
  37. package/assets/bootstrap/scss/_list-group.scss +5 -6
  38. package/assets/bootstrap/scss/_modal.scss +1 -1
  39. package/assets/bootstrap/scss/_nav.scss +2 -2
  40. package/assets/bootstrap/scss/_navbar.scss +0 -2
  41. package/assets/bootstrap/scss/_offcanvas.scss +4 -5
  42. package/assets/bootstrap/scss/_pagination.scss +1 -1
  43. package/assets/bootstrap/scss/_popover.scss +5 -5
  44. package/assets/bootstrap/scss/_toasts.scss +2 -5
  45. package/assets/bootstrap/scss/_variables-dark.scss +87 -0
  46. package/assets/bootstrap/scss/_variables.scss +17 -18
  47. package/assets/bootstrap/scss/bootstrap-utilities.scss +0 -3
  48. package/assets/bootstrap/scss/forms/_floating-labels.scss +0 -1
  49. package/assets/bootstrap/scss/forms/_input-group.scss +4 -7
  50. package/assets/bootstrap/scss/helpers/_focus-ring.scss +5 -0
  51. package/assets/bootstrap/scss/helpers/_icon-link.scss +25 -0
  52. package/assets/bootstrap/scss/mixins/_banner.scss +2 -2
  53. package/assets/bootstrap/scss/mixins/_color-mode.scss +21 -0
  54. package/assets/bootstrap/scss/mixins/_forms.scss +10 -10
  55. package/assets/bootstrap/scss/mixins/_table-variants.scss +2 -2
  56. package/assets/bootstrap/scss/mixins/_utilities.scss +1 -1
  57. package/assets/css/components/actionbar.css.map +1 -1
  58. package/assets/css/components/actionbar.global.css.map +1 -1
  59. package/assets/css/components/barchart.component.css +1 -1
  60. package/assets/css/components/barchart.component.css.map +1 -1
  61. package/assets/css/components/card.component.css +1 -0
  62. package/assets/css/components/card.component.css.map +1 -0
  63. package/assets/css/components/card.module.css +1 -0
  64. package/assets/css/components/card.module.css.map +1 -0
  65. package/assets/css/components/carousel.component.css +1 -0
  66. package/assets/css/components/carousel.component.css.map +1 -0
  67. package/assets/css/components/carousel.config.css +1 -0
  68. package/assets/css/components/carousel.config.css.map +1 -0
  69. package/assets/css/components/charts.config.css +1 -1
  70. package/assets/css/components/charts.config.css.map +1 -1
  71. package/assets/css/components/charts.css +1 -1
  72. package/assets/css/components/charts.css.map +1 -1
  73. package/assets/css/components/charts.module.css +1 -1
  74. package/assets/css/components/charts.module.css.map +1 -1
  75. package/assets/css/components/collapsible-side.css.map +1 -1
  76. package/assets/css/components/fileupload.css.map +1 -1
  77. package/assets/css/components/filter-card.component.css +1 -0
  78. package/assets/css/components/filter-card.component.css.map +1 -0
  79. package/assets/css/components/header.css +1 -1
  80. package/assets/css/components/header.css.map +1 -1
  81. package/assets/css/components/marketing.css.map +1 -1
  82. package/assets/css/components/multi-step.component.css +1 -0
  83. package/assets/css/components/multi-step.component.css.map +1 -0
  84. package/assets/css/components/multiselect.preload.css +1 -1
  85. package/assets/css/components/multiselect.preload.css.map +1 -1
  86. package/assets/css/components/nav.css.map +1 -1
  87. package/assets/css/components/nav.docs.css.map +1 -1
  88. package/assets/css/components/nav.global.css.map +1 -1
  89. package/assets/css/components/nav.old.css.map +1 -1
  90. package/assets/css/components/nav.preload.css +1 -1
  91. package/assets/css/components/nav.preload.css.map +1 -1
  92. package/assets/css/components/notification.css.map +1 -1
  93. package/assets/css/components/pagination.css.map +1 -1
  94. package/assets/css/components/property-searchbar.css.map +1 -1
  95. package/assets/css/components/record-card.component.css +1 -0
  96. package/assets/css/components/record-card.component.css.map +1 -0
  97. package/assets/css/components/slider.css.map +1 -1
  98. package/assets/css/components/snapshot.css.map +1 -1
  99. package/assets/css/components/stepper.css.map +1 -1
  100. package/assets/css/components/table.global.css.map +1 -1
  101. package/assets/css/components/tabs.css +1 -1
  102. package/assets/css/components/tabs.css.map +1 -1
  103. package/assets/css/components/testimonial.css.map +1 -1
  104. package/assets/css/components/timeline.css +1 -1
  105. package/assets/css/components/timeline.css.map +1 -1
  106. package/assets/css/components/video-card.component.css +1 -0
  107. package/assets/css/components/video-card.component.css.map +1 -0
  108. package/assets/css/core.min.css +1 -1
  109. package/assets/css/core.min.css.map +1 -1
  110. package/assets/css/style.min.css +1 -1
  111. package/assets/css/style.min.css.map +1 -1
  112. package/assets/img/illustrations/not-found.png +0 -0
  113. package/assets/js/components/accordion/accordion.component.min.js +2 -2
  114. package/assets/js/components/actionbar/actionbar.component.min.js +6 -6
  115. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  116. package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
  117. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  118. package/assets/js/components/applied-filters/applied-filters.component.min.js +2 -2
  119. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  120. package/assets/js/components/barchart/barchart.component.js +2 -0
  121. package/assets/js/components/barchart/barchart.component.min.js +5 -3
  122. package/assets/js/components/barchart/barchart.component.min.js.map +1 -1
  123. package/assets/js/components/card/card.component.js +92 -154
  124. package/assets/js/components/card/card.component.min.js +27 -32
  125. package/assets/js/components/card/card.component.min.js.map +1 -1
  126. package/assets/js/components/carousel/carousel.component.js +36 -41
  127. package/assets/js/components/carousel/carousel.component.min.js +18 -12
  128. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  129. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
  130. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  131. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  132. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  133. package/assets/js/components/filter-card/filter-card.component.js +71 -0
  134. package/assets/js/components/filter-card/filter-card.component.min.js +27 -0
  135. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -0
  136. package/assets/js/components/filterlist/filterlist.component.min.js +2 -2
  137. package/assets/js/components/header/header.component.min.js +3 -3
  138. package/assets/js/components/header/header.component.min.js.map +1 -1
  139. package/assets/js/components/inline-edit/inline-edit.component.min.js +2 -2
  140. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  141. package/assets/js/components/marketing/marketing.component.min.js +2 -2
  142. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  143. package/assets/js/components/multi-step/multi-step.component.js +162 -0
  144. package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
  145. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  146. package/assets/js/components/nav/nav.component.min.js +2 -2
  147. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  148. package/assets/js/components/notification/notification.component.min.js +2 -2
  149. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  150. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  151. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  152. package/assets/js/components/record-card/record-card.component.js +69 -0
  153. package/assets/js/components/record-card/record-card.component.min.js +27 -0
  154. package/assets/js/components/record-card/record-card.component.min.js.map +1 -0
  155. package/assets/js/components/search/search.component.min.js +2 -2
  156. package/assets/js/components/slider/slider.component.min.js +2 -2
  157. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  158. package/assets/js/components/table/table.component.js +1 -1
  159. package/assets/js/components/table/table.component.min.js +4 -4
  160. package/assets/js/components/table/table.component.min.js.map +1 -1
  161. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  162. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  163. package/assets/js/components/video-card/video-card.component.js +176 -0
  164. package/assets/js/components/video-card/video-card.component.min.js +30 -0
  165. package/assets/js/components/video-card/video-card.component.min.js.map +1 -0
  166. package/assets/js/components.bundle.js +5 -0
  167. package/assets/js/components.bundle.js.map +1 -0
  168. package/assets/js/components.js +30 -0
  169. package/assets/js/modules/card.module.js +33 -0
  170. package/assets/js/modules/carousel.js +110 -8
  171. package/assets/js/modules/chart.js +2 -2
  172. package/assets/js/modules/dialogs.js +5 -129
  173. package/assets/js/modules/table.js +1 -1
  174. package/assets/js/scripts.bundle.js +4 -195
  175. package/assets/js/scripts.bundle.js.map +1 -1
  176. package/assets/js/scripts.bundle.min.js +3 -3
  177. package/assets/js/scripts.bundle.min.js.map +1 -1
  178. package/assets/js/scripts.js +17 -0
  179. package/assets/js/tests/filterlist.spec.js +1 -1
  180. package/assets/sass/_components.scss +76 -12
  181. package/assets/sass/_corefiles.scss +19 -10
  182. package/assets/sass/_elements.scss +2 -0
  183. package/assets/sass/_func.scss +3 -0
  184. package/assets/sass/_functions/functions.scss +304 -1
  185. package/assets/sass/_functions/mixins.scss +458 -2
  186. package/assets/sass/_functions/utilities.scss +647 -2
  187. package/assets/sass/_functions/variables.scss +1724 -2
  188. package/assets/sass/_utilities.scss +126 -7
  189. package/assets/sass/components/card.component.scss +229 -0
  190. package/assets/sass/components/card.module.scss +154 -0
  191. package/assets/sass/components/carousel.component.scss +605 -0
  192. package/assets/sass/components/carousel.config.scss +84 -0
  193. package/assets/sass/components/charts.config.scss +3 -0
  194. package/assets/sass/components/charts.module.scss +5 -3
  195. package/assets/sass/components/filter-card.component.scss +106 -0
  196. package/assets/sass/components/header.scss +1 -0
  197. package/assets/sass/components/multi-step.component.scss +148 -0
  198. package/assets/sass/components/multiselect.preload.scss +7 -0
  199. package/assets/sass/components/nav.preload.scss +5 -0
  200. package/assets/sass/components/record-card.component.scss +204 -0
  201. package/assets/sass/components/tabs.scss +1 -1
  202. package/assets/sass/components/video-card.component.scss +80 -0
  203. package/assets/sass/components.reset.scss +5 -43
  204. package/assets/sass/elements/admin-panel.scss +2 -1
  205. package/assets/sass/elements/badge-tag.scss +5 -1
  206. package/assets/sass/elements/buttons.scss +36 -0
  207. package/assets/sass/elements/container.scss +16 -6
  208. package/assets/sass/elements/details.scss +2 -0
  209. package/assets/sass/elements/dialog.scss +2 -744
  210. package/assets/sass/elements/forms.scss +241 -24
  211. package/assets/sass/elements/links.scss +27 -4
  212. package/assets/sass/elements/lists.scss +46 -0
  213. package/assets/sass/elements/media.scss +10 -38
  214. package/assets/sass/elements/modal.scss +453 -0
  215. package/assets/sass/elements/popover.scss +207 -0
  216. package/assets/sass/elements/table.element.scss +35 -0
  217. package/assets/sass/elements/type.scss +38 -2
  218. package/assets/sass/error.scss +32 -1
  219. package/assets/sass/foundations/bs_grid.scss +33 -0
  220. package/assets/sass/foundations/grid.scss +270 -0
  221. package/assets/sass/foundations/reboot.scss +71 -49
  222. package/assets/sass/foundations/root.scss +16 -3
  223. package/assets/ts/components/barchart/barchart.component.ts +2 -0
  224. package/assets/ts/components/card/card.component.ts +94 -192
  225. package/assets/ts/components/carousel/carousel.component.ts +51 -44
  226. package/assets/ts/components/filter-card/filter-card.component.ts +81 -0
  227. package/assets/ts/components/multi-step/multi-step.component.ts +262 -0
  228. package/assets/ts/components/record-card/record-card.component.ts +82 -0
  229. package/assets/ts/components/table/table.component.ts +2 -1
  230. package/assets/ts/components/video-card/video-card.component.ts +227 -0
  231. package/assets/ts/components.ts +38 -0
  232. package/assets/ts/modules/card.module.ts +43 -0
  233. package/assets/ts/modules/carousel.ts +161 -7
  234. package/assets/ts/modules/dialogs.ts +6 -182
  235. package/assets/ts/modules/table.ts +1 -1
  236. package/assets/ts/scripts.ts +22 -0
  237. package/assets/ts/tests/filterlist.spec.ts +1 -1
  238. package/dist/components.es.js +227 -243
  239. package/dist/components.umd.js +105 -104
  240. package/dist/style.css +1 -1
  241. package/package.json +9 -7
  242. package/src/components/BarChart/BarChart.vue +2 -2
  243. package/src/components/Carousel/Carousel.vue +1 -15
  244. package/src/components/FilterCard/FilterCard.vue +25 -0
  245. package/src/components/MultiStep/MultiStep.vue +25 -0
  246. package/src/components/RecordCard/RecordCard.vue +25 -0
  247. package/src/components/VideoCard/VideoCard.vue +25 -0
  248. package/assets/css/components/card.css +0 -1
  249. package/assets/css/components/card.css.map +0 -1
  250. package/assets/css/components/card.global.css +0 -1
  251. package/assets/css/components/card.global.css.map +0 -1
  252. package/assets/css/components/card.preload.css +0 -1
  253. package/assets/css/components/card.preload.css.map +0 -1
  254. package/assets/css/components/carousel.css +0 -1
  255. package/assets/css/components/carousel.css.map +0 -1
  256. package/assets/css/components/carousel.preload.css +0 -1
  257. package/assets/css/components/carousel.preload.css.map +0 -1
  258. package/assets/js/bundle.js +0 -74
  259. package/assets/js/dynamic.js +0 -80
  260. package/assets/js/dynamic.min.js +0 -18
  261. package/assets/js/dynamic.min.js.map +0 -1
  262. package/assets/js/flat-components.js +0 -84
  263. package/assets/js/modules/youtubevideo.js +0 -106
  264. package/assets/sass/components/card.global.scss +0 -102
  265. package/assets/sass/components/card.preload.scss +0 -8
  266. package/assets/sass/components/card.scss +0 -606
  267. package/assets/sass/components/carousel.preload.scss +0 -82
  268. package/assets/sass/components/carousel.scss +0 -258
  269. package/assets/ts/bundle.ts +0 -94
  270. package/assets/ts/components/barchart/README.md +0 -37
  271. package/assets/ts/components/card/README.md +0 -39
  272. package/assets/ts/dynamic.ts +0 -107
  273. package/assets/ts/flat-components.ts +0 -106
  274. package/assets/ts/modules/youtubevideo.ts +0 -141
  275. package/assets/ts/tests/dialogs.spec.js +0 -50
  276. package/src/foundations/YoutubeVideo/README.md +0 -11
  277. package/src/foundations/YoutubeVideo/YoutubeVideo.vue +0 -24
@@ -1,258 +0,0 @@
1
- @use "../_func" as *;
2
-
3
- // #region default carousel
4
- .carousel {
5
-
6
- .carousel__wrapper {
7
-
8
- position: relative;
9
- }
10
-
11
- .carousel__inner {
12
-
13
- --gutter-x: #{$grid-gutter-width};
14
- overflow: auto;
15
- scroll-snap-type: x mandatory;
16
- }
17
-
18
- .col > *:last-child {
19
- margin-bottom: 0;
20
- padding-bottom: 0;
21
- }
22
- }
23
-
24
-
25
- // #endregion
26
-
27
- // #region Remove the scrollbar
28
- .carousel__inner {
29
- // FireFox
30
- scrollbar-width: none;
31
- // IE10+
32
- -ms-overflow-style: none;
33
- }
34
-
35
- .carousel__inner::-webkit-scrollbar {
36
- // Chrome, Safari, Edge
37
- display: none;
38
- }
39
- // #endregion
40
-
41
- // #region Direction button
42
- .btn-next,
43
- .btn-prev {
44
- --marker-bg: var(--colour-secondary);
45
- text-indent: 100%;
46
- white-space: nowrap;
47
- overflow: hidden;
48
- background: var(--marker-bg);
49
- border-radius: 100%;
50
- width: rem(36);
51
- max-width: rem(36);
52
- height: rem(36);
53
- text-indent: -300rem;
54
- overflow: hidden;
55
- border: none;
56
- position: relative;
57
- margin: 0 rem(8);
58
- padding: 0;
59
-
60
- position: absolute;
61
- top: 50%;
62
- left: 0rem;
63
- transform: translate(0,-50%);
64
-
65
- &:disabled {
66
- opacity: 0.8;
67
- pointer-events: none;
68
- }
69
-
70
- &:after {
71
- content: "";
72
- position: absolute;
73
- right: 0;
74
- top: 0;
75
- height: 100%;
76
- width: 100%;
77
- background: currentColor;
78
- mask-image: escape-svg($accordion-button-icon);
79
- mask-size: 50%;
80
- mask-repeat: no-repeat;
81
- mask-position: 50% 60%;
82
- -webkit-mask-image: escape-svg($accordion-button-icon);
83
- -webkit-mask-size: 50%;
84
- -webkit-mask-repeat: no-repeat;
85
- -webkit-mask-position: 55% 50%;
86
- transform: rotate(0deg);
87
- }
88
-
89
- &:hover,
90
- &:focus {
91
-
92
- background: var(--colour-warning);
93
- color: var(--colour-hover);
94
- border-radius: 100%;
95
- }
96
-
97
- &:active {
98
- border-radius: 100%;
99
- }
100
- }
101
-
102
- .btn-next {
103
- left: auto;
104
- right: 0;
105
-
106
- @include media-breakpoint-up(md) {
107
-
108
- margin-right: rem(-48);
109
- }
110
- }
111
-
112
- .btn-prev {
113
-
114
- @include media-breakpoint-up(md) {
115
-
116
- margin-left: rem(-48);
117
- }
118
-
119
- &:after {
120
-
121
- transform: rotate(180deg);
122
- }
123
- }
124
-
125
-
126
-
127
-
128
-
129
- // #endregion
130
-
131
- // #region carousel controls/pips
132
- .carousel .carousel__controls {
133
- overflow: hidden;
134
- margin-inline: auto;
135
-
136
- &:not(.thumbnails){
137
- text-align: center;
138
- max-width: 30rem;
139
- }
140
-
141
- &.thumbnails {
142
- margin-block-start: 2rem;
143
- }
144
-
145
- @include media-breakpoint-up(sm) {
146
- width: 100%;
147
- }
148
-
149
- button {
150
- padding: 0;
151
- margin: 0 0.2rem 0.2rem;
152
- border: 3px solid var(--colour-canvas);
153
- border-radius: 4px;
154
-
155
- &.has-thumbnail {
156
- height: 4.625rem;
157
-
158
- img {
159
- height: 100%;
160
- width: auto;
161
- }
162
- }
163
- }
164
-
165
- button:not(.has-thumbnail) {
166
- width: 1rem;
167
- height: 1rem;
168
- min-height: 1rem;
169
- border-radius: 50%;
170
- text-indent: -50rem;
171
- overflow: hidden;
172
- background: var(--colour-primary-theme);
173
- margin: 0 0.5rem 0.5rem 0.5rem;
174
- border: none;
175
-
176
- &:before {
177
- display: none;
178
- }
179
- }
180
-
181
- button:first-child:last-child {
182
- display: none;
183
- }
184
- }
185
-
186
- .carousel__controls > button[aria-current] {
187
- --colour-active-thumbnail: var(--colour-info);
188
- border-color: var(--colour-active-thumbnail);
189
-
190
- &:not(.has-thumbnail) {
191
- background: var(--colour-success);
192
- }
193
- }
194
-
195
- // #endregion
196
-
197
- // #region Hide buttons and pips
198
- .carousel.hide-btns .carousel__wrapper > .btn {
199
- display: none;
200
- }
201
-
202
- .carousel.hide-controls .carousel__controls {
203
- display: none;
204
- }
205
-
206
- @include media-breakpoint-up(sm) {
207
-
208
- [data-row-class*="cols-sm-2"] .carousel__controls > button:not(:nth-child(odd)),
209
- [data-row-class*="cols-sm-3"] .carousel__controls > button:not(:nth-child(3n+1)),
210
- [data-row-class*="cols-sm-4"] .carousel__controls > button:not(:nth-child(4n+1)),
211
- [data-row-class*="cols-sm-5"] .carousel__controls > button:not(:nth-child(5n+1)),
212
- [data-row-class*="cols-sm-6"] .carousel__controls > button:not(:nth-child(6n+1)) {
213
- display: none;
214
- }
215
-
216
- // Make sure that we dont just have one pip showing
217
- [data-row-class*="cols-sm-2"] .carousel__controls:has(button:first-child:nth-last-child(2)),
218
- [data-row-class*="cols-sm-3"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))),
219
- [data-row-class*="cols-sm-4"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))),
220
- [data-row-class*="cols-sm-5"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5))),
221
- [data-row-class*="cols-sm-6"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5),button:first-child:nth-last-child(6))),
222
- [data-row-class*="cols-sm-2"] .carousel__controls:has(button:first-child:nth-last-child(2)) ~ .btn,
223
- [data-row-class*="cols-sm-3"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))) ~ .btn,
224
- [data-row-class*="cols-sm-4"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))) ~ .btn,
225
- [data-row-class*="cols-sm-5"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5))) ~ .btn,
226
- [data-row-class*="cols-sm-6"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5),button:first-child:nth-last-child(6))) ~ .btn {
227
- display: none;
228
- }
229
- }
230
-
231
- @include media-breakpoint-up(md) {
232
- .carousel__controls > button {
233
- display: inline-block!important;
234
- }
235
-
236
- [data-row-class*="cols-md-2"] .carousel__controls > button:not(:nth-child(odd)),
237
- [data-row-class*="cols-md-3"] .carousel__controls > button:not(:nth-child(3n+1)),
238
- [data-row-class*="cols-md-4"] .carousel__controls > button:not(:nth-child(4n+1)),
239
- [data-row-class*="cols-md-5"] .carousel__controls > button:not(:nth-child(5n+1)),
240
- [data-row-class*="cols-md-6"] .carousel__controls > button:not(:nth-child(6n+1)) {
241
- display: none!important;
242
- }
243
-
244
- // Make sure that we dont just have one pip showing
245
- [data-row-class*="cols-md-2"] .carousel__controls:has(button:first-child:nth-last-child(2)),
246
- [data-row-class*="cols-md-3"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))),
247
- [data-row-class*="cols-md-4"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))),
248
- [data-row-class*="cols-md-5"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5))),
249
- [data-row-class*="cols-md-6"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5),button:first-child:nth-last-child(6))),
250
- [data-row-class*="cols-md-2"] .carousel__controls:has(button:first-child:nth-last-child(2)) ~ .btn,
251
- [data-row-class*="cols-md-3"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3))) ~ .btn,
252
- [data-row-class*="cols-md-4"] .carousel__controls:has(:is(button:first-child:nth-last-child(2), button:first-child:nth-last-child(3), button:first-child:nth-last-child(4))) ~ .btn,
253
- [data-row-class*="cols-md-5"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5))) ~ .btn,
254
- [data-row-class*="cols-md-6"] .carousel__controls:has(:is(button:first-child:nth-last-child(2),button:first-child:nth-last-child(3),button:first-child:nth-last-child(4),button:first-child:nth-last-child(5),button:first-child:nth-last-child(6))) ~ .btn {
255
- display: none;
256
- }
257
- }
258
- // #endregion
@@ -1,94 +0,0 @@
1
- // @ts-nocheck
2
- // Modules
3
- import * as helpers from '../js/modules/helpers'
4
- import extendDialogs from '../js/modules/dialogs'
5
- import createDataLayer from '../js/modules/data-layer'
6
- import extendInputs from '../js/modules/inputs';
7
- import nav from '../js/modules/nav'
8
- import testimonial from '../js/modules/testimonial'
9
- import carousel from '../js/modules/carousel'
10
- import form from '../js/modules/form'
11
- import youtubeVideo from '../js/modules/youtubevideo'
12
- import iamHeader from './components/header/header.component'
13
- import iamAccordion from './components/accordion/accordion.component'
14
- import iamTabs from './components/tabs/tabs.component'
15
- import iamTable from './components/table/table.component'
16
- import iamCard from './components/card/card.component'
17
- import iamAppliedFilters from './components/applied-filters/applied-filters.component'
18
- import iamPagination from './components/pagination/pagination.component'
19
- import iamFilterlist from './components/filterlist/filterlist.component'
20
- import iamNotification from './components/notification/notification.component'
21
-
22
- // Attach classes to dom elements
23
- document.addEventListener("DOMContentLoaded", function() {
24
-
25
- createDataLayer();
26
- // Global stuff
27
- helpers.addBodyClasses(document.body);
28
- helpers.addGlobalEvents(document.body);
29
- extendDialogs(document.body);
30
- extendInputs(document.body);
31
- //helpers.checkElements(document.body);
32
-
33
- if (!window.customElements.get(`iam-header`))
34
- window.customElements.define(`iam-header`, iamHeader);
35
-
36
- if (!window.customElements.get(`iam-accordion`))
37
- window.customElements.define(`iam-accordion`, iamAccordion);
38
-
39
- if (!window.customElements.get(`iam-tabs`))
40
- window.customElements.define(`iam-tabs`, iamTabs);
41
-
42
- if (!window.customElements.get(`iam-table`))
43
- window.customElements.define(`iam-table`, iamTable);
44
-
45
- if (!window.customElements.get(`iam-card`))
46
- window.customElements.define(`iam-card`, iamCard);
47
-
48
- if (!window.customElements.get(`iam-filterlist`))
49
- window.customElements.define(`iam-filterlist`, iamFilterlist);
50
-
51
- if (!window.customElements.get(`iam-pagination`))
52
- window.customElements.define(`iam-pagination`, iamPagination);
53
-
54
- if (!window.customElements.get(`iam-applied-filters`))
55
- window.customElements.define(`iam-applied-filters`, iamAppliedFilters);
56
-
57
- if (!window.customElements.get(`iam-notification`))
58
- window.customElements.define(`iam-notification`, iamNotification);
59
-
60
- // ANav
61
- Array.from(document.querySelectorAll('.nav')).forEach((arrayElement) => {
62
- nav(arrayElement);
63
- });
64
-
65
-
66
-
67
- // Testimonial
68
- Array.from(document.querySelectorAll('.testimonial')).forEach((arrayElement) => {
69
- testimonial(arrayElement);
70
- });
71
- // Carousel
72
- Array.from(document.querySelectorAll('.carousel')).forEach((arrayElement) => {
73
- carousel(arrayElement);
74
- });
75
- // Form
76
- Array.from(document.querySelectorAll('form')).forEach((arrayElement) => {
77
- form(arrayElement);
78
- });
79
- // YouTube videos
80
- Array.from(document.querySelectorAll('.youtube-embed')).forEach((arrayElement) => {
81
- new youtubeVideo(arrayElement);
82
- });
83
-
84
-
85
- window.addEventListener('hashchange', function() {
86
-
87
- const hash = location.hash.replace('#','');
88
- const label = document.querySelector(`label[for="${hash}"]`);
89
-
90
- if (label instanceof HTMLElement)
91
- label.click();
92
-
93
- }, false);
94
- });
@@ -1,37 +0,0 @@
1
- ```
2
- <iam-chart>
3
- <table>
4
- <thead>
5
- <tr>
6
- <th>Issue</th>
7
- <th>Democrat</th>
8
- <th>Republican</th>
9
- </tr>
10
- </thead>
11
- <tbody>
12
- <tr><td>Inflation</td><td>45%</td><td>18%</td></tr><tr><td>Abortion</td><td>12%</td><td>43%</td></tr>
13
- <tr><td>Gun policy</td><td>8%</td><td>14%</td></tr><tr><td>Immigration</td><td>15%</td><td>5%</td></tr>
14
- <tr><td>Crime</td><td>13%</td><td>10%</td></tr>
15
- </tbody>
16
- </table>
17
- </iam-chart>
18
- ```
19
-
20
- **To do**
21
-
22
- - Animation
23
- - Add more chart types
24
- - optimise code
25
- - change key
26
- - Fill in readme with class and attributes
27
- - flout
28
-
29
- **Note**
30
-
31
-
32
- **Properties**
33
-
34
-
35
- **Class modifiers**
36
-
37
- - .chart--no-animate turns of the animation
@@ -1,39 +0,0 @@
1
- **Add the below to your initialise script**
2
-
3
- ```
4
- import('../node_modules/@iamproperty/components/assets/js/components/card/card.component.min').then(module => { // Might need to update the path
5
-
6
- if (!window.customElements.get(`iam-card`))
7
- window.customElements.define(`iam-card`, module.default);
8
-
9
- }).catch((err) => {
10
- console.log(err.message);
11
- });
12
- ```
13
-
14
- **Add the below HTML code to where you want the component to live.**
15
-
16
- ```
17
- <a href="/link-url">
18
- <iam-card>Link content</iam-card>
19
- </a>
20
- ```
21
-
22
- **Note**
23
-
24
- The card component needs to be wrapped with a link or a button, this is required to give the card any functionality.
25
-
26
- **Properties**
27
-
28
- | Option | Type | Default Value | Description |
29
- | ------ | ---- | ------------- | ----------- |
30
- | data-total | Int | - | Optional total number , usually use on the filter card type |
31
- | data-image | image url | - | Optional image url to create a card header with an image as its background |
32
-
33
- **Class modifiers**
34
-
35
- - Adding a class of **.card--filter** will implement the filter card design.
36
- - Adding a class of **.colour-danger** will add a left hand border with the danger colour (See status card). This works with all of the theme
37
- - Adding a class of **.border-o** will remove the box-shadow of the card and make some minor sizing adjustments.
38
- - Adding a class like **.colour-warning** will update the colour of the left berder for the card. The theme colours will be avialable to use.
39
- - Adding a class of **.card--flag** will add a card to the top right corner.
@@ -1,107 +0,0 @@
1
- // @ts-nocheck
2
- // Modules
3
- import * as helpers from '../js/modules/helpers'
4
- import extendDialogs from '../js/modules/dialogs'
5
- import createDataLayer from '../js/modules/data-layer'
6
- import extendInputs from '../js/modules/inputs';
7
- import nav from '../js/modules/nav'
8
- import table from '../js/modules/table'
9
- import testimonial from '../js/modules/testimonial'
10
- import carousel from '../js/modules/carousel'
11
- import form from '../js/modules/form'
12
- import youtubeVideo from '../js/modules/youtubevideo'
13
-
14
- import iamNotification from './components/notification/notification.component'
15
-
16
- const components = ['accordion','header','tabs', 'table','card','pagination','filterlist', 'applied-filters', 'nav', 'marketing'];
17
- const prefix = "iam"
18
- const options = {
19
- rootMargin: '50px',
20
- threshold: 0.1
21
- }
22
- const componentExt = ".component.min.js";
23
-
24
- // Load components - Each component will load once the first of its type has been loaded
25
- components.forEach((component) => {
26
-
27
- console.log(component)
28
-
29
- if(document.getElementsByTagName(`${prefix}-${component}`).length === 0)
30
- return;
31
-
32
- let callback = (entries:any) => {
33
- entries.forEach((entry:any) => {
34
-
35
- if(entry.intersectionRatio > 0){
36
-
37
- console.log(component)
38
-
39
- import(`./components/${component}/${component}${componentExt}`).then(module => {
40
- if (!window.customElements.get(`${prefix}-${component}`))
41
- window.customElements.define(`${prefix}-${component}`, module.default);
42
- }).catch((err) => {
43
- console.log(err.message);
44
- });
45
-
46
- intObserver.unobserve(entry.target);
47
- }
48
- });
49
- };
50
-
51
- const intObserver = new IntersectionObserver(callback, options);
52
- intObserver.observe(document.getElementsByTagName(`${prefix}-${component}`)[0]);
53
- });
54
-
55
-
56
- // Attach classes to dom elements
57
- document.addEventListener("DOMContentLoaded", function() {
58
-
59
- createDataLayer();
60
-
61
- // Global stuff
62
- helpers.addBodyClasses(document.body);
63
- helpers.addGlobalEvents(document.body);
64
- //helpers.checkElements(document.body);
65
- extendDialogs(document.body);
66
- extendInputs(document.body);
67
-
68
-
69
- if (!window.customElements.get(`iam-notification`))
70
- window.customElements.define(`iam-notification`, iamNotification);
71
-
72
- // ANav
73
- Array.from(document.querySelectorAll('.nav')).forEach((arrayElement) => {
74
- nav(arrayElement);
75
- });
76
-
77
- // Testimonial
78
- Array.from(document.querySelectorAll('.testimonial')).forEach((arrayElement) => {
79
- testimonial(arrayElement);
80
- });
81
- // Carousel
82
- Array.from(document.querySelectorAll('.carousel')).forEach((arrayElement) => {
83
- carousel(arrayElement);
84
- });
85
- // Form
86
- Array.from(document.querySelectorAll('form')).forEach((arrayElement) => {
87
- form(arrayElement);
88
- });
89
- // YouTube videos
90
- Array.from(document.querySelectorAll('.youtube-embed')).forEach((arrayElement) => {
91
-
92
- console.log(arrayElement)
93
-
94
- new youtubeVideo(arrayElement);
95
- });
96
-
97
-
98
- window.addEventListener('hashchange', function() {
99
-
100
- const hash = location.hash.replace('#','');
101
- const label = document.querySelector(`label[for="${hash}"]`);
102
-
103
- if (label instanceof HTMLElement)
104
- label.click();
105
-
106
- }, false);
107
- });
@@ -1,106 +0,0 @@
1
- // @ts-nocheck
2
- // Modules
3
- import * as helpers from '../js/modules/helpers'
4
- import extendDialogs from '../js/modules/dialogs'
5
- import createDataLayer from '../js/modules/data-layer'
6
- import extendInputs from '../js/modules/inputs';
7
- import nav from '../js/modules/nav'
8
- import * as tableModule from './modules/table'
9
- import testimonial from '../js/modules/testimonial'
10
- import carousel from '../js/modules/carousel'
11
- import form from '../js/modules/form'
12
- import youtubeVideo from '../js/modules/youtubevideo'
13
- import tabs from '../js/modules/tabs'
14
- import filterlist from '../js/modules/filterlist'
15
- import createPaginationButttons from '../js/modules/pagination'
16
- import setupNotification from '../js/modules/notification'
17
-
18
- // Attach classes to dom elements
19
- document.addEventListener("DOMContentLoaded", function() {
20
-
21
- createDataLayer();
22
-
23
- // Global stuff
24
- helpers.addBodyClasses(document.body);
25
- helpers.addGlobalEvents(document.body);
26
- //helpers.checkElements(document.body);
27
- extendDialogs(document.body);
28
- extendInputs(document.body);
29
-
30
- // ANav
31
- Array.from(document.querySelectorAll('.nav')).forEach((arrayElement) => {
32
- nav(arrayElement);
33
- });
34
-
35
- // Advanced tables
36
- Array.from(document.querySelectorAll('table')).forEach((arrayElement) => {
37
-
38
- tableModule.addTableEventListeners(arrayElement);
39
- tableModule.createMobileButton(arrayElement);
40
- tableModule.addDataAttributes(arrayElement);
41
-
42
-
43
- if(arrayElement.closest('.table--cta')){
44
-
45
- const largestWidth = tableModule.getLargestLastColWidth(arrayElement);
46
- arrayElement.closest('.table--cta').style.setProperty("--cta-width", `${largestWidth}rem`);
47
- }
48
- });
49
-
50
- // Testimonial
51
- Array.from(document.querySelectorAll('.testimonial')).forEach((arrayElement) => {
52
- testimonial(arrayElement);
53
- });
54
- // Carousel
55
- Array.from(document.querySelectorAll('.carousel')).forEach((arrayElement) => {
56
- carousel(arrayElement);
57
- });
58
- // Form
59
- Array.from(document.querySelectorAll('form')).forEach((arrayElement) => {
60
- form(arrayElement);
61
- });
62
- // YouTube videos
63
- Array.from(document.querySelectorAll('.youtube-embed')).forEach((arrayElement) => {
64
- new youtubeVideo(arrayElement);
65
- });
66
- // Tabs
67
- Array.from(document.querySelectorAll('.tabs')).forEach((arrayElement) => {
68
- tabs(arrayElement);
69
- });
70
-
71
- // filterlist
72
- Array.from(document.querySelectorAll('.iam-filterlist')).forEach((arrayElement) => {
73
- if(arrayElement.hasAttribute('data-input') && document.querySelector(arrayElement.getAttribute('data-input')))
74
- filterlist(arrayElement.querySelector('ul'),document.querySelector(arrayElement.getAttribute('data-input')));
75
- });
76
-
77
-
78
- // notification
79
- Array.from(document.querySelectorAll('.iam-notification')).forEach((arrayElement) => {
80
- if(arrayElement.hasAttribute('data-type'))
81
- setupNotification(arrayElement);
82
- });
83
-
84
- Array.from(document.querySelectorAll('.pagination__wrapper')).forEach((arrayElement) => {
85
-
86
-
87
- const params = new URLSearchParams(window.location.search);
88
- arrayElement.setAttribute('data-page', (params.has('page') ? params.get('page') : 1));
89
- arrayElement.setAttribute('data-show', (params.has('show') ? params.get('show') : 15));
90
- arrayElement.setAttribute('data-increment', 15);
91
- arrayElement.setAttribute('data-pages', Math.ceil(arrayElement.getAttribute('data-total') / arrayElement.getAttribute('data-show')));
92
-
93
- createPaginationButttons(arrayElement,arrayElement);
94
- });
95
-
96
-
97
- window.addEventListener('hashchange', function() {
98
-
99
- const hash = location.hash.replace('#','');
100
- const label = document.querySelector(`label[for="${hash}"]`);
101
-
102
- if (label instanceof HTMLElement)
103
- label.click();
104
-
105
- }, false);
106
- });