@enact/limestone 1.3.0 → 1.9.3

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 (163) hide show
  1. package/.github/workflows/ci-branch.yml +21 -0
  2. package/.github/workflows/ci-pull-request.yml +16 -0
  3. package/.github/workflows/ci-reusable.yml +73 -0
  4. package/ActionGuide/ActionGuide.d.ts +5 -4
  5. package/ActionGuide/ActionGuide.module.css +1 -1
  6. package/Alert/Alert.d.ts +4 -2
  7. package/Alert/Alert.js +4 -1
  8. package/Alert/Alert.module.css +36 -0
  9. package/BodyText/BodyText.d.ts +5 -4
  10. package/BodyText/BodyText.module.css +7 -7
  11. package/Button/Button.d.ts +17 -12
  12. package/Button/Button.js +1 -1
  13. package/Button/Button.module.css +195 -268
  14. package/CHANGELOG.md +220 -0
  15. package/Card/Card.d.ts +36 -8
  16. package/Card/Card.js +157 -20
  17. package/Card/Card.module.css +277 -58
  18. package/Card/tests/Card-specs.js +30 -0
  19. package/Checkbox/Checkbox.d.ts +8 -7
  20. package/Checkbox/Checkbox.js +3 -1
  21. package/Checkbox/Checkbox.module.css +213 -120
  22. package/Checkbox/tests/Checkbox-specs.js +1 -1
  23. package/CheckboxItem/CheckboxItem.d.ts +22 -7
  24. package/CheckboxItem/CheckboxItem.js +69 -4
  25. package/Chips/Chip.js +60 -7
  26. package/Chips/Chip.module.css +3 -3
  27. package/Chips/Chips.js +26 -12
  28. package/Chips/Chips.module.css +1 -1
  29. package/Chips/tests/Chip-specs.js +19 -9
  30. package/Chips/tests/Chips-specs.js +19 -19
  31. package/ContextualMenuDecorator/ContextualMenuDecorator.d.ts +4 -5
  32. package/ContextualPopupDecorator/ContextualPopup.module.css +34 -34
  33. package/ContextualPopupDecorator/ContextualPopupDecorator.js +557 -549
  34. package/DatePicker/DatePicker.d.ts +4 -5
  35. package/DayPicker/DayPicker.d.ts +8 -7
  36. package/Dropdown/Dropdown.d.ts +11 -13
  37. package/Dropdown/Dropdown.module.css +9 -9
  38. package/Dropdown/DropdownList.js +16 -11
  39. package/FixedPopupPanels/FixedPopupPanels.d.ts +4 -2
  40. package/FixedPopupPanels/FixedPopupPanels.module.css +18 -18
  41. package/FlexiblePopupPanels/FlexiblePopupPanels.module.css +23 -23
  42. package/FormCheckboxItem/FormCheckboxItem.d.ts +5 -4
  43. package/Heading/Heading.d.ts +8 -7
  44. package/Heading/Heading.module.css +5 -5
  45. package/Icon/Icon.d.ts +14 -4
  46. package/Icon/Icon.js +48 -2
  47. package/Icon/Icon.module.css +1 -1
  48. package/Icon/IconList.js +25 -1
  49. package/IconItem/IconItem.d.ts +13 -12
  50. package/IconItem/IconItem.js +15 -0
  51. package/IconItem/IconItem.module.css +107 -1
  52. package/Image/Image.d.ts +5 -4
  53. package/ImageItem/ImageItem.d.ts +11 -10
  54. package/ImageItem/ImageItem.js +37 -31
  55. package/ImageItem/ImageItem.module.css +30 -30
  56. package/ImageItem/tests/ImageItem-specs.js +3 -10
  57. package/Input/Input.js +9 -2
  58. package/Input/Input.module.css +37 -8
  59. package/Input/InputField.js +5 -1
  60. package/Input/InputField.module.css +17 -2
  61. package/Input/InputFieldSpotlightDecorator.js +213 -229
  62. package/Input/index.d.ts +15 -18
  63. package/Input/tests/InputField-specs.js +21 -0
  64. package/Item/Item.d.ts +16 -9
  65. package/Item/Item.js +20 -2
  66. package/Item/Item.module.css +1 -1
  67. package/KeyGuide/KeyGuide.d.ts +8 -7
  68. package/KeyGuide/KeyGuide.module.css +25 -1
  69. package/Marquee/Marquee.d.ts +2 -4
  70. package/MediaOverlay/MediaOverlay.d.ts +12 -11
  71. package/MediaOverlay/MediaOverlay.js +43 -21
  72. package/MediaOverlay/MediaOverlay.module.css +114 -15
  73. package/MediaPlayer/MediaControls.js +195 -13
  74. package/MediaPlayer/MediaControls.module.css +3 -2
  75. package/MediaPlayer/MediaSlider.module.css +7 -20
  76. package/MediaPlayer/index.d.ts +59 -7
  77. package/PageViews/PageViews.js +165 -80
  78. package/PageViews/PageViewsRouter.js +9 -0
  79. package/PageViews/tests/PageViews-specs.js +84 -0
  80. package/Panels/Header.js +48 -30
  81. package/Panels/Header.module.css +83 -31
  82. package/Panels/Panel.module.css +1 -1
  83. package/Panels/index.d.ts +7 -8
  84. package/Picker/Picker.d.ts +4 -5
  85. package/Picker/Picker.module.css +2 -2
  86. package/Popup/Popup.js +242 -240
  87. package/Popup/Popup.module.css +24 -24
  88. package/PopupTabLayout/PopupTabLayout.d.ts +5 -7
  89. package/PopupTabLayout/PopupTabLayout.js +15 -9
  90. package/PopupTabLayout/PopupTabLayout.module.css +53 -16
  91. package/PopupTabLayout/PopupTabLayoutStateContext.js +8 -0
  92. package/ProgressBar/ProgressBar.d.ts +5 -4
  93. package/ProgressBar/ProgressBarTooltip.module.css +12 -12
  94. package/ProgressButton/ProgressButton.d.ts +4 -5
  95. package/QuickGuidePanels/QuickGuidePanels.module.css +2 -2
  96. package/RadioItem/RadioItem.d.ts +18 -5
  97. package/RadioItem/RadioItem.js +67 -2
  98. package/RadioItem/RadioItem.module.css +36 -36
  99. package/RangePicker/RangePicker.module.css +2 -2
  100. package/Scroller/EditableWrapper.js +11 -4
  101. package/Scroller/Scroller.d.ts +20 -16
  102. package/Scroller/Scroller.js +9 -3
  103. package/Scroller/Scroller.module.css +4 -4
  104. package/Slider/Slider.d.ts +16 -14
  105. package/Slider/Slider.js +37 -4
  106. package/Slider/Slider.module.css +314 -91
  107. package/Slider/tests/Slider-specs.js +2 -1
  108. package/Spinner/Spinner.d.ts +5 -4
  109. package/Spinner/Spinner.module.css +9 -9
  110. package/Steps/Steps.d.ts +5 -4
  111. package/Steps/Steps.js +9 -5
  112. package/Switch/Switch.d.ts +8 -7
  113. package/Switch/Switch.module.css +100 -13
  114. package/SwitchItem/SwitchItem.d.ts +9 -6
  115. package/TabLayout/RefocusDecorator.js +15 -9
  116. package/TabLayout/TabGroup.js +3 -2
  117. package/TabLayout/TabGroup.module.css +2 -2
  118. package/TabLayout/TabLayout.d.ts +6 -0
  119. package/TabLayout/TabLayout.js +11 -1
  120. package/TabLayout/TabLayout.module.css +18 -0
  121. package/TabLayout/tests/TabLayout-specs.js +52 -0
  122. package/ThemeDecorator/ThemeDecorator.d.ts +9 -10
  123. package/ThemeDecorator/fontGenerator.js +1 -1
  124. package/ThemeDecorator/screenTypes.json +1 -0
  125. package/TimePicker/TimePicker.module.css +1 -1
  126. package/TooltipDecorator/Tooltip.module.css +1 -2
  127. package/TooltipDecorator/tests/util-specs.js +12 -0
  128. package/TooltipDecorator/useTooltip.js +1 -1
  129. package/TooltipDecorator/util.js +18 -11
  130. package/VideoPlayer/Feedback.js +3 -0
  131. package/VideoPlayer/Feedback.module.css +5 -9
  132. package/VideoPlayer/FeedbackIcons.js +1 -1
  133. package/VideoPlayer/FeedbackTooltip.module.css +55 -11
  134. package/VideoPlayer/VideoPlayer.d.ts +44 -18
  135. package/VideoPlayer/VideoPlayer.js +128 -23
  136. package/VideoPlayer/VideoPlayer.module.css +28 -11
  137. package/VirtualList/VirtualList.d.ts +9 -2
  138. package/VirtualList/VirtualList.js +31 -6
  139. package/VirtualList/tests/VirtualGridList-translate-specs.js +3 -0
  140. package/VirtualList/tests/VirtualList-specs.js +28 -1
  141. package/VirtualList/tests/VirtualList-translate-specs.js +4 -1
  142. package/WizardPanels/WizardPanels.module.css +2 -2
  143. package/WizardPanels/index.d.ts +4 -2
  144. package/fonts/Limestone_Icons.ttf +0 -0
  145. package/internal/$L/$L.js +3 -3
  146. package/internal/DateComponentPicker/DateComponentPicker.module.css +2 -2
  147. package/internal/DateTime/DateTime.module.css +1 -0
  148. package/internal/Panels/PanelsRouter.js +16 -5
  149. package/internal/Picker/Picker.module.css +2 -2
  150. package/internal/SharedStateDecorator/SharedStateDecorator.js +76 -99
  151. package/internal/validators/validators.js +21 -2
  152. package/package.json +14 -14
  153. package/styles/colors-highcontrast.less +9 -1
  154. package/styles/colors.less +11 -7
  155. package/styles/motion-mixins.less +66 -0
  156. package/styles/motions.less +78 -0
  157. package/styles/variables.less +176 -150
  158. package/useScroll/HoverToScroll.js +8 -5
  159. package/useScroll/ScrollbarTrack.module.css +8 -8
  160. package/useScroll/useEvent.js +7 -1
  161. package/useScroll/useScroll.js +2 -0
  162. package/useScroll/useScroll.module.css +6 -6
  163. package/.travis.yml +0 -40
@@ -2,14 +2,14 @@
2
2
  height: 100%;
3
3
  max-height: 100%;
4
4
  max-width: 100%;
5
- border-radius: 0.5rem;
5
+ border-radius: var(--primitive-radius-24);
6
6
  }
7
7
  .popup .body {
8
8
  font-family: "Limestone";
9
9
  font-weight: normal;
10
10
  font-size: var(--primitive-font-size-60);
11
11
  line-height: 1.4em;
12
- padding: 1rem 1.5rem;
12
+ padding: var(--primitive-spacing-48) var(--primitive-spacing-72);
13
13
  box-sizing: border-box;
14
14
  pointer-events: auto;
15
15
  }
@@ -30,7 +30,7 @@
30
30
  line-height: 1.7em;
31
31
  }
32
32
  :global(.enact-locale-right-to-left) .popup .body {
33
- padding: 1rem 1.5rem 1rem 1.5rem;
33
+ padding: var(--primitive-spacing-48) var(--primitive-spacing-72) var(--primitive-spacing-48) var(--primitive-spacing-72);
34
34
  }
35
35
  :global(.enact-locale-ja) .popup .body {
36
36
  line-break: strict;
@@ -44,26 +44,26 @@
44
44
  height: 100%;
45
45
  }
46
46
  .popup.top {
47
- margin: 3.125rem 2.5rem 1.625rem 2.5rem;
47
+ margin: 3.125rem var(--primitive-spacing-120) 1.625rem var(--primitive-spacing-120);
48
48
  }
49
49
  .popup.top.left,
50
50
  .popup.top.right {
51
- margin: 1.25rem;
51
+ margin: var(--primitive-spacing-60);
52
52
  }
53
53
  .popup.right {
54
- margin: 2.5rem 1.25rem 2.5rem 0.75rem;
55
- max-height: calc(100% - 5rem );
54
+ margin: var(--primitive-spacing-120) var(--primitive-spacing-60) var(--primitive-spacing-120) var(--primitive-spacing-36);
55
+ max-height: calc(100% - (var(--primitive-spacing-120) + var(--primitive-spacing-120)));
56
56
  }
57
57
  .popup.bottom {
58
- margin: 0 2.5rem 3.125rem 2.5rem;
58
+ margin: 0 var(--primitive-spacing-120) 3.125rem var(--primitive-spacing-120);
59
59
  }
60
60
  .popup.bottom.left,
61
61
  .popup.bottom.right {
62
- margin: 1.25rem;
62
+ margin: var(--primitive-spacing-60);
63
63
  }
64
64
  .popup.left {
65
- margin: 2.5rem 0.75rem 2.5rem 1.25rem;
66
- max-height: calc(100% - 5rem );
65
+ margin: var(--primitive-spacing-120) var(--primitive-spacing-36) var(--primitive-spacing-120) var(--primitive-spacing-60);
66
+ max-height: calc(100% - (var(--primitive-spacing-120) + var(--primitive-spacing-120)));
67
67
  }
68
68
  .popup.center {
69
69
  position: absolute;
@@ -85,17 +85,17 @@
85
85
  .popup:global(.neutral).outline {
86
86
  outline-color: var(--semantic-color-stroke-overlay-default);
87
87
  outline-style: solid;
88
- outline-width: 0.021rem;
89
- outline-offset: -0.021rem;
88
+ outline-width: 0.063rem;
89
+ outline-offset: -0.063rem;
90
90
  }
91
91
  :global(.enact-a11y-high-contrast) .popup:global(.neutral):global(.highContrast) {
92
92
  background-color: var(--semantic-color-background-overlay-default);
93
93
  }
94
94
  :global(.enact-a11y-high-contrast) .popup:global(.neutral):global(.highContrast).outline {
95
- outline-color: #7c848b;
95
+ outline-color: var(--semantic-color-stroke-main);
96
96
  outline-style: solid;
97
- outline-width: 0.021rem;
98
- outline-offset: -0.021rem;
97
+ outline-width: 0.063rem;
98
+ outline-offset: -0.063rem;
99
99
  }
100
100
  .popup:global(.light) {
101
101
  background-color: color(from var(--semantic-color-background-overlay-default) srgb r g b / 0.9);
@@ -103,8 +103,8 @@
103
103
  .popup:global(.light).outline {
104
104
  outline-color: var(--semantic-color-stroke-overlay-default);
105
105
  outline-style: solid;
106
- outline-width: 0.021rem;
107
- outline-offset: -0.021rem;
106
+ outline-width: 0.063rem;
107
+ outline-offset: -0.063rem;
108
108
  }
109
109
  .popup:global(.game) {
110
110
  --semantic-color-surface-default: #2d224c;
@@ -115,8 +115,8 @@
115
115
  .popup:global(.game).outline {
116
116
  outline-color: var(--semantic-color-stroke-overlay-default);
117
117
  outline-style: solid;
118
- outline-width: 0.021rem;
119
- outline-offset: -0.021rem;
118
+ outline-width: 0.063rem;
119
+ outline-offset: -0.063rem;
120
120
  }
121
121
  :global(.green) .popup:global(.game) {
122
122
  --semantic-color-surface-default: #1F2C24;
@@ -126,8 +126,8 @@
126
126
  :global(.green) .popup:global(.game).outline {
127
127
  outline-color: var(--semantic-color-stroke-overlay-default);
128
128
  outline-style: solid;
129
- outline-width: 0.021rem;
130
- outline-offset: -0.021rem;
129
+ outline-width: 0.063rem;
130
+ outline-offset: -0.063rem;
131
131
  }
132
132
  :global(.orange) .popup:global(.game) {
133
133
  --semantic-color-surface-default: #422923;
@@ -137,8 +137,8 @@
137
137
  :global(.orange) .popup:global(.game).outline {
138
138
  outline-color: var(--semantic-color-stroke-overlay-default);
139
139
  outline-style: solid;
140
- outline-width: 0.021rem;
141
- outline-offset: -0.021rem;
140
+ outline-width: 0.063rem;
141
+ outline-offset: -0.063rem;
142
142
  }
143
143
  .popupTransitionContainer {
144
144
  position: absolute;
@@ -11,11 +11,10 @@ import { TabLayoutProps as limestone_TabLayout_TabLayoutProps } from "limestone/
11
11
  type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
12
12
  type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
13
13
 
14
- export interface PopupTabLayoutBaseProps
15
- extends Merge<
16
- limestone_Popup_PopupProps,
17
- limestone_TabLayout_TabLayoutProps
18
- > {
14
+ export interface PopupTabLayoutBaseProps extends Merge<
15
+ limestone_Popup_PopupProps,
16
+ limestone_TabLayout_TabLayoutProps
17
+ > {
19
18
  /**
20
19
  * Collection of to render.
21
20
  */
@@ -99,8 +98,7 @@ export class PopupTabLayoutBase extends React.Component<
99
98
  Merge<React.HTMLProps<HTMLElement>, PopupTabLayoutBaseProps>
100
99
  > {}
101
100
 
102
- export interface PopupTabLayoutDecoratorProps
103
- extends limestone_Skinnable_SkinnableProps {}
101
+ export interface PopupTabLayoutDecoratorProps extends limestone_Skinnable_SkinnableProps {}
104
102
  export function PopupTabLayoutDecorator<P>(
105
103
  Component: React.ComponentType<P> | string,
106
104
  ): React.ComponentType<P & PopupTabLayoutDecoratorProps>;
@@ -30,6 +30,7 @@ var _Skinnable = _interopRequireDefault(require("../Skinnable"));
30
30
  var _Panels = _interopRequireWildcard(require("../Panels"));
31
31
  var _TabLayout = _interopRequireWildcard(require("../TabLayout"));
32
32
  var _Popup = _interopRequireDefault(require("../Popup"));
33
+ var _PopupTabLayoutStateContext = require("./PopupTabLayoutStateContext");
33
34
  var _PopupTabLayoutModule = _interopRequireDefault(require("./PopupTabLayout.module.css"));
34
35
  var _jsxRuntime = require("react/jsx-runtime");
35
36
  var _excluded = ["children", "css", "optimized", "PopupComponent"],
@@ -327,15 +328,20 @@ var PopupTabLayoutBase = exports.PopupTabLayoutBase = (0, _kind["default"])({
327
328
  delete popupProps.onShow;
328
329
  delete popupProps.scrimType;
329
330
  }
330
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(PopupComponent, _objectSpread(_objectSpread({}, popupProps), {}, {
331
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabLayout["default"], _objectSpread(_objectSpread({}, rest), {}, {
332
- css: css,
333
- align: "start",
334
- anchorTo: "left",
335
- type: "popup",
336
- children: children
331
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PopupTabLayoutStateContext.PopupTabLayoutStateContext, {
332
+ value: {
333
+ type: 'popupTabLayout'
334
+ },
335
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PopupComponent, _objectSpread(_objectSpread({}, popupProps), {}, {
336
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TabLayout["default"], _objectSpread(_objectSpread({}, rest), {}, {
337
+ css: css,
338
+ align: "start",
339
+ anchorTo: "left",
340
+ type: "popup",
341
+ children: children
342
+ }))
337
343
  }))
338
- }));
344
+ });
339
345
  }
340
346
  });
341
347
  var OptimizedFocusDecorator = (0, _hoc["default"])(function (config, Wrapped) {
@@ -385,7 +391,7 @@ var OptimizedFocusDecorator = (0, _hoc["default"])(function (config, Wrapped) {
385
391
  }
386
392
  }
387
393
  }]);
388
- }(_react.Component), _Class.displayName = 'OptimizedFocusDecorator', _Class.propTypes = /** @lends sandstone/PopupTabLayout.OptimizedFocusDecorator.prototype */{
394
+ }(_react.Component), _Class.displayName = 'OptimizedFocusDecorator', _Class.propTypes = /** @lends limestone/PopupTabLayout.OptimizedFocusDecorator.prototype */{
389
395
  /**
390
396
  * Controls the visibility of the PopupTabLayout.
391
397
  *
@@ -1,7 +1,7 @@
1
1
  .popupTabLayout.popup,
2
2
  .popupTabLayout.optimized {
3
- margin: 1.25rem auto 2.75rem 1.25rem;
4
- max-height: calc(100vh - 4rem );
3
+ margin: var(--primitive-spacing-60) auto var(--primitive-spacing-132) var(--primitive-spacing-60);
4
+ max-height: calc(100vh - (var(--primitive-spacing-60) + var(--primitive-spacing-132)));
5
5
  }
6
6
  .popupTabLayout .tabLayout .tabs {
7
7
  bottom: auto;
@@ -54,9 +54,15 @@
54
54
  background-color: var(--semantic-color-background-overlay-default);
55
55
  box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
56
56
  outline-color: var(--semantic-color-stroke-overlay-default);
57
- outline-width: 0.021rem;
57
+ outline-width: 0.063rem;
58
58
  outline-style: solid;
59
- outline-offset: -0.021rem;
59
+ outline-offset: -0.063rem;
60
+ }
61
+ .popupTabLayout:global(.neutral) .tabGroup {
62
+ background-color: var(--semantic-color-background-overlay-default);
63
+ }
64
+ .popupTabLayout:global(.neutral) .tabGroup .tab .icon {
65
+ --icon-size: 2rem;
60
66
  }
61
67
  :global(.noAnimation) .popupTabLayout:global(.neutral) .tabs,
62
68
  :global(.noAnimation) .popupTabLayout:global(.neutral) .content .panels::before {
@@ -75,10 +81,16 @@
75
81
  :global(.enact-a11y-high-contrast) .popupTabLayout:global(.neutral):global(.highContrast) .content .panels::before {
76
82
  background-color: var(--semantic-color-background-overlay-default);
77
83
  box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
78
- outline-color: #7c848b;
79
- outline-width: 0.021rem;
84
+ outline-color: var(--semantic-color-stroke-main);
85
+ outline-width: 0.063rem;
80
86
  outline-style: solid;
81
- outline-offset: -0.021rem;
87
+ outline-offset: -0.063rem;
88
+ }
89
+ :global(.enact-a11y-high-contrast) .popupTabLayout:global(.neutral):global(.highContrast) .tabGroup {
90
+ background-color: var(--semantic-color-background-overlay-default);
91
+ }
92
+ :global(.enact-a11y-high-contrast) .popupTabLayout:global(.neutral):global(.highContrast) .tabGroup .tab .icon {
93
+ --icon-size: 2rem;
82
94
  }
83
95
  :global(.noAnimation) :global(.enact-a11y-high-contrast) .popupTabLayout:global(.neutral):global(.highContrast) .tabs,
84
96
  :global(.noAnimation) :global(.enact-a11y-high-contrast) .popupTabLayout:global(.neutral):global(.highContrast) .content .panels::before {
@@ -98,9 +110,15 @@
98
110
  background-color: var(--semantic-color-background-overlay-default);
99
111
  box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
100
112
  outline-color: var(--semantic-color-stroke-overlay-default);
101
- outline-width: 0.021rem;
113
+ outline-width: 0.063rem;
102
114
  outline-style: solid;
103
- outline-offset: -0.021rem;
115
+ outline-offset: -0.063rem;
116
+ }
117
+ .popupTabLayout:global(.light) .tabGroup {
118
+ background-color: var(--semantic-color-background-overlay-default);
119
+ }
120
+ .popupTabLayout:global(.light) .tabGroup .tab .icon {
121
+ --icon-size: 2rem;
104
122
  }
105
123
  :global(.noAnimation) .popupTabLayout:global(.light) .tabs,
106
124
  :global(.noAnimation) .popupTabLayout:global(.light) .content .panels::before {
@@ -123,9 +141,15 @@
123
141
  background-color: var(--semantic-color-background-overlay-default);
124
142
  box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
125
143
  outline-color: var(--semantic-color-stroke-overlay-default);
126
- outline-width: 0.021rem;
144
+ outline-width: 0.063rem;
127
145
  outline-style: solid;
128
- outline-offset: -0.021rem;
146
+ outline-offset: -0.063rem;
147
+ }
148
+ .popupTabLayout:global(.game) .tabGroup {
149
+ background-color: var(--semantic-color-background-overlay-default);
150
+ }
151
+ .popupTabLayout:global(.game) .tabGroup .tab .icon {
152
+ --icon-size: 2rem;
129
153
  }
130
154
  :global(.noAnimation) .popupTabLayout:global(.game) .tabs,
131
155
  :global(.noAnimation) .popupTabLayout:global(.game) .content .panels::before {
@@ -147,9 +171,15 @@
147
171
  background-color: var(--semantic-color-background-overlay-default);
148
172
  box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
149
173
  outline-color: var(--semantic-color-stroke-overlay-default);
150
- outline-width: 0.021rem;
174
+ outline-width: 0.063rem;
151
175
  outline-style: solid;
152
- outline-offset: -0.021rem;
176
+ outline-offset: -0.063rem;
177
+ }
178
+ :global(.green) .popupTabLayout:global(.game) .tabGroup {
179
+ background-color: var(--semantic-color-background-overlay-default);
180
+ }
181
+ :global(.green) .popupTabLayout:global(.game) .tabGroup .tab .icon {
182
+ --icon-size: 2rem;
153
183
  }
154
184
  :global(.noAnimation) :global(.green) .popupTabLayout:global(.game) .tabs,
155
185
  :global(.noAnimation) :global(.green) .popupTabLayout:global(.game) .content .panels::before {
@@ -171,9 +201,15 @@
171
201
  background-color: var(--semantic-color-background-overlay-default);
172
202
  box-shadow: 0 0.75rem 1rem color(from var(--semantic-color-on-background-black) srgb r g b / 0.35);
173
203
  outline-color: var(--semantic-color-stroke-overlay-default);
174
- outline-width: 0.021rem;
204
+ outline-width: 0.063rem;
175
205
  outline-style: solid;
176
- outline-offset: -0.021rem;
206
+ outline-offset: -0.063rem;
207
+ }
208
+ :global(.orange) .popupTabLayout:global(.game) .tabGroup {
209
+ background-color: var(--semantic-color-background-overlay-default);
210
+ }
211
+ :global(.orange) .popupTabLayout:global(.game) .tabGroup .tab .icon {
212
+ --icon-size: 2rem;
177
213
  }
178
214
  :global(.noAnimation) :global(.orange) .popupTabLayout:global(.game) .tabs,
179
215
  :global(.noAnimation) :global(.orange) .popupTabLayout:global(.game) .content .panels::before {
@@ -206,7 +242,8 @@
206
242
  }
207
243
  .panel {
208
244
  padding: 0;
209
- max-height: calc(100vh - 4rem );
245
+ max-height: calc(100vh - (var(--primitive-spacing-60) + var(--primitive-spacing-132)));
246
+ min-height: 20.75rem;
210
247
  }
211
248
  .panel > .body {
212
249
  display: flex;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PopupTabLayoutStateContext = void 0;
7
+ var _react = require("react");
8
+ var PopupTabLayoutStateContext = exports.PopupTabLayoutStateContext = /*#__PURE__*/(0, _react.createContext)({});
@@ -152,14 +152,15 @@ export class ProgressBarTooltip extends React.Component<
152
152
  Merge<React.HTMLProps<HTMLElement>, ProgressBarTooltipProps>
153
153
  > {}
154
154
 
155
- export interface ProgressBarDecoratorProps
156
- extends limestone_Skinnable_SkinnableProps {}
155
+ export interface ProgressBarDecoratorProps extends limestone_Skinnable_SkinnableProps {}
157
156
  export function ProgressBarDecorator<P>(
158
157
  Component: React.ComponentType<P> | string,
159
158
  ): React.ComponentType<P & ProgressBarDecoratorProps>;
160
159
 
161
- export interface ProgressBarProps
162
- extends Merge<ProgressBarBaseProps, ProgressBarDecoratorProps> {}
160
+ export interface ProgressBarProps extends Merge<
161
+ ProgressBarBaseProps,
162
+ ProgressBarDecoratorProps
163
+ > {}
163
164
  /**
164
165
  * The ready-to-use Limestone-styled ProgressBar.
165
166
  */
@@ -6,10 +6,10 @@
6
6
  left: var(--tooltip-progress-percent);
7
7
  }
8
8
  .tooltip.horizontal.above {
9
- bottom: 0.5rem;
9
+ bottom: calc(var(--primitive-spacing-12) + 12px);
10
10
  }
11
11
  .tooltip.horizontal.below {
12
- top: 0.5rem;
12
+ top: calc(var(--primitive-spacing-12) + 12px);
13
13
  }
14
14
  .tooltip.vertical {
15
15
  bottom: var(--tooltip-progress-percent);
@@ -17,12 +17,12 @@
17
17
  .tooltip.vertical.left,
18
18
  .tooltip.vertical.before,
19
19
  :global(.enact-locale-right-to-left) .tooltip.vertical.after {
20
- right: 0.5rem;
20
+ right: calc(var(--primitive-spacing-12) + 12px);
21
21
  }
22
22
  .tooltip.vertical.right,
23
23
  .tooltip.vertical.after,
24
24
  :global(.enact-locale-right-to-left) .tooltip.vertical.before {
25
- left: 0.5rem;
25
+ left: calc(var(--primitive-spacing-12) + 12px);
26
26
  }
27
27
  .tooltip.radial {
28
28
  left: 50%;
@@ -49,38 +49,38 @@
49
49
  left: 50%;
50
50
  }
51
51
  .tooltip.radial.center.above {
52
- bottom: calc(100% + 0.5rem );
52
+ bottom: calc(100% + calc(var(--primitive-spacing-12) + 12px) );
53
53
  }
54
54
  .tooltip.radial.center.below {
55
- top: calc(100% + 0.5rem );
55
+ top: calc(100% + calc(var(--primitive-spacing-12) + 12px) );
56
56
  }
57
57
  .tooltip.radial.left,
58
58
  .tooltip.radial.before,
59
59
  :global(.enact-locale-right-to-left) .tooltip.radial.after {
60
- left: -0.5rem;
60
+ left: calc(calc(var(--primitive-spacing-12) + 12px) * -1);
61
61
  }
62
62
  .tooltip.radial.left.above,
63
63
  .tooltip.radial.before.above,
64
64
  :global(.enact-locale-right-to-left) .tooltip.radial.after.above {
65
- bottom: calc(100% + 0.5rem );
65
+ bottom: calc(100% + calc(var(--primitive-spacing-12) + 12px) );
66
66
  }
67
67
  .tooltip.radial.left.below,
68
68
  .tooltip.radial.before.below,
69
69
  :global(.enact-locale-right-to-left) .tooltip.radial.after.below {
70
- top: calc(100% + 0.5rem );
70
+ top: calc(100% + calc(var(--primitive-spacing-12) + 12px) );
71
71
  }
72
72
  .tooltip.radial.right,
73
73
  .tooltip.radial.after,
74
74
  :global(.enact-locale-right-to-left) .tooltip.radial.before {
75
- left: calc(100% + 0.5rem );
75
+ left: calc(100% + calc(var(--primitive-spacing-12) + 12px) );
76
76
  }
77
77
  .tooltip.radial.right.above,
78
78
  .tooltip.radial.after.above,
79
79
  :global(.enact-locale-right-to-left) .tooltip.radial.before.above {
80
- bottom: calc(100% + 0.5rem );
80
+ bottom: calc(100% + calc(var(--primitive-spacing-12) + 12px) );
81
81
  }
82
82
  .tooltip.radial.right.below,
83
83
  .tooltip.radial.after.below,
84
84
  :global(.enact-locale-right-to-left) .tooltip.radial.before.below {
85
- top: calc(100% + 0.5rem );
85
+ top: calc(100% + calc(var(--primitive-spacing-12) + 12px) );
86
86
  }
@@ -7,11 +7,10 @@ import { ProgressBarProps as limestone_ProgressBar_ProgressBarProps } from "lime
7
7
  type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
8
8
  type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
9
9
 
10
- export interface ProgressButtonBaseProps
11
- extends Merge<
12
- limestone_Button_ButtonBaseProps,
13
- limestone_ProgressBar_ProgressBarProps
14
- > {
10
+ export interface ProgressButtonBaseProps extends Merge<
11
+ limestone_Button_ButtonBaseProps,
12
+ limestone_ProgressBar_ProgressBarProps
13
+ > {
15
14
  /**
16
15
  * Customizes the component by mapping the supplied collection of CSS class names to the
17
16
  corresponding internal elements and states of this component.
@@ -7,7 +7,7 @@
7
7
  justify-content: center;
8
8
  align-items: center;
9
9
  width: 100%;
10
- margin-top: 1.875rem;
10
+ margin-top: var(--primitive-spacing-90);
11
11
  min-height: 1rem;
12
12
  }
13
13
  .quickGuidePanels .contentHeader .close {
@@ -22,5 +22,5 @@
22
22
  z-index: 10;
23
23
  }
24
24
  .quickGuidePanels .navigationButtonContainer .navigationButton {
25
- margin: 0 0.25rem;
25
+ margin: 0 var(--primitive-spacing-12);
26
26
  }
@@ -1,8 +1,8 @@
1
1
  // Type definitions for limestone/RadioItem
2
2
 
3
3
  import { ToggleableProps as ui_Toggleable_ToggleableProps } from "@enact/ui/Toggleable";
4
- import { ItemProps as limestone_Item_ItemProps } from "limestone/Item";
5
4
  import * as React from "react";
5
+ import { ItemProps as limestone_Item_ItemProps } from "limestone/Item";
6
6
 
7
7
  type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
8
8
  type Merge<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
@@ -19,8 +19,10 @@ export class RadioItemBase extends React.Component<
19
19
  Merge<React.HTMLProps<HTMLElement>, RadioItemBaseProps>
20
20
  > {}
21
21
 
22
- export interface RadioItemProps
23
- extends Merge<RadioItemBaseProps, RadioItemDecoratorProps> {
22
+ export interface RadioItemProps extends Merge<
23
+ RadioItemBaseProps,
24
+ RadioItemDecoratorProps
25
+ > {
24
26
  /**
25
27
  * Customizes the component by mapping the supplied collection of CSS class names to the
26
28
  corresponding internal elements and states of this component.
@@ -50,10 +52,21 @@ export class RadioItem extends React.Component<
50
52
  Merge<React.HTMLProps<HTMLElement>, RadioItemProps>
51
53
  > {}
52
54
 
53
- export interface RadioItemDecoratorProps
54
- extends ui_Toggleable_ToggleableProps {}
55
+ export interface RadioItemDecoratorProps extends ui_Toggleable_ToggleableProps {}
55
56
  export function RadioItemDecorator<P>(
56
57
  Component: React.ComponentType<P> | string,
57
58
  ): React.ComponentType<P & RadioItemDecoratorProps>;
58
59
 
60
+ export interface RadioItemGroupProps {}
61
+ /**
62
+ * A container that surrounds multiple RadioItems.
63
+ *
64
+ * A list of multiple RadioItems wrapped with a RadioItemGroup component gets
65
+ required audio guidance.
66
+ */
67
+
68
+ export class RadioItemGroup extends React.Component<
69
+ Merge<React.HTMLProps<HTMLElement>, RadioItemGroupProps>
70
+ > {}
71
+
59
72
  export default RadioItem;
@@ -3,18 +3,23 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.RadioItemDecorator = exports.RadioItemBase = exports.RadioItem = void 0;
6
+ exports["default"] = exports.RadioItemGroup = exports.RadioItemDecorator = exports.RadioItemBase = exports.RadioItem = void 0;
7
7
  var _kind = _interopRequireDefault(require("@enact/core/kind"));
8
+ var _Group = _interopRequireDefault(require("@enact/ui/Group"));
8
9
  var _Pure = _interopRequireDefault(require("@enact/ui/internal/Pure"));
9
10
  var _Slottable = _interopRequireDefault(require("@enact/ui/Slottable"));
10
11
  var _Toggleable = _interopRequireDefault(require("@enact/ui/Toggleable"));
12
+ var _IString = _interopRequireDefault(require("ilib/lib/IString"));
11
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
14
  var _compose = _interopRequireDefault(require("ramda/src/compose"));
13
15
  var _Icon = _interopRequireDefault(require("../Icon"));
16
+ var _$L = _interopRequireDefault(require("../internal/$L"));
14
17
  var _Item = require("../Item");
15
18
  var _RadioItemModule = _interopRequireDefault(require("./RadioItem.module.css"));
16
19
  var _jsxRuntime = require("react/jsx-runtime");
17
- var _excluded = ["children", "css", "icon", "selected", "slotBefore"];
20
+ var _excluded = ["children", "css", "icon", "selected", "slotBefore"],
21
+ _excluded2 = ["children", "groupId", "itemProps"],
22
+ _excluded3 = ["children"];
18
23
  /**
19
24
  * Provides a Limestone-themed Item component with an interactive radio toggle icon.
20
25
  *
@@ -143,4 +148,64 @@ var RadioItemDecorator = exports.RadioItemDecorator = (0, _compose["default"])((
143
148
  * @public
144
149
  */
145
150
  var RadioItem = exports.RadioItem = (0, _Pure["default"])(RadioItemDecorator(RadioItemBase));
151
+
152
+ /**
153
+ * A container that surrounds multiple RadioItems.
154
+ *
155
+ * A list of multiple RadioItems wrapped with a RadioItemGroup component gets
156
+ * required audio guidance.
157
+ *
158
+ * @class RadioItemGroup
159
+ * @memberof limestone/RadioItem
160
+ * @ui
161
+ * @public
162
+ */
163
+ var _RadioItemGroup = exports.RadioItemGroup = function RadioItemGroup(props) {
164
+ var children = props.children,
165
+ groupId = props.groupId,
166
+ itemProps = props.itemProps,
167
+ rest = _objectWithoutProperties(props, _excluded2);
168
+ _RadioItemGroup.propTypes = {
169
+ groupId: _propTypes["default"].string,
170
+ itemProps: _propTypes["default"].object
171
+ };
172
+ if (typeof children[0] === 'string') {
173
+ // The case of multiple radio items are represented by string array instead of `RadioItem` compoenents using `ui/Group`
174
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
175
+ role: "region",
176
+ "aria-labelledby": groupId || "radioItemGroup",
177
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Group["default"], _objectSpread(_objectSpread({}, rest), {}, {
178
+ id: groupId || "radioItemGroup",
179
+ "aria-label": new _IString["default"]((0, _$L["default"])('{total} items in total')).format({
180
+ 'total': children.length
181
+ }),
182
+ childComponent: RadioItem,
183
+ childSelect: "onToggle",
184
+ itemProps: _objectSpread({}, itemProps),
185
+ children: children
186
+ }))
187
+ });
188
+ } else {
189
+ // The case of multiple radio items are represented by `RadioItem` components
190
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
191
+ role: "region",
192
+ "aria-labelledby": groupId || "radioItemGroup",
193
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({}, rest), {}, {
194
+ role: "group",
195
+ id: groupId || "radioItemGroup",
196
+ "aria-label": new _IString["default"]((0, _$L["default"])('{total} items in total')).format({
197
+ 'total': children.length
198
+ }),
199
+ children: children.map(function (child, index) {
200
+ var _child$props = child.props,
201
+ itemValue = _child$props.children,
202
+ childRest = _objectWithoutProperties(_child$props, _excluded3);
203
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(RadioItem, _objectSpread(_objectSpread(_objectSpread({}, childRest), itemProps), {}, {
204
+ children: itemValue
205
+ }), index);
206
+ })
207
+ }))
208
+ });
209
+ }
210
+ };
146
211
  var _default = exports["default"] = RadioItem;