@iamproperty/components 2.7.0 → 2.7.3

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 (48) hide show
  1. package/assets/css/core.min.css +1 -1
  2. package/assets/css/core.min.css.map +1 -1
  3. package/assets/css/style.min.css +1 -1
  4. package/assets/css/style.min.css.map +1 -1
  5. package/assets/js/modules/form.js +110 -0
  6. package/assets/js/modules/table.js +16 -8
  7. package/assets/js/scripts.bundle.js +85 -5
  8. package/assets/js/scripts.bundle.js.map +1 -1
  9. package/assets/js/scripts.bundle.min.js +2 -2
  10. package/assets/js/scripts.bundle.min.js.map +1 -1
  11. package/assets/sass/_corefiles.scss +1 -0
  12. package/assets/sass/_functions/mixins.scss +1 -1
  13. package/assets/sass/_functions/utilities.scss +9 -0
  14. package/assets/sass/_functions/variables.scss +35 -2
  15. package/assets/sass/components/accordion.scss +2 -2
  16. package/assets/sass/components/alert.scss +3 -3
  17. package/assets/sass/components/charts.scss +5 -9
  18. package/assets/sass/components/drawer.scss +3 -3
  19. package/assets/sass/components/header.scss +2 -1
  20. package/assets/sass/components/modal.scss +3 -3
  21. package/assets/sass/components/nav.scss +217 -20
  22. package/assets/sass/components/stepper.scss +1 -1
  23. package/assets/sass/components/tabs.scss +28 -2
  24. package/assets/sass/elements/container.scss +1 -1
  25. package/assets/sass/elements/forms.scss +66 -0
  26. package/assets/sass/elements/lists.scss +63 -0
  27. package/assets/sass/elements/panel.scss +162 -0
  28. package/assets/sass/elements/tables.scss +31 -0
  29. package/assets/sass/elements/tooltips.scss +29 -18
  30. package/assets/sass/foundations/media.scss +3 -3
  31. package/assets/sass/foundations/root.scss +11 -2
  32. package/dist/components.common.js +306 -36
  33. package/dist/components.common.js.map +1 -1
  34. package/dist/components.css +1 -1
  35. package/dist/components.css.map +1 -1
  36. package/dist/components.umd.js +306 -36
  37. package/dist/components.umd.js.map +1 -1
  38. package/dist/components.umd.min.js +1 -1
  39. package/dist/components.umd.min.js.map +1 -1
  40. package/package.json +1 -1
  41. package/src/components/Nav/Nav.vue +55 -5
  42. package/src/components/NoteFeed/NoteFeed.vue +79 -0
  43. package/src/components/NoteFeed/README.md +16 -0
  44. package/src/elements/FileUploads/FileUploads.vue +48 -0
  45. package/src/elements/FileUploads/README.md +24 -0
  46. package/src/elements/Input/Input.vue +33 -1
  47. package/src/elements/Input/README.md +1 -0
  48. package/src/index.js +2 -0
@@ -32,6 +32,16 @@
32
32
  }
33
33
  }
34
34
 
35
+ .nav__logo img {
36
+ height: rem(48);
37
+ width: auto;
38
+
39
+ @include media-breakpoint-up(sm) {
40
+ height: rem(60);
41
+ width: auto;
42
+ }
43
+ }
44
+
35
45
  .nav__search-btn,
36
46
  .nav__menu-btn {
37
47
 
@@ -113,8 +123,8 @@
113
123
  padding-top: 1rem;
114
124
  }
115
125
 
116
- &__menu li a:not(.text-decoration-none):not(.btn),
117
- &__menu li .link:not(.text-decoration-none):not(.btn) {
126
+ .list-unstyled li a:not(.text-decoration-none):not(.btn),
127
+ .list-unstyled li .link:not(.text-decoration-none):not(.btn) {
118
128
  text-decoration: none;
119
129
  //@include var(color,--colour-primary,!important);
120
130
  display: inline-block;
@@ -136,6 +146,10 @@
136
146
  }
137
147
  }
138
148
 
149
+ .nav__title {
150
+ display: block;
151
+ padding: rem(8) 0 rem(8) 0;
152
+ }
139
153
 
140
154
  .nav__menu--search {
141
155
  order: 2;
@@ -152,8 +166,12 @@
152
166
  // Nav with background colour applied
153
167
  .nav[class*="bg-"] {
154
168
 
155
- .nav__menu--secondary.bg-primary {
169
+ .nav__menu--secondary {
170
+
156
171
  background-color: white!important;
172
+ }
173
+ .nav__menu--secondary > .container > .list-unstyled > li > a,
174
+ .nav__menu--secondary > .container > .list-unstyled > li > details > summary .link {
157
175
 
158
176
  --colour-link: var(--colour-link-theme);
159
177
  --colour-hover: var(--colour-hover-theme);
@@ -165,16 +183,30 @@
165
183
  .nav__menu--secondary {
166
184
  flex-grow: 1;
167
185
 
168
- a {
186
+ background: var(--colour-primary);
187
+
188
+ > .container > .list-unstyled > li > a,
189
+ > .container > .list-unstyled > li > details > summary .link {
190
+ --colour-body: white;
191
+ --colour-link: white;
192
+ --colour-hover: white;
193
+ --colour-active: white;
194
+ --colour-heading: white;
195
+ --colour-underline: white;
196
+ --colour-border: white;
197
+ }
198
+
199
+ a,
200
+ .link {
169
201
  display: inline-block;
170
202
  font-size: rem(15);
171
203
  padding: rem(8) 0 rem(8) 0;
172
204
  text-decoration: none;
173
- }
174
205
 
175
- a:hover,
176
- a:focus {
177
- text-decoration: underline!important;
206
+ &:hover,
207
+ &:focus {
208
+ text-decoration: underline!important;
209
+ }
178
210
  }
179
211
  }
180
212
  // #endregion
@@ -215,7 +247,7 @@
215
247
  padding-top: 1px;
216
248
  left: 0;
217
249
  width: 100%;
218
- z-index: 99999;
250
+ z-index: var(--index-menu);
219
251
 
220
252
  &.is-stuck {
221
253
 
@@ -229,7 +261,7 @@ nav + main > *:first-child {
229
261
  }
230
262
 
231
263
  @include media-breakpoint-up(md) {
232
- .nav.has-secondary:not(.nav--admin) {
264
+ .nav.has-secondary:not(.nav--admin):not(.nav--marketplace) {
233
265
 
234
266
  top: rem(-40);
235
267
 
@@ -238,7 +270,7 @@ nav + main > *:first-child {
238
270
  top: 0;
239
271
  left: 0;
240
272
  width: 100%;
241
- z-index: 99999;
273
+ z-index: var(--index-menu);
242
274
  }
243
275
  }
244
276
  }
@@ -347,7 +379,7 @@ nav + main > *:first-child {
347
379
  }
348
380
  }
349
381
 
350
- .nav__menu--secondary .list-unstyled {
382
+ .nav__menu--secondary > .container > .list-unstyled {
351
383
  margin-left: -1rem!important;
352
384
  margin-right: -1rem!important;
353
385
  width: calc(100% + 2rem);
@@ -362,12 +394,12 @@ nav + main > *:first-child {
362
394
  }
363
395
 
364
396
 
365
- .nav:not(.nav--admin) .nav__menu--secondary .list-unstyled {
397
+ .nav:not(.nav--admin) .nav__menu--secondary > .container > .list-unstyled {
366
398
  font-size: rem(15);
367
399
  padding-top: 0;
368
400
  }
369
401
 
370
- .nav.nav--admin .nav__menu--secondary .list-unstyled {
402
+ .nav.nav--admin .nav__menu--secondary > .container > .list-unstyled {
371
403
  text-align: left;
372
404
  }
373
405
 
@@ -376,7 +408,7 @@ nav + main > *:first-child {
376
408
 
377
409
  // #region Drop down links
378
410
 
379
- .nav__menu .list-unstyled {
411
+ .nav .list-unstyled {
380
412
 
381
413
  > li {
382
414
 
@@ -408,7 +440,6 @@ nav + main > *:first-child {
408
440
  .link:not(.text-decoration-none):not(.btn) {
409
441
  padding: 0.5rem 1.5rem 0.5rem 0;
410
442
  display: inline-block;
411
- color: var(--colour-primary);
412
443
  cursor: pointer;
413
444
  position: relative;
414
445
 
@@ -438,7 +469,7 @@ nav + main > *:first-child {
438
469
  details {
439
470
  @include media-breakpoint-up(md) {
440
471
 
441
- z-index: 1;
472
+ z-index: var(--index-above);
442
473
  padding: 0 1rem;
443
474
  margin-left: -1rem;
444
475
  margin-right: -1rem;
@@ -505,7 +536,7 @@ nav + main > *:first-child {
505
536
  // #endregion
506
537
 
507
538
  // #region Mega menu
508
- .nav__menu .list-unstyled > li details.nav__mega-menu {
539
+ .nav .list-unstyled > li details.nav__mega-menu {
509
540
 
510
541
  @include media-breakpoint-up(md) {
511
542
 
@@ -532,7 +563,8 @@ nav + main > *:first-child {
532
563
  position: absolute;
533
564
  top: 100%;
534
565
  left: 50%;
535
- width: 100vw;
566
+ width: 100vw!important;
567
+ max-width: 100vw!important;
536
568
  -webkit-transform: translateX(-50%);
537
569
  -ms-transform: translateX(-50%);
538
570
  transform: translateX(-50%);
@@ -573,7 +605,7 @@ nav + main > *:first-child {
573
605
  bottom: 0;
574
606
  right: 0;
575
607
  margin: 0;
576
- z-index: 1;
608
+ z-index: var(--index-focus);
577
609
  border-color: transparent;
578
610
  background: transparent;
579
611
  padding: 0.85rem 0rem;
@@ -616,3 +648,168 @@ nav + main > *:first-child {
616
648
  }
617
649
  }
618
650
  // #endregion
651
+
652
+ // #region Martketplace
653
+ .nav--marketplace {
654
+
655
+ --nav-border: #eeeeee;
656
+ --nav-height: 6rem;
657
+
658
+ &.nav--admin {
659
+
660
+ --nav-height: 4.5rem;
661
+ }
662
+
663
+ border-bottom: 1px solid var(--nav-border);
664
+
665
+ .nav__logo {
666
+
667
+ a:not(.current) {
668
+ display: none;
669
+ }
670
+ }
671
+
672
+ .nav__menu {
673
+ height: 100%;
674
+ padding-top: 1.5rem;
675
+ padding-left: var(--container-padding-x);
676
+ padding-right: var(--container-padding-x);
677
+ }
678
+
679
+ .nav__featured-link:hover {
680
+ background: #eeeeee;
681
+ }
682
+
683
+ .list-unstyled {
684
+ a:before {
685
+ display: none!important;
686
+ }
687
+ }
688
+
689
+ .nav__menu-btn {
690
+ margin-left: 2rem;
691
+ }
692
+
693
+ @include media-breakpoint-up(md) {
694
+
695
+ .nav__inner > .container:not(.container-fluid) {
696
+ max-width: 100%;
697
+ padding-left: 2rem;
698
+ padding-right: 2rem;
699
+ }
700
+
701
+ .nav__logo {
702
+ display: flex;
703
+ justify-content: space-between;
704
+
705
+
706
+ a:not(.current) {
707
+ display: inline-block;
708
+ }
709
+
710
+ a:before {
711
+ content: '';
712
+ position: absolute;
713
+ left: 50%;
714
+ top: 100%;
715
+ margin-top: rem(10);
716
+ width: 0%;
717
+ height: rem(6);
718
+ @include var(background-color,--colour-underline);
719
+ -webkit-transform: translateX(-50%);
720
+ -ms-transform: translateX(-50%);
721
+ transform: translateX(-50%);
722
+ -webkit-transition: .3s ease-in;
723
+ transition: .3s ease-in;
724
+ z-index: calc(var(--index-menu) + var(--index-above));
725
+ }
726
+
727
+ a:hover:before,
728
+ .current:before {
729
+
730
+ width: 100%;
731
+ }
732
+ }
733
+
734
+ // Update the nav
735
+ #showMenu:checked ~ .nav__inner {
736
+ height: auto;
737
+ overflow: visible;
738
+ }
739
+ .nav__menu {
740
+ display: block;
741
+ height: calc(100vh - var(--nav-height));
742
+ width: rem(400);
743
+ position: absolute;
744
+ top: var(--nav-height);
745
+ z-index: 60;
746
+ background: #fff;
747
+ overflow-y: auto;
748
+ box-shadow: -0.5rem 1rem 1rem rgb(0 0 0 / 5%);
749
+ border-top: 1px solid var(--nav-border);
750
+ border-left: 1px solid var(--nav-border);
751
+ transition: right ease-in-out 0.3s;
752
+ padding: 2.5rem;
753
+ right: rem(-416);
754
+ }
755
+ #showMenu:checked ~ .nav__inner .nav__menu {
756
+ right: 0;
757
+ }
758
+
759
+ .nav__menu {
760
+
761
+ padding-top: 1.5rem;
762
+ padding-left: 2rem;
763
+ padding-right: 1.5rem;
764
+
765
+ > .list-unstyled {
766
+ text-align: left;
767
+
768
+ li {
769
+ width: 100%;
770
+ }
771
+ }
772
+ }
773
+
774
+ // Secondary nav
775
+
776
+ .nav__menu--secondary {
777
+ position: absolute;
778
+ top: calc(var(--nav-height) + 1px);
779
+ left: 0;
780
+ height: calc(100vh - var(--nav-height));
781
+ width: rem(280);
782
+ overflow: auto;
783
+
784
+ .container {
785
+
786
+ padding-left: 2rem;
787
+ padding-right: 1.5rem;
788
+ padding-bottom: rem(48);
789
+ }
790
+
791
+ .list-unstyled {
792
+ text-align: left;
793
+
794
+ li {
795
+ width: 100%;
796
+ }
797
+ }
798
+ }
799
+
800
+ }
801
+ }
802
+
803
+ @include media-breakpoint-up(md) {
804
+ .main--marketplace {
805
+ padding-left: rem(280);
806
+
807
+ .container {
808
+ --container-padding: 2rem;
809
+ --container-padding-x: 2rem;
810
+ max-width: 100%!important;
811
+ }
812
+ }
813
+ }
814
+
815
+ // #endregion
@@ -1,7 +1,7 @@
1
1
  @use "../_func" as *;
2
2
 
3
3
  .stepper {
4
- background: var(--bs-body-bg);
4
+ background: #f0f0f0;
5
5
  display: flex;
6
6
  flex-wrap: wrap;
7
7
  margin-bottom: 2rem;
@@ -7,6 +7,7 @@
7
7
  overflow: hidden;
8
8
 
9
9
  .link:not(.text-decoration-none):not(.btn) {
10
+ --is-current: 0;
10
11
  font-weight: bold;
11
12
  font-family: var(--font-heading);
12
13
  font-size: rem(18);
@@ -23,6 +24,7 @@
23
24
 
24
25
  &:before {
25
26
  width: 0;
27
+ width: calc(var(--is-current) * 100%);
26
28
  }
27
29
 
28
30
  &:hover:before,
@@ -37,12 +39,36 @@
37
39
  }
38
40
 
39
41
  @for $i from 1 through 10 {
40
- input:checked:nth-child(#{$i}) ~ .tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(#{$i}):before {
41
- width: 100%;
42
+ input:checked:nth-child(#{$i}) ~ .tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(#{$i}) {
43
+
44
+ --is-current: 1;
45
+ --panel-tab-colour: white;
46
+ --panel-tab-border: var(--colour-secondary)
42
47
  }
43
48
  input:checked:nth-child(#{$i}) ~ .tabs .tab:nth-child(#{$i}){
44
49
  display: block;
50
+ display: contents;
45
51
  }
46
52
  }
47
53
  }
48
54
 
55
+ // #region admin panel
56
+ .admin-panel > .tabs__container:first-child {
57
+
58
+ display: contents;
59
+
60
+ .tabs {
61
+ display: contents;
62
+ }
63
+
64
+ .tabs__links {
65
+
66
+ padding-bottom: 0;
67
+
68
+ .link:not(.text-decoration-none):not(.btn) {
69
+
70
+ margin-bottom: 0;
71
+ }
72
+ }
73
+ }
74
+ // #endregion
@@ -56,7 +56,7 @@
56
56
  > .circle {
57
57
 
58
58
  position: absolute;
59
- z-index: -1;
59
+ z-index: var(--index-below);
60
60
  border-width: 3px;
61
61
  }
62
62
 
@@ -1,10 +1,30 @@
1
1
  .form-control__wrapper {
2
2
  margin-bottom: 1.5rem;
3
3
  max-width: $content-max-width;
4
+ position: relative;
4
5
 
5
6
  label {
6
7
  display: block;
7
8
 
9
+ &[title]:after{
10
+
11
+ content: "";
12
+ display: inline-block;
13
+ margin-left: 0.25em;
14
+ margin-bottom: 0.1em;
15
+ width: 1em;
16
+ height: 1em;
17
+ vertical-align: text-bottom;
18
+ background: currentColor;
19
+ mask-image: var(--icon-question);
20
+ mask-size: 100%;
21
+ mask-repeat: no-repeat;
22
+ mask-position: 50% 50%;
23
+ -webkit-mask-image: var(--icon-question);
24
+ -webkit-mask-size: 100%;
25
+ -webkit-mask-repeat: no-repeat;
26
+ -webkit-mask-position: 50% 50%;
27
+ }
8
28
  }
9
29
  }
10
30
 
@@ -126,3 +146,49 @@ select[multiple]::-webkit-scrollbar-thumb {
126
146
  border-radius: 0.35rem;
127
147
  }
128
148
  // #endregion
149
+
150
+ // #region prefix
151
+
152
+ .form-control__wrapper :is(.prefix,.suffix) {
153
+
154
+ color: #212529;
155
+ background: #e9ecef;
156
+ padding: 0.75em 1em;
157
+ font-size: 1rem;
158
+ font-weight: normal;
159
+ line-height: 1.5;
160
+ position: absolute;
161
+ bottom: 1px;
162
+ }
163
+
164
+ .form-control__wrapper .prefix {
165
+
166
+ border-top-left-radius: 0.625rem;
167
+ border-bottom-left-radius: 0.625rem;
168
+ left: 1px;
169
+ }
170
+
171
+ .form-control__wrapper :is(.prefix-sm,.suffix-sm) {
172
+
173
+ font-size: var(--fs-small);
174
+ }
175
+ .form-control__wrapper :is(.prefix-lg,.suffix-lg) {
176
+
177
+ font-size: 1.5rem;
178
+ }
179
+
180
+ .form-control__wrapper .prefix + .form-control {
181
+ padding-left: em(64);
182
+ }
183
+ .form-control__wrapper .suffix + .form-control {
184
+ padding-right: em(64);
185
+ }
186
+
187
+ .form-control__wrapper .suffix {
188
+ left: auto;
189
+ right: 1px;
190
+ border-top-right-radius: 0.625rem;
191
+ border-bottom-right-radius: 0.625rem;
192
+ }
193
+
194
+ // #endregion
@@ -4,6 +4,69 @@
4
4
  max-width: $content-max-width;
5
5
  }
6
6
 
7
+ .tick-list {
8
+
9
+ padding-left: 0;
10
+
11
+ li {
12
+ position: relative;
13
+ list-style: none;
14
+ padding-bottom: 1rem;
15
+ padding-left: 2.5rem;
16
+
17
+ &:before {
18
+
19
+ content: "";
20
+ position: absolute;
21
+ top: 0;
22
+ left: 0;
23
+ width: 1.5em;
24
+ height: 1.5em;
25
+
26
+ background: var(--colour-secondary);
27
+ mask-image: var(--icon-tick);
28
+ mask-size: 100%;
29
+ mask-repeat: no-repeat;
30
+ mask-position: 50% 50%;
31
+ -webkit-mask-image: var(--icon-tick);
32
+ -webkit-mask-size: 100%;
33
+ -webkit-mask-repeat: no-repeat;
34
+ -webkit-mask-position: 50% 50%;
35
+ }
36
+
37
+ &[class*="bg-"] {
38
+ padding: 1rem;
39
+ padding-left: 4rem;
40
+ margin-bottom: 1rem;
41
+ border-radius: 0.5rem;
42
+ z-index: 0;
43
+
44
+ &:before,
45
+ &:after {
46
+
47
+ top: 50%;
48
+ left: 1rem;
49
+ width: 2rem;
50
+ height: 2rem;
51
+ margin-top: -1rem;
52
+ }
53
+
54
+ &:after {
55
+
56
+ content: "";
57
+ position: absolute;
58
+ z-index: -1;
59
+ background-color: white;
60
+ border-radius: 50%;
61
+ transform-origin: 50% 50%;
62
+ transform: scale(0.9);
63
+ }
64
+
65
+ }
66
+ }
67
+ }
68
+
69
+
7
70
  .breadcrumb {
8
71
 
9
72
  font-size: rem(14);