@iamproperty/components 3.6.0 → 3.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 (77) hide show
  1. package/assets/css/components/accordion.css.map +1 -1
  2. package/assets/css/components/admin-panel.css +1 -1
  3. package/assets/css/components/admin-panel.css.map +1 -1
  4. package/assets/css/components/card.css +1 -1
  5. package/assets/css/components/card.css.map +1 -1
  6. package/assets/css/components/dialog.css +1 -1
  7. package/assets/css/components/dialog.css.map +1 -1
  8. package/assets/css/components/forms.css.map +1 -1
  9. package/assets/css/components/lists.css +1 -1
  10. package/assets/css/components/lists.css.map +1 -1
  11. package/assets/css/components/table.css +1 -1
  12. package/assets/css/components/table.css.map +1 -1
  13. package/assets/css/core.min.css +1 -1
  14. package/assets/css/core.min.css.map +1 -1
  15. package/assets/css/style.min.css +1 -1
  16. package/assets/css/style.min.css.map +1 -1
  17. package/assets/js/bundle.js +2 -0
  18. package/assets/js/components/accordion/accordion.component.min.js +1 -1
  19. package/assets/js/components/card/card.component.js +2 -2
  20. package/assets/js/components/card/card.component.min.js +4 -4
  21. package/assets/js/components/card/card.component.min.js.map +1 -1
  22. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  23. package/assets/js/components/header/header.component.min.js +1 -1
  24. package/assets/js/components/table/table.component.js +19 -9
  25. package/assets/js/components/table/table.component.min.js +13 -13
  26. package/assets/js/components/table/table.component.min.js.map +1 -1
  27. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  28. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  29. package/assets/js/dynamic.js +3 -1
  30. package/assets/js/dynamic.min.js +2 -2
  31. package/assets/js/dynamic.min.js.map +1 -1
  32. package/assets/js/flat-components.js +2 -0
  33. package/assets/js/modules/applied-filters.js +1 -1
  34. package/assets/js/modules/dialogs.js +184 -0
  35. package/assets/js/modules/helpers.js +1 -89
  36. package/assets/js/modules/table.js +113 -37
  37. package/assets/js/modules/tabs.js +0 -2
  38. package/assets/js/scripts.bundle.js +26 -26
  39. package/assets/js/scripts.bundle.js.map +1 -1
  40. package/assets/js/scripts.bundle.min.js +2 -2
  41. package/assets/js/scripts.bundle.min.js.map +1 -1
  42. package/assets/js/tests/table.spec.js +34 -13
  43. package/assets/sass/_functions/variables.scss +3 -28
  44. package/assets/sass/components/admin-panel.scss +0 -10
  45. package/assets/sass/components/card.scss +32 -25
  46. package/assets/sass/components/dialog.scss +332 -28
  47. package/assets/sass/components/lists.scss +16 -33
  48. package/assets/sass/components/table.scss +125 -92
  49. package/assets/sass/foundations/buttons.scss +9 -13
  50. package/assets/sass/foundations/icons.scss +14 -69
  51. package/assets/sass/foundations/reboot.scss +19 -7
  52. package/assets/sass/foundations/root.scss +9 -0
  53. package/assets/sass/helpers/max-height.scss +15 -0
  54. package/assets/ts/bundle.ts +2 -0
  55. package/assets/ts/components/card/README.md +2 -1
  56. package/assets/ts/components/card/card.component.ts +2 -2
  57. package/assets/ts/components/table/table.component.ts +24 -10
  58. package/assets/ts/dynamic.ts +3 -1
  59. package/assets/ts/flat-components.ts +2 -0
  60. package/assets/ts/html.d.ts +7 -1
  61. package/assets/ts/modules/applied-filters.ts +1 -1
  62. package/assets/ts/modules/dialogs.ts +248 -0
  63. package/assets/ts/modules/helpers.ts +1 -123
  64. package/assets/ts/modules/table.ts +153 -47
  65. package/assets/ts/modules/tabs.ts +0 -4
  66. package/assets/ts/tests/table.spec.ts +21 -6
  67. package/dist/components.es.js +1114 -1101
  68. package/dist/components.umd.js +23 -19
  69. package/package.json +2 -3
  70. package/src/components/Card/Card.vue +2 -2
  71. package/src/components/Card/README.md +1 -1
  72. package/src/components/Nav/Nav.vue +1 -3
  73. package/src/index.js +0 -1
  74. package/assets/svg/icons.svg +0 -599
  75. package/src/foundations/Icon/Icon.spec.js +0 -24
  76. package/src/foundations/Icon/Icon.vue +0 -24
  77. package/src/foundations/Icon/README.md +0 -11
@@ -17,13 +17,37 @@ dialog[open] {
17
17
  overscroll-behavior: contain;
18
18
  background: var(--colour-canvas-2);
19
19
  box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.11);
20
- border-radius: rem(28);
20
+ border-radius: rem(10);
21
21
  padding: var(--dialog-padding);
22
22
  outline: var(--contrast-outline-width, 0px) solid var(--colour-primary);
23
23
 
24
+ display: flex;
25
+ flex-direction: column;
26
+
27
+ > *:last-child,
28
+ > .mh-lg > *:last-child{
29
+ margin-bottom: 0;
30
+ }
31
+
32
+ > :is(p):last-child,
33
+ > .mh-lg > :is(p):last-child {
34
+ padding-bottom: 0;
35
+ }
36
+ }
37
+ // #endregion
38
+
39
+ // #region modal styling
40
+ *:not(.dialog__wrapper) > dialog[open] {
41
+ overflow-y: hidden;
42
+ width: 90vw;
43
+ max-width: rem(324); // col-width*4
44
+
45
+ //height: 90vh;
46
+ max-height: min(90vh, #{rem(752)});
47
+ overscroll-behavior: contain;
48
+
24
49
  // Close button
25
50
  > form:first-child {
26
-
27
51
  position: static;
28
52
  }
29
53
 
@@ -64,58 +88,338 @@ dialog[open] {
64
88
  & + * {
65
89
  padding-right: var(--dialog-padding);
66
90
  margin-right: rem(20);
91
+ display: block;
67
92
  }
68
- }
69
93
 
70
- > *:last-child {
71
- margin-bottom: 0;
72
- }
73
- > :is(p):last-child {
74
- padding-bottom: 0;
75
- }
76
- }
77
- // #endregion
94
+ & + span:not(.h1,.h2,.h3,.h4,.h5,.h6) {
95
+ padding-bottom: rem(8);
96
+ line-height: rem(19);
97
+ }
78
98
 
79
- // #region modal styling
80
- *:not(.dialog__wrapper) > dialog[open] {
81
- overflow-y: hidden;
82
- width: 90vw;
83
- max-width: rem(376); // col-width*4 // 96px*4 = 376px
84
- height: fit-content;
99
+ & + span:not(.h1,.h2,.h3,.h4,.h5,.h6) + * {
100
+ padding-right: var(--dialog-padding);
101
+ margin-right: rem(20);
102
+ display: block;
103
+ }
104
+
105
+ @media (forced-colors: active) {
106
+ text-indent: 0;
107
+ width: fit-content;
108
+
109
+ &:after {
110
+ display: none;
111
+ }
112
+ }
113
+ }
85
114
 
86
115
  @include media-breakpoint-up(sm) {
87
116
 
88
117
  --dialog-padding: #{rem(32)};
89
-
90
- max-width: rem(564); // col-width*6 // 96px*6 = 564px
91
- border-radius: rem(34);
118
+ min-width: rem(335);
119
+ width: fit-content;
120
+ max-width: rem(686);
92
121
  }
93
122
 
94
123
  @include media-breakpoint-up(md) {
95
124
 
125
+ min-width: rem(454);
126
+ width: fit-content;
127
+ max-width: rem(736);
96
128
  }
97
129
 
98
130
  &:has(.youtube-embed){
99
131
  padding: 0!important;
100
132
  }
101
- }
102
133
 
103
- .mh-lg {
104
- padding-right: rem(20);
134
+ &.dialog--fullwidth {
135
+ max-width: rem(1112);
136
+ }
105
137
 
106
- @include media-breakpoint-up(md) {
107
- margin-right: var(--dialog-padding);
138
+ container-type: inline-size;
139
+
140
+ @container (width < 23.4375em) {
141
+
142
+ > .btn:not(.dialog__close),
143
+ > form > .btn:not(.dialog__close),
144
+ > .mh-lg > :is(form,div) > .btn:not(.dialog__close),
145
+ > .mh-lg > .btn:not(.dialog__close),
146
+ > form > fieldset > .btn:not(.dialog__close),
147
+ .btn--wrapper > .btn:not(.dialog__close) {
148
+ width: 100%;
149
+ max-width: 100%;
150
+ margin: 0;
151
+ display: block;
152
+ text-align: center;
153
+
154
+ &:not(:last-child) {
155
+ margin-bottom: 1rem!important;
156
+ }
157
+ }
108
158
  }
109
159
 
110
- > *:last-child {
111
- margin-bottom: 0;
160
+ .mh-lg {
161
+ padding-right: calc(var(--dialog-padding) - 10px);
162
+ margin-right: calc((var(--dialog-padding) * -1) + 10px);
163
+ margin-bottom: calc(var(--dialog-padding) * -1);
164
+ padding-bottom: var(--dialog-padding);
165
+ //max-height: none!important;
166
+
167
+ &:before {
168
+ top: 100%;
169
+ height: var(--dialog-padding);
170
+ }
112
171
  }
113
172
  }
114
173
 
115
-
116
174
  dialog::backdrop {
117
175
  background: rgba(0, 0, 0, 0.3);
118
176
  backdrop-filter: blur(4px);
177
+ overscroll-behavior: contain;
178
+ }
179
+ // #endregion
180
+
181
+ // #region Transactional
182
+ *:not(.dialog__wrapper) > dialog[open]:not(.dialog--multi):is(:has(button:last-child),:has(form:last-child > button:last-child)) {
183
+
184
+ text-align: center;
185
+
186
+ &:before {
187
+ content: "\f05a";
188
+ font-weight: 300;
189
+ -moz-osx-font-smoothing: grayscale;
190
+ -webkit-font-smoothing: antialiased;
191
+ display: var(--fa-display,inline-block);
192
+ font-style: normal;
193
+ font-variant: normal;
194
+ line-height: 1;
195
+ text-rendering: auto;
196
+ font-family: "Font Awesome 6 Pro";
197
+ font-size: 3rem;
198
+ @include media-breakpoint-up(md) {
199
+ font-size: 4rem;
200
+ }
201
+ margin-top: 0;
202
+ margin-bottom: rem(24);
203
+ line-height: 1;
204
+ color: var(--colour-heading);
205
+ clear: both;
206
+ }
207
+
208
+ > form:first-child button,
209
+ > button:first-child {
210
+ display: none;
211
+
212
+ & + * {
213
+ padding-right: 0;
214
+ margin-right: 0;
215
+ }
216
+
217
+ & + span:not(.h1,.h2,.h3,.h4,.h5,.h6) + * {
218
+ padding-right: 0;
219
+ margin-right: 0;
220
+ }
221
+ }
222
+
223
+ button {
224
+ margin-bottom: 0;
225
+ }
226
+ }
227
+ // #endregion
228
+
229
+ // #region Multi
230
+ .js-enabled *:not(.dialog__wrapper) > dialog[open].dialog--multi {
231
+
232
+
233
+ padding-top: calc(var(--dialog-padding) * 4);
234
+
235
+ & > form:first-child button, & > button:first-child {
236
+ top: calc(var(--dialog-padding) * 4);
237
+ }
238
+
239
+ fieldset:not(.active) {
240
+ display: none;
241
+ }
242
+
243
+ &:not(:has(fieldset.active)) fieldset:first-of-type{
244
+ display: flex;
245
+ }
246
+
247
+ form > *:not(fieldset) {
248
+ display: none!important;
249
+ }
250
+
251
+ form {
252
+ max-height: rem(370);
253
+ }
254
+
255
+ :is(.h1,.h2,.h3,.h4,.h5,.h6){
256
+ padding-right: calc(var(--dialog-padding) * 3);
257
+ padding-bottom: var(--dialog-padding);
258
+ }
259
+
260
+ .steps {
261
+ width: 100%;
262
+ position: absolute;
263
+ top:0;
264
+ left: 0;
265
+ padding: var(--dialog-padding);
266
+ counter-reset: section;
267
+ display: flex;
268
+ justify-content: space-between;
269
+
270
+ &:before {
271
+
272
+ content: "";
273
+ position: absolute;
274
+ top: calc(50% - 1px);
275
+ left: var(--dialog-padding);
276
+ z-index: 2;
277
+ width: calc(100% - var(--dialog-padding) - var(--dialog-padding));
278
+ height: 2px;
279
+ background: currentColor;
280
+ z-index: 1;
281
+ opacity: 0.5;
282
+ }
283
+
284
+ button {
285
+
286
+ position: relative;
287
+ background: transparent;
288
+ border: none;
289
+ color: inherit;
290
+ height: rem(24);
291
+ line-height: rem(24);
292
+ width: rem(24);
293
+ text-indent: 300%;
294
+ overflow: hidden;
295
+ z-index: 2;
296
+ background-color: var(--colour-primary);
297
+ outline: 0.5rem solid var(--colour-primary);
298
+
299
+ &:before {
300
+ position: absolute;
301
+ top: 0;
302
+ left: 0;
303
+ counter-increment: section;
304
+ content: counter(section);
305
+
306
+ border: 1px solid currentColor;
307
+ height: rem(24);
308
+ line-height: rem(24);
309
+ width: rem(24);
310
+ text-align: center;
311
+ display: inline-block;
312
+ text-indent: 0;
313
+ border-radius: 50%;
314
+ }
315
+
316
+ &:not(.active):before {
317
+ opacity: 0.5;
318
+ }
319
+ }
320
+ }
321
+
322
+ @include media-breakpoint-up(md) {
323
+ min-width: rem(924);
324
+ width: rem(924);
325
+ max-width: rem(924);
326
+ padding-top: var(--dialog-padding);
327
+ padding-left: calc(var(--dialog-padding) + #{rem(282)});
328
+ display: flex;
329
+ flex-direction: column;
330
+ //height: rem(478);
331
+
332
+ @media (min-height: #{rem(500)}) {
333
+ height: rem(478);
334
+ max-height: rem(478);
335
+ }
336
+
337
+
338
+ & > form:first-child button, & > button:first-child {
339
+ top: var(--dialog-padding);
340
+ }
341
+
342
+ .steps {
343
+ width: rem(282);
344
+ height: 100%;
345
+ flex-direction: column;
346
+ justify-content: center;
347
+
348
+ &:before {
349
+ display: none;
350
+ }
351
+
352
+ button {
353
+ margin-block: 0.5rem;
354
+ width: 100%;
355
+ text-indent: 0;
356
+ text-align: left;
357
+ padding-left: 2rem;
358
+ font-size: rem(18);
359
+ outline-width: 1px;
360
+ }
361
+ }
362
+
363
+ .btn--wrapper {
364
+ margin-top: auto;
365
+ text-align: right;
366
+ }
367
+ > form {
368
+ display: contents
369
+ }
370
+ fieldset {
371
+ display: flex;
372
+ flex-direction: column;
373
+ flex-grow: 1;
374
+ position: relative;
375
+
376
+ overflow: auto;
377
+ margin-bottom: calc(var(--dialog-padding) * -1);
378
+ padding-bottom: var(--dialog-padding);
379
+
380
+
381
+ padding-right: calc(var(--dialog-padding) - 10px);
382
+ margin-right: calc((var(--dialog-padding) * -1) + 10px);
383
+
384
+ &::before {
385
+ content: "";
386
+ top: 100%;
387
+ bottom: 0;
388
+ left: 0;
389
+ right: 0;
390
+ height: var(--dialog-padding);
391
+ min-height: var(--dialog-padding);
392
+ position: sticky;
393
+ display: block;
394
+ background: linear-gradient(180deg, transparent 0%, var(--colour-canvas-2) 100%);
395
+ z-index: 2;
396
+ margin-bottom: calc(var(--dialog-padding) * -1);;
397
+ }
398
+ }
399
+ }
400
+ }
401
+ // #endregion
402
+
403
+ // #region youTube video
404
+ *:not(.dialog__wrapper) > dialog[open]:has(.youtube-embed){
405
+
406
+ display: block;
407
+
408
+ .mh-lg, .mh-lg:before {
409
+ display: contents;
410
+ }
411
+
412
+ @include media-breakpoint-up(sm) {
413
+
414
+ min-width: rem(686);
415
+ max-width: rem(686);
416
+ }
417
+
418
+ @include media-breakpoint-up(md) {
419
+
420
+ min-width: rem(736);
421
+ max-width: rem(736);
422
+ }
119
423
  }
120
424
  // #endregion
121
425
 
@@ -12,54 +12,37 @@
12
12
  position: relative;
13
13
  list-style: none;
14
14
  padding-bottom: 1rem;
15
- padding-left: 2.5rem;
15
+ padding-left: 2.25rem;
16
16
 
17
17
  &:before {
18
18
 
19
- content: "";
19
+ content: "\f00c";
20
20
  position: absolute;
21
21
  top: 0;
22
22
  left: 0;
23
- width: 1.5em;
24
- height: 1.5em;
23
+ width: 1.25em;
24
+ height: 1.25em;
25
+ font-size: 1.25em;
26
+ line-height: 1;
27
+
28
+ color: var(--colour-complete);
29
+ font-family: "Font Awesome 6 Pro";
30
+ font-size: 400;
25
31
 
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
- @media (forced-colors: active) {
36
- content: "\2713";
37
- -webkit-mask-image: none;
38
- }
39
32
  }
40
33
 
41
34
  &.tick--warning:before {
42
35
 
43
- background: var(--colour-warning);
44
- mask-image: var(--icon-warning);
45
- -webkit-mask-image: var(--icon-warning);
46
- @media (forced-colors: active) {
47
- content: "!";
48
- mask-image: none;
49
- -webkit-mask-image: none;
50
- }
36
+ content: "\f071";
37
+ font-weight: 300;
38
+ color: var(--colour-warning);
51
39
  }
52
40
 
53
41
  &.tick--danger:before {
54
42
 
55
- background: var(--colour-danger);
56
- mask-image: var(--icon-warning);
57
- -webkit-mask-image: var(--icon-warning);
58
- @media (forced-colors: active) {
59
- content: "!";
60
- mask-image: none;
61
- -webkit-mask-image: none;
62
- }
43
+ content: "\f06a";
44
+ font-weight: 300;
45
+ color: var(--colour-danger);
63
46
  }
64
47
 
65
48
  &.tick--incomplete:before {