@iamproperty/components 5.6.1-beta7 → 5.6.1-beta9
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.
- package/assets/css/components/card.css +1 -1
- package/assets/css/components/card.css.map +1 -1
- package/assets/css/components/table.global.css +1 -1
- package/assets/css/components/table.global.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/js/components/accordion/accordion.component.min.js +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +7 -7
- package/assets/js/components/actionbar/actionbar.component.min.js +10 -10
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/card/card.component.js +5 -4
- package/assets/js/components/card/card.component.min.js +9 -9
- package/assets/js/components/card/card.component.min.js.map +1 -1
- package/assets/js/components/carousel/carousel.component.js +3 -3
- package/assets/js/components/carousel/carousel.component.min.js +5 -5
- package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
- package/assets/js/components/fileupload/fileupload.component.js +3 -3
- package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
- package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
- package/assets/js/components/filterlist/filterlist.component.js +2 -2
- package/assets/js/components/filterlist/filterlist.component.min.js +5 -5
- package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
- package/assets/js/components/header/header.component.min.js +1 -1
- package/assets/js/components/inline-edit/inline-edit.component.js +2 -2
- package/assets/js/components/inline-edit/inline-edit.component.min.js +3 -3
- package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
- package/assets/js/components/marketing/marketing.component.min.js +1 -1
- package/assets/js/components/multiselect/multiselect.component.js +2 -2
- package/assets/js/components/multiselect/multiselect.component.min.js +3 -3
- package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
- package/assets/js/components/nav/nav.component.min.js +1 -1
- package/assets/js/components/notification/notification.component.js +1 -1
- package/assets/js/components/notification/notification.component.min.js +2 -2
- package/assets/js/components/notification/notification.component.min.js.map +1 -1
- package/assets/js/components/pagination/pagination.component.min.js +1 -1
- package/assets/js/components/search/search.component.min.js +1 -1
- package/assets/js/components/search/search.component.min.js.map +1 -1
- package/assets/js/components/slider/slider.component.min.js +1 -1
- package/assets/js/components/table/table.component.min.js +2 -2
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +1 -1
- package/assets/js/dynamic.min.js +4 -4
- package/assets/js/dynamic.min.js.map +1 -1
- package/assets/js/modules/dynamicEvents.js +3 -0
- package/assets/js/modules/helpers.js +4 -0
- package/assets/js/scripts.bundle.js +10 -10
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +2 -2
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/sass/components/card.scss +88 -1
- package/assets/sass/components/table.global.scss +4 -2
- package/assets/sass/elements/forms.scss +36 -8
- package/assets/sass/elements/progress.scss +159 -17
- package/assets/ts/components/actionbar/actionbar.component.ts +7 -7
- package/assets/ts/components/card/card.component.ts +6 -4
- package/assets/ts/components/carousel/carousel.component.ts +3 -3
- package/assets/ts/components/fileupload/fileupload.component.ts +3 -3
- package/assets/ts/components/filterlist/filterlist.component.ts +2 -2
- package/assets/ts/components/inline-edit/inline-edit.component.ts +2 -2
- package/assets/ts/components/multiselect/multiselect.component.ts +2 -2
- package/assets/ts/components/notification/notification.component.ts +1 -1
- package/assets/ts/modules/dynamicEvents.ts +3 -0
- package/assets/ts/modules/helpers.ts +6 -0
- package/dist/components.es.js +13 -13
- package/dist/components.umd.js +30 -30
- package/dist/style.css +1 -1
- package/package.json +3 -3
- package/src/components/Card/README.md +1 -0
|
@@ -418,15 +418,102 @@
|
|
|
418
418
|
|
|
419
419
|
//#region Record card
|
|
420
420
|
|
|
421
|
-
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
.card--record:has(.card__head) {
|
|
422
424
|
--img-height: 40%;
|
|
423
425
|
|
|
424
426
|
&:before,
|
|
425
427
|
&:after {
|
|
426
428
|
display: none;
|
|
427
429
|
}
|
|
430
|
+
|
|
431
|
+
.card__head {
|
|
432
|
+
background: transparent;
|
|
433
|
+
position: relative;
|
|
434
|
+
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
:host([data-record="business"]) {
|
|
439
|
+
--record-icon: '\f54f';
|
|
440
|
+
--record-colour: var(--wider-colour-2);
|
|
441
|
+
}
|
|
442
|
+
:host([data-record="page"]) {
|
|
443
|
+
--record-icon: '\f15c';
|
|
444
|
+
--record-colour: var(--wider-colour-3);
|
|
445
|
+
}
|
|
446
|
+
:host([data-record="contact"]) {
|
|
447
|
+
--record-icon: "\f2b9";
|
|
448
|
+
--record-colour: var(--wider-colour-4);
|
|
449
|
+
}
|
|
450
|
+
:host([data-record="lettings"]) {
|
|
451
|
+
--record-icon: "";
|
|
452
|
+
--record-icon-font: Font Awesome Kit;
|
|
453
|
+
--record-colour: var(--wider-colour-5);
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
:host([data-record="sales"]) {
|
|
457
|
+
--record-icon: "";
|
|
458
|
+
--record-icon-font: Font Awesome Kit;
|
|
459
|
+
--record-colour: var(--wider-colour-7);
|
|
460
|
+
}
|
|
461
|
+
:host([data-record="landlord"]) {
|
|
462
|
+
--record-icon: "";
|
|
463
|
+
--record-icon-font: Font Awesome Kit;
|
|
464
|
+
--record-colour: var(--wider-colour-8);
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
:host([data-record="contractor"]) {
|
|
468
|
+
--record-icon: "\f82c";
|
|
469
|
+
--record-colour: var(--wider-colour-9);
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
:host([data-record="vendor"]) {
|
|
473
|
+
--record-icon: "";
|
|
474
|
+
--record-icon-font: Font Awesome Kit;
|
|
475
|
+
--record-colour: var(--wider-colour-13);
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
:host([data-record="tenant"]) {
|
|
479
|
+
--record-icon: "\e1b0";
|
|
480
|
+
--record-colour: var(--wider-colour-6);
|
|
481
|
+
}
|
|
482
|
+
:host([data-record="sales-applicant"]) {
|
|
483
|
+
--record-icon: "";
|
|
484
|
+
--record-icon-font: Font Awesome Kit;
|
|
485
|
+
--record-colour: var(--wider-colour-10);
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
:host([data-record]) .card--record:has(.card__head) {
|
|
489
|
+
|
|
490
|
+
.card__head {
|
|
491
|
+
background: transparent;
|
|
492
|
+
position: relative;
|
|
493
|
+
|
|
494
|
+
&:before {
|
|
495
|
+
font-family: var(--record-icon-font,"Font Awesome 6 Pro");
|
|
496
|
+
font-weight: normal;
|
|
497
|
+
font-size: rem(24);
|
|
498
|
+
content: var(--record-icon);
|
|
499
|
+
display: block;
|
|
500
|
+
position: absolute;
|
|
501
|
+
top: auto;
|
|
502
|
+
left: 50%;
|
|
503
|
+
bottom: 0;
|
|
504
|
+
background-color: var(--record-colour);
|
|
505
|
+
border-radius: 50%;
|
|
506
|
+
height: rem(64);
|
|
507
|
+
line-height: rem(64);
|
|
508
|
+
width: rem(64);
|
|
509
|
+
text-align: center;
|
|
510
|
+
transform: translate(-50%,0);
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
}
|
|
428
514
|
}
|
|
429
515
|
|
|
516
|
+
|
|
430
517
|
slot[name="btns"] {
|
|
431
518
|
display: flex;
|
|
432
519
|
flex-direction: row;
|
|
@@ -415,8 +415,10 @@ iam-table {
|
|
|
415
415
|
}
|
|
416
416
|
}
|
|
417
417
|
|
|
418
|
-
|
|
419
|
-
|
|
418
|
+
@container (width > 23.4375em) {
|
|
419
|
+
tr:has([type="checkbox"]:checked){
|
|
420
|
+
height: calc(4.625rem - 2px)
|
|
421
|
+
}
|
|
420
422
|
}
|
|
421
423
|
|
|
422
424
|
tr:has([type="checkbox"]:checked){
|
|
@@ -828,28 +828,53 @@ div:has(> select){
|
|
|
828
828
|
|
|
829
829
|
all: unset;
|
|
830
830
|
font-size: inherit;
|
|
831
|
+
line-height: inherit;
|
|
831
832
|
background: none;
|
|
832
|
-
border:
|
|
833
|
+
border: 2px solid transparent;
|
|
833
834
|
display: inline-block;
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
835
|
+
padding: 0.4em calc(1em + 0.8ch) 0.4rem var(--select-padding-left, 0.4em)!important;
|
|
836
|
+
font-weight: normal!important;
|
|
837
|
+
margin: -0.4em 0!important;
|
|
838
|
+
border-radius: 0.25em;
|
|
839
|
+
|
|
840
|
+
color: var(--colour-body);
|
|
841
|
+
|
|
837
842
|
height: auto;
|
|
838
843
|
cursor: pointer;
|
|
844
|
+
font-family: var(--font-body)!important;
|
|
839
845
|
|
|
840
846
|
option {
|
|
841
847
|
background-color: var(--colour-canvas);
|
|
842
848
|
padding-left: 1em;
|
|
849
|
+
font-size: inherit;
|
|
850
|
+
line-height: inherit;
|
|
843
851
|
}
|
|
844
852
|
|
|
853
|
+
&:hover {
|
|
854
|
+
|
|
855
|
+
//border: none;
|
|
856
|
+
background: var(--colour-light);
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
&:is(:focus,.focus):not(:disabled) {
|
|
845
860
|
|
|
846
|
-
|
|
847
|
-
outline:
|
|
861
|
+
border-color: var(--colour-info);
|
|
862
|
+
outline: 0;
|
|
863
|
+
box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
|
|
848
864
|
}
|
|
849
865
|
}
|
|
850
866
|
|
|
851
867
|
*:has(> .select--minimal){
|
|
852
868
|
position: relative;
|
|
869
|
+
display: inline-block!important;
|
|
870
|
+
width: auto!important;
|
|
871
|
+
font-size: inherit!important;
|
|
872
|
+
line-height: 1!important;
|
|
873
|
+
|
|
874
|
+
padding: 0!important;
|
|
875
|
+
margin: 0!important;
|
|
876
|
+
|
|
877
|
+
font-family: var(--font-body)!important;
|
|
853
878
|
|
|
854
879
|
&:after {
|
|
855
880
|
font-size: 0.8em;
|
|
@@ -857,10 +882,13 @@ div:has(> select){
|
|
|
857
882
|
content: "\f078";
|
|
858
883
|
font-family: "Font Awesome 6 Pro";
|
|
859
884
|
position: absolute;
|
|
860
|
-
top:
|
|
885
|
+
top: 40%;
|
|
861
886
|
transform: translate(0,-50%);
|
|
862
|
-
right: calc(0.
|
|
887
|
+
right: calc(0.8ch);
|
|
863
888
|
pointer-events: none;
|
|
889
|
+
|
|
890
|
+
color: var(--colour-body);
|
|
891
|
+
|
|
864
892
|
}
|
|
865
893
|
}
|
|
866
894
|
// #endregion
|
|
@@ -18,12 +18,10 @@ progress {
|
|
|
18
18
|
border: none;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
progress:before {
|
|
22
|
-
content: attr(
|
|
21
|
+
label[data-percent]:has(progress):before {
|
|
22
|
+
content: attr(data-percent)'%';
|
|
23
23
|
vertical-align: 0;
|
|
24
24
|
line-height: 1;
|
|
25
|
-
|
|
26
|
-
/*Position text over the progress bar */
|
|
27
25
|
position:absolute;
|
|
28
26
|
top: auto;
|
|
29
27
|
left:auto;
|
|
@@ -33,6 +31,10 @@ progress:before {
|
|
|
33
31
|
font-weight: bold;
|
|
34
32
|
}
|
|
35
33
|
|
|
34
|
+
progress[data-progress]:before {
|
|
35
|
+
content: attr(data-progress)'%';
|
|
36
|
+
}
|
|
37
|
+
|
|
36
38
|
progress::-webkit-progress-bar {
|
|
37
39
|
background-color: var(--colour-light);
|
|
38
40
|
border-radius: rem(5);
|
|
@@ -42,30 +44,170 @@ progress::-webkit-progress-value {
|
|
|
42
44
|
border-radius: rem(5);
|
|
43
45
|
}
|
|
44
46
|
|
|
47
|
+
// #region inline progress
|
|
48
|
+
:is(label, .label):has(.progress--inline){
|
|
49
|
+
|
|
50
|
+
font-size: 1rem;
|
|
51
|
+
color: var(--colour-body);
|
|
52
|
+
|
|
53
|
+
&:before {
|
|
54
|
+
bottom: -0.25em;
|
|
55
|
+
}
|
|
45
56
|
|
|
57
|
+
progress.progress--inline {
|
|
46
58
|
|
|
59
|
+
width: 100%;
|
|
47
60
|
|
|
48
|
-
|
|
49
|
-
/* style rules */
|
|
61
|
+
}
|
|
50
62
|
}
|
|
51
63
|
|
|
64
|
+
// #endregion
|
|
52
65
|
|
|
53
|
-
// #region
|
|
66
|
+
// #region Circular
|
|
67
|
+
label:has(.progress--circular){
|
|
54
68
|
|
|
55
|
-
:
|
|
69
|
+
--max-width: #{rem(200)};
|
|
70
|
+
--pt: #{rem(90)};
|
|
71
|
+
--pt-percent: 45%;
|
|
72
|
+
--bar-width: #{rem(20)};
|
|
73
|
+
--value-fs: #{rem(48)};
|
|
74
|
+
--value-pb: #{rem(32)};
|
|
75
|
+
--label-fs: #{rem(18)};
|
|
56
76
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
progress.progress--inline {
|
|
77
|
+
position: relative;
|
|
78
|
+
z-index: 1;
|
|
79
|
+
max-width: var(--max-width);
|
|
80
|
+
margin-bottom: 2rem;
|
|
62
81
|
|
|
63
|
-
|
|
82
|
+
padding-right: 0;
|
|
83
|
+
aspect-ratio: 1/1;
|
|
84
|
+
height: auto;
|
|
85
|
+
width: 100%;
|
|
86
|
+
text-align: center;
|
|
87
|
+
padding-top: min(calc(var(--pt-percent) + var(--value-pb)), calc(var(--pt) + var(--value-pb)));
|
|
88
|
+
padding-inline: var(--value-pb);
|
|
89
|
+
|
|
90
|
+
display: inline-block;
|
|
91
|
+
font-size: var(--label-fs);
|
|
92
|
+
line-height: 1;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
label:has(.progress--circular.progress--md){
|
|
96
|
+
--max-width: #{rem(170)};
|
|
97
|
+
--pt: #{rem(76.5)};
|
|
98
|
+
--pt-percent: 45%;
|
|
99
|
+
--bar-width: #{rem(20)};
|
|
100
|
+
--value-pb: #{rem(24)};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
label:has(.progress--circular.progress--sm){
|
|
104
|
+
--max-width: #{rem(120)};
|
|
105
|
+
--pt: #{rem(54)};
|
|
106
|
+
--pt-percent: 45%;
|
|
107
|
+
--bar-width: #{rem(16)};
|
|
108
|
+
--value-fs: #{rem(24)};
|
|
109
|
+
|
|
110
|
+
--value-pb: #{rem(16)};
|
|
111
|
+
--label-fs: #{rem(12)};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Responsive-ish settings
|
|
115
|
+
*:has(> label > .progress--circular){
|
|
64
116
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
117
|
+
container-type: inline-size;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@container (width <= 10.625rem) {
|
|
121
|
+
|
|
122
|
+
label:has(.progress--circular:not(.progress--sm):not(.progress--md)){
|
|
123
|
+
--max-width: #{rem(170)};
|
|
124
|
+
--pt: #{rem(76.5)};
|
|
125
|
+
--pt-percent: 45%;
|
|
126
|
+
--bar-width: #{rem(20)};
|
|
127
|
+
--value-pb: #{rem(24)};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@container (width <= 7.5rem) {
|
|
132
|
+
|
|
133
|
+
label:has(.progress--circular:not(.progress--sm):not(.progress--md)){
|
|
134
|
+
--max-width: #{rem(120)};
|
|
135
|
+
--pt: #{rem(54)};
|
|
136
|
+
--pt-percent: 45%;
|
|
137
|
+
--bar-width: #{rem(16)};
|
|
138
|
+
--value-fs: #{rem(24)};
|
|
139
|
+
|
|
140
|
+
--value-pb: #{rem(16)};
|
|
141
|
+
--label-fs: #{rem(12)};
|
|
68
142
|
}
|
|
69
143
|
}
|
|
70
144
|
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
label:has(.progress--circular) + label:has(.progress--circular) {
|
|
149
|
+
margin-left: 2rem;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// Needed to allow it to be animated
|
|
153
|
+
@property --progress {
|
|
154
|
+
syntax: '<percentage>';
|
|
155
|
+
inherits: false;
|
|
156
|
+
initial-value: 0%;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.progress--circular {
|
|
160
|
+
|
|
161
|
+
--progress-shown: var(--progress, 0%);
|
|
162
|
+
position: absolute;
|
|
163
|
+
z-index: -2;
|
|
164
|
+
top: 0;
|
|
165
|
+
left: 0;
|
|
166
|
+
margin: 0;
|
|
167
|
+
background: red;
|
|
168
|
+
background: conic-gradient(var(--colour, var(--colour-info)) var(--progress-shown), var(--colour-light) var(--progress-shown) calc(100% - var(--progress-shown)));
|
|
169
|
+
height: 100%;
|
|
170
|
+
width: 100%;
|
|
171
|
+
border-radius: 50%;
|
|
172
|
+
box-shadow: #{rem(3)} #{rem(3)} #{rem(6)} rgba(0, 0, 0, 20%);
|
|
173
|
+
transition: --progress 1s;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.progress--circular::-webkit-progress-bar,
|
|
177
|
+
.progress--circular::-webkit-progress-value {
|
|
178
|
+
opacity: 0;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
.progress--circular::-moz-progress-bar {
|
|
183
|
+
opacity: 0;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
label[data-percent]:has(.progress--circular):before {
|
|
187
|
+
|
|
188
|
+
top: var(--pt-percent);
|
|
189
|
+
left:50%;
|
|
190
|
+
right:auto;
|
|
191
|
+
bottom: auto;
|
|
192
|
+
color: var(--colour-heading);
|
|
193
|
+
transform: translate(-50%,-50%);
|
|
194
|
+
font-size: var(--value-fs);
|
|
195
|
+
line-height: 1;
|
|
196
|
+
z-index: 2;
|
|
197
|
+
text-indent: 0;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
label:has(.progress--circular):after {
|
|
201
|
+
content: "";
|
|
202
|
+
position: absolute;
|
|
203
|
+
z-index: -1;
|
|
204
|
+
top: 50%;
|
|
205
|
+
left: 50%;
|
|
206
|
+
transform: translate(-50%, -50%);
|
|
207
|
+
aspect-ratio: 1/1;
|
|
208
|
+
width: calc(100% - var(--bar-width) - var(--bar-width));
|
|
209
|
+
background-color: var(--colour-canvas);
|
|
210
|
+
border-radius: 50%;
|
|
211
|
+
}
|
|
212
|
+
|
|
71
213
|
// #endregion
|
|
@@ -57,19 +57,19 @@ class iamActionbar extends HTMLElement {
|
|
|
57
57
|
<link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
|
|
58
58
|
<div class="actionbar__wrapper">
|
|
59
59
|
|
|
60
|
-
<div class="actionbar">
|
|
60
|
+
<div class="actionbar" part="actionbar">
|
|
61
61
|
<slot name="selectall"></slot>
|
|
62
62
|
<div class="safe-area">
|
|
63
63
|
<slot></slot>
|
|
64
64
|
<div class="body">
|
|
65
65
|
<div class="dialog__wrapper dialog__wrapper--right dialog-overflow d-none show">
|
|
66
66
|
<button class="btn btn-secondary btn-compact fa-ellipsis-vertical m-0">More actions</button>
|
|
67
|
-
<dialog class="dialog--list">
|
|
67
|
+
<dialog class="dialog--list" part="overflow">
|
|
68
68
|
<slot name="overflow"></slot>
|
|
69
69
|
<slot name="menu"></slot>
|
|
70
70
|
</dialog>
|
|
71
71
|
</div>
|
|
72
|
-
<button class="btn btn-secondary btn-compact btn-sm fa-search" data-search="">Search</button>
|
|
72
|
+
<button class="btn btn-secondary btn-compact btn-sm fa-search" data-search="" part="search-btn">Search</button>
|
|
73
73
|
</div>
|
|
74
74
|
</div>
|
|
75
75
|
</div>
|
|
@@ -79,7 +79,7 @@ class iamActionbar extends HTMLElement {
|
|
|
79
79
|
<div class="body">
|
|
80
80
|
<div class="dialog__wrapper dialog__wrapper--right dialog-overflow d-none show">
|
|
81
81
|
<button class="btn btn-secondary btn-compact fa-ellipsis-vertical m-0">More actions</button>
|
|
82
|
-
<dialog class="dialog--list">
|
|
82
|
+
<dialog class="dialog--list" part="selected-overflow">
|
|
83
83
|
<slot name="selected-overflow"></slot>
|
|
84
84
|
</dialog>
|
|
85
85
|
</div>
|
|
@@ -89,10 +89,10 @@ class iamActionbar extends HTMLElement {
|
|
|
89
89
|
<div class="actionbar--search">
|
|
90
90
|
<button data-search class="btn btn-compact fa-xmark-large btn-secondary m-0" >Close</button>
|
|
91
91
|
|
|
92
|
-
<div class="search-wrapper">
|
|
92
|
+
<div class="search-wrapper" part="search">
|
|
93
93
|
<label for="search" class="visually-hidden">Input field label</label>
|
|
94
|
-
<button class="suffix"><i class="fa-regular fa-search"></i></button>
|
|
95
|
-
<input type="text" id="search" name="search" required="">
|
|
94
|
+
<button class="suffix" part="search-btn"><i class="fa-regular fa-search"></i></button>
|
|
95
|
+
<input type="text" id="search" name="search" required="" part="search-input">
|
|
96
96
|
</div>
|
|
97
97
|
|
|
98
98
|
</div>
|
|
@@ -33,17 +33,17 @@ class iamCard extends HTMLElement {
|
|
|
33
33
|
</style>
|
|
34
34
|
<link rel="stylesheet" href="https://kit.fontawesome.com/26fdbf0179.css" crossorigin="anonymous">
|
|
35
35
|
<div class="card ${classList}" tabindex="0" part="card">
|
|
36
|
-
|
|
37
|
-
<div class="card__body">
|
|
36
|
+
${this.hasAttribute('data-image') || this.hasAttribute('data-record') ? `<div class="card__head">${this.hasAttribute('data-image') ? `<img src="${this.getAttribute('data-image')}" alt="" loading="lazy" />` : ``} <div class="card__badges"><slot name="badges"></slot></div></div>` : ''}
|
|
37
|
+
<div class="card__body" part="body">
|
|
38
38
|
${!this.hasAttribute('data-image') && this.querySelector('[slot="badges"]') && this.querySelector('[slot="checkbox"]') ? `<div class="card__badges card__badges--inline"><slot name="badges"></slot></div>` : ''}
|
|
39
|
-
${!this.hasAttribute('data-image') && this.querySelector('[slot="badges"]') ? `<div class="card__badges"><slot name="badges"></slot></div>` : ''}
|
|
39
|
+
${!this.hasAttribute('data-image') && !this.hasAttribute('data-record') && this.querySelector('[slot="badges"]') ? `<div class="card__badges"><slot name="badges"></slot></div>` : ''}
|
|
40
40
|
${this.hasAttribute('data-illustration') ? `<div class="card__illustration"><img src="${this.getAttribute('data-illustration')}" alt="" loading="lazy" /></div>` : ''}
|
|
41
41
|
<slot></slot>
|
|
42
42
|
${this.hasAttribute('data-total') ? `<div class="card__total">${this.getAttribute('data-total')}</div>` : ''}
|
|
43
43
|
</div>
|
|
44
44
|
${this.hasAttribute('data-add-link') ? `<button class="btn btn-compact btn-secondary fa-plus">Add property</button>` : ''}
|
|
45
45
|
<slot name="checkbox"></slot>
|
|
46
|
-
<div class="card__footer">
|
|
46
|
+
<div class="card__footer" part="footer">
|
|
47
47
|
<slot name="footer"></slot>
|
|
48
48
|
<slot name="btns"></slot>
|
|
49
49
|
${this.hasAttribute('data-cta') ? `<span class="link d-inline-block pt-0 mb-0">${this.getAttribute('data-cta')}</span>` : ''}
|
|
@@ -65,6 +65,7 @@ class iamCard extends HTMLElement {
|
|
|
65
65
|
const parentNode = this.parentNode.closest('a, button, label, router-link')
|
|
66
66
|
const card = this.shadowRoot.querySelector('.card')
|
|
67
67
|
const btnCompact = this.shadowRoot.querySelector('.btn-compact');
|
|
68
|
+
const recordType = this.hasAttribute('data-record') ? this.getAttribute('data-record') : '';
|
|
68
69
|
|
|
69
70
|
if(parentNode)
|
|
70
71
|
parentNode.setAttribute('tabindex','-1');
|
|
@@ -177,6 +178,7 @@ class iamCard extends HTMLElement {
|
|
|
177
178
|
window.location = addLocation;
|
|
178
179
|
});
|
|
179
180
|
}
|
|
181
|
+
|
|
180
182
|
}
|
|
181
183
|
|
|
182
184
|
static get observedAttributes() {
|
|
@@ -32,12 +32,12 @@ class iamCarousel extends HTMLElement {
|
|
|
32
32
|
<slot></slot>
|
|
33
33
|
</div>
|
|
34
34
|
|
|
35
|
-
<div class="carousel__controls">
|
|
35
|
+
<div class="carousel__controls" part="controls">
|
|
36
36
|
|
|
37
37
|
</div>
|
|
38
38
|
|
|
39
|
-
<button class="btn btn-prev" data-go="0" disabled>Prev</button>
|
|
40
|
-
<button class="btn btn-next" data-go="2">Next</button>
|
|
39
|
+
<button class="btn btn-prev" data-go="0" disabled part="prev">Prev</button>
|
|
40
|
+
<button class="btn btn-next" data-go="2" part="next">Next</button>
|
|
41
41
|
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
@@ -26,13 +26,13 @@ class iamFileupload extends HTMLElement {
|
|
|
26
26
|
${this.hasAttribute('css') ? `@import "${this.getAttribute('css')}";` : ``}
|
|
27
27
|
</style>
|
|
28
28
|
<div class="file-upload">
|
|
29
|
-
<span class="file-upload__title">Upload file</span>
|
|
29
|
+
<span class="file-upload__title" part="title">Upload file</span>
|
|
30
30
|
<p class="helper-text"><slot name="helper"></slot></p>
|
|
31
|
-
<button class="btn btn-primary" type="button"><slot name="btn"></slot> Upload ${this.hasAttribute('data-filetype') ? this.getAttribute('data-filetype') : 'file'}</button>
|
|
31
|
+
<button class="btn btn-primary" type="button" part="button"><slot name="btn"></slot> Upload ${this.hasAttribute('data-filetype') ? this.getAttribute('data-filetype') : 'file'}</button>
|
|
32
32
|
<div class="drop-area"></div>
|
|
33
33
|
<hr/>
|
|
34
34
|
<slot></slot>
|
|
35
|
-
<div class="files"><slot name="files"></slot></div>
|
|
35
|
+
<div class="files" part="files"><slot name="files"></slot></div>
|
|
36
36
|
</div>
|
|
37
37
|
`;
|
|
38
38
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
@@ -40,9 +40,9 @@ class iamFilterlist extends HTMLElement {
|
|
|
40
40
|
<div class="form-control__wrapper">
|
|
41
41
|
<label for="search" class="visually-hidden">Search</label>
|
|
42
42
|
<span class="suffix" role="presentation"><slot name="icon"></slot></span>
|
|
43
|
-
<input name="search" id="search" type="text" class="form-control" autocomplete="off" placeholder="Search" />
|
|
43
|
+
<input name="search" id="search" type="text" class="form-control" autocomplete="off" placeholder="Search" part="search-input" />
|
|
44
44
|
</div>
|
|
45
|
-
<div class="list__wrapper">
|
|
45
|
+
<div class="list__wrapper" part="wrapper">
|
|
46
46
|
<slot></slot>
|
|
47
47
|
</div>
|
|
48
48
|
`;
|
|
@@ -27,9 +27,9 @@ class iamInlineEdit extends HTMLElement {
|
|
|
27
27
|
|
|
28
28
|
<slot></slot>
|
|
29
29
|
<div class="btns">
|
|
30
|
-
<button class="btn btn-action" id="save"><i class="fa-regular fa-save m-0"></i> Save</button><button class="btn btn-action" id="cancel">Cancel</button>
|
|
30
|
+
<button class="btn btn-action" id="save" part="save-btn"><i class="fa-regular fa-save m-0"></i> Save</button><button class="btn btn-action" id="cancel">Cancel</button>
|
|
31
31
|
</div>
|
|
32
|
-
<div class="status pe-none">
|
|
32
|
+
<div class="status pe-none" part="status">
|
|
33
33
|
<span class="btn btn-action border-0 bg-transparent prevent-invert d-none" id="saving"><i class="fa-regular fa-spinner fa-spin me-1"></i> Saving...</span>
|
|
34
34
|
<span class="btn btn-action border-0 bg-transparent prevent-invert d-none" id="saved"><i class="fa-regular fa-check me-1"></i> Saved</span>
|
|
35
35
|
<span class="btn btn-action border-0 bg-transparent prevent-invert d-none" id="notsaved"><i class="fa-regular fa-circle-info me-1"></i> Not Saved</span>
|
|
@@ -29,9 +29,9 @@ class iamMultiselect extends HTMLElement {
|
|
|
29
29
|
<div class="wrapper">
|
|
30
30
|
|
|
31
31
|
<slot name="checked"></slot>
|
|
32
|
-
<input name="search" id="search" autocomplete="off" required />
|
|
32
|
+
<input name="search" id="search" autocomplete="off" required part="search-input"/>
|
|
33
33
|
<span class="admin-panel feedback">This field is required</span>
|
|
34
|
-
<div class="admin-panel dropdown">
|
|
34
|
+
<div class="admin-panel dropdown" part="dropdown">
|
|
35
35
|
<slot></slot>
|
|
36
36
|
</div>
|
|
37
37
|
<button id="clear"><span class="visually-hidden">Clear</span></button>
|
|
@@ -41,7 +41,7 @@ class iamNotification extends HTMLElement {
|
|
|
41
41
|
<div class="notification">
|
|
42
42
|
<div class="notification__icon"><slot name="icon"></slot></div>
|
|
43
43
|
<div class="notification__inner"><div class="notification__text"><slot></slot></div>${ buttons.length ? `<div class="notification__btns"><slot name="btns"></slot></div>` : '' }</div>
|
|
44
|
-
${ this.hasAttribute('data-dismiss') ? `<div class="notification__dismiss"><button data-dismiss-button>Dismiss</button></div>` : ''}
|
|
44
|
+
${ this.hasAttribute('data-dismiss') ? `<div class="notification__dismiss"><button data-dismiss-button part="dismiss-btn">Dismiss</button></div>` : ''}
|
|
45
45
|
</div>
|
|
46
46
|
`;
|
|
47
47
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
@@ -115,6 +115,9 @@ const runEvent = (element,event,eventType) => {
|
|
|
115
115
|
element.setAttribute(event['attribute'],event['value']);
|
|
116
116
|
});
|
|
117
117
|
break;
|
|
118
|
+
case "focus":
|
|
119
|
+
document.querySelector(`${event['target']}`).focus();
|
|
120
|
+
break;
|
|
118
121
|
case "removeAttribute":
|
|
119
122
|
Array.from(document.querySelectorAll(`${event['target']}`)).forEach(function(element,index){
|
|
120
123
|
element.removeAttribute(event['attribute']);
|
|
@@ -100,6 +100,12 @@ export const addGlobalEvents = (body) => {
|
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
102
|
|
|
103
|
+
Array.from(document.querySelectorAll('label progress')).forEach((progress,index) => {
|
|
104
|
+
let label = progress.closest('label');
|
|
105
|
+
|
|
106
|
+
label.setAttribute('data-percent',progress.getAttribute('value'));
|
|
107
|
+
});
|
|
108
|
+
|
|
103
109
|
return null
|
|
104
110
|
}
|
|
105
111
|
|