@iamproperty/components 7.5.0 → 7.5.1--beta2

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 (234) 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/barchart.component.css +1 -1
  8. package/assets/css/components/barchart.component.css.map +1 -1
  9. package/assets/css/components/calendar.component.css +1 -1
  10. package/assets/css/components/calendar.component.css.map +1 -1
  11. package/assets/css/components/card.component.css +1 -1
  12. package/assets/css/components/card.component.css.map +1 -1
  13. package/assets/css/components/carousel.component.css +1 -1
  14. package/assets/css/components/carousel.component.css.map +1 -1
  15. package/assets/css/components/collapsible-side.css +1 -1
  16. package/assets/css/components/collapsible-side.css.map +1 -1
  17. package/assets/css/components/content.component.css +1 -1
  18. package/assets/css/components/content.component.css.map +1 -1
  19. package/assets/css/components/doughnutchart.component.css +1 -1
  20. package/assets/css/components/doughnutchart.component.css.map +1 -1
  21. package/assets/css/components/fileupload.css +1 -1
  22. package/assets/css/components/fileupload.css.map +1 -1
  23. package/assets/css/components/header.css +1 -1
  24. package/assets/css/components/header.css.map +1 -1
  25. package/assets/css/components/inline-edit.css +1 -1
  26. package/assets/css/components/inline-edit.css.map +1 -1
  27. package/assets/css/components/inline-edit.preload.css +1 -1
  28. package/assets/css/components/inline-edit.preload.css.map +1 -1
  29. package/assets/css/components/multiselect.css +1 -1
  30. package/assets/css/components/multiselect.css.map +1 -1
  31. package/assets/css/components/multiselect.preload.css +1 -1
  32. package/assets/css/components/multiselect.preload.css.map +1 -1
  33. package/assets/css/components/nav.component.css +1 -1
  34. package/assets/css/components/nav.component.css.map +1 -1
  35. package/assets/css/components/notification.css +1 -1
  36. package/assets/css/components/notification.css.map +1 -1
  37. package/assets/css/components/pagination.css +1 -1
  38. package/assets/css/components/pagination.css.map +1 -1
  39. package/assets/css/components/rank.component.css +1 -1
  40. package/assets/css/components/rank.component.css.map +1 -1
  41. package/assets/css/components/rankings.component.css +1 -1
  42. package/assets/css/components/rankings.component.css.map +1 -1
  43. package/assets/css/components/rankings.global.css +1 -1
  44. package/assets/css/components/rankings.global.css.map +1 -1
  45. package/assets/css/components/slider.css +1 -1
  46. package/assets/css/components/slider.css.map +1 -1
  47. package/assets/css/components/split-button.component.css +1 -1
  48. package/assets/css/components/split-button.component.css.map +1 -1
  49. package/assets/css/components/table-basic.global.css +1 -1
  50. package/assets/css/components/table-basic.global.css.map +1 -1
  51. package/assets/css/components/table.global.css +1 -1
  52. package/assets/css/components/table.global.css.map +1 -1
  53. package/assets/css/components/tabs.component.css +1 -1
  54. package/assets/css/components/tabs.component.css.map +1 -1
  55. package/assets/css/components/tabs.config.css +1 -1
  56. package/assets/css/components/tabs.config.css.map +1 -1
  57. package/assets/css/core.min.css +1 -1
  58. package/assets/css/core.min.css.map +1 -1
  59. package/assets/css/mobile-core.min.css +1 -1
  60. package/assets/css/mobile-core.min.css.map +1 -1
  61. package/assets/css/mobile.min.css +1 -1
  62. package/assets/css/mobile.min.css.map +1 -1
  63. package/assets/css/style.min.css +1 -1
  64. package/assets/css/style.min.css.map +1 -1
  65. package/assets/js/components/accordion/accordion.component.js +0 -7
  66. package/assets/js/components/accordion/accordion.component.min.js +3 -4
  67. package/assets/js/components/accordion/accordion.component.min.js.map +1 -1
  68. package/assets/js/components/actionbar/actionbar.component.js +8 -9
  69. package/assets/js/components/actionbar/actionbar.component.min.js +13 -5
  70. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  71. package/assets/js/components/address-lookup/address-lookup.component.js +0 -3
  72. package/assets/js/components/address-lookup/address-lookup.component.min.js +4 -4
  73. package/assets/js/components/address-lookup/address-lookup.component.min.js.map +1 -1
  74. package/assets/js/components/advanced-select/advanced-select.component.min.js +1 -1
  75. package/assets/js/components/applied-filters/applied-filters.component.js +2 -5
  76. package/assets/js/components/applied-filters/applied-filters.component.min.js +7 -7
  77. package/assets/js/components/applied-filters/applied-filters.component.min.js.map +1 -1
  78. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  79. package/assets/js/components/bento-grid/bento-grid.component.min.js +1 -1
  80. package/assets/js/components/calendar/calendar.component.min.js +2 -2
  81. package/assets/js/components/card/card.component.min.js +9 -8
  82. package/assets/js/components/card/card.component.min.js.map +1 -1
  83. package/assets/js/components/carousel/carousel.component.min.js +2 -2
  84. package/assets/js/components/collapsible-side/collapsible-side.component.js +0 -5
  85. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +4 -6
  86. package/assets/js/components/collapsible-side/collapsible-side.component.min.js.map +1 -1
  87. package/assets/js/components/content/content.component.min.js +2 -2
  88. package/assets/js/components/darkmode/darkmode.component.min.js +1 -1
  89. package/assets/js/components/doughnutchart/doughnutchart.component.min.js +2 -2
  90. package/assets/js/components/fileupload/fileupload.component.js +1 -5
  91. package/assets/js/components/fileupload/fileupload.component.min.js +5 -6
  92. package/assets/js/components/fileupload/fileupload.component.min.js.map +1 -1
  93. package/assets/js/components/filter-card/filter-card.component.min.js +1 -1
  94. package/assets/js/components/filterlist/filterlist.component.min.js +1 -1
  95. package/assets/js/components/header/header.component.js +0 -5
  96. package/assets/js/components/header/header.component.min.js +4 -6
  97. package/assets/js/components/header/header.component.min.js.map +1 -1
  98. package/assets/js/components/inline-edit/inline-edit.component.js +61 -60
  99. package/assets/js/components/inline-edit/inline-edit.component.min.js +5 -5
  100. package/assets/js/components/inline-edit/inline-edit.component.min.js.map +1 -1
  101. package/assets/js/components/marketing/marketing.component.js +0 -4
  102. package/assets/js/components/marketing/marketing.component.min.js +3 -4
  103. package/assets/js/components/marketing/marketing.component.min.js.map +1 -1
  104. package/assets/js/components/menu/menu.component.min.js +5 -4
  105. package/assets/js/components/menu/menu.component.min.js.map +1 -1
  106. package/assets/js/components/milestone/milestone.component.min.js +1 -1
  107. package/assets/js/components/milestone-group/milestone-group.component.min.js +1 -1
  108. package/assets/js/components/multi-step/multi-step.component.min.js +1 -1
  109. package/assets/js/components/multiselect/multiselect.component.js +88 -11
  110. package/assets/js/components/multiselect/multiselect.component.min.js +5 -5
  111. package/assets/js/components/multiselect/multiselect.component.min.js.map +1 -1
  112. package/assets/js/components/nav/nav.component.js +2 -4
  113. package/assets/js/components/nav/nav.component.min.js +8 -7
  114. package/assets/js/components/nav/nav.component.min.js.map +1 -1
  115. package/assets/js/components/notification/notification.component.js +1 -4
  116. package/assets/js/components/notification/notification.component.min.js +6 -6
  117. package/assets/js/components/notification/notification.component.min.js.map +1 -1
  118. package/assets/js/components/pagination/pagination.component.js +3 -8
  119. package/assets/js/components/pagination/pagination.component.min.js +7 -8
  120. package/assets/js/components/pagination/pagination.component.min.js.map +1 -1
  121. package/assets/js/components/password-indicator/password-indicator.component.js +19 -0
  122. package/assets/js/components/password-indicator/password-indicator.component.min.js +7 -0
  123. package/assets/js/components/password-indicator/password-indicator.component.min.js.map +1 -0
  124. package/assets/js/components/rank/rank.component.js +2 -2
  125. package/assets/js/components/rank/rank.component.min.js +4 -5
  126. package/assets/js/components/rank/rank.component.min.js.map +1 -1
  127. package/assets/js/components/rankings/rankings.component.js +3 -0
  128. package/assets/js/components/rankings/rankings.component.min.js +364 -5
  129. package/assets/js/components/rankings/rankings.component.min.js.map +1 -1
  130. package/assets/js/components/record-card/record-card.component.min.js +1 -1
  131. package/assets/js/components/search/search.component.js +0 -4
  132. package/assets/js/components/search/search.component.min.js +5 -6
  133. package/assets/js/components/search/search.component.min.js.map +1 -1
  134. package/assets/js/components/slider/slider.component.js +0 -4
  135. package/assets/js/components/slider/slider.component.min.js +4 -5
  136. package/assets/js/components/slider/slider.component.min.js.map +1 -1
  137. package/assets/js/components/split-button/split-button.component.min.js +7 -6
  138. package/assets/js/components/split-button/split-button.component.min.js.map +1 -1
  139. package/assets/js/components/table/table.component.js +3 -9
  140. package/assets/js/components/table/table.component.min.js +11 -4
  141. package/assets/js/components/table/table.component.min.js.map +1 -1
  142. package/assets/js/components/table-ajax/table-ajax.component.js +5 -11
  143. package/assets/js/components/table-ajax/table-ajax.component.min.js +11 -4
  144. package/assets/js/components/table-ajax/table-ajax.component.min.js.map +1 -1
  145. package/assets/js/components/table-basic/table-basic.component.min.js +4 -4
  146. package/assets/js/components/table-basic/table-basic.component.min.js.map +1 -1
  147. package/assets/js/components/table-no-submit/table-no-submit.component.js +18 -39
  148. package/assets/js/components/table-no-submit/table-no-submit.component.min.js +11 -4
  149. package/assets/js/components/table-no-submit/table-no-submit.component.min.js.map +1 -1
  150. package/assets/js/components/table-submit/table-submit.component.js +3 -9
  151. package/assets/js/components/table-submit/table-submit.component.min.js +11 -4
  152. package/assets/js/components/table-submit/table-submit.component.min.js.map +1 -1
  153. package/assets/js/components/tabs/tabs.component.js +1 -4
  154. package/assets/js/components/tabs/tabs.component.min.js +5 -5
  155. package/assets/js/components/tabs/tabs.component.min.js.map +1 -1
  156. package/assets/js/components/video-card/video-card.component.min.js +1 -1
  157. package/assets/js/components/word-count/word-count.component.min.js +1 -1
  158. package/assets/js/modules/inputs.js +0 -8
  159. package/assets/js/modules/password-indicator.js +21 -0
  160. package/assets/js/modules/table.js +28 -2
  161. package/assets/js/scripts.bundle.js +3 -3
  162. package/assets/js/scripts.bundle.js.map +1 -1
  163. package/assets/js/scripts.bundle.min.js +2 -2
  164. package/assets/js/scripts.bundle.min.js.map +1 -1
  165. package/assets/js/scripts.js +1 -0
  166. package/assets/sass/_components.scss +2 -1
  167. package/assets/sass/_elements.scss +5 -0
  168. package/assets/sass/_functions/utility-mixins.scss +21 -0
  169. package/assets/sass/_functions/variables.scss +14 -0
  170. package/assets/sass/_grid.scss +16 -0
  171. package/assets/sass/components/actionbar.component.scss +16 -1
  172. package/assets/sass/components/applied-filters.scss +1 -0
  173. package/assets/sass/components/collapsible-side.scss +2 -0
  174. package/assets/sass/components/fileupload.scss +18 -0
  175. package/assets/sass/components/header.scss +9 -0
  176. package/assets/sass/components/inline-edit.preload.scss +68 -2
  177. package/assets/sass/components/inline-edit.scss +7 -0
  178. package/assets/sass/components/multiselect.preload.scss +10 -0
  179. package/assets/sass/components/multiselect.scss +62 -4
  180. package/assets/sass/components/nav.component.scss +15 -0
  181. package/assets/sass/components/notification.scss +6 -4
  182. package/assets/sass/components/pagination.scss +6 -0
  183. package/assets/sass/components/slider.scss +1 -0
  184. package/assets/sass/components/table-basic.global.scss +1 -1
  185. package/assets/sass/components/table.global.scss +9 -4
  186. package/assets/sass/components/tabs.component.scss +4 -0
  187. package/assets/sass/components/tabs.config.scss +231 -4
  188. package/assets/sass/elements/admin-panel.scss +37 -9
  189. package/assets/sass/elements/buttons--global.scss +3 -3
  190. package/assets/sass/elements/forms.scss +7 -0
  191. package/assets/sass/elements/hr.scss +50 -0
  192. package/assets/sass/elements/icons.scss +5 -0
  193. package/assets/sass/elements/links.scss +2 -2
  194. package/assets/sass/elements/modal.scss +1 -5
  195. package/assets/sass/elements/type.scss +6 -9
  196. package/assets/sass/foundations/reboot.scss +6 -17
  197. package/assets/sass/foundations/root.scss +2 -0
  198. package/assets/sass/templates/form.scss +5 -0
  199. package/assets/ts/components/accordion/accordion.component.ts +0 -8
  200. package/assets/ts/components/actionbar/actionbar.component.ts +19 -10
  201. package/assets/ts/components/address-lookup/address-lookup.component.ts +1 -3
  202. package/assets/ts/components/applied-filters/applied-filters.component.ts +2 -5
  203. package/assets/ts/components/collapsible-side/collapsible-side.component.ts +1 -5
  204. package/assets/ts/components/fileupload/fileupload.component.ts +2 -5
  205. package/assets/ts/components/header/header.component.ts +1 -5
  206. package/assets/ts/components/inline-edit/inline-edit.component.ts +74 -75
  207. package/assets/ts/components/marketing/marketing.component.ts +0 -4
  208. package/assets/ts/components/multiselect/multiselect.component.ts +97 -12
  209. package/assets/ts/components/nav/nav.component.ts +2 -4
  210. package/assets/ts/components/notification/notification.component.ts +2 -4
  211. package/assets/ts/components/pagination/pagination.component.ts +6 -8
  212. package/assets/ts/components/password-indicator/password-indicator.component.ts +24 -0
  213. package/assets/ts/components/rank/rank.component.ts +2 -2
  214. package/assets/ts/components/rankings/rankings.component.ts +4 -0
  215. package/assets/ts/components/search/search.component.ts +0 -4
  216. package/assets/ts/components/slider/slider.component.ts +1 -4
  217. package/assets/ts/components/table/table.component.ts +2 -9
  218. package/assets/ts/components/table-ajax/table-ajax.component.ts +5 -13
  219. package/assets/ts/components/table-no-submit/table-no-submit.component.ts +12 -30
  220. package/assets/ts/components/table-submit/table-submit.component.ts +2 -9
  221. package/assets/ts/components/tabs/tabs.component.ts +2 -4
  222. package/assets/ts/modules/inputs.ts +1 -7
  223. package/assets/ts/modules/password-indicator.ts +29 -0
  224. package/assets/ts/modules/table.ts +41 -3
  225. package/assets/ts/scripts.ts +2 -0
  226. package/dist/components.es.js +47 -49
  227. package/dist/components.umd.js +595 -207
  228. package/package.json +3 -3
  229. package/src/components/PasswordIndicator/PasswordIndicator.vue +23 -0
  230. package/assets/css/components/tabs.css +0 -1
  231. package/assets/css/components/tabs.css.map +0 -1
  232. package/assets/sass/components/tabs.scss +0 -254
  233. package/assets/ts/components/accordion/README.md +0 -31
  234. package/assets/ts/components/fileupload/README.md +0 -28
@@ -29,7 +29,7 @@ $darkMode: 'true' !default;
29
29
  input,
30
30
  textarea,
31
31
  select {
32
- border: none;
32
+ border-color: transparent;
33
33
  background: none;
34
34
  margin-left: -1rem;
35
35
  width: calc(100% + 1rem);
@@ -55,16 +55,82 @@ $darkMode: 'true' !default;
55
55
 
56
56
  // Multi select
57
57
 
58
- iam-inline-edit:has(iam-multiselect label[slot='checked']) {
58
+ iam-inline-edit:has(iam-multiselect) {
59
59
  --display-btns: none;
60
+ --display-status: none;
61
+ }
62
+
63
+ *:has(> iam-inline-edit) {
64
+ position: relative;
65
+
66
+ &[data-value]:hover:before {
67
+
68
+ opacity: 1;
69
+ z-index: 1;
70
+ position: relative;
71
+ }
72
+
73
+ &[data-value]:before{
74
+ content: attr(data-value);
75
+ display: block;
76
+ padding-inline: 1rem;
77
+ opacity: 0;
78
+ white-space: nowrap;
79
+ font-size: rem(16);
80
+ line-height: rem(26);
81
+ pointer-events: none;
82
+ color: var(--colour-heading);
83
+ }
84
+ }
85
+
86
+ td:has(> iam-inline-edit) {
87
+
88
+ height: 3.5rem;
89
+ }
90
+
91
+ iam-inline-edit:has(iam-multiselect) {
92
+ --search-display: none;
93
+ --input-ms: 0;
94
+
95
+ position: absolute;
96
+ inset: 0.1rem 2rem 0.75rem 0;
97
+ width: 100%;
98
+ height: 100%;
99
+
100
+ &:focus-within {
101
+
102
+ position: absolute;
103
+ }
104
+ }
105
+
106
+ td iam-inline-edit:has(iam-multiselect) {
107
+ width: calc(100% - 2rem);
60
108
  }
61
109
 
110
+
62
111
  iam-inline-edit:not(:focus-within) iam-multiselect:has(label[slot='checked']) {
63
112
  --display-button: none;
64
113
  }
65
114
 
115
+ *:hover > iam-inline-edit iam-multiselect,
116
+ iam-inline-edit iam-multiselect.hover,
117
+ iam-inline-edit:focus-within iam-multiselect {
118
+ --search-display: inline-block;
119
+ }
120
+
66
121
  iam-inline-edit iam-multiselect .tag[slot='checked'] {
67
122
  outline: none;
123
+ pointer-events: none;
124
+ }
125
+
126
+ iam-inline-edit iam-multiselect.hover .tag[slot='checked'],
127
+ iam-inline-edit iam-multiselect:hover .tag[slot='checked'],
128
+ iam-inline-edit iam-multiselect:focus-within .tag[slot='checked'] {
129
+ display: none;
130
+ }
131
+
132
+ span iam-inline-edit:has(iam-multiselect) {
133
+ margin-top: -0.6rem;
68
134
  }
69
135
 
70
136
  // Error message
@@ -1,7 +1,14 @@
1
1
  @use '../_func' as *;
2
+ @use '../elements/buttons--action.scss' as *;
2
3
 
3
4
  @include display();
4
5
 
6
+ *,
7
+ *::before,
8
+ *::after {
9
+ box-sizing: border-box;
10
+ }
11
+
5
12
  :host {
6
13
  max-width: var(--input-max-width, 50rem);
7
14
  display: block;
@@ -11,6 +11,11 @@ $darkMode: 'true' !default;
11
11
  margin-inline: rem(3);
12
12
  }
13
13
 
14
+ iam-multiselect .tag[slot='checked']:first-child:last-child {
15
+
16
+ margin-inline: 0;
17
+ }
18
+
14
19
  iam-multiselect .tag:not([slot='checked']) {
15
20
  display: block;
16
21
  width: 100%;
@@ -44,4 +49,9 @@ $darkMode: 'true' !default;
44
49
  color: var(--colour-heading);
45
50
  }
46
51
  }
52
+
53
+ iam-multiselect[data-single] .tag[slot='checked'],
54
+ iam-multiselect[data-single] .tag[slot='checked'] * {
55
+ pointer-events: none!important;
56
+ }
47
57
  }
@@ -1,6 +1,27 @@
1
1
  @use '../_func' as *;
2
2
 
3
+
4
+ @use '../elements/forms.scss' as *;
5
+ @use '../elements/admin-panel.scss' as *;
6
+
7
+
8
+ *, *::before, *::after {
9
+ box-sizing: border-box;
10
+ }
11
+
3
12
  @include visually-hidden();
13
+ @include display();
14
+
15
+ *,
16
+ *::before,
17
+ *::after {
18
+ box-sizing: border-box;
19
+ }
20
+
21
+ :host {
22
+
23
+ margin-bottom: rem(24);
24
+ }
4
25
 
5
26
  .outer {
6
27
  position: relative;
@@ -13,8 +34,11 @@ label {
13
34
  padding-bottom: 0.5rem;
14
35
  }
15
36
 
37
+ .inner-label:empty {
38
+ display: none;
39
+ }
40
+
16
41
  .wrapper {
17
- margin-bottom: rem(24);
18
42
  max-width: var(--input-max-width, 50rem);
19
43
 
20
44
  &:after {
@@ -47,6 +71,13 @@ label {
47
71
  }
48
72
  }
49
73
 
74
+ .wrapper {
75
+
76
+ input {
77
+
78
+ margin-top: unset;
79
+ }
80
+ }
50
81
  .wrapper.filled {
51
82
  display: flex;
52
83
  flex-direction: row;
@@ -71,7 +102,7 @@ label {
71
102
  all: unset;
72
103
  font-size: rem(16);
73
104
  line-height: rem(26);
74
- display: inline-block;
105
+ display: var(--search-display,inline-block);
75
106
  width: 0;
76
107
  flex-grow: 1;
77
108
  padding: 0 rem(8) 0 0 !important;
@@ -168,9 +199,9 @@ button {
168
199
 
169
200
  .wrapper:not(.filled):not(:focus-within):not([data-mousedown]) {
170
201
  input {
171
- border: none;
202
+ border-color: transparent;
172
203
  background: none;
173
- margin-left: -1rem;
204
+ margin-left: var(--input-ms,-1rem);
174
205
  width: calc(100% + 1rem);
175
206
  max-width: calc(100% + 1rem);
176
207
  box-shadow: none;
@@ -186,3 +217,30 @@ button {
186
217
  padding-left: 0;
187
218
  }
188
219
  }
220
+
221
+ :host([data-single]){
222
+
223
+ .wrapper.filled{
224
+
225
+ slot[name='checked'] {
226
+ pointer-events: none;
227
+ }
228
+ }
229
+
230
+ #clear {
231
+ display: none;
232
+ }
233
+ ::slotted([slot='checked'])::after {
234
+ display: none;
235
+ }
236
+ }
237
+ :host-context(td){
238
+
239
+ input,
240
+ textarea,
241
+ select {
242
+ margin-left: 0!important;
243
+ width: 100%!important;
244
+ max-width: 100%!important;
245
+ }
246
+ }
@@ -4,10 +4,25 @@
4
4
 
5
5
  @use '../bs_grid' as *;
6
6
 
7
+ @use '../elements/forms.scss' as *;
8
+ @use '../elements/buttons.scss' as *;
9
+
10
+ @use '../elements/brand.scss' as *;
11
+
12
+ @use '../elements/dialog.scss' as *;
13
+ @use '../elements/modal.scss' as *;
14
+ @use '../elements/container.scss' as *;
15
+
16
+
7
17
  @include margins();
18
+ @include paddings();
8
19
  @include sizes();
9
20
  @include display();
10
21
 
22
+ *, *::before, *::after {
23
+ box-sizing: border-box;
24
+ }
25
+
11
26
  $layers: 'true' !default;
12
27
  $mobileOnly: 'false' !default;
13
28
  $darkMode: 'true' !default;
@@ -20,10 +20,7 @@ $darkMode: 'true' !default;
20
20
  background: var(--colour-canvas-2);
21
21
  }
22
22
 
23
- &::slotted(strong) {
24
- color: green;
25
- }
26
- &::slotted(i),
23
+ ::slotted(i),
27
24
  i {
28
25
  color: var(--colour, currentColor);
29
26
  }
@@ -76,6 +73,11 @@ $darkMode: 'true' !default;
76
73
  }
77
74
  }
78
75
 
76
+ :host(.bg-danger) .notification{
77
+
78
+ color: var(--colour-white);
79
+ }
80
+
79
81
  // Alerts
80
82
  :host([data-type='alert']),
81
83
  .iam-notification[data-type='alert'] {
@@ -1,4 +1,6 @@
1
1
  @use '../_func' as *;
2
+ @use '../elements/forms.scss' as *;
3
+ @use '../elements/buttons.scss' as *;
2
4
 
3
5
  @include margins();
4
6
 
@@ -7,6 +9,10 @@
7
9
  display: block;
8
10
  }
9
11
 
12
+ :host(.d-none){
13
+ display: none;
14
+ }
15
+
10
16
  .pagination {
11
17
  display: block;
12
18
 
@@ -1,6 +1,7 @@
1
1
  @use '../_func' as *;
2
2
 
3
3
  @use '../bs_grid' as *;
4
+ @use '../elements/forms.scss' as *;
4
5
 
5
6
  .row {
6
7
  align-items: center;
@@ -2,7 +2,7 @@
2
2
 
3
3
  $darkMode: 'true' !default;
4
4
 
5
- $selector: 'iam-table, iam-table-basic, iam-table-no-submit, iam-table-submit';
5
+ $selector: 'iam-table, iam-table-basic, iam-table-no-submit, iam-table-submit, iam-table-ajax';
6
6
 
7
7
  // #region Basic table stuff
8
8
 
@@ -1,12 +1,15 @@
1
1
  @use '../_func.scss' as *;
2
2
 
3
+
3
4
  $darkMode: 'true' !default;
4
5
 
5
6
  @use './table-basic.global.scss' with (
6
7
  $darkMode: $darkMode
7
8
  );
8
9
 
9
- $selector: 'iam-table, iam-table-basic, iam-table-no-submit, iam-table-submit';
10
+ $selector: 'iam-table, iam-table-basic, iam-table-no-submit, iam-table-submit, iam-table-ajax';
11
+
12
+ @include display();
10
13
 
11
14
  // #region Tables are only stacked on mobile
12
15
  :is(#{$selector}):not(.table--fullwidth).table--cta {
@@ -16,6 +19,8 @@ $selector: 'iam-table, iam-table-basic, iam-table-no-submit, iam-table-submit';
16
19
  }
17
20
  }
18
21
  }
22
+
23
+
19
24
  // #endregion
20
25
 
21
26
  // #region As part of the iam-table component
@@ -115,7 +120,7 @@ $selector: 'iam-table, iam-table-basic, iam-table-no-submit, iam-table-submit';
115
120
  }
116
121
  }
117
122
 
118
- &:has([type='checkbox']:checked) tr:has([type='checkbox']) {
123
+ &:has([type='checkbox']:checked) tr:has([type='checkbox']):not(:has(.tag)) {
119
124
  [type='checkbox'] {
120
125
  width: 100vw;
121
126
  height: 100%;
@@ -135,10 +140,10 @@ $selector: 'iam-table, iam-table-basic, iam-table-no-submit, iam-table-submit';
135
140
  }
136
141
  }
137
142
 
138
- tr:has([type='checkbox']:hover, [type='checkbox']:focus) {
143
+ tr:has([type='checkbox']:hover, [type='checkbox']:focus):not(:has(.tag)) {
139
144
  --row-bg: #eeeeee;
140
145
  }
141
- tr:has([type='checkbox']:hover:checked, [type='checkbox']:focus:checked, [type='checkbox']:checked) {
146
+ tr:has([type='checkbox']:hover:checked, [type='checkbox']:focus:checked, [type='checkbox']:checked):not(:has(.tag)) {
142
147
  --row-bg: #e0e0e0;
143
148
  }
144
149
  }
@@ -1,4 +1,8 @@
1
1
  @use '../_func' as *;
2
+ @use '../elements/links.scss';
3
+ @use '../elements/buttons.scss';
4
+ @use '../components/tabs.config.scss';
5
+
2
6
 
3
7
  :host {
4
8
  background: transparent;
@@ -4,24 +4,251 @@ $layers: 'true' !default;
4
4
  $mobileOnly: 'false' !default;
5
5
  $darkMode: 'true' !default;
6
6
 
7
- @include layer('components', $layers) {
7
+ *:not(main):has(> iam-tabs) {
8
+ container-type: inline-size;
9
+ }
10
+
11
+ iam-tabs {
12
+ --colour-tab-underline: var(--colour-info);
13
+
14
+ details:not([open]) {
15
+ padding-bottom: 0;
16
+ }
17
+
8
18
  .tabs__dropdown {
9
19
  display: none;
20
+ width: fit-content;
10
21
  }
11
22
 
12
- iam-tabs:is(.tabs--dropdown) {
23
+ &:is(.tabs--dropdown) {
13
24
  .tabs__dropdown {
14
25
  display: block;
15
26
  }
27
+
28
+ &::part(wrapper) {
29
+ display: none;
30
+ }
16
31
  }
17
32
 
18
33
  @container (min-width: 62em) {
19
- iam-tabs:is(.tabs--dropdown-md) {
34
+ &:is(.tabs--dropdown) {
20
35
  .tabs__dropdown {
36
+ display: none;
37
+ }
38
+
39
+ &::part(wrapper) {
21
40
  display: block;
22
41
  }
23
42
  }
24
43
  }
44
+ }
45
+
46
+ iam-tabs::part(next-button) {
47
+ display: none;
48
+ }
49
+
50
+ iam-tabs.tabs--guided::part(next-button) {
51
+ @container (width > 62em) {
52
+ position: absolute;
53
+ top: rem(150);
54
+ right: 0;
55
+ display: block;
56
+ }
57
+ }
58
+
59
+ iam-tabs.tabs--guided::part(next-button):not(:hover) {
60
+ background: var(--colour-success);
61
+ }
62
+
63
+ .tabs:not(.admin-panel) {
64
+ position: relative;
65
+
66
+ .tabs__links__wrapper {
67
+ position: relative;
68
+ margin: 0 auto 2rem;
69
+
70
+ &:after {
71
+ content: '';
72
+ left: 50%;
73
+ position: relative;
74
+ height: 1px;
75
+ width: 100vw;
76
+ background-color: var(--colour-border);
77
+ transform: translate(-50%, 0);
78
+ display: block;
79
+ clear: both;
80
+ }
81
+ }
82
+ }
83
+
84
+ .tabs.admin-panel {
85
+ .tabs__links__wrapper {
86
+ &:after {
87
+ display: none;
88
+ }
89
+ }
90
+ }
91
+
92
+ .tabs:not(.admin-panel) .tabs__links {
93
+ -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%);
94
+ mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0) 100%);
95
+ }
96
+
97
+ .tabs__links {
98
+ scroll-snap-type: x mandatory;
99
+ padding-bottom: 3px;
100
+ position: relative;
101
+ display: flex;
102
+ flex-wrap: nowrap;
103
+ width: auto;
104
+ margin: 0 -1.5rem;
105
+ overflow-y: clip;
106
+ overflow-x: auto;
107
+
108
+ &::-webkit-scrollbar {
109
+ display: none;
110
+ }
111
+
112
+ .link {
113
+ white-space: nowrap;
114
+ scroll-snap-align: start;
115
+ scroll-margin-left: var(--container-padding);
116
+ }
117
+
118
+ .link:not(.text-decoration-none):not(.btn) {
119
+ --is-current: 0;
120
+ font-weight: bold;
121
+ font-family: var(--font-heading);
122
+ font-size: rem(18);
123
+ cursor: pointer;
124
+ margin: 0;
125
+ padding: 1.5rem 1.5rem 0.5rem 1.5rem;
126
+ display: inline-block;
127
+
128
+ &.disabled {
129
+ cursor: not-allowed;
130
+ opacity: 0.4;
131
+ }
132
+
133
+ &:last-child {
134
+ margin-inline-end: 0;
135
+ }
136
+
137
+ &:after {
138
+ position: absolute;
139
+ content: '';
140
+ bottom: 0;
141
+ left: 50%; // half way across
142
+ height: 3px;
143
+ width: 100%;
144
+ transform: translate(-50%, 0) scale(0, 0); // translate pulls this left so it's centered
145
+ background: var(--colour-tab-underline);
146
+ transition: transform 0.4s;
147
+ }
148
+
149
+ &:not(.disabled) {
150
+ &:hover:after,
151
+ &:focus:after,
152
+ &.focus:after {
153
+ transform: translate(-50%, 0) scale(0.6, 1);
154
+ }
155
+ }
156
+
157
+ &:not(.disabled) {
158
+ &:is([aria-pressed='true'], :active, .current):after {
159
+ transform: translate(-50%, 0) scale(1, 1);
160
+ }
161
+ }
162
+
163
+ &:is([aria-pressed='true'], .current) {
164
+ pointer-events: none;
165
+ outline: var(--contrast-outline-width, 0px) solid var(--colour-primary-theme) !important;
166
+ }
167
+ }
168
+ }
169
+
170
+ @media (min-width: 576px) {
171
+ .tabs__links {
172
+ .link:not(.text-decoration-none):not(.btn) {
173
+ padding: 2rem 2rem 0.5rem 2rem;
174
+ }
175
+ }
176
+
177
+ .tabs__links__wrapper {
178
+ margin: 0 auto 2.5rem;
179
+ }
180
+ }
181
+
182
+ // #region admin-panel links
183
+ .admin-panel :is(.admin-panel__links, .tabs__links) {
184
+ padding: 0;
185
+ margin: calc(var(--padding-top) * -1) calc(var(--padding-x) * -1) var(--padding-top) calc(var(--padding-x) * -1);
25
186
 
26
- // #endregion
187
+ border-top-left-radius: rem(8);
188
+ border-top-right-radius: rem(8);
189
+ display: flex;
190
+ flex-direction: column;
191
+ border-bottom: 1px solid var(--colour-border);
192
+ overflow: hidden;
193
+ outline: var(--contrast-outline-width, 0px) solid var(--colour-primary);
194
+
195
+ &:after {
196
+ display: none;
197
+ }
198
+
199
+ @include media-breakpoint-up(sm, $mobileOnly) {
200
+ flex-direction: row;
201
+ }
202
+
203
+ .link:not(.text-decoration-none):not(.btn) {
204
+ margin: 0;
205
+ //margin-left: calc(var(--wrapper-padding) * -1);
206
+ padding: #{rem(16)} var(--padding-x);
207
+ width: 100%;
208
+ position: relative;
209
+ text-align: left;
210
+ flex-grow: 1;
211
+ --gradient-direction: -90deg;
212
+ background-color: var(--colour-success);
213
+
214
+ &:not([class*='bg-']) {
215
+ background-image: linear-gradient(var(--gradient-direction), var(--colour-info) 0, transparent 100%);
216
+ }
217
+
218
+ &:is(.current, [aria-pressed='true']) {
219
+ color: var(--colour-primary-theme);
220
+ }
221
+
222
+ &:not(.current, [aria-pressed='true']) {
223
+ background: var(--colour-canvas-2) !important;
224
+ }
225
+
226
+ &:after {
227
+ display: none;
228
+ }
229
+
230
+ @include media-breakpoint-up(sm, $mobileOnly) {
231
+ margin: 0;
232
+
233
+ &:not(:first-child) {
234
+ border-left: 1px solid var(--colour-border) !important;
235
+ }
236
+ }
237
+ }
238
+
239
+ .link:is(.current, [aria-pressed='true']) {
240
+ pointer-events: none;
241
+ }
242
+ }
243
+
244
+ // #endregion
245
+ @include media-breakpoint-up(sm, $mobileOnly) {
246
+ :host(.tabs--inline) .tabs__links {
247
+ margin: 0;
248
+ justify-content: center;
249
+ }
250
+
251
+ :host(.tabs--inline) .tabs__links__wrapper:after {
252
+ width: 100%;
253
+ }
27
254
  }