@iamproperty/components 2.6.3 → 2.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/assets/css/core.min.css +1 -1
  2. package/assets/css/core.min.css.map +1 -1
  3. package/assets/css/error.min.css +1 -0
  4. package/assets/css/error.min.css.map +1 -0
  5. package/assets/css/style.min.css +1 -1
  6. package/assets/css/style.min.css.map +1 -1
  7. package/assets/favicons/android-chrome-512x512-maskable.png +0 -0
  8. package/assets/js/modules/form.js +110 -0
  9. package/assets/js/modules/table.js +16 -8
  10. package/assets/js/scripts.bundle.js +85 -5
  11. package/assets/js/scripts.bundle.js.map +1 -1
  12. package/assets/js/scripts.bundle.min.js +2 -2
  13. package/assets/js/scripts.bundle.min.js.map +1 -1
  14. package/assets/sass/_components.scss +14 -37
  15. package/assets/sass/_corefiles.scss +26 -43
  16. package/assets/sass/_forms.scss +10 -0
  17. package/assets/sass/_func.scss +6 -4
  18. package/assets/sass/_functions/functions.scss +54 -8
  19. package/assets/sass/_functions/mixins.scss +70 -18
  20. package/assets/sass/_functions/utilities.scss +13 -0
  21. package/assets/sass/_functions/variables.scss +82 -41
  22. package/assets/sass/_print.scss +2 -0
  23. package/assets/sass/components/accordion.scss +6 -4
  24. package/assets/sass/components/alert.scss +5 -3
  25. package/assets/sass/components/cardDeck.scss +1 -0
  26. package/assets/sass/components/carousel.scss +10 -40
  27. package/assets/sass/components/charts.scss +18 -11
  28. package/assets/sass/components/drawer.scss +5 -3
  29. package/assets/sass/components/header.scss +8 -1
  30. package/assets/sass/components/modal.scss +8 -5
  31. package/assets/sass/components/nav.scss +222 -26
  32. package/assets/sass/components/property-searchbar.scss +5 -0
  33. package/assets/sass/components/snapshot.scss +2 -0
  34. package/assets/sass/components/stepper.scss +5 -3
  35. package/assets/sass/components/tabs.scss +30 -2
  36. package/assets/sass/components/testimonial.scss +2 -0
  37. package/assets/sass/components/timeline.scss +5 -2
  38. package/assets/sass/core.scss +4 -4
  39. package/assets/sass/elements/buttons.scss +41 -88
  40. package/assets/sass/{components → elements}/card.scss +9 -0
  41. package/assets/sass/elements/container.scss +18 -15
  42. package/assets/sass/elements/forms.scss +66 -0
  43. package/assets/sass/elements/links.scss +2 -0
  44. package/assets/sass/elements/lists.scss +66 -2
  45. package/assets/sass/elements/panel.scss +162 -0
  46. package/assets/sass/elements/tables.scss +34 -0
  47. package/assets/sass/elements/tooltips.scss +33 -19
  48. package/assets/sass/elements/type.scss +44 -21
  49. package/assets/sass/email.scss +66 -0
  50. package/assets/sass/error.scss +5 -0
  51. package/assets/sass/foundations/brand.scss +6 -8
  52. package/assets/sass/foundations/circles.scss +2 -0
  53. package/assets/sass/foundations/icons.scss +3 -2
  54. package/assets/sass/foundations/media.scss +7 -3
  55. package/assets/sass/foundations/reboot.scss +12 -6
  56. package/assets/sass/foundations/root.scss +76 -18
  57. package/assets/sass/main.scss +5 -5
  58. package/dist/components.common.js +384 -131
  59. package/dist/components.common.js.map +1 -1
  60. package/dist/components.css +1 -1
  61. package/dist/components.css.map +1 -1
  62. package/dist/components.umd.js +384 -131
  63. package/dist/components.umd.js.map +1 -1
  64. package/dist/components.umd.min.js +1 -1
  65. package/dist/components.umd.min.js.map +1 -1
  66. package/package.json +6 -1
  67. package/src/components/Accordion/Accordion.vue +0 -2
  68. package/src/components/Alert/Alert.vue +1 -2
  69. package/src/components/CardDeck/CardDeck.vue +1 -2
  70. package/src/components/Carousel/Carousel.vue +1 -2
  71. package/src/components/Chart/Chart.vue +0 -1
  72. package/src/components/Drawer/Drawer.vue +0 -1
  73. package/src/components/Header/Header.vue +0 -1
  74. package/src/components/Modal/Modal.vue +0 -1
  75. package/src/components/Nav/Nav.vue +55 -7
  76. package/src/components/NoteFeed/NoteFeed.vue +79 -0
  77. package/src/components/NoteFeed/README.md +16 -0
  78. package/src/components/PropertySearchbar/PropertySearchbar.vue +0 -2
  79. package/src/components/Snapshot/Snapshot.vue +0 -1
  80. package/src/components/Stepper/Stepper.vue +0 -1
  81. package/src/components/Tabs/Tabs.vue +0 -1
  82. package/src/components/Testimonial/Testimonial.vue +0 -1
  83. package/src/components/Timeline/Timeline.vue +0 -1
  84. package/src/{components → elements}/Card/Card.vue +1 -3
  85. package/src/{components → elements}/Card/README.md +0 -0
  86. package/src/elements/FileUploads/FileUploads.vue +48 -0
  87. package/src/elements/FileUploads/README.md +24 -0
  88. package/src/elements/Input/Input.vue +33 -1
  89. package/src/elements/Input/README.md +1 -0
  90. package/src/index.js +3 -1
@@ -1,3 +1,6 @@
1
+ @use "sass:math";
2
+ @use "../_func" as *;
3
+
1
4
  .modal {
2
5
  display: none;
3
6
  }
@@ -10,7 +13,7 @@
10
13
  width: 100%;
11
14
  height: 100%;
12
15
  background: rgba(0,0,0,0.25);
13
- z-index: 99999;
16
+ z-index: var(--index-overlay);
14
17
  border: none;
15
18
  overscroll-behavior: contain;
16
19
 
@@ -31,7 +34,7 @@
31
34
  @include media-breakpoint-up(md) {
32
35
  display: block;
33
36
  position: absolute;
34
- z-index: 1;
37
+ z-index: var(--index-focus);
35
38
  top: 50%;
36
39
  transform: translate(0,-50%);
37
40
  overflow: hidden;
@@ -44,14 +47,14 @@
44
47
  }
45
48
 
46
49
  &.modal__dock--left {
47
- right: calc(50% + #{rem(820/2)} + 1rem);
50
+ right: calc(50% + #{rem(math.div(820,2))} + 1rem);
48
51
 
49
52
  &:after {
50
53
  transform: rotate(-180deg);
51
54
  }
52
55
  }
53
56
  &.modal__dock--right {
54
- left: calc(50% + #{rem(820/2)} + 1rem);
57
+ left: calc(50% + #{rem(math.div(820,2))} + 1rem);
55
58
  }
56
59
  }
57
60
  }
@@ -93,7 +96,7 @@
93
96
  right: 0;
94
97
  margin-top: -0.75rem;
95
98
  margin-right: -0.75rem;
96
- z-index: 99;
99
+ z-index: var(--index-focus);
97
100
 
98
101
  &:not(:hover):not(:focus):not(:active){
99
102
  background: white;
@@ -1,6 +1,9 @@
1
+ @use "../_func" as *;
2
+
1
3
  .nav {
2
4
 
3
- background: white;
5
+ background: var(--bs-body-bg);
6
+
4
7
 
5
8
  &__inner {
6
9
 
@@ -29,6 +32,16 @@
29
32
  }
30
33
  }
31
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
+
32
45
  .nav__search-btn,
33
46
  .nav__menu-btn {
34
47
 
@@ -110,10 +123,10 @@
110
123
  padding-top: 1rem;
111
124
  }
112
125
 
113
- &__menu li a:not(.text-decoration-none):not(.btn),
114
- &__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) {
115
128
  text-decoration: none;
116
- @include var(color,--colour-primary,!important);
129
+ //@include var(color,--colour-primary,!important);
117
130
  display: inline-block;
118
131
  padding: rem(8) 0 rem(8) 0;
119
132
  margin-bottom: 0;
@@ -133,6 +146,10 @@
133
146
  }
134
147
  }
135
148
 
149
+ .nav__title {
150
+ display: block;
151
+ padding: rem(8) 0 rem(8) 0;
152
+ }
136
153
 
137
154
  .nav__menu--search {
138
155
  order: 2;
@@ -143,18 +160,18 @@
143
160
 
144
161
  background: rgba(0,0,0,.6);
145
162
  height: calc(100vh - 5rem);
146
-
147
- > div:first-child {
148
-
149
- }
150
163
  }
151
164
  }
152
165
 
153
166
  // Nav with background colour applied
154
167
  .nav[class*="bg-"] {
155
168
 
156
- .nav__menu--secondary.bg-primary {
169
+ .nav__menu--secondary {
170
+
157
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 {
158
175
 
159
176
  --colour-link: var(--colour-link-theme);
160
177
  --colour-hover: var(--colour-hover-theme);
@@ -166,16 +183,30 @@
166
183
  .nav__menu--secondary {
167
184
  flex-grow: 1;
168
185
 
169
- 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 {
170
201
  display: inline-block;
171
202
  font-size: rem(15);
172
203
  padding: rem(8) 0 rem(8) 0;
173
204
  text-decoration: none;
174
- }
175
205
 
176
- a:hover,
177
- a:focus {
178
- text-decoration: underline!important;
206
+ &:hover,
207
+ &:focus {
208
+ text-decoration: underline!important;
209
+ }
179
210
  }
180
211
  }
181
212
  // #endregion
@@ -216,7 +247,7 @@
216
247
  padding-top: 1px;
217
248
  left: 0;
218
249
  width: 100%;
219
- z-index: 99999;
250
+ z-index: var(--index-menu);
220
251
 
221
252
  &.is-stuck {
222
253
 
@@ -230,7 +261,7 @@ nav + main > *:first-child {
230
261
  }
231
262
 
232
263
  @include media-breakpoint-up(md) {
233
- .nav.has-secondary:not(.nav--admin) {
264
+ .nav.has-secondary:not(.nav--admin):not(.nav--marketplace) {
234
265
 
235
266
  top: rem(-40);
236
267
 
@@ -239,7 +270,7 @@ nav + main > *:first-child {
239
270
  top: 0;
240
271
  left: 0;
241
272
  width: 100%;
242
- z-index: 99999;
273
+ z-index: var(--index-menu);
243
274
  }
244
275
  }
245
276
  }
@@ -348,7 +379,7 @@ nav + main > *:first-child {
348
379
  }
349
380
  }
350
381
 
351
- .nav__menu--secondary .list-unstyled {
382
+ .nav__menu--secondary > .container > .list-unstyled {
352
383
  margin-left: -1rem!important;
353
384
  margin-right: -1rem!important;
354
385
  width: calc(100% + 2rem);
@@ -363,12 +394,12 @@ nav + main > *:first-child {
363
394
  }
364
395
 
365
396
 
366
- .nav:not(.nav--admin) .nav__menu--secondary .list-unstyled {
397
+ .nav:not(.nav--admin) .nav__menu--secondary > .container > .list-unstyled {
367
398
  font-size: rem(15);
368
399
  padding-top: 0;
369
400
  }
370
401
 
371
- .nav.nav--admin .nav__menu--secondary .list-unstyled {
402
+ .nav.nav--admin .nav__menu--secondary > .container > .list-unstyled {
372
403
  text-align: left;
373
404
  }
374
405
 
@@ -377,7 +408,7 @@ nav + main > *:first-child {
377
408
 
378
409
  // #region Drop down links
379
410
 
380
- .nav__menu .list-unstyled {
411
+ .nav .list-unstyled {
381
412
 
382
413
  > li {
383
414
 
@@ -409,7 +440,6 @@ nav + main > *:first-child {
409
440
  .link:not(.text-decoration-none):not(.btn) {
410
441
  padding: 0.5rem 1.5rem 0.5rem 0;
411
442
  display: inline-block;
412
- color: var(--colour-primary);
413
443
  cursor: pointer;
414
444
  position: relative;
415
445
 
@@ -439,7 +469,7 @@ nav + main > *:first-child {
439
469
  details {
440
470
  @include media-breakpoint-up(md) {
441
471
 
442
- z-index: 1;
472
+ z-index: var(--index-above);
443
473
  padding: 0 1rem;
444
474
  margin-left: -1rem;
445
475
  margin-right: -1rem;
@@ -506,7 +536,7 @@ nav + main > *:first-child {
506
536
  // #endregion
507
537
 
508
538
  // #region Mega menu
509
- .nav__menu .list-unstyled > li details.nav__mega-menu {
539
+ .nav .list-unstyled > li details.nav__mega-menu {
510
540
 
511
541
  @include media-breakpoint-up(md) {
512
542
 
@@ -533,7 +563,8 @@ nav + main > *:first-child {
533
563
  position: absolute;
534
564
  top: 100%;
535
565
  left: 50%;
536
- width: 100vw;
566
+ width: 100vw!important;
567
+ max-width: 100vw!important;
537
568
  -webkit-transform: translateX(-50%);
538
569
  -ms-transform: translateX(-50%);
539
570
  transform: translateX(-50%);
@@ -574,7 +605,7 @@ nav + main > *:first-child {
574
605
  bottom: 0;
575
606
  right: 0;
576
607
  margin: 0;
577
- z-index: 1;
608
+ z-index: var(--index-focus);
578
609
  border-color: transparent;
579
610
  background: transparent;
580
611
  padding: 0.85rem 0rem;
@@ -617,3 +648,168 @@ nav + main > *:first-child {
617
648
  }
618
649
  }
619
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,3 +1,5 @@
1
+ @use "../_func" as *;
2
+
1
3
  // #region Property searchbar
2
4
  .property-searchbar {
3
5
 
@@ -99,6 +101,9 @@
99
101
 
100
102
  // #region Heror searchbar
101
103
  .property-searchbar--hero .property-searchbar {
104
+
105
+ @include reset-colours();
106
+
102
107
  padding: 1rem;
103
108
  background-color: #fff;
104
109
  width: 100%;
@@ -1,3 +1,5 @@
1
+ @use "../_func" as *;
2
+
1
3
  .snapshot {
2
4
 
3
5
  > .row {
@@ -1,9 +1,11 @@
1
+ @use "../_func" as *;
2
+
1
3
  .stepper {
2
4
  background: #f0f0f0;
3
5
  display: flex;
4
6
  flex-wrap: wrap;
5
7
  margin-bottom: 2rem;
6
- border: 1px solid white;
8
+ border: 1px solid var(--bs-body-bg);
7
9
  overflow: hidden;
8
10
 
9
11
  @include media-breakpoint-up(md) {
@@ -15,7 +17,7 @@
15
17
  ol {
16
18
  margin: 0;
17
19
  z-index: 1;
18
- background: white;
20
+ background: var(--bs-body-bg);
19
21
  counter-reset: section;
20
22
  width: 100%;
21
23
  overflow: auto;
@@ -38,7 +40,7 @@
38
40
  li {
39
41
  width: 100%;
40
42
  max-width: 100%;
41
- background: white;
43
+ background: var(--bs-body-bg);
42
44
  padding: 1px;
43
45
 
44
46
  @include media-breakpoint-up(sm) {
@@ -1,3 +1,5 @@
1
+ @use "../_func" as *;
2
+
1
3
  .tabs__container {
2
4
 
3
5
  .tabs__links {
@@ -5,6 +7,7 @@
5
7
  overflow: hidden;
6
8
 
7
9
  .link:not(.text-decoration-none):not(.btn) {
10
+ --is-current: 0;
8
11
  font-weight: bold;
9
12
  font-family: var(--font-heading);
10
13
  font-size: rem(18);
@@ -21,6 +24,7 @@
21
24
 
22
25
  &:before {
23
26
  width: 0;
27
+ width: calc(var(--is-current) * 100%);
24
28
  }
25
29
 
26
30
  &:hover:before,
@@ -35,12 +39,36 @@
35
39
  }
36
40
 
37
41
  @for $i from 1 through 10 {
38
- input:checked:nth-child(#{$i}) ~ .tabs__links .link:not(.text-decoration-none):not(.btn):nth-child(#{$i}):before {
39
- 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)
40
47
  }
41
48
  input:checked:nth-child(#{$i}) ~ .tabs .tab:nth-child(#{$i}){
42
49
  display: block;
50
+ display: contents;
43
51
  }
44
52
  }
45
53
  }
46
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
@@ -1,3 +1,5 @@
1
+ @use "../_func" as *;
2
+
1
3
  .testimonial {
2
4
 
3
5
  --testimonial-padding: 1rem;
@@ -1,3 +1,6 @@
1
+ @use "sass:math";
2
+ @use "../_func" as *;
3
+
1
4
  .timeline {
2
5
 
3
6
  --breakpoint:(100% - #{rem(992)});
@@ -57,12 +60,12 @@
57
60
  }
58
61
 
59
62
  > * {
60
- max-width: rem((1320 / 2) - 96);
63
+ max-width: rem(math.div(1320,2) - 96);
61
64
  order: 1;
62
65
  }
63
66
 
64
67
  > img {
65
- max-width: min(100%, #{rem((1320 / 2) - 96)});
68
+ max-width: min(100%, #{rem(math.div(1320,2) - 96)});
66
69
  margin-bottom: 2rem;
67
70
  }
68
71
 
@@ -1,6 +1,6 @@
1
1
  @charset "UTF-8";
2
2
 
3
- @import "_fonts";
4
- @import "_func";
5
- @import "_corefiles";
6
- @import "_print";
3
+ @use "_fonts";
4
+ @use "_corefiles";
5
+ @use "_forms";
6
+ @use "_print";