@sproutsocial/racine 8.6.0 → 8.6.3-dar10.0
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.
- package/CHANGELOG.md +13 -0
- package/__flow__/Collapsible/index.js +1 -0
- package/__flow__/Collapsible/styles.js +23 -24
- package/__flow__/Listbox/__snapshots__/index.test.js.snap +84 -42
- package/__flow__/Listbox/index.stories.js +33 -0
- package/__flow__/Listbox/index.test.js +52 -2
- package/__flow__/Menu/__snapshots__/index.test.js.snap +4 -0
- package/__flow__/Menu/hooks.js +8 -3
- package/__flow__/Menu/index.flow.js +1 -0
- package/__flow__/Menu/index.js +31 -4
- package/__flow__/Menu/index.stories.js +20 -0
- package/__flow__/Menu/styles.js +4 -0
- package/commonjs/Collapsible/index.js +1 -0
- package/commonjs/Collapsible/styles.js +5 -7
- package/commonjs/Menu/hooks.js +12 -3
- package/commonjs/Menu/index.js +26 -6
- package/commonjs/Menu/styles.js +4 -2
- package/dist/themes/dark.scss +569 -0
- package/dist/themes/default.scss +668 -0
- package/lib/Collapsible/index.js +1 -0
- package/lib/Collapsible/styles.js +5 -7
- package/lib/Menu/hooks.js +12 -3
- package/lib/Menu/index.js +26 -6
- package/lib/Menu/styles.js +4 -2
- package/package.json +3 -2
|
@@ -203,3 +203,23 @@ export const MenuWithCheckboxes = (props) => {
|
|
|
203
203
|
</Menu>
|
|
204
204
|
);
|
|
205
205
|
};
|
|
206
|
+
|
|
207
|
+
// Specifically testing that icons with a color inverse when active like the text does.
|
|
208
|
+
export const MenuWithIcons = (props) => {
|
|
209
|
+
return (
|
|
210
|
+
<Menu width="200px" {...props}>
|
|
211
|
+
<Menu.Item key="positive" onClick={() => alert("positive")}>
|
|
212
|
+
<Icon name="flat-positive-sentiment" mr={200} color="blue.600" />
|
|
213
|
+
Positive
|
|
214
|
+
</Menu.Item>
|
|
215
|
+
<Menu.Item key="negative" onClick={() => alert("negative")}>
|
|
216
|
+
<Icon name="flat-negative-sentiment" mr={200} color="red.500" />
|
|
217
|
+
Negative
|
|
218
|
+
</Menu.Item>
|
|
219
|
+
<Menu.Item key="neutral" onClick={() => alert("neutral")}>
|
|
220
|
+
<Icon name="flat-neutral-sentiment" mr={200} />
|
|
221
|
+
Neutral
|
|
222
|
+
</Menu.Item>
|
|
223
|
+
</Menu>
|
|
224
|
+
);
|
|
225
|
+
};
|
package/__flow__/Menu/styles.js
CHANGED
|
@@ -41,6 +41,10 @@ export const MenuItemContainer = styled<
|
|
|
41
41
|
css`
|
|
42
42
|
color: ${(props) => props.theme.colors.text.inverse};
|
|
43
43
|
background-color: ${props.theme.colors.listItem.background.selected};
|
|
44
|
+
|
|
45
|
+
.Icon-svg {
|
|
46
|
+
color: ${(props) => props.theme.colors.text.inverse};
|
|
47
|
+
}
|
|
44
48
|
`}
|
|
45
49
|
|
|
46
50
|
${(props) =>
|
|
@@ -118,6 +118,7 @@ var Panel = function Panel(_ref3) {
|
|
|
118
118
|
}
|
|
119
119
|
}, [isOpen]);
|
|
120
120
|
return /*#__PURE__*/React.createElement(_styles.CollapsingBox, _extends({
|
|
121
|
+
hasShadow: collapsedHeight || openHeight > 0,
|
|
121
122
|
scrollable: isOpen,
|
|
122
123
|
maxHeight: isOpen ? maxHeight : collapsedHeight,
|
|
123
124
|
minHeight: collapsedHeight,
|
|
@@ -12,16 +12,14 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
12
12
|
var CollapsingBox = (0, _styledComponents.default)(_Box.default).withConfig({
|
|
13
13
|
displayName: "styles__CollapsingBox",
|
|
14
14
|
componentId: "sc-1xvfbl7-0"
|
|
15
|
-
})(["transition:max-height ", " ", ";will-change:max-height;position:relative;overflow:auto;
|
|
15
|
+
})(["transition:max-height ", " ", ";will-change:max-height;position:relative;overflow:auto;", ""], function (p) {
|
|
16
16
|
return p.theme.duration.medium;
|
|
17
17
|
}, function (p) {
|
|
18
18
|
return p.theme.easing.ease_inout;
|
|
19
|
-
}, function (p) {
|
|
20
|
-
return p.theme.colors.neutral[100];
|
|
21
|
-
}, function (p) {
|
|
22
|
-
return p.theme.colors.neutral[100];
|
|
23
19
|
}, function (_ref) {
|
|
24
|
-
var
|
|
25
|
-
|
|
20
|
+
var hasShadow = _ref.hasShadow,
|
|
21
|
+
theme = _ref.theme,
|
|
22
|
+
scrollable = _ref.scrollable;
|
|
23
|
+
return hasShadow ? "background: /* Shadow covers */ linear-gradient(\n transparent 30%,\n rgba(255, 255, 255, 0)\n ),\n linear-gradient(rgba(255, 255, 255, 0), transparent 70%) 0 100%,\n /* Shadows */\n radial-gradient(\n farthest-side at 50% 0,\n rgb(39 51 51 / 5%),\n rgba(0, 0, 0, 0)\n ),\n radial-gradient(\n farthest-side at 50% 100%,\n rgb(39 51 51 / 5%),\n rgba(0, 0, 0, 0)\n )\n 0 100%;\n background-repeat: no-repeat;\n background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;\n background-attachment: local, local, scroll, scroll;\n " + (scrollable ? "overflow: auto" : "overflow: hidden") + ";" : "";
|
|
26
24
|
});
|
|
27
25
|
exports.CollapsingBox = CollapsingBox;
|
package/commonjs/Menu/hooks.js
CHANGED
|
@@ -25,7 +25,8 @@ var MenuContext = /*#__PURE__*/(0, _react.createContext)({
|
|
|
25
25
|
state: {
|
|
26
26
|
selectionIndex: 0,
|
|
27
27
|
filterQuery: "",
|
|
28
|
-
filteredItems: null
|
|
28
|
+
filteredItems: null,
|
|
29
|
+
isFilterInputFocused: false
|
|
29
30
|
},
|
|
30
31
|
setState: function setState() {},
|
|
31
32
|
selectCallbacks: {
|
|
@@ -75,7 +76,8 @@ function useMenuKeyDown() {
|
|
|
75
76
|
_useContext$state = _useContext.state,
|
|
76
77
|
filterQuery = _useContext$state.filterQuery,
|
|
77
78
|
selectionIndex = _useContext$state.selectionIndex,
|
|
78
|
-
filteredItems = _useContext$state.filteredItems
|
|
79
|
+
filteredItems = _useContext$state.filteredItems,
|
|
80
|
+
isFilterInputFocused = _useContext$state.isFilterInputFocused;
|
|
79
81
|
|
|
80
82
|
var _useContext2 = (0, _react.useContext)(MenuButtonContext),
|
|
81
83
|
closePopout = _useContext2.closePopout,
|
|
@@ -134,8 +136,15 @@ function useMenuKeyDown() {
|
|
|
134
136
|
var key = event.key;
|
|
135
137
|
|
|
136
138
|
switch (key) {
|
|
137
|
-
case "Enter":
|
|
138
139
|
case " ":
|
|
140
|
+
if (isFilterInputFocused) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// falls through
|
|
145
|
+
// eslint-disable-next-line no-fallthrough
|
|
146
|
+
|
|
147
|
+
case "Enter":
|
|
139
148
|
var selected = items[selectionIndex];
|
|
140
149
|
|
|
141
150
|
if (selected) {
|
package/commonjs/Menu/index.js
CHANGED
|
@@ -296,18 +296,37 @@ var MenuDivider = function MenuDivider(props) {
|
|
|
296
296
|
exports.MenuDivider = MenuDivider;
|
|
297
297
|
|
|
298
298
|
var MenuFilterInput = function MenuFilterInput(props) {
|
|
299
|
+
var onChange = props.onChange,
|
|
300
|
+
onFocus = props.onFocus,
|
|
301
|
+
onBlur = props.onBlur;
|
|
302
|
+
|
|
299
303
|
var _useContext3 = (0, React.useContext)(_hooks2.MenuContext),
|
|
300
304
|
state = _useContext3.state,
|
|
301
305
|
setState = _useContext3.setState;
|
|
302
306
|
|
|
303
|
-
var
|
|
304
|
-
|
|
305
|
-
|
|
307
|
+
var handleOnChange = (0, React.useCallback)(function (event, value) {
|
|
308
|
+
onChange && onChange(event, value);
|
|
309
|
+
setState({
|
|
310
|
+
filterQuery: value
|
|
311
|
+
});
|
|
312
|
+
}, [setState, onChange]);
|
|
313
|
+
var handleOnFocus = (0, React.useCallback)(function (event) {
|
|
314
|
+
onFocus && onFocus(event);
|
|
315
|
+
setState({
|
|
316
|
+
isFilterInputFocused: true
|
|
317
|
+
});
|
|
318
|
+
}, [setState, onFocus]);
|
|
319
|
+
var handleOnBlur = (0, React.useCallback)(function (event) {
|
|
320
|
+
onBlur && onBlur(event);
|
|
321
|
+
setState({
|
|
322
|
+
isFilterInputFocused: false
|
|
306
323
|
});
|
|
307
|
-
}, [setState]);
|
|
324
|
+
}, [setState, onBlur]);
|
|
308
325
|
return /*#__PURE__*/React.createElement(_Input.default, _extends({}, props, {
|
|
309
326
|
value: state.filterQuery,
|
|
310
|
-
onChange:
|
|
327
|
+
onChange: handleOnChange,
|
|
328
|
+
onFocus: handleOnFocus,
|
|
329
|
+
onBlur: handleOnBlur
|
|
311
330
|
}));
|
|
312
331
|
};
|
|
313
332
|
|
|
@@ -353,7 +372,8 @@ var Menu = function Menu(_ref4) {
|
|
|
353
372
|
var _useState = (0, React.useState)({
|
|
354
373
|
selectionIndex: 0,
|
|
355
374
|
filterQuery: "",
|
|
356
|
-
filteredItems: null
|
|
375
|
+
filteredItems: null,
|
|
376
|
+
isFilterInputFocused: false
|
|
357
377
|
}),
|
|
358
378
|
state = _useState[0],
|
|
359
379
|
setState = _useState[1];
|
package/commonjs/Menu/styles.js
CHANGED
|
@@ -35,9 +35,11 @@ var MenuItemContainer = (0, _styledComponents.default)(_Box.default).withConfig(
|
|
|
35
35
|
}, function (props) {
|
|
36
36
|
return (0, _styledComponents.css)(["", ";"], props.theme.typography[200]);
|
|
37
37
|
}, function (props) {
|
|
38
|
-
return props.active && !props.disabled && (0, _styledComponents.css)(["color:", ";background-color:", ";"], function (props) {
|
|
38
|
+
return props.active && !props.disabled && (0, _styledComponents.css)(["color:", ";background-color:", ";.Icon-svg{color:", ";}"], function (props) {
|
|
39
39
|
return props.theme.colors.text.inverse;
|
|
40
|
-
}, props.theme.colors.listItem.background.selected)
|
|
40
|
+
}, props.theme.colors.listItem.background.selected, function (props) {
|
|
41
|
+
return props.theme.colors.text.inverse;
|
|
42
|
+
});
|
|
41
43
|
}, function (props) {
|
|
42
44
|
return props.selected && !props.isCheckboxOrRadio && (0, _styledComponents.css)(["font-weight:", ";"], function (props) {
|
|
43
45
|
return props.theme.fontWeights.semibold;
|