@itwin/itwinui-css 2.5.0 → 3.0.0-dev.0

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 (54) hide show
  1. package/CHANGELOG.md +249 -0
  2. package/README.md +4 -14
  3. package/css/all.css +1 -1
  4. package/package.json +5 -5
  5. package/css/alert.css +0 -5
  6. package/css/anchor.css +0 -5
  7. package/css/avatar.css +0 -5
  8. package/css/backdrop.css +0 -5
  9. package/css/badge.css +0 -5
  10. package/css/blockquote.css +0 -5
  11. package/css/breadcrumbs.css +0 -5
  12. package/css/button.css +0 -5
  13. package/css/carousel.css +0 -5
  14. package/css/checkbox.css +0 -5
  15. package/css/code.css +0 -5
  16. package/css/color-picker.css +0 -5
  17. package/css/date-picker.css +0 -5
  18. package/css/dialog.css +0 -5
  19. package/css/expandable-block.css +0 -5
  20. package/css/fieldset.css +0 -5
  21. package/css/file-upload.css +0 -5
  22. package/css/footer.css +0 -5
  23. package/css/header.css +0 -5
  24. package/css/information-panel.css +0 -5
  25. package/css/input-container.css +0 -5
  26. package/css/input.css +0 -5
  27. package/css/keyboard.css +0 -5
  28. package/css/menu.css +0 -5
  29. package/css/non-ideal-state.css +0 -5
  30. package/css/overlay.css +0 -5
  31. package/css/progress-indicator.css +0 -5
  32. package/css/radio-tile.css +0 -5
  33. package/css/radio.css +0 -5
  34. package/css/searchbox.css +0 -5
  35. package/css/select.css +0 -5
  36. package/css/side-navigation.css +0 -5
  37. package/css/skip-to-content.css +0 -5
  38. package/css/slider.css +0 -5
  39. package/css/status-message.css +0 -5
  40. package/css/stepper.css +0 -5
  41. package/css/surface.css +0 -5
  42. package/css/table.css +0 -5
  43. package/css/tabs.css +0 -5
  44. package/css/tag.css +0 -5
  45. package/css/text.css +0 -5
  46. package/css/tile.css +0 -5
  47. package/css/time-picker.css +0 -5
  48. package/css/toast.css +0 -5
  49. package/css/toggle-switch.css +0 -5
  50. package/css/tooltip.css +0 -5
  51. package/css/transfer-list.css +0 -5
  52. package/css/tree.css +0 -5
  53. package/css/utils.css +0 -5
  54. package/css/workflow-diagram.css +0 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,254 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.0.0-dev.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#1919](https://github.com/iTwin/iTwinUI/pull/1919): `.iui-breadcrumbs-content` now requires `.iui-button .iui-field` and `data-iui-variant="borderless"`.
8
+
9
+ ```diff
10
+ <button
11
+ - class="iui-breadcrumbs-content"
12
+ + class="iui-button iui-button-base iui-field iui-breadcrumbs-content"
13
+ + data-iui-variant="borderless"
14
+ >
15
+ ```
16
+
17
+ When used with `<a>`, the same button classes must be used, and the content must be wrapped in a `<span>`. As a result, the anchor's hover state will now be more consistent with the button's hover state.
18
+
19
+ ```diff
20
+ <a
21
+ - class="iui-anchor iui-breadcrumbs-content"
22
+ + class="iui-anchor iui-button-base iui-button iui-field iui-breadcrumbs-content"
23
+ + data-iui-variant="borderless"
24
+ >
25
+ + <span>
26
+
27
+ + </span>
28
+ </a>
29
+ ```
30
+
31
+ - [#1919](https://github.com/iTwin/iTwinUI/pull/1919): `.iui-select-tag-button` now requires `.iui-button .iui-field` and `data-iui-variant="borderless"`.
32
+
33
+ ```diff
34
+ <button
35
+ - class="iui-select-tag-button"
36
+ + class="iui-button iui-field iui-select-tag-button"
37
+ + data-iui-variant="borderless"
38
+ >
39
+ ```
40
+
41
+ Similarly, `.iui-select-tag-button-icon` also requires `.iui-button-icon`.
42
+
43
+ ```diff
44
+ - <span class="iui-select-tag-button-icon">
45
+ + <span class="iui-select-tag-button-icon iui-button-icon">
46
+ ```
47
+
48
+ - [#1891](https://github.com/iTwin/iTwinUI/pull/1891): `.iui-table-row[data-iui-loading]` has been replaced with a new `iui-table-body-extra` class, which must be set on an element _outside_ the table-body.
49
+
50
+ ```diff
51
+ <div class="iui-table">
52
+
53
+ <div class="iui-table-body">
54
+
55
+ - <div class="iui-table-row" data-iui-loading="true">
56
+ - <div class="iui-table-cell">
57
+ - <div class="iui-progress-indicator-radial"></div>
58
+ - </div>
59
+ - </div>
60
+ </div>
61
+ + <div class="iui-table-body-extra" data-iui-loading="true">
62
+ + <div class="iui-progress-indicator-radial"></div>
63
+ + </div>
64
+ </div>
65
+ ```
66
+
67
+ - [#1919](https://github.com/iTwin/iTwinUI/pull/1919): `.iui-table-paginator-page-button` now requires the same markup as borderless buttons. The `.iui-table-paginator-page-button-small` modifier class has been removed.
68
+
69
+ ```diff
70
+ <button
71
+ - class="iui-table-paginator-page-button iui-table-paginator-page-button-small"
72
+ + class="iui-table-paginator-page-button iui-button iui-button-base iui-field"
73
+ + data-iui-variant="borderless"
74
+ + data-iui-size="small"
75
+ >
76
+ ```
77
+
78
+ As a result, the small paginator will now have a smaller width than before.
79
+
80
+ - [#1963](https://github.com/iTwin/iTwinUI/pull/1963): All styles have been wrapped in a cascade layer named `itwinui`.
81
+ - [#1919](https://github.com/iTwin/iTwinUI/pull/1919): `.iui-sidenav-button.iui-expand` now requires `.iui-button .iui-field` and `data-iui-size="small"`.
82
+
83
+ ```diff
84
+ <button
85
+ - class="iui-button iui-button-base iui-sidenav-button iui-expand"
86
+ + class="iui-button iui-button-base iui-sidenav-button iui-field iui-expand"
87
+ + data-iui-size="small"
88
+ >
89
+ ```
90
+
91
+ - [#1915](https://github.com/iTwin/iTwinUI/pull/1915): `iui-anchor` must now be explicitly added to `<a>` elements, in addition to the previous `iui-alert-link`, `iui-breadcrumbs-content`, `iui-tag-basic`, and `iui-toast-anchor` classes.
92
+
93
+ ```diff
94
+ -<a class="iui-alert-link">
95
+ +<a class="iui-anchor iui-alert-link">
96
+ ```
97
+
98
+ ```diff
99
+ -<a class="iui-breadcrumbs-content">
100
+ +<a class="iui-anchor iui-breadcrumbs-content">
101
+ ```
102
+
103
+ ```diff
104
+ -<a class="iui-tag-basic">
105
+ +<a class="iui-anchor iui-tag-basic">
106
+ ```
107
+
108
+ ```diff
109
+ -<a class="iui-toast-anchor">
110
+ +<a class="iui-anchor iui-toast-anchor">
111
+ ```
112
+
113
+ Additionally, all `<a>` elements within `iui-legal-footer` elements will need the `iui-anchor` class.
114
+
115
+ ```diff
116
+ <li class="iui-legal-footer-item">
117
+ - <a>...</a>
118
+ + <a class="iui-anchor>...</a>
119
+ </li>
120
+ ```
121
+
122
+ - [#1932](https://github.com/iTwin/iTwinUI/pull/1932): All individual component CSS files have been removed. Instead, import `all.css` (the root export).
123
+
124
+ ```diff
125
+ - @import "@itwin/itwinui-css/css/anchor.css";
126
+ - @import "@itwin/itwinui-css/css/button.css";
127
+
128
+ + @import "@itwin/itwinui-css";
129
+ ```
130
+
131
+ - [#1919](https://github.com/iTwin/iTwinUI/pull/1919): Added `.iui-field` class to be used with `.iui-button`, `.iui-input`, and `.iui-select-button`. These components now have consistent styling for base, hover and disabled states.
132
+
133
+ ```diff
134
+ <button
135
+ - class="iui-button iui-button-base"
136
+ + class="iui-button iui-button-base iui-field"
137
+ >
138
+ ```
139
+
140
+ ```diff
141
+ <input
142
+ - class="iui-input"
143
+ + class="iui-input iui-field"
144
+ >
145
+ ```
146
+
147
+ ```diff
148
+ <div
149
+ - class="iui-select-button"
150
+ + class="iui-select-button iui-field"
151
+ >
152
+ ```
153
+
154
+ - [#1919](https://github.com/iTwin/iTwinUI/pull/1919): Ideas button now requires `.iui-button-idea` and `data-iui-variant="high-visibility"` instead of `data-iui-variant="idea"`.
155
+
156
+ ```diff
157
+ <button
158
+ - class="iui-button iui-button-base"
159
+ + class="iui-button iui-button-base iui-field iui-button-idea"
160
+ - data-iui-variant="idea"
161
+ + data-iui-variant="high-visibility"
162
+ >
163
+ ```
164
+
165
+ - [#2101](https://github.com/iTwin/iTwinUI/pull/2101): `.iui-tile-thumbnail-type-indicator` and `.iui-tile-thumbnail-quick-action` should now be applied on wrapper element, and the button inside should have the new `.iui-tile-thumbnail-button` class. This reduces code complexity and fixes a visual bug with the hover state.
166
+
167
+ ```diff
168
+ + <div class="iui-tile-thumbnail-quick-action">
169
+ <button
170
+ - class="iui-field iui-button-base iui-button iui-tile-thumbnail-quick-action"
171
+ + class="iui-field iui-button-base iui-button iui-tile-thumbnail-button"
172
+ data-iui-variant="borderless"
173
+ data-iui-size="small"
174
+ >
175
+
176
+ </button>
177
+ + </div>
178
+ ```
179
+
180
+ - [#1935](https://github.com/iTwin/iTwinUI/pull/1935): Replaces the size classes for `iui-avatar` with a new `data-iui-size` attribute.
181
+
182
+ ```diff
183
+ - <div class="iui-avatar iui-small">
184
+ + <div class="iui-avatar" data-iui-size="small">
185
+ ```
186
+
187
+ Possible values include: `"small"`, `"medium"`, `"large"`, and `"x-large"`. Defaults to `"medium"`.
188
+
189
+ - [#1938](https://github.com/iTwin/iTwinUI/pull/1938): `iui-breadcrumbs` will need to be added to the classes of all `iui-header-breadcrumbs` elements. `iui-breadcrumbs-list` will also need to be added to the classes of all `iui-header-breadcrumbs-list` elements.
190
+
191
+ ```diff
192
+ - <nav class="iui-header-breadcrumbs">
193
+ - <ol class="iui-header-breadcrumbs-list">
194
+ + <nav class="iui-breadcrumbs iui-header-breadcrumbs">
195
+ + <ol class="iui-breadcrumbs-list iui-header-breadcrumbs-list">
196
+ ```
197
+
198
+ ### Minor Changes
199
+
200
+ - [#1863](https://github.com/iTwin/iTwinUI/pull/1863): The filter button inside a Table will now always be visible, instead of only being shown on hover/focus.
201
+ - [#1915](https://github.com/iTwin/iTwinUI/pull/1915): `iui-anchor` can now be styled with status colors using a new `data-iui-status` attribute.
202
+
203
+ ```html
204
+ <a class="iui-anchor" data-iui-status="negative">...</a>
205
+ ```
206
+
207
+ Possible values include: `"positive"`, `"negative"`, `"informational"`, and `"warning"`.
208
+
209
+ - [#2058](https://github.com/iTwin/iTwinUI/pull/2058): Added loading state to `iui-button`, via the `data-iui-loading` attribute and the `iui-button-spinner` class.
210
+
211
+ ```html
212
+ <button class="iui-button" data-iui-loading="true" aria-disabled="true">
213
+ <span>Click me</span>
214
+ <div class="iui-progress-indicator-radial iui-button-spinner" data-iui-indeterminate="true"></div>
215
+ </button>
216
+ ```
217
+
218
+ - [#2058](https://github.com/iTwin/iTwinUI/pull/2058): Added `iui-button-label` class to be used on the `<span>` containing the text inside a button.
219
+ - [#2060](https://github.com/iTwin/iTwinUI/pull/2060): Added support for `popover` attribute in `iui-tooltip`.
220
+ - [#2076](https://github.com/iTwin/iTwinUI/pull/2076): Added a new `data-iui-has-popover` attribute to `iui-button` to be applied when the button has an associated popover/dropdown-menu that is currently open.
221
+
222
+ ```html
223
+ <button class="iui-button" data-iui-has-popover="open"></button>
224
+ ```
225
+
226
+ - [#2088](https://github.com/iTwin/iTwinUI/pull/2088): `.iui-field` handles icon fill, used within button and select.
227
+ - [#1935](https://github.com/iTwin/iTwinUI/pull/1935): The default size for an `iui-avatar` element that appears inside of an `iui-tile` is now the same default size as all other `iui-avatar` elements. Setting `data-iui-size` to `"x-large"` will give the `iui-avatar` the size of the old default.
228
+
229
+ ```diff
230
+ <div class="iui-tile-thumbnail-icon">
231
+ - <span class="iui-avatar"></span>
232
+ + <span class="iui-avatar" data-iui-size="x-large"></span>
233
+ </div>
234
+ ```
235
+
236
+ ### Patch Changes
237
+
238
+ - [#2064](https://github.com/iTwin/iTwinUI/pull/2064): `transform` values in dialog and expandable-block have been rounded to help avoid blurry text on Windows.
239
+ - [#1916](https://github.com/iTwin/iTwinUI/pull/1916): Fixed the hover background for default tabs.
240
+ - [#2042](https://github.com/iTwin/iTwinUI/pull/2042): Fix table empty state horizontal alignment when table is very narrow.
241
+ - [#2074](https://github.com/iTwin/iTwinUI/pull/2074): Fix indentation of tree node without expander button.
242
+ - [#2021](https://github.com/iTwin/iTwinUI/pull/2021): `.iui-menu-item` also handles `button` elements.
243
+ - [#1955](https://github.com/iTwin/iTwinUI/pull/1955): Fixed a regression in `iui-tabs` where the panel content was not occupying the full width of the container.
244
+ - [#1943](https://github.com/iTwin/iTwinUI/pull/1943): Fixed a z-index issue in `Table` where the `iui-table-resizer` appeared above the sticky header cells.
245
+ - [#2030](https://github.com/iTwin/iTwinUI/pull/2030): Updated selectors in `button-group` to only consider `iui-field` and `iui-input-flex-container` children.
246
+ - [#2083](https://github.com/iTwin/iTwinUI/pull/2083): Fixed a visual bug where elements like `iui-button-icon` inside the `iui-button` were not hidden when the button was in a loading state. Now, `data-iui-loading="true"` on `iui-button` hides _all_ its children except `iui-button-spinner`.
247
+ - [#2054](https://github.com/iTwin/iTwinUI/pull/2054): Remove unnecessary gap below `.iui-input-grid` when `data-iui-label-placement='inline'` and when no secondary line (`iui-status-message`) is present.
248
+ - [#1921](https://github.com/iTwin/iTwinUI/pull/1921): Fixed carousel dot button's incorrect height.
249
+ - [#2043](https://github.com/iTwin/iTwinUI/pull/2043): Adjusted the behavior of buttons so that double tapping them doesn't zoom the viewport on iOS.
250
+ - [#1909](https://github.com/iTwin/iTwinUI/pull/1909): Remove `margin-block` from badge.
251
+
3
252
  ## 2.5.0
4
253
 
5
254
  ### Minor Changes
package/README.md CHANGED
@@ -37,31 +37,25 @@ If you're looking for React components, check out [`@itwin/itwinui-react`](https
37
37
  Install both packages:
38
38
 
39
39
  ```
40
- npm install @itwin/itwinui-css @itwin/itwinui-variables
41
- ```
42
-
43
- or if using yarn:
44
-
45
- ```
46
- yarn add @itwin/itwinui-css @itwin/itwinui-variables
40
+ npm add @itwin/itwinui-css @itwin/itwinui-variables
47
41
  ```
48
42
 
49
43
  ---
50
44
 
51
45
  ## Usage
52
46
 
53
- Import the global styles and variables (only needs to be done once per page):
47
+ Import both packages (only needs to be done once per page):
54
48
 
55
49
  ```css
56
50
  @import '@itwin/itwinui-variables';
57
- @import '@itwin/itwinui-css/global';
51
+ @import '@itwin/itwinui-css';
58
52
  ```
59
53
 
60
54
  > **Note**: If your project doesn't support export maps, then you might need to import the css from the real paths:
61
55
  >
62
56
  > ```css
63
57
  > @import '@itwin/itwinui-variables/index.css';
64
- > @import '@itwin/itwinui-css/css/global.css';
58
+ > @import '@itwin/itwinui-css/css/all.css';
65
59
  > ```
66
60
 
67
61
  Apply the `iui-root` class at the root of your app, and use `data-iui-theme` to specify theme (`light` or `dark`). See [`@itwin/itwinui-variables/README.md`](https://github.com/iTwin/iTwinUI/blob/main/packages/itwinui-variables/README.md) for more details on theming.
@@ -74,10 +68,6 @@ Apply the `iui-root` class at the root of your app, and use `data-iui-theme` to
74
68
 
75
69
  Now you can start using our components:
76
70
 
77
- ```css
78
- @import '@itwin/itwinui-css/css/button.css';
79
- ```
80
-
81
71
  ```html
82
72
  <button class="iui-button" data-iui-variant="default">
83
73
  <span>Hello world</span>