@tylertech/forge 3.4.0 → 3.4.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 (48) hide show
  1. package/custom-elements.json +42 -20
  2. package/dist/avatar/forge-avatar.css +0 -1
  3. package/dist/dialog/forge-dialog.css +0 -1
  4. package/dist/divider/forge-divider.css +0 -1
  5. package/dist/lib.js +1 -1
  6. package/dist/lib.js.map +3 -3
  7. package/dist/radio/forge-radio.css +16 -21
  8. package/dist/vscode.css-custom-data.json +10 -20
  9. package/dist/vscode.html-custom-data.json +4 -4
  10. package/esm/avatar/avatar.js +1 -1
  11. package/esm/backdrop/backdrop.js +1 -1
  12. package/esm/button-area/button-area.js +1 -1
  13. package/esm/calendar/calendar.js +1 -1
  14. package/esm/date-range-picker/date-range-picker.d.ts +5 -0
  15. package/esm/date-range-picker/date-range-picker.js +5 -0
  16. package/esm/divider/divider.js +1 -1
  17. package/esm/drawer/drawer/drawer.js +1 -1
  18. package/esm/drawer/mini-drawer/mini-drawer.d.ts +1 -0
  19. package/esm/drawer/mini-drawer/mini-drawer.js +2 -1
  20. package/esm/field/field.js +1 -1
  21. package/esm/linear-progress/linear-progress.js +1 -1
  22. package/esm/radio/radio/radio.d.ts +1 -4
  23. package/esm/radio/radio/radio.js +2 -5
  24. package/esm/split-view/split-view/split-view.js +1 -1
  25. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  26. package/esm/text-field/text-field-core.js +7 -2
  27. package/esm/text-field/text-field.d.ts +1 -0
  28. package/esm/text-field/text-field.js +3 -0
  29. package/esm/toolbar/toolbar.d.ts +2 -2
  30. package/esm/toolbar/toolbar.js +3 -3
  31. package/esm/tooltip/tooltip.js +1 -1
  32. package/package.json +1 -1
  33. package/sass/avatar/_core.scss +0 -2
  34. package/sass/backdrop/_core.scss +0 -1
  35. package/sass/core/styles/tokens/drawer/mini/_tokens.scss +1 -0
  36. package/sass/core/styles/tokens/field/_tokens.scss +2 -2
  37. package/sass/core/styles/tokens/radio/_tokens.scss +2 -5
  38. package/sass/divider/_core.scss +0 -1
  39. package/sass/drawer/base/_core.scss +1 -2
  40. package/sass/drawer/drawer/drawer.scss +3 -9
  41. package/sass/drawer/mini-drawer/_core.scss +1 -0
  42. package/sass/linear-progress/_core.scss +4 -1
  43. package/sass/radio/forge-radio.scss +3 -3
  44. package/sass/radio/radio/_core.scss +14 -20
  45. package/sass/split-view/split-view/_mixins.scss +0 -1
  46. package/sass/split-view/split-view-panel/_mixins.scss +2 -2
  47. package/sass/toolbar/_core.scss +0 -1
  48. package/sass/utils/_mixins.scss +1 -1
@@ -15,7 +15,7 @@ $tokens: (
15
15
  primary-color: utils.module-val(radio, primary-color, theme.variable(tertiary)),
16
16
  inactive-color: utils.module-val(radio, inactive-color, theme.variable(surface-container-high)),
17
17
  size: utils.module-val(radio, size, 20px),
18
- mark-size: utils.module-val(radio, mark-size, 12px),
18
+ mark-size: utils.module-val(radio, mark-size, 75%),
19
19
  state-layer-size: utils.module-val(radio, state-layer-size, 40px),
20
20
  state-layer-dense-size: utils.module-val(radio, state-layer-dense-size, 24px),
21
21
  // Radio
@@ -29,10 +29,7 @@ $tokens: (
29
29
  // Mark
30
30
  mark-width: utils.module-ref(radio, mark-width, mark-size),
31
31
  mark-height: utils.module-ref(radio, mark-height, mark-size),
32
- mark-unchecked-color: utils.module-ref(radio, mark-unchecked-color, inactive-color),
33
- mark-checked-color: utils.module-ref(radio, mark-checked-color, primary-color),
34
- mark-unchecked-background: utils.module-val(radio, mark-unchecked-background, transparent),
35
- mark-checked-background: utils.module-val(radio, mark-checked-background, transparent),
32
+ mark-color: utils.module-ref(radio, mark-color, primary-color),
36
33
  // Label
37
34
  gap: utils.module-val(radio, gap, 0),
38
35
  justify: utils.module-val(radio, justify, start),
@@ -9,7 +9,6 @@
9
9
 
10
10
  @mixin host {
11
11
  display: block;
12
- contain: content;
13
12
  margin: #{token(margin)};
14
13
  }
15
14
 
@@ -60,8 +60,7 @@
60
60
  }
61
61
 
62
62
  @mixin host() {
63
- display: flex;
64
- flex-direction: column;
63
+ display: grid;
65
64
  box-sizing: border-box;
66
65
  height: 100%;
67
66
  overflow: hidden !important; // Using important to ensure that it overrides the scaffold overflow style
@@ -25,13 +25,7 @@
25
25
 
26
26
  @include base-core.core-styles;
27
27
 
28
- //
29
- // Safari fix for triggering reflow after transition completes (as of Safari 14)
30
- //
31
- @media not all and (min-resolution: 0.001dpcm) {
32
- @supports (-webkit-appearance: none) and (stroke-color: transparent) {
33
- :host([open]) {
34
- transform: translateZ(0);
35
- }
36
- }
28
+ :host([open]) {
29
+ // Safari fix for triggering reflow after transition completes (as of Safari 17.6)
30
+ transform: translateZ(0);
37
31
  }
@@ -27,6 +27,7 @@
27
27
  @mixin root() {
28
28
  z-index: #{elevation.z-index-variable(surface)};
29
29
  height: 100%;
30
+ min-width: #{token(min-width)};
30
31
  }
31
32
 
32
33
  @mixin hover() {
@@ -13,8 +13,11 @@
13
13
  position: relative;
14
14
  min-inline-size: 80px;
15
15
  block-size: #{token(track-height)};
16
- content-visibility: auto;
16
+
17
+ // `contain` and `content-visibility` are performance optimizations important here because progress indicators
18
+ // are often used when a CPU=intensive task is underway so it's especially important to minimize their CPU consumption.
17
19
  contain: strict;
20
+ content-visibility: auto;
18
21
  }
19
22
 
20
23
  @mixin progress {
@@ -71,12 +71,12 @@
71
71
  @include core.background-checked;
72
72
 
73
73
  // We use a radial gradient to create the circular mark, applying blur to anti-alias the edge
74
- $mark-radius: calc(#{core.token(mark-size)} / 2);
74
+ $mark-radius: calc(#{core.token(mark-size)} / 1.4);
75
75
  $mark-blur: 0.2px;
76
76
  background: radial-gradient(
77
77
  circle,
78
- #{core.token(mark-checked-color)} 0%,
79
- #{core.token(mark-checked-color)} calc(#{$mark-radius} - #{$mark-blur}),
78
+ #{core.token(mark-color)} 0%,
79
+ #{core.token(mark-color)} calc(#{$mark-radius} - #{$mark-blur}),
80
80
  transparent calc(#{$mark-radius} + #{$mark-blur}),
81
81
  transparent 100%
82
82
  );
@@ -57,11 +57,7 @@
57
57
 
58
58
  @mixin background {
59
59
  position: relative;
60
- align-items: center;
61
- justify-content: center;
62
-
63
- display: flex;
64
-
60
+ display: inline block;
65
61
  overflow: hidden;
66
62
 
67
63
  transition-duration: #{token(animation-duration)};
@@ -84,22 +80,23 @@
84
80
 
85
81
  position: absolute;
86
82
 
87
- // Using containment here should mitigate the hit to performance from animating the size
88
- contain: strict;
89
-
83
+ top: 50%;
84
+ left: 50%;
85
+ transform: translate(-50%, -50%);
86
+ transform-origin: top left;
90
87
  transition-duration: #{token(animation-duration)};
91
88
  transition-delay: #{token(animation-delay)};
92
89
  transition-timing-function: #{token(animation-timing-function)};
93
- transition-property: inline-size, block-size, border-color;
90
+ transition-property: opacity, scale;
94
91
 
95
92
  border-radius: #{token(shape)};
96
- border-width: calc(#{token(mark-height)} / 2) calc(#{token(mark-width)} / 2);
97
- border-color: #{token(mark-unchecked-color)};
98
- border-style: solid;
99
- inline-size: calc(#{token(width)} - 2 * #{token(border-width)});
100
- block-size: calc(#{token(height)} - 2 * #{token(border-width)});
93
+ inline-size: #{token(mark-width)};
94
+ block-size: #{token(mark-height)};
101
95
 
102
- background: #{token(mark-unchecked-background)};
96
+ background: #{token(mark-color)};
97
+
98
+ scale: 0.5;
99
+ opacity: 0;
103
100
  }
104
101
  }
105
102
 
@@ -107,11 +104,8 @@
107
104
  border-color: #{token(checked-border-color)};
108
105
 
109
106
  &::after {
110
- border-color: #{token(mark-checked-color)};
111
- inline-size: 0px;
112
- block-size: 0px;
113
-
114
- background: #{token(mark-checked-background)};
107
+ scale: 1;
108
+ opacity: 1;
115
109
  }
116
110
  }
117
111
 
@@ -28,7 +28,6 @@
28
28
  height: 100%;
29
29
  width: 100%;
30
30
  overflow: hidden;
31
- contain: paint size;
32
31
  }
33
32
 
34
33
  @mixin base() {
@@ -3,6 +3,7 @@
3
3
  * Copyright Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
+ @use 'sass:string';
6
7
  @use '../../core/styles/animation';
7
8
  @use '../../core/styles/theme';
8
9
  @use './variables';
@@ -132,7 +133,6 @@
132
133
  width: 100%;
133
134
  height: 100%;
134
135
  overflow: hidden;
135
- contain: paint size;
136
136
  }
137
137
 
138
138
  @mixin base-horizontal() {
@@ -213,7 +213,7 @@
213
213
  @mixin closing-animation($direction: right) {
214
214
  @include animating-position($direction);
215
215
 
216
- $animation-name: unique-id;
216
+ $animation-name: string.unique-id();
217
217
 
218
218
  animation-name: $animation-name;
219
219
  animation-duration: #{animation.variable(duration-medium2)};
@@ -14,7 +14,6 @@
14
14
 
15
15
  @mixin host {
16
16
  display: block;
17
- contain: layout;
18
17
  }
19
18
 
20
19
  @mixin base {
@@ -37,7 +37,7 @@
37
37
  margin: -1px;
38
38
  overflow: hidden;
39
39
  padding: 0;
40
- position: absolute;
40
+ position: fixed;
41
41
  width: 1px;
42
42
  outline: 0;
43
43
  -webkit-appearance: none;