@iamproperty/components 2.7.0 → 2.7.1

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 +371 -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 +371 -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 +120 -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
@@ -0,0 +1,162 @@
1
+ @use "../_func" as *;
2
+
3
+ .admin-panel {
4
+ --panel-gutter: 1rem;
5
+ --panel-tab-colour: #fafafa;
6
+ background: var(--bs-body-bg);
7
+
8
+ &.bg-secondary{
9
+
10
+ background-color: rgba(#b4e6a5,0.3) !important;
11
+ }
12
+
13
+ @media screen and (prefers-color-scheme: dark) {
14
+
15
+ --panel-tab-colour: transparent;
16
+ }
17
+
18
+ @include media-breakpoint-up(md) {
19
+
20
+ --panel-gutter: 1.5rem;
21
+ }
22
+
23
+ padding: 0 var(--panel-gutter) 0 var(--panel-gutter);
24
+ border: 1px solid var(--colour-border-light);
25
+ border-top: 3px solid var(--colour-secondary);
26
+ margin-bottom: 2rem;
27
+
28
+ &:empty {
29
+ display: none;
30
+ }
31
+
32
+ > *:not(.note-feed):first-child {
33
+ margin-top: var(--panel-gutter);
34
+ }
35
+
36
+ > *:last-child {
37
+ margin-bottom: var(--panel-gutter);
38
+ }
39
+
40
+ > :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6):first-child {
41
+ border-bottom: 2px solid var(--colour-border-light);
42
+ font-size: var(--fs-4);
43
+ line-height: 1;
44
+ letter-spacing: 1;
45
+ padding: var(--panel-gutter) var(--panel-gutter) var(--panel-gutter) var(--panel-gutter);
46
+ margin: 0 calc(var(--panel-gutter) * -1) var(--panel-gutter) calc(var(--panel-gutter) * -1);
47
+ display: block;
48
+ }
49
+
50
+ > .table__wrapper,
51
+ > .note-feed > .table__wrapper,
52
+ > .tabs__container:first-child > .tabs > .tab > .table__wrapper {
53
+
54
+ margin: 0 calc(var(--panel-gutter) * -1) var(--panel-gutter) calc(var(--panel-gutter) * -1);
55
+ padding: 0 var(--panel-gutter) 0 var(--panel-gutter);
56
+ min-width: calc(100% + var(--panel-gutter) + var(--panel-gutter));
57
+
58
+ table {
59
+
60
+ margin: 0 calc(var(--panel-gutter) * -1) var(--panel-gutter) calc(var(--panel-gutter) * -1);
61
+ min-width: calc(100% + var(--panel-gutter) + var(--panel-gutter));
62
+ padding-right: 0;
63
+
64
+ }
65
+
66
+ tr {
67
+ :is(th, td) {
68
+ padding-left: var(--panel-gutter);
69
+ padding-right: var(--panel-gutter);
70
+ }
71
+ }
72
+
73
+ &:first-child {
74
+ margin-top: 0;
75
+
76
+ thead tr:first-child {
77
+
78
+ border-top: none;
79
+ }
80
+ }
81
+
82
+ &:last-child {
83
+ margin-bottom: 0;
84
+
85
+ tbody tr:last-child {
86
+
87
+ border-bottom: none;
88
+ }
89
+ }
90
+ }
91
+
92
+ // Table margin top override
93
+ :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6, .admin-panel__links, .tabs__links) + :is(.table__wrapper, table, .note-feed) {
94
+ margin-top: calc(var(--panel-gutter) * -1);
95
+
96
+ tr:first-child {
97
+
98
+ border-top: none;
99
+ }
100
+ }
101
+ }
102
+
103
+ [class*="col"] .admin-panel:first-child:last-child {
104
+
105
+ min-height: calc(100% - 2rem);
106
+ }
107
+
108
+ .admin-panel .admin-panel__links,
109
+ .admin-panel > .tabs__container:first-child .tabs__links {
110
+
111
+ margin-top: -3px!important;
112
+ margin-left: calc(var(--panel-gutter) * -1);
113
+ margin-right: calc(var(--panel-gutter) * -1);
114
+ display: flex;
115
+ flex-direction: column;
116
+ background-color: var(--bs-body-bg);
117
+ border-bottom: 2px solid var(--colour-border-light);
118
+ margin-bottom: var(--panel-gutter);
119
+
120
+ @include media-breakpoint-up(sm) {
121
+
122
+ flex-direction: row;
123
+ border-top: 1px solid var(--colour-border-light);
124
+ }
125
+
126
+ :is(a, label) {
127
+ padding: var(--panel-gutter);
128
+ margin: 0;
129
+ width: 100%;
130
+ background: var(--panel-tab-colour);
131
+ border-top: 1px solid var(--colour-border-light);
132
+ border-left: 3px solid var(--panel-tab-border, #fafafa);
133
+
134
+ &:before {
135
+ display: none;
136
+ }
137
+
138
+ @include media-breakpoint-up(sm) {
139
+
140
+ margin-right: 0!important;
141
+
142
+ &:first-child{
143
+ border-left: none!important;
144
+ }
145
+
146
+ &:not(:first-child){
147
+
148
+ border-left: 1px solid var(--colour-border-light)!important;
149
+ }
150
+
151
+ border-top: 3px solid var(--panel-tab-border, #fafafa);
152
+ }
153
+ }
154
+
155
+ .current {
156
+
157
+ --is-current: 1;
158
+ --panel-tab-colour: var(--bs-body-bg);;
159
+ --panel-tab-border: var(--colour-secondary);
160
+ pointer-events: none;
161
+ }
162
+ }
@@ -100,6 +100,9 @@ table.border-0 {
100
100
  // #region Tables are only stacked on mobile
101
101
  @media screen and (max-width: 36em) {
102
102
  .table__wrapper:not(.table-fullwidth) {
103
+
104
+ overflow: hidden;
105
+
103
106
  thead {
104
107
  display: none;
105
108
  }
@@ -213,6 +216,12 @@ table.border-0 {
213
216
  .table__pagination select {
214
217
  max-width: rem(240);
215
218
  }
219
+ .table__pagination .showing-input-field {
220
+ min-width: 4.5rem;
221
+ }
222
+ .table__pagination .page-number {
223
+ min-width: 7rem;
224
+ }
216
225
  // #endregion
217
226
 
218
227
  // #region Reorderable
@@ -258,3 +267,25 @@ table.border-0 {
258
267
  }
259
268
 
260
269
  // #endregion
270
+
271
+
272
+ .note-feed {
273
+
274
+ td:last-child {
275
+ min-width: 20rem;
276
+
277
+ /*
278
+ display: -webkit-box;
279
+ -webkit-line-clamp: 5;
280
+ -webkit-box-orient: vertical;
281
+ overflow: hidden;
282
+ padding-bottom: 0;
283
+ margin-bottom: 1rem;
284
+
285
+ &:hover {
286
+
287
+ -webkit-line-clamp: inherit;
288
+ }
289
+ */
290
+ }
291
+ }
@@ -1,7 +1,6 @@
1
1
  @use "../_func.scss" as *;
2
2
 
3
- abbr[title],
4
- .tooltip {
3
+ :is(abbr[title], .tooltip) {
5
4
 
6
5
  text-decoration: underline;
7
6
  text-underline-offset: 0.2em;
@@ -11,9 +10,7 @@ abbr[title],
11
10
  position: relative;
12
11
  cursor: help;
13
12
 
14
- &:hover,
15
- &:focus,
16
- &:active{
13
+ &:is(:hover, :focus, :active){
17
14
 
18
15
  text-decoration: none;
19
16
  }
@@ -22,7 +19,7 @@ abbr[title],
22
19
  @mixin tooltip(){
23
20
 
24
21
  display: block;
25
- z-index: 2;
22
+ z-index: var(--index-above);
26
23
  position: absolute;
27
24
  top: calc(100% + 0.25rem);
28
25
  left: 50%;
@@ -37,6 +34,27 @@ abbr[title],
37
34
 
38
35
  .tooltip {
39
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
+
40
58
  .tooltip__content {
41
59
 
42
60
  opacity: 0;
@@ -44,9 +62,7 @@ abbr[title],
44
62
 
45
63
  }
46
64
 
47
- &:hover,
48
- &:focus,
49
- &:active{
65
+ &:is(:hover, :focus, :active){
50
66
 
51
67
  .tooltip__content {
52
68
 
@@ -58,17 +74,12 @@ abbr[title],
58
74
 
59
75
  @media (hover: none) {
60
76
 
61
- abbr[title],
62
- .tooltip[title] {
77
+ :is(abbr[title], .tooltip[title]) {
63
78
 
64
- &:hover,
65
- &:focus,
66
- &:active{
79
+ &:is(:hover, :focus, :active):before{
67
80
 
68
- &::after {
69
- content: attr(title);
70
- @include tooltip();
71
- }
81
+ content: attr(title);
82
+ @include tooltip();
72
83
  }
73
84
  }
74
85
  }
@@ -26,7 +26,7 @@ img {
26
26
 
27
27
  a:before,
28
28
  a:after {
29
- display: none;
29
+ display: none!important;
30
30
  }
31
31
 
32
32
  img {
@@ -37,7 +37,7 @@ img {
37
37
  height: 100%;
38
38
  transform: translate(-50%,-50%);
39
39
  object-fit: cover;
40
- z-index: 1;
40
+ z-index: var(--index-base);
41
41
  }
42
42
 
43
43
  .btn-secondary {
@@ -45,7 +45,7 @@ img {
45
45
  top: 50%;
46
46
  left: 50%;
47
47
  transform: translate(-50%,-50%);
48
- z-index: 2;
48
+ z-index: var(--index-focus);
49
49
  }
50
50
  }
51
51
  // #endregion
@@ -36,18 +36,23 @@
36
36
  @media screen and (prefers-color-scheme: dark) {
37
37
  :root {
38
38
  --bs-body-bg: var(--colour-primary);
39
+ --colour-admin: var(--colour-primary);
39
40
  @include invert-colours();
40
41
  }
41
42
 
42
43
  body .text-primary {
43
44
  color: white!important;
44
45
  }
46
+
47
+ body .bg-white {
48
+ background-color: transparent!important;
49
+ }
45
50
  }
46
51
 
47
52
  @media screen {
48
53
 
49
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
50
- [class*="bg-"]:not(.bg-primary):not(.bg-dark):not(.bg-danger):not(.bg-black):not(.invert-colours) {
55
+ [class*="bg-"]:not(.bg-primary):not(.bg-dark):not(.bg-danger):not(.bg-black):not(.invert-colours):not(.bg-white):not(.bg-admin) {
51
56
 
52
57
  @include reset-colours();
53
58
 
@@ -56,14 +61,18 @@
56
61
  color: var(--colour-body);
57
62
 
58
63
  --btn-bg: var(--colour-primary);
59
- --btn-text: white;
64
+ --btn-text: var(--colour-white);
65
+ --colour-underline: var(--colour-primary);
60
66
 
61
67
  .btn-secondary {
62
68
 
63
69
  --btn-text: var(--colour-primary);
64
70
  }
71
+
65
72
  }
66
73
 
74
+
75
+
67
76
  // Slight colour adjustments on the light background to match brand guidelines
68
77
  .bg-light[class*="bg-"]:not(.bg-primary):not(.bg-dark):not(.bg-danger):not(.prevent-invert) {
69
78
  --bs-body-bg: var(--colour-light);