@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,5 +1,6 @@
1
- abbr[title],
2
- .tooltip {
1
+ @use "../_func.scss" as *;
2
+
3
+ :is(abbr[title], .tooltip) {
3
4
 
4
5
  text-decoration: underline;
5
6
  text-underline-offset: 0.2em;
@@ -9,9 +10,7 @@ abbr[title],
9
10
  position: relative;
10
11
  cursor: help;
11
12
 
12
- &:hover,
13
- &:focus,
14
- &:active{
13
+ &:is(:hover, :focus, :active){
15
14
 
16
15
  text-decoration: none;
17
16
  }
@@ -20,13 +19,14 @@ abbr[title],
20
19
  @mixin tooltip(){
21
20
 
22
21
  display: block;
23
- z-index: 2;
22
+ z-index: var(--index-above);
24
23
  position: absolute;
25
24
  top: calc(100% + 0.25rem);
26
25
  left: 50%;
27
26
  min-width: max(120%, #{rem(100)});
28
27
  transform: translate(-50%,0);
29
- background: #eee;
28
+ background: var(--bs-body-bg);
29
+ color: inherit;
30
30
  padding: 0.5em;
31
31
  border-radius: 3px;
32
32
  box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.3);
@@ -34,6 +34,27 @@ abbr[title],
34
34
 
35
35
  .tooltip {
36
36
 
37
+
38
+ &:after{
39
+
40
+ content: "";
41
+ display: inline-block;
42
+ margin-left: 0.1em;
43
+ margin-bottom: 0.1em;
44
+ width: 0.8em;
45
+ height: 0.9em;
46
+ vertical-align: text-bottom;
47
+ background: currentColor;
48
+ mask-image: var(--icon-question);
49
+ mask-size: 100%;
50
+ mask-repeat: no-repeat;
51
+ mask-position: 50% 50%;
52
+ -webkit-mask-image: var(--icon-question);
53
+ -webkit-mask-size: 100%;
54
+ -webkit-mask-repeat: no-repeat;
55
+ -webkit-mask-position: 50% 50%;
56
+ }
57
+
37
58
  .tooltip__content {
38
59
 
39
60
  opacity: 0;
@@ -41,9 +62,7 @@ abbr[title],
41
62
 
42
63
  }
43
64
 
44
- &:hover,
45
- &:focus,
46
- &:active{
65
+ &:is(:hover, :focus, :active){
47
66
 
48
67
  .tooltip__content {
49
68
 
@@ -55,17 +74,12 @@ abbr[title],
55
74
 
56
75
  @media (hover: none) {
57
76
 
58
- abbr[title],
59
- .tooltip[title] {
77
+ :is(abbr[title], .tooltip[title]) {
60
78
 
61
- &:hover,
62
- &:focus,
63
- &:active{
79
+ &:is(:hover, :focus, :active):before{
64
80
 
65
- &::after {
66
- content: attr(title);
67
- @include tooltip();
68
- }
81
+ content: attr(title);
82
+ @include tooltip();
69
83
  }
70
84
  }
71
85
  }
@@ -1,3 +1,18 @@
1
+ @use "../_func.scss" as *;
2
+
3
+ /* Duplicated from bootstrap reboot so that the type file will compile */
4
+ mark {
5
+ padding: $mark-padding;
6
+ background-color: $mark-bg;
7
+ }
8
+
9
+ small {
10
+ @include font-size($small-font-size);
11
+ }
12
+
13
+
14
+ @import "../../../node_modules/bootstrap/scss/_type.scss";
15
+
1
16
  // #region headings
2
17
  %heading {
3
18
  clear: both;
@@ -6,38 +21,46 @@
6
21
  @include var(color,--colour-heading);
7
22
  color: var(--colour-heading,var(--colour-primary));
8
23
  display: block;
9
- //margin-bottom: clamp(1rem,0.5em,0.5em);
10
- //line-height: clamp(2.5rem,1em,1.2em);
11
24
  text-indent: -0.04em;
12
25
  letter-spacing: -0.01em;
26
+
27
+ margin-top: 0; // 1
28
+ margin-bottom: $headings-margin-bottom;
29
+ font-style: $headings-font-style;
30
+ line-height: $headings-line-height;
31
+ }
32
+
33
+ .h1 {
34
+ @include font-size($h1-font-size);
13
35
  }
14
36
 
15
- h1,
16
- .h1,
17
- h2,
18
37
  .h2 {
19
- @extend %heading;
38
+ @include font-size($h2-font-size);
20
39
  }
21
- h3,
40
+
22
41
  .h3 {
23
- @extend %heading;
42
+ @include font-size($h3-font-size);
43
+ }
44
+
45
+ .h4 {
46
+ @include font-size($h4-font-size);
47
+ }
48
+
49
+ .h5 {
50
+ @include font-size($h5-font-size);
24
51
  }
25
- h4,
26
- .h4,
27
- h5,
28
- .h5,
29
- h6,
30
- .h6 {
52
+
53
+ .h6 {
54
+ @include font-size($h6-font-size);
55
+ }
56
+
57
+ @include is('h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6,.display-1,.display-2, .display-3, .display-4'){
31
58
 
32
59
  @extend %heading;
33
60
  }
34
61
 
35
- .display-1,
36
- .display-2,
37
- .display-3,
38
- .display-4 {
62
+ @include is('.display-1,.display-2, .display-3, .display-4') {
39
63
 
40
- @extend %heading;
41
64
  font-size: var(--fs-display);
42
65
  }
43
66
 
@@ -73,7 +96,7 @@ p + p {
73
96
  font-weight: 700;
74
97
  line-height: 1.2;
75
98
  margin-bottom: 3rem;
76
- @include var(color,--colour-primary);
99
+ @include var(color,--colour-heading);
77
100
  }
78
101
 
79
102
  blockquote {
@@ -108,7 +131,7 @@ blockquote {
108
131
  @extend %heading;
109
132
  text-decoration: underline;
110
133
  text-underline-offset: 1rem;
111
- text-decoration-color: var(--colour-secondary-theme);
134
+ text-decoration-color: var(--colour-secondary);
112
135
  text-decoration-thickness: 0.4rem;
113
136
  margin-bottom: 2rem;
114
137
  }
@@ -0,0 +1,66 @@
1
+ @charset "UTF-8";
2
+
3
+ // Set mobile only variable so that the media query mixin doesn't print out non mobile rules
4
+
5
+ @use "_func" as *;
6
+
7
+ $mobileOnly: "true";
8
+ $compatible: "true";
9
+
10
+ // Update the breakpoints to just one to remove some utility classes
11
+ $grid-breakpoints: (
12
+ xs: 0
13
+ );
14
+
15
+ // Simplify the grid
16
+ $grid-columns: 4;
17
+
18
+ $device-xs-width: 600;
19
+ $device-md-width: 600;
20
+ $container-padding-x: 32;
21
+ $default-curve-width: 600;
22
+
23
+ @import "_corefiles";
24
+
25
+ :root {
26
+
27
+ --container-padding-x: #{rem(66)};
28
+ }
29
+
30
+ html {
31
+
32
+ @media (min-width: #{em(600)}) {
33
+ font-size: 100%;
34
+ }
35
+ }
36
+
37
+ .content-wrapper > * {
38
+ max-width: 600px;
39
+ margin-inline: auto;
40
+ }
41
+
42
+ .container:not(.container-fluid) {
43
+ max-width: 600px;
44
+ padding-left: #{rem(48)};
45
+ padding-right: #{rem(48)};
46
+ }
47
+
48
+ .table--email,
49
+ .table--email tr,
50
+ .table--email td {
51
+ border: none;
52
+ margin: 0;
53
+ padding: 0;
54
+ }
55
+ .table--email td + td {
56
+ padding-left: 1rem;
57
+ }
58
+
59
+ /* card */
60
+ .card {
61
+ min-height: auto;
62
+ }
63
+ /* utilities */
64
+ .text-white {
65
+ color: white;;
66
+ }
@@ -0,0 +1,5 @@
1
+ @charset "UTF-8";
2
+
3
+ // Set mobile only variable so that the media query mixin doesn't print out non mobile rules
4
+ @use "_func" as *;
5
+ @import "_corefiles";
@@ -1,3 +1,5 @@
1
+ @use "../_func" as *;
2
+
1
3
  .brand {
2
4
 
3
5
  --svg-width: #{em(380,130)};
@@ -28,17 +30,13 @@
28
30
  min-width: 100%;
29
31
  min-width: Min(100%, var(--svg-width));
30
32
  font-size: rem(64);
31
- @include var(color,--colour-primary);
33
+ @include var(color,--colour-brand);
32
34
 
33
35
  /* Restrict the logo colours so that only text-secondary can be defined */
34
36
  &[class*="text-"]:not(.text-secondary){
35
37
  color: inherit!important;
36
38
  }
37
39
 
38
- &[class*="text-"].text-secondary{
39
- color: var(--colour-secondary-theme)!important;
40
- }
41
-
42
40
  svg {
43
41
  fill: currentColor;
44
42
  height: 1em;
@@ -57,10 +55,10 @@
57
55
  }
58
56
  }
59
57
 
60
- a.brand,
61
- a .brand {
58
+ a.brand:not(:hover):not(:focus):not(:active),
59
+ a:not(:hover):not(:focus):not(:active) .brand {
62
60
 
63
- @include var(color,--colour-primary);
61
+ @include var(color,--colour-brand);
64
62
  }
65
63
 
66
64
  a.brand:hover,
@@ -1,3 +1,5 @@
1
+ @use "../_func" as *;
2
+
1
3
  .circle {
2
4
  position: relative;
3
5
  border-radius: 50%;
@@ -1,7 +1,9 @@
1
+ @use "../_func" as *;
2
+
1
3
  .icon {
2
4
  fill: currentColor;
3
5
  stroke: transparent;
4
- @include var(color,--colour-primary-theme);
6
+ @include var(color,--colour-brand);
5
7
  width: rem(64);
6
8
  height: rem(64);
7
9
  display: inline-block;
@@ -40,7 +42,6 @@
40
42
  font-size: rem(64 - 16);
41
43
  height: rem(64);
42
44
  padding: 0.5rem;
43
- @include var(color,--colour-primary-theme);
44
45
  -moz-osx-font-smoothing: grayscale;
45
46
  -webkit-font-smoothing: antialiased;
46
47
  display: inline-block;
@@ -1,3 +1,7 @@
1
+ @use "../_func" as *;
2
+
3
+ @import "../../../node_modules/bootstrap/scss/_images.scss";
4
+
1
5
  img {
2
6
  max-width: 100%;
3
7
  }
@@ -22,7 +26,7 @@ img {
22
26
 
23
27
  a:before,
24
28
  a:after {
25
- display: none;
29
+ display: none!important;
26
30
  }
27
31
 
28
32
  img {
@@ -33,7 +37,7 @@ img {
33
37
  height: 100%;
34
38
  transform: translate(-50%,-50%);
35
39
  object-fit: cover;
36
- z-index: 1;
40
+ z-index: var(--index-base);
37
41
  }
38
42
 
39
43
  .btn-secondary {
@@ -41,7 +45,7 @@ img {
41
45
  top: 50%;
42
46
  left: 50%;
43
47
  transform: translate(-50%,-50%);
44
- z-index: 2;
48
+ z-index: var(--index-focus);
45
49
  }
46
50
  }
47
51
  // #endregion
@@ -1,3 +1,7 @@
1
+ @use "../_func" as *;
2
+
3
+ @import "../../../node_modules/bootstrap/scss/_reboot.scss";
4
+
1
5
  /* Reset & Defaults - Most of the resets/normailization stuff is done by Bootstrap */
2
6
  html {
3
7
 
@@ -15,14 +19,16 @@ html {
15
19
  @include media-breakpoint-up(md) {
16
20
  font-size: vw($device-md-width);
17
21
  }
18
- @media (min-width: #{em(1440)}) {
19
- font-size: 100%;
20
- }
21
22
 
22
- @media print {
23
- font-size: 16px;
23
+ @if $mobileOnly != "true" {
24
+ @media (min-width: #{em(1440)}) {
25
+ font-size: 100%;
26
+ }
27
+
28
+ @media print {
29
+ font-size: 16px;
30
+ }
24
31
  }
25
-
26
32
  /*
27
33
  @media (min-width: #{em(1440)}) {
28
34
  font-size: vw(1440);
@@ -1,47 +1,105 @@
1
+ @use "../func" as *;
2
+
1
3
  :root {
4
+ // Print out the $vars array setup in the variables file so they can be used as CSS vars
2
5
  // Custom variable values only support SassScript inside `#{}`.
3
6
  @each $var, $value in $vars {
4
7
  #{$var}: #{$value};
5
8
  }
6
9
 
10
+ // Add in media query based updates to the global vars like updating the heading 1 font size
7
11
  @include media-breakpoint-up(md) {
8
12
 
9
13
  @each $var, $value in $varsMD {
10
14
  #{$var}: #{$value};
11
15
  }
12
16
  }
17
+
18
+ // Extra vars needed
19
+ --bs-body-bg: white;
13
20
  --colour-underline: var(--colour-secondary);
14
21
  --colour-heading: var(--colour-primary);
15
- --alpha: var(--bs-bg-opacity);
22
+ --alpha: var(--bs-bg-opacity,1);
16
23
  --#{$variable-prefix}gradient: #{$gradient};
17
24
  --content-max-width: #{$content-max-width};
25
+ --colour-brand: var(--colour-primary);
26
+
27
+ /* Button colours */
28
+ --btn-bg: var(--colour-warning);
29
+ --btn-text: var(--colour-primary);
30
+ --btn-hover-text: var(--colour-primary);
31
+ --btn-tertiary-bg: var(--colour-primary);
32
+ --btn-tertiary-hover-text: white;
33
+ }
34
+
35
+ // Dark mode; functional colours get updated
36
+ @media screen and (prefers-color-scheme: dark) {
37
+ :root {
38
+ --bs-body-bg: var(--colour-primary);
39
+ --colour-admin: var(--colour-primary);
40
+ @include invert-colours();
41
+ }
42
+
43
+ body .text-primary {
44
+ color: white!important;
45
+ }
46
+
47
+ body .bg-white {
48
+ background-color: transparent!important;
49
+ }
18
50
  }
19
51
 
20
52
  @media screen {
21
- /* Override the colours when on a drark background */
53
+
54
+ // Reset the colours of lighter backgrounds to make sure they aren't over written by dark mode. Some other tweaks to colours are applied
55
+ [class*="bg-"]:not(.bg-primary):not(.bg-dark):not(.bg-danger):not(.bg-black):not(.invert-colours):not(.bg-white):not(.bg-admin) {
56
+
57
+ @include reset-colours();
58
+
59
+ --colour-body: var(--colour-primary);
60
+ --colour-heading: var(--colour-primary);
61
+ color: var(--colour-body);
62
+
63
+ --btn-bg: var(--colour-primary);
64
+ --btn-text: var(--colour-white);
65
+ --colour-underline: var(--colour-primary);
66
+
67
+ .btn-secondary {
68
+
69
+ --btn-text: var(--colour-primary);
70
+ }
71
+
72
+ }
73
+
74
+
75
+
76
+ // Slight colour adjustments on the light background to match brand guidelines
77
+ .bg-light[class*="bg-"]:not(.bg-primary):not(.bg-dark):not(.bg-danger):not(.prevent-invert) {
78
+ --bs-body-bg: var(--colour-light);
79
+ --colour-heading: var(--colour-dark);
80
+ color: var(--colour-dark);
81
+ }
82
+
83
+ // Override the colours when on a dark background, similiar to dark mode but on a module level
22
84
  .bg-primary:not(.prevent-invert),
23
85
  .bg-dark:not(.prevent-invert),
24
86
  .bg-danger:not(.prevent-invert),
87
+ .bg-black:not(.prevent-invert),
25
88
  .invert-colours {
26
- > * {
27
-
28
- --colour-secondary-rgb: 255,255,255;
29
- --colour-primary-rgb: 255,255,255;
30
- --colour-secondary: white;
31
- --colour-primary: white;
89
+
90
+ @if $compatible != "true" {
91
+
92
+ @include invert-colours();
32
93
  }
33
- --colour-body: white;
34
- --colour-link: white;
35
- --colour-hover: white;
36
- --colour-active: white;
37
- --colour-heading: white;
38
- --colour-underline: white;
39
- --colour-border: white;
40
94
  color: white;
41
95
  }
42
96
 
43
- .bg-light:not(.prevent-invert) {
44
- --colour-heading: var(--colour-dark);
45
- color: var(--colour-dark);
97
+ // Only update the the colour of the underline on dark backgrounds except the primary as the secondary colour looks good on it
98
+ .bg-dark:not(.prevent-invert),
99
+ .bg-danger:not(.prevent-invert),
100
+ .bg-black:not(.prevent-invert),
101
+ .invert-colours {
102
+
103
+ --colour-underline: white;
46
104
  }
47
105
  }
@@ -1,7 +1,7 @@
1
1
  @charset "UTF-8";
2
2
 
3
- @import "_fonts";
4
- @import "_func";
5
- @import "_corefiles";
6
- @import "_components";
7
- @import "_print";
3
+ @use "_fonts";
4
+ @use "_corefiles";
5
+ @use "_forms";
6
+ @use "_components";
7
+ @use "_print";