@enact/limestone 1.10.0 → 1.10.1

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 (41) hide show
  1. package/ActionGuide/ActionGuide.module.css +4 -0
  2. package/BodyText/BodyText.module.css +21 -0
  3. package/Button/Button.module.css +72 -40
  4. package/CHANGELOG.md +40 -0
  5. package/Card/Card.js +3 -0
  6. package/Card/Card.module.css +31 -7
  7. package/Checkbox/Checkbox.module.css +4 -0
  8. package/Chips/Chip.module.css +3 -0
  9. package/Heading/Heading.module.css +16 -0
  10. package/Icon/Icon.module.css +12 -0
  11. package/IconItem/IconItem.module.css +16 -0
  12. package/ImageItem/ImageItem.module.css +17 -0
  13. package/Input/Input.module.css +25 -9
  14. package/Input/InputField.module.css +18 -0
  15. package/Item/Item.module.css +2 -1
  16. package/KeyGuide/KeyGuide.module.css +10 -0
  17. package/MediaOverlay/MediaOverlay.module.css +16 -4
  18. package/MediaPlayer/MediaControls.module.css +3 -0
  19. package/MediaPlayer/Times.module.css +4 -0
  20. package/PageViews/PageViews.module.css +4 -0
  21. package/Panels/Header.module.css +37 -31
  22. package/PopupTabLayout/PopupTabLayout.module.css +18 -0
  23. package/RadioItem/RadioItem.module.css +5 -0
  24. package/Scroller/EditableWrapper.js +2 -1
  25. package/Scroller/Scroller.module.css +10 -0
  26. package/Scroller/tests/Scroller-specs.js +91 -2
  27. package/Scroller/useThemeScroller.js +3 -0
  28. package/Slider/Slider.module.css +0 -3
  29. package/Steps/Steps.module.css +3 -0
  30. package/Switch/Switch.module.css +15 -1
  31. package/TabLayout/TabGroup.module.css +1 -1
  32. package/TimePicker/TimePicker.module.css +3 -0
  33. package/TooltipDecorator/Tooltip.module.css +4 -0
  34. package/VideoPlayer/Feedback.module.css +3 -0
  35. package/VideoPlayer/FeedbackTooltip.module.css +7 -0
  36. package/VideoPlayer/MediaTitle.module.css +8 -0
  37. package/internal/DateTime/DateTime.module.css +3 -0
  38. package/internal/Picker/Picker.module.css +22 -0
  39. package/package.json +9 -9
  40. package/styles/variables.less +117 -25
  41. package/useScroll/ScrollbarPlaceholder.js +8 -3
@@ -17,25 +17,6 @@
17
17
  .header .titlesRow .back {
18
18
  margin-inline-start: 0;
19
19
  }
20
- .header .titlesRow .back:global(.largeText) {
21
- font-family: "Limestone";
22
- font-size: var(--primitive-font-size-60);
23
- font-style: normal;
24
- font-weight: var(--primitive-font-weight-semibold);
25
- font-kerning: normal;
26
- height: 2.75rem;
27
- line-height: 2.5rem;
28
- min-width: 2.75rem;
29
- }
30
- :global(.enact-locale-non-latin) .header .titlesRow .back:global(.largeText) {
31
- font-family: "Limestone";
32
- }
33
- :global(.enact-locale-non-latin) .header .titlesRow .back:global(.largeText) {
34
- font-family: "Limestone";
35
- font-size: var(--primitive-font-size-54);
36
- font-style: normal;
37
- font-weight: var(--primitive-font-weight-bold);
38
- }
39
20
  .header .titlesRow .close {
40
21
  margin-inline-end: 0;
41
22
  }
@@ -103,6 +84,12 @@
103
84
  .header.centered:not(.isPopupHeader) .slotBelow {
104
85
  text-align: center;
105
86
  }
87
+ .header.centered:not(.isPopupHeader).mini .title {
88
+ margin-top: calc(abs(-18px) / 2);
89
+ }
90
+ :global(.enact-orientation-portrait) .header.centered:not(.isPopupHeader).standard .title {
91
+ margin-top: calc(abs(-18px) / -2);
92
+ }
106
93
  .header .title {
107
94
  margin: 0;
108
95
  }
@@ -127,25 +114,21 @@
127
114
  margin: var(--primitive-spacing-18) calc(var(--primitive-spacing-36) * -1) 0 calc(var(--primitive-spacing-36) * -1);
128
115
  }
129
116
  .header.standard.slotBefore:not(.centered) .slotBefore,
130
- .header.mini.slotBefore:not(.centered) .slotBefore,
131
117
  .header.wizard.slotBefore:not(.centered) .slotBefore {
132
118
  margin-left: 0;
133
119
  margin-right: var(--primitive-spacing-36);
134
120
  }
135
121
  :global(.enact-locale-right-to-left) .header.standard.slotBefore:not(.centered) .slotBefore,
136
- :global(.enact-locale-right-to-left) .header.mini.slotBefore:not(.centered) .slotBefore,
137
122
  :global(.enact-locale-right-to-left) .header.wizard.slotBefore:not(.centered) .slotBefore {
138
123
  margin-left: var(--primitive-spacing-36);
139
124
  margin-right: 0;
140
125
  }
141
126
  .header.standard.slotAfter:not(.centered) .slotAfter,
142
- .header.mini.slotAfter:not(.centered) .slotAfter,
143
127
  .header.wizard.slotAfter:not(.centered) .slotAfter {
144
128
  margin-left: var(--primitive-spacing-36);
145
129
  margin-right: 0;
146
130
  }
147
131
  :global(.enact-locale-right-to-left) .header.standard.slotAfter:not(.centered) .slotAfter,
148
- :global(.enact-locale-right-to-left) .header.mini.slotAfter:not(.centered) .slotAfter,
149
132
  :global(.enact-locale-right-to-left) .header.wizard.slotAfter:not(.centered) .slotAfter {
150
133
  margin-left: 0;
151
134
  margin-right: var(--primitive-spacing-36);
@@ -185,21 +168,21 @@
185
168
  :global(.enact-locale-non-latin) .header.compact .title {
186
169
  font-size: 1.875rem;
187
170
  }
188
- .header.compact.slotBefore:not(.centered) .slotBefore {
171
+ .header.compact.slotBefore .slotBefore {
189
172
  margin-left: 0;
190
- margin-right: var(--primitive-spacing-24);
173
+ margin-right: var(--primitive-spacing-12);
191
174
  }
192
- :global(.enact-locale-right-to-left) .header.compact.slotBefore:not(.centered) .slotBefore {
193
- margin-left: var(--primitive-spacing-24);
175
+ :global(.enact-locale-right-to-left) .header.compact.slotBefore .slotBefore {
176
+ margin-left: var(--primitive-spacing-12);
194
177
  margin-right: 0;
195
178
  }
196
- .header.compact.slotAfter:not(.centered) .slotAfter {
197
- margin-left: var(--primitive-spacing-30);
179
+ .header.compact.slotAfter .slotAfter {
180
+ margin-left: var(--primitive-spacing-12);
198
181
  margin-right: 0;
199
182
  }
200
- :global(.enact-locale-right-to-left) .header.compact.slotAfter:not(.centered) .slotAfter {
183
+ :global(.enact-locale-right-to-left) .header.compact.slotAfter .slotAfter {
201
184
  margin-left: 0;
202
- margin-right: var(--primitive-spacing-30);
185
+ margin-right: var(--primitive-spacing-12);
203
186
  }
204
187
  .header.compact.isPopupHeader.slotAfter {
205
188
  padding-left: 1.25rem;
@@ -234,6 +217,10 @@
234
217
  .header.wizard.centered .subtitle {
235
218
  text-align: center;
236
219
  }
220
+ :global(.enact-orientation-portrait) .header.wizard.slotBefore .slotBefore,
221
+ :global(.enact-orientation-portrait) .header.wizard.slotAfter .slotAfter {
222
+ margin-top: NaNrem + -18px) * -1);
223
+ }
237
224
  .header.mini {
238
225
  margin: 0 0 0.75rem 0;
239
226
  padding: 0.86458rem 1.25rem 0.55208rem 1.25rem;
@@ -250,6 +237,25 @@
250
237
  :global(.enact-locale-non-latin) .header.mini .title {
251
238
  font-size: 1.875rem;
252
239
  }
240
+ .header.mini .title:not(.isPopupHeader) {
241
+ margin-top: calc(abs(-18px) / 2);
242
+ }
243
+ .header.mini.slotBefore .slotBefore {
244
+ margin-left: 0;
245
+ margin-right: var(--primitive-spacing-12);
246
+ }
247
+ :global(.enact-locale-right-to-left) .header.mini.slotBefore .slotBefore {
248
+ margin-left: var(--primitive-spacing-12);
249
+ margin-right: 0;
250
+ }
251
+ .header.mini.slotAfter .slotAfter {
252
+ margin-left: var(--primitive-spacing-12);
253
+ margin-right: 0;
254
+ }
255
+ :global(.enact-locale-right-to-left) .header.mini.slotAfter .slotAfter {
256
+ margin-left: 0;
257
+ margin-right: var(--primitive-spacing-12);
258
+ }
253
259
  .header.mini.withSubtitle:not(.noSubtitle) .titlesRow {
254
260
  padding-bottom: 70.2px;
255
261
  }
@@ -64,6 +64,9 @@
64
64
  .popupTabLayout:global(.neutral) .tabGroup .tab .icon {
65
65
  --icon-size: 2rem;
66
66
  }
67
+ .popupTabLayout:global(.neutral) .tabGroup .tab:global(.largeText) .icon {
68
+ --icon-size: 2.4rem;
69
+ }
67
70
  :global(.noAnimation) .popupTabLayout:global(.neutral) .tabs,
68
71
  :global(.noAnimation) .popupTabLayout:global(.neutral) .content .panels::before {
69
72
  box-shadow: none;
@@ -92,6 +95,9 @@
92
95
  :global(.enact-a11y-high-contrast) .popupTabLayout:global(.neutral):global(.highContrast) .tabGroup .tab .icon {
93
96
  --icon-size: 2rem;
94
97
  }
98
+ :global(.enact-a11y-high-contrast) .popupTabLayout:global(.neutral):global(.highContrast) .tabGroup .tab:global(.largeText) .icon {
99
+ --icon-size: 2.4rem;
100
+ }
95
101
  :global(.noAnimation) :global(.enact-a11y-high-contrast) .popupTabLayout:global(.neutral):global(.highContrast) .tabs,
96
102
  :global(.noAnimation) :global(.enact-a11y-high-contrast) .popupTabLayout:global(.neutral):global(.highContrast) .content .panels::before {
97
103
  box-shadow: none;
@@ -120,6 +126,9 @@
120
126
  .popupTabLayout:global(.light) .tabGroup .tab .icon {
121
127
  --icon-size: 2rem;
122
128
  }
129
+ .popupTabLayout:global(.light) .tabGroup .tab:global(.largeText) .icon {
130
+ --icon-size: 2.4rem;
131
+ }
123
132
  :global(.noAnimation) .popupTabLayout:global(.light) .tabs,
124
133
  :global(.noAnimation) .popupTabLayout:global(.light) .content .panels::before {
125
134
  box-shadow: none;
@@ -151,6 +160,9 @@
151
160
  .popupTabLayout:global(.game) .tabGroup .tab .icon {
152
161
  --icon-size: 2rem;
153
162
  }
163
+ .popupTabLayout:global(.game) .tabGroup .tab:global(.largeText) .icon {
164
+ --icon-size: 2.4rem;
165
+ }
154
166
  :global(.noAnimation) .popupTabLayout:global(.game) .tabs,
155
167
  :global(.noAnimation) .popupTabLayout:global(.game) .content .panels::before {
156
168
  box-shadow: none;
@@ -181,6 +193,9 @@
181
193
  :global(.green) .popupTabLayout:global(.game) .tabGroup .tab .icon {
182
194
  --icon-size: 2rem;
183
195
  }
196
+ :global(.green) .popupTabLayout:global(.game) .tabGroup .tab:global(.largeText) .icon {
197
+ --icon-size: 2.4rem;
198
+ }
184
199
  :global(.noAnimation) :global(.green) .popupTabLayout:global(.game) .tabs,
185
200
  :global(.noAnimation) :global(.green) .popupTabLayout:global(.game) .content .panels::before {
186
201
  box-shadow: none;
@@ -211,6 +226,9 @@
211
226
  :global(.orange) .popupTabLayout:global(.game) .tabGroup .tab .icon {
212
227
  --icon-size: 2rem;
213
228
  }
229
+ :global(.orange) .popupTabLayout:global(.game) .tabGroup .tab:global(.largeText) .icon {
230
+ --icon-size: 2.4rem;
231
+ }
214
232
  :global(.noAnimation) :global(.orange) .popupTabLayout:global(.game) .tabs,
215
233
  :global(.noAnimation) :global(.orange) .popupTabLayout:global(.game) .content .panels::before {
216
234
  box-shadow: none;
@@ -7,6 +7,11 @@
7
7
  .radioItem .icon {
8
8
  border-radius: var(--semantic-radius-full);
9
9
  font-size: var(--primitive-font-size-48);
10
+ --icon-size: 1.25rem;
11
+ }
12
+ .radioItem .icon:global(.largeText) {
13
+ font-size: var(--primitive-font-size-56);
14
+ --icon-size: 1.5rem;
10
15
  }
11
16
  .radioItem:global(.neutral) .icon {
12
17
  color: transparent;
@@ -613,8 +613,9 @@ var _EditableWrapper = exports.EditableWrapper = function EditableWrapper(props)
613
613
  if (selectItemBy === 'press') {
614
614
  if ((0, _pointer.getPointerMode)()) {
615
615
  _spotlight["default"].setPointerMode(false);
616
+ _spotlight["default"].focus(focusTarget);
616
617
  }
617
- _spotlight["default"].focus(focusTarget);
618
+ if (focusTarget !== _spotlight["default"].getCurrent()) _spotlight["default"].focus(focusTarget);
618
619
  focusItem(focusTarget);
619
620
  }
620
621
  setTimeout(function () {
@@ -15,6 +15,16 @@
15
15
  border-radius: var(--primitive-radius-12);
16
16
  opacity: 0;
17
17
  }
18
+ .focusableBody.hasVerticalScrollbar::before {
19
+ right: var(--scroll-scrollbar-size);
20
+ }
21
+ .focusableBody.hasHorizontalScrollbar::before {
22
+ bottom: var(--scroll-scrollbar-size);
23
+ }
24
+ :global(.enact-locale-right-to-left) .focusableBody.hasVerticalScrollbar::before {
25
+ right: 0;
26
+ left: var(--scroll-scrollbar-size);
27
+ }
18
28
  :global(.spotlight-input-key):global(.spotlight-input-key) .focusableBody:global(.spottable):focus::before,
19
29
  :global(.spotlight-input-key):global(.spotlight-input-mouse) .focusableBody:global(.spottable):focus::before {
20
30
  background-color: color(from var(--semantic-color-surface-default-focused) srgb r g b / 0.1);
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  require("@testing-library/jest-dom");
4
+ var _spotlight = _interopRequireDefault(require("@enact/spotlight"));
4
5
  var _react = require("@testing-library/react");
6
+ var _react2 = require("react");
5
7
  var _Scroller = _interopRequireDefault(require("../Scroller"));
6
8
  var _jsxRuntime = require("react/jsx-runtime");
7
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
@@ -66,7 +68,7 @@ describe('Scroller', function () {
66
68
  });
67
69
  });
68
70
  describe('focusable Scrollbar', function () {
69
- test('should have focuable body and thumb when \'focusableScrollbar\' is "byEnter"', function () {
71
+ test('should have focusable body and thumb when \'focusableScrollbar\' is "byEnter"', function () {
70
72
  var id = 'scroller';
71
73
  (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Scroller["default"], {
72
74
  "data-testid": id,
@@ -86,7 +88,7 @@ describe('Scroller', function () {
86
88
  expect(scrollBody).toHaveClass(expected);
87
89
  expect(verticalScrollbar).toHaveClass(expected);
88
90
  });
89
- test('should have focuable scroll thumb when \'focusableScrollbar\' is true', function () {
91
+ test('should have focusable scroll thumb when \'focusableScrollbar\' is true', function () {
90
92
  var id = 'scroller';
91
93
  (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Scroller["default"], {
92
94
  "data-testid": id,
@@ -101,6 +103,93 @@ describe('Scroller', function () {
101
103
  expect(scrollBody).not.toHaveClass(expected);
102
104
  expect(verticalScrollbar).toHaveClass(expected);
103
105
  });
106
+ describe('ScrollbarPlaceholder focus restoration', function () {
107
+ var focusSpy, pointerModeSpy, currentSpy, pausedSpy, containerSpy;
108
+ var placeholderElement;
109
+ var renderWithFocusedPlaceholder = function renderWithFocusedPlaceholder() {
110
+ placeholderElement = null;
111
+ currentSpy.mockImplementation(function () {
112
+ return placeholderElement;
113
+ });
114
+ var onRender = function onRender(id, phase) {
115
+ if (phase === 'mount') {
116
+ placeholderElement = document.querySelector('[data-spotlight-ignore-restore]');
117
+ }
118
+ };
119
+ var view = (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_react2.Profiler, {
120
+ id: "placeholder",
121
+ onRender: onRender,
122
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Scroller["default"], {
123
+ focusableScrollbar: "byEnter",
124
+ verticalScrollbar: "visible",
125
+ children: contents
126
+ })
127
+ }));
128
+ currentSpy.mockImplementation(function () {
129
+ return null;
130
+ });
131
+ focusSpy.mockClear();
132
+ return view;
133
+ };
134
+ beforeEach(function () {
135
+ jest.useFakeTimers();
136
+ focusSpy = jest.spyOn(_spotlight["default"], 'focus').mockImplementation(function () {
137
+ return true;
138
+ });
139
+ pointerModeSpy = jest.spyOn(_spotlight["default"], 'getPointerMode').mockReturnValue(false);
140
+ currentSpy = jest.spyOn(_spotlight["default"], 'getCurrent').mockReturnValue(null);
141
+ pausedSpy = jest.spyOn(_spotlight["default"], 'isPaused').mockReturnValue(false);
142
+ containerSpy = jest.spyOn(_spotlight["default"], 'getActiveContainer').mockReturnValue('active-container');
143
+ });
144
+ afterEach(function () {
145
+ focusSpy.mockRestore();
146
+ pointerModeSpy.mockRestore();
147
+ currentSpy.mockRestore();
148
+ pausedSpy.mockRestore();
149
+ containerSpy.mockRestore();
150
+ jest.useRealTimers();
151
+ });
152
+ test('should focus the active container after the placeholder disappears', function () {
153
+ renderWithFocusedPlaceholder();
154
+ (0, _react.act)(function () {
155
+ return jest.advanceTimersByTime(0);
156
+ });
157
+ expect(focusSpy).toHaveBeenCalledWith('active-container', {
158
+ toOuterContainer: true
159
+ });
160
+ });
161
+ test('should not focus when pointer mode is active', function () {
162
+ pointerModeSpy.mockReturnValue(true);
163
+ renderWithFocusedPlaceholder();
164
+ (0, _react.act)(function () {
165
+ return jest.advanceTimersByTime(0);
166
+ });
167
+ expect(focusSpy).not.toHaveBeenCalled();
168
+ });
169
+ test('should defer focus while spotlight is paused, then focus after 400ms once it unpauses', function () {
170
+ pausedSpy.mockReturnValue(true);
171
+ renderWithFocusedPlaceholder();
172
+ (0, _react.act)(function () {
173
+ return jest.advanceTimersByTime(0);
174
+ });
175
+ expect(focusSpy).not.toHaveBeenCalled();
176
+ pausedSpy.mockReturnValue(false);
177
+ (0, _react.act)(function () {
178
+ return jest.advanceTimersByTime(400);
179
+ });
180
+ expect(focusSpy).toHaveBeenCalledWith('active-container', {
181
+ toOuterContainer: true
182
+ });
183
+ });
184
+ test('should not focus after the 400ms retry if spotlight is still paused', function () {
185
+ pausedSpy.mockReturnValue(true);
186
+ renderWithFocusedPlaceholder();
187
+ (0, _react.act)(function () {
188
+ return jest.advanceTimersByTime(400);
189
+ });
190
+ expect(focusSpy).not.toHaveBeenCalled();
191
+ });
192
+ });
104
193
  });
105
194
  describe('Scrollbar accessibility', function () {
106
195
  test('should set a custom "aria-label" to the scroll thumb in the horizontal scroll bar', function () {
@@ -377,6 +377,9 @@ var useThemeScroller = exports.useThemeScroller = function useThemeScroller(prop
377
377
  var _ref3 = props.focusableScrollbar === 'byEnter' ? getFocusableBodyProps(scrollContainerRef, contentId, isScrollbarVisible) : {},
378
378
  setNavigableFilter = _ref3.setNavigableFilter,
379
379
  focusableBodyProps = _objectWithoutProperties(_ref3, _excluded2);
380
+ if (focusableBodyProps.className) {
381
+ focusableBodyProps.className = (0, _classnames["default"])(focusableBodyProps.className, isVerticalScrollbarVisible && _ScrollerModule["default"].hasVerticalScrollbar, isHorizontalScrollbarVisible && _ScrollerModule["default"].hasHorizontalScrollbar);
382
+ }
380
383
  (0, _react.useLayoutEffect)(function () {
381
384
  // Initial filter setting
382
385
  if (setNavigableFilter) {
@@ -169,9 +169,6 @@ Motion Mixins
169
169
  .slider.horizontal .minMax {
170
170
  margin-top: var(--primitive-spacing-24);
171
171
  }
172
- .slider.horizontal:global(.largeText) {
173
- padding: 0.25rem 0.375rem;
174
- }
175
172
  .slider.vertical {
176
173
  padding: 0.375rem 0.5rem;
177
174
  min-height: 5rem;
@@ -5,6 +5,9 @@
5
5
  font-size: var(--primitive-font-size-48);
6
6
  font-weight: var(--primitive-font-weight-semibold);
7
7
  }
8
+ .steps .step.numbers:global(.largeText) {
9
+ font-size: var(--primitive-font-size-58);
10
+ }
8
11
  .steps .step.highlightCurrentOnly.future {
9
12
  opacity: 1;
10
13
  }
@@ -86,7 +86,7 @@ Motion Mixins
86
86
  position: relative;
87
87
  }
88
88
  .switch .client {
89
- border-radius: var(--primitive-radius-30);
89
+ border-radius: var(--primitive-radius-999);
90
90
  width: 2.5rem;
91
91
  height: 1.25rem;
92
92
  position: relative;
@@ -106,9 +106,23 @@ Motion Mixins
106
106
  top: 0.125rem;
107
107
  left: 0.125rem;
108
108
  }
109
+ .switch:global(.largeText) .client {
110
+ width: 3rem;
111
+ height: 1.5rem;
112
+ }
113
+ .switch:global(.largeText) .icon {
114
+ height: 1.1875rem;
115
+ width: 1.1875rem;
116
+ line-height: 1.5rem;
117
+ top: 0.15625rem;
118
+ left: 0.15625rem;
119
+ }
109
120
  .switch.selected .icon {
110
121
  left: 1.375rem;
111
122
  }
123
+ .switch.selected:global(.largeText) .icon {
124
+ left: 1.65625rem;
125
+ }
112
126
  .switch.animated .client {
113
127
  transition: background-color 200ms;
114
128
  }
@@ -49,7 +49,7 @@
49
49
  margin-right: 0;
50
50
  }
51
51
  .tab.vertical.button:global(.largeText) {
52
- font-size: var(--primitive-font-size-60);
52
+ font-size: var(--primitive-font-size-72);
53
53
  min-width: 2.75rem;
54
54
  }
55
55
  .tab.vertical .client {
@@ -22,6 +22,9 @@
22
22
  :global(.enact-locale-right-to-left) .timePicker .pickers .meridiemPicker {
23
23
  order: 4;
24
24
  }
25
+ .timePicker:global(.largeText) .timeSeparator {
26
+ font-size: var(--primitive-font-size-72);
27
+ }
25
28
  .timePicker:global(.neutral) .timeSeparator[disabled] {
26
29
  opacity: 1;
27
30
  opacity: 0.3;
@@ -62,6 +62,10 @@
62
62
  :global(.enact-locale-ja) .tooltip .tooltipLabel.multi {
63
63
  line-break: strict;
64
64
  }
65
+ .tooltip:global(.largeText) .tooltipLabel {
66
+ font-size: var(--primitive-font-size-66);
67
+ line-height: 1.75rem;
68
+ }
65
69
  .tooltip.balloon {
66
70
  /* Needed to prevent global class being added in the DOM */
67
71
  }
@@ -49,3 +49,6 @@
49
49
  --semantic-color-surface-default-focused: #b85f23;
50
50
  color: inherit;
51
51
  }
52
+ :global(.largeText) .feedback .icon {
53
+ font-size: 1.5em;
54
+ }
@@ -14,6 +14,9 @@
14
14
  font-size: var(--primitive-font-size-54);
15
15
  margin-bottom: var(--primitive-spacing-30);
16
16
  }
17
+ :global(.largeText) .feedbackTooltip.shift .content {
18
+ font-size: var(--primitive-font-size-56);
19
+ }
17
20
  .feedbackTooltip.hidden {
18
21
  display: none;
19
22
  }
@@ -61,6 +64,10 @@
61
64
  font-size: var(--primitive-font-size-48);
62
65
  font-weight: var(--primitive-font-weight-regular);
63
66
  }
67
+ :global(.largeText) .feedbackTooltip .content {
68
+ font-size: var(--primitive-font-size-58);
69
+ line-height: 1.75rem;
70
+ }
64
71
  .feedbackTooltip .alignmentContainer {
65
72
  position: relative;
66
73
  right: 50%;
@@ -53,6 +53,14 @@
53
53
  .titleFrame .infoComponents .fontLgIcons {
54
54
  font-family: "LG Icons";
55
55
  }
56
+ :global(.largeText) .titleFrame .title {
57
+ font-size: var(--primitive-font-size-108);
58
+ line-height: 3.04167rem;
59
+ }
60
+ :global(.largeText) .titleFrame .infoComponents {
61
+ font-size: var(--primitive-font-size-66);
62
+ line-height: 1.75rem;
63
+ }
56
64
  :global(.noAnimation) .titleFrame.hidden {
57
65
  transition: none;
58
66
  }
@@ -19,6 +19,9 @@
19
19
  .dateTime .pickers > *:nth-last-child(2) {
20
20
  margin-inline-end: 0;
21
21
  }
22
+ .dateTime:global(.largeText) .heading {
23
+ font-size: var(--primitive-font-size-80);
24
+ }
22
25
  .dateTime:global(.neutral) .heading {
23
26
  color: var(--semantic-color-on-background-main);
24
27
  }
@@ -212,6 +212,28 @@
212
212
  .picker.large .valueWrapper {
213
213
  width: 9.75rem;
214
214
  }
215
+ .picker:global(.largeText) .valueWrapper {
216
+ font-size: var(--primitive-font-size-66);
217
+ height: 1.75rem;
218
+ line-height: 1.75rem;
219
+ }
220
+ .picker:global(.largeText).joined .valueWrapper {
221
+ line-height: 1.75rem;
222
+ }
223
+ .picker:global(.largeText).joined.horizontal:not(.arrow) .valueWrapper {
224
+ font-size: var(--primitive-font-size-80);
225
+ height: 2.29167rem;
226
+ line-height: 2.29167rem;
227
+ }
228
+ .picker:global(.largeText).joined.horizontal:not(.arrow) .indicatorContainer .indicator {
229
+ width: calc(0.5rem * 1.2);
230
+ height: calc(0.5rem * 1.2);
231
+ }
232
+ .picker:global(.largeText).joined.vertical .valueWrapper {
233
+ font-size: var(--primitive-font-size-80);
234
+ height: 2.29167rem;
235
+ line-height: 2.29167rem;
236
+ }
215
237
  .picker:global(.neutral) {
216
238
  color: var(--semantic-color-on-background-main);
217
239
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enact/limestone",
3
- "version": "1.10.0",
3
+ "version": "1.10.1",
4
4
  "description": "Large-screen/TV support library for Enact, containing a variety of UI components.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -39,15 +39,15 @@
39
39
  "screenTypes": "ThemeDecorator/screenTypes.json"
40
40
  },
41
41
  "dependencies": {
42
- "@enact/core": "^5.5.0",
43
- "@enact/i18n": "^5.5.0",
44
- "@enact/spotlight": "^5.5.0",
45
- "@enact/ui": "^5.5.0",
46
- "@enact/webos": "^5.5.0",
47
- "@enovaui/core-tokens": "^0.15.0",
48
- "@enovaui/webos-tokens": "^0.15.0",
42
+ "@enact/core": "^5.5.1",
43
+ "@enact/i18n": "^5.5.1",
44
+ "@enact/spotlight": "^5.5.1",
45
+ "@enact/ui": "^5.5.1",
46
+ "@enact/webos": "^5.5.1",
47
+ "@enovaui/core-tokens": "^2.0.0",
48
+ "@enovaui/webos-tokens": "^2.0.0",
49
49
  "classnames": "^2.5.1",
50
- "ilib": "^14.21.3",
50
+ "ilib": "^14.22.0",
51
51
  "invariant": "^2.2.4",
52
52
  "prop-types": "^15.8.1",
53
53
  "ramda": "^0.32.0",