@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.
Files changed (155) hide show
  1. package/assets/css/components/accordion.css +1 -1
  2. package/assets/css/components/accordion.css.map +1 -1
  3. package/assets/css/components/accordion.global.css +1 -0
  4. package/assets/css/components/accordion.global.css.map +1 -0
  5. package/assets/css/components/actionbar.css +1 -1
  6. package/assets/css/components/actionbar.css.map +1 -1
  7. package/assets/css/components/actionbar.global.css +1 -0
  8. package/assets/css/components/actionbar.global.css.map +1 -0
  9. package/assets/css/components/card.css +1 -1
  10. package/assets/css/components/card.css.map +1 -1
  11. package/assets/css/components/card.global.css +1 -0
  12. package/assets/css/components/card.global.css.map +1 -0
  13. package/assets/css/components/component.native.css +1 -0
  14. package/assets/css/components/component.native.css.map +1 -0
  15. package/assets/css/components/component.reset.css +1 -1
  16. package/assets/css/components/component.reset.css.map +1 -1
  17. package/assets/css/components/header.css +1 -1
  18. package/assets/css/components/header.css.map +1 -1
  19. package/assets/css/components/{nav-global.css → nav.global.css} +1 -1
  20. package/assets/css/components/{nav-global.css.map → nav.global.css.map} +1 -1
  21. package/assets/css/components/notification.global.css +1 -0
  22. package/assets/css/components/notification.global.css.map +1 -0
  23. package/assets/css/components/slider.css +1 -0
  24. package/assets/css/components/slider.css.map +1 -0
  25. package/assets/css/components/table.css +1 -1
  26. package/assets/css/components/table.css.map +1 -1
  27. package/assets/css/components/{table.extras.css → table.global.css} +1 -1
  28. package/assets/css/components/{table.extras.css.map → table.global.css.map} +1 -1
  29. package/assets/css/components/tabs.css +1 -1
  30. package/assets/css/components/tabs.css.map +1 -1
  31. package/assets/css/core.min.css +1 -1
  32. package/assets/css/core.min.css.map +1 -1
  33. package/assets/css/style.min.css +1 -1
  34. package/assets/css/style.min.css.map +1 -1
  35. package/assets/img/illustrations/add-new-property.png +0 -0
  36. package/assets/img/illustrations/auctioneer.png +0 -0
  37. package/assets/img/illustrations/branch.png +0 -0
  38. package/assets/img/illustrations/company-level.png +0 -0
  39. package/assets/img/illustrations/contractors.png +0 -0
  40. package/assets/img/illustrations/find-existing-property.png +0 -0
  41. package/assets/img/illustrations/green/add-new-property.png +0 -0
  42. package/assets/img/illustrations/green/auctioneer.png +0 -0
  43. package/assets/img/illustrations/green/branch.png +0 -0
  44. package/assets/img/illustrations/green/buyer.png +0 -0
  45. package/assets/img/illustrations/green/company-level.png +0 -0
  46. package/assets/img/illustrations/green/contractors.png +0 -0
  47. package/assets/img/illustrations/green/estate-agents.png +0 -0
  48. package/assets/img/illustrations/green/find-existing-property.png +0 -0
  49. package/assets/img/illustrations/green/landlords.png +0 -0
  50. package/assets/img/illustrations/green/seller.png +0 -0
  51. package/assets/img/illustrations/green/whats-new-2.png +0 -0
  52. package/assets/img/illustrations/green/whats-new.png +0 -0
  53. package/assets/img/illustrations/information-works.png +0 -0
  54. package/assets/img/illustrations/landlords.png +0 -0
  55. package/assets/img/illustrations/whats-new-2.png +0 -0
  56. package/assets/img/illustrations/whats-new.png +0 -0
  57. package/assets/js/components/accordion/accordion.component.js +4 -0
  58. package/assets/js/components/accordion/accordion.component.min.js +6 -5
  59. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  60. package/assets/js/components/actionbar/actionbar.component.js +4 -0
  61. package/assets/js/components/actionbar/actionbar.component.min.js +5 -4
  62. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  63. package/assets/js/components/address-lookup/address-lookup.component.js +1 -1
  64. package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
  65. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  66. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  67. package/assets/js/components/card/card.component.js +4 -0
  68. package/assets/js/components/card/card.component.min.js +4 -3
  69. package/assets/js/components/card/card.component.min.js.map +1 -1
  70. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  71. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  72. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  73. package/assets/js/components/header/header.component.min.js +2 -2
  74. package/assets/js/components/nav/nav.component.js +4 -0
  75. package/assets/js/components/nav/nav.component.min.js +4 -3
  76. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  77. package/assets/js/components/notification/notification.component.js +4 -0
  78. package/assets/js/components/notification/notification.component.min.js +4 -3
  79. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  80. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  81. package/assets/js/components/slider/slider.component.js +143 -0
  82. package/assets/js/components/table/table.component.js +1 -1
  83. package/assets/js/components/table/table.component.min.js +3 -3
  84. package/assets/js/components/table/table.component.min.js.map +1 -1
  85. package/assets/js/components/tabs/tabs.component.js +2 -0
  86. package/assets/js/components/tabs/tabs.component.min.js +5 -3
  87. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  88. package/assets/js/dynamic.min.js +5 -5
  89. package/assets/js/dynamic.min.js.map +1 -1
  90. package/assets/js/modules/dynamicEvents.js +18 -11
  91. package/assets/js/modules/helpers.js +1 -1
  92. package/assets/js/modules/inputs.js +44 -3
  93. package/assets/js/modules/tabs.js +29 -31
  94. package/assets/js/scripts.bundle.js +24 -23
  95. package/assets/js/scripts.bundle.js.map +1 -1
  96. package/assets/js/scripts.bundle.min.js +2 -2
  97. package/assets/js/scripts.bundle.min.js.map +1 -1
  98. package/assets/js/tests/slider.spec.js +20 -0
  99. package/assets/sass/_components.scss +0 -6
  100. package/assets/sass/_corefiles.scss +8 -88
  101. package/assets/sass/_elements.scss +0 -1
  102. package/assets/sass/components/accordion.global.scss +135 -0
  103. package/assets/sass/components/accordion.scss +6 -192
  104. package/assets/sass/components/{actionbar-global.scss → actionbar.global.scss} +3 -1
  105. package/assets/sass/components/actionbar.scss +2 -2
  106. package/assets/sass/components/{card-global.scss → card.global.scss} +2 -23
  107. package/assets/sass/components/card.scss +21 -0
  108. package/assets/sass/components/component.native.scss +37 -0
  109. package/assets/sass/components/component.reset.scss +1 -3
  110. package/assets/sass/components/header.scss +6 -1
  111. package/assets/sass/components/notification.global.scss +41 -0
  112. package/assets/sass/components/slider.scss +121 -0
  113. package/assets/sass/components/{table.extras.scss → table.global.scss} +5 -1
  114. package/assets/sass/components/table.scss +1 -1
  115. package/assets/sass/components/tabs.scss +2 -5
  116. package/assets/sass/core.scss +1 -2
  117. package/assets/sass/elements/container.scss +17 -0
  118. package/assets/sass/elements/forms.scss +138 -10
  119. package/assets/sass/elements/table.element.scss +1 -2
  120. package/assets/sass/error.scss +1 -1
  121. package/assets/sass/foundations/reboot.scss +48 -0
  122. package/assets/sass/main.scss +0 -1
  123. package/assets/sass/templates/form.scss +1 -0
  124. package/assets/ts/components/accordion/accordion.component.ts +5 -0
  125. package/assets/ts/components/actionbar/actionbar.component.ts +5 -0
  126. package/assets/ts/components/address-lookup/address-lookup.component.ts +1 -1
  127. package/assets/ts/components/card/card.component.ts +5 -0
  128. package/assets/ts/components/nav/nav.component.ts +5 -0
  129. package/assets/ts/components/notification/notification.component.ts +4 -0
  130. package/assets/ts/components/slider/README.md +26 -0
  131. package/assets/ts/components/slider/slider.component.ts +189 -0
  132. package/assets/ts/components/table/table.component.ts +1 -1
  133. package/assets/ts/components/tabs/tabs.component.ts +2 -0
  134. package/assets/ts/modules/dynamicEvents.ts +31 -22
  135. package/assets/ts/modules/helpers.ts +1 -1
  136. package/assets/ts/modules/inputs.ts +61 -4
  137. package/assets/ts/modules/tabs.ts +38 -41
  138. package/assets/ts/tests/slider.spec.ts +33 -0
  139. package/dist/components.es.js +1002 -1446
  140. package/dist/components.umd.js +292 -131
  141. package/dist/style.css +1 -1
  142. package/package.json +5 -4
  143. package/src/components/Accordion/Accordion.vue +12 -5
  144. package/src/components/Actionbar/Actionbar.vue +12 -5
  145. package/src/components/Card/Card.vue +1 -1
  146. package/src/components/Header/Header.vue +9 -3
  147. package/src/components/Nav/Nav.vue +1 -1
  148. package/src/components/Slider/README.md +11 -0
  149. package/src/components/Slider/Slider.vue +25 -0
  150. package/src/components/Tabs/Tabs.vue +14 -5
  151. package/assets/css/components/actionbar-global.css +0 -1
  152. package/assets/css/components/actionbar-global.css.map +0 -1
  153. package/assets/css/components/card-global.css +0 -1
  154. package/assets/css/components/card-global.css.map +0 -1
  155. /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
- details.forEach((detail, index) => {
18
- let summary = detail.querySelector(':scope > summary');
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 (detail.hasAttribute('id')) {
23
- button = document.createElement('a');
24
- button.setAttribute('href', `#${detail.getAttribute('id')}`);
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 (detail.hasAttribute('open')) {
27
- button.setAttribute('aria-pressed', true);
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 > .link');
49
+ let buttons = tabsElement.querySelectorAll(':scope .tabs__links > button');
43
50
  if (tabsElement.shadowRoot)
44
- buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > .link');
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(':scope > .tabs__links > button, .tabs__links > a');
90
- if (tabsElement.shadowRoot)
91
- buttons = tabsElement.shadowRoot.querySelectorAll('.tabs__links > button, .tabs__links > a');
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]`)) {