@iamproperty/components 7.7.1--beta17 → 7.7.1--beta19
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.
- package/assets/css/components/carousel.component.css +1 -1
- package/assets/css/components/carousel.component.css.map +1 -1
- package/assets/css/components/carousel.config.css +1 -1
- package/assets/css/components/carousel.config.css.map +1 -1
- package/assets/css/components/header.component.css +1 -1
- package/assets/css/components/header.component.css.map +1 -1
- package/assets/css/components/nav.component.css +1 -1
- package/assets/css/components/nav.component.css.map +1 -1
- package/assets/css/components/nav.global.css +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/std-nav-standalone.component.css +1 -1
- package/assets/css/components/std-nav-standalone.component.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
- package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/barchart/barchart.component.min.js +1 -1
- package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
- package/assets/js/components/button/button.component.min.js +1 -1
- package/assets/js/components/calendar/calendar.component.min.js +1 -1
- package/assets/js/components/card/card.component.min.js +1 -1
- package/assets/js/components/carousel/carousel.component.js +19 -38
- package/assets/js/components/carousel/carousel.component.min.js +8 -16
- package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
- package/assets/js/components/config/config.component.min.js +1 -1
- package/assets/js/components/content/content.component.js +2 -0
- package/assets/js/components/content/content.component.min.js +3 -3
- package/assets/js/components/content/content.component.min.js.map +1 -1
- package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
- package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
- package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/form/form.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +2 -2
- package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
- package/assets/js/components/input/input.component.min.js +1 -1
- package/assets/js/components/input-range/input-range.component.min.js +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/menu/menu.component.min.js +1 -1
- package/assets/js/components/milestone/milestone.component.min.js +1 -1
- package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
- package/assets/js/components/modal/modal.component.min.js +1 -1
- package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
- package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
- package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
- package/assets/js/components/nav/nav.component.min.js +3 -3
- package/assets/js/components/notification/notification.component.min.js +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/password/password.component.min.js +1 -1
- package/assets/js/components/popover/popover.component.min.js +1 -1
- package/assets/js/components/rank/rank.component.min.js +1 -1
- package/assets/js/components/rankings/rankings.component.min.js +1 -1
- package/assets/js/components/rating/rating.component.min.js +1 -1
- package/assets/js/components/record-card/record-card.component.min.js +1 -1
- package/assets/js/components/search/search.component.min.js +1 -1
- package/assets/js/components/slider/slider.component.min.js +1 -1
- package/assets/js/components/split-button/split-button.component.min.js +1 -1
- package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +1 -1
- package/assets/js/components/std-nav/std-nav.component.min.js +3 -3
- package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js +2 -2
- package/assets/js/components/table/table.component.min.js +1 -1
- package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
- package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
- package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
- package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +1 -1
- package/assets/js/components/tag/tag.component.min.js +1 -1
- package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
- package/assets/js/components/video/video.component.min.js +1 -1
- package/assets/js/components/video-card/video-card.component.min.js +1 -1
- package/assets/js/components/video-modal/video-modal.component.min.js +1 -1
- package/assets/js/components/word-count/word-count.component.min.js +1 -1
- package/assets/js/modules/content.js +11 -0
- package/assets/js/scripts.bundle.js +1 -1
- package/assets/js/scripts.bundle.min.js +1 -1
- package/assets/sass/components/carousel.component.scss +0 -640
- package/assets/sass/components/carousel.config.scss +670 -7
- package/assets/sass/components/header.component.scss +5 -0
- package/assets/sass/components/nav.component.scss +5 -4
- package/assets/sass/components/nav.global.scss +3 -1
- package/assets/sass/foundations/reboot.scss +1 -0
- package/assets/ts/components/carousel/carousel.component.ts +29 -53
- package/assets/ts/components/content/content.component.ts +4 -0
- package/assets/ts/components/std-nav/std-nav.component.ts +0 -2
- package/assets/ts/modules/content.ts +17 -0
- package/dist/components.es.js +24 -24
- package/dist/components.umd.js +96 -104
- package/package.json +1 -1
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
@media screen and (min-width: 36em) {
|
|
112
|
-
margin: 0 0 0
|
|
112
|
+
margin: 0 0 0 2rem;
|
|
113
113
|
width: auto;
|
|
114
114
|
padding-right: 1.875rem; /* 24 + 6 */
|
|
115
115
|
text-indent: 0;
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
@media screen and (min-width: 62em) {
|
|
123
123
|
width: fit-content;
|
|
124
124
|
height: auto;
|
|
125
|
-
margin: 0 0 0
|
|
125
|
+
margin: 0 0 0 2rem;
|
|
126
126
|
padding: 0 !important;
|
|
127
127
|
text-indent: 0;
|
|
128
128
|
padding-right: 0 !important;
|
|
@@ -549,6 +549,7 @@
|
|
|
549
549
|
|
|
550
550
|
z-index: 1;
|
|
551
551
|
top: 0;
|
|
552
|
+
height: 100vh;
|
|
552
553
|
}
|
|
553
554
|
|
|
554
555
|
:host(.open-secondary) .has-secondary .menu__secondary {
|
|
@@ -556,7 +557,7 @@
|
|
|
556
557
|
z-index: 2;
|
|
557
558
|
}
|
|
558
559
|
}
|
|
559
|
-
/* #endregion */
|
|
560
|
+
/* #endregion */
|
|
560
561
|
|
|
561
562
|
/* #region Menus */
|
|
562
563
|
::slotted(.nav--menu) {
|
|
@@ -617,7 +618,7 @@
|
|
|
617
618
|
|
|
618
619
|
@media screen and (min-width: 62em) {
|
|
619
620
|
height: calc(100vh - var(--nav-height));
|
|
620
|
-
top:
|
|
621
|
+
top: var(--nav-height);
|
|
621
622
|
}
|
|
622
623
|
}
|
|
623
624
|
|
|
@@ -810,6 +810,7 @@ body[data-direction='down'].past100 nav:has(.nav--sticky) .nav--sticky{
|
|
|
810
810
|
display: inline-block;
|
|
811
811
|
margin-left: 1.5rem;
|
|
812
812
|
margin-bottom: 0!important;
|
|
813
|
+
font-size: 1rem;
|
|
813
814
|
|
|
814
815
|
&:after {
|
|
815
816
|
display: none;
|
|
@@ -832,6 +833,7 @@ body[data-direction='down'].past100 nav:has(.nav--sticky) .nav--sticky{
|
|
|
832
833
|
|
|
833
834
|
.lead {
|
|
834
835
|
--colour-heading: var(--colour-body);
|
|
836
|
+
color: var(--colour-body);
|
|
835
837
|
font-size: 0.87rem !important;
|
|
836
838
|
line-height: 1.5rem !important;
|
|
837
839
|
margin: 0;
|
|
@@ -841,7 +843,7 @@ body[data-direction='down'].past100 nav:has(.nav--sticky) .nav--sticky{
|
|
|
841
843
|
width: 0;
|
|
842
844
|
}
|
|
843
845
|
|
|
844
|
-
.section + .section {
|
|
846
|
+
.section:has(a:not([href=null])) + .section {
|
|
845
847
|
border-top: 1px solid var(--colour-border);
|
|
846
848
|
display: block;
|
|
847
849
|
padding-top: 0.5rem;
|
|
@@ -5,37 +5,6 @@ trackComponentRegistered('iam-carousel');
|
|
|
5
5
|
class iamCarousel extends HTMLElement {
|
|
6
6
|
constructor() {
|
|
7
7
|
super();
|
|
8
|
-
this.attachShadow({ mode: 'open' });
|
|
9
|
-
|
|
10
|
-
const assetLocation = document.body.hasAttribute('data-assets-location')
|
|
11
|
-
? document.body.getAttribute('data-assets-location')
|
|
12
|
-
: '/assets';
|
|
13
|
-
|
|
14
|
-
const loadCSS = `@import "${assetLocation}/css/components/carousel.component.css";`;
|
|
15
|
-
|
|
16
|
-
const template = document.createElement('template');
|
|
17
|
-
template.innerHTML = /* HTML */ `
|
|
18
|
-
<style>
|
|
19
|
-
${loadCSS}
|
|
20
|
-
${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
|
|
21
|
-
</style>
|
|
22
|
-
<div class="carousel-wrapper">
|
|
23
|
-
<div class="carousel" part="carousel">
|
|
24
|
-
<slot></slot>
|
|
25
|
-
</div>
|
|
26
|
-
<div class="carousel__controls"></div>
|
|
27
|
-
<div id="carousel__progress" class="carousel__progress">
|
|
28
|
-
<input type="range" min="0" max="100" value="0" step="1" />
|
|
29
|
-
</div>
|
|
30
|
-
<div id="carousel__progress-sm" class="carousel__progress">
|
|
31
|
-
<input type="range" min="0" max="100" value="0" step="1" />
|
|
32
|
-
</div>
|
|
33
|
-
<div id="carousel__progress-md" class="carousel__progress">
|
|
34
|
-
<input type="range" min="0" max="100" value="0" step="1" />
|
|
35
|
-
</div>
|
|
36
|
-
</div>
|
|
37
|
-
`;
|
|
38
|
-
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
39
8
|
}
|
|
40
9
|
|
|
41
10
|
generateThumbnailList = (carouselComponent): any => {
|
|
@@ -78,12 +47,27 @@ class iamCarousel extends HTMLElement {
|
|
|
78
47
|
|
|
79
48
|
connectedCallback(): void {
|
|
80
49
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
50
|
+
this.insertAdjacentHTML('beforeend',`
|
|
51
|
+
<div class="carousel__controls">
|
|
52
|
+
<div class="carousel__pips"></div>
|
|
53
|
+
<div class="carousel__progress carousel__progress-xs">
|
|
54
|
+
<input type="range" min="0" max="100" value="0" step="1" />
|
|
55
|
+
</div>
|
|
56
|
+
<div class="carousel__progress carousel__progress-sm">
|
|
57
|
+
<input type="range" min="0" max="100" value="0" step="1" />
|
|
58
|
+
</div>
|
|
59
|
+
<div class="carousel__progress carousel__progress-md">
|
|
60
|
+
<input type="range" min="0" max="100" value="0" step="1" />
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
`)
|
|
64
|
+
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
66
|
+
const carouselElement = this;
|
|
67
|
+
const carouselProgress = this.querySelector('.carousel__progress-xs [type="range"]');
|
|
68
|
+
const carouselProgressSM = this.querySelector('.carousel__progress-sm [type="range"]');
|
|
69
|
+
const carouselProgressMD = this.querySelector('.carousel__progress-md [type="range"]');
|
|
70
|
+
const itemCount = this.querySelectorAll(':scope > *:not(.carousel__controls)').length;
|
|
87
71
|
const progressPercent = this.progressPercent;
|
|
88
72
|
|
|
89
73
|
let stepperInterval,
|
|
@@ -95,13 +79,10 @@ class iamCarousel extends HTMLElement {
|
|
|
95
79
|
stepperStart = 'touchstart';
|
|
96
80
|
}
|
|
97
81
|
|
|
98
|
-
|
|
99
|
-
carouselElement?.setAttribute('data-smcols',this.getAttribute('data-smcols'));
|
|
100
|
-
carouselElement?.setAttribute('data-mdcols',this.getAttribute('data-mdcols'));
|
|
101
|
-
|
|
82
|
+
|
|
102
83
|
carouselProgress.setAttribute('max', itemCount);
|
|
103
84
|
carouselProgress.style.setProperty('--percent', progressPercent(carouselProgress.value, itemCount));
|
|
104
|
-
|
|
85
|
+
|
|
105
86
|
carouselProgress.addEventListener(stepperStart, () => {
|
|
106
87
|
clearInterval(stepperInterval);
|
|
107
88
|
stepperInterval = setInterval(function () {
|
|
@@ -126,10 +107,9 @@ class iamCarousel extends HTMLElement {
|
|
|
126
107
|
behavior: 'smooth',
|
|
127
108
|
});
|
|
128
109
|
});
|
|
129
|
-
|
|
130
|
-
|
|
110
|
+
|
|
111
|
+
|
|
131
112
|
// SM Progress bar
|
|
132
|
-
|
|
133
113
|
const smStep = this.getAttribute('data-smcols') ? this.getAttribute('data-smcols') : 1;
|
|
134
114
|
const smItemCount = Math.floor(itemCount / smStep) * smStep;
|
|
135
115
|
|
|
@@ -156,8 +136,6 @@ class iamCarousel extends HTMLElement {
|
|
|
156
136
|
carouselProgressSM.style.setProperty('--percent', progressPercent(carouselProgressSM.value, smItemCount));
|
|
157
137
|
const scrollTo = Math.floor((carouselElement.scrollWidth / smItemCount) * carouselProgressSM.value);
|
|
158
138
|
|
|
159
|
-
console.log(carouselProgressSM.value);
|
|
160
|
-
|
|
161
139
|
carouselElement.scrollTo({
|
|
162
140
|
top: 0,
|
|
163
141
|
left: scrollTo,
|
|
@@ -193,8 +171,6 @@ class iamCarousel extends HTMLElement {
|
|
|
193
171
|
carouselProgressMD.style.setProperty('--percent', progressPercent(carouselProgressMD.value, mdItemCount));
|
|
194
172
|
const scrollTo = Math.floor((carouselElement.scrollWidth / mdItemCount) * carouselProgressMD.value);
|
|
195
173
|
|
|
196
|
-
console.log(carouselProgressMD.value);
|
|
197
|
-
|
|
198
174
|
carouselElement.scrollTo({
|
|
199
175
|
top: 0,
|
|
200
176
|
left: scrollTo,
|
|
@@ -204,17 +180,17 @@ class iamCarousel extends HTMLElement {
|
|
|
204
180
|
|
|
205
181
|
|
|
206
182
|
// Thumbnails
|
|
207
|
-
const
|
|
183
|
+
const carouselPips = this.querySelector('.carousel__pips');
|
|
208
184
|
|
|
209
185
|
if (carouselElement.querySelector('[data-thumbnail]')) {
|
|
210
186
|
const thumbnailImages = this.generateThumbnailList(carouselElement);
|
|
211
187
|
carouselElement.classList.add('thumbnails');
|
|
212
|
-
|
|
188
|
+
carouselPips.innerHTML = this.generatePipsHTML(carouselElement, thumbnailImages);
|
|
213
189
|
}
|
|
214
190
|
|
|
215
|
-
|
|
191
|
+
carouselPips.addEventListener('click', (event) => {
|
|
216
192
|
|
|
217
|
-
|
|
193
|
+
carouselPips?.querySelector('[aria-current]')?.removeAttribute('aria-current');
|
|
218
194
|
if(event.target.closest('button[data-slide]')){
|
|
219
195
|
|
|
220
196
|
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
import { transformButtons } from '../../modules/content';
|
|
3
|
+
|
|
1
4
|
class iamContent extends HTMLElement {
|
|
2
5
|
constructor() {
|
|
3
6
|
super();
|
|
@@ -136,6 +139,7 @@ class iamContent extends HTMLElement {
|
|
|
136
139
|
|
|
137
140
|
fixContent(component);
|
|
138
141
|
registerComponents(component);
|
|
142
|
+
transformButtons(component);
|
|
139
143
|
}
|
|
140
144
|
};
|
|
141
145
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const transformButtons = (component):void => {
|
|
2
|
+
|
|
3
|
+
Array.from(document.querySelectorAll('.wp-block-buttons')).forEach((buttons) => {
|
|
4
|
+
|
|
5
|
+
const fragment = document.createDocumentFragment();
|
|
6
|
+
|
|
7
|
+
Array.from(buttons.querySelectorAll('.wp-block-button')).forEach((element) => {
|
|
8
|
+
|
|
9
|
+
const link = element.querySelector('a');
|
|
10
|
+
link.setAttribute('class',element.getAttribute('class'));
|
|
11
|
+
|
|
12
|
+
fragment.appendChild(link);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
buttons.parentNode.replaceChild(fragment, buttons);
|
|
16
|
+
});
|
|
17
|
+
}
|