@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
@@ -0,0 +1,21 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - develop
7
+ - master
8
+ pull_request:
9
+ types: [opened, synchronize, reopened]
10
+ workflow_dispatch:
11
+
12
+ concurrency:
13
+ group: ci-branch-${{ github.event.pull_request.number || github.ref }}
14
+ cancel-in-progress: true
15
+
16
+ jobs:
17
+ branch:
18
+ uses: ./.github/workflows/ci-reusable.yml
19
+ with:
20
+ checkout-ref: ${{ github.event.pull_request.head.sha || github.sha }}
21
+ secrets: inherit
@@ -0,0 +1,16 @@
1
+ name: CI
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, synchronize, reopened]
6
+
7
+ concurrency:
8
+ group: ci-pr-${{ github.event.pull_request.number }}
9
+ cancel-in-progress: true
10
+
11
+ jobs:
12
+ pull-request:
13
+ uses: ./.github/workflows/ci-reusable.yml
14
+ with:
15
+ checkout-ref: ''
16
+ secrets: inherit
@@ -0,0 +1,73 @@
1
+ name: CI Pipeline
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ checkout-ref:
7
+ description: 'Git ref to checkout (empty for default merge commit)'
8
+ type: string
9
+ required: false
10
+ default: ''
11
+
12
+ jobs:
13
+ test:
14
+ runs-on: ubuntu-latest
15
+
16
+ strategy:
17
+ matrix:
18
+ node-version: ['lts/*', 'node']
19
+
20
+ steps:
21
+ - name: Checkout code
22
+ uses: actions/checkout@v4
23
+ with:
24
+ ref: ${{ inputs.checkout-ref || github.ref }}
25
+
26
+ - name: Setup Node.js
27
+ uses: actions/setup-node@v4
28
+ with:
29
+ node-version: ${{ matrix.node-version }}
30
+
31
+ - name: Install system dependencies
32
+ run: |
33
+ sudo apt-get update
34
+ sudo apt-get install -y build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
35
+
36
+ - name: Clone and setup Enact CLI
37
+ run: |
38
+ git clone --branch=7.2.1 --depth 1 https://github.com/enactjs/cli ../cli
39
+ pushd ../cli
40
+ npm install
41
+ npm link
42
+ popd
43
+
44
+ - name: Clone and setup Enact framework
45
+ run: |
46
+ git clone --branch=release/5.4.x.develop --depth 1 https://github.com/enactjs/enact ../enact
47
+ pushd ../enact
48
+ npm install
49
+ npm run lerna exec -- --ignore enact-sampler --concurrency 1 -- npm --no-package-lock install
50
+ npm run lerna exec -- --ignore enact-sampler --concurrency 1 -- npm --no-package-lock link
51
+ npm run interlink
52
+ popd
53
+
54
+ - name: Install project dependencies
55
+ run: |
56
+ rm -fr node_modules/@enact
57
+ npm install
58
+ enact link
59
+
60
+ - name: Run tests with coverage
61
+ run: npm test -- --runInBand --coverage
62
+
63
+ - name: Upload coverage to Codecov
64
+ uses: codecov/codecov-action@v5
65
+ with:
66
+ token: ${{ secrets.CODECOV_TOKEN }}
67
+ fail_ci_if_error: false
68
+
69
+ - name: Run ESLint
70
+ run: npm run lint -- -- --report-unused-disable-directives --max-warnings 0 .
71
+
72
+ - name: Validate documentation
73
+ run: npm run validate-docs
@@ -47,14 +47,15 @@ export class ActionGuideBase extends React.Component<
47
47
  Merge<React.HTMLProps<HTMLElement>, ActionGuideBaseProps>
48
48
  > {}
49
49
 
50
- export interface ActionGuideDecoratorProps
51
- extends limestone_Skinnable_SkinnableProps {}
50
+ export interface ActionGuideDecoratorProps extends limestone_Skinnable_SkinnableProps {}
52
51
  export function ActionGuideDecorator<P>(
53
52
  Component: React.ComponentType<P> | string,
54
53
  ): React.ComponentType<P & ActionGuideDecoratorProps>;
55
54
 
56
- export interface ActionGuideProps
57
- extends Merge<ActionGuideBaseProps, ActionGuideDecoratorProps> {}
55
+ export interface ActionGuideProps extends Merge<
56
+ ActionGuideBaseProps,
57
+ ActionGuideDecoratorProps
58
+ > {}
58
59
  /**
59
60
  * An Action Guide component, ready to use in Limestone applications.
60
61
  *
@@ -6,7 +6,7 @@
6
6
  padding: var(--primitive-spacing-12) 0 var(--primitive-spacing-36) 0;
7
7
  }
8
8
  .actionGuide .button {
9
- margin: 0 0 -0.25rem 0;
9
+ margin: 0 0 calc( var(--primitive-spacing-12) * -1) 0;
10
10
  height: 1.75rem;
11
11
  min-width: 1.75rem;
12
12
  width: 1.75rem;
package/Alert/Alert.d.ts CHANGED
@@ -119,8 +119,10 @@ export class AlertBase extends React.Component<
119
119
  Merge<React.HTMLProps<HTMLElement>, AlertBaseProps>
120
120
  > {}
121
121
 
122
- export interface AlertProps
123
- extends Merge<AlertBaseProps, ui_Slottable_SlottableProps> {}
122
+ export interface AlertProps extends Merge<
123
+ AlertBaseProps,
124
+ ui_Slottable_SlottableProps
125
+ > {}
124
126
  /**
125
127
  * A modal Alert component, ready to use in Limestone applications.
126
128
  *
package/Alert/Alert.js CHANGED
@@ -17,6 +17,7 @@ var _IdProvider = _interopRequireDefault(require("@enact/ui/internal/IdProvider"
17
17
  var _Layout = _interopRequireWildcard(require("@enact/ui/Layout"));
18
18
  var _Slottable = _interopRequireDefault(require("@enact/ui/Slottable"));
19
19
  var _propTypes = _interopRequireDefault(require("prop-types"));
20
+ var _react = require("react");
20
21
  var _BodyText = _interopRequireDefault(require("../BodyText"));
21
22
  var _Heading = _interopRequireDefault(require("../Heading"));
22
23
  var _Popup = _interopRequireDefault(require("../Popup"));
@@ -187,7 +188,9 @@ var AlertBase = exports.AlertBase = (0, _kind["default"])({
187
188
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Layout.Cell, {
188
189
  className: css.buttonCell,
189
190
  shrink: true,
190
- children: button
191
+ children: /*#__PURE__*/(0, _react.cloneElement)(button, {
192
+ css: css
193
+ })
191
194
  }, "button".concat(index));
192
195
  }) || null;
193
196
  },
@@ -101,6 +101,12 @@
101
101
  :global(.noAnimation) .popup:global(.neutral).overlay {
102
102
  box-shadow: none;
103
103
  }
104
+ :has(:global(.highContrast)) .popup:global(.neutral).overlay {
105
+ outline-style: solid;
106
+ }
107
+ .popup:global(.neutral).overlay .button .bg {
108
+ background-color: var(--semantic-color-surface-popup-default);
109
+ }
104
110
  :global(.enact-a11y-high-contrast) .popup:global(.neutral):global(.highContrast) {
105
111
  background-color: var(--semantic-color-background-full-default);
106
112
  }
@@ -117,6 +123,12 @@
117
123
  :global(.noAnimation) :global(.enact-a11y-high-contrast) .popup:global(.neutral):global(.highContrast).overlay {
118
124
  box-shadow: none;
119
125
  }
126
+ :has(:global(.highContrast)) :global(.enact-a11y-high-contrast) .popup:global(.neutral):global(.highContrast).overlay {
127
+ outline-style: solid;
128
+ }
129
+ :global(.enact-a11y-high-contrast) .popup:global(.neutral):global(.highContrast).overlay .button .bg {
130
+ background-color: var(--semantic-color-surface-popup-default);
131
+ }
120
132
  .popup:global(.light) {
121
133
  background-color: var(--semantic-color-background-full-default);
122
134
  }
@@ -133,6 +145,12 @@
133
145
  :global(.noAnimation) .popup:global(.light).overlay {
134
146
  box-shadow: none;
135
147
  }
148
+ :has(:global(.highContrast)) .popup:global(.light).overlay {
149
+ outline-style: solid;
150
+ }
151
+ .popup:global(.light).overlay .button .bg {
152
+ background-color: var(--semantic-color-surface-popup-default);
153
+ }
136
154
  .popup:global(.game) {
137
155
  --semantic-color-surface-default: #2d224c;
138
156
  --semantic-color-surface-default-focused: #6d2fa1;
@@ -152,6 +170,12 @@
152
170
  :global(.noAnimation) .popup:global(.game).overlay {
153
171
  box-shadow: none;
154
172
  }
173
+ :has(:global(.highContrast)) .popup:global(.game).overlay {
174
+ outline-style: solid;
175
+ }
176
+ .popup:global(.game).overlay .button .bg {
177
+ background-color: var(--semantic-color-surface-popup-default);
178
+ }
155
179
  :global(.green) .popup:global(.game) {
156
180
  --semantic-color-surface-default: #1F2C24;
157
181
  --semantic-color-surface-default-focused: #3ea07d;
@@ -170,6 +194,12 @@
170
194
  :global(.noAnimation) :global(.green) .popup:global(.game).overlay {
171
195
  box-shadow: none;
172
196
  }
197
+ :has(:global(.highContrast)) :global(.green) .popup:global(.game).overlay {
198
+ outline-style: solid;
199
+ }
200
+ :global(.green) .popup:global(.game).overlay .button .bg {
201
+ background-color: var(--semantic-color-surface-popup-default);
202
+ }
173
203
  :global(.orange) .popup:global(.game) {
174
204
  --semantic-color-surface-default: #422923;
175
205
  --semantic-color-surface-default-focused: #b85f23;
@@ -188,3 +218,9 @@
188
218
  :global(.noAnimation) :global(.orange) .popup:global(.game).overlay {
189
219
  box-shadow: none;
190
220
  }
221
+ :has(:global(.highContrast)) :global(.orange) .popup:global(.game).overlay {
222
+ outline-style: solid;
223
+ }
224
+ :global(.orange) .popup:global(.game).overlay .button .bg {
225
+ background-color: var(--semantic-color-surface-popup-default);
226
+ }
@@ -45,14 +45,15 @@ export class BodyTextBase extends React.Component<
45
45
  Merge<React.HTMLProps<HTMLElement>, BodyTextBaseProps>
46
46
  > {}
47
47
 
48
- export interface BodyTextDecoratorProps
49
- extends limestone_Skinnable_SkinnableProps {}
48
+ export interface BodyTextDecoratorProps extends limestone_Skinnable_SkinnableProps {}
50
49
  export function BodyTextDecorator<P>(
51
50
  Component: React.ComponentType<P> | string,
52
51
  ): React.ComponentType<P & BodyTextDecoratorProps>;
53
52
 
54
- export interface BodyTextProps
55
- extends Merge<BodyTextBaseProps, BodyTextDecoratorProps> {}
53
+ export interface BodyTextProps extends Merge<
54
+ BodyTextBaseProps,
55
+ BodyTextDecoratorProps
56
+ > {}
56
57
  /**
57
58
  * A simple text block component, ready to use in Limestone applications.
58
59
  *
@@ -4,7 +4,7 @@
4
4
  font-style: normal;
5
5
  font-family: "Limestone";
6
6
  line-height: 1.4em;
7
- margin: 0 0.75rem var(--primitive-font-size-60) 0.75rem;
7
+ margin: 0 var(--primitive-spacing-36) var(--primitive-font-size-60) var(--primitive-spacing-36);
8
8
  padding: 0;
9
9
  white-space: normal;
10
10
  }
@@ -14,7 +14,7 @@
14
14
  :global(.enact-locale-non-latin) .bodyText {
15
15
  font-family: "Limestone";
16
16
  font-weight: var(--primitive-font-weight-light);
17
- font-size: 1.125rem;
17
+ font-size: var(--primitive-font-size-54);
18
18
  font-style: normal;
19
19
  }
20
20
  :global(.enact-locale-km) .bodyText {
@@ -65,19 +65,19 @@
65
65
  line-height: 1.7em;
66
66
  }
67
67
  :global(.enact-locale-km) .bodyText.small {
68
- font-size: 1rem;
68
+ font-size: var(--primitive-font-size-48);
69
69
  }
70
70
  :global(.enact-locale-si) .bodyText.small {
71
- font-size: 1rem;
71
+ font-size: var(--primitive-font-size-48);
72
72
  }
73
73
  :global(.enact-locale-th) .bodyText.small {
74
- font-size: 1rem;
74
+ font-size: var(--primitive-font-size-48);
75
75
  }
76
76
  :global(.enact-locale-vi) .bodyText.small {
77
- font-size: 1rem;
77
+ font-size: var(--primitive-font-size-48);
78
78
  }
79
79
  :global(.enact-locale-non-latin) .bodyText.small {
80
- font-size: 1rem;
80
+ font-size: var(--primitive-font-size-48);
81
81
  line-height: 1.375rem;
82
82
  }
83
83
  :global(.enact-locale-right-to-left) .bodyText {
@@ -53,6 +53,10 @@ corresponding internal elements and states of this component.
53
53
  * * `small` - Applied to a `size='small'` button
54
54
  */
55
55
  css?: object;
56
+ /**
57
+ * Set the visual effect applied to the button when focused.
58
+ */
59
+ focusEffect?: "expand" | "static";
56
60
  /**
57
61
  * Specifies on which side ( `'before'` or `'after'` ) of the text the icon appears.
58
62
  */
@@ -89,26 +93,27 @@ export class ButtonBase extends React.Component<
89
93
  Merge<React.HTMLProps<HTMLElement>, ButtonBaseProps>
90
94
  > {}
91
95
 
92
- export interface ButtonDecoratorProps
93
- extends Merge<
96
+ export interface ButtonDecoratorProps extends Merge<
97
+ Merge<
94
98
  Merge<
95
99
  Merge<
96
- Merge<
97
- limestone_TooltipDecorator_TooltipDecoratorProps,
98
- limestone_Marquee_MarqueeDecoratorProps
99
- >,
100
- ui_Button_ButtonDecoratorProps
100
+ limestone_TooltipDecorator_TooltipDecoratorProps,
101
+ limestone_Marquee_MarqueeDecoratorProps
101
102
  >,
102
- spotlight_Spottable_SpottableProps
103
+ ui_Button_ButtonDecoratorProps
103
104
  >,
104
- limestone_Skinnable_SkinnableProps
105
- > {}
105
+ spotlight_Spottable_SpottableProps
106
+ >,
107
+ limestone_Skinnable_SkinnableProps
108
+ > {}
106
109
  export function ButtonDecorator<P>(
107
110
  Component: React.ComponentType<P> | string,
108
111
  ): React.ComponentType<P & ButtonDecoratorProps>;
109
112
 
110
- export interface ButtonProps
111
- extends Merge<ButtonBaseProps, ButtonDecoratorProps> {}
113
+ export interface ButtonProps extends Merge<
114
+ ButtonBaseProps,
115
+ ButtonDecoratorProps
116
+ > {}
112
117
  /**
113
118
  * A button component, ready to use in Limestone applications.
114
119
  *
package/Button/Button.js CHANGED
@@ -148,7 +148,7 @@ var ButtonBase = exports.ButtonBase = (0, _kind["default"])({
148
148
  *
149
149
  * @type {('expand'|'static')}
150
150
  * @default 'expand'
151
- * @private
151
+ * @public
152
152
  */
153
153
  focusEffect: _propTypes2["default"].oneOf(['expand', 'static']),
154
154
  /**