@iamproperty/components 5.6.1-beta2 → 5.6.1-beta21

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 (114) hide show
  1. package/assets/css/components/address-lookup.css +1 -1
  2. package/assets/css/components/address-lookup.css.map +1 -1
  3. package/assets/css/components/card.css +1 -1
  4. package/assets/css/components/card.css.map +1 -1
  5. package/assets/css/components/carousel.css +1 -1
  6. package/assets/css/components/carousel.css.map +1 -1
  7. package/assets/css/components/collapsible-side.css +1 -1
  8. package/assets/css/components/collapsible-side.css.map +1 -1
  9. package/assets/css/components/fileupload.css +1 -1
  10. package/assets/css/components/fileupload.css.map +1 -1
  11. package/assets/css/components/multiselect.css +1 -1
  12. package/assets/css/components/multiselect.css.map +1 -1
  13. package/assets/css/components/pagination.css +1 -1
  14. package/assets/css/components/pagination.css.map +1 -1
  15. package/assets/css/components/table.global.css +1 -1
  16. package/assets/css/components/table.global.css.map +1 -1
  17. package/assets/css/core.min.css +1 -1
  18. package/assets/css/core.min.css.map +1 -1
  19. package/assets/css/style.min.css +1 -1
  20. package/assets/css/style.min.css.map +1 -1
  21. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  22. package/assets/js/components/actionbar/actionbar.component.js +7 -7
  23. package/assets/js/components/actionbar/actionbar.component.min.js +10 -10
  24. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  25. package/assets/js/components/address-lookup/address-lookup.component.js +24 -13
  26. package/assets/js/components/address-lookup/address-lookup.component.min.js +9 -8
  27. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  28. package/assets/js/components/applied-filters/applied-filters.component.min.js +1 -1
  29. package/assets/js/components/card/card.component.js +40 -20
  30. package/assets/js/components/card/card.component.min.js +19 -19
  31. package/assets/js/components/card/card.component.min.js.map +1 -1
  32. package/assets/js/components/carousel/carousel.component.js +17 -4
  33. package/assets/js/components/carousel/carousel.component.min.js +8 -8
  34. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  35. package/assets/js/components/collapsible-side/collapsible-side.component.js +5 -5
  36. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +7 -7
  37. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  38. package/assets/js/components/fileupload/fileupload.component.js +19 -3
  39. package/assets/js/components/fileupload/fileupload.component.min.js +10 -8
  40. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  41. package/assets/js/components/filterlist/filterlist.component.js +2 -2
  42. package/assets/js/components/filterlist/filterlist.component.min.js +5 -5
  43. package/assets/js/components/filterlist/filterlist.component.min.js.map +1 -1
  44. package/assets/js/components/header/header.component.min.js +1 -1
  45. package/assets/js/components/inline-edit/inline-edit.component.js +3 -3
  46. package/assets/js/components/inline-edit/inline-edit.component.min.js +4 -4
  47. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  48. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  49. package/assets/js/components/multiselect/multiselect.component.js +4 -3
  50. package/assets/js/components/multiselect/multiselect.component.min.js +6 -6
  51. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  52. package/assets/js/components/nav/nav.component.min.js +1 -1
  53. package/assets/js/components/notification/notification.component.js +1 -1
  54. package/assets/js/components/notification/notification.component.min.js +2 -2
  55. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  56. package/assets/js/components/pagination/pagination.component.min.js +3 -3
  57. package/assets/js/components/search/search.component.min.js +1 -1
  58. package/assets/js/components/search/search.component.min.js.map +1 -1
  59. package/assets/js/components/slider/slider.component.min.js +1 -1
  60. package/assets/js/components/table/table.component.js +16 -1
  61. package/assets/js/components/table/table.component.min.js +5 -5
  62. package/assets/js/components/table/table.component.min.js.map +1 -1
  63. package/assets/js/components/tabs/tabs.component.min.js +1 -1
  64. package/assets/js/dynamic.min.js +5 -5
  65. package/assets/js/dynamic.min.js.map +1 -1
  66. package/assets/js/modules/carousel.js +30 -8
  67. package/assets/js/modules/dialogs.js +7 -1
  68. package/assets/js/modules/dynamicEvents.js +3 -0
  69. package/assets/js/modules/fileupload.js +44 -19
  70. package/assets/js/modules/helpers.js +4 -0
  71. package/assets/js/modules/inputs.js +1 -1
  72. package/assets/js/modules/table.js +6 -1
  73. package/assets/js/scripts.bundle.js +29 -29
  74. package/assets/js/scripts.bundle.js.map +1 -1
  75. package/assets/js/scripts.bundle.min.js +2 -2
  76. package/assets/js/scripts.bundle.min.js.map +1 -1
  77. package/assets/sass/_components.scss +54 -0
  78. package/assets/sass/components/address-lookup.scss +4 -0
  79. package/assets/sass/components/card.scss +88 -1
  80. package/assets/sass/components/carousel.scss +31 -7
  81. package/assets/sass/components/collapsible-side.scss +8 -1
  82. package/assets/sass/components/fileupload.scss +1 -10
  83. package/assets/sass/components/multiselect.scss +5 -1
  84. package/assets/sass/components/pagination.scss +11 -16
  85. package/assets/sass/components/table.global.scss +4 -19
  86. package/assets/sass/elements/dialog.scss +1 -1
  87. package/assets/sass/elements/forms.scss +39 -10
  88. package/assets/sass/elements/progress.scss +159 -17
  89. package/assets/ts/components/actionbar/actionbar.component.ts +7 -7
  90. package/assets/ts/components/address-lookup/address-lookup.component.ts +28 -14
  91. package/assets/ts/components/card/card.component.ts +51 -23
  92. package/assets/ts/components/carousel/carousel.component.ts +20 -4
  93. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +5 -5
  94. package/assets/ts/components/fileupload/fileupload.component.ts +29 -3
  95. package/assets/ts/components/filterlist/filterlist.component.ts +2 -2
  96. package/assets/ts/components/inline-edit/inline-edit.component.ts +3 -3
  97. package/assets/ts/components/multiselect/multiselect.component.ts +4 -3
  98. package/assets/ts/components/notification/notification.component.ts +1 -1
  99. package/assets/ts/components/table/table.component.ts +24 -1
  100. package/assets/ts/modules/carousel.ts +40 -9
  101. package/assets/ts/modules/dialogs.ts +9 -1
  102. package/assets/ts/modules/dynamicEvents.ts +3 -0
  103. package/assets/ts/modules/fileupload.ts +64 -31
  104. package/assets/ts/modules/helpers.ts +6 -0
  105. package/assets/ts/modules/inputs.ts +1 -1
  106. package/assets/ts/modules/table.ts +8 -2
  107. package/dist/components.es.js +546 -611
  108. package/dist/components.umd.js +98 -95
  109. package/dist/style.css +1 -1
  110. package/package.json +3 -3
  111. package/src/components/Card/README.md +1 -0
  112. package/src/components/Carousel/Carousel.vue +5 -1
  113. package/src/components/CollapsibleSideMenu/CollapsibleSideMenu.vue +1 -1
  114. package/src/components/FileUpload/FileUpload.vue +29 -6
@@ -40,4 +40,58 @@ iam-search .optional-text {
40
40
  .tabs {
41
41
  --tabs-gradient: linear-gradient(90deg, rgba(38,38,38,0), rgba(38,38,38,1));
42
42
  }
43
+ }
44
+
45
+ // Table dark mode support
46
+ iam-table {
47
+
48
+ tbody tr {
49
+
50
+ @include dark-mode(){
51
+
52
+ --hover-background: var(--colour-canvas);
53
+
54
+ &:is(:hover,:focus-within,.hover) {
55
+ background: var(--row-bg);
56
+ }
57
+ }
58
+ }
59
+ }
60
+
61
+ @container (width > 23.4375em) {
62
+
63
+ iam-table.table--cta:not(.table--loading):not(:has(tr:first-child td:first-child:last-child)) {
64
+
65
+ tr > *:not(:first-child):last-child {
66
+
67
+ @media screen and (prefers-color-scheme: dark) {
68
+
69
+ background: linear-gradient(90deg, transparent 0%, var(--row-bg) 1.25rem);
70
+ }
71
+ }
72
+ }
73
+ }
74
+
75
+ iam-table {
76
+
77
+ tr:has([type="checkbox"]:checked){
78
+
79
+ @include dark-mode(){
80
+ --row-bg: #000000;
81
+ }
82
+ }
83
+ }
84
+
85
+ iam-pagination {
86
+ --pagination-link-color: var(--colour-light);
87
+ --pagination-link-color-active: #E0E0E0;
88
+ }
89
+
90
+ iam-fileupload::part(file) {
91
+ @include dark-mode() {
92
+
93
+ background: var(--colour-canvas-2);
94
+ border-color: var(--colour-canvas-2);
95
+ color: var(--colour-body);
96
+ }
43
97
  }
@@ -7,6 +7,10 @@ input[name="postcode"] {
7
7
  border-color: var(--error-border,var(--colour-primary))!important;
8
8
  }
9
9
 
10
+ :is([name="postcode"]):is(:focus,.focus):not(:disabled) {
11
+ border-color: var(--colour-info)!important;
12
+ }
13
+
10
14
  div:has(input[name="postcode"]) .suffix {
11
15
 
12
16
  border-color: var(--error-border,var(--colour-primary))!important;
@@ -418,15 +418,102 @@
418
418
 
419
419
  //#region Record card
420
420
 
421
- .card--record{
421
+
422
+
423
+ .card--record:has(.card__head) {
422
424
  --img-height: 40%;
423
425
 
424
426
  &:before,
425
427
  &:after {
426
428
  display: none;
427
429
  }
430
+
431
+ .card__head {
432
+ background: transparent;
433
+ position: relative;
434
+
435
+ }
436
+ }
437
+
438
+ :host([data-record="business"]) {
439
+ --record-icon: '\f54f';
440
+ --record-colour: var(--wider-colour-2);
441
+ }
442
+ :host([data-record="page"]) {
443
+ --record-icon: '\f15c';
444
+ --record-colour: var(--wider-colour-3);
445
+ }
446
+ :host([data-record="contact"]) {
447
+ --record-icon: "\f2b9";
448
+ --record-colour: var(--wider-colour-4);
449
+ }
450
+ :host([data-record="lettings"]) {
451
+ --record-icon: "";
452
+ --record-icon-font: Font Awesome Kit;
453
+ --record-colour: var(--wider-colour-5);
454
+ }
455
+
456
+ :host([data-record="sales"]) {
457
+ --record-icon: "";
458
+ --record-icon-font: Font Awesome Kit;
459
+ --record-colour: var(--wider-colour-7);
460
+ }
461
+ :host([data-record="landlord"]) {
462
+ --record-icon: "";
463
+ --record-icon-font: Font Awesome Kit;
464
+ --record-colour: var(--wider-colour-8);
465
+ }
466
+
467
+ :host([data-record="contractor"]) {
468
+ --record-icon: "\f82c";
469
+ --record-colour: var(--wider-colour-9);
470
+ }
471
+
472
+ :host([data-record="vendor"]) {
473
+ --record-icon: "";
474
+ --record-icon-font: Font Awesome Kit;
475
+ --record-colour: var(--wider-colour-13);
476
+ }
477
+
478
+ :host([data-record="tenant"]) {
479
+ --record-icon: "\e1b0";
480
+ --record-colour: var(--wider-colour-6);
481
+ }
482
+ :host([data-record="sales-applicant"]) {
483
+ --record-icon: "";
484
+ --record-icon-font: Font Awesome Kit;
485
+ --record-colour: var(--wider-colour-10);
486
+ }
487
+
488
+ :host([data-record]) .card--record:has(.card__head) {
489
+
490
+ .card__head {
491
+ background: transparent;
492
+ position: relative;
493
+
494
+ &:before {
495
+ font-family: var(--record-icon-font,"Font Awesome 6 Pro");
496
+ font-weight: normal;
497
+ font-size: rem(24);
498
+ content: var(--record-icon);
499
+ display: block;
500
+ position: absolute;
501
+ top: auto;
502
+ left: 50%;
503
+ bottom: 0;
504
+ background-color: var(--record-colour);
505
+ border-radius: 50%;
506
+ height: rem(64);
507
+ line-height: rem(64);
508
+ width: rem(64);
509
+ text-align: center;
510
+ transform: translate(-50%,0);
511
+ }
512
+
513
+ }
428
514
  }
429
515
 
516
+
430
517
  slot[name="btns"] {
431
518
  display: flex;
432
519
  flex-direction: row;
@@ -130,18 +130,39 @@
130
130
 
131
131
  // #region carousel controls/pips
132
132
  .carousel .carousel__controls {
133
-
134
- text-align: center;
135
- width: 10rem;
136
- max-height: 1rem;
137
133
  overflow: hidden;
138
134
  margin-inline: auto;
139
135
 
136
+ &:not(.thumbnails){
137
+ text-align: center;
138
+ max-width: 30rem;
139
+ }
140
+
141
+ &.thumbnails {
142
+ margin-block-start: 2rem;
143
+ }
144
+
140
145
  @include media-breakpoint-up(sm) {
141
146
  width: 100%;
142
147
  }
143
148
 
144
149
  button {
150
+ padding: 0;
151
+ margin: 0 0.2rem 0.2rem;
152
+ border: 3px solid var(--colour-canvas);
153
+ border-radius: 4px;
154
+
155
+ &.has-thumbnail {
156
+ height: 4.625rem;
157
+
158
+ img {
159
+ height: 100%;
160
+ width: auto;
161
+ }
162
+ }
163
+ }
164
+
165
+ button:not(.has-thumbnail) {
145
166
  width: 1rem;
146
167
  height: 1rem;
147
168
  min-height: 1rem;
@@ -149,10 +170,9 @@
149
170
  text-indent: -50rem;
150
171
  overflow: hidden;
151
172
  background: var(--colour-primary-theme);
152
- padding: 0;
153
173
  margin: 0 0.5rem 0.5rem 0.5rem;
154
174
  border: none;
155
-
175
+
156
176
  &:before {
157
177
  display: none;
158
178
  }
@@ -164,8 +184,12 @@
164
184
  }
165
185
 
166
186
  .carousel__controls > button[aria-current] {
187
+ --colour-active-thumbnail: var(--colour-info);
188
+ border-color: var(--colour-active-thumbnail);
167
189
 
168
- background: var(--colour-success);
190
+ &:not(.has-thumbnail) {
191
+ background: var(--colour-success);
192
+ }
169
193
  }
170
194
 
171
195
  // #endregion
@@ -185,7 +185,14 @@
185
185
  ::slotted(*[slot="menu"]) {
186
186
  padding-left: rem(24);
187
187
 
188
+
189
+
190
+
188
191
  @include media-breakpoint-up(sm) {
192
+ padding-left: rem(40);
193
+ }
194
+
195
+ @include media-breakpoint-up(md) {
189
196
  padding-left: var(--container-padding-x-md);
190
197
  }
191
198
  }
@@ -215,7 +222,7 @@
215
222
  padding-left: rem(40)!important;
216
223
  }
217
224
 
218
- @include media-breakpoint-up(sm) {
225
+ @include media-breakpoint-up(md) {
219
226
  padding-left: var(--container-padding-x-md)!important;
220
227
  }
221
228
  &:after {
@@ -50,16 +50,6 @@
50
50
  max-width: rem(400)!important;
51
51
  position: relative;
52
52
 
53
-
54
-
55
-
56
- @include dark-mode() {
57
-
58
- background: var(--colour-canvas-2);
59
- border-color: var(--colour-canvas-2);
60
- color: var(--colour-body);
61
- }
62
-
63
53
 
64
54
  @media (forced-colors: active) {
65
55
 
@@ -130,6 +120,7 @@
130
120
  user-select: none;
131
121
  max-width: 100%;
132
122
  min-width: 100%;
123
+ margin-bottom: 1rem;
133
124
 
134
125
  &.focus {
135
126
 
@@ -127,12 +127,16 @@ button {
127
127
  }
128
128
 
129
129
 
130
-
131
130
  .wrapper:is(:focus-within) .dropdown {
132
131
 
133
132
  display: var(--display-panel, none);
134
133
  }
135
134
 
135
+ .wrapper .dropdown:hover {
136
+
137
+ display: var(--display-panel, none);
138
+ }
139
+
136
140
 
137
141
  // Inline edit
138
142
  :host-context(:focus-within) {
@@ -35,15 +35,18 @@
35
35
  padding-inline: 1rem;
36
36
 
37
37
  .select--minimal {
38
- --select-padding-left: rem(16);
39
- height: rem(52);
40
- line-height: rem(52);
38
+ height: calc(3.25rem - 1em);
39
+ line-height: calc(3.25rem - 1em);
41
40
  margin-left: rem(-16);
42
41
  font-weight: bold;
43
42
  }
44
43
 
45
44
  div:has(> select){
46
45
  margin-bottom: 0;
46
+
47
+ &:after {
48
+ top: 50%;
49
+ }
47
50
  }
48
51
  }
49
52
 
@@ -118,7 +121,7 @@
118
121
  display: none;
119
122
  background: none;
120
123
  padding-inline: 1rem;
121
-
124
+ color: var(--colour-body);
122
125
 
123
126
  @include container-up(sm) {
124
127
 
@@ -134,21 +137,13 @@
134
137
  }
135
138
 
136
139
  &:is(:hover,:focus):not(:disabled){
137
- background-color: var(--colour-light);
140
+ background-color: var(--pagination-link-color);
141
+ color: var(--colour-hover);
138
142
  }
139
143
 
140
144
  &:is(:active):not(:disabled){
141
- background-color: #E0E0E0;
142
- }
143
-
144
- @include dark-mode(){
145
- &:is(:hover,:focus):not(:disabled){
146
- background-color: var(--colour-canvas);
147
- }
148
-
149
- &:is(:active):not(:disabled){
150
- background-color: var(--colour-canvas);
151
- }
145
+ background-color: var(--pagination-link-color);
146
+ color: var(--colour-active);
152
147
  }
153
148
 
154
149
  &:disabled {
@@ -23,15 +23,6 @@ iam-table {
23
23
  --row-bg: var(--hover-background);
24
24
  background: var(--row-bg);
25
25
  }
26
-
27
- @include dark-mode(){
28
-
29
- --hover-background: var(--colour-canvas);
30
-
31
- &:is(:hover,:focus-within,.hover) {
32
- background: var(--row-bg);
33
- }
34
- }
35
26
  }
36
27
 
37
28
  &[data-expandable] [data-expand-button][aria-expanded] {
@@ -219,10 +210,6 @@ iam-table {
219
210
  cursor: default;
220
211
  padding-bottom: 0;
221
212
 
222
- @media screen and (prefers-color-scheme: dark) {
223
-
224
- background: linear-gradient(90deg, transparent 0%, var(--row-bg) 1.25rem);
225
- }
226
213
  a {
227
214
  white-space: nowrap;
228
215
  padding-right: 0.2rem;
@@ -428,16 +415,14 @@ iam-table {
428
415
  }
429
416
  }
430
417
 
431
- tr:has([type="checkbox"]:checked){
432
- height: 3.5rem;
418
+ @container (width > 23.4375em) {
419
+ tr:has([type="checkbox"]:checked){
420
+ height: calc(4.625rem - 2px)
421
+ }
433
422
  }
434
423
 
435
424
  tr:has([type="checkbox"]:checked){
436
425
  --row-bg: #E0E0E0;
437
-
438
- @include dark-mode(){
439
- --row-bg: #000000;
440
- }
441
426
  }
442
427
  }
443
428
 
@@ -12,7 +12,7 @@ dialog[open] {
12
12
  --dialog-padding: #{rem(24)};
13
13
 
14
14
  --mh-padding-inline: var(--dialog-padding);
15
-
15
+ color: inherit;
16
16
  width: fit-content;
17
17
  height: fit-content;
18
18
  border: none;
@@ -83,7 +83,8 @@ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' view
83
83
  }
84
84
 
85
85
  textarea {
86
- min-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + (var(--input-lh, #{rem(20)}) * 3) + 4px)!important;
86
+ --textarea-height-scale: 3;
87
+ min-height: calc(var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + (var(--input-lh, #{rem(20)}) * var(--textarea-height-scale)) + 4px)!important;
87
88
  }
88
89
  // #endregion
89
90
 
@@ -343,7 +344,7 @@ div:has(> label:first-child):has(> input):has(> :is(.form-control-inline,.input-
343
344
 
344
345
  // #region word counter
345
346
 
346
- input[maxlength] + span {
347
+ :is(input,textarea)[maxlength] + span {
347
348
 
348
349
  position: relative;
349
350
 
@@ -828,28 +829,53 @@ div:has(> select){
828
829
 
829
830
  all: unset;
830
831
  font-size: inherit;
832
+ line-height: inherit;
831
833
  background: none;
832
- border: none;
834
+ border: 2px solid transparent;
833
835
  display: inline-block;
834
- margin: 0;
835
- padding: 0 calc(1.25em + 0.8ch) 0 var(--select-padding-left, 0.25em)!important;
836
-
836
+ padding: 0.4em calc(1em + 0.8ch) 0.4rem var(--select-padding-left, 0.4em)!important;
837
+ font-weight: normal!important;
838
+ margin: -0.4em 0!important;
839
+ border-radius: 0.25em;
840
+
841
+ color: var(--colour-body);
842
+
837
843
  height: auto;
838
844
  cursor: pointer;
845
+ font-family: var(--font-body)!important;
839
846
 
840
847
  option {
841
848
  background-color: var(--colour-canvas);
842
849
  padding-left: 1em;
850
+ font-size: inherit;
851
+ line-height: inherit;
843
852
  }
844
853
 
854
+ &:hover {
855
+
856
+ //border: none;
857
+ background: var(--colour-light);
858
+ }
859
+
860
+ &:is(:focus,.focus):not(:disabled) {
845
861
 
846
- &:is(:hover,:focus) {
847
- outline: 1px solid var(--colour-info);
862
+ border-color: var(--colour-info);
863
+ outline: 0;
864
+ box-shadow: 0 0 0 0.1rem rgba(30, 190, 230, 0.25);
848
865
  }
849
866
  }
850
867
 
851
868
  *:has(> .select--minimal){
852
869
  position: relative;
870
+ display: inline-block!important;
871
+ width: auto!important;
872
+ font-size: inherit!important;
873
+ line-height: 1!important;
874
+
875
+ padding: 0!important;
876
+ margin: 0!important;
877
+
878
+ font-family: var(--font-body)!important;
853
879
 
854
880
  &:after {
855
881
  font-size: 0.8em;
@@ -857,10 +883,13 @@ div:has(> select){
857
883
  content: "\f078";
858
884
  font-family: "Font Awesome 6 Pro";
859
885
  position: absolute;
860
- top: 50%;
886
+ top: 40%;
861
887
  transform: translate(0,-50%);
862
- right: calc(0.25em + 0.8ch);
888
+ right: calc(0.8ch);
863
889
  pointer-events: none;
890
+
891
+ color: var(--colour-body);
892
+
864
893
  }
865
894
  }
866
895
  // #endregion