@iamproperty/components 4.0.0 → 4.1.0-beta

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 (87) hide show
  1. package/assets/css/components/actionbar-global.css +1 -1
  2. package/assets/css/components/actionbar-global.css.map +1 -1
  3. package/assets/css/components/actionbar.css +1 -1
  4. package/assets/css/components/actionbar.css.map +1 -1
  5. package/assets/css/components/admin-panel.css +1 -1
  6. package/assets/css/components/admin-panel.css.map +1 -1
  7. package/assets/css/components/card-global.css +1 -1
  8. package/assets/css/components/card-global.css.map +1 -1
  9. package/assets/css/components/card.css +1 -1
  10. package/assets/css/components/card.css.map +1 -1
  11. package/assets/css/components/charts.css.map +1 -1
  12. package/assets/css/components/collapsible-side.css.map +1 -1
  13. package/assets/css/components/dialog.css +1 -1
  14. package/assets/css/components/dialog.css.map +1 -1
  15. package/assets/css/components/fileupload.css.map +1 -1
  16. package/assets/css/components/header.css.map +1 -1
  17. package/assets/css/components/lists.css.map +1 -1
  18. package/assets/css/components/nav-global.css +1 -1
  19. package/assets/css/components/nav-global.css.map +1 -1
  20. package/assets/css/components/nav.css.map +1 -1
  21. package/assets/css/components/nav.old.css.map +1 -1
  22. package/assets/css/components/notification.css.map +1 -1
  23. package/assets/css/components/pagination.css.map +1 -1
  24. package/assets/css/components/property-searchbar.css.map +1 -1
  25. package/assets/css/components/table.css +1 -1
  26. package/assets/css/components/table.css.map +1 -1
  27. package/assets/css/core.min.css +1 -1
  28. package/assets/css/core.min.css.map +1 -1
  29. package/assets/css/style.min.css +1 -1
  30. package/assets/css/style.min.css.map +1 -1
  31. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  32. package/assets/js/components/actionbar/actionbar.component.js +45 -0
  33. package/assets/js/components/actionbar/actionbar.component.min.js +4 -4
  34. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  35. package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
  36. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  37. package/assets/js/components/card/card.component.js +9 -1
  38. package/assets/js/components/card/card.component.min.js +7 -5
  39. package/assets/js/components/card/card.component.min.js.map +1 -1
  40. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  41. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  42. package/assets/js/components/header/header.component.min.js +1 -1
  43. package/assets/js/components/nav/nav.component.min.js +1 -1
  44. package/assets/js/components/notification/notification.component.min.js +1 -1
  45. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  46. package/assets/js/components/table/table.component.js +3 -0
  47. package/assets/js/components/table/table.component.min.js +10 -10
  48. package/assets/js/components/table/table.component.min.js.map +1 -1
  49. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  50. package/assets/js/dynamic.min.js +3 -3
  51. package/assets/js/dynamic.min.js.map +1 -1
  52. package/assets/js/modules/applied-filters.js +3 -3
  53. package/assets/js/modules/dialogs.js +12 -0
  54. package/assets/js/modules/table.js +68 -13
  55. package/assets/js/scripts.bundle.js +15 -13
  56. package/assets/js/scripts.bundle.js.map +1 -1
  57. package/assets/js/scripts.bundle.min.js +2 -2
  58. package/assets/js/scripts.bundle.min.js.map +1 -1
  59. package/assets/sass/_corefiles.scss +0 -1
  60. package/assets/sass/_func.scss +1 -0
  61. package/assets/sass/_functions/mixins.scss +22 -0
  62. package/assets/sass/components/actionbar-global.scss +69 -7
  63. package/assets/sass/components/actionbar.scss +13 -7
  64. package/assets/sass/components/admin-panel.scss +47 -2
  65. package/assets/sass/components/card-global.scss +46 -1
  66. package/assets/sass/components/card.scss +14 -12
  67. package/assets/sass/components/charts.scss +1 -1
  68. package/assets/sass/components/collapsible-side.scss +1 -1
  69. package/assets/sass/components/dialog.scss +6 -23
  70. package/assets/sass/components/fileupload.scss +1 -1
  71. package/assets/sass/components/nav-global.scss +15 -9
  72. package/assets/sass/components/nav.scss +9 -10
  73. package/assets/sass/components/notification.scss +1 -1
  74. package/assets/sass/components/table.scss +85 -4
  75. package/assets/sass/core.scss +1 -0
  76. package/assets/sass/error.scss +2 -1
  77. package/assets/sass/foundations/root.scss +3 -3
  78. package/assets/sass/main.scss +4 -3
  79. package/assets/ts/components/actionbar/actionbar.component.ts +67 -2
  80. package/assets/ts/components/card/card.component.ts +12 -2
  81. package/assets/ts/components/table/table.component.ts +4 -0
  82. package/assets/ts/modules/applied-filters.ts +6 -5
  83. package/assets/ts/modules/dialogs.ts +17 -0
  84. package/assets/ts/modules/table.ts +82 -13
  85. package/dist/components.es.js +827 -757
  86. package/dist/components.umd.js +35 -33
  87. package/package.json +1 -1
@@ -20,7 +20,6 @@
20
20
  @use "components/admin-panel.scss";
21
21
  @use "components/dialog.scss";
22
22
 
23
- @use "components/nav-global.scss";
24
23
  @use "components/pagination.scss";
25
24
  @use "components/accordion.scss";
26
25
 
@@ -1,5 +1,6 @@
1
1
  $compatible: 'false'!default;
2
2
  $mobileOnly: 'false'!default;
3
+ $darkMode: 'true'!default;
3
4
 
4
5
  // Declare global vars variable
5
6
  $vars: ()!default;
@@ -18,6 +18,28 @@
18
18
  }
19
19
  }
20
20
 
21
+ @mixin dark-mode(){
22
+ @media screen and (prefers-color-scheme: dark) {
23
+ @if $darkMode == "true" {
24
+
25
+ @content;
26
+ }
27
+ }
28
+ }
29
+
30
+ @mixin light-mode(){
31
+
32
+ @if $darkMode == "true" {
33
+ @media screen and (prefers-color-scheme: light) {
34
+
35
+ @content;
36
+ }
37
+ }
38
+ @else {
39
+ @content;
40
+ }
41
+ }
42
+
21
43
  @mixin container-up($name) {
22
44
 
23
45
  @if $name == 'sm' {
@@ -7,6 +7,34 @@ iam-actionbar {
7
7
  display: block;
8
8
  border-top-left-radius: rem(10);
9
9
  border-top-right-radius: rem(10);
10
+
11
+ }
12
+ // #endregion
13
+
14
+ // #region at the top
15
+ main > .actionbar__sticky-wrapper > .actionbar__sticky > iam-actionbar {
16
+
17
+ background-color: #e6eaec;
18
+ border-radius: rem(8);
19
+ margin: var(--container-padding);
20
+ margin-bottom: 2rem;
21
+ box-shadow: 2px 6px 12px rgba(0,0,0,0.2);
22
+
23
+ &:first-child {
24
+
25
+ padding-top: 0;
26
+ }
27
+
28
+ @include media-breakpoint-up(sm) {
29
+ box-shadow: none;
30
+ margin-inline: 0;
31
+ border-radius: 0;
32
+ }
33
+
34
+ @include media-breakpoint-up(md) {
35
+
36
+ padding-inline: calc(50% - #{rem(556)} - 2rem);
37
+ }
10
38
  }
11
39
  // #endregion
12
40
 
@@ -17,24 +45,50 @@ iam-table iam-actionbar {
17
45
  margin-right: 1.5rem;
18
46
  }
19
47
 
48
+ .actionbar__sticky-wrapper {
49
+
50
+ container-type: inline-size;
51
+
52
+ @include media-breakpoint-up(sm) {
53
+
54
+ padding: 0!important;
55
+ }
56
+ }
57
+
20
58
  @container (width < 23.4375em) {
21
59
 
22
- iam-table iam-actionbar {
60
+ :is(iam-table, .actionbar__sticky-wrapper) > .actionbar__sticky {
23
61
 
24
62
  display: block;
25
63
  position: sticky;
26
64
  left: 0;
27
- top: calc(var(--nav-height) + #{rem(24)});
65
+ top: calc(var(--sticky-padding) + #{rem(16)});
66
+ z-index: var(--index-menu);
67
+ pointer-events: none;
68
+
69
+ &:after {
70
+ content: "";
71
+ display: block;
72
+ width: 100%;
73
+ height: calc(100vh - #{rem(68 + 24 + 16)});
74
+ pointer-events: none;
75
+ }
76
+
77
+ & + * {
78
+ margin-top: calc(-100vh - -6.75rem);
79
+ }
80
+ }
81
+
82
+ :is(iam-table, .actionbar__sticky) > iam-actionbar {
83
+
84
+ pointer-events: all!important;
85
+ display: block;
28
86
  border: none;
29
87
  background: var(--colour-canvas-2);
30
-
31
88
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
32
89
  border-radius: 0.5rem;
33
90
  margin-bottom: rem(24);
34
-
35
- z-index: var(--index-menu);
36
91
  }
37
-
38
92
  }
39
93
 
40
94
  @include media-breakpoint-up(sm) {
@@ -66,6 +120,7 @@ iam-actionbar[data-view="small"] ~ [data-view="small"] {
66
120
  // #endregion
67
121
 
68
122
  // #region Child elements
123
+
69
124
  .actionbar__text {
70
125
 
71
126
  font-size: rem(18);
@@ -81,9 +136,16 @@ iam-actionbar[data-view="small"] ~ [data-view="small"] {
81
136
  background: none;
82
137
  border: none;
83
138
  }
139
+ button[slot="overflow"],
140
+ button[slot="selected-overflow"] {
141
+
142
+ background: none;
143
+ border: none;
144
+ margin: 0!important;
145
+ }
84
146
  .dialog__wrapper[slot="selected-overflow"] dialog[open],
85
147
  .dialog__wrapper[slot="overflow"] dialog[open] {
86
148
 
87
149
  display: contents;
88
150
  }
89
- // #endregion
151
+ // #endregion
@@ -75,7 +75,13 @@
75
75
 
76
76
  .actionbar--selected {
77
77
 
78
- background-color: #E6EAEC;
78
+ background-color: var(--colour-canvas);
79
+
80
+ @include light-mode {
81
+
82
+ background-color: #E6EAEC;
83
+ }
84
+
79
85
  display: flex;
80
86
  opacity: 0;
81
87
  pointer-events: none;
@@ -83,7 +89,12 @@
83
89
 
84
90
  .actionbar--search {
85
91
 
86
- background-color: #E6EAEC;
92
+ background-color: var(--colour-canvas);
93
+
94
+ @include light-mode {
95
+
96
+ background-color: #E6EAEC;
97
+ }
87
98
  display: flex;
88
99
  z-index: 2;
89
100
  position: relative;
@@ -205,11 +216,6 @@
205
216
  }
206
217
  }
207
218
 
208
- ::slotted(.dialog__wrapper[slot="overflow"]) dialog[open]{
209
-
210
- background: red;
211
- }
212
-
213
219
  .dialog__wrapper.dialog-overflow {
214
220
  margin-left: 0.5rem;
215
221
  margin-right: -0.5rem;
@@ -12,7 +12,7 @@
12
12
  margin-bottom: rem(24);
13
13
  outline: var(--contrast-outline-width, 0px) solid var(--colour-primary);
14
14
 
15
- @media screen and (prefers-color-scheme: dark) {
15
+ @include dark-mode() {
16
16
 
17
17
  background-color: var(--colour-canvas-2);
18
18
  color: var(--colour-body);
@@ -161,4 +161,49 @@
161
161
  pointer-events: none;
162
162
  }
163
163
  }
164
- // #endregion
164
+ // #endregion
165
+
166
+ // #region Has actionbar
167
+ .admin-panel:has(iam-actionbar) {
168
+
169
+ > :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):first-child {
170
+ margin-bottom: 0;
171
+ }
172
+
173
+ iam-actionbar {
174
+
175
+ background: var(--colour-canvas);
176
+
177
+ @include light-mode {
178
+
179
+ background: #eeeeee;
180
+ }
181
+
182
+ margin-inline: calc(var(--padding-x) * -1);
183
+ margin-bottom: var(--padding-top);
184
+
185
+ &:first-child {
186
+ margin-top: calc(var(--padding-top) * -1);
187
+ }
188
+ &:not(:first-child){
189
+
190
+ border-radius: 0;
191
+ }
192
+ }
193
+
194
+ > iam-table {
195
+ overflow: visible;
196
+
197
+ &:first-child {
198
+ margin-top: calc(var(--padding-top) * -1);
199
+ }
200
+
201
+ iam-actionbar {
202
+
203
+ margin-top: 0!important;
204
+ border-radius: 0;
205
+ box-shadow: none;
206
+ }
207
+ }
208
+ }
209
+ // #endregion
@@ -1,3 +1,5 @@
1
+ @use "../_func.scss" as *;
2
+
1
3
  // #region card with a flag
2
4
  iam-card.card--flag {
3
5
  position: relative;
@@ -17,4 +19,47 @@ iam-card.card--flag {
17
19
  color: var(--colour, var(--colour-primary));
18
20
  }
19
21
  }
20
- // #endregion
22
+ // #endregion
23
+
24
+ // #region cards with an added checkbox for actionbars
25
+
26
+ iam-card {
27
+
28
+
29
+ > div:has([type="checkbox"]) {
30
+ display: contents;
31
+
32
+ > input:is([type=radio], [type=checkbox]) + label {
33
+
34
+ position: absolute!important;
35
+ top: 0;
36
+ right: 0;
37
+ width: rem(32);
38
+ padding-left: rem(32);
39
+ margin: rem(4) rem(8)!important;
40
+ height: rem(40);
41
+ overflow: hidden;
42
+ }
43
+ }
44
+ }
45
+
46
+ [data-select-container]:has([type="checkbox"]:checked) iam-card {
47
+
48
+ > div:has([type="checkbox"]) {
49
+
50
+ > input:is([type=radio], [type=checkbox]) {
51
+ width: 100%;
52
+ height: 100%;
53
+ max-height: 100%;
54
+ max-width: 100%;
55
+ cursor: pointer;
56
+ pointer-events: all;
57
+ inset: 0;
58
+ border-radius: 0;
59
+ z-index: 10;
60
+ }
61
+ }
62
+ }
63
+
64
+
65
+ // #endregion
@@ -175,19 +175,12 @@
175
175
  }
176
176
  }
177
177
 
178
- &:is(:active, .active){
179
-
180
- .card__body {
181
- background: #E0E0E0;
182
- }
183
- }
184
-
185
- &:is(:checked, .checked){
186
- outline: 2px solid var(--colour,var(--colour-info));
178
+ &:is(:checked, .checked,:active, .active){
179
+ outline: 2px solid var(--colour,var(--colour-primary));
187
180
  outline-offset: -2px;
188
181
 
189
182
  .card__body {
190
- background: #E0E0E0;
183
+ background: none;
191
184
  }
192
185
  }
193
186
 
@@ -211,7 +204,7 @@
211
204
  }
212
205
  }
213
206
 
214
- @media screen and (prefers-color-scheme: dark) {
207
+ @include dark-mode() {
215
208
  .card--filter {
216
209
 
217
210
  .card__body {
@@ -221,7 +214,6 @@
221
214
  &:is(:hover,:focus,.hover, :active, .active):not(:checked,.checked){
222
215
  outline: 2px solid var(--colour, var(--colour-primary))!important;
223
216
  outline-offset: -2px;
224
-
225
217
  }
226
218
  }
227
219
  }
@@ -276,3 +268,13 @@
276
268
  }
277
269
  }
278
270
  //#endregion
271
+
272
+
273
+ :host([data-selected]) .card {
274
+ //background-color: yellow!important;
275
+
276
+ &:before,
277
+ &:after {
278
+ display: none!important;
279
+ }
280
+ }
@@ -22,7 +22,7 @@ $chart-colors: map-merge((
22
22
  }
23
23
  }
24
24
 
25
- @media screen and (prefers-color-scheme: dark) {
25
+ @include dark-mode() {
26
26
 
27
27
  :root {
28
28
  --colour-chart-1: var(--colour-dark);
@@ -4,7 +4,7 @@
4
4
  --colour-border: #e9e9e9;
5
5
  --side-link-hover: var(--colour-canvas-2);
6
6
 
7
- @media screen and (prefers-color-scheme: light) {
7
+ @include light-mode() {
8
8
 
9
9
  --side-link-hover: #eeeeee;
10
10
  }
@@ -374,7 +374,7 @@ dialog::backdrop {
374
374
  }
375
375
  }
376
376
 
377
- @media screen and (prefers-color-scheme: dark) {
377
+ @include dark-mode() {
378
378
 
379
379
  button {
380
380
 
@@ -561,36 +561,19 @@ dialog::backdrop {
561
561
  width: rem(360);
562
562
  }
563
563
 
564
-
565
564
  &.dialog--list {
566
565
 
567
566
  width: fit-content!important;
567
+
568
+ @include media-breakpoint-up(sm) {
569
+ width: max-content!important;
570
+ }
571
+
568
572
  min-width: rem(140)!important;
569
573
  max-width: rem(280)!important;
570
574
  padding: rem(16);
571
575
  margin: 0;
572
576
 
573
- .btn-action {
574
- border: none;
575
- padding: 0;
576
- margin: 0;
577
- padding-block: rem(6);
578
- line-height: rem(20);
579
- background: none;
580
- white-space: inherit;
581
- max-width: 100%;
582
- min-width: 100%;
583
-
584
- &:before {
585
- min-width: rem(20);
586
- display: inline-block;
587
- }
588
-
589
- &::after {
590
- float: right;
591
- }
592
- }
593
-
594
577
  hr {
595
578
  height: 2px;
596
579
  background: var(--colour-border);
@@ -53,7 +53,7 @@
53
53
 
54
54
 
55
55
 
56
- @media screen and (prefers-color-scheme: dark) {
56
+ @include dark-mode() {
57
57
 
58
58
  background: var(--colour-canvas-2);
59
59
  border-color: var(--colour-canvas-2);
@@ -10,11 +10,17 @@ body:has(iam-nav.open:not(.nav--sticky):not(.nav--xs-sticky)) {
10
10
  body {
11
11
 
12
12
  --nav-height: #{rem(96)};
13
+ --sticky-padding: 0px;
13
14
 
14
15
  &:has(iam-nav a[slot="secondary"]){
15
16
 
16
17
  --nav-height: #{rem(96 + 40)};
17
18
  }
19
+
20
+ &:has(iam-nav.nav--sticky) {
21
+
22
+ --sticky-padding: var(--nav-height);
23
+ }
18
24
  }
19
25
 
20
26
  // #region Create the correct padding top of the page
@@ -110,7 +116,7 @@ iam-nav {
110
116
  text-decoration: none;
111
117
  }
112
118
 
113
- a:not([slot="logo"]):not(:has(iam-card)) {
119
+ a:not([slot="logo"]):not(.btn):not(:has(iam-card)) {
114
120
 
115
121
  text-decoration: none;
116
122
 
@@ -165,7 +171,7 @@ iam-nav details {
165
171
 
166
172
  background-color: var(--colour-canvas);
167
173
 
168
- @media screen and (prefers-color-scheme: light) {
174
+ @include light-mode() {
169
175
  background-color: #EEEEEE;
170
176
  }
171
177
 
@@ -180,9 +186,9 @@ iam-nav details {
180
186
  background-color: var(--colour-white);
181
187
 
182
188
 
183
- @media screen and (prefers-color-scheme: dark) {
189
+ @include dark-mode() {
184
190
 
185
- background-color: var(--colour-canvas-2);
191
+ background-color: var(--colour-canvas-2);
186
192
  }
187
193
  display:block;
188
194
  border: none;
@@ -378,11 +384,11 @@ iam-nav details {
378
384
  box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.11);
379
385
 
380
386
 
381
- @media screen and (prefers-color-scheme: light) {
387
+ @include light-mode() {
382
388
  background: var(--colour-white);
383
389
  @include reset-colours();
384
390
  }
385
- @media screen and (prefers-color-scheme: dark) {
391
+ @include dark-mode() {
386
392
 
387
393
  @include invert-colours();
388
394
  }
@@ -393,7 +399,7 @@ iam-nav details {
393
399
 
394
400
  background: var(--colour-canvas-2);
395
401
 
396
- @media screen and (prefers-color-scheme: light) {
402
+ @include light-mode() {
397
403
  background: #EEEEEE;
398
404
  }
399
405
  a {
@@ -426,7 +432,7 @@ iam-nav details {
426
432
  &[open] > div:not(:has(details)) {
427
433
  background: var(--colour-canvas);
428
434
 
429
- @media screen and (prefers-color-scheme: light) {
435
+ @include light-mode() {
430
436
  background: var(--colour-white);
431
437
  --colour-canvas-2: white;
432
438
  }
@@ -489,7 +495,7 @@ iam-nav details {
489
495
  }
490
496
  }
491
497
 
492
- a:not([slot="logo"]):not(:has(iam-card)) {
498
+ a:not([slot="logo"]):not(.btn):not(:has(iam-card)) {
493
499
 
494
500
  font-size: 1rem;
495
501
  line-height: rem(24);
@@ -98,7 +98,7 @@
98
98
  }
99
99
 
100
100
  .btn {
101
- @media screen and (prefers-color-scheme: light) {
101
+ @include light-mode() {
102
102
 
103
103
  @include reset-colours();
104
104
 
@@ -188,13 +188,13 @@
188
188
  flex-shrink: 0;
189
189
  }
190
190
 
191
- @media screen and (prefers-color-scheme: dark) {
191
+ @include dark-mode() {
192
192
  --colour-link: var(--colour-white);
193
193
  @include invert-colours();
194
194
  }
195
195
 
196
196
  // The menu is always white unless in dark mode
197
- @media screen and (prefers-color-scheme: light) {
197
+ @include light-mode() {
198
198
 
199
199
  background-color: var(--colour-white);
200
200
  @include reset-colours();
@@ -242,7 +242,7 @@
242
242
  flex-grow: 1;
243
243
  position: relative;
244
244
 
245
- @media screen and (prefers-color-scheme: light) {
245
+ @include light-mode() {
246
246
  background-color: #EEEEEE;
247
247
  }
248
248
 
@@ -393,14 +393,13 @@
393
393
  left: 0;
394
394
  width: 100%;
395
395
 
396
- @media screen and (prefers-color-scheme: light) {
396
+ @include light-mode(){
397
397
 
398
398
  background-color: #EEEEEE;
399
399
  @include reset-colours();
400
400
  }
401
401
 
402
- @media screen and (prefers-color-scheme: dark) {
403
-
402
+ @include dark-mode() {
404
403
 
405
404
  @include invert-colours();
406
405
  }
@@ -494,7 +493,7 @@
494
493
 
495
494
  background: #E6EAEC!important;
496
495
 
497
- @media screen and (prefers-color-scheme: dark) {
496
+ @include dark-mode() {
498
497
 
499
498
  background: var(--colour-canvas-2)!important;
500
499
  }
@@ -564,13 +563,13 @@
564
563
  flex-shrink: 0;
565
564
  }
566
565
 
567
- @media screen and (prefers-color-scheme: dark) {
566
+ @include dark-mode() {
568
567
  --colour-link: var(--colour-white);
569
568
  @include invert-colours();
570
569
  }
571
570
 
572
571
  // The menu is always white unless in dark mode
573
- @media screen and (prefers-color-scheme: light) {
572
+ @include light-mode() {
574
573
 
575
574
  background-color: var(--colour-white);
576
575
  @include reset-colours();
@@ -90,7 +90,7 @@
90
90
  display: flex;
91
91
  flex-wrap: nowrap;
92
92
 
93
- @media screen and (prefers-color-scheme: light) {
93
+ @include light-mode() {
94
94
  color: var(--colour-heading);
95
95
  }
96
96