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

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 (187) 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.min.js +3 -3
  97. package/assets/js/components/password/password.component.js +93 -0
  98. package/assets/js/components/password/password.component.min.js +17 -0
  99. package/assets/js/components/password/password.component.min.js.map +1 -0
  100. package/assets/js/components/rank/rank.component.min.js +1 -1
  101. package/assets/js/components/rankings/rankings.component.min.js +1 -1
  102. package/assets/js/components/record-card/record-card.component.min.js +4 -4
  103. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  104. package/assets/js/components/search/search.component.min.js +1 -1
  105. package/assets/js/components/slider/slider.component.min.js +3 -3
  106. package/assets/js/components/split-button/split-button.component.min.js +1 -1
  107. package/assets/js/components/std-address-lookup/std-address-lookup.component.js +2 -0
  108. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js +18 -8
  109. package/assets/js/components/std-address-lookup/std-address-lookup.component.min.js.map +1 -1
  110. package/assets/js/components/table/table.component.min.js +3 -3
  111. package/assets/js/components/table/table.component.min.js.map +1 -1
  112. package/assets/js/components/table-ajax/table-ajax.component.min.js +4 -4
  113. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  114. package/assets/js/components/table-basic/table-basic.component.min.js +1 -1
  115. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  116. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +1 -1
  117. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  118. package/assets/js/components/table-submit/table-submit.component.min.js +1 -1
  119. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  120. package/assets/js/components/tabs/tabs.component.min.js +2 -2
  121. package/assets/js/components/video-card/video-card.component.min.js +4 -4
  122. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  123. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  124. package/assets/js/modules/applied-filters.js +78 -61
  125. package/assets/js/modules/card.module.js +6 -1
  126. package/assets/js/modules/dialogs.js +6 -2
  127. package/assets/js/modules/password.js +72 -0
  128. package/assets/js/modules/table.js +10 -6
  129. package/assets/js/scripts.bundle.js +2 -3
  130. package/assets/js/scripts.bundle.js.map +1 -1
  131. package/assets/js/scripts.bundle.min.js +2 -2
  132. package/assets/js/scripts.bundle.min.js.map +1 -1
  133. package/assets/js/scripts.js +0 -2
  134. package/assets/sass/_components.scss +2 -0
  135. package/assets/sass/_elements.scss +2 -0
  136. package/assets/sass/components/actionbar.component.scss +1 -0
  137. package/assets/sass/components/address-lookup.component.scss +20 -0
  138. package/assets/sass/components/applied-filters.scss +10 -14
  139. package/assets/sass/components/input-range.component.scss +38 -0
  140. package/assets/sass/components/input.component.scss +102 -0
  141. package/assets/sass/components/modal.component.scss +269 -0
  142. package/assets/sass/components/multi-step-modal.component.scss +255 -0
  143. package/assets/sass/components/multi-step-modal.global.scss +92 -0
  144. package/assets/sass/components/password.component.scss +60 -0
  145. package/assets/sass/components/tabs.config.scss +2 -2
  146. package/assets/sass/elements/badge-tag.scss +0 -1
  147. package/assets/sass/elements/details.scss +12 -7
  148. package/assets/sass/elements/dialog.scss +46 -5
  149. package/assets/sass/elements/forms.scss +41 -177
  150. package/assets/sass/elements/hr.scss +1 -1
  151. package/assets/sass/elements/modal.scss +19 -21
  152. package/assets/sass/elements/prefix.scss +115 -0
  153. package/assets/ts/components/accordion/accordion.component.ts +1 -1
  154. package/assets/ts/components/actionbar/actionbar.component.ts +3 -10
  155. package/assets/ts/components/address-lookup/address-lookup.component.ts +60 -0
  156. package/assets/ts/components/applied-filters/applied-filters.component.ts +0 -2
  157. package/assets/ts/components/filter-card/filter-card.component.ts +27 -0
  158. package/assets/ts/components/input/input.component.ts +168 -0
  159. package/assets/ts/components/input-range/input-range.component.ts +78 -0
  160. package/assets/ts/components/modal/modal.component.ts +188 -0
  161. package/assets/ts/components/multi-step-modal/multi-step-modal.component.ts +304 -0
  162. package/assets/ts/components/password/password.component.ts +118 -0
  163. package/assets/ts/components/std-address-lookup/std-address-lookup.component.ts +2 -1
  164. package/assets/ts/modules/applied-filters.ts +107 -71
  165. package/assets/ts/modules/card.module.ts +9 -4
  166. package/assets/ts/modules/dialogs.ts +6 -2
  167. package/assets/ts/modules/password.ts +82 -0
  168. package/assets/ts/modules/table.ts +13 -6
  169. package/assets/ts/scripts.ts +2 -2
  170. package/dist/components.es.js +641 -959
  171. package/dist/components.umd.js +275 -182
  172. package/package.json +2 -2
  173. package/src/components/Input/Input.vue +19 -363
  174. package/src/components/InputRange/InputRange.vue +22 -0
  175. package/src/components/Modal/Modal.vue +22 -0
  176. package/src/components/MultiStepModal/MultiStepModal.vue +23 -0
  177. package/src/components/{PasswordIndicator/PasswordIndicator.vue → Password/Password.vue} +23 -23
  178. package/assets/js/components/password-indicator/password-indicator.component.js +0 -19
  179. package/assets/js/components/password-indicator/password-indicator.component.min.js +0 -7
  180. package/assets/js/components/password-indicator/password-indicator.component.min.js.map +0 -1
  181. package/assets/js/modules/form.js +0 -125
  182. package/assets/js/modules/inputs.js +0 -151
  183. package/assets/js/modules/password-indicator.js +0 -21
  184. package/assets/ts/components/password-indicator/password-indicator.component.ts +0 -24
  185. package/assets/ts/modules/form.ts +0 -166
  186. package/assets/ts/modules/inputs.ts +0 -181
  187. package/assets/ts/modules/password-indicator.ts +0 -29
@@ -0,0 +1,60 @@
1
+ @use '../func' as *;
2
+ @use '../elements/prefix.scss' as *;
3
+
4
+ $icon-error: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d='M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z' fill='#dc3545'/></svg>");
5
+
6
+ $icon-tick: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d='M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z' fill='#0f9d58' /></svg>");
7
+
8
+ *,
9
+ *::before,
10
+ *::after {
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ .wrapper {
15
+ display: flex;
16
+ margin-top: 0.5rem;
17
+ }
18
+
19
+ :host {
20
+ display: block;
21
+ }
22
+
23
+ ::slotted(input) {
24
+ margin: 0!important;
25
+
26
+ border-start-end-radius: 0!important;
27
+ border-end-end-radius: 0!important;
28
+ }
29
+
30
+ // Password checker
31
+ .invalid-feedback {
32
+ color: var(--colour-danger);
33
+ margin-top: rem(8);
34
+ background-image: escape-svg($icon-error);
35
+ background-repeat: no-repeat;
36
+ background-position: left top 1px;
37
+ background-size: var(--input-fs, #{rem(16)}) var(--input-fs, #{rem(16)});
38
+ padding-left: calc(var(--input-fs, #{rem(16)}) + #{rem(8)});
39
+ //display: none;
40
+ }
41
+
42
+ .pwd-checker {
43
+ display: block;
44
+ background-repeat: no-repeat !important;
45
+ background-position: left center;
46
+ background-size: 1em 1em;
47
+ padding-left: 1.5rem !important;
48
+ margin-top: 0.5rem;
49
+ }
50
+ .pwd-checker.invalid-feedback {
51
+ background-image: escape-svg($icon-error);
52
+ }
53
+
54
+ .pwd-checker:not(.invalid-feedback) {
55
+ background-image: escape-svg($icon-tick) !important;
56
+ }
57
+ label:has(.pwd-checker.invalid-feedback):after {
58
+ display: none !important;
59
+ }
60
+ // #endregion
@@ -142,7 +142,7 @@ iam-tabs.tabs--guided::part(next-button):not(:hover) {
142
142
  height: 3px;
143
143
  width: 100%;
144
144
  transform: translate(-50%, 0) scale(0, 0); // translate pulls this left so it's centered
145
- background: var(--colour-tab-underline);
145
+ background: var(--colour-tab-underline, var(--colour-info));
146
146
  transition: transform 0.4s;
147
147
  }
148
148
 
@@ -155,7 +155,7 @@ iam-tabs.tabs--guided::part(next-button):not(:hover) {
155
155
  }
156
156
 
157
157
  &:not(.disabled) {
158
- &:is([aria-pressed='true'], :active, .current):after {
158
+ &:is([aria-pressed='true'], :active, .current, .active):after {
159
159
  transform: translate(-50%, 0) scale(1, 1);
160
160
  }
161
161
  }
@@ -74,7 +74,6 @@ $darkMode: 'true' !default;
74
74
  }
75
75
  }
76
76
 
77
- .tag.tag--not-set,
78
77
  iam-multiselect:not(:defined) .tag,
79
78
  .tag.tag--toggle {
80
79
  background: var(--colour-canvas);
@@ -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