@iamproperty/components 3.5.0 → 3.7.0

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 (113) hide show
  1. package/assets/css/components/accordion.css.map +1 -1
  2. package/assets/css/components/admin-panel.css +1 -1
  3. package/assets/css/components/admin-panel.css.map +1 -1
  4. package/assets/css/components/applied-filters.css +1 -1
  5. package/assets/css/components/applied-filters.css.map +1 -1
  6. package/assets/css/components/card.css +1 -1
  7. package/assets/css/components/card.css.map +1 -1
  8. package/assets/css/components/charts.css +1 -1
  9. package/assets/css/components/charts.css.map +1 -1
  10. package/assets/css/components/dialog.css +1 -1
  11. package/assets/css/components/dialog.css.map +1 -1
  12. package/assets/css/components/forms.css +1 -1
  13. package/assets/css/components/forms.css.map +1 -1
  14. package/assets/css/components/header.css +1 -1
  15. package/assets/css/components/header.css.map +1 -1
  16. package/assets/css/components/lists.css +1 -1
  17. package/assets/css/components/lists.css.map +1 -1
  18. package/assets/css/components/nav.css +1 -1
  19. package/assets/css/components/nav.css.map +1 -1
  20. package/assets/css/components/pagination.css +1 -1
  21. package/assets/css/components/pagination.css.map +1 -1
  22. package/assets/css/components/property-searchbar.css +1 -1
  23. package/assets/css/components/property-searchbar.css.map +1 -1
  24. package/assets/css/components/table.css +1 -1
  25. package/assets/css/components/table.css.map +1 -1
  26. package/assets/css/components/tabs.css +1 -1
  27. package/assets/css/components/tabs.css.map +1 -1
  28. package/assets/css/components/tooltips.css +1 -1
  29. package/assets/css/components/tooltips.css.map +1 -1
  30. package/assets/css/core.min.css +1 -1
  31. package/assets/css/core.min.css.map +1 -1
  32. package/assets/css/style.min.css +1 -1
  33. package/assets/css/style.min.css.map +1 -1
  34. package/assets/js/bundle.js +2 -0
  35. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  36. package/assets/js/components/card/card.component.js +2 -2
  37. package/assets/js/components/card/card.component.min.js +5 -5
  38. package/assets/js/components/card/card.component.min.js.map +1 -1
  39. package/assets/js/components/filterlist/filterlist.component.js +13 -9
  40. package/assets/js/components/filterlist/filterlist.component.min.js +14 -5
  41. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  42. package/assets/js/components/header/header.component.min.js +5 -5
  43. package/assets/js/components/table/table.component.js +23 -9
  44. package/assets/js/components/table/table.component.min.js +21 -11
  45. package/assets/js/components/table/table.component.min.js.map +1 -1
  46. package/assets/js/components/tabs/tabs.component.js +6 -2
  47. package/assets/js/components/tabs/tabs.component.min.js +7 -5
  48. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  49. package/assets/js/dynamic.js +3 -1
  50. package/assets/js/dynamic.min.js +2 -2
  51. package/assets/js/dynamic.min.js.map +1 -1
  52. package/assets/js/flat-components.js +2 -0
  53. package/assets/js/modules/applied-filters.js +6 -2
  54. package/assets/js/modules/dialogs.js +173 -0
  55. package/assets/js/modules/helpers.js +1 -84
  56. package/assets/js/modules/table.js +35 -21
  57. package/assets/js/modules/tabs.js +2 -2
  58. package/assets/js/scripts.bundle.js +53 -31
  59. package/assets/js/scripts.bundle.js.map +1 -1
  60. package/assets/js/scripts.bundle.min.js +2 -2
  61. package/assets/js/scripts.bundle.min.js.map +1 -1
  62. package/assets/js/tests/table.spec.js +16 -2
  63. package/assets/sass/_corefiles.scss +3 -0
  64. package/assets/sass/_functions/functions.scss +2 -3
  65. package/assets/sass/_functions/mixins.scss +2 -18
  66. package/assets/sass/_functions/utilities.scss +35 -3
  67. package/assets/sass/_functions/variables.scss +70 -82
  68. package/assets/sass/_tests/colours.spec.scss +8 -8
  69. package/assets/sass/_tests/func.spec.scss +1 -1
  70. package/assets/sass/components/admin-panel.scss +95 -37
  71. package/assets/sass/components/applied-filters.scss +4 -0
  72. package/assets/sass/components/card.scss +39 -28
  73. package/assets/sass/components/charts.scss +2 -2
  74. package/assets/sass/components/dialog.scss +342 -30
  75. package/assets/sass/components/forms.scss +2 -2
  76. package/assets/sass/components/lists.scss +16 -33
  77. package/assets/sass/components/pagination.scss +4 -0
  78. package/assets/sass/components/table.scss +160 -39
  79. package/assets/sass/components/tabs.scss +54 -98
  80. package/assets/sass/components/tooltips.scss +1 -1
  81. package/assets/sass/foundations/buttons.scss +69 -58
  82. package/assets/sass/foundations/icons.scss +14 -69
  83. package/assets/sass/foundations/reboot.scss +17 -8
  84. package/assets/sass/foundations/root.scss +51 -48
  85. package/assets/sass/foundations/type.scss +4 -0
  86. package/assets/sass/helpers/max-height.scss +18 -0
  87. package/assets/ts/bundle.ts +2 -0
  88. package/assets/ts/components/card/README.md +2 -1
  89. package/assets/ts/components/card/card.component.ts +2 -2
  90. package/assets/ts/components/filterlist/filterlist.component.ts +13 -11
  91. package/assets/ts/components/table/table.component.ts +24 -10
  92. package/assets/ts/components/tabs/tabs.component.ts +7 -2
  93. package/assets/ts/dynamic.ts +3 -1
  94. package/assets/ts/flat-components.ts +2 -0
  95. package/assets/ts/html.d.ts +7 -1
  96. package/assets/ts/modules/applied-filters.ts +9 -3
  97. package/assets/ts/modules/dialogs.ts +237 -0
  98. package/assets/ts/modules/helpers.ts +1 -115
  99. package/assets/ts/modules/table.ts +47 -26
  100. package/assets/ts/modules/tabs.ts +3 -2
  101. package/assets/ts/tests/table.spec.ts +16 -4
  102. package/dist/components.es.js +1027 -1017
  103. package/dist/components.umd.js +50 -24
  104. package/dist/style.css +1 -1
  105. package/package.json +2 -3
  106. package/src/components/Card/Card.vue +2 -2
  107. package/src/components/Card/README.md +1 -1
  108. package/src/components/Nav/Nav.vue +1 -3
  109. package/src/index.js +0 -1
  110. package/assets/svg/icons.svg +0 -599
  111. package/src/foundations/Icon/Icon.spec.js +0 -24
  112. package/src/foundations/Icon/Icon.vue +0 -24
  113. package/src/foundations/Icon/README.md +0 -11
@@ -4,7 +4,7 @@
4
4
  table {
5
5
  --border-width: 2px;
6
6
  --inner-border-width: 2px;
7
- --hover-background: #EEEEEE;
7
+ --hover-background: var(--colour-light);
8
8
  width: 100%;
9
9
  font-size: rem(16);
10
10
  border: none;
@@ -24,7 +24,10 @@ td,th {
24
24
  color: var(--colour-body);
25
25
 
26
26
  &:last-child {
27
- padding-right: 0;
27
+ padding-right: rem(2);
28
+ }
29
+ &:first-child {
30
+ padding-left: rem(2);
28
31
  }
29
32
  }
30
33
 
@@ -56,23 +59,28 @@ tbody tr {
56
59
 
57
60
  &:is(:hover,:focus-within,.hover) {
58
61
 
62
+ --bg-colour-rgb: 238,238,238;
63
+
59
64
  th,td {
60
65
  background: var(--hover-background);
66
+ color: var(--colour-primary-theme);
67
+ --colour-link: var(--colour-primary-theme);
68
+ --colour-hover: var(--colour-primary-theme);
61
69
  }
62
70
  }
63
71
 
64
- td {
72
+ :is(td, th) {
65
73
 
66
74
  border-top: var(--border-width) solid currentColor;
67
75
  @include var(border-color,--colour-border);
68
76
  }
69
77
 
70
- &:first-child td{
78
+ &:first-child :is(td, th){
71
79
  border-top: var(--border-width) solid currentColor;
72
80
  @include var(border-color,--colour-primary);
73
81
  }
74
82
 
75
- &:last-child td{
83
+ &:last-child :is(td, th){
76
84
  border-bottom: var(--border-width) solid currentColor;
77
85
  @include var(border-color,--colour-border);
78
86
  }
@@ -89,12 +97,18 @@ table.border-0 {
89
97
  // #region Table wrapper - Add via JS if needed, provides a safe space to scroll
90
98
  :is(iam-table, .iam-table) {
91
99
  --wrapper-padding: #{rem(32)};
100
+ --bg-colour: #ffffff;
92
101
  display: block;
102
+ background: var(--colour-canvas-2);
93
103
  padding: var(--wrapper-padding);
94
104
  box-shadow: 0px 6px 12px rgba(0,0,0,0.11);
95
105
  border-radius: rem(8);
96
106
  margin-bottom: rem(32);
97
107
 
108
+ &:before {
109
+ display: none!important;
110
+ }
111
+
98
112
  table {
99
113
  margin-bottom: 0;
100
114
  }
@@ -119,25 +133,43 @@ table.border-0 {
119
133
  }
120
134
  *:has(> .iam-table){
121
135
  container-type: inline-size;
136
+
122
137
  }
123
138
  @container (width < 23.4375em) {
124
139
 
140
+ .iam-table, iam-table {
141
+ margin-left: -1.5rem;
142
+ margin-right: -1.5rem;
143
+ margin-bottom: 0;
144
+ }
145
+
146
+
125
147
  .table__wrapper:not(.table--fullwidth) {
126
148
 
127
149
  overflow: hidden;
128
150
  max-height: none!important;
129
-
130
151
  }
131
152
  :is(iam-table, .iam-table):not(.table--fullwidth) {
132
153
 
154
+ background: none;
155
+ padding: 0;
156
+ box-shadow: none;
157
+ overflow: visible;
158
+
133
159
  table {
134
160
 
161
+ overflow: visible;
162
+ margin-inline: 1.5rem;
163
+ margin-bottom: 1.5rem;
164
+ width: calc(100% - 3rem);
165
+
135
166
  thead {
136
167
  display: none;
137
168
  }
138
169
 
139
170
  tbody {
140
171
  display: block;
172
+ overflow: visible;
141
173
 
142
174
  tr td:first-child {
143
175
  padding-top:0;
@@ -148,6 +180,10 @@ table.border-0 {
148
180
  display: block;
149
181
  position: relative;
150
182
  border: none;
183
+ background: var(--colour-canvas-2);
184
+ padding: var(--wrapper-padding);
185
+ box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
186
+ border-radius: rem(8);
151
187
 
152
188
  & + tr {
153
189
  margin-top: rem(32);
@@ -194,6 +230,14 @@ table.border-0 {
194
230
  }
195
231
  }
196
232
 
233
+ td:first-child::after {
234
+ top: 1.75rem;
235
+ }
236
+
237
+ td::after {
238
+ top: 2.5rem;
239
+ }
240
+
197
241
  tbody tr:first-child td:not(:first-child) {
198
242
  border-top: var(--border-width) solid currentColor!important;
199
243
  border-color: var(--colour-border)!important;
@@ -252,8 +296,23 @@ table.border-0 {
252
296
  }
253
297
  }
254
298
 
299
+ .table--cta {
300
+ border-bottom: 0;
301
+
302
+ &:after {
303
+ content: none;
304
+ display: none !important;;
305
+ }
306
+ }
255
307
  .table--cta:not(.table--fullwidth) tr td:last-child {
256
308
  display: block!important;
309
+ position: static;
310
+ width: 100%;
311
+ min-width: 100%;
312
+ margin-left: 0;
313
+ padding-left: 0;
314
+ text-align: left;
315
+ min-height: 0;
257
316
  }
258
317
 
259
318
  }
@@ -305,14 +364,18 @@ table.border-0 {
305
364
  min-width: fit-content;
306
365
  min-height: var(--row-height);
307
366
  text-align: right;
308
- background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 1.25rem);
309
- background: linear-gradient(90deg, rgba(var(--bg-colour-rgb,255,255,255),0) 0%, rgba(var(--bg-colour-rgb,255,255,255),1) 1.25rem);
367
+ background: linear-gradient(90deg, transparent 0%, var(--colour-canvas-2) 1.25rem);
310
368
 
311
369
  a {
312
370
  white-space: nowrap;
313
371
  }
314
372
  }
315
373
 
374
+ tr:hover > *:last-child {
375
+
376
+ background: linear-gradient(90deg, transparent 0%, var(--hover-background) 1.25rem);
377
+ }
378
+
316
379
  tbody tr > *:last-child {
317
380
  margin-top: -1px;
318
381
  }
@@ -327,39 +390,21 @@ table.border-0 {
327
390
  // #endregion
328
391
 
329
392
  // #region Max height tables
330
- .table__wrapper:is(.table--mh-small,.table--mh-medium,.table--mh-large) {
331
- max-height: var(--table-mh,#{rem(200)});
332
- overflow: auto;
393
+ .table__wrapper:is(.mh-sm,.mh-md,.mh-lg) {
394
+
333
395
  position: relative;
334
396
 
335
397
  &::before {
336
- content: "";
337
398
  top: calc(100% - 1.2rem);
338
399
  bottom: 2px;
339
- left: 0;
340
- right: 0;
341
400
  height: 1.2rem;
342
- position: sticky;
343
- display: block;
344
- background: linear-gradient(180deg, rgba(var(--bg-colour-rgb, 255, 255, 255), 0) 0%, rgba(var(--bg-colour-rgb, 255, 255, 255), 1) 100%);
345
401
  border-bottom: 2px solid var(--colour-border);
346
- z-index: 2;
347
402
  margin-bottom: -1.2rem;
348
403
  }
349
404
  }
350
405
 
351
- .table__wrapper.table--mh-small {
352
- --table-mh: #{$table-mh-sm};
353
- }
354
- .table__wrapper.table--mh-medium {
355
- --table-mh: #{$table-mh-md};
356
- }
357
- .table__wrapper.table--mh-large {
358
- --table-mh: #{$table-mh-lg};
359
- }
360
-
361
406
  // If table CTA class is set then undo max-height
362
- .table--cta > .table__wrapper:is(.table--mh-small,.table--mh-medium,.table--mh-large) {
407
+ .table--cta > .table__wrapper:is(.mh-sm,.mh-md,.mh-lg) {
363
408
  max-height: none;
364
409
  position: static;
365
410
 
@@ -368,7 +413,7 @@ table.border-0 {
368
413
  }
369
414
  }
370
415
 
371
- iam-table:is(.table--mh-small,.table--mh-medium,.table--mh-large):not(.table--cta) {
416
+ iam-table:is(.mh-sm,.mh-md,.mh-lg):not(.table--cta) {
372
417
 
373
418
  position: relative;
374
419
 
@@ -377,7 +422,7 @@ iam-table:is(.table--mh-small,.table--mh-medium,.table--mh-large):not(.table--ct
377
422
  top: 0;
378
423
  left: 0;
379
424
  z-index: 1;
380
- background-color: var(--colour-white);;
425
+ background-color: var(--colour-canvas-2);
381
426
 
382
427
  &:before {
383
428
  content: "";
@@ -413,11 +458,87 @@ table:not(.table--filtered) tbody tr:nth-child(15) ~ tr {
413
458
  }
414
459
 
415
460
  // Statuses
416
- /* Will be used in the future
417
- [data-content="Incomplete"] {
418
- background-color: red;
419
- }
420
- [data-content="Verified"] {
421
- background-color: green;
422
- }
423
- */
461
+
462
+ table {
463
+
464
+ :is([data-content="Low"],
465
+ [data-content="Medium"],
466
+ [data-content="High"],
467
+ [data-content="Incomplete"],
468
+ [data-content="Requires approval"],
469
+ [data-content="Verified"],
470
+ [data-content="Not started"],
471
+ [data-content="Completed"],
472
+ .alert-status
473
+ ) {
474
+
475
+ position: relative;
476
+ padding-left: 1.5rem;
477
+
478
+ &::before {
479
+ margin-left: -1.5rem!important;
480
+ }
481
+
482
+ &:after {
483
+
484
+ font-family: "Font Awesome 6 Pro";
485
+ position: absolute;
486
+ top: 1rem;
487
+ left: 0;
488
+ content: "";
489
+ font-size: rem(16);
490
+ line-height: 1;
491
+ height: rem(16);
492
+ width: rem(16);
493
+ display: inline-block;
494
+ }
495
+ }
496
+
497
+ [data-content="High"]:after {
498
+ content: "\f325";
499
+ font-weight: normal;
500
+ color: var(--colour-danger);
501
+ }
502
+
503
+ [data-content="Medium"]:after {
504
+
505
+ content: "\f7a4";
506
+ font-weight: normal;
507
+ color: var(--colour-warning);
508
+ }
509
+
510
+ [data-content="Low"]:after {
511
+
512
+ content: "\e404";
513
+ font-weight: normal;
514
+ color: var(--colour-complete);
515
+ }
516
+
517
+ :is([data-content="Not started"],[data-content="Incomplete"]):after {
518
+
519
+ content: "\f024";
520
+ font-weight: light;
521
+ color: var(--colour-danger);
522
+ }
523
+
524
+ [data-content="Requires approval"]:after {
525
+
526
+ content: "\f024";
527
+ font-weight: light;
528
+ color: var(--colour-warning);
529
+ }
530
+
531
+ :is([data-content="Verified"],[data-content="Completed"]):after {
532
+
533
+ content: "\f00c";
534
+ font-weight: normal;
535
+ color: var(--colour-complete);
536
+ }
537
+
538
+ .alert-status:not(:empty):after {
539
+
540
+ content: "\f06a";
541
+ font-weight: light;
542
+ color: var(--colour-danger);
543
+ }
544
+ }
@@ -1,116 +1,72 @@
1
1
  @use "../_func" as *;
2
2
 
3
- .tabs {
3
+ .tabs:not(.admin-panel) {
4
4
 
5
5
  position: relative;
6
-
7
- > .tabs__links {
8
- margin-bottom: 1.5rem;
9
- overflow: hidden;
10
- padding-bottom: 2px;
11
-
12
-
13
- .link:not(.text-decoration-none):not(.btn) {
14
- --is-current: 0;
15
- font-weight: bold;
16
- font-family: var(--font-heading);
17
- font-size: rem(18);
18
- cursor: pointer;
19
- margin: 0 0 0.5rem 0;
20
- float: left;
21
- clear: both;
22
- padding: 0;
23
- display: inline-block;
24
-
25
- @include media-breakpoint-up(sm) {
26
- clear: none;
27
- margin-bottom: 0;
28
- margin-right: 2rem;
29
- }
30
-
31
- &:after {
32
- position: absolute;
33
- content: "";
34
- top: 100%;
35
- left: 50%;
36
- height: 2px;
37
- //width: 100%;
38
- transform: translate(-50%,0);
39
- background: var(--colour-underline);
40
- transition: width 0.5s;
41
-
42
- width: calc(var(--is-current) * 100%);
43
- }
44
-
45
- &:hover:after,
46
- &:focus:after,
47
- &.focus:after {
48
- width: 100%;
49
- }
50
- }
51
- }
52
-
53
- .tabs__links .link:not(.text-decoration-none):not(.btn)[aria-pressed="true"] {
54
-
55
- --is-current: 1;
56
- --panel-tab-colour: white;
57
- --panel-tab-border: var(--colour-secondary)
58
- }
59
6
  }
60
7
 
61
- // #region admin panel
62
- .admin-panel .tabs__links,
63
- :host(.admin-panel) .tabs__links {
64
- /*
65
- margin-top: -3px!important;
66
- margin-left: calc(var(--panel-gutter) * -1);
67
- margin-right: calc(var(--panel-gutter) * -1);
68
- display: flex;
69
- flex-direction: column;
70
- background-color: var(--colour-canvas);
71
- border-bottom: 2px solid var(--colour-border-light);
72
- margin-bottom: var(--panel-gutter);
73
-
74
- @include media-breakpoint-up(sm) {
8
+ .tabs__links {
9
+ margin-bottom: 1.5rem;
10
+ overflow: visible;
11
+ padding-bottom: 2px;
12
+ position: relative;
13
+ display: block;
75
14
 
76
- flex-direction: row;
77
- border-top: 1px solid var(--colour-border-light);
15
+ &:after {
16
+ content: "";
17
+ left: 50%;
18
+ position: relative;
19
+ height: 3px;
20
+ width: 100vw;
21
+ border-bottom: 1px solid var(--colour-border);
22
+ transform: translate(-50%,0);
23
+ display: block;
24
+ clear: both;
78
25
  }
79
26
 
80
27
  .link:not(.text-decoration-none):not(.btn) {
81
- padding: var(--panel-gutter);
82
- margin: 0;
83
- width: 100%;
84
- background: var(--panel-tab-colour);
85
- border-top: 1px solid var(--colour-border-light);
86
- border-left: 3px solid var(--panel-tab-border, #fafafa);
87
- text-align: left;
88
-
89
- &:before {
90
- display: none;
28
+ --is-current: 0;
29
+ font-weight: bold;
30
+ font-family: var(--font-heading);
31
+ font-size: rem(18);
32
+ cursor: pointer;
33
+ margin: 0.5rem 1.5rem 0 0;
34
+ padding: 0;
35
+ display: inline-block;
36
+
37
+ &:last-child {
38
+ margin-inline-end: 0;
91
39
  }
92
40
 
93
- @include media-breakpoint-up(sm) {
94
-
95
- margin-right: 0!important;
96
-
97
- &:first-child{
98
- border-left: none!important;
99
- }
41
+ &:after {
42
+ position: absolute;
43
+ content: "";
44
+ top: 100%;
45
+ left: 50%;
46
+ height: 2px;
47
+ transform: translate(-50%,0);
48
+ background: var(--colour-info);
49
+ transition: width 0.5s;
50
+ width: 0%;
51
+ }
100
52
 
101
- &:not(:first-child){
53
+ &:hover:after,
54
+ &:focus:after,
55
+ &.focus:after {
102
56
 
103
- border-left: 1px solid var(--colour-border-light)!important;
104
- }
57
+ width: 60%;
58
+ }
59
+
60
+ &[aria-pressed="true"]:after,
61
+ &:active:after,
62
+ &.active:after {
63
+ width: 100%;
64
+ }
105
65
 
106
- border-top: 3px solid var(--panel-tab-border, #fafafa);
66
+ &[aria-pressed="true"],
67
+ &.active {
68
+ pointer-events: none;
69
+ outline: var(--contrast-outline-width, 0px) solid var(--colour-primary-theme)!important;
107
70
  }
108
71
  }
109
- */
110
- }
111
-
112
- :host(.admin-panel) {
113
-
114
- display: block;
115
72
  }
116
- // #endregion
@@ -25,7 +25,7 @@
25
25
  left: 50%;
26
26
  min-width: max(120%, #{rem(100)});
27
27
  transform: translate(-50%,0);
28
- background: var(--colour-canvas);
28
+ background: var(--colour-canvas-2);
29
29
  color: inherit;
30
30
  padding: 0.5em;
31
31
  border-radius: 3px;