@iamproperty/components 4.0.0 → 4.0.1

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 +6 -7
  55. package/assets/js/modules/dialogs.js +32 -4
  56. package/assets/js/modules/table.js +68 -13
  57. package/assets/js/scripts.bundle.js +18 -16
  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 +62 -61
  72. package/assets/sass/components/fileupload.scss +1 -1
  73. package/assets/sass/components/forms.scss +112 -102
  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 +8 -10
  86. package/assets/ts/modules/dialogs.ts +42 -5
  87. package/assets/ts/modules/table.ts +82 -13
  88. package/dist/components.es.js +914 -838
  89. package/dist/components.umd.js +47 -45
  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
  }
@@ -24,13 +24,11 @@ dialog[open] {
24
24
  display: flex;
25
25
  flex-direction: column;
26
26
 
27
- > *:last-child,
28
- > .mh-lg > *:last-child{
27
+ > *:last-child {
29
28
  margin-bottom: 0;
30
29
  }
31
30
 
32
- > :is(p):last-child,
33
- > .mh-lg > :is(p):last-child {
31
+ > :is(p):last-child {
34
32
  padding-bottom: 0;
35
33
  }
36
34
  }
@@ -161,13 +159,13 @@ dialog[open] {
161
159
  padding-right: calc(var(--dialog-padding) - 10px);
162
160
  margin-right: calc((var(--dialog-padding) * -1) + 10px);
163
161
  margin-bottom: calc(var(--dialog-padding) * -1);
164
- padding-bottom: var(--dialog-padding);
165
- //max-height: none!important;
166
162
 
167
- &:before {
168
- top: 100%;
169
- height: var(--dialog-padding);
170
- margin-bottom: -2rem;
163
+ > *:last-child {
164
+ margin-bottom: 2rem!important;
165
+ }
166
+
167
+ > p:last-child {
168
+ padding-bottom: 0!important;
171
169
  }
172
170
  }
173
171
  }
@@ -279,10 +277,11 @@ dialog::backdrop {
279
277
  top: calc(var(--dialog-padding) * 4);
280
278
  }
281
279
 
280
+ @supports selector(:has(*)) {
282
281
  fieldset:not(.active) {
283
282
  display: none;
284
283
  }
285
-
284
+ }
286
285
  &:not(:has(fieldset.active)) fieldset:first-of-type{
287
286
  display: flex;
288
287
  flex-direction: column;
@@ -374,7 +373,7 @@ dialog::backdrop {
374
373
  }
375
374
  }
376
375
 
377
- @media screen and (prefers-color-scheme: dark) {
376
+ @include dark-mode() {
378
377
 
379
378
  button {
380
379
 
@@ -440,36 +439,55 @@ dialog::backdrop {
440
439
  margin-top: auto;
441
440
  text-align: right;
442
441
  }
443
- > form {
444
- display: contents
445
- }
446
- fieldset {
447
- display: flex;
448
- flex-direction: column;
449
- flex-grow: 1;
450
- position: relative;
442
+
443
+
444
+ @supports not selector(:has(*)) {
445
+ > form {
446
+ overflow: auto;
451
447
 
452
- overflow: auto;
453
- margin-bottom: calc(var(--dialog-padding) * -1);
454
- padding-bottom: var(--dialog-padding);
448
+ button:not([type="submit"]){
449
+ display: none;
450
+ }
451
+ }
452
+ }
453
+ @supports selector(:has(*)) {
454
+ > form {
455
+ display: contents
456
+ }
457
+ fieldset {
458
+ display: flex;
459
+ flex-direction: column;
460
+ flex-grow: 1;
461
+ position: relative;
462
+
463
+ overflow: auto;
464
+ margin-bottom: calc(var(--dialog-padding) * -1);
465
+ padding-right: calc(var(--dialog-padding) - 10px);
466
+ margin-right: calc((var(--dialog-padding) * -1) + 10px);
467
+
468
+ > :last-child {
469
+ margin-bottom: var(--dialog-padding)!important;
470
+ }
455
471
 
456
-
457
- padding-right: calc(var(--dialog-padding) - 10px);
458
- margin-right: calc((var(--dialog-padding) * -1) + 10px);
472
+ > p:last-child {
473
+ padding-bottom: 0!important;
474
+ margin-bottom: var(--dialog-padding)!important;
475
+ }
459
476
 
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);;
477
+ &::before {
478
+ content: "";
479
+ top: 100%;
480
+ bottom: 0;
481
+ left: 0;
482
+ right: 0;
483
+ height: var(--dialog-padding);
484
+ min-height: var(--dialog-padding);
485
+ position: sticky;
486
+ display: block;
487
+ background: linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);
488
+ z-index: 2;
489
+ margin-bottom: calc(var(--dialog-padding) * -1);;
490
+ }
473
491
  }
474
492
  }
475
493
  }
@@ -561,36 +579,19 @@ dialog::backdrop {
561
579
  width: rem(360);
562
580
  }
563
581
 
564
-
565
582
  &.dialog--list {
566
583
 
567
584
  width: fit-content!important;
585
+
586
+ @include media-breakpoint-up(sm) {
587
+ width: max-content!important;
588
+ }
589
+
568
590
  min-width: rem(140)!important;
569
591
  max-width: rem(280)!important;
570
592
  padding: rem(16);
571
593
  margin: 0;
572
594
 
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
595
  hr {
595
596
  height: 2px;
596
597
  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);