@iamproperty/components 7.6.4--beta7 → 7.6.4--beta8

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 (97) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/actionbar.global.css +1 -1
  4. package/assets/css/components/actionbar.global.css.map +1 -1
  5. package/assets/css/components/config.component.css +1 -0
  6. package/assets/css/components/config.component.css.map +1 -0
  7. package/assets/css/components/notification.css +1 -1
  8. package/assets/css/components/notification.css.map +1 -1
  9. package/assets/css/components/table-basic.global.css +1 -1
  10. package/assets/css/components/table-basic.global.css.map +1 -1
  11. package/assets/css/components/table.global.css +1 -1
  12. package/assets/css/components/table.global.css.map +1 -1
  13. package/assets/css/core.min.css +1 -1
  14. package/assets/css/core.min.css.map +1 -1
  15. package/assets/css/style.min.css +1 -1
  16. package/assets/css/style.min.css.map +1 -1
  17. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  18. package/assets/js/components/actionbar/actionbar.component.js +7 -6
  19. package/assets/js/components/actionbar/actionbar.component.min.js +5 -5
  20. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  21. package/assets/js/components/address-lookup/address-lookup.component.js +11 -1
  22. package/assets/js/components/address-lookup/address-lookup.component.min.js +3 -3
  23. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  24. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  25. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  26. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  27. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  28. package/assets/js/components/calendar/calendar.component.min.js +1 -1
  29. package/assets/js/components/card/card.component.min.js +1 -1
  30. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  31. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  32. package/assets/js/components/config/config.component.js +532 -0
  33. package/assets/js/components/config/config.component.min.js +59 -0
  34. package/assets/js/components/config/config.component.min.js.map +1 -0
  35. package/assets/js/components/content/content.component.min.js +1 -1
  36. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  37. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  38. package/assets/js/components/fileupload/fileupload.component.min.js +1 -1
  39. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  40. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  41. package/assets/js/components/form/form.component.min.js +1 -1
  42. package/assets/js/components/header/header.component.min.js +1 -1
  43. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  44. package/assets/js/components/input/input.component.min.js +1 -1
  45. package/assets/js/components/input-range/input-range.component.min.js +1 -1
  46. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  47. package/assets/js/components/menu/menu.component.min.js +1 -1
  48. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  49. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  50. package/assets/js/components/modal/modal.component.min.js +1 -1
  51. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  52. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +1 -1
  53. package/assets/js/components/multiselect/multiselect.component.min.js +1 -1
  54. package/assets/js/components/nav/nav.component.min.js +1 -1
  55. package/assets/js/components/notification/notification.component.js +69 -30
  56. package/assets/js/components/notification/notification.component.min.js +5 -5
  57. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  58. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  59. package/assets/js/components/password/password.component.min.js +1 -1
  60. package/assets/js/components/popover/popover.component.min.js +1 -1
  61. package/assets/js/components/rank/rank.component.min.js +1 -1
  62. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  63. package/assets/js/components/rating/rating.component.min.js +1 -1
  64. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  65. package/assets/js/components/search/search.component.min.js +1 -1
  66. package/assets/js/components/slider/slider.component.min.js +1 -1
  67. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  68. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +4 -4
  69. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  70. package/assets/js/components/table/table.component.min.js +2 -2
  71. package/assets/js/components/table-ajax/table-ajax.component.min.js +2 -2
  72. package/assets/js/components/table-basic/table-basic.component.min.js +2 -2
  73. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +2 -2
  74. package/assets/js/components/table-submit/table-submit.component.min.js +2 -2
  75. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  76. package/assets/js/components/tag/tag.component.min.js +1 -1
  77. package/assets/js/components/tooltip/tooltip.component.min.js +1 -1
  78. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  79. package/assets/js/components/video-modal/video-modal.component.min.js +1 -1
  80. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  81. package/assets/js/scripts.bundle.js +1 -1
  82. package/assets/js/scripts.bundle.min.js +1 -1
  83. package/assets/sass/components/actionbar.component.scss +13 -4
  84. package/assets/sass/components/actionbar.global.scss +8 -0
  85. package/assets/sass/components/config.component.scss +235 -0
  86. package/assets/sass/components/notification.scss +4 -14
  87. package/assets/sass/components/table-basic.global.scss +4 -4
  88. package/assets/sass/foundations/root.scss +0 -4
  89. package/assets/ts/components/actionbar/actionbar.component.ts +7 -6
  90. package/assets/ts/components/address-lookup/address-lookup.component.ts +16 -1
  91. package/assets/ts/components/config/config.component.ts +699 -0
  92. package/assets/ts/components/notification/notification.component.ts +98 -47
  93. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +1 -0
  94. package/dist/components.es.js +28 -28
  95. package/dist/components.umd.js +273 -216
  96. package/package.json +1 -1
  97. package/src/components/Config/Config.vue +23 -0
@@ -35,44 +35,75 @@ class iamNotification extends HTMLElement {
35
35
  document.head.insertAdjacentHTML('beforeend', `<style id="notificationHolder">${loadExtraCSS}</style>`);
36
36
  }
37
37
 
38
+ addColour = (component, status):void => {
39
+
40
+ if (component.hasAttribute('data-type'))
41
+ component.classList.add(`bg-${status}`);
42
+ else
43
+ component.classList.add(`colour-${status}`);
44
+ }
45
+
46
+ addIcon = (component, status):void => {
47
+
48
+ switch (status) {
49
+ case 'danger':
50
+ component.insertAdjacentHTML(
51
+ 'beforeend',
52
+ '<i class="fa-solid fa-circle-exclamation" aria-hidden="true" slot="icon"></i>'
53
+ );
54
+ break;
55
+ case 'warning':
56
+ component.insertAdjacentHTML(
57
+ 'beforeend',
58
+ '<i class="fa-solid fa-triangle-exclamation" aria-hidden="true" slot="icon"></i>'
59
+ );
60
+ break;
61
+ case 'success':
62
+ component.insertAdjacentHTML(
63
+ 'beforeend',
64
+ '<i class="fa-solid fa-check-circle" aria-hidden="true" slot="icon"></i>'
65
+ );
66
+ break;
67
+ default:
68
+ component.insertAdjacentHTML(
69
+ 'beforeend',
70
+ '<i class="fa-solid fa-circle-info" aria-hidden="true" slot="icon"></i>'
71
+ );
72
+ }
73
+ }
74
+
75
+ addDismissBtn = (component):void => {
76
+ component.shadowRoot.querySelector('.notification__dismiss')?.innerHTML = `<button data-dismiss-button part="dismiss-btn">Dismiss</button>`;
77
+
78
+ component.shadowRoot.querySelector('.notification__dismiss [data-dismiss-button]').addEventListener(
79
+ 'click',
80
+ function () {
81
+ closeNotification(component);
82
+
83
+ const customEvent = new CustomEvent('dismiss', {
84
+ detail: {
85
+ class: component.classList,
86
+ },
87
+ });
88
+
89
+ component.dispatchEvent(customEvent);
90
+ },
91
+ false
92
+ );
93
+ }
94
+
38
95
  connectedCallback(): void {
39
96
  // eslint-disable-next-line @typescript-eslint/no-this-alias
40
97
  const wrapper = this;
41
98
  const defaultStatusBG = this.hasAttribute('data-type') ? 'white' : 'info';
42
99
  const statusBG = this.hasAttribute('data-status') ? this.getAttribute('data-status') : defaultStatusBG;
43
100
 
44
- if (this.hasAttribute('data-type')) this.classList.add(`bg-${statusBG}`);
45
- else {
46
- this.classList.add(`colour-${statusBG}`);
47
- }
101
+ this.addColour(this, statusBG);
48
102
 
49
103
  if (!this.querySelector('i')) {
50
- switch (statusBG) {
51
- case 'danger':
52
- this.insertAdjacentHTML(
53
- 'beforeend',
54
- '<i class="fa-solid fa-circle-exclamation" aria-hidden="true" slot="icon"></i>'
55
- );
56
- break;
57
- case 'warning':
58
- this.insertAdjacentHTML(
59
- 'beforeend',
60
- '<i class="fa-solid fa-triangle-exclamation" aria-hidden="true" slot="icon"></i>'
61
- );
62
- break;
63
- case 'success':
64
- this.insertAdjacentHTML(
65
- 'beforeend',
66
- '<i class="fa-solid fa-check-circle" aria-hidden="true" slot="icon"></i>'
67
- );
68
- break;
69
- default:
70
- this.insertAdjacentHTML(
71
- 'beforeend',
72
- '<i class="fa-solid fa-circle-info" aria-hidden="true" slot="icon"></i>'
73
- );
74
- }
104
+ this.addIcon(this, statusBG);
75
105
  }
106
+
76
107
 
77
108
  const buttons = this.querySelectorAll('a,button');
78
109
 
@@ -92,30 +123,50 @@ class iamNotification extends HTMLElement {
92
123
  }
93
124
 
94
125
  if (this.hasAttribute('data-dismiss')) {
95
- this.shadowRoot.querySelector('.notification__dismiss')?.innerHTML =
96
- `<button data-dismiss-button part="dismiss-btn">Dismiss</button>`;
97
-
98
- this.shadowRoot.querySelector('.notification__dismiss [data-dismiss-button]').addEventListener(
99
- 'click',
100
- function () {
101
- closeNotification(wrapper);
102
-
103
- const customEvent = new CustomEvent('dismiss', {
104
- detail: {
105
- class: this.classList,
106
- },
107
- });
108
-
109
- this.dispatchEvent(customEvent);
110
- },
111
- false
112
- );
126
+
127
+ this.addDismissBtn(this);
113
128
  }
114
129
 
115
130
  setupNotification(this);
116
131
 
117
132
  trackComponent(this, 'iam-notification', ['dismiss']);
118
133
  }
134
+
135
+ static get observedAttributes(): any {
136
+ return ['data-status','data-dismiss'];
137
+ }
138
+
139
+ attributeChangedCallback(attrName, oldVal, newVal): void {
140
+ switch (attrName) {
141
+ case 'data-status': {
142
+ if (oldVal != newVal) {
143
+
144
+ this.classList.remove('bg-danger');
145
+ this.classList.remove('bg-warning');
146
+ this.classList.remove('bg-success');
147
+ this.classList.remove('bg-white');
148
+ this.querySelector('i')?.remove();
149
+
150
+ this.addColour(this, newVal);
151
+ this.addIcon(this, newVal);
152
+ }
153
+ break;
154
+ }
155
+ case 'data-dismiss': {
156
+ if (oldVal != newVal) {
157
+ if (this.hasAttribute('data-dismiss')) {
158
+
159
+ this.addDismissBtn(this);
160
+ }
161
+ else {
162
+ this.shadowRoot.querySelector('.notification__dismiss')?.innerHTML = '';
163
+ }
164
+ }
165
+ break;
166
+ }
167
+ }
168
+ }
169
+
119
170
  }
120
171
 
121
172
  export default iamNotification;
@@ -1707,6 +1707,7 @@ class iamSTDAddressLookup extends HTMLElement {
1707
1707
  }
1708
1708
  });
1709
1709
 
1710
+
1710
1711
 
1711
1712
  overseasToggleInline?.addEventListener('click', () => {
1712
1713