@itwin/itwinui-css 0.63.1 → 1.0.0-dev.2

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 (244) hide show
  1. package/README.md +1 -4
  2. package/css/alert.css +291 -173
  3. package/css/all.css +4355 -6315
  4. package/css/anchor.css +3 -7
  5. package/css/avatar.css +226 -0
  6. package/css/backdrop.css +6 -4
  7. package/css/badge.css +8 -8
  8. package/css/blockquote.css +6 -9
  9. package/css/breadcrumbs.css +94 -156
  10. package/css/button.css +258 -365
  11. package/css/carousel.css +20 -26
  12. package/css/checkbox.css +152 -0
  13. package/css/code.css +14 -23
  14. package/css/color-picker.css +36 -77
  15. package/css/date-picker.css +59 -147
  16. package/css/dialog.css +25 -29
  17. package/css/expandable-block.css +36 -80
  18. package/css/fieldset.css +7 -12
  19. package/css/file-upload.css +15 -44
  20. package/css/footer.css +11 -19
  21. package/css/global.css +49 -671
  22. package/css/header.css +324 -408
  23. package/css/information-panel.css +39 -47
  24. package/css/input.css +170 -0
  25. package/css/keyboard.css +6 -10
  26. package/css/location-marker.css +32 -29
  27. package/css/menu.css +41 -43
  28. package/css/non-ideal-state.css +12 -12
  29. package/css/progress-indicator.css +37 -127
  30. package/css/radio-tile.css +70 -88
  31. package/css/radio.css +159 -0
  32. package/css/select.css +239 -0
  33. package/css/side-navigation.css +33 -57
  34. package/css/skip-to-content.css +11 -14
  35. package/css/slider.css +35 -67
  36. package/css/stepper.css +141 -0
  37. package/css/surface.css +2 -3
  38. package/css/table.css +362 -431
  39. package/css/tabs.css +58 -93
  40. package/css/tag.css +27 -46
  41. package/css/text.css +24 -26
  42. package/css/tile.css +200 -293
  43. package/css/time-picker.css +16 -26
  44. package/css/{toast-notification.css → toast.css} +50 -90
  45. package/css/toggle-switch.css +33 -80
  46. package/css/tooltip.css +6 -9
  47. package/css/tree.css +25 -49
  48. package/css/utils.css +683 -0
  49. package/css/workflow-diagram.css +67 -0
  50. package/package.json +7 -10
  51. package/css/icon.css +0 -177
  52. package/css/inputs.css +0 -1339
  53. package/css/notification-marker.css +0 -293
  54. package/css/popover.css +0 -14
  55. package/css/reset-global-styles.css +0 -50
  56. package/css/user-icon.css +0 -246
  57. package/css/wizard.css +0 -190
  58. package/scss/alert/alert.scss +0 -83
  59. package/scss/alert/classes.scss +0 -13
  60. package/scss/alert/index.scss +0 -3
  61. package/scss/anchor/anchor.scss +0 -3
  62. package/scss/anchor/classes.scss +0 -11
  63. package/scss/anchor/index.scss +0 -3
  64. package/scss/backdrop/backdrop.scss +0 -27
  65. package/scss/backdrop/classes.scss +0 -7
  66. package/scss/backdrop/index.scss +0 -3
  67. package/scss/badge/badge.scss +0 -32
  68. package/scss/badge/classes.scss +0 -7
  69. package/scss/badge/index.scss +0 -3
  70. package/scss/blockquote/blockquote.scss +0 -31
  71. package/scss/blockquote/classes.scss +0 -7
  72. package/scss/blockquote/index.scss +0 -3
  73. package/scss/breadcrumbs/breadcrumbs.scss +0 -124
  74. package/scss/breadcrumbs/classes.scss +0 -31
  75. package/scss/breadcrumbs/index.scss +0 -3
  76. package/scss/button/borderless.scss +0 -48
  77. package/scss/button/button-group.scss +0 -110
  78. package/scss/button/button-icon.scss +0 -12
  79. package/scss/button/button.scss +0 -97
  80. package/scss/button/classes.scss +0 -70
  81. package/scss/button/cta.scss +0 -31
  82. package/scss/button/default.scss +0 -59
  83. package/scss/button/disabled.scss +0 -13
  84. package/scss/button/high-visibility.scss +0 -31
  85. package/scss/button/idea.scss +0 -10
  86. package/scss/button/index.scss +0 -12
  87. package/scss/button/split-menu.scss +0 -66
  88. package/scss/carousel/carousel.scss +0 -124
  89. package/scss/carousel/classes.scss +0 -15
  90. package/scss/carousel/index.scss +0 -3
  91. package/scss/classes.scss +0 -48
  92. package/scss/code/classes.scss +0 -11
  93. package/scss/code/code.scss +0 -18
  94. package/scss/code/codeblock.scss +0 -74
  95. package/scss/code/index.scss +0 -4
  96. package/scss/color-picker/classes.scss +0 -43
  97. package/scss/color-picker/color-picker.scss +0 -274
  98. package/scss/color-picker/index.scss +0 -3
  99. package/scss/date-picker/classes.scss +0 -47
  100. package/scss/date-picker/date-picker.scss +0 -280
  101. package/scss/date-picker/index.scss +0 -3
  102. package/scss/dialog/classes.scss +0 -48
  103. package/scss/dialog/dialog.scss +0 -185
  104. package/scss/dialog/index.scss +0 -3
  105. package/scss/expandable-block/block.scss +0 -193
  106. package/scss/expandable-block/classes.scss +0 -7
  107. package/scss/expandable-block/index.scss +0 -3
  108. package/scss/fieldset/classes.scss +0 -7
  109. package/scss/fieldset/fieldset.scss +0 -35
  110. package/scss/fieldset/index.scss +0 -3
  111. package/scss/file-upload/classes.scss +0 -7
  112. package/scss/file-upload/file-upload.scss +0 -90
  113. package/scss/file-upload/index.scss +0 -3
  114. package/scss/footer/classes.scss +0 -23
  115. package/scss/footer/footer.scss +0 -62
  116. package/scss/footer/index.scss +0 -3
  117. package/scss/header/classes.scss +0 -11
  118. package/scss/header/header.scss +0 -443
  119. package/scss/header/index.scss +0 -3
  120. package/scss/icon/classes.scss +0 -27
  121. package/scss/icon/index.scss +0 -4
  122. package/scss/icon/mixins.scss +0 -78
  123. package/scss/icon/variables.scss +0 -14
  124. package/scss/index.scss +0 -46
  125. package/scss/information-panel/classes.scss +0 -27
  126. package/scss/information-panel/index.scss +0 -3
  127. package/scss/information-panel/information-panel.scss +0 -233
  128. package/scss/inputs/checkbox-radio.scss +0 -73
  129. package/scss/inputs/checkbox.scss +0 -106
  130. package/scss/inputs/classes.scss +0 -87
  131. package/scss/inputs/index.scss +0 -10
  132. package/scss/inputs/input-with-icon.scss +0 -36
  133. package/scss/inputs/input.scss +0 -80
  134. package/scss/inputs/labeled-inputs.scss +0 -382
  135. package/scss/inputs/radio.scss +0 -18
  136. package/scss/inputs/select.scss +0 -132
  137. package/scss/inputs/textarea.scss +0 -14
  138. package/scss/keyboard/classes.scss +0 -7
  139. package/scss/keyboard/index.scss +0 -3
  140. package/scss/keyboard/keyboard.scss +0 -33
  141. package/scss/location-marker/classes.scss +0 -15
  142. package/scss/location-marker/data-rich.scss +0 -58
  143. package/scss/location-marker/default.scss +0 -21
  144. package/scss/location-marker/index.scss +0 -6
  145. package/scss/location-marker/location-marker.scss +0 -13
  146. package/scss/location-marker/me.scss +0 -36
  147. package/scss/menu/classes.scss +0 -21
  148. package/scss/menu/index.scss +0 -3
  149. package/scss/menu/menu.scss +0 -205
  150. package/scss/non-ideal-state/classes.scss +0 -7
  151. package/scss/non-ideal-state/index.scss +0 -3
  152. package/scss/non-ideal-state/non-ideal-state.scss +0 -55
  153. package/scss/notification-marker/classes.scss +0 -9
  154. package/scss/notification-marker/index.scss +0 -3
  155. package/scss/notification-marker/notification-marker.scss +0 -63
  156. package/scss/popover/classes.scss +0 -7
  157. package/scss/popover/index.scss +0 -3
  158. package/scss/popover/popover.scss +0 -22
  159. package/scss/progress-indicator/classes.scss +0 -35
  160. package/scss/progress-indicator/index.scss +0 -5
  161. package/scss/progress-indicator/linear.scss +0 -126
  162. package/scss/progress-indicator/overlay.scss +0 -57
  163. package/scss/progress-indicator/radial.scss +0 -243
  164. package/scss/radio-tile/classes.scss +0 -31
  165. package/scss/radio-tile/index.scss +0 -3
  166. package/scss/radio-tile/radio-tile.scss +0 -209
  167. package/scss/reset-global-styles.scss +0 -33
  168. package/scss/side-navigation/classes.scss +0 -15
  169. package/scss/side-navigation/index.scss +0 -3
  170. package/scss/side-navigation/side-navigation.scss +0 -210
  171. package/scss/skip-to-content/classes.scss +0 -7
  172. package/scss/skip-to-content/index.scss +0 -3
  173. package/scss/skip-to-content/skip-to-content.scss +0 -41
  174. package/scss/slider/classes.scss +0 -40
  175. package/scss/slider/index.scss +0 -3
  176. package/scss/slider/slider.scss +0 -256
  177. package/scss/style/anchor.scss +0 -82
  178. package/scss/style/baseline.scss +0 -4
  179. package/scss/style/color.scss +0 -39
  180. package/scss/style/elevation.scss +0 -11
  181. package/scss/style/global.scss +0 -70
  182. package/scss/style/index.scss +0 -11
  183. package/scss/style/mixins.scss +0 -188
  184. package/scss/style/ripple.scss +0 -18
  185. package/scss/style/space.scss +0 -11
  186. package/scss/style/speed.scss +0 -8
  187. package/scss/style/theme.scss +0 -482
  188. package/scss/style/typography.scss +0 -54
  189. package/scss/style/variables.scss +0 -21
  190. package/scss/surface/classes.scss +0 -7
  191. package/scss/surface/index.scss +0 -3
  192. package/scss/surface/surface.scss +0 -18
  193. package/scss/table/classes.scss +0 -63
  194. package/scss/table/column-filter.scss +0 -37
  195. package/scss/table/condensed.scss +0 -15
  196. package/scss/table/extra-condensed.scss +0 -19
  197. package/scss/table/index.scss +0 -7
  198. package/scss/table/paginator.scss +0 -87
  199. package/scss/table/table.scss +0 -558
  200. package/scss/table/variables.scss +0 -10
  201. package/scss/tabs/borderless.scss +0 -71
  202. package/scss/tabs/classes.scss +0 -44
  203. package/scss/tabs/default.scss +0 -110
  204. package/scss/tabs/index.scss +0 -6
  205. package/scss/tabs/pill.scss +0 -48
  206. package/scss/tabs/tabs.scss +0 -220
  207. package/scss/tag/classes.scss +0 -29
  208. package/scss/tag/index.scss +0 -3
  209. package/scss/tag/tag.scss +0 -99
  210. package/scss/text/classes.scss +0 -40
  211. package/scss/text/index.scss +0 -5
  212. package/scss/text/mixins.scss +0 -42
  213. package/scss/text/muted.scss +0 -9
  214. package/scss/text/skeleton.scss +0 -46
  215. package/scss/tile/classes.scss +0 -51
  216. package/scss/tile/index.scss +0 -3
  217. package/scss/tile/tile.scss +0 -370
  218. package/scss/time-picker/classes.scss +0 -16
  219. package/scss/time-picker/index.scss +0 -3
  220. package/scss/time-picker/time-picker.scss +0 -72
  221. package/scss/toast-notification/categories.scss +0 -26
  222. package/scss/toast-notification/classes.scss +0 -98
  223. package/scss/toast-notification/index.scss +0 -4
  224. package/scss/toast-notification/toast.scss +0 -79
  225. package/scss/toggle-switch/classes.scss +0 -11
  226. package/scss/toggle-switch/index.scss +0 -3
  227. package/scss/toggle-switch/toggle-switch.scss +0 -222
  228. package/scss/tooltip/classes.scss +0 -24
  229. package/scss/tooltip/index.scss +0 -3
  230. package/scss/tooltip/tooltip.scss +0 -41
  231. package/scss/tree/classes.scss +0 -19
  232. package/scss/tree/index.scss +0 -3
  233. package/scss/tree/tree.scss +0 -138
  234. package/scss/user-icon/classes.scss +0 -27
  235. package/scss/user-icon/index.scss +0 -4
  236. package/scss/user-icon/sizes.scss +0 -22
  237. package/scss/user-icon/user-icon.scss +0 -250
  238. package/scss/variables.scss +0 -3
  239. package/scss/wizard/classes.scss +0 -27
  240. package/scss/wizard/index.scss +0 -5
  241. package/scss/wizard/long.scss +0 -19
  242. package/scss/wizard/wizard.scss +0 -160
  243. package/scss/wizard/workflow.scss +0 -43
  244. package/src/index.scss +0 -46
@@ -1,10 +0,0 @@
1
- // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
- // See LICENSE.md in the project root for license terms and full copyright notice.
3
- @import './labeled-inputs';
4
- @import './input';
5
- @import './input-with-icon';
6
- @import './textarea';
7
- @import './select';
8
- @import './checkbox-radio';
9
- @import './checkbox';
10
- @import './radio';
@@ -1,36 +0,0 @@
1
- // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
- // See LICENSE.md in the project root for license terms and full copyright notice.
3
- @import '../style/index';
4
-
5
- // Mixin to have inputs combined with icon (eg. select)
6
- @mixin iui-input-with-icon {
7
- display: grid;
8
- align-items: center;
9
- cursor: pointer;
10
-
11
- > :first-child {
12
- grid-area: 1 / -1;
13
- padding-right: $iui-icons-default + $iui-l;
14
- }
15
-
16
- &:focus-within {
17
- > :first-child {
18
- // --_focus-color can be used to control this from outside
19
- outline: 2px solid var(--_focus-color, var(--iui-color-foreground-primary));
20
- outline-offset: -2px;
21
- }
22
- }
23
-
24
- &:hover {
25
- > :first-child {
26
- // --_hover-color can be used to control this from outside
27
- border-color: var(--_hover-color, rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2)));
28
- }
29
- }
30
- }
31
-
32
- @mixin iui-end-icon {
33
- @include iui-input-icon-inline;
34
- display: flex;
35
- grid-area: 1 / -1;
36
- }
@@ -1,80 +0,0 @@
1
- // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
- // See LICENSE.md in the project root for license terms and full copyright notice.
3
- @import '../style/index';
4
-
5
- @mixin iui-input {
6
- @include iui-reset;
7
- @include iui-focus($offset: -2px, $thickness: 2px);
8
- width: 100%;
9
- font-family: inherit;
10
- font-size: $iui-font-size;
11
- font-weight: $iui-font-weight-normal;
12
- line-height: $iui-line-height;
13
- border-radius: $iui-border-radius;
14
- appearance: none;
15
- box-sizing: border-box;
16
- padding: $iui-component-padding-vertical $iui-component-padding-horizontal;
17
- min-height: $iui-component-height;
18
- @media (prefers-reduced-motion: no-preference) {
19
- transition: border-color $iui-speed-fast ease-out;
20
- }
21
- @include themed {
22
- color: t(iui-text-color);
23
- background-color: t(iui-color-background-1);
24
- border: 1px solid rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-4));
25
- }
26
-
27
- &.iui-small {
28
- padding-top: $iui-component-padding-vertical-small;
29
- padding-bottom: $iui-component-padding-vertical-small;
30
- min-height: $iui-component-height-small;
31
- }
32
-
33
- &.iui-large {
34
- padding-top: $iui-component-padding-vertical-large;
35
- padding-bottom: $iui-component-padding-vertical-large;
36
- min-height: $iui-component-height-large;
37
- font-size: $iui-font-size-leading;
38
- }
39
-
40
- &::placeholder {
41
- user-select: none;
42
- @include themed {
43
- color: t(iui-text-color-placeholder);
44
- }
45
- }
46
-
47
- &:autofill {
48
- @include iui-input-autofill;
49
- }
50
-
51
- &:hover {
52
- @include themed {
53
- border-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-2));
54
- }
55
- @media (prefers-reduced-motion: no-preference) {
56
- transition: border-color $iui-speed-fast ease-out;
57
- }
58
- }
59
-
60
- &[disabled] {
61
- @include themed {
62
- background-color: t(iui-color-background-disabled);
63
- border-color: t(iui-color-background-disabled);
64
- }
65
- cursor: not-allowed;
66
- --_hover-color: var(--iui-color-background-disabled);
67
- }
68
- }
69
-
70
- @mixin iui-input-autofill {
71
- @include themed {
72
- border-color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-1));
73
- color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-1));
74
- background: linear-gradient(
75
- rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6)),
76
- rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6))
77
- ),
78
- linear-gradient(t(iui-color-background-1), t(iui-color-background-1));
79
- }
80
- }
@@ -1,382 +0,0 @@
1
- // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
- // See LICENSE.md in the project root for license terms and full copyright notice.
3
- @import '../style/index';
4
- @import '../icon/index';
5
- @import '../style/ripple';
6
-
7
- /// Container for grouping inputs with a label, an icon and a status message.
8
- /// Supported modifiers: .iui-inline-label, .iui-inline-icon and .iui-with-message
9
- @mixin iui-input-container {
10
- @include iui-reset;
11
- display: grid;
12
- grid-template:
13
- 'label label'
14
- 'inputs inputs' / auto 1fr;
15
-
16
- &.iui-inline-icon:not(.iui-inline-label) > .iui-input-icon {
17
- // stylelint-disable -- fix position in IE
18
- -ms-grid-row: 2;
19
- -ms-grid-column: 2;
20
- // stylelint-enable
21
- }
22
-
23
- &.iui-inline-icon {
24
- > .iui-input,
25
- > .iui-textarea {
26
- padding-right: $iui-icons-default + $iui-l;
27
-
28
- &:last-child {
29
- padding-right: $iui-sm;
30
- }
31
- }
32
- }
33
-
34
- &.iui-with-message {
35
- grid-template:
36
- 'label label'
37
- 'inputs inputs'
38
- 'icon message' / auto 1fr;
39
-
40
- // add margin to the icon if it is below input
41
- &:not(.iui-inline-icon) > .iui-input-icon {
42
- margin-top: $iui-component-offset;
43
- }
44
- }
45
-
46
- .iui-input,
47
- .iui-input-with-icon,
48
- .iui-textarea,
49
- .iui-input-group {
50
- grid-area: inputs;
51
- // stylelint-disable -- fix position in IE
52
- -ms-grid-row: 2;
53
- -ms-grid-column: 1;
54
- -ms-grid-column-span: 2;
55
- // stylelint-enable
56
- }
57
-
58
- .iui-input-group .iui-toggle-switch-wrapper {
59
- padding: round($iui-baseline * 0.5) 0;
60
- }
61
-
62
- // #region Cursors
63
- @include iui-input-label-cursor;
64
-
65
- &.iui-disabled {
66
- label {
67
- cursor: not-allowed;
68
- }
69
- }
70
- // #endregion
71
-
72
- // Appropriate spacing even if no text label is given
73
- .iui-checkbox-wrapper,
74
- .iui-radio-wrapper {
75
- min-height: $iui-line-height;
76
- }
77
-
78
- &.iui-inline-label {
79
- grid-template: 'label inputs icon' / auto 1fr auto;
80
-
81
- // IE fix icon position for inline checkboxes/radios group
82
- @at-root {
83
- div#{&} {
84
- // stylelint-disable -- fix position in IE
85
- -ms-grid-columns: auto min-content auto;
86
- // stylelint-enable
87
- }
88
- }
89
-
90
- .iui-input,
91
- .iui-input-with-icon,
92
- .iui-textarea,
93
- .iui-input-group {
94
- // stylelint-disable -- fix position in IE
95
- -ms-grid-row: 1;
96
- -ms-grid-column: 2;
97
- // stylelint-enable
98
- }
99
-
100
- .iui-input-icon {
101
- // stylelint-disable -- fix position in IE
102
- -ms-grid-row: 1;
103
- -ms-grid-column: 3;
104
- // stylelint-enable
105
- }
106
-
107
- &.iui-with-message {
108
- grid-template:
109
- 'label inputs inputs'
110
- '. icon message' / auto auto 1fr;
111
-
112
- &:not(.iui-inline-icon) > .iui-input-icon {
113
- // stylelint-disable -- fix position in IE
114
- -ms-grid-row: 2;
115
- -ms-grid-column: 2;
116
- // stylelint-enable
117
- }
118
-
119
- .iui-message {
120
- // stylelint-disable -- fix position in IE
121
- -ms-grid-row: 2;
122
- -ms-grid-column: 3;
123
- // stylelint-enable
124
- }
125
- }
126
-
127
- > .iui-input-group {
128
- display: flex;
129
- gap: $iui-m;
130
-
131
- > .iui-checkbox-wrapper,
132
- > .iui-radio-wrapper,
133
- > .iui-toggle-switch-wrapper {
134
- margin-right: $iui-m;
135
-
136
- @supports (gap: $iui-m) {
137
- margin-right: 0;
138
- }
139
- }
140
-
141
- &:not(:last-child) {
142
- margin-right: $iui-m;
143
- }
144
- }
145
- }
146
- }
147
-
148
- /// Cursor styling for the label.
149
- @mixin iui-input-label-cursor {
150
- cursor: default;
151
-
152
- @at-root {
153
- label#{&} {
154
- cursor: pointer;
155
-
156
- &.iui-disabled {
157
- cursor: not-allowed;
158
- }
159
- }
160
- }
161
- }
162
-
163
- /// Text label for an input.
164
- /// Supports .iui-required modifier to show red asterisk.
165
- @mixin iui-input-label-styling {
166
- font-weight: $iui-font-weight-semibold;
167
- margin-bottom: $iui-component-offset;
168
-
169
- &.iui-required {
170
- &::after {
171
- content: '*';
172
- margin-left: $iui-xs;
173
- @include themed {
174
- color: t(iui-color-foreground-negative);
175
- }
176
- }
177
- }
178
- }
179
-
180
- /// Modifier on iui-input-label-styling to place it inline.
181
- @mixin iui-input-label-inline {
182
- margin: 0 $iui-m 0 0;
183
- // stylelint-disable -- fix position in IE
184
- -ms-grid-column-span: 1;
185
- // stylelint-enable
186
-
187
- &.iui-required {
188
- margin-right: $iui-xs * 1.5;
189
- }
190
- }
191
-
192
- /// Label inside the input-container grid.
193
- @mixin iui-input-container-label {
194
- @include iui-input-label-styling;
195
- grid-area: label;
196
- align-self: center;
197
- }
198
-
199
- /// Independent label outside the grid.
200
- /// Supports .iui-inline modifier to place it inline.
201
- @mixin iui-input-label {
202
- @include iui-input-label-styling;
203
- @include iui-input-label-cursor;
204
- display: block;
205
-
206
- &.iui-inline {
207
- @include iui-input-label-inline;
208
- display: inline-flex;
209
- align-items: center;
210
- }
211
- }
212
-
213
- /// Message shown below input
214
- @mixin iui-input-message {
215
- font-size: $iui-font-size-small;
216
- grid-area: message;
217
- margin-top: $iui-component-offset;
218
- @include themed {
219
- color: t(iui-text-color-muted);
220
- }
221
-
222
- a {
223
- user-select: none;
224
- }
225
- }
226
-
227
- /// Icon to be shown near a message.
228
- @mixin iui-input-icon {
229
- display: flex;
230
- grid-area: icon;
231
- width: $iui-icons-default;
232
- height: $iui-icons-default;
233
- align-self: center;
234
- @include themed {
235
- fill: t(iui-icons-color);
236
- }
237
-
238
- &:not(:last-child) {
239
- margin-right: $iui-xs;
240
- }
241
- }
242
-
243
- /// Modifier on iui-input-icon to place it at the end of input.
244
- @mixin iui-input-icon-inline {
245
- // stylelint-disable -- fix position in IE
246
- -ms-grid-row: 1;
247
- -ms-grid-column: 3;
248
- // stylelint-enable
249
-
250
- grid-area: inputs;
251
- justify-self: end;
252
- margin: 0 ($iui-sm + $iui-xxs) 0 0;
253
- position: relative;
254
-
255
- svg {
256
- width: $iui-icons-default;
257
- height: $iui-icons-default;
258
- }
259
-
260
- &.iui-button {
261
- height: 100%;
262
- width: fit-content;
263
- margin-right: 0;
264
- border-top-left-radius: 0;
265
- border-bottom-left-radius: 0;
266
- border-top-right-radius: inherit;
267
- border-bottom-right-radius: inherit;
268
- }
269
-
270
- &.iui-actionable {
271
- align-items: center;
272
- height: 90%;
273
- margin-right: $iui-xxs;
274
- padding: 0 $iui-sm;
275
- cursor: pointer;
276
-
277
- @include iui-ripple(var(--iui-color-background-1), var(--iui-color-background-2));
278
-
279
- svg {
280
- @include themed {
281
- fill: t(iui-icons-color-actionable);
282
- }
283
- transition: transform $iui-speed-fast ease-out;
284
- }
285
-
286
- &.iui-open svg {
287
- transform: rotate(180deg); // transform for arrow icon (e.g. svg-caret-down), used in combobox
288
- }
289
- }
290
-
291
- &.iui-disabled {
292
- cursor: not-allowed;
293
-
294
- svg {
295
- @include themed {
296
- fill: t(iui-icons-color-actionable-disabled);
297
- }
298
- }
299
- }
300
- }
301
-
302
- /// Mixin for applying status colors to input container.
303
- /// @arg status - must be one of: positive, negative, warning
304
- /// @arg iconSelector - selector to apply status fill on. Defaults to .iui-input-icon
305
- /// @arg textSelector - selector to apply text color on. Defaults to .iui-message
306
- @mixin iui-input-status($status, $iconSelector: '.iui-input-icon', $textSelector: '.iui-message') {
307
- @include iui-text-selection($status);
308
-
309
- #{$iconSelector} {
310
- @include themed {
311
- fill: t(iui-color-foreground-#{$status});
312
- }
313
- }
314
-
315
- #{$textSelector} {
316
- @include themed {
317
- color: t(iui-color-foreground-#{$status});
318
- }
319
-
320
- a {
321
- text-decoration: underline;
322
-
323
- @include themed {
324
- color: t(iui-color-foreground-#{$status});
325
- }
326
-
327
- &:hover {
328
- text-decoration: none;
329
-
330
- @include themed {
331
- color: t(iui-color-foreground-#{$status}-overlay);
332
- }
333
- }
334
- }
335
- }
336
-
337
- .iui-input,
338
- .iui-textarea {
339
- padding-bottom: $iui-component-padding-vertical - 1px;
340
-
341
- &.iui-small {
342
- padding-bottom: $iui-component-padding-vertical-small - 1px;
343
- }
344
-
345
- &.iui-large {
346
- padding-bottom: $iui-component-padding-vertical-large - 1px;
347
- }
348
-
349
- @include themed {
350
- border-bottom: $iui-xxs solid t(iui-color-foreground-#{$status});
351
- }
352
-
353
- &:focus {
354
- @include themed {
355
- border-bottom: $iui-xxs solid t(iui-color-foreground-#{$status});
356
- outline: 2px solid t(iui-color-foreground-#{$status});
357
- outline-offset: -2px;
358
- }
359
- }
360
- }
361
-
362
- .iui-input-with-icon {
363
- --_hover-color: var(--iui-color-foreground-#{$status});
364
- --_focus-color: var(--iui-color-foreground-#{$status});
365
- }
366
-
367
- .iui-select-button {
368
- border-bottom: transparent;
369
-
370
- &::after {
371
- content: '';
372
- width: 100%;
373
- position: absolute;
374
- bottom: 0;
375
- left: 0;
376
- height: $iui-xxs;
377
- @include themed {
378
- background-color: t(iui-color-foreground-#{$status});
379
- }
380
- }
381
- }
382
- }
@@ -1,18 +0,0 @@
1
- // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
- // See LICENSE.md in the project root for license terms and full copyright notice.
3
- @import '../style/index';
4
-
5
- @mixin iui-radio {
6
- @include iui-checkbox;
7
-
8
- border-radius: 50%;
9
-
10
- &:checked {
11
- --_iui-checkbox-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" ><circle cx="8" cy="8" r="4" /></svg>');
12
- }
13
-
14
- &:not(:checked),
15
- &:indeterminate {
16
- --_iui-checkbox-mask-image: var(--_iui-checkbox-unchecked-svg);
17
- }
18
- }
@@ -1,132 +0,0 @@
1
- // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
- // See LICENSE.md in the project root for license terms and full copyright notice.
3
- @import '../style/index';
4
- @import '../menu/index';
5
- @import '../tag/index';
6
- @import '../button/index';
7
-
8
- @mixin iui-select-button {
9
- @include iui-focus($offset: -2px, $thickness: 2px);
10
- width: 100%;
11
- margin: 0;
12
- border-radius: $iui-border-radius;
13
- box-sizing: border-box;
14
- padding: $iui-component-padding-vertical $iui-component-padding-horizontal;
15
- min-height: $iui-component-height;
16
- transition: border-color $iui-speed-fast ease-out;
17
-
18
- display: flex;
19
- align-items: center;
20
- user-select: none;
21
- position: relative;
22
- overflow: hidden;
23
-
24
- @include themed {
25
- color: t(iui-text-color);
26
- background-color: t(iui-color-background-1);
27
- border: 1px solid rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-4));
28
- }
29
-
30
- &.iui-small {
31
- padding-top: $iui-component-padding-vertical-small;
32
- padding-bottom: $iui-component-padding-vertical-small;
33
- min-height: $iui-component-height-small;
34
- }
35
-
36
- &.iui-large {
37
- padding-top: $iui-component-padding-vertical-large;
38
- padding-bottom: $iui-component-padding-vertical-large;
39
- min-height: $iui-component-height-large;
40
- font-size: $iui-font-size-leading;
41
- }
42
-
43
- &.iui-disabled {
44
- @include themed {
45
- background-color: t(iui-color-background-disabled);
46
- border-color: t(iui-color-background-disabled);
47
- }
48
- --_hover-color: var(--iui-color-background-disabled);
49
- cursor: not-allowed;
50
- }
51
-
52
- .iui-icon {
53
- @include iui-menu-icon;
54
- fill: currentColor;
55
- }
56
-
57
- .iui-content {
58
- overflow: hidden;
59
- white-space: nowrap;
60
- text-overflow: ellipsis;
61
- }
62
-
63
- &.iui-placeholder {
64
- @include themed {
65
- color: t(iui-text-color-placeholder);
66
- }
67
- }
68
- }
69
-
70
- @mixin iui-select-tag-container {
71
- position: absolute;
72
- // align wth Select's padding
73
- inset: 0 $iui-icons-default + $iui-l 0 $iui-sm;
74
- height: 100%;
75
- display: flex;
76
- align-items: center;
77
- gap: $iui-xs;
78
- overflow: hidden;
79
-
80
- > * + * {
81
- margin-left: $iui-xs;
82
- @supports (gap: $iui-xs) {
83
- margin-left: 0;
84
- }
85
- }
86
- }
87
-
88
- @mixin iui-select-tag {
89
- @include iui-tag;
90
- // Override hardcoded Tag margin
91
- margin-top: 0;
92
- margin-bottom: 0;
93
- display: inline-flex;
94
- align-items: center;
95
- height: 80%;
96
- max-height: $iui-baseline * 3;
97
- }
98
-
99
- @mixin iui-select-tag-label {
100
- @include iui-tag-label;
101
- display: inline-flex;
102
- align-items: center;
103
-
104
- @at-root .iui-select-button.iui-small & {
105
- font-size: $iui-font-size-small;
106
- line-height: floor($iui-baseline * 1.5);
107
- }
108
- }
109
-
110
- @mixin iui-select-tag-button {
111
- @include iui-button;
112
- @include iui-button-borderless;
113
- @include iui-tag-button;
114
- padding: 0 $iui-xs;
115
- height: 100%;
116
- aspect-ratio: 1 / 1;
117
-
118
- @at-root .iui-select-button.iui-small & {
119
- font-size: $iui-font-size-small;
120
- line-height: floor($iui-baseline * 1.5);
121
- }
122
- }
123
-
124
- @mixin iui-select-tag-button-icon {
125
- @include iui-button-icon;
126
- flex-shrink: 0;
127
-
128
- @at-root .iui-select-button.iui-small & {
129
- width: $iui-icons-small;
130
- height: $iui-icons-small;
131
- }
132
- }
@@ -1,14 +0,0 @@
1
- // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
- // See LICENSE.md in the project root for license terms and full copyright notice.
3
- @import '../style/index';
4
-
5
- @mixin iui-textarea {
6
- @include iui-input;
7
- resize: vertical;
8
- min-height: $iui-component-height;
9
-
10
- &[disabled],
11
- &[readonly] {
12
- resize: none;
13
- }
14
- }
@@ -1,7 +0,0 @@
1
- // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
- // See LICENSE.md in the project root for license terms and full copyright notice.
3
- @import './index';
4
-
5
- .iui-keyboard {
6
- @include iui-keyboard;
7
- }
@@ -1,3 +0,0 @@
1
- // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
- // See LICENSE.md in the project root for license terms and full copyright notice.
3
- @import './keyboard';