@iamproperty/components 5.0.0 → 5.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.
- package/assets/css/components/accordion.css +1 -1
- package/assets/css/components/accordion.css.map +1 -1
- package/assets/css/components/accordion.global.css +1 -0
- package/assets/css/components/accordion.global.css.map +1 -0
- package/assets/css/components/actionbar.css +1 -1
- package/assets/css/components/actionbar.css.map +1 -1
- package/assets/css/components/actionbar.global.css +1 -0
- package/assets/css/components/actionbar.global.css.map +1 -0
- package/assets/css/components/card.css +1 -1
- package/assets/css/components/card.css.map +1 -1
- package/assets/css/components/card.global.css +1 -0
- package/assets/css/components/card.global.css.map +1 -0
- package/assets/css/components/component.native.css +1 -0
- package/assets/css/components/component.native.css.map +1 -0
- package/assets/css/components/component.reset.css +1 -1
- package/assets/css/components/component.reset.css.map +1 -1
- package/assets/css/components/header.css +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/{nav-global.css → nav.global.css} +1 -1
- package/assets/css/components/{nav-global.css.map → nav.global.css.map} +1 -1
- package/assets/css/components/notification.global.css +1 -0
- package/assets/css/components/notification.global.css.map +1 -0
- package/assets/css/components/slider.css +1 -0
- package/assets/css/components/slider.css.map +1 -0
- package/assets/css/components/table.css +1 -1
- package/assets/css/components/table.css.map +1 -1
- package/assets/css/components/{table.extras.css → table.global.css} +1 -1
- package/assets/css/components/{table.extras.css.map → table.global.css.map} +1 -1
- package/assets/css/components/tabs.css +1 -1
- package/assets/css/components/tabs.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/img/illustrations/add-new-property.png +0 -0
- package/assets/img/illustrations/auctioneer.png +0 -0
- package/assets/img/illustrations/branch.png +0 -0
- package/assets/img/illustrations/company-level.png +0 -0
- package/assets/img/illustrations/contractors.png +0 -0
- package/assets/img/illustrations/find-existing-property.png +0 -0
- package/assets/img/illustrations/green/add-new-property.png +0 -0
- package/assets/img/illustrations/green/auctioneer.png +0 -0
- package/assets/img/illustrations/green/branch.png +0 -0
- package/assets/img/illustrations/green/buyer.png +0 -0
- package/assets/img/illustrations/green/company-level.png +0 -0
- package/assets/img/illustrations/green/contractors.png +0 -0
- package/assets/img/illustrations/green/estate-agents.png +0 -0
- package/assets/img/illustrations/green/find-existing-property.png +0 -0
- package/assets/img/illustrations/green/landlords.png +0 -0
- package/assets/img/illustrations/green/seller.png +0 -0
- package/assets/img/illustrations/green/whats-new-2.png +0 -0
- package/assets/img/illustrations/green/whats-new.png +0 -0
- package/assets/img/illustrations/information-works.png +0 -0
- package/assets/img/illustrations/landlords.png +0 -0
- package/assets/img/illustrations/whats-new-2.png +0 -0
- package/assets/img/illustrations/whats-new.png +0 -0
- package/assets/js/components/accordion/accordion.component.js +4 -0
- package/assets/js/components/accordion/accordion.component.min.js +6 -5
- package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +4 -0
- package/assets/js/components/actionbar/actionbar.component.min.js +5 -4
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/card/card.component.js +4 -0
- package/assets/js/components/card/card.component.min.js +4 -3
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
- package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +2 -2
- package/assets/js/components/nav/nav.component.js +4 -0
- package/assets/js/components/nav/nav.component.min.js +4 -3
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +4 -0
- package/assets/js/components/notification/notification.component.min.js +4 -3
- package/assets/js/components/notification/notification.component.min.js.map +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/slider/slider.component.js +143 -0
- package/assets/js/components/table/table.component.js +1 -1
- package/assets/js/components/table/table.component.min.js +3 -3
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.js +2 -0
- package/assets/js/components/tabs/tabs.component.min.js +5 -3
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/dynamic.min.js +5 -5
- package/assets/js/dynamic.min.js.map +1 -1
- package/assets/js/modules/dynamicEvents.js +18 -11
- package/assets/js/modules/helpers.js +1 -1
- package/assets/js/modules/inputs.js +44 -3
- package/assets/js/modules/tabs.js +29 -31
- package/assets/js/scripts.bundle.js +24 -23
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/js/tests/slider.spec.js +20 -0
- package/assets/sass/_components.scss +0 -6
- package/assets/sass/_corefiles.scss +8 -88
- package/assets/sass/_elements.scss +0 -1
- package/assets/sass/components/accordion.global.scss +135 -0
- package/assets/sass/components/accordion.scss +6 -192
- package/assets/sass/components/{actionbar-global.scss → actionbar.global.scss} +3 -1
- package/assets/sass/components/actionbar.scss +2 -2
- package/assets/sass/components/{card-global.scss → card.global.scss} +2 -23
- package/assets/sass/components/card.scss +21 -0
- package/assets/sass/components/component.native.scss +37 -0
- package/assets/sass/components/component.reset.scss +1 -3
- package/assets/sass/components/header.scss +6 -1
- package/assets/sass/components/notification.global.scss +41 -0
- package/assets/sass/components/slider.scss +121 -0
- package/assets/sass/components/{table.extras.scss → table.global.scss} +5 -1
- package/assets/sass/components/table.scss +1 -1
- package/assets/sass/components/tabs.scss +2 -5
- package/assets/sass/core.scss +1 -2
- package/assets/sass/elements/container.scss +17 -0
- package/assets/sass/elements/forms.scss +138 -10
- package/assets/sass/elements/table.element.scss +1 -2
- package/assets/sass/error.scss +1 -1
- package/assets/sass/foundations/reboot.scss +48 -0
- package/assets/sass/main.scss +0 -1
- package/assets/sass/templates/form.scss +1 -0
- package/assets/ts/components/accordion/accordion.component.ts +5 -0
- package/assets/ts/components/actionbar/actionbar.component.ts +5 -0
- package/assets/ts/components/address-lookup/address-lookup.component.ts +1 -1
- package/assets/ts/components/card/card.component.ts +5 -0
- package/assets/ts/components/nav/nav.component.ts +5 -0
- package/assets/ts/components/notification/notification.component.ts +4 -0
- package/assets/ts/components/slider/README.md +26 -0
- package/assets/ts/components/slider/slider.component.ts +189 -0
- package/assets/ts/components/table/table.component.ts +1 -1
- package/assets/ts/components/tabs/tabs.component.ts +2 -0
- package/assets/ts/modules/dynamicEvents.ts +31 -22
- package/assets/ts/modules/helpers.ts +1 -1
- package/assets/ts/modules/inputs.ts +61 -4
- package/assets/ts/modules/tabs.ts +38 -41
- package/assets/ts/tests/slider.spec.ts +33 -0
- package/dist/components.es.js +1002 -1446
- package/dist/components.umd.js +292 -131
- package/dist/style.css +1 -1
- package/package.json +5 -4
- package/src/components/Accordion/Accordion.vue +12 -5
- package/src/components/Actionbar/Actionbar.vue +12 -5
- package/src/components/Card/Card.vue +1 -1
- package/src/components/Header/Header.vue +9 -3
- package/src/components/Nav/Nav.vue +1 -1
- package/src/components/Slider/README.md +11 -0
- package/src/components/Slider/Slider.vue +25 -0
- package/src/components/Tabs/Tabs.vue +14 -5
- package/assets/css/components/actionbar-global.css +0 -1
- package/assets/css/components/actionbar-global.css.map +0 -1
- package/assets/css/components/card-global.css +0 -1
- package/assets/css/components/card-global.css.map +0 -1
- /package/assets/sass/components/{nav-global.scss → nav.global.scss} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
export const createTabsLinks = function (tabsElement) {
|
|
3
3
|
const details = tabsElement.querySelectorAll(':scope > details');
|
|
4
|
+
const detailsORLinks = tabsElement.querySelectorAll(':scope > details, :scope > a');
|
|
4
5
|
let summaries = tabsElement.querySelectorAll(':scope > details > summary');
|
|
5
6
|
let tabLinks = tabsElement.querySelector(':scope > .tabs__links');
|
|
6
7
|
if (tabsElement.shadowRoot && tabsElement.shadowRoot.querySelector('.tabs__links'))
|
|
@@ -14,34 +15,40 @@ export const createTabsLinks = function (tabsElement) {
|
|
|
14
15
|
tabsElement.prepend(tabLinksWrapper);
|
|
15
16
|
}
|
|
16
17
|
// Create the tab buttons from the summary titles
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
let isDisabled = summary.classList.contains('disabled');
|
|
20
|
-
summary.classList.add('visually-hidden');
|
|
18
|
+
let tabindex = 0;
|
|
19
|
+
detailsORLinks.forEach((element, index) => {
|
|
21
20
|
let button = document.createElement('button');
|
|
22
|
-
if (
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
if (element.matches('details')) {
|
|
22
|
+
let summary = element.querySelector(':scope > summary');
|
|
23
|
+
let isDisabled = summary.classList.contains('disabled');
|
|
24
|
+
summary.classList.add('visually-hidden');
|
|
25
|
+
if (element.hasAttribute('id'))
|
|
26
|
+
button.setAttribute('data-id', `${element.getAttribute('id')}`);
|
|
27
|
+
if (element.hasAttribute('open')) {
|
|
28
|
+
button.setAttribute('aria-pressed', true);
|
|
29
|
+
}
|
|
30
|
+
button.innerHTML = `${summary.innerText}`;
|
|
31
|
+
button.classList.add('link');
|
|
32
|
+
button.setAttribute('data-index', tabindex);
|
|
33
|
+
element.setAttribute('tabindex', '-1');
|
|
34
|
+
if (isDisabled) {
|
|
35
|
+
button.classList.add('disabled');
|
|
36
|
+
}
|
|
37
|
+
tabindex++;
|
|
25
38
|
}
|
|
26
|
-
if (
|
|
27
|
-
button
|
|
39
|
+
else if (element.matches('a')) {
|
|
40
|
+
button = element;
|
|
28
41
|
}
|
|
29
|
-
button.innerHTML = `${summary.innerText}`;
|
|
30
42
|
button.classList.add('link');
|
|
31
|
-
button.setAttribute('data-index', index);
|
|
32
|
-
button.setAttribute('tabindex', '-1');
|
|
33
|
-
if (isDisabled) {
|
|
34
|
-
button.classList.add('disabled');
|
|
35
|
-
}
|
|
36
43
|
tabLinks.appendChild(button);
|
|
37
44
|
});
|
|
38
45
|
};
|
|
39
46
|
export const setTabsEventHandlers = function (tabsElement) {
|
|
40
47
|
let details = tabsElement.querySelectorAll(':scope > details');
|
|
41
48
|
let summaries = tabsElement.querySelectorAll(':scope > details > summary');
|
|
42
|
-
let buttons = tabsElement.querySelectorAll(':scope .tabs__links >
|
|
49
|
+
let buttons = tabsElement.querySelectorAll(':scope .tabs__links > button');
|
|
43
50
|
if (tabsElement.shadowRoot)
|
|
44
|
-
buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links >
|
|
51
|
+
buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');
|
|
45
52
|
// Set the on click for the tab buttons, these will open the details box it matches too
|
|
46
53
|
buttons.forEach((button) => {
|
|
47
54
|
button.addEventListener("click", (e) => {
|
|
@@ -59,8 +66,6 @@ export const setTabsEventHandlers = function (tabsElement) {
|
|
|
59
66
|
else
|
|
60
67
|
detail.removeAttribute('open');
|
|
61
68
|
});
|
|
62
|
-
if (button.hasAttribute('href'))
|
|
63
|
-
history.pushState(undefined, undefined, button.getAttribute('href'));
|
|
64
69
|
// Data layer Open Event
|
|
65
70
|
window.dataLayer = window.dataLayer || [];
|
|
66
71
|
window.dataLayer.push({
|
|
@@ -71,13 +76,6 @@ export const setTabsEventHandlers = function (tabsElement) {
|
|
|
71
76
|
});
|
|
72
77
|
// Make sure we dont loose existing summary functionality
|
|
73
78
|
summaries.forEach((summary, index) => {
|
|
74
|
-
// Maintain the focus on the summary element but visually highlight the tab button
|
|
75
|
-
summary.addEventListener("focus", (e) => {
|
|
76
|
-
buttons.forEach((button) => {
|
|
77
|
-
button.classList.remove('focus');
|
|
78
|
-
});
|
|
79
|
-
buttons[index].classList.add('focus');
|
|
80
|
-
});
|
|
81
79
|
summary.addEventListener("click", (e) => {
|
|
82
80
|
e.preventDefault();
|
|
83
81
|
buttons[index].click();
|
|
@@ -85,12 +83,12 @@ export const setTabsEventHandlers = function (tabsElement) {
|
|
|
85
83
|
});
|
|
86
84
|
};
|
|
87
85
|
export const openFirstTab = function (tabsElement) {
|
|
86
|
+
if (!tabsElement.querySelector(':scope > details'))
|
|
87
|
+
return false;
|
|
88
88
|
let details = tabsElement.querySelectorAll(':scope > details');
|
|
89
|
-
let buttons = tabsElement.querySelectorAll('
|
|
90
|
-
if (tabsElement.shadowRoot)
|
|
91
|
-
|
|
92
|
-
if (location.hash && tabsElement.querySelector(`.tabs__links [href="${location.hash}"]`)) {
|
|
93
|
-
tabsElement.querySelector(`[href="${location.hash}"]`).setAttribute('open', true);
|
|
89
|
+
let buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button');
|
|
90
|
+
if (location.hash && tabsElement.shadowRoot.querySelector(`.tabs__links [data-id="${location.hash.replace('#', '')}"]`)) {
|
|
91
|
+
tabsElement.shadowRoot.querySelector(`[data-id="${location.hash.replace('#', '')}"]`).setAttribute('aria-pressed', true);
|
|
94
92
|
tabsElement.querySelector(`details[id="${location.hash.replace('#', '')}"]`).setAttribute('open', true);
|
|
95
93
|
}
|
|
96
94
|
else if (!tabsElement.querySelector(`details[open]`)) {
|