@iamproperty/components 5.0.0 → 5.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.
- package/assets/css/components/accordion.css +1 -1
- package/assets/css/components/accordion.css.map +1 -1
- package/assets/css/components/accordion.global.css +1 -0
- package/assets/css/components/accordion.global.css.map +1 -0
- package/assets/css/components/actionbar.css +1 -1
- package/assets/css/components/actionbar.css.map +1 -1
- package/assets/css/components/actionbar.global.css +1 -0
- package/assets/css/components/actionbar.global.css.map +1 -0
- package/assets/css/components/card.css +1 -1
- package/assets/css/components/card.css.map +1 -1
- package/assets/css/components/card.global.css +1 -0
- package/assets/css/components/card.global.css.map +1 -0
- package/assets/css/components/component.native.css +1 -0
- package/assets/css/components/component.native.css.map +1 -0
- package/assets/css/components/component.reset.css +1 -1
- package/assets/css/components/component.reset.css.map +1 -1
- package/assets/css/components/header.css +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/{nav-global.css → nav.global.css} +1 -1
- package/assets/css/components/{nav-global.css.map → nav.global.css.map} +1 -1
- package/assets/css/components/notification.global.css +1 -0
- package/assets/css/components/notification.global.css.map +1 -0
- package/assets/css/components/slider.css +1 -0
- package/assets/css/components/slider.css.map +1 -0
- package/assets/css/components/table.css +1 -1
- package/assets/css/components/table.css.map +1 -1
- package/assets/css/components/{table.extras.css → table.global.css} +1 -1
- package/assets/css/components/{table.extras.css.map → table.global.css.map} +1 -1
- package/assets/css/components/tabs.css +1 -1
- package/assets/css/components/tabs.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/img/illustrations/add-new-property.png +0 -0
- package/assets/img/illustrations/auctioneer.png +0 -0
- package/assets/img/illustrations/branch.png +0 -0
- package/assets/img/illustrations/company-level.png +0 -0
- package/assets/img/illustrations/contractors.png +0 -0
- package/assets/img/illustrations/find-existing-property.png +0 -0
- package/assets/img/illustrations/green/add-new-property.png +0 -0
- package/assets/img/illustrations/green/auctioneer.png +0 -0
- package/assets/img/illustrations/green/branch.png +0 -0
- package/assets/img/illustrations/green/buyer.png +0 -0
- package/assets/img/illustrations/green/company-level.png +0 -0
- package/assets/img/illustrations/green/contractors.png +0 -0
- package/assets/img/illustrations/green/estate-agents.png +0 -0
- package/assets/img/illustrations/green/find-existing-property.png +0 -0
- package/assets/img/illustrations/green/landlords.png +0 -0
- package/assets/img/illustrations/green/seller.png +0 -0
- package/assets/img/illustrations/green/whats-new-2.png +0 -0
- package/assets/img/illustrations/green/whats-new.png +0 -0
- package/assets/img/illustrations/information-works.png +0 -0
- package/assets/img/illustrations/landlords.png +0 -0
- package/assets/img/illustrations/whats-new-2.png +0 -0
- package/assets/img/illustrations/whats-new.png +0 -0
- package/assets/js/components/accordion/accordion.component.js +4 -0
- package/assets/js/components/accordion/accordion.component.min.js +6 -5
- package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
- package/assets/js/components/actionbar/actionbar.component.js +4 -0
- package/assets/js/components/actionbar/actionbar.component.min.js +5 -4
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.js +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
- package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
- package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
- package/assets/js/components/card/card.component.js +4 -0
- package/assets/js/components/card/card.component.min.js +4 -3
- package/assets/js/components/card/card.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.min.js +1 -1
- package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
- package/assets/js/components/header/header.component.min.js +2 -2
- package/assets/js/components/nav/nav.component.js +4 -0
- package/assets/js/components/nav/nav.component.min.js +4 -3
- package/assets/js/components/nav/nav.component.min.js.map +1 -1
- package/assets/js/components/notification/notification.component.js +4 -0
- package/assets/js/components/notification/notification.component.min.js +4 -3
- 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/slider/slider.component.js +143 -0
- package/assets/js/components/table/table.component.js +1 -1
- package/assets/js/components/table/table.component.min.js +3 -3
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.js +2 -0
- package/assets/js/components/tabs/tabs.component.min.js +5 -3
- package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
- package/assets/js/dynamic.min.js +5 -5
- package/assets/js/dynamic.min.js.map +1 -1
- package/assets/js/modules/helpers.js +1 -1
- package/assets/js/modules/inputs.js +44 -3
- package/assets/js/modules/tabs.js +29 -31
- package/assets/js/scripts.bundle.js +24 -23
- 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/js/tests/slider.spec.js +20 -0
- package/assets/sass/_components.scss +0 -6
- package/assets/sass/_corefiles.scss +8 -88
- package/assets/sass/_elements.scss +0 -1
- package/assets/sass/components/accordion.global.scss +135 -0
- package/assets/sass/components/accordion.scss +6 -192
- package/assets/sass/components/{actionbar-global.scss → actionbar.global.scss} +3 -1
- package/assets/sass/components/actionbar.scss +2 -2
- package/assets/sass/components/{card-global.scss → card.global.scss} +2 -23
- package/assets/sass/components/card.scss +21 -0
- package/assets/sass/components/component.native.scss +37 -0
- package/assets/sass/components/component.reset.scss +1 -3
- package/assets/sass/components/header.scss +6 -1
- package/assets/sass/components/notification.global.scss +41 -0
- package/assets/sass/components/slider.scss +121 -0
- package/assets/sass/components/{table.extras.scss → table.global.scss} +5 -1
- package/assets/sass/components/table.scss +1 -1
- package/assets/sass/components/tabs.scss +2 -5
- package/assets/sass/core.scss +1 -2
- package/assets/sass/elements/container.scss +17 -0
- package/assets/sass/elements/forms.scss +138 -10
- package/assets/sass/elements/table.element.scss +1 -2
- package/assets/sass/error.scss +1 -1
- package/assets/sass/foundations/reboot.scss +48 -0
- package/assets/sass/main.scss +0 -1
- package/assets/sass/templates/form.scss +1 -0
- package/assets/ts/components/accordion/accordion.component.ts +5 -0
- package/assets/ts/components/actionbar/actionbar.component.ts +5 -0
- package/assets/ts/components/address-lookup/address-lookup.component.ts +1 -1
- package/assets/ts/components/card/card.component.ts +5 -0
- package/assets/ts/components/nav/nav.component.ts +5 -0
- package/assets/ts/components/notification/notification.component.ts +4 -0
- package/assets/ts/components/slider/README.md +26 -0
- package/assets/ts/components/slider/slider.component.ts +189 -0
- package/assets/ts/components/table/table.component.ts +1 -1
- package/assets/ts/components/tabs/tabs.component.ts +2 -0
- package/assets/ts/modules/helpers.ts +1 -1
- package/assets/ts/modules/inputs.ts +61 -4
- package/assets/ts/modules/tabs.ts +38 -41
- package/assets/ts/tests/slider.spec.ts +33 -0
- package/dist/components.es.js +1002 -1446
- package/dist/components.umd.js +292 -131
- package/dist/style.css +1 -1
- package/package.json +5 -4
- package/src/components/Accordion/Accordion.vue +12 -5
- package/src/components/Actionbar/Actionbar.vue +12 -5
- package/src/components/Card/Card.vue +1 -1
- package/src/components/Header/Header.vue +9 -3
- package/src/components/Nav/Nav.vue +1 -1
- package/src/components/Slider/README.md +11 -0
- package/src/components/Slider/Slider.vue +25 -0
- package/src/components/Tabs/Tabs.vue +14 -5
- package/assets/css/components/actionbar-global.css +0 -1
- package/assets/css/components/actionbar-global.css.map +0 -1
- package/assets/css/components/card-global.css +0 -1
- package/assets/css/components/card-global.css.map +0 -1
- /package/assets/sass/components/{nav-global.scss → nav.global.scss} +0 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
@use "../_func" as *;
|
|
2
|
+
|
|
3
|
+
.row {
|
|
4
|
+
align-items: center;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
:is(.min, .max) {
|
|
8
|
+
|
|
9
|
+
max-width: fit-content;
|
|
10
|
+
line-height: 2rem;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.sliders {
|
|
14
|
+
position: relative;
|
|
15
|
+
padding: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
:host {
|
|
19
|
+
max-width: $input-max-width;
|
|
20
|
+
display: block;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Track
|
|
24
|
+
input[type="range"]::-webkit-slider-runnable-track {
|
|
25
|
+
|
|
26
|
+
background: linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
input[type="range"]::-moz-range-track {
|
|
30
|
+
|
|
31
|
+
background: linear-gradient(to right, var(--track-colour), var(--track-colour) var(--start-percent, 0%), var(--thumb-colour) var(--start-percent, 0%), var(--thumb-colour) var(--percent, 0%), var(--track-colour) var(--percent, 0%));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
// Two input fields
|
|
36
|
+
input[type="range"] + input[type="range"] {
|
|
37
|
+
position: absolute;
|
|
38
|
+
top: 0;
|
|
39
|
+
left: 50%;
|
|
40
|
+
width: 50%;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
input[type="range"] + input[type="range"]::-webkit-slider-runnable-track {
|
|
44
|
+
|
|
45
|
+
background: transparent;
|
|
46
|
+
pointer-events: none;
|
|
47
|
+
width: 200%;
|
|
48
|
+
margin-left: -100%;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@supports (-moz-appearance:none) {
|
|
52
|
+
input[type="range"] + input[type="range"] {
|
|
53
|
+
left: 0;
|
|
54
|
+
width: 100%;
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
pointer-events: none;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
input[type="range"] + input[type="range"]::-moz-range-track {
|
|
63
|
+
background: transparent;
|
|
64
|
+
pointer-events: none;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
.input__wrapper {
|
|
69
|
+
display: flex;
|
|
70
|
+
|
|
71
|
+
justify-content: flex-end;
|
|
72
|
+
--max-width: #{rem(100)};
|
|
73
|
+
--padding-top: 0.75rem;
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
> span {
|
|
77
|
+
display: none;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
&[data-elements="2"]{
|
|
81
|
+
|
|
82
|
+
justify-content: space-between;
|
|
83
|
+
--max-width: calc(50% - #{rem(48)});
|
|
84
|
+
--padding-top: 2rem;
|
|
85
|
+
position: relative;
|
|
86
|
+
|
|
87
|
+
&:before {
|
|
88
|
+
content: "";
|
|
89
|
+
position: absolute;
|
|
90
|
+
width: rem(64);
|
|
91
|
+
height: 2px;
|
|
92
|
+
top: calc(50% - 1px);
|
|
93
|
+
left: calc(50% - #{rem(32)});
|
|
94
|
+
background-color: var(--colour-border);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
span {
|
|
98
|
+
display: block;
|
|
99
|
+
position: absolute;
|
|
100
|
+
top: 0.5rem;
|
|
101
|
+
left: 1rem;
|
|
102
|
+
color: #9D9D9D;
|
|
103
|
+
font-size: 1rem;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
span + span {
|
|
107
|
+
left: calc(50% + #{rem(64)});
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
::slotted(input){
|
|
114
|
+
margin-top: 0!important;
|
|
115
|
+
padding-top: var(--padding-top)!important;
|
|
116
|
+
max-width: var(--max-width)!important;
|
|
117
|
+
-webkit-appearance: none!important;
|
|
118
|
+
appearance: none!important;
|
|
119
|
+
min-height: auto!important;
|
|
120
|
+
max-height: none!important;
|
|
121
|
+
}
|
|
@@ -513,6 +513,10 @@ iam-table.table--fullwidth:not([data-expandable]) {
|
|
|
513
513
|
}
|
|
514
514
|
}
|
|
515
515
|
|
|
516
|
+
tr:not(:has(p)) [data-expand-button] {
|
|
517
|
+
display: none;
|
|
518
|
+
}
|
|
519
|
+
|
|
516
520
|
tr:not([data-view="full"]) td p {
|
|
517
521
|
display: -webkit-box;
|
|
518
522
|
-webkit-box-orient: vertical;
|
|
@@ -566,7 +570,7 @@ iam-table.table--fullwidth:not([data-expandable]) {
|
|
|
566
570
|
left: auto;
|
|
567
571
|
top: auto;
|
|
568
572
|
z-index: 3;
|
|
569
|
-
padding: 0;
|
|
573
|
+
padding: rem(4) 0 0 0;
|
|
570
574
|
min-width: rem(48 + 24);
|
|
571
575
|
height: calc(var(--row-height) - 2px);
|
|
572
576
|
text-align: left;
|
|
@@ -107,15 +107,12 @@
|
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
&:not(.disabled) {
|
|
110
|
-
|
|
111
|
-
&:active:after,
|
|
112
|
-
&.active:after {
|
|
110
|
+
&:is([aria-pressed="true"],:active,.current):after {
|
|
113
111
|
transform: translate(-50%, 0) scale(1, 1);
|
|
114
112
|
}
|
|
115
113
|
}
|
|
116
114
|
|
|
117
|
-
|
|
118
|
-
&.active {
|
|
115
|
+
&:is([aria-pressed="true"],.current) {
|
|
119
116
|
pointer-events: none;
|
|
120
117
|
outline: var(--contrast-outline-width, 0px) solid var(--colour-primary-theme)!important;
|
|
121
118
|
}
|
package/assets/sass/core.scss
CHANGED
|
@@ -57,6 +57,23 @@
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
// replicate container padding-bottom
|
|
63
|
+
main > .row {
|
|
64
|
+
|
|
65
|
+
padding-bottom: #{rem(16)};
|
|
66
|
+
|
|
67
|
+
&[class*="bg-"] {
|
|
68
|
+
padding-top: #{rem(48)};
|
|
69
|
+
padding-bottom: #{rem(32)};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&[class*="bg-"] + :is(.row, .container):not([class*="bg-"]) {
|
|
73
|
+
|
|
74
|
+
padding-top: #{rem(32)};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
60
77
|
// #endregion
|
|
61
78
|
|
|
62
79
|
// #region Circles
|
|
@@ -20,7 +20,7 @@ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' view
|
|
|
20
20
|
// #endregion
|
|
21
21
|
|
|
22
22
|
// #region input field
|
|
23
|
-
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output,select:not(.select--minimal)) {
|
|
23
|
+
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output,select:not(.select--minimal)) {
|
|
24
24
|
display: block;
|
|
25
25
|
width: 100%;
|
|
26
26
|
display: block;
|
|
@@ -61,7 +61,7 @@ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' view
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])){
|
|
64
|
+
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"])){
|
|
65
65
|
|
|
66
66
|
max-width: $input-max-width;
|
|
67
67
|
}
|
|
@@ -102,7 +102,7 @@ div:has(> label:first-child):has(> input) {
|
|
|
102
102
|
margin-bottom: rem(24);
|
|
103
103
|
|
|
104
104
|
|
|
105
|
-
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), output, .prefix, .suffix {
|
|
105
|
+
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]), output, .prefix, .suffix {
|
|
106
106
|
margin-bottom: 0!important;
|
|
107
107
|
}
|
|
108
108
|
|
|
@@ -111,12 +111,12 @@ div:has(> label:first-child):has(> input) {
|
|
|
111
111
|
align-items: center;
|
|
112
112
|
|
|
113
113
|
|
|
114
|
-
> *:not(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])):not(output):not(.prefix):not(.suffix) {
|
|
114
|
+
> *:not(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"])):not(output):not(.prefix):not(.suffix) {
|
|
115
115
|
flex-shrink: 0;
|
|
116
116
|
width: 100%;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output) {
|
|
119
|
+
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output) {
|
|
120
120
|
flex-shrink: 1;
|
|
121
121
|
flex-grow: 1;
|
|
122
122
|
width: 0;
|
|
@@ -310,14 +310,14 @@ div:has(> label:first-child):has(> input):has(> :is(.form-control-inline,.input-
|
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
|
|
313
|
-
.prefix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output) {
|
|
313
|
+
.prefix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output) {
|
|
314
314
|
|
|
315
315
|
border-end-start-radius: 0!important;
|
|
316
316
|
border-start-start-radius: 0!important;
|
|
317
317
|
}
|
|
318
318
|
|
|
319
|
-
.suffix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output),
|
|
320
|
-
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,output):has(~ .suffix) {
|
|
319
|
+
.suffix ~ :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output),
|
|
320
|
+
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),textarea,output):has(~ .suffix) {
|
|
321
321
|
order: 1;
|
|
322
322
|
|
|
323
323
|
border-start-end-radius: 0!important;
|
|
@@ -484,8 +484,13 @@ label:has(input:is([type="radio"],[type="checkbox"])):not(:has(> iam-card)){
|
|
|
484
484
|
top: rem(10 - 2);
|
|
485
485
|
left: var(--outline-width);
|
|
486
486
|
}
|
|
487
|
+
|
|
488
|
+
&.btn:before {
|
|
489
|
+
opacity: 0;
|
|
490
|
+
}
|
|
487
491
|
}
|
|
488
492
|
|
|
493
|
+
|
|
489
494
|
input[type="radio"] + label:not(:has(> iam-card)),
|
|
490
495
|
label:has(input[type="radio"]):not(:has(> iam-card)) {
|
|
491
496
|
|
|
@@ -826,13 +831,15 @@ iam-fileupload {
|
|
|
826
831
|
|
|
827
832
|
display: block;
|
|
828
833
|
margin-bottom: rem(24);
|
|
834
|
+
max-width: $input-max-width;
|
|
829
835
|
|
|
830
|
-
:is(input,select) {
|
|
836
|
+
:is(input:not([type="range"]),select) {
|
|
831
837
|
margin-top: rem(8);
|
|
832
838
|
margin-bottom: 0!important;
|
|
833
839
|
}
|
|
834
840
|
|
|
835
|
-
:is(input,select) ~ span:not(:is(.suffix,.prefix,.invalid-feedback))
|
|
841
|
+
:is(input,select) ~ span:not(:is(.suffix,.prefix,.invalid-feedback)),
|
|
842
|
+
span:has(> :is(input,select)) ~ span:not(:is(.suffix,.prefix,.invalid-feedback)) {
|
|
836
843
|
all: initial;
|
|
837
844
|
font-family: var(--font-body);
|
|
838
845
|
color: var(--colour-body);
|
|
@@ -886,3 +893,124 @@ iam-fileupload {
|
|
|
886
893
|
}
|
|
887
894
|
|
|
888
895
|
// #endregion
|
|
896
|
+
|
|
897
|
+
// #region input range
|
|
898
|
+
input[type="range"] {
|
|
899
|
+
|
|
900
|
+
--track-size: #{rem(8)};
|
|
901
|
+
--track-colour: var(--colour-light);
|
|
902
|
+
--thumb-colour: var(--colour-info);
|
|
903
|
+
--thumb-size: #{rem(24)};
|
|
904
|
+
width: 100%;
|
|
905
|
+
background: transparent;
|
|
906
|
+
cursor: pointer;
|
|
907
|
+
margin-top: rem(32);
|
|
908
|
+
margin-bottom: rem(32);
|
|
909
|
+
height: rem(32);
|
|
910
|
+
border-radius: 50%;
|
|
911
|
+
accent-color: var(--thumb-colour);
|
|
912
|
+
-webkit-appearance: none;
|
|
913
|
+
appearance: none;
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
*:has(> input[type="range"]) {
|
|
917
|
+
position: relative;
|
|
918
|
+
padding-bottom: 6rem;
|
|
919
|
+
max-width: $input-max-width;
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
label input[type=range] {
|
|
923
|
+
position: absolute;
|
|
924
|
+
top: 1.5rem;
|
|
925
|
+
left: 0;
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
|
|
929
|
+
// Track Styles
|
|
930
|
+
input[type="range"]::-webkit-slider-runnable-track {
|
|
931
|
+
|
|
932
|
+
background: var(--track-colour);
|
|
933
|
+
height: var(--track-size);
|
|
934
|
+
border-radius: 0.5rem;
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
input[type="range"]::-moz-range-track {
|
|
938
|
+
background: var(--track-colour);
|
|
939
|
+
height: var(--track-size);
|
|
940
|
+
border-radius: 0.5rem;
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
// Thumb Styles
|
|
944
|
+
input[type="range"]::-webkit-slider-thumb {
|
|
945
|
+
-webkit-appearance: none; /* Override default look */
|
|
946
|
+
appearance: none;
|
|
947
|
+
margin-top: rem(-8); /* Centers thumb on the track */
|
|
948
|
+
background-color: var(--thumb-colour);
|
|
949
|
+
height: var(--thumb-size);
|
|
950
|
+
width: var(--thumb-size);
|
|
951
|
+
border-radius: 50%;
|
|
952
|
+
position: relative;
|
|
953
|
+
z-index: 99;
|
|
954
|
+
pointer-events: all;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
input[type="range"]::-moz-range-thumb {
|
|
958
|
+
border: none; /*Removes extra border that FF applies*/
|
|
959
|
+
background-color: var(--thumb-colour); /*Removes default border-radius that FF applies*/
|
|
960
|
+
height: var(--thumb-size);
|
|
961
|
+
width: var(--thumb-size);
|
|
962
|
+
border-radius: 50%;
|
|
963
|
+
position: relative;
|
|
964
|
+
z-index: 99;
|
|
965
|
+
pointer-events: all;
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
// Focus Styles
|
|
969
|
+
input[type="range"]:focus {
|
|
970
|
+
outline: none;
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
input[type="range"]:hover::-webkit-slider-thumb,
|
|
974
|
+
input[type="range"]:focus::-webkit-slider-thumb {
|
|
975
|
+
outline: 0.5rem solid rgba(30, 190, 231, .2);
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
input[type="range"]:active::-webkit-slider-thumb {
|
|
979
|
+
outline: 0.5rem solid rgba(30, 190, 231, .4);
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
input[type="range"]:hover::-moz-range-thumb,
|
|
983
|
+
input[type="range"]:focus::-moz-range-thumb {
|
|
984
|
+
outline: 0.5rem solid rgba(30, 190, 231, .2);
|
|
985
|
+
}
|
|
986
|
+
input[type="range"]:focus::-moz-range-thumb {
|
|
987
|
+
outline: 0.5rem solid rgba(30, 190, 231, .4);
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
|
|
991
|
+
iam-slider input::-webkit-outer-spin-button,
|
|
992
|
+
iam-slider input::-webkit-inner-spin-button {
|
|
993
|
+
-webkit-appearance: none;
|
|
994
|
+
margin: 0;
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
// #endregion
|
|
998
|
+
|
|
999
|
+
// #region Date and time fields
|
|
1000
|
+
:is(input[type="date"],input[type="time"]) {
|
|
1001
|
+
position: relative;
|
|
1002
|
+
}
|
|
1003
|
+
:is(input[type="date"],input[type="time"])::-webkit-calendar-picker-indicator {
|
|
1004
|
+
background: transparent;
|
|
1005
|
+
bottom: 0;
|
|
1006
|
+
color: transparent;
|
|
1007
|
+
cursor: pointer;
|
|
1008
|
+
height: auto;
|
|
1009
|
+
left: 8em;
|
|
1010
|
+
position: absolute;
|
|
1011
|
+
right: 0;
|
|
1012
|
+
top: 0;
|
|
1013
|
+
width: auto;
|
|
1014
|
+
order: 3;
|
|
1015
|
+
}
|
|
1016
|
+
// #endregion
|
|
@@ -40,7 +40,6 @@ table {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
th {
|
|
43
|
-
padding-top: 0;
|
|
44
43
|
font-weight: bold;
|
|
45
44
|
@include var(color,--colour-heading);
|
|
46
45
|
}
|
|
@@ -52,7 +51,7 @@ thead {
|
|
|
52
51
|
@include var(border-color,--colour-primary);
|
|
53
52
|
}
|
|
54
53
|
th {
|
|
55
|
-
|
|
54
|
+
padding-top: 0;
|
|
56
55
|
vertical-align: bottom;
|
|
57
56
|
}
|
|
58
57
|
}
|
package/assets/sass/error.scss
CHANGED
|
@@ -141,3 +141,51 @@ details summary > * {
|
|
|
141
141
|
details {
|
|
142
142
|
width: 100%;
|
|
143
143
|
}
|
|
144
|
+
|
|
145
|
+
// Main grid setup to avoid having to use continaer divs
|
|
146
|
+
main {
|
|
147
|
+
--padding-inline: 1.5rem;
|
|
148
|
+
--container-max-width: #{rem(1280)};
|
|
149
|
+
--full-width-start: 0;
|
|
150
|
+
|
|
151
|
+
@include media-breakpoint-up(sm) {
|
|
152
|
+
--padding-inline: 2.5rem;
|
|
153
|
+
}
|
|
154
|
+
@include media-breakpoint-up(md) {
|
|
155
|
+
--padding-inline: 5.25rem;
|
|
156
|
+
--full-width-start: calc((100% - var(--container-max-width)) / 2);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
display: grid;
|
|
160
|
+
margin-left: auto;
|
|
161
|
+
margin-right: auto;
|
|
162
|
+
width: 100%;
|
|
163
|
+
|
|
164
|
+
grid-template-columns:
|
|
165
|
+
[full-width-start] var(--full-width-start)
|
|
166
|
+
[container-start] var(--padding-inline)
|
|
167
|
+
[content-start] min(
|
|
168
|
+
100% - (var(--padding-inline) * 2),
|
|
169
|
+
calc(var(--container-max-width) - (var(--padding-inline) * 2))
|
|
170
|
+
)
|
|
171
|
+
[content-end]
|
|
172
|
+
var(--padding-inline) [container-end]
|
|
173
|
+
var(--full-width-start) [full-width-end];
|
|
174
|
+
|
|
175
|
+
&:not(:has(.container:last-child)){
|
|
176
|
+
padding-bottom: 1rem;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
main > :not(.full-width, .container, iam-header, [class*="bg-"]) {
|
|
181
|
+
grid-column: content;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
main > :is(.full-width, .container, iam-header) {
|
|
186
|
+
grid-column: container;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
main > :is(.full-width, [class*="bg-"]) {
|
|
190
|
+
grid-column: full-width;
|
|
191
|
+
}
|
package/assets/sass/main.scss
CHANGED
|
@@ -17,6 +17,7 @@ class iamAccordion extends HTMLElement {
|
|
|
17
17
|
const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets'
|
|
18
18
|
const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;
|
|
19
19
|
const loadCSS = `@import "${assetLocation}/css/components/accordion.css";`;
|
|
20
|
+
const loadExtraCSS = `@import "${assetLocation}/css/components/accordion.global.css";`;
|
|
20
21
|
|
|
21
22
|
const template = document.createElement('template');
|
|
22
23
|
template.innerHTML = `
|
|
@@ -30,6 +31,10 @@ class iamAccordion extends HTMLElement {
|
|
|
30
31
|
</div>
|
|
31
32
|
`;
|
|
32
33
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
34
|
+
|
|
35
|
+
// insert extra CSS
|
|
36
|
+
if(!document.getElementById('accordionGlobal'))
|
|
37
|
+
document.head.insertAdjacentHTML('beforeend',`<style id="accordionGlobal">${loadExtraCSS}</style>`);
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
connectedCallback() {
|
|
@@ -45,6 +45,7 @@ class iamActionbar extends HTMLElement {
|
|
|
45
45
|
const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets'
|
|
46
46
|
const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;
|
|
47
47
|
const loadCSS = `@import "${assetLocation}/css/components/actionbar.css";`;
|
|
48
|
+
const loadExtraCSS = `@import "${assetLocation}/css/components/actionbar.global.css";`;
|
|
48
49
|
|
|
49
50
|
const template = document.createElement('template');
|
|
50
51
|
template.innerHTML = `
|
|
@@ -96,6 +97,10 @@ class iamActionbar extends HTMLElement {
|
|
|
96
97
|
</div>
|
|
97
98
|
`;
|
|
98
99
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
100
|
+
|
|
101
|
+
// insert extra CSS
|
|
102
|
+
if(!document.getElementById('actionbarGlobal'))
|
|
103
|
+
document.head.insertAdjacentHTML('beforeend',`<style id="actionbarGlobal">${loadExtraCSS}</style>`);
|
|
99
104
|
}
|
|
100
105
|
|
|
101
106
|
connectedCallback() {
|
|
@@ -51,7 +51,7 @@ class iamAddressLookup extends HTMLElement {
|
|
|
51
51
|
</div>
|
|
52
52
|
<div class="pre-filled pb-2 js-hide">
|
|
53
53
|
<strong class="title text-primary d-block"></strong>
|
|
54
|
-
<p><span class="pre-filled-address"></span><button class="text-primary text-decoration-none ms-1 cursor-pointer"><i class="fa-regular fa-pen-to-square"></i><span class="visually-hidden">Edit</span></button></p>
|
|
54
|
+
<p><span class="pre-filled-address"></span><button class="text-primary text-decoration-none ms-1 cursor-pointer"><i class="fa-regular fa-pen-to-square"></i><span class="visually-hidden">Edit</span></button><slot name="prefilled"></slot></p>
|
|
55
55
|
</div>
|
|
56
56
|
</div>
|
|
57
57
|
`;
|
|
@@ -22,6 +22,7 @@ class iamCard extends HTMLElement {
|
|
|
22
22
|
const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets'
|
|
23
23
|
const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;
|
|
24
24
|
const loadCSS = `@import "${assetLocation}/css/components/card.css";`;
|
|
25
|
+
const loadExtraCSS = `@import "${assetLocation}/css/components/card.global.css";`;
|
|
25
26
|
|
|
26
27
|
const template = document.createElement('template');
|
|
27
28
|
template.innerHTML = `
|
|
@@ -43,6 +44,10 @@ class iamCard extends HTMLElement {
|
|
|
43
44
|
</div>
|
|
44
45
|
`;
|
|
45
46
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
47
|
+
|
|
48
|
+
// insert extra CSS
|
|
49
|
+
if(!document.getElementById('cardGlobal'))
|
|
50
|
+
document.head.insertAdjacentHTML('beforeend',`<style id="cardGlobal">${loadExtraCSS}</style>`);
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
connectedCallback() {
|
|
@@ -16,6 +16,7 @@ class iamNav extends HTMLElement {
|
|
|
16
16
|
const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets';
|
|
17
17
|
const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;
|
|
18
18
|
const loadCSS = `@import "${assetLocation}/css/components/nav.css";`;
|
|
19
|
+
const loadExtraCSS = `@import "${assetLocation}/css/components/nav.global.css";`;
|
|
19
20
|
|
|
20
21
|
const template = document.createElement('template');
|
|
21
22
|
template.innerHTML = `
|
|
@@ -52,6 +53,10 @@ class iamNav extends HTMLElement {
|
|
|
52
53
|
`;
|
|
53
54
|
|
|
54
55
|
shadowRoot.appendChild(template.content.cloneNode(true));
|
|
56
|
+
|
|
57
|
+
// insert extra CSS
|
|
58
|
+
if(!document.getElementById('navGlobal'))
|
|
59
|
+
document.head.insertAdjacentHTML('beforeend',`<style id="navGlobal">${loadExtraCSS}</style>`);
|
|
55
60
|
}
|
|
56
61
|
|
|
57
62
|
connectedCallback() {
|
|
@@ -17,6 +17,7 @@ class iamNotification extends HTMLElement {
|
|
|
17
17
|
const assetLocation = document.body.hasAttribute('data-assets-location') ? document.body.getAttribute('data-assets-location') : '/assets';
|
|
18
18
|
const coreCSS = document.body.hasAttribute('data-core-css') ? document.body.getAttribute('data-core-css') : `${assetLocation}/css/core.min.css`;
|
|
19
19
|
const loadCSS = `@import "${assetLocation}/css/components/notification.css";`;
|
|
20
|
+
const loadExtraCSS = `@import "${assetLocation}/css/components/notification.global.css";`;
|
|
20
21
|
|
|
21
22
|
const buttons = this.querySelectorAll('a,button');
|
|
22
23
|
|
|
@@ -45,6 +46,9 @@ class iamNotification extends HTMLElement {
|
|
|
45
46
|
`;
|
|
46
47
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
|
47
48
|
|
|
49
|
+
// insert extra CSS
|
|
50
|
+
if(!document.getElementById('notificationHolder'))
|
|
51
|
+
document.head.insertAdjacentHTML('beforeend',`<style id="notificationHolder">${loadExtraCSS}</style>`);
|
|
48
52
|
}
|
|
49
53
|
|
|
50
54
|
connectedCallback() {
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
**Add the below to your initialise script**
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
import('../node_modules/@iamproperty/components/assets/js/components/slider/slider.component.min').then(module => { // Might need to update the path
|
|
5
|
+
|
|
6
|
+
if (!window.customElements.get(`iam-slider`))
|
|
7
|
+
window.customElements.define(`iam-slider`, module.default);
|
|
8
|
+
|
|
9
|
+
}).catch((err) => {
|
|
10
|
+
console.log(err.message);
|
|
11
|
+
});
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Add the below HTML code to where you want the component to live.**
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
<label>Input field label <iam-slider><input type="number" name="percent" min="0" max="100" value="15" step="1" /></iam-slider></label>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**Note**
|
|
21
|
+
|
|
22
|
+
The slider component is best put inside of a label and wrapped around an input field. The component is there to enhance the input field.
|
|
23
|
+
|
|
24
|
+
**Properties**
|
|
25
|
+
|
|
26
|
+
The properties of the slider are reflected by the attributes of the input field. So the min and max used to create the range are taken from the first input inside of the component.
|