@iamproperty/components 7.5.1--beta6 → 7.5.1--beta8

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 (190) hide show
  1. package/assets/css/components/actionbar.component.css +1 -1
  2. package/assets/css/components/actionbar.component.css.map +1 -1
  3. package/assets/css/components/address-lookup.component.css +1 -1
  4. package/assets/css/components/address-lookup.component.css.map +1 -1
  5. package/assets/css/components/applied-filters.css +1 -1
  6. package/assets/css/components/applied-filters.css.map +1 -1
  7. package/assets/css/components/calendar.component.css +1 -1
  8. package/assets/css/components/calendar.component.css.map +1 -1
  9. package/assets/css/components/card.component.css +1 -1
  10. package/assets/css/components/card.component.css.map +1 -1
  11. package/assets/css/components/fileupload.css +1 -1
  12. package/assets/css/components/fileupload.css.map +1 -1
  13. package/assets/css/components/input-range.component.css +1 -0
  14. package/assets/css/components/input-range.component.css.map +1 -0
  15. package/assets/css/components/input.component.css +1 -0
  16. package/assets/css/components/input.component.css.map +1 -0
  17. package/assets/css/components/modal.component.css +1 -0
  18. package/assets/css/components/modal.component.css.map +1 -0
  19. package/assets/css/components/multi-step-modal.component.css +1 -0
  20. package/assets/css/components/multi-step-modal.component.css.map +1 -0
  21. package/assets/css/components/multi-step-modal.global.css +1 -0
  22. package/assets/css/components/multi-step-modal.global.css.map +1 -0
  23. package/assets/css/components/multiselect.css +1 -1
  24. package/assets/css/components/multiselect.css.map +1 -1
  25. package/assets/css/components/nav.component.css +1 -1
  26. package/assets/css/components/nav.component.css.map +1 -1
  27. package/assets/css/components/pagination.css +1 -1
  28. package/assets/css/components/pagination.css.map +1 -1
  29. package/assets/css/components/password.component.css +1 -0
  30. package/assets/css/components/password.component.css.map +1 -0
  31. package/assets/css/components/slider.css +1 -1
  32. package/assets/css/components/slider.css.map +1 -1
  33. package/assets/css/components/tabs.component.css +1 -1
  34. package/assets/css/components/tabs.component.css.map +1 -1
  35. package/assets/css/components/tabs.config.css +1 -1
  36. package/assets/css/components/tabs.config.css.map +1 -1
  37. package/assets/css/core.min.css +1 -1
  38. package/assets/css/core.min.css.map +1 -1
  39. package/assets/css/mobile-core.min.css +1 -1
  40. package/assets/css/mobile-core.min.css.map +1 -1
  41. package/assets/css/mobile.min.css +1 -1
  42. package/assets/css/mobile.min.css.map +1 -1
  43. package/assets/css/style.min.css +1 -1
  44. package/assets/css/style.min.css.map +1 -1
  45. package/assets/js/components/accordion/accordion.component.js +1 -1
  46. package/assets/js/components/accordion/accordion.component.min.js +3 -3
  47. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  48. package/assets/js/components/actionbar/actionbar.component.js +2 -4
  49. package/assets/js/components/actionbar/actionbar.component.min.js +4 -4
  50. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  51. package/assets/js/components/address-lookup/address-lookup.component.js +45 -0
  52. package/assets/js/components/address-lookup/address-lookup.component.min.js +12 -4
  53. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  54. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  55. package/assets/js/components/applied-filters/applied-filters.component.js +0 -2
  56. package/assets/js/components/applied-filters/applied-filters.component.min.js +5 -7
  57. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  58. package/assets/js/components/barchart/barchart.component.min.js +1 -1
  59. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  60. package/assets/js/components/calendar/calendar.component.min.js +5 -5
  61. package/assets/js/components/card/card.component.min.js +8 -8
  62. package/assets/js/components/card/card.component.min.js.map +1 -1
  63. package/assets/js/components/carousel/carousel.component.min.js +1 -1
  64. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +1 -1
  65. package/assets/js/components/content/content.component.min.js +1 -1
  66. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  67. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +1 -1
  68. package/assets/js/components/fileupload/fileupload.component.min.js +4 -4
  69. package/assets/js/components/filter-card/filter-card.component.js +19 -0
  70. package/assets/js/components/filter-card/filter-card.component.min.js +4 -4
  71. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  72. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  73. package/assets/js/components/header/header.component.min.js +1 -1
  74. package/assets/js/components/inline-edit/inline-edit.component.min.js +1 -1
  75. package/assets/js/components/input/input.component.js +128 -0
  76. package/assets/js/components/input/input.component.min.js +16 -0
  77. package/assets/js/components/input/input.component.min.js.map +1 -0
  78. package/assets/js/components/input-range/input-range.component.js +62 -0
  79. package/assets/js/components/input-range/input-range.component.min.js +14 -0
  80. package/assets/js/components/input-range/input-range.component.min.js.map +1 -0
  81. package/assets/js/components/marketing/marketing.component.min.js +1 -1
  82. package/assets/js/components/menu/menu.component.min.js +1 -1
  83. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  84. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  85. package/assets/js/components/modal/modal.component.js +141 -0
  86. package/assets/js/components/modal/modal.component.min.js +28 -0
  87. package/assets/js/components/modal/modal.component.min.js.map +1 -0
  88. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  89. package/assets/js/components/multi-step-modal/multi-step-modal.component.js +233 -0
  90. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js +17 -0
  91. package/assets/js/components/multi-step-modal/multi-step-modal.component.min.js.map +1 -0
  92. package/assets/js/components/multiselect/multiselect.component.min.js +4 -4
  93. package/assets/js/components/nav/nav.component.min.js +5 -5
  94. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  95. package/assets/js/components/notification/notification.component.min.js +1 -1
  96. package/assets/js/components/pagination/pagination.component.js +0 -1
  97. package/assets/js/components/pagination/pagination.component.min.js +4 -4
  98. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  99. package/assets/js/components/password/password.component.js +93 -0
  100. package/assets/js/components/password/password.component.min.js +17 -0
  101. package/assets/js/components/password/password.component.min.js.map +1 -0
  102. package/assets/js/components/rank/rank.component.min.js +1 -1
  103. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  104. package/assets/js/components/record-card/record-card.component.min.js +4 -4
  105. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  106. package/assets/js/components/search/search.component.min.js +1 -1
  107. package/assets/js/components/slider/slider.component.min.js +3 -3
  108. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  109. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +2 -0
  110. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +18 -8
  111. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  112. package/assets/js/components/table/table.component.min.js +4 -4
  113. package/assets/js/components/table/table.component.min.js.map +1 -1
  114. package/assets/js/components/table-ajax/table-ajax.component.min.js +4 -4
  115. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  116. package/assets/js/components/table-basic/table-basic.component.min.js +2 -2
  117. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  118. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  119. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  120. package/assets/js/components/table-submit/table-submit.component.min.js +2 -2
  121. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  122. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  123. package/assets/js/components/video-card/video-card.component.min.js +4 -4
  124. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  125. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  126. package/assets/js/modules/applied-filters.js +80 -62
  127. package/assets/js/modules/card.module.js +6 -1
  128. package/assets/js/modules/dialogs.js +6 -2
  129. package/assets/js/modules/password.js +72 -0
  130. package/assets/js/modules/table.js +103 -32
  131. package/assets/js/scripts.bundle.js +2 -3
  132. package/assets/js/scripts.bundle.js.map +1 -1
  133. package/assets/js/scripts.bundle.min.js +2 -2
  134. package/assets/js/scripts.bundle.min.js.map +1 -1
  135. package/assets/js/scripts.js +0 -2
  136. package/assets/sass/_components.scss +2 -0
  137. package/assets/sass/_elements.scss +2 -0
  138. package/assets/sass/components/actionbar.component.scss +1 -0
  139. package/assets/sass/components/address-lookup.component.scss +20 -0
  140. package/assets/sass/components/applied-filters.scss +10 -14
  141. package/assets/sass/components/input-range.component.scss +38 -0
  142. package/assets/sass/components/input.component.scss +102 -0
  143. package/assets/sass/components/modal.component.scss +269 -0
  144. package/assets/sass/components/multi-step-modal.component.scss +255 -0
  145. package/assets/sass/components/multi-step-modal.global.scss +92 -0
  146. package/assets/sass/components/password.component.scss +60 -0
  147. package/assets/sass/components/tabs.config.scss +2 -2
  148. package/assets/sass/elements/badge-tag.scss +0 -1
  149. package/assets/sass/elements/details.scss +12 -7
  150. package/assets/sass/elements/dialog.scss +46 -5
  151. package/assets/sass/elements/forms.scss +41 -177
  152. package/assets/sass/elements/hr.scss +1 -1
  153. package/assets/sass/elements/modal.scss +19 -21
  154. package/assets/sass/elements/prefix.scss +115 -0
  155. package/assets/ts/components/accordion/accordion.component.ts +1 -1
  156. package/assets/ts/components/actionbar/actionbar.component.ts +3 -10
  157. package/assets/ts/components/address-lookup/address-lookup.component.ts +60 -0
  158. package/assets/ts/components/applied-filters/applied-filters.component.ts +0 -2
  159. package/assets/ts/components/filter-card/filter-card.component.ts +27 -0
  160. package/assets/ts/components/input/input.component.ts +168 -0
  161. package/assets/ts/components/input-range/input-range.component.ts +78 -0
  162. package/assets/ts/components/modal/modal.component.ts +188 -0
  163. package/assets/ts/components/multi-step-modal/multi-step-modal.component.ts +304 -0
  164. package/assets/ts/components/pagination/pagination.component.ts +0 -2
  165. package/assets/ts/components/password/password.component.ts +118 -0
  166. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +2 -1
  167. package/assets/ts/modules/applied-filters.ts +110 -71
  168. package/assets/ts/modules/card.module.ts +9 -4
  169. package/assets/ts/modules/dialogs.ts +6 -2
  170. package/assets/ts/modules/password.ts +82 -0
  171. package/assets/ts/modules/table.ts +102 -12
  172. package/assets/ts/scripts.ts +2 -2
  173. package/dist/components.es.js +641 -959
  174. package/dist/components.umd.js +275 -182
  175. package/package.json +2 -2
  176. package/src/components/Input/Input.vue +19 -363
  177. package/src/components/InputRange/InputRange.vue +22 -0
  178. package/src/components/Modal/Modal.vue +22 -0
  179. package/src/components/MultiStepModal/MultiStepModal.vue +23 -0
  180. package/src/components/{PasswordIndicator/PasswordIndicator.vue → Password/Password.vue} +23 -23
  181. package/assets/js/components/password-indicator/password-indicator.component.js +0 -19
  182. package/assets/js/components/password-indicator/password-indicator.component.min.js +0 -7
  183. package/assets/js/components/password-indicator/password-indicator.component.min.js.map +0 -1
  184. package/assets/js/modules/form.js +0 -125
  185. package/assets/js/modules/inputs.js +0 -151
  186. package/assets/js/modules/password-indicator.js +0 -21
  187. package/assets/ts/components/password-indicator/password-indicator.component.ts +0 -24
  188. package/assets/ts/modules/form.ts +0 -166
  189. package/assets/ts/modules/inputs.ts +0 -181
  190. package/assets/ts/modules/password-indicator.ts +0 -29
@@ -127,7 +127,7 @@ $darkMode: 'true' !default;
127
127
  &[open] summary :is(h1, h2, h4, h5, h6, .h1, .h2, .h4, .h5, .h6, .label) {
128
128
  &:after {
129
129
  content: '\f056';
130
- font-weight: 900;
130
+ font-weight: 400;
131
131
  }
132
132
  }
133
133
 
@@ -147,7 +147,7 @@ $darkMode: 'true' !default;
147
147
  font-size: rem(18);
148
148
  line-height: var(--line-height);
149
149
  padding-bottom: map.get($heading-sizes, 'h3_pb');
150
- font-weight: 700;
150
+ font-weight: 500;
151
151
  max-width: 100%;
152
152
 
153
153
  &:after {
@@ -165,15 +165,13 @@ $darkMode: 'true' !default;
165
165
  font-family: 'Font Awesome 6 Pro';
166
166
  }
167
167
 
168
- @include media-breakpoint-up(sm, $mobileOnly) {
169
- font-weight: 900;
170
- }
168
+
171
169
  }
172
170
 
173
171
  &[open] summary:not(:has(h1, h2, h4, h5, h6, .h1, .h2, .h4, .h5, .h6)) {
174
172
  &:after {
175
173
  content: '\f056';
176
- font-weight: 900;
174
+
177
175
  }
178
176
  }
179
177
  }
@@ -182,6 +180,7 @@ $darkMode: 'true' !default;
182
180
  --inline-padding: var(--dialog-padding);
183
181
 
184
182
  margin-inline: calc(var(--dialog-padding) * -1);
183
+ padding-inline: var(--dialog-padding);
185
184
  width: calc(100% + var(--dialog-padding) + var(--dialog-padding));
186
185
 
187
186
  &:has(summary:is(:hover, :focus-visible)),
@@ -190,6 +189,13 @@ $darkMode: 'true' !default;
190
189
  overflow: hidden;
191
190
  }
192
191
 
192
+ @include media-breakpoint-up(sm, $mobileOnly) {
193
+ --dialog-padding: #{rem(32)};
194
+
195
+ margin-inline: calc(var(--dialog-padding) * -1);
196
+ padding-inline: var(--dialog-padding);
197
+ }
198
+
193
199
  // Fix the border bottom issue
194
200
  &:has(+ details[open]),
195
201
  &:has(summary:is(:hover, :focus-visible)),
@@ -213,7 +219,6 @@ $darkMode: 'true' !default;
213
219
  --inline-padding: 0;
214
220
  }
215
221
 
216
- padding-inline: var(--dialog-padding);
217
222
 
218
223
  &::before {
219
224
  content: '';
@@ -5,7 +5,7 @@ $layers: 'true' !default;
5
5
  $mobileOnly: 'false' !default;
6
6
  $darkMode: 'true' !default;
7
7
 
8
- @include layer('elements', $layers) {
8
+ @layer elements {
9
9
  // non-js fallback
10
10
  body:not(.js-enabled) dialog:not([open]):target {
11
11
  display: block;
@@ -26,19 +26,60 @@ $darkMode: 'true' !default;
26
26
  border-radius: rem(10);
27
27
  padding: var(--dialog-padding);
28
28
  outline: var(--contrast-outline-width, 0px) solid var(--colour-primary);
29
+
30
+ > *:last-child {
31
+ margin-bottom: 0;
32
+ }
33
+
34
+ > :is(p):last-child {
35
+ padding-bottom: 0;
36
+ }
37
+ }
38
+
39
+ dialog::backdrop {
40
+ background: rgba(0, 0, 0, 0.3);
41
+ backdrop-filter: blur(4px);
42
+ overscroll-behavior: contain;
29
43
  }
30
44
 
31
45
  dialog[open] {
32
46
  display: flex;
33
47
  flex-direction: column;
48
+ }
34
49
 
35
- > *:last-child {
36
- margin-bottom: 0;
50
+ // TODO: when the old modals are depreciated this selector can be simplified
51
+ *:not(.dialog__wrapper) > dialog[open]:not([popover]) {
52
+
53
+ overflow-y: auto;
54
+ width: 90vw;
55
+ max-width: rem(324); // col-width*4
56
+
57
+ //height: 90vh;
58
+ max-height: min(90vh, #{rem(752)});
59
+ overscroll-behavior: contain;
60
+
61
+ @include media-breakpoint-up(sm, $mobileOnly) {
62
+ --dialog-padding: #{rem(32)};
63
+ padding: var(--dialog-padding);
64
+ min-width: rem(335);
65
+ width: fit-content;
66
+ max-width: rem(686);
37
67
  }
38
68
 
39
- > :is(p):last-child {
40
- padding-bottom: 0;
69
+ @include media-breakpoint-up(md, $mobileOnly) {
70
+ min-width: rem(454);
71
+ width: fit-content;
72
+ max-width: rem(736);
41
73
  }
74
+
42
75
  }
43
76
  // #endregion
77
+
78
+
79
+ details.bg-light {
80
+ margin-inline: calc(var(--dialog-padding) * -1);
81
+ padding-inline: var(--dialog-padding);
82
+ }
83
+
44
84
  }
85
+
@@ -164,6 +164,16 @@ $optionalText: 'true' !default;
164
164
  padding: 0;
165
165
  }
166
166
 
167
+ ::-moz-color-swatch {
168
+ border-radius: 0;
169
+ border: none;
170
+ }
171
+
172
+ ::-webkit-color-swatch {
173
+ border-radius: 0;
174
+ border: none;
175
+ }
176
+
167
177
  // 1. Inherit font family and line height for file input buttons
168
178
  // 2. Correct the inability to style clickable types in iOS and Safari.
169
179
 
@@ -279,6 +289,12 @@ $optionalText: 'true' !default;
279
289
  }
280
290
  }
281
291
 
292
+ input[type='color'] {
293
+
294
+ padding: 0!important;
295
+ max-width: 3rem!important;
296
+ }
297
+
282
298
  [disabled] :is(
283
299
  input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']),
284
300
  textarea,
@@ -369,60 +385,21 @@ $optionalText: 'true' !default;
369
385
  }
370
386
  }
371
387
 
372
- // #region colors
373
-
374
- input[type='color'] {
375
- width: 3rem !important;
376
- flex-shrink: 0 !important;
377
- flex-grow: 0 !important;
378
- border-start-end-radius: 0 !important;
379
- border-end-end-radius: 0 !important;
380
- padding: 0 !important;
381
- overflow: hidden;
382
- cursor: pointer !important;
383
-
384
- &::-moz-color-swatch {
385
- border-radius: 0;
386
- border: none;
387
- }
388
-
389
- &::-webkit-color-swatch {
390
- border-radius: 0;
391
- border: none;
392
- }
393
- }
394
-
395
- label :is(div, span, fieldset):has(input[type='color'] + output) {
396
- display: flex;
397
- }
398
-
399
- input[type='color'] + output {
400
- border-left: none !important;
401
- border-end-start-radius: 0 !important;
402
- border-start-start-radius: 0 !important;
403
- margin: 0 !important;
404
- }
405
-
406
- output {
407
- margin-top: 0.5rem !important;
408
- margin-bottom: 0 !important;
409
- }
410
- // #endregion
411
388
 
412
- div:has(> :is(.form-control-sm, .input--sm)) {
389
+ *:has(> :is(.form-control-sm, .input--sm)) {
413
390
  --input-fs: #{rem(14)};
414
391
  --input-lh: #{rem(16)};
415
392
  --input-padding-block: #{rem(10)};
416
393
  --input-padding-inline: #{rem(14)};
417
394
  }
418
- div:has(> :is(.form-control-lg, .input--sm)) {
395
+ *:has(> :is(.form-control-lg, .input--lg)) {
419
396
  --input-fs: #{rem(24)};
420
397
  --input-lh: #{rem(29)};
421
398
  --input-padding-block: #{rem(20)};
422
399
  --input-padding-inline: #{rem(22)};
423
400
  }
424
401
 
425
- div:has(> label:first-child):has(> input):has(> :is(.form-control-inline, .input--inline)) {
402
+ *:has(> label:first-child):has(> input):has(> :is(.form-control-inline, .input--inline)) {
426
403
  label {
427
404
  flex-shrink: 0;
428
405
  white-space: nowrap;
@@ -456,119 +433,10 @@ $optionalText: 'true' !default;
456
433
  // #endregion
457
434
 
458
435
  // #region prefix
459
- :is(.prefix, .suffix) {
460
- display: none;
461
- }
462
-
463
- :not(button):is(.prefix, .suffix) {
464
- pointer-events: none;
465
- }
466
436
 
467
437
  @supports selector(:has(*)) {
468
- :is(.prefix, .suffix) {
469
- display: inline-block;
470
- width: auto;
471
- padding: var(--input-padding-block, #{rem(12)}) var(--input-padding-block, #{rem(16)});
472
- font-size: var(--input-fs, #{rem(16)});
473
- line-height: var(--input-lh, #{rem(20)});
474
- color: var(--colour-body);
475
- background-color: var(--colour-primary-theme);
476
- border: 2px solid var(--colour-primary);
477
- color: var(--colour-white);
478
- margin-top: 0 !important;
479
- margin-bottom: 1rem;
480
- border-end-start-radius: rem(8);
481
- border-start-start-radius: rem(8);
482
- min-width: calc(#{rem(20 + 12 + 12)} + 4px);
483
- overflow: hidden;
484
- white-space: nowrap;
485
- text-align: center;
486
- text-overflow: ellipsis;
487
- position: relative;
488
-
489
- min-height: calc(
490
- var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) +
491
- 4px
492
- );
493
- max-height: calc(
494
- var(--input-padding-block, #{rem(12)}) + var(--input-padding-block, #{rem(12)}) + var(--input-lh, #{rem(20)}) +
495
- 4px
496
- );
497
- flex-shrink: 0;
498
-
499
- &:after {
500
- display: inline-block;
501
- max-width: rem(20);
502
- }
503
-
504
- &[class*='fa-'] {
505
- width: calc(#{rem(20 + 12 + 12)} + 4px);
506
- padding-inline: 0;
507
- }
508
-
509
- select {
510
- position: absolute;
511
- inset: 0;
512
- opacity: 0;
513
- cursor: pointer;
514
- }
515
-
516
- span {
517
- display: none;
518
- }
519
-
520
- select:has(option:nth-child(1):checked) ~ span:nth-of-type(1),
521
- select:has(option:nth-child(2):checked) ~ span:nth-of-type(2),
522
- select:has(option:nth-child(3):checked) ~ span:nth-of-type(3),
523
- select:has(option:nth-child(4):checked) ~ span:nth-of-type(4),
524
- select:has(option:nth-child(5):checked) ~ span:nth-of-type(5),
525
- select:has(option:nth-child(6):checked) ~ span:nth-of-type(6),
526
- select:has(option:nth-child(7):checked) ~ span:nth-of-type(7),
527
- select:has(option:nth-child(8):checked) ~ span:nth-of-type(8),
528
- select:has(option:nth-child(9):checked) ~ span:nth-of-type(9),
529
- select:has(option:nth-child(10):checked) ~ span:nth-of-type(10) {
530
- display: block;
531
- }
532
-
533
- select ~ span:after {
534
- content: ' \f078';
535
- font-family: 'Font Awesome 6 Pro';
536
- font-size: 0.8em;
537
- display: inline-block;
538
- padding-left: 1em;
539
- }
540
-
541
- select:focus-visible ~ span:after {
542
- content: '\f077';
543
- }
544
- }
545
-
546
- .prefix {
547
- border-right: none;
548
- }
549
-
550
- .suffix {
551
- border-left: none;
552
- border-end-start-radius: 0;
553
- border-start-start-radius: 0;
554
- border-start-end-radius: rem(8) !important;
555
- border-end-end-radius: rem(8) !important;
556
- order: 2;
557
- }
558
-
559
- .prefix span {
560
- display: none;
561
-
562
- small {
563
- font-size: 0.8em;
564
- }
565
- }
566
-
567
- .prefix
568
- ~ :is(input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']), textarea, output) {
569
- border-end-start-radius: 0 !important;
570
- border-start-start-radius: 0 !important;
571
- }
438
+
439
+
572
440
 
573
441
  .suffix
574
442
  ~ :is(
@@ -680,26 +548,6 @@ $optionalText: 'true' !default;
680
548
  --error-hide: none;
681
549
  }
682
550
 
683
- // Password checker
684
- .pwd-checker {
685
- display: block;
686
- background-repeat: no-repeat !important;
687
- background-position: left center;
688
- background-size: 1em 1em;
689
- padding-left: 1.5rem !important;
690
- }
691
- .pwd-checker.invalid-feedback {
692
- background-image: escape-svg($icon-error);
693
- }
694
-
695
- .pwd-checker:not(.invalid-feedback) {
696
- background-image: escape-svg($icon-tick) !important;
697
- }
698
- label:has(.pwd-checker.invalid-feedback):after {
699
- display: none !important;
700
- }
701
- // #endregion
702
-
703
551
  // #region radio/checkbox field
704
552
  @supports selector(:has(*)) {
705
553
  input:is([type='radio'], [type='checkbox']) {
@@ -827,6 +675,15 @@ $optionalText: 'true' !default;
827
675
  }
828
676
  }
829
677
 
678
+ fieldset:has(label > input:is([type="radio"],[type="checkbox"])){
679
+
680
+ label {
681
+ margin-bottom: 0!important;
682
+ }
683
+
684
+ margin-bottom: 1.5rem;
685
+ }
686
+
830
687
  input:is([type='radio'], [type='checkbox']):checked + label,
831
688
  label:not(.tag):has(input:is([type='radio'], [type='checkbox']):checked) {
832
689
  --tick-colour: var(--colour-info);
@@ -1145,7 +1002,8 @@ $optionalText: 'true' !default;
1145
1002
  }
1146
1003
 
1147
1004
  :is(input, select) ~ span:not(:is(.suffix, .prefix, .invalid-feedback)),
1148
- span:has(> :is(input, select)) ~ span:not(:is(.suffix, .prefix, .invalid-feedback)) {
1005
+ span:has(> :is(input, select)) ~ span:not(:is(.suffix, .prefix, .invalid-feedback)),
1006
+ .hint-text {
1149
1007
  all: initial;
1150
1008
  font-family: var(--font-body);
1151
1009
  color: var(--colour-body);
@@ -1298,25 +1156,31 @@ $optionalText: 'true' !default;
1298
1156
  // #endregion
1299
1157
 
1300
1158
  // #region Date and time fields
1301
- :is(input[type='date'], input[type='time']) {
1159
+ :is(input[type='date'],input[type='datetime-local'],input[type='year'],input[type='month'],input[type='week'], input[type='time']) {
1302
1160
  position: relative;
1303
1161
  margin-right: -3rem;
1304
1162
  padding-right: 3rem !important;
1305
1163
  background-position: right 4rem center;
1306
1164
  border-radius: 0.5rem !important;
1307
1165
  }
1308
- :is(input[type='date'], input[type='time'])::-webkit-calendar-picker-indicator {
1166
+ ::-webkit-calendar-picker-indicator {
1309
1167
  background: transparent;
1310
1168
  bottom: 0;
1311
1169
  color: transparent;
1312
1170
  cursor: pointer;
1313
1171
  height: auto;
1314
- left: 4em;
1172
+ left: 0;
1315
1173
  position: absolute;
1316
1174
  right: 0;
1317
1175
  top: 0;
1318
1176
  width: auto;
1319
1177
  order: 3;
1178
+ z-index: 98;
1179
+ }
1180
+ ::-webkit-datetime-edit {
1181
+ position: relative;
1182
+ z-index: 99;
1183
+ max-width: fit-content;
1320
1184
  }
1321
1185
  // #endregion
1322
1186
  }
@@ -27,7 +27,7 @@ $darkMode: 'true' !default;
27
27
  }
28
28
  }
29
29
 
30
- hr:not(.border-0) {
30
+ hr[class*="border-"] {
31
31
  border-bottom: var(--border-width) var(--border-style) var(--border-color);
32
32
  }
33
33
 
@@ -8,8 +8,12 @@ $darkMode: 'true' !default;
8
8
  @include layer('elements', $layers) {
9
9
  // #region modal styling
10
10
 
11
- *:not(.dialog__wrapper) > dialog[open] {
12
- overflow-y: hidden;
11
+ *:not(.dialog__wrapper) > dialog[open] { // change this selector to be a dialog without a popover attribute
12
+
13
+
14
+ &:has(.mh-lg){
15
+ overflow-y: hidden!important;
16
+ }
13
17
  width: 90vw;
14
18
  max-width: rem(324); // col-width*4
15
19
 
@@ -17,6 +21,19 @@ $darkMode: 'true' !default;
17
21
  max-height: min(90vh, #{rem(752)});
18
22
  overscroll-behavior: contain;
19
23
 
24
+ @include media-breakpoint-up(sm, $mobileOnly) {
25
+ --dialog-padding: #{rem(32)};
26
+ min-width: rem(335);
27
+ width: fit-content;
28
+ max-width: rem(686);
29
+ }
30
+
31
+ @include media-breakpoint-up(md, $mobileOnly) {
32
+ min-width: rem(454);
33
+ width: fit-content;
34
+ max-width: rem(736);
35
+ }
36
+
20
37
  // Close button
21
38
  > form:first-child {
22
39
  position: static;
@@ -83,19 +100,6 @@ $darkMode: 'true' !default;
83
100
  }
84
101
  }
85
102
 
86
- @include media-breakpoint-up(sm, $mobileOnly) {
87
- --dialog-padding: #{rem(32)};
88
- min-width: rem(335);
89
- width: fit-content;
90
- max-width: rem(686);
91
- }
92
-
93
- @include media-breakpoint-up(md, $mobileOnly) {
94
- min-width: rem(454);
95
- width: fit-content;
96
- max-width: rem(736);
97
- }
98
-
99
103
  &:has(.youtube-embed) {
100
104
  padding: 0 !important;
101
105
  }
@@ -134,12 +138,6 @@ $darkMode: 'true' !default;
134
138
  }
135
139
  }
136
140
  }
137
-
138
- dialog::backdrop {
139
- background: rgba(0, 0, 0, 0.3);
140
- backdrop-filter: blur(4px);
141
- overscroll-behavior: contain;
142
- }
143
141
  // #endregion
144
142
 
145
143
  // #region Transactional
@@ -0,0 +1,115 @@
1
+ @use 'sass:map';
2
+ @use 'sass:math';
3
+
4
+ @use '../_func' as *;
5
+
6
+
7
+ @layer elements{
8
+ :is(.prefix, .suffix) {
9
+ display: none;
10
+ }
11
+
12
+ :is(.prefix, .suffix) {
13
+ --fa-display: flex;
14
+ display: inline-block;
15
+ display: flex;
16
+ flex-direction: column;
17
+ justify-content: center;
18
+ align-items: center;
19
+ width: auto;
20
+ padding: 0 rem(12);
21
+ font-size: var(--input-fs, #{rem(16)});
22
+ line-height: var(--input-lh, #{rem(20)});
23
+ color: var(--colour-body);
24
+ background-color: var(--colour-primary-theme);
25
+ border: 2px solid var(--colour-primary);
26
+ color: var(--colour-white);
27
+ margin: 0 !important;
28
+ //margin-bottom: 1rem;
29
+ border-end-start-radius: rem(8);
30
+ border-start-start-radius: rem(8);
31
+ min-width: calc(#{rem(20 + 12 + 12)} + 4px);
32
+ overflow: hidden;
33
+ white-space: nowrap;
34
+ text-align: center;
35
+ text-overflow: ellipsis;
36
+ position: relative;
37
+ height: stretch;
38
+
39
+ flex-shrink: 0;
40
+
41
+ &:after {
42
+ display: inline-block;
43
+ max-width: rem(20);
44
+ }
45
+
46
+ &[class*='fa-'] {
47
+ width: calc(#{rem(20 + 12 + 12)} + 4px);
48
+ padding-inline: 0;
49
+ }
50
+
51
+ select {
52
+ position: absolute;
53
+ inset: 0;
54
+ opacity: 0;
55
+ cursor: pointer;
56
+ }
57
+
58
+ span {
59
+ display: none;
60
+ }
61
+
62
+ select:has(option:nth-child(1):checked) ~ span:nth-of-type(1),
63
+ select:has(option:nth-child(2):checked) ~ span:nth-of-type(2),
64
+ select:has(option:nth-child(3):checked) ~ span:nth-of-type(3),
65
+ select:has(option:nth-child(4):checked) ~ span:nth-of-type(4),
66
+ select:has(option:nth-child(5):checked) ~ span:nth-of-type(5),
67
+ select:has(option:nth-child(6):checked) ~ span:nth-of-type(6),
68
+ select:has(option:nth-child(7):checked) ~ span:nth-of-type(7),
69
+ select:has(option:nth-child(8):checked) ~ span:nth-of-type(8),
70
+ select:has(option:nth-child(9):checked) ~ span:nth-of-type(9),
71
+ select:has(option:nth-child(10):checked) ~ span:nth-of-type(10) {
72
+ display: block;
73
+ }
74
+
75
+ select ~ span:after {
76
+ content: ' \f078';
77
+ font-family: 'Font Awesome 6 Pro';
78
+ font-size: 0.8em;
79
+ display: inline-block;
80
+ padding-left: 1em;
81
+ }
82
+
83
+ select:focus-visible ~ span:after {
84
+ content: '\f077';
85
+ }
86
+ }
87
+
88
+ .prefix {
89
+ border-right: none;
90
+ }
91
+
92
+ .suffix {
93
+ border-left: none;
94
+ border-end-start-radius: 0;
95
+ border-start-start-radius: 0;
96
+ border-start-end-radius: rem(8) !important;
97
+ border-end-end-radius: rem(8) !important;
98
+ order: 2;
99
+ }
100
+
101
+ .prefix span {
102
+ display: none;
103
+
104
+ small {
105
+ font-size: 0.8em;
106
+ }
107
+ }
108
+
109
+ .prefix
110
+ ~ :is(input:not([type='checkbox']):not([type='radio']):not([type='file']):not([type='range']), textarea, output) {
111
+ border-end-start-radius: 0 !important;
112
+ border-start-start-radius: 0 !important;
113
+ }
114
+
115
+ }
@@ -34,7 +34,7 @@ class iamAccordion extends HTMLElement {
34
34
 
35
35
  const details: NodeListOf<HTMLElement> = this.querySelectorAll(':scope > details');
36
36
 
37
- if (!this.classList.contains('accordion--keep-open')) {
37
+ if (!this.classList.contains('accordion--keep-open') && !this.querySelector('details[name]')) {
38
38
  // Add the toggle listeners.
39
39
  details.forEach((targetDetail) => {
40
40
  targetDetail.addEventListener('toggle', () => {
@@ -266,25 +266,18 @@ class iamActionbar extends HTMLElement {
266
266
  this.dispatchEvent(changeEvent);
267
267
  });
268
268
 
269
- console.log(searchBar);
270
-
271
269
  searchBar.addEventListener('click', (event) => {
272
270
 
273
- console.log(event);
274
-
275
- console.log(event.target.closest('button.suffix'));
276
-
277
271
  if (event && event.target instanceof HTMLElement && event.target.closest('button.suffix')) {
278
272
 
279
-
280
-
281
273
  const submitEvent = new CustomEvent('search-submit', {
282
274
  detail: { search: searchBar.querySelector('input').value },
283
275
  });
284
276
 
285
- console.log(this)
286
-
287
277
  this.dispatchEvent(submitEvent);
278
+
279
+ searchBar.classList.toggle('show');
280
+ searchBtn.toggleAttribute('aria-expanded');
288
281
  }
289
282
  });
290
283