@enact/limestone 1.10.0 → 1.10.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 (133) hide show
  1. package/.github/PULL_REQUEST_TEMPLATE.md +1 -0
  2. package/ActionGuide/ActionGuide.d.ts +1 -1
  3. package/ActionGuide/ActionGuide.module.css +7 -0
  4. package/Alert/Alert.d.ts +9 -0
  5. package/Alert/Alert.js +63 -21
  6. package/Alert/Alert.module.css +41 -9
  7. package/Alert/AlertImage.module.css +5 -1
  8. package/Alert/tests/Alert-specs.js +6 -2
  9. package/BodyText/BodyText.d.ts +1 -1
  10. package/BodyText/BodyText.js +14 -9
  11. package/BodyText/BodyText.module.css +22 -1
  12. package/Button/Button.d.ts +3 -3
  13. package/Button/Button.module.css +81 -63
  14. package/CHANGELOG.md +87 -0
  15. package/Card/Card.d.ts +81 -9
  16. package/Card/Card.js +324 -84
  17. package/Card/Card.module.css +200 -25
  18. package/Card/tests/Card-specs.js +100 -0
  19. package/Checkbox/Checkbox.d.ts +2 -2
  20. package/Checkbox/Checkbox.module.css +2 -5
  21. package/CheckboxItem/CheckboxItem.d.ts +8 -1
  22. package/CheckboxItem/CheckboxItem.js +39 -12
  23. package/CheckboxItem/CheckboxItem.module.css +228 -4
  24. package/Chips/Chip.module.css +5 -2
  25. package/ContextualMenuDecorator/ContextualMenuDecorator.d.ts +2 -2
  26. package/ContextualPopupDecorator/ContextualPopup.module.css +1 -1
  27. package/ContextualPopupDecorator/ContextualPopupDecorator.js +2 -4
  28. package/ContextualPopupDecorator/tests/ContextualPopupDecorator-specs.js +39 -2
  29. package/Dropdown/Dropdown.d.ts +2 -2
  30. package/Dropdown/Dropdown.module.css +7 -7
  31. package/FixedPopupPanels/FixedPopupPanels.d.ts +2 -2
  32. package/FlexiblePopupPanels/FlexiblePopupPanels.module.css +15 -3
  33. package/FlexiblePopupPanels/index.d.ts +2 -2
  34. package/FormCheckboxItem/FormCheckboxItem.d.ts +1 -1
  35. package/FormCheckboxItem/FormCheckboxItem.js +1 -0
  36. package/FormCheckboxItem/FormCheckboxItem.module.css +1 -1
  37. package/Heading/Heading.d.ts +2 -2
  38. package/Heading/Heading.module.css +16 -0
  39. package/Icon/Icon.d.ts +22 -1
  40. package/Icon/Icon.js +21 -0
  41. package/Icon/Icon.module.css +12 -0
  42. package/Icon/IconList.js +43 -1
  43. package/IconItem/IconItem.d.ts +2 -2
  44. package/IconItem/IconItem.module.css +27 -14
  45. package/Image/Image.d.ts +1 -1
  46. package/Image/Image.module.css +1 -1
  47. package/ImageItem/ImageItem.d.ts +2 -2
  48. package/ImageItem/ImageItem.js +3 -16
  49. package/ImageItem/ImageItem.module.css +122 -97
  50. package/ImageItem/tests/ImageItem-specs.js +6 -5
  51. package/Input/Input.module.css +33 -16
  52. package/Input/InputField.module.css +22 -4
  53. package/Input/index.d.ts +1 -1
  54. package/Input/tests/Input-specs.js +2 -2
  55. package/Input/tests/InputField-specs.js +1 -1
  56. package/Item/Item.d.ts +2 -2
  57. package/Item/Item.module.css +29 -16
  58. package/KeyGuide/KeyGuide.d.ts +2 -2
  59. package/KeyGuide/KeyGuide.module.css +10 -0
  60. package/MediaOverlay/MediaOverlay.d.ts +2 -2
  61. package/MediaOverlay/MediaOverlay.module.css +18 -9
  62. package/MediaPlayer/MediaControls.module.css +3 -0
  63. package/MediaPlayer/MediaSlider.module.css +1 -0
  64. package/MediaPlayer/Times.module.css +5 -1
  65. package/MediaPlayer/index.d.ts +2 -2
  66. package/PageViews/PageViews.module.css +6 -1
  67. package/Panels/Header.module.css +74 -56
  68. package/Panels/Panel.module.css +1 -1
  69. package/Panels/index.d.ts +1 -1
  70. package/Picker/Picker.d.ts +1 -1
  71. package/Popup/Popup.module.css +4 -1
  72. package/PopupTabLayout/PopupTabLayout.d.ts +6 -6
  73. package/PopupTabLayout/PopupTabLayout.module.css +24 -6
  74. package/ProgressBar/ProgressBar.d.ts +1 -1
  75. package/ProgressBar/ProgressBar.module.css +12 -12
  76. package/ProgressBar/ProgressBarTooltip.module.css +7 -7
  77. package/ProgressButton/ProgressButton.d.ts +2 -2
  78. package/QuickGuidePanels/QuickGuidePanels.module.css +1 -1
  79. package/RadioItem/RadioItem.d.ts +1 -1
  80. package/RadioItem/RadioItem.module.css +21 -18
  81. package/Scroller/EditableWrapper.js +2 -1
  82. package/Scroller/Scroller.d.ts +12 -0
  83. package/Scroller/Scroller.js +15 -0
  84. package/Scroller/Scroller.module.css +10 -0
  85. package/Scroller/tests/Scroller-specs.js +120 -2
  86. package/Scroller/useThemeScroller.js +25 -2
  87. package/Slider/Slider.d.ts +1 -1
  88. package/Slider/Slider.module.css +539 -303
  89. package/Spinner/Spinner.d.ts +1 -1
  90. package/Spinner/Spinner.module.css +2 -2
  91. package/Steps/Steps.d.ts +1 -1
  92. package/Steps/Steps.js +12 -6
  93. package/Steps/Steps.module.css +19 -2
  94. package/Switch/Switch.module.css +17 -6
  95. package/SwitchItem/SwitchItem.d.ts +1 -1
  96. package/TabLayout/RefocusDecorator.js +1 -1
  97. package/TabLayout/TabGroup.module.css +13 -7
  98. package/TabLayout/TabLayout.js +4 -0
  99. package/ThemeDecorator/ThemeDecorator.d.ts +1 -1
  100. package/ThemeDecorator/ThemeDecorator.module.css +22 -1
  101. package/TimePicker/TimePicker.module.css +3 -0
  102. package/TooltipDecorator/Tooltip.js +68 -7
  103. package/TooltipDecorator/Tooltip.module.css +44 -23
  104. package/TooltipDecorator/TooltipDecorator.d.ts +52 -0
  105. package/TooltipDecorator/TooltipDecorator.js +42 -0
  106. package/TooltipDecorator/TooltipLabel.js +67 -14
  107. package/TooltipDecorator/tests/TooltipDecorator-specs.js +46 -0
  108. package/TooltipDecorator/useTooltip.js +14 -2
  109. package/VideoPlayer/Feedback.module.css +3 -0
  110. package/VideoPlayer/FeedbackTooltip.module.css +7 -0
  111. package/VideoPlayer/MediaTitle.module.css +9 -1
  112. package/VirtualList/VirtualList.d.ts +24 -0
  113. package/VirtualList/VirtualList.js +30 -0
  114. package/VirtualList/tests/stickTo-specs.js +115 -0
  115. package/VirtualList/tests/useEvent-specs.js +39 -0
  116. package/VirtualList/useEvent.js +45 -10
  117. package/VirtualList/useThemeVirtualList.js +20 -2
  118. package/WizardPanels/WizardPanels.module.css +1 -1
  119. package/fonts/Limestone_Icons.ttf +0 -0
  120. package/internal/DateComponentPicker/DateComponentPicker.module.css +3 -3
  121. package/internal/DateTime/DateTime.module.css +3 -0
  122. package/internal/Picker/Picker.js +8 -10
  123. package/internal/Picker/Picker.module.css +92 -137
  124. package/package.json +14 -17
  125. package/styles/color-mixins.less +4 -60
  126. package/styles/colors-game.less +5 -5
  127. package/styles/colors.less +9 -10
  128. package/styles/mixins.less +0 -46
  129. package/styles/motion-mixins.less +16 -7
  130. package/styles/motions.less +2 -2
  131. package/styles/variables.less +186 -69
  132. package/useScroll/ScrollbarPlaceholder.js +8 -3
  133. package/useScroll/useScroll.js +3 -1
@@ -1,6 +1,6 @@
1
1
  // Type definitions for limestone/Spinner
2
2
 
3
- import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "limestone/Skinnable";
3
+ import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "@enact/limestone/Skinnable";
4
4
  import { SpinnerBaseProps as ui_Spinner_SpinnerBaseProps } from "@enact/ui/Spinner";
5
5
  import * as React from "react";
6
6
 
@@ -52,7 +52,7 @@
52
52
  }
53
53
  }
54
54
  .spinner {
55
- line-height: 1.4em;
55
+ line-height: 1.34em;
56
56
  vertical-align: middle;
57
57
  }
58
58
  .spinner .bg {
@@ -126,7 +126,7 @@
126
126
  align-content: center;
127
127
  height: 2.75rem;
128
128
  font-weight: var(--primitive-font-weight-semibold);
129
- line-height: 1.4em;
129
+ line-height: 1.34em;
130
130
  max-width: 14.5rem;
131
131
  }
132
132
  :global(.enact-locale-non-latin) .spinner .client {
package/Steps/Steps.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  // Type definitions for limestone/Steps
2
2
 
3
- import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "limestone/Skinnable";
3
+ import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "@enact/limestone/Skinnable";
4
4
  import * as React from "react";
5
5
 
6
6
  type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
package/Steps/Steps.js CHANGED
@@ -255,14 +255,20 @@ var StepsBase = exports.StepsBase = (0, _kind["default"])({
255
255
  children: children
256
256
  };
257
257
  });
258
+ },
259
+ className: function className(_ref4) {
260
+ var _className = _ref4.className,
261
+ css = _ref4.css,
262
+ highlightCurrentOnly = _ref4.highlightCurrentOnly;
263
+ return (0, _classnames["default"])(_className, _defineProperty({}, css.highlightCurrentOnly, highlightCurrentOnly));
258
264
  }
259
265
  },
260
- render: function render(_ref4) {
261
- var css = _ref4.css,
262
- iconComponent = _ref4.iconComponent,
263
- size = _ref4.size,
264
- steps = _ref4.steps,
265
- rest = _objectWithoutProperties(_ref4, _excluded2);
266
+ render: function render(_ref5) {
267
+ var css = _ref5.css,
268
+ iconComponent = _ref5.iconComponent,
269
+ size = _ref5.size,
270
+ steps = _ref5.steps,
271
+ rest = _objectWithoutProperties(_ref5, _excluded2);
266
272
  delete rest.current;
267
273
  delete rest.currentIcon;
268
274
  delete rest.futureIcon;
@@ -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
  }
@@ -14,16 +17,30 @@
14
17
  .steps .step.future {
15
18
  opacity: 1;
16
19
  }
20
+ .steps.highlightCurrentOnly {
21
+ display: flex;
22
+ justify-content: center;
23
+ align-items: center;
24
+ gap: var(--primitive-spacing-24);
25
+ margin-top: var(--primitive-spacing-30);
26
+ }
17
27
  .steps .pageIndicator {
18
28
  width: 0.375rem;
19
29
  height: 0.375rem;
20
- margin: 0 var(--primitive-spacing-12);
30
+ margin: 0;
21
31
  border-radius: var(--semantic-radius-full);
22
32
  }
23
33
  .steps .pageIndicator.current {
24
34
  width: 0.5rem;
25
35
  height: 0.5rem;
26
- margin: 0 var(--primitive-spacing-6);
36
+ }
37
+ .steps:global(.largeText) .pageIndicator {
38
+ width: calc(0.375rem * 1.2);
39
+ height: calc(0.375rem * 1.2);
40
+ }
41
+ .steps:global(.largeText) .pageIndicator.current {
42
+ width: calc(0.5rem * 1.2);
43
+ height: calc(0.5rem * 1.2);
27
44
  }
28
45
  .steps:global(.neutral) .step:not(.pageIndicator).past {
29
46
  color: var(--semantic-color-on-background-main);
@@ -34,8 +34,8 @@ Animations properties
34
34
  --lime-bounce-motion-easing-function: var(--lime-default-motion-easing-function);
35
35
  --lime-focus-in-motion-easing-function: var(--lime-EIO-motion-easing-function);
36
36
  --lime-focus-out-motion-easing-function: var(--lime-EO-motion-easing-function);
37
- --lime-press-motion-easing-function: var(--lime-EIO-motion-easing-function);
38
- --lime-release-motion-easing-function: var(--lime-EO-motion-easing-function);
37
+ --lime-press-motion-easing-function: var(--lime-EO-motion-easing-function);
38
+ --lime-release-motion-easing-function: var(--lime-EIO-motion-easing-function);
39
39
  /* ---------------------------------------
40
40
  Keyframes names
41
41
  ------------------------------------------ */
@@ -76,9 +76,6 @@ Keyframes
76
76
  }
77
77
  }
78
78
  /* ---------------------------------------
79
- Motion Variables
80
- ------------------------------------------ */
81
- /* ---------------------------------------
82
79
  Motion Mixins
83
80
  ------------------------------------------ */
84
81
  .switch {
@@ -86,7 +83,7 @@ Motion Mixins
86
83
  position: relative;
87
84
  }
88
85
  .switch .client {
89
- border-radius: var(--primitive-radius-30);
86
+ border-radius: var(--primitive-radius-999);
90
87
  width: 2.5rem;
91
88
  height: 1.25rem;
92
89
  position: relative;
@@ -106,9 +103,23 @@ Motion Mixins
106
103
  top: 0.125rem;
107
104
  left: 0.125rem;
108
105
  }
106
+ .switch:global(.largeText) .client {
107
+ width: 3rem;
108
+ height: 1.5rem;
109
+ }
110
+ .switch:global(.largeText) .icon {
111
+ height: 1.1875rem;
112
+ width: 1.1875rem;
113
+ line-height: 1.5rem;
114
+ top: 0.15625rem;
115
+ left: 0.15625rem;
116
+ }
109
117
  .switch.selected .icon {
110
118
  left: 1.375rem;
111
119
  }
120
+ .switch.selected:global(.largeText) .icon {
121
+ left: 1.65625rem;
122
+ }
112
123
  .switch.animated .client {
113
124
  transition: background-color 200ms;
114
125
  }
@@ -1,7 +1,7 @@
1
1
  // Type definitions for limestone/SwitchItem
2
2
 
3
3
  import { ToggleableProps as ui_Toggleable_ToggleableProps } from "@enact/ui/Toggleable";
4
- import { ItemProps as limestone_Item_ItemProps } from "limestone/Item";
4
+ import { ItemProps as limestone_Item_ItemProps } from "@enact/limestone/Item";
5
5
  import * as React from "react";
6
6
 
7
7
  type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
@@ -40,7 +40,7 @@ var getNavigableFilter = exports.getNavigableFilter = function getNavigableFilte
40
40
  };
41
41
  function useScreenOrientation() {
42
42
  var getOrientation = function getOrientation() {
43
- return window.innerWidth > window.innerHeight ? 'landscape' : 'portrait';
43
+ return typeof window === 'object' && window.innerWidth > window.innerHeight ? 'landscape' : 'portrait';
44
44
  };
45
45
  var _useState = (0, _react.useState)(getOrientation()),
46
46
  _useState2 = _slicedToArray(_useState, 2),
@@ -22,6 +22,10 @@
22
22
  height: 2rem;
23
23
  line-height: 1.25rem;
24
24
  }
25
+ .tab.horizontal.button.small:global(.largeText) {
26
+ font-size: var(--primitive-font-size-58);
27
+ line-height: 1.45833rem;
28
+ }
25
29
  .tab.vertical.button {
26
30
  height: 3.25rem;
27
31
  padding: var(--primitive-spacing-36) var(--primitive-spacing-48);
@@ -49,7 +53,7 @@
49
53
  margin-right: 0;
50
54
  }
51
55
  .tab.vertical.button:global(.largeText) {
52
- font-size: var(--primitive-font-size-60);
56
+ font-size: var(--primitive-font-size-72);
53
57
  min-width: 2.75rem;
54
58
  }
55
59
  .tab.vertical .client {
@@ -111,9 +115,16 @@
111
115
  display: flex;
112
116
  }
113
117
  .tabGroup.horizontal {
118
+ border-radius: var(--primitive-radius-44);
114
119
  margin-left: calc((1 - var(--scrollable)) * var(--offset));
115
120
  padding: var(--primitive-spacing-12);
116
121
  }
122
+ .tabGroup.horizontal.scrollable {
123
+ border-radius: 0;
124
+ }
125
+ .tabGroup.horizontal.scrollable .tabs {
126
+ padding: 0 var(--primitive-spacing-132);
127
+ }
117
128
  .tabGroup.horizontal:not(.scrollable) {
118
129
  width: var(--tabs-width);
119
130
  }
@@ -122,6 +133,7 @@
122
133
  width: calc(var(--tabs-width) - var(--scrollable) * var(--offset) * 2);
123
134
  }
124
135
  .tabGroup.vertical {
136
+ border-radius: var(--semantic-radius-container);
125
137
  padding: var(--primitive-spacing-36);
126
138
  }
127
139
  .tabGroup.vertical.scrollable {
@@ -141,7 +153,6 @@
141
153
  }
142
154
  :global(.neutral) .tabGroup {
143
155
  background-color: color(from var(--semantic-color-surface-default-group) srgb r g b / 0.1);
144
- border-radius: var(--semantic-radius-container);
145
156
  }
146
157
  :global(.neutral) .tabGroup > :first-child {
147
158
  background: transparent;
@@ -162,7 +173,6 @@
162
173
  }
163
174
  :global(.enact-a11y-high-contrast) :global(.neutral):global(.highContrast) .tabGroup {
164
175
  background-color: color(from var(--semantic-color-surface-default-group) srgb r g b / 0.1);
165
- border-radius: var(--semantic-radius-container);
166
176
  }
167
177
  :global(.enact-a11y-high-contrast) :global(.neutral):global(.highContrast) .tabGroup > :first-child {
168
178
  background: transparent;
@@ -183,7 +193,6 @@
183
193
  }
184
194
  :global(.light) .tabGroup {
185
195
  background-color: color(from var(--semantic-color-surface-default-group) srgb r g b / 0.1);
186
- border-radius: var(--semantic-radius-container);
187
196
  }
188
197
  :global(.light) .tabGroup > :first-child {
189
198
  background: transparent;
@@ -209,7 +218,6 @@
209
218
  }
210
219
  :global(.game) .tabGroup {
211
220
  background-color: color(from var(--semantic-color-surface-default-group) srgb r g b / 0.1);
212
- border-radius: var(--semantic-radius-container);
213
221
  }
214
222
  :global(.game) .tabGroup > :first-child {
215
223
  background: transparent;
@@ -234,7 +242,6 @@
234
242
  }
235
243
  :global(.green) :global(.game) .tabGroup {
236
244
  background-color: color(from var(--semantic-color-surface-default-group) srgb r g b / 0.1);
237
- border-radius: var(--semantic-radius-container);
238
245
  }
239
246
  :global(.green) :global(.game) .tabGroup > :first-child {
240
247
  background: transparent;
@@ -259,7 +266,6 @@
259
266
  }
260
267
  :global(.orange) :global(.game) .tabGroup {
261
268
  background-color: color(from var(--semantic-color-surface-default-group) srgb r g b / 0.1);
262
- border-radius: var(--semantic-radius-container);
263
269
  }
264
270
  :global(.orange) :global(.game) .tabGroup > :first-child {
265
271
  background: transparent;
@@ -55,6 +55,8 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
55
55
  * @exports Tab
56
56
  */
57
57
  var MAX_TABS_BEFORE_VERTICAL_SCROLLING = 8;
58
+ var MAX_TABS_BEFORE_HORIZONTAL_SCROLLING = 6;
59
+ var MAX_TABS_BEFORE_HORIZONTAL_SCROLLING_SMALL = 7;
58
60
  var TAB_SPACING = 48;
59
61
  var TabLayoutContext = exports.TabLayoutContext = /*#__PURE__*/(0, _react.createContext)(null);
60
62
  var TouchableCell = (0, _Touchable["default"])(_Layout.Cell);
@@ -81,6 +83,8 @@ var getHorizontalTabWidth = function getHorizontalTabWidth(dataSize, size, tabSi
81
83
  };
82
84
  var isHorizontalScrollableTabs = function isHorizontalScrollableTabs(dataSize, offset, size, tabSize) {
83
85
  var _window;
86
+ if (size === 'large' && dataSize > MAX_TABS_BEFORE_HORIZONTAL_SCROLLING) return true;
87
+ if (size === 'small' && dataSize > MAX_TABS_BEFORE_HORIZONTAL_SCROLLING_SMALL) return true;
84
88
  var totalTabsWidth = dataSize * getHorizontalTabWidth(dataSize, size, tabSize) + TAB_SPACING * (dataSize - 1) + 2 * offset;
85
89
  return typeof window !== 'undefined' && (_window = window) !== null && _window !== void 0 && _window.innerWidth ? window.innerWidth < _resolution["default"].scale(totalTabsWidth) : false;
86
90
  };
@@ -3,7 +3,7 @@
3
3
  import { FloatingLayerDecoratorProps as ui_FloatingLayer_FloatingLayerDecoratorProps } from "@enact/ui/FloatingLayer";
4
4
  import { ResolutionDecoratorProps as ui_resolution_ResolutionDecoratorProps } from "@enact/ui/resolution";
5
5
  import { SpotlightRootDecoratorProps as spotlight_SpotlightRootDecorator_SpotlightRootDecoratorProps } from "@enact/spotlight/SpotlightRootDecorator";
6
- import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "limestone/Skinnable";
6
+ import { SkinnableProps as limestone_Skinnable_SkinnableProps } from "@enact/limestone/Skinnable";
7
7
 
8
8
  type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
9
9
  type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
@@ -268,6 +268,27 @@
268
268
  src: local("LG Smart UI NUMBER Bold"), local("LGSmartUINUMBER-Bold");
269
269
  font-weight: 700;
270
270
  }
271
+ /* ----- Limestone Title ------ */
272
+ @font-face {
273
+ font-family: "Limestone Title";
274
+ src: local("LGSmart UI 3.0 Title Regular"), local("LGSmartUI3.0Title-Regular"), local("LGSmart UI 3.0 Title");
275
+ font-weight: normal;
276
+ }
277
+ @font-face {
278
+ font-family: "Limestone Title";
279
+ src: local("LGSmart UI 3.0 Title Light"), local("LGSmartUI3.0Title-Light");
280
+ font-weight: normal;
281
+ }
282
+ @font-face {
283
+ font-family: "Limestone Title";
284
+ src: local("LGSmart UI 3.0 Title SemiBold"), local("LGSmartUI3.0Title-SemiBold");
285
+ font-weight: normal;
286
+ }
287
+ @font-face {
288
+ font-family: "Limestone Title";
289
+ src: local("LGSmart UI 3.0 Title Bold"), local("LGSmartUI3.0Title-Bold");
290
+ font-weight: normal;
291
+ }
271
292
  /* ----- Manual Limestone Locale Fonts (Stacking onto "Limestone") ------ */
272
293
  @font-face {
273
294
  font-family: "Limestone";
@@ -1171,7 +1192,7 @@
1171
1192
  .root {
1172
1193
  font-family: "Limestone";
1173
1194
  font-size: var(--primitive-font-size-60);
1174
- line-height: 1.4em;
1195
+ line-height: 1.34em;
1175
1196
  font-weight: normal;
1176
1197
  font-style: normal;
1177
1198
  letter-spacing: normal;
@@ -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;
@@ -8,12 +8,13 @@ exports.defaultArrowAnchor = defaultArrowAnchor;
8
8
  exports.defaultDirection = defaultDirection;
9
9
  var _propTypes = _interopRequireDefault(require("@enact/core/internal/prop-types"));
10
10
  var _kind = _interopRequireDefault(require("@enact/core/kind"));
11
+ var _usePublicClassNames = require("@enact/core/usePublicClassNames");
11
12
  var _propTypes2 = _interopRequireDefault(require("prop-types"));
12
13
  var _Skinnable = _interopRequireDefault(require("../Skinnable"));
13
14
  var _TooltipLabel = _interopRequireDefault(require("./TooltipLabel"));
14
15
  var _TooltipModule = _interopRequireDefault(require("./Tooltip.module.css"));
15
16
  var _jsxRuntime = require("react/jsx-runtime");
16
- var _excluded = ["arrowAnchor", "children", "css", "tooltipRef", "width", "labelOffset", "marquee"];
17
+ var _excluded = ["arrowAnchor", "children", "css", "tooltipImage", "noArrow", "tooltipCss", "tooltipImageSize", "tooltipRef", "width", "labelOffset", "marquee"];
17
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
18
19
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
19
20
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
@@ -111,6 +112,13 @@ var TooltipBase = exports.TooltipBase = (0, _kind["default"])({
111
112
  * @public
112
113
  */
113
114
  marquee: _propTypes2["default"].bool,
115
+ /**
116
+ * `Tooltip` without the arrow.
117
+ *
118
+ * @type {Boolean}
119
+ * @public
120
+ */
121
+ noArrow: _propTypes2["default"].bool,
114
122
  /**
115
123
  * Style object for tooltip position.
116
124
  *
@@ -134,6 +142,41 @@ var TooltipBase = exports.TooltipBase = (0, _kind["default"])({
134
142
  * @public
135
143
  */
136
144
  relative: _propTypes2["default"].bool,
145
+ /**
146
+ * Customizes the component by mapping the supplied collection of CSS class names to the
147
+ * corresponding internal elements and states of this component.
148
+ *
149
+ * The following classes are supported:
150
+ *
151
+ * * `tooltip` - The root class name
152
+ *
153
+ * @type {Object}
154
+ * @public
155
+ */
156
+ tooltipCss: _propTypes2["default"].object,
157
+ /**
158
+ * Source for the image.
159
+ * String value or Object of values used to determine which image will appear on
160
+ * a specific screenSize.
161
+ *
162
+ * @type {String|Object}
163
+ * @public
164
+ */
165
+ tooltipImage: _propTypes2["default"].oneOfType([_propTypes2["default"].string, _propTypes2["default"].object]),
166
+ /**
167
+ * The size of the image.
168
+ *
169
+ * The following properties should be provided:
170
+ * * `height` - The height of the image
171
+ * * `width` - The width of the image
172
+ *
173
+ * @type {Object}
174
+ * @public
175
+ */
176
+ tooltipImageSize: _propTypes2["default"].shape({
177
+ height: _propTypes2["default"].number,
178
+ width: _propTypes2["default"].number
179
+ }),
137
180
  /**
138
181
  * Called when the tooltip mounts/unmounts, giving a reference to the DOM.
139
182
  *
@@ -172,6 +215,7 @@ var TooltipBase = exports.TooltipBase = (0, _kind["default"])({
172
215
  width: _propTypes2["default"].oneOfType([_propTypes2["default"].number, _propTypes2["default"].string])
173
216
  },
174
217
  defaultProps: {
218
+ tooltipCss: {},
175
219
  type: 'balloon',
176
220
  labelOffset: 0
177
221
  },
@@ -193,12 +237,15 @@ var TooltipBase = exports.TooltipBase = (0, _kind["default"])({
193
237
  className: function className(_ref2) {
194
238
  var direction = _ref2.direction,
195
239
  arrowAnchor = _ref2.arrowAnchor,
240
+ noArrow = _ref2.noArrow,
196
241
  relative = _ref2.relative,
242
+ tooltipCss = _ref2.tooltipCss,
197
243
  type = _ref2.type,
198
244
  styler = _ref2.styler;
199
- return styler.append(direction || defaultDirection(type), "".concat(arrowAnchor || defaultArrowAnchor(type), "Arrow"), {
245
+ return styler.append(direction || defaultDirection(type), "".concat(arrowAnchor || defaultArrowAnchor(type), "Arrow"), tooltipCss.tooltip, {
200
246
  relative: relative,
201
- absolute: !relative
247
+ absolute: !relative,
248
+ noArrow: noArrow
202
249
  }, type);
203
250
  },
204
251
  style: function style(_ref3) {
@@ -211,6 +258,10 @@ var TooltipBase = exports.TooltipBase = (0, _kind["default"])({
211
258
  var arrowAnchor = _ref4.arrowAnchor,
212
259
  children = _ref4.children,
213
260
  css = _ref4.css,
261
+ tooltipImage = _ref4.tooltipImage,
262
+ noArrow = _ref4.noArrow,
263
+ tooltipCss = _ref4.tooltipCss,
264
+ tooltipImageSize = _ref4.tooltipImageSize,
214
265
  tooltipRef = _ref4.tooltipRef,
215
266
  width = _ref4.width,
216
267
  labelOffset = _ref4.labelOffset,
@@ -221,18 +272,28 @@ var TooltipBase = exports.TooltipBase = (0, _kind["default"])({
221
272
  delete rest.position;
222
273
  delete rest.relative;
223
274
  delete rest.type;
275
+
276
+ // eslint-disable-next-line react-hooks/rules-of-hooks
277
+ var mergedCss = (0, _usePublicClassNames.usePublicClassNames)({
278
+ componentCss: css,
279
+ customCss: tooltipCss,
280
+ publicClassNames: true
281
+ });
224
282
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, rest), {}, {
225
283
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
226
- className: css.tooltipAnchor,
284
+ className: mergedCss.tooltipAnchor,
227
285
  ref: tooltipRef,
228
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
229
- className: css.tooltipArrow
286
+ children: [!noArrow && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
287
+ className: mergedCss.tooltipArrow
230
288
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TooltipLabel["default"], {
231
- className: css.tooltipLabel,
289
+ className: mergedCss.tooltipLabel,
290
+ tooltipImage: tooltipImage,
232
291
  marquee: marquee,
292
+ noArrow: noArrow,
233
293
  centered: arrowAnchor === 'center',
234
294
  width: width,
235
295
  style: labelOffset,
296
+ tooltipImageSize: tooltipImageSize,
236
297
  children: children
237
298
  })]
238
299
  })