@iamproperty/components 7.7.1--beta16 → 7.7.1--beta18

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 (137) hide show
  1. package/assets/css/components/calendar.component.css +1 -1
  2. package/assets/css/components/calendar.component.css.map +1 -1
  3. package/assets/css/components/card.component.css +1 -1
  4. package/assets/css/components/card.component.css.map +1 -1
  5. package/assets/css/components/card.module.css +1 -1
  6. package/assets/css/components/card.module.css.map +1 -1
  7. package/assets/css/components/carousel.component.css +1 -1
  8. package/assets/css/components/carousel.component.css.map +1 -1
  9. package/assets/css/components/carousel.config.css +1 -1
  10. package/assets/css/components/carousel.config.css.map +1 -1
  11. package/assets/css/components/collapsible-side.css +1 -1
  12. package/assets/css/components/collapsible-side.css.map +1 -1
  13. package/assets/css/components/config.component.css +1 -1
  14. package/assets/css/components/config.component.css.map +1 -1
  15. package/assets/css/components/filter-card.component.css +1 -1
  16. package/assets/css/components/filter-card.component.css.map +1 -1
  17. package/assets/css/components/header.component.css +1 -1
  18. package/assets/css/components/header.component.css.map +1 -1
  19. package/assets/css/components/nav.component.css +1 -1
  20. package/assets/css/components/nav.component.css.map +1 -1
  21. package/assets/css/components/nav.global.css +1 -1
  22. package/assets/css/components/nav.global.css.map +1 -1
  23. package/assets/css/components/rank.component.css +1 -1
  24. package/assets/css/components/rank.component.css.map +1 -1
  25. package/assets/css/components/rankings.component.css +1 -1
  26. package/assets/css/components/rankings.component.css.map +1 -1
  27. package/assets/css/components/rankings.global.css +1 -1
  28. package/assets/css/components/rankings.global.css.map +1 -1
  29. package/assets/css/components/record-card.component.css +1 -1
  30. package/assets/css/components/record-card.component.css.map +1 -1
  31. package/assets/css/components/std-nav-standalone.component.css +1 -1
  32. package/assets/css/components/std-nav-standalone.component.css.map +1 -1
  33. package/assets/css/components/video-card.component.css +1 -1
  34. package/assets/css/components/video-card.component.css.map +1 -1
  35. package/assets/css/components/video-modal.component.css +1 -1
  36. package/assets/css/components/video-modal.component.css.map +1 -1
  37. package/assets/css/components/video.component.css +1 -1
  38. package/assets/css/components/video.component.css.map +1 -1
  39. package/assets/css/core.min.css +1 -1
  40. package/assets/css/core.min.css.map +1 -1
  41. package/assets/css/elements/type.css +1 -1
  42. package/assets/css/elements/type.css.map +1 -1
  43. package/assets/css/style.min.css +1 -1
  44. package/assets/css/style.min.css.map +1 -1
  45. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  46. package/assets/js/components/actionbar/actionbar.component.min.js +1 -1
  47. package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
  48. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  49. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  50. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  51. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  52. package/assets/js/components/button/button.component.min.js +1 -1
  53. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  54. package/assets/js/components/card/card.component.js +1 -0
  55. package/assets/js/components/card/card.component.min.js +6 -5
  56. package/assets/js/components/card/card.component.min.js.map +1 -1
  57. package/assets/js/components/carousel/carousel.component.min.js +4 -4
  58. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
  59. package/assets/js/components/config/config.component.min.js +2 -2
  60. package/assets/js/components/content/content.component.js +29 -2
  61. package/assets/js/components/content/content.component.min.js +3 -3
  62. package/assets/js/components/content/content.component.min.js.map +1 -1
  63. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  64. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  65. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  66. package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
  67. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  68. package/assets/js/components/form/form.component.min.js +1 -1
  69. package/assets/js/components/header/header.component.min.js +2 -2
  70. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  71. package/assets/js/components/input/input.component.min.js +1 -1
  72. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  73. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  74. package/assets/js/components/menu/menu.component.min.js +1 -1
  75. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  76. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  77. package/assets/js/components/modal/modal.component.js +3 -3
  78. package/assets/js/components/modal/modal.component.min.js +2 -2
  79. package/assets/js/components/modal/modal.component.min.js.map +1 -1
  80. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  81. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
  82. package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
  83. package/assets/js/components/nav/nav.component.js +0 -1
  84. package/assets/js/components/nav/nav.component.min.js +3 -4
  85. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  86. package/assets/js/components/notification/notification.component.min.js +1 -1
  87. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  88. package/assets/js/components/password/password.component.min.js +1 -1
  89. package/assets/js/components/popover/popover.component.min.js +1 -1
  90. package/assets/js/components/rank/rank.component.min.js +1 -1
  91. package/assets/js/components/rankings/rankings.component.min.js +6 -6
  92. package/assets/js/components/rating/rating.component.min.js +1 -1
  93. package/assets/js/components/record-card/record-card.component.min.js +2 -2
  94. package/assets/js/components/search/search.component.min.js +1 -1
  95. package/assets/js/components/slider/slider.component.min.js +1 -1
  96. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  97. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +1 -1
  98. package/assets/js/components/std-nav/std-nav.component.js +24 -118
  99. package/assets/js/components/std-nav/std-nav.component.min.js +15 -21
  100. package/assets/js/components/std-nav/std-nav.component.min.js.map +1 -1
  101. package/assets/js/components/std-nav-standalone/std-nav-standalone.component.js +6 -1
  102. package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js +8 -8
  103. package/assets/js/components/std-nav-standalone/std-nav-standalone.component.min.js.map +1 -1
  104. package/assets/js/components/table/table.component.min.js +1 -1
  105. package/assets/js/components/table-ajax/table-ajax.component.min.js +1 -1
  106. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  107. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  108. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  109. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  110. package/assets/js/components/tag/tag.component.min.js +1 -1
  111. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  112. package/assets/js/components/video/video.component.min.js +5 -5
  113. package/assets/js/components/video-card/video-card.component.min.js +2 -2
  114. package/assets/js/components/video-modal/video-modal.component.min.js +2 -2
  115. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  116. package/assets/js/modules/nav.js +56 -21
  117. package/assets/js/scripts.bundle.js +1 -1
  118. package/assets/js/scripts.bundle.min.js +1 -1
  119. package/assets/sass/components/card.component.scss +27 -0
  120. package/assets/sass/components/card.module.scss +3 -2
  121. package/assets/sass/components/carousel.component.scss +14 -0
  122. package/assets/sass/components/carousel.config.scss +1 -1
  123. package/assets/sass/components/header.component.scss +5 -0
  124. package/assets/sass/components/nav.component.scss +7 -6
  125. package/assets/sass/components/nav.global.scss +54 -5
  126. package/assets/sass/elements/type.css +31 -1
  127. package/assets/sass/utilities/colours.scss +4 -1
  128. package/assets/ts/components/card/card.component.ts +1 -0
  129. package/assets/ts/components/content/content.component.ts +45 -4
  130. package/assets/ts/components/modal/modal.component.ts +3 -3
  131. package/assets/ts/components/nav/nav.component.ts +0 -1
  132. package/assets/ts/components/std-nav/std-nav.component.ts +33 -151
  133. package/assets/ts/components/std-nav-standalone/std-nav-standalone.component.ts +10 -1
  134. package/assets/ts/modules/nav.ts +65 -21
  135. package/dist/components.es.js +24 -24
  136. package/dist/components.umd.js +146 -152
  137. package/package.json +1 -1
@@ -32,7 +32,7 @@ export const populateNav = (data):void => {
32
32
 
33
33
  data.forEach((feature) => {
34
34
 
35
- if(feature.attributes.sections)
35
+ if(feature.attributes.sections.length)
36
36
  html += `<details name="megamenu"><summary>${feature.attributes.title}</summary><div data-title="${feature.attributes.title}">${populateSections(feature.attributes.sections)}</div></details>`;
37
37
  else if(feature.attributes.links)
38
38
  html += `<details name="megamenu"><summary>${feature.attributes.title}</summary><div data-title="${feature.attributes.title}">${populateLinks(feature.attributes.links)}</div></details>`;
@@ -49,8 +49,9 @@ export const populateSections = (data):void => {
49
49
 
50
50
  data.forEach((section) => {
51
51
 
52
- html += `<span class="section ${section.class}">
53
- <span class="lead text-heading d-block">${section.enabled == "false" && section.marketing ? section.marketing : section.title}</span>
52
+ html += `<span class="section section--${section.layout}">
53
+ ${section.title ? `<span class="lead text-heading section-title" data-product="${section.id}" data-title>${section.title}</span>` : ''}
54
+ ${section.description ? `<span class="lead section-desc" data-product="${section.id}">! ${section.description}</span>` : ''}
54
55
  ${populateLinks(section.links)}
55
56
  </span>`;
56
57
  });
@@ -63,8 +64,8 @@ export const populateLinks = (data):void => {
63
64
 
64
65
  data.forEach((link) => {
65
66
 
66
- html += `
67
- <a href="${link.url}">${link.title}</a>`;
67
+
68
+ html += `<a href="${link.destinations.unlinked}" target="_blank" data-product="${link.productKey}" data-feature="${link.featureKey}" data-enabled="${link.destinations.linkedEnabled}" data-disabled="${link.destinations.linkedDisabled}">${link.title}</a>`;
68
69
 
69
70
  });
70
71
 
@@ -73,6 +74,7 @@ export const populateLinks = (data):void => {
73
74
 
74
75
  export const loadNavData = async(Cookies): any => {
75
76
 
77
+ //const ajaxURL = 'https://dev.hub.iamproperty.group/data/ecosystem-switcher.json';
76
78
  const ajaxURL = '/nav.json';
77
79
 
78
80
  // Setup controller vars if not already set
@@ -86,27 +88,52 @@ export const loadNavData = async(Cookies): any => {
86
88
  const { signal } = window.controller[ajaxURL];
87
89
 
88
90
  try {
89
- return await fetch(ajaxURL, {
90
- signal: signal,
91
- method: 'get',
92
- credentials: 'same-origin',
93
- headers: new Headers({
94
- 'Content-Type': 'application/json',
91
+ const response = await fetch(ajaxURL, {
92
+ signal,
93
+ method: 'GET',
94
+ headers: {
95
95
  Accept: 'application/json',
96
- 'X-Requested-With': 'XMLHttpRequest',
97
- 'X-XSRF-TOKEN': Cookies.get('XSRF-TOKEN'),
98
- }),
99
- })
100
- .then((response) => response.json())
101
- .then((response) => {
102
- // populate datalist
103
- let listString = '';
96
+ },
97
+ });
98
+
99
+ const json = await response.json();
100
+ const data = json.data ? json.data : json;
101
+ return data;
102
+ } catch (error) {
103
+ if (error?.name === 'AbortError') {
104
+ return true;
105
+ }
106
+ console.log(error);
107
+ return 'There has been a problem. Please try again in a few moments.';
108
+ }
109
+ }
110
+
111
+ export const loadUserData = async(Cookies): any => {
112
+
113
+ const ajaxURL = '/user.json';
114
+
115
+ // Setup controller vars if not already set
116
+ if (!window.controller) window.controller = [];
104
117
 
105
- const data = response['data'] ? response['data'] : response;
118
+ // Abort if controller already present for this url
119
+ if (window.controller[ajaxURL]) window.controller[ajaxURL].abort();
106
120
 
121
+ // Create a new controller so it can be aborted if new fetch made
122
+ window.controller[ajaxURL] = new AbortController();
123
+ const { signal } = window.controller[ajaxURL];
107
124
 
108
- return data;
125
+ try {
126
+ const response = await fetch(ajaxURL, {
127
+ signal,
128
+ method: 'GET',
129
+ headers: {
130
+ Accept: 'application/json',
131
+ },
109
132
  });
133
+
134
+ const json = await response.json();
135
+ const data = json.data ? json.data : json;
136
+ return data;
110
137
  } catch (error) {
111
138
  if (error?.name === 'AbortError') {
112
139
  return true;
@@ -116,5 +143,22 @@ export const loadNavData = async(Cookies): any => {
116
143
  }
117
144
  }
118
145
 
146
+ export const setEnabledLinks = (component,data):void => {
147
+
148
+ console.log(data);
149
+
150
+
151
+
152
+
153
+ component.querySelectorAll(`[data-product][data-feature]`).forEach((element) => {
154
+ const isEnabled = data.attributes.products[element.getAttribute('data-product')].features[element.getAttribute('data-feature')];
155
+ element.setAttribute('data-is-enabled',isEnabled);
156
+ if(isEnabled && element.getAttribute('data-enabled')){
157
+ element.setAttribute('href',element.getAttribute('data-enabled'));
158
+ element.removeAttribute('target');
159
+ }
160
+ });
161
+
162
+ }
119
163
 
120
164
  export default navbar;