@iamproperty/components 4.0.0 → 4.1.0-beta-2

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 (90) 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/forms.css +1 -1
  17. package/assets/css/components/forms.css.map +1 -1
  18. package/assets/css/components/header.css.map +1 -1
  19. package/assets/css/components/lists.css.map +1 -1
  20. package/assets/css/components/nav-global.css +1 -1
  21. package/assets/css/components/nav-global.css.map +1 -1
  22. package/assets/css/components/nav.css.map +1 -1
  23. package/assets/css/components/nav.old.css.map +1 -1
  24. package/assets/css/components/notification.css.map +1 -1
  25. package/assets/css/components/pagination.css.map +1 -1
  26. package/assets/css/components/property-searchbar.css.map +1 -1
  27. package/assets/css/components/table.css +1 -1
  28. package/assets/css/components/table.css.map +1 -1
  29. package/assets/css/core.min.css +1 -1
  30. package/assets/css/core.min.css.map +1 -1
  31. package/assets/css/style.min.css +1 -1
  32. package/assets/css/style.min.css.map +1 -1
  33. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  34. package/assets/js/components/actionbar/actionbar.component.js +45 -0
  35. package/assets/js/components/actionbar/actionbar.component.min.js +4 -4
  36. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  37. package/assets/js/components/applied-filters/applied-filters.component.min.js +3 -3
  38. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  39. package/assets/js/components/card/card.component.js +9 -1
  40. package/assets/js/components/card/card.component.min.js +7 -5
  41. package/assets/js/components/card/card.component.min.js.map +1 -1
  42. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  43. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  44. package/assets/js/components/header/header.component.min.js +1 -1
  45. package/assets/js/components/nav/nav.component.min.js +1 -1
  46. package/assets/js/components/notification/notification.component.min.js +1 -1
  47. package/assets/js/components/pagination/pagination.component.min.js +1 -1
  48. package/assets/js/components/table/table.component.js +3 -0
  49. package/assets/js/components/table/table.component.min.js +10 -10
  50. package/assets/js/components/table/table.component.min.js.map +1 -1
  51. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  52. package/assets/js/dynamic.min.js +4 -4
  53. package/assets/js/dynamic.min.js.map +1 -1
  54. package/assets/js/modules/applied-filters.js +3 -3
  55. package/assets/js/modules/dialogs.js +17 -1
  56. package/assets/js/modules/table.js +68 -13
  57. package/assets/js/scripts.bundle.js +15 -13
  58. package/assets/js/scripts.bundle.js.map +1 -1
  59. package/assets/js/scripts.bundle.min.js +2 -2
  60. package/assets/js/scripts.bundle.min.js.map +1 -1
  61. package/assets/sass/_corefiles.scss +0 -1
  62. package/assets/sass/_func.scss +1 -0
  63. package/assets/sass/_functions/mixins.scss +22 -0
  64. package/assets/sass/components/actionbar-global.scss +69 -7
  65. package/assets/sass/components/actionbar.scss +20 -8
  66. package/assets/sass/components/admin-panel.scss +47 -2
  67. package/assets/sass/components/card-global.scss +53 -1
  68. package/assets/sass/components/card.scss +14 -12
  69. package/assets/sass/components/charts.scss +1 -1
  70. package/assets/sass/components/collapsible-side.scss +1 -1
  71. package/assets/sass/components/dialog.scss +50 -53
  72. package/assets/sass/components/fileupload.scss +1 -1
  73. package/assets/sass/components/forms.scss +99 -89
  74. package/assets/sass/components/nav-global.scss +15 -9
  75. package/assets/sass/components/nav.scss +9 -10
  76. package/assets/sass/components/notification.scss +1 -1
  77. package/assets/sass/components/table.scss +85 -4
  78. package/assets/sass/core.scss +1 -0
  79. package/assets/sass/error.scss +2 -1
  80. package/assets/sass/foundations/root.scss +3 -3
  81. package/assets/sass/main.scss +4 -3
  82. package/assets/ts/components/actionbar/actionbar.component.ts +67 -2
  83. package/assets/ts/components/card/card.component.ts +12 -2
  84. package/assets/ts/components/table/table.component.ts +4 -0
  85. package/assets/ts/modules/applied-filters.ts +6 -5
  86. package/assets/ts/modules/dialogs.ts +23 -1
  87. package/assets/ts/modules/table.ts +82 -13
  88. package/dist/components.es.js +900 -828
  89. package/dist/components.umd.js +55 -53
  90. 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
@@ -60,7 +60,10 @@
60
60
  justify-content: flex-end;
61
61
  align-items: center;
62
62
  height: rem(68);
63
- position: absolute;
63
+
64
+ @supports selector(:has(*)) {
65
+ position: absolute;
66
+ }
64
67
  inset: 0;
65
68
 
66
69
  @include container-up(sm) {
@@ -75,15 +78,29 @@
75
78
 
76
79
  .actionbar--selected {
77
80
 
78
- background-color: #E6EAEC;
81
+ background-color: var(--colour-canvas);
82
+
83
+ @include light-mode {
84
+
85
+ background-color: #E6EAEC;
86
+ }
87
+
79
88
  display: flex;
89
+
90
+ @supports selector(:has(*)) {
80
91
  opacity: 0;
92
+ }
81
93
  pointer-events: none;
82
94
  }
83
95
 
84
96
  .actionbar--search {
85
97
 
86
- background-color: #E6EAEC;
98
+ background-color: var(--colour-canvas);
99
+
100
+ @include light-mode {
101
+
102
+ background-color: #E6EAEC;
103
+ }
87
104
  display: flex;
88
105
  z-index: 2;
89
106
  position: relative;
@@ -205,11 +222,6 @@
205
222
  }
206
223
  }
207
224
 
208
- ::slotted(.dialog__wrapper[slot="overflow"]) dialog[open]{
209
-
210
- background: red;
211
- }
212
-
213
225
  .dialog__wrapper.dialog-overflow {
214
226
  margin-left: 0.5rem;
215
227
  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,54 @@ 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
+ @supports not selector(:has(*)) {
30
+
31
+ margin-bottom: 2rem;
32
+ display: block;
33
+ }
34
+
35
+ > div:has([type="checkbox"]) {
36
+ display: contents;
37
+
38
+ > input:is([type=radio], [type=checkbox]) + label {
39
+
40
+ position: absolute!important;
41
+ top: 0;
42
+ right: 0;
43
+ width: rem(32);
44
+ padding-left: rem(32);
45
+ margin: rem(4) rem(8)!important;
46
+ height: rem(40);
47
+ overflow: hidden;
48
+ }
49
+ }
50
+ }
51
+
52
+
53
+ [data-select-container]:has([type="checkbox"]:checked) iam-card {
54
+
55
+ > div:has([type="checkbox"]) {
56
+
57
+ > input:is([type=radio], [type=checkbox]) {
58
+ width: 100%;
59
+ height: 100%;
60
+ max-height: 100%;
61
+ max-width: 100%;
62
+ cursor: pointer;
63
+ pointer-events: all;
64
+ inset: 0;
65
+ border-radius: 0;
66
+ z-index: 10;
67
+ }
68
+ }
69
+ }
70
+
71
+
72
+ // #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
  }
@@ -279,10 +279,11 @@ dialog::backdrop {
279
279
  top: calc(var(--dialog-padding) * 4);
280
280
  }
281
281
 
282
+ @supports selector(:has(*)) {
282
283
  fieldset:not(.active) {
283
284
  display: none;
284
285
  }
285
-
286
+ }
286
287
  &:not(:has(fieldset.active)) fieldset:first-of-type{
287
288
  display: flex;
288
289
  flex-direction: column;
@@ -374,7 +375,7 @@ dialog::backdrop {
374
375
  }
375
376
  }
376
377
 
377
- @media screen and (prefers-color-scheme: dark) {
378
+ @include dark-mode() {
378
379
 
379
380
  button {
380
381
 
@@ -440,36 +441,49 @@ dialog::backdrop {
440
441
  margin-top: auto;
441
442
  text-align: right;
442
443
  }
443
- > form {
444
- display: contents
445
- }
446
- fieldset {
447
- display: flex;
448
- flex-direction: column;
449
- flex-grow: 1;
450
- position: relative;
451
-
452
- overflow: auto;
453
- margin-bottom: calc(var(--dialog-padding) * -1);
454
- padding-bottom: var(--dialog-padding);
455
-
456
-
457
- padding-right: calc(var(--dialog-padding) - 10px);
458
- margin-right: calc((var(--dialog-padding) * -1) + 10px);
444
+
445
+
446
+ @supports not selector(:has(*)) {
447
+ > form {
448
+ overflow: auto;
459
449
 
460
- &::before {
461
- content: "";
462
- top: 100%;
463
- bottom: 0;
464
- left: 0;
465
- right: 0;
466
- height: var(--dialog-padding);
467
- min-height: var(--dialog-padding);
468
- position: sticky;
469
- display: block;
470
- background: linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);
471
- z-index: 2;
472
- margin-bottom: calc(var(--dialog-padding) * -1);;
450
+ button:not([type="submit"]){
451
+ display: none;
452
+ }
453
+ }
454
+ }
455
+ @supports selector(:has(*)) {
456
+ > form {
457
+ display: contents
458
+ }
459
+ fieldset {
460
+ display: flex;
461
+ flex-direction: column;
462
+ flex-grow: 1;
463
+ position: relative;
464
+
465
+ overflow: auto;
466
+ margin-bottom: calc(var(--dialog-padding) * -1);
467
+ padding-bottom: var(--dialog-padding);
468
+
469
+
470
+ padding-right: calc(var(--dialog-padding) - 10px);
471
+ margin-right: calc((var(--dialog-padding) * -1) + 10px);
472
+
473
+ &::before {
474
+ content: "";
475
+ top: 100%;
476
+ bottom: 0;
477
+ left: 0;
478
+ right: 0;
479
+ height: var(--dialog-padding);
480
+ min-height: var(--dialog-padding);
481
+ position: sticky;
482
+ display: block;
483
+ background: linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);
484
+ z-index: 2;
485
+ margin-bottom: calc(var(--dialog-padding) * -1);;
486
+ }
473
487
  }
474
488
  }
475
489
  }
@@ -561,36 +575,19 @@ dialog::backdrop {
561
575
  width: rem(360);
562
576
  }
563
577
 
564
-
565
578
  &.dialog--list {
566
579
 
567
580
  width: fit-content!important;
581
+
582
+ @include media-breakpoint-up(sm) {
583
+ width: max-content!important;
584
+ }
585
+
568
586
  min-width: rem(140)!important;
569
587
  max-width: rem(280)!important;
570
588
  padding: rem(16);
571
589
  margin: 0;
572
590
 
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
591
  hr {
595
592
  height: 2px;
596
593
  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);