@ebay/ui-core-react 4.0.5 → 4.2.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.
Files changed (38) hide show
  1. package/ebay-menu/index.d.ts +1 -1
  2. package/ebay-menu/index.d.ts.map +1 -1
  3. package/ebay-menu/index.js +11 -0
  4. package/ebay-menu/menu.d.ts +3 -13
  5. package/ebay-menu/menu.d.ts.map +1 -1
  6. package/ebay-menu/menu.js +4 -4
  7. package/ebay-menu/types.d.ts +18 -0
  8. package/ebay-menu/types.d.ts.map +1 -1
  9. package/ebay-menu-button/README.md +69 -0
  10. package/ebay-menu-button/index.d.ts +6 -0
  11. package/ebay-menu-button/index.d.ts.map +1 -0
  12. package/ebay-menu-button/index.js +21 -0
  13. package/ebay-menu-button/menu-button-item.d.ts +3 -0
  14. package/ebay-menu-button/menu-button-item.d.ts.map +1 -0
  15. package/ebay-menu-button/menu-button-item.js +5 -0
  16. package/ebay-menu-button/menu-button-label.d.ts +4 -0
  17. package/ebay-menu-button/menu-button-label.d.ts.map +1 -0
  18. package/ebay-menu-button/menu-button-label.js +11 -0
  19. package/ebay-menu-button/menu-button-separator.d.ts +5 -0
  20. package/ebay-menu-button/menu-button-separator.d.ts.map +1 -0
  21. package/ebay-menu-button/menu-button-separator.js +34 -0
  22. package/ebay-menu-button/menu-button.d.ts +28 -0
  23. package/ebay-menu-button/menu-button.d.ts.map +1 -0
  24. package/ebay-menu-button/menu-button.js +129 -0
  25. package/ebay-menu-button/types.d.ts +2 -0
  26. package/ebay-menu-button/types.d.ts.map +1 -0
  27. package/ebay-menu-button/types.js +2 -0
  28. package/ebay-split-button/README.md +52 -0
  29. package/ebay-split-button/index.d.ts +3 -0
  30. package/ebay-split-button/index.d.ts.map +1 -0
  31. package/ebay-split-button/index.js +15 -0
  32. package/ebay-split-button/split-button.d.ts +5 -0
  33. package/ebay-split-button/split-button.d.ts.map +1 -0
  34. package/ebay-split-button/split-button.js +41 -0
  35. package/ebay-split-button/types.d.ts +14 -0
  36. package/ebay-split-button/types.d.ts.map +1 -0
  37. package/ebay-split-button/types.js +2 -0
  38. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  export { default as EbayMenu } from './menu';
2
2
  export { default as EbayMenuItem, MenuItemProps } from './menu-item';
3
3
  export { default as EbayMenuSeparator } from './menu-item-separator';
4
- export { EbayMenuType, EbayMenuPriority } from './types';
4
+ export * from './types';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACpE,cAAc,SAAS,CAAA"}
@@ -1,4 +1,14 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
13
  var menu_1 = require("./menu");
4
14
  Object.defineProperty(exports, "EbayMenu", { enumerable: true, get: function () { return menu_1.default; } });
@@ -6,3 +16,4 @@ var menu_item_1 = require("./menu-item");
6
16
  Object.defineProperty(exports, "EbayMenuItem", { enumerable: true, get: function () { return menu_item_1.default; } });
7
17
  var menu_item_separator_1 = require("./menu-item-separator");
8
18
  Object.defineProperty(exports, "EbayMenuSeparator", { enumerable: true, get: function () { return menu_item_separator_1.default; } });
19
+ __exportStar(require("./types"), exports);
@@ -1,15 +1,5 @@
1
- import { ComponentProps, FC } from 'react';
2
- import { EbayMenuType, EbayMenuPriority } from './index';
3
- declare type SpanProps = Omit<ComponentProps<'span'>, 'onKeyDown' | 'onChange'>;
4
- declare type Callback = (i: number, checked: boolean) => void;
5
- declare type Props = SpanProps & {
6
- type?: EbayMenuType;
7
- priority?: EbayMenuPriority;
8
- checked?: number;
9
- onKeyDown?: Callback;
10
- onSelect?: Callback;
11
- onChange?: Callback;
12
- };
13
- declare const EbayMenu: FC<Props>;
1
+ import { FC } from 'react';
2
+ import { MenuProps } from './index';
3
+ declare const EbayMenu: FC<MenuProps>;
14
4
  export default EbayMenu;
15
5
  //# sourceMappingURL=menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEV,cAAc,EAAE,EAAE,EACrB,MAAM,OAAO,CAAA;AAMd,OAAO,EAAgB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEtE,aAAK,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,CAAA;AACvE,aAAK,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AACrD,aAAK,KAAK,GAAG,SAAS,GAAG;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB,CAAA;AAID,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,KAAK,CAoGvB,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEV,EAAE,EACL,MAAM,OAAO,CAAA;AAOd,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAKnC,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,SAAS,CAqG3B,CAAA;AAED,eAAe,QAAQ,CAAA"}
package/ebay-menu/menu.js CHANGED
@@ -52,10 +52,10 @@ var event_utils_1 = require("../common/event-utils");
52
52
  var index_1 = require("./index");
53
53
  var changedIndex = function (arr1, arr2) { return arr1.findIndex(function (x, i) { return arr2[i] !== x; }); };
54
54
  var EbayMenu = function (_a) {
55
- var type = _a.type, _b = _a.priority, priority = _b === void 0 ? 'secondary' : _b, checked = _a.checked, className = _a.className, _c = _a.onKeyDown, onKeyDown = _c === void 0 ? function () { } : _c, _d = _a.onChange, onChange = _d === void 0 ? function () { } : _d, _e = _a.onSelect, onSelect = _e === void 0 ? function () { } : _e, children = _a.children, rest = __rest(_a, ["type", "priority", "checked", "className", "onKeyDown", "onChange", "onSelect", "children"]);
55
+ var _b = _a.baseEl, Container = _b === void 0 ? 'span' : _b, type = _a.type, _c = _a.priority, priority = _c === void 0 ? 'secondary' : _c, checked = _a.checked, className = _a.className, _d = _a.onKeyDown, onKeyDown = _d === void 0 ? function () { } : _d, _e = _a.onChange, onChange = _e === void 0 ? function () { } : _e, _f = _a.onSelect, onSelect = _f === void 0 ? function () { } : _f, children = _a.children, rest = __rest(_a, ["baseEl", "type", "priority", "checked", "className", "onKeyDown", "onChange", "onSelect", "children"]);
56
56
  var childrenArray = react_1.Children.toArray(children);
57
- var _f = use_roving_index_1.default(children, index_1.EbayMenuItem), focusedIndex = _f[0], setFocusedIndex = _f[1];
58
- var _g = react_1.useState(childrenArray.map(function () { return false; })), checkedIndexes = _g[0], setCheckedIndexes = _g[1];
57
+ var _g = use_roving_index_1.default(children, index_1.EbayMenuItem), focusedIndex = _g[0], setFocusedIndex = _g[1];
58
+ var _h = react_1.useState(childrenArray.map(function () { return false; })), checkedIndexes = _h[0], setCheckedIndexes = _h[1];
59
59
  var updateIndex = function (index, value, resetOthers) {
60
60
  if (resetOthers === void 0) { resetOthers = false; }
61
61
  setCheckedIndexes(function (prevCheckedIndexes) {
@@ -106,7 +106,7 @@ var EbayMenu = function (_a) {
106
106
  }
107
107
  }
108
108
  }, [checkedIndexes]);
109
- return (react_1.default.createElement("span", __assign({}, rest, { className: classnames_1.default(className, 'menu') }),
109
+ return (react_1.default.createElement(Container, __assign({}, rest, { className: classnames_1.default(className, 'menu') }),
110
110
  react_1.default.createElement("div", { className: "menu__items", role: "menu" }, childrenArray.map(function (child, i) {
111
111
  var _a = child.props, _b = _a.onClick, onClick = _b === void 0 ? function () { } : _b, _c = _a.onFocus, onFocus = _c === void 0 ? function () { } : _c, itemRest = __rest(_a, ["onClick", "onFocus"]);
112
112
  return react_1.cloneElement(child, __assign(__assign({}, itemRest), { type: type, focused: i === focusedIndex, tabIndex: focusedIndex === undefined ? 0 : -1, checked: checkedIndexes[i], onFocus: function (e) {
@@ -1,3 +1,21 @@
1
+ import { ComponentProps } from 'react';
1
2
  export declare type EbayMenuType = 'radio' | 'checkbox';
2
3
  export declare type EbayMenuPriority = 'primary' | 'secondary' | 'none';
4
+ declare type ContainerDivProps = Omit<ComponentProps<'div'>, 'onKeyDown' | 'onChange' | 'onSelect'>;
5
+ declare type ContainerSpanProps = Omit<ComponentProps<'span'>, 'onKeyDown' | 'onChange' | 'onSelect'>;
6
+ export declare type SelectCallback = (i: number, checked: boolean) => void;
7
+ export declare type ChangeCallback = (i: number, checked: boolean) => void;
8
+ export declare type KeyDownCallback = (i: number, checked: boolean) => void;
9
+ export declare type MenuProps = ContainerDivProps & ContainerSpanProps & {
10
+ autofocus?: boolean;
11
+ baseEl?: 'div' | 'span';
12
+ checked?: number;
13
+ className?: string;
14
+ priority?: EbayMenuPriority;
15
+ type?: EbayMenuType;
16
+ onKeyDown?: KeyDownCallback;
17
+ onSelect?: SelectCallback;
18
+ onChange?: ChangeCallback;
19
+ };
20
+ export {};
3
21
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY,GAAG,OAAO,GAAG,UAAU,CAAA;AAC/C,oBAAY,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ebay-menu/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEtC,oBAAY,YAAY,GAAG,OAAO,GAAG,UAAU,CAAA;AAC/C,oBAAY,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAA;AAE/D,aAAK,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC,CAAA;AAC3F,aAAK,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,CAAC,CAAA;AAE7F,oBAAY,cAAc,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAClE,oBAAY,cAAc,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAClE,oBAAY,eAAe,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;AAEnE,oBAAY,SAAS,GAAG,iBAAiB,GAAG,kBAAkB,GAAG;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAA"}
@@ -0,0 +1,69 @@
1
+ # ebay-menu-button
2
+
3
+ ## Demo
4
+ [Storybook](https://pages.github.corp.ebay.com/React/ebayui-core-react/master/?path=/story/ebay-menu-button--default)
5
+
6
+ ## Install
7
+ ```
8
+ yarn add ebayui-core-react
9
+ ```
10
+
11
+ ## Usage
12
+ ```jsx harmony
13
+ import {
14
+ EbayMenuButton,
15
+ EbayMenuButtonItem as Item,
16
+ EbayMenuButtonSeparator as Separator,
17
+ EbayMenuButtonLabel as Label
18
+ } from 'ebayui-core-react/ebay-menu-button';
19
+ import '@ebay/skin/menu-button';
20
+ <EbayMenuButton text="Menu">
21
+ <Item>Item 1</Item>
22
+ <Item>Item 2</Item>
23
+ <Item>Item 3</Item>
24
+ <Separator />
25
+ <Item>Log in</Item>
26
+ </EbayMenuButton>
27
+ // With a complext label
28
+ <EbayMenuButton a11yText="Menu">
29
+ <Label><img src="menu-logo.svg" /></Label>
30
+ <Item>Item 1</Item>
31
+ <Item>Item 2</Item>
32
+ </EbayMenuButton>
33
+ ```
34
+
35
+ ## EbayMenuButton Attributes
36
+
37
+ Name | Type | Required | Description
38
+ --- |----------| --- | ---
39
+ `text` | String | No | button label text
40
+ `a11yText` | String | Only without a text label | a11y text for the button
41
+ `noToggleIcon` | Boolean | No | whether to hide the chevron toggle icon
42
+ `expanded` | Boolean | No | whether content is expanded
43
+ `type` | String | No | can be `radio` or `checkbox`
44
+ `reverse` | Boolean | No | expand menu flyout to the left
45
+ `fixWidth` | Boolean | No | Constrain items container width to button width
46
+ `borderless` | Boolean | No | Whether button has borders
47
+ `size` | String | No | button size: `large` or `regular` (default)
48
+ `priority` | String | No | button size: `primary`, `secondary` (default), `tertiary`, `none`
49
+ `checked` | Number | No | will set the corresponding index item to checked state and use the `aria-checked` attribute in markup
50
+ `disabled` | Boolean | No | will disable the entire dropdown (disables the ebay-button label) if set to true
51
+ `variant` | String | No | will change the button style: `overflow`, `form` or `button`
52
+ `collapseOnSelect` | Boolean | No | Will collapse whole menu when an item is selected in menu. Typically used in type=`radio`
53
+ `prefixId` | String | No | The id of an external element to use as the prefix label for the menu button. Cannot be used with `prefix-label` (NOT YET IMPLEMENTED)
54
+ `prefixLabel` | String | No |The label to add before each selected item on the button. Cannot be used with `prefix-id` (NOT YET IMPLEMENTED)
55
+ `onExpand` | Function | No | Called when content is expanded
56
+ `onCollapse` | Function | No | Called when content is collapsed
57
+ `onSelect` | Function | No | props: ( index: number ), triggered on item clicked (not for type `radio`/`checkbox`)
58
+ `onChange` | Function | No | props: (index: number, checked: number[], checkedValues: string[]), triggered on item `checked` change, (for type `radio`/`checkbox` only)
59
+
60
+ ## EbayMenuButtonItem Attributes
61
+
62
+ Name | Type | Required | Description
63
+ --- | --- | --- | ---
64
+ `value` | String | No | for type `radio`, `checkbox`: the value to use with callbacks for `checkedValues[]`
65
+ `checked` | Boolean | No | for type `radio`, `checkbox`: whether or not the item is checked
66
+ `disabled` | Boolean | No | makes the menu item disabled
67
+ `badgeNumber` | Number | No | used as the number to be placed in the badge
68
+ `badgeAriaLabel` | Number | No | used as the number to be placed in the badge (NOT YET IMPLEMENTED)
69
+ `onClick` | Function | No | For a non-link menu item, with param `{ originalEvent }`
@@ -0,0 +1,6 @@
1
+ export { default as EbayMenuButton, EbayMenuButtonProps } from './menu-button';
2
+ export { default as EbayMenuButtonItem } from './menu-button-item';
3
+ export { default as EbayMenuButtonSeparator } from './menu-button-separator';
4
+ export { default as EbayMenuButtonLabel } from './menu-button-label';
5
+ export * from './types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ebay-menu-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACpE,cAAc,SAAS,CAAA"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ var menu_button_1 = require("./menu-button");
14
+ Object.defineProperty(exports, "EbayMenuButton", { enumerable: true, get: function () { return menu_button_1.default; } });
15
+ var menu_button_item_1 = require("./menu-button-item");
16
+ Object.defineProperty(exports, "EbayMenuButtonItem", { enumerable: true, get: function () { return menu_button_item_1.default; } });
17
+ var menu_button_separator_1 = require("./menu-button-separator");
18
+ Object.defineProperty(exports, "EbayMenuButtonSeparator", { enumerable: true, get: function () { return menu_button_separator_1.default; } });
19
+ var menu_button_label_1 = require("./menu-button-label");
20
+ Object.defineProperty(exports, "EbayMenuButtonLabel", { enumerable: true, get: function () { return menu_button_label_1.default; } });
21
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,3 @@
1
+ import { EbayMenuItem } from '../ebay-menu';
2
+ export default EbayMenuItem;
3
+ //# sourceMappingURL=menu-button-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-button-item.d.ts","sourceRoot":"","sources":["../../src/ebay-menu-button/menu-button-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,eAAe,YAAY,CAAA"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var ebay_menu_1 = require("../ebay-menu");
4
+ // We do this for useRovingIndex to work
5
+ exports.default = ebay_menu_1.EbayMenuItem;
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ declare const EbayMenuButtonLabel: FC;
3
+ export default EbayMenuButtonLabel;
4
+ //# sourceMappingURL=menu-button-label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-button-label.d.ts","sourceRoot":"","sources":["../../src/ebay-menu-button/menu-button-label.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAEjC,QAAA,MAAM,mBAAmB,EAAE,EAAsC,CAAA;AAEjE,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ var EbayMenuButtonLabel = function (_a) {
8
+ var children = _a.children;
9
+ return react_1.default.createElement(react_1.default.Fragment, null, children);
10
+ };
11
+ exports.default = EbayMenuButtonLabel;
@@ -0,0 +1,5 @@
1
+ import { ComponentProps, FC } from 'react';
2
+ declare type Props = ComponentProps<'hr'>;
3
+ declare const EbayMenuButtonSeparator: FC<Props>;
4
+ export default EbayMenuButtonSeparator;
5
+ //# sourceMappingURL=menu-button-separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-button-separator.d.ts","sourceRoot":"","sources":["../../src/ebay-menu-button/menu-button-separator.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAGjD,aAAK,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAA;AAEjC,QAAA,MAAM,uBAAuB,EAAE,EAAE,CAAC,KAAK,CAStC,CAAA;AAED,eAAe,uBAAuB,CAAA"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var react_1 = __importDefault(require("react"));
29
+ var classnames_1 = __importDefault(require("classnames"));
30
+ var EbayMenuButtonSeparator = function (_a) {
31
+ var className = _a.className, rest = __rest(_a, ["className"]);
32
+ return (react_1.default.createElement("hr", __assign({}, rest, { className: classnames_1.default(className, 'menu-button__separator'), role: "separator" })));
33
+ };
34
+ exports.default = EbayMenuButtonSeparator;
@@ -0,0 +1,28 @@
1
+ import { ComponentProps, FC } from 'react';
2
+ import { ChangeCallback, EbayMenuType, SelectCallback } from '../ebay-menu';
3
+ import { EbayButtonProps } from '../ebay-button';
4
+ import { EbayMenuButtonVariant } from './index';
5
+ export declare type EbayMenuButtonProps = {
6
+ a11yText?: string;
7
+ className?: string;
8
+ fixWidth?: boolean;
9
+ reverse?: boolean;
10
+ text?: string;
11
+ type?: EbayMenuType;
12
+ variant?: EbayMenuButtonVariant;
13
+ onCollapse?: () => void;
14
+ onExpand?: () => void;
15
+ onChange?: ChangeCallback;
16
+ onSelect?: SelectCallback;
17
+ expanded?: boolean;
18
+ noToggleIcon?: boolean;
19
+ checked?: number;
20
+ collapseOnSelect?: boolean;
21
+ prefixId?: string;
22
+ prefixLabel?: string;
23
+ };
24
+ declare type MenuEvents = 'onSelect' | 'onChange';
25
+ declare type Props = Omit<EbayButtonProps, 'type' | 'variant' | 'onKeyDown'> & Omit<ComponentProps<'button'>, 'type' | MenuEvents> & Omit<ComponentProps<'a'>, MenuEvents> & EbayMenuButtonProps;
26
+ declare const EbayMenuButton: FC<Props>;
27
+ export default EbayMenuButton;
28
+ //# sourceMappingURL=menu-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-button.d.ts","sourceRoot":"","sources":["../../src/ebay-menu-button/menu-button.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgB,cAAc,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAA;AAM5F,OAAO,EAAE,cAAc,EAAY,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACrF,OAAO,EAAc,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAoE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEjH,oBAAY,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA;AAED,aAAK,UAAU,GAAG,UAAU,GAAG,UAAU,CAAA;AACzC,aAAK,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC,GAChE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,GACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,GACrC,mBAAmB,CAAA;AAEvB,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,KAAK,CA4H7B,CAAA;AAaD,eAAe,cAAc,CAAA"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ var react_1 = __importStar(require("react"));
48
+ var classnames_1 = __importDefault(require("classnames"));
49
+ var component_utils_1 = require("../common/component-utils");
50
+ var event_utils_1 = require("../common/event-utils");
51
+ var random_id_1 = require("../common/random-id");
52
+ var ebay_menu_1 = require("../ebay-menu");
53
+ var ebay_button_1 = require("../ebay-button");
54
+ var ebay_icon_button_1 = require("../ebay-icon-button");
55
+ var ebay_icon_1 = require("../ebay-icon");
56
+ var index_1 = require("./index");
57
+ var EbayMenuButton = function (_a) {
58
+ var type = _a.type, _b = _a.variant, variant = _b === void 0 ? 'button' : _b, className = _a.className, _c = _a.text, text = _c === void 0 ? '' : _c, fixWidth = _a.fixWidth, reverse = _a.reverse, defaultExpanded = _a.expanded, noToggleIcon = _a.noToggleIcon, checked = _a.checked, collapseOnSelect = _a.collapseOnSelect, a11yText = _a.a11yText, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d, _e = _a.onExpand, onExpand = _e === void 0 ? function () { } : _e, _f = _a.onCollapse, onCollapse = _f === void 0 ? function () { } : _f, _g = _a.onChange, onChange = _g === void 0 ? function () { } : _g, _h = _a.onSelect, onSelect = _h === void 0 ? function () { } : _h, children = _a.children, rest = __rest(_a, ["type", "variant", "className", "text", "fixWidth", "reverse", "expanded", "noToggleIcon", "checked", "collapseOnSelect", "a11yText", "onClick", "onExpand", "onCollapse", "onChange", "onSelect", "children"]);
59
+ var _j = react_1.useState(defaultExpanded), expanded = _j[0], setExpanded = _j[1];
60
+ var _k = react_1.useState(), menuId = _k[0], setMenuId = _k[1];
61
+ var buttonRef = react_1.useRef(null);
62
+ var menuRef = react_1.useRef();
63
+ var menuItems = component_utils_1.filterByType(children, [index_1.EbayMenuButtonItem, index_1.EbayMenuButtonSeparator]);
64
+ var menuButtonLabel = component_utils_1.findComponent(children, index_1.EbayMenuButtonLabel);
65
+ var icon = component_utils_1.findComponent(children, ebay_icon_1.EbayIcon);
66
+ var textLabel = text ? react_1.default.createElement("span", null, text) : null;
67
+ var label = labelWithIcon(menuButtonLabel || textLabel, icon);
68
+ var wrapperClasses = classnames_1.default('menu-button', className, expanded && 'menu-button--expanded');
69
+ var menuClasses = classnames_1.default('menu-button__menu', {
70
+ 'menu-button__menu--fix-width': fixWidth,
71
+ 'menu-button__menu--reverse': reverse
72
+ });
73
+ react_1.useEffect(function () {
74
+ var handleBackgroundClick = function (e) {
75
+ var menuEl = menuRef.current;
76
+ var menuClicked = menuEl && menuEl.contains(e.target);
77
+ if (collapseOnSelect || !menuClicked) {
78
+ setExpanded(false);
79
+ }
80
+ };
81
+ if (expanded) {
82
+ onExpand();
83
+ // On React 18 useEffect hooks runs synchronous instead of asynchronous as React 17 or prior
84
+ // causing the event listener to be attached to the document at the same time that the dialog
85
+ // opens. Adding a timeout so the event is attached after the click event that opened the modal
86
+ // is finished.
87
+ setTimeout(function () {
88
+ document.addEventListener('click', handleBackgroundClick, false);
89
+ });
90
+ }
91
+ else if (expanded === false) {
92
+ onCollapse();
93
+ }
94
+ return function () { return document.removeEventListener('click', handleBackgroundClick, false); };
95
+ }, [expanded]);
96
+ react_1.useEffect(function () {
97
+ setMenuId(random_id_1.randomId());
98
+ }, []);
99
+ var handleMenuKeydown = function (e) {
100
+ event_utils_1.handleEscapeKeydown(e, function () {
101
+ var _a;
102
+ setExpanded(false);
103
+ (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
104
+ });
105
+ };
106
+ var buttonProps = __assign({ ref: buttonRef, className: 'menu-button__button', 'aria-expanded': !!expanded, 'aria-haspopup': true, 'aria-label': a11yText, 'aria-controls': menuId, onClick: function (e) {
107
+ setExpanded(!expanded);
108
+ onClick(e);
109
+ } }, rest);
110
+ return (react_1.default.createElement("span", { className: wrapperClasses },
111
+ variant === 'overflow' ?
112
+ react_1.default.createElement(ebay_icon_button_1.EbayIconButton, __assign({ icon: "overflowVertical16" }, buttonProps)) :
113
+ react_1.default.createElement(ebay_button_1.EbayButton, __assign({ variant: variant === 'form' ? 'form' : undefined, bodyState: noToggleIcon ? undefined : 'expand' }, buttonProps), label),
114
+ react_1.default.createElement(ebay_menu_1.EbayMenu, { baseEl: "div", ref: menuRef, type: type, className: menuClasses, tabIndex: -1, id: menuId, autofocus: true, checked: checked, onKeyDown: handleMenuKeydown, onChange: onChange, onSelect: onSelect }, menuItems.map(function (item, i) {
115
+ return react_1.cloneElement(item, __assign(__assign({}, item.props), { className: classnames_1.default(item.props.className, 'menu-button__item'), key: i }));
116
+ }))));
117
+ };
118
+ function labelWithIcon(label, icon) {
119
+ if (!icon) {
120
+ return label;
121
+ }
122
+ if (!label) {
123
+ return icon;
124
+ }
125
+ return react_1.default.createElement(react_1.default.Fragment, null,
126
+ icon,
127
+ label);
128
+ }
129
+ exports.default = EbayMenuButton;
@@ -0,0 +1,2 @@
1
+ export declare type EbayMenuButtonVariant = 'overflow' | 'form' | 'button';
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ebay-menu-button/types.ts"],"names":[],"mappings":"AAAA,oBAAY,qBAAqB,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAA"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,52 @@
1
+ # EbaySplitButton
2
+
3
+ ## Demo
4
+ [Storybook](https://opensource.ebay.com/ebayui-core-react/main/?path=/story/ebay-split-button--default)
5
+
6
+ ## Usage
7
+
8
+ ### Import JS
9
+ ```jsx harmony
10
+ import { EbaySplitButton } from '@ebay/ui-core-react/ebay-split-button'
11
+ ```
12
+
13
+ ### Import following styles from SKIN
14
+ ```jsx harmony
15
+ import "@ebay/skin/split-button"
16
+ ```
17
+
18
+ ### Or import styles using SCSS/CSS
19
+ ```jsx harmony
20
+ import '@ebay/skin/split-button.css'
21
+ ```
22
+
23
+ ### Icon button
24
+ ```jsx harmony
25
+ <EbaySplitButton a11yMenuText="Show save options">
26
+ Save document
27
+ <Item>Save as...</Item>
28
+ <Item>Export</Item>
29
+ </EbaySplitButton>
30
+ ```
31
+
32
+ ## Props
33
+ Name | Type | Stateful | Required | Description | Data
34
+ --- |---------| -- | --- | --- | ---
35
+ `a11yMenuText` | String | No | Yes | aria label for menu button part
36
+ `href` | String | No | No | url for link behaviour (switches to anchor tag)
37
+ `size` | String | No | No | button size: `regular` (default) or `large`
38
+ `priority` | String | No | No | `primary`, `secondary` (default), `tertiary`, `none`
39
+ `bodyState` | String | No | No | `loading` adds progress spinner, when user interacts with button, `reset` should be called to reset `aria-live` state, default is `none`
40
+ `a11yButtonLoadingText` | String | No | No | `aria-label` for button when `bodyState` is `loading`
41
+ `type` | String | No | No | menu items type: `radio` or `checkbox`
42
+ `transparent` | Boolean | No | No | for transparent background
43
+ `disabled` | Boolean | Yes | No
44
+ `partiallyDisabled` | Boolean | No | No | sets `aria-disabled` but not `disabled` prop
45
+ `onClick` | Function | - | No | click or action key pressed (`Space` or `Enter`)
46
+ `onEscape` | Function | - | No | `Esc`-key pressed
47
+ `onFocus` | Function | - | No | triggered on focus
48
+ `onBlur` | Function | - | No | triggered on blur
49
+ `onExpand` | Function | - | No | Called when content is expanded
50
+ `onCollapse` | Function | - | No | Called when content is collapsed
51
+ `onChange` | Function | - | No | Arguments: (index: number, checked: boolean) for type `radio`/`checkbox`
52
+ `onSelect` | Function | - | No | Arguments: (index: number, checked: boolean), not for use with type `radio`/`checkbox`
@@ -0,0 +1,3 @@
1
+ export { default as EbaySplitButton } from './split-button';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ebay-split-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC3D,cAAc,SAAS,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ var split_button_1 = require("./split-button");
14
+ Object.defineProperty(exports, "EbaySplitButton", { enumerable: true, get: function () { return split_button_1.default; } });
15
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { Props } from './types';
3
+ declare const EbaySplitButton: FC<Props>;
4
+ export default EbaySplitButton;
5
+ //# sourceMappingURL=split-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-button.d.ts","sourceRoot":"","sources":["../../src/ebay-split-button/split-button.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAIjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,KAAK,CA6C9B,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var react_1 = __importDefault(require("react"));
29
+ var component_utils_1 = require("../common/component-utils");
30
+ var ebay_button_1 = require("../ebay-button");
31
+ var ebay_menu_button_1 = require("../ebay-menu-button");
32
+ var EbaySplitButton = function (_a) {
33
+ var a11yMenuText = _a.a11yMenuText, children = _a.children, type = _a.type, bodyState = _a.bodyState, a11yButtonLoadingText = _a.a11yButtonLoadingText, onCollapse = _a.onCollapse, onExpand = _a.onExpand, _b = _a.onSelect, onSelect = _b === void 0 ? function () { } : _b, _c = _a.onChange, onChange = _c === void 0 ? function () { } : _c, ref = _a.ref, rest = __rest(_a, ["a11yMenuText", "children", "type", "bodyState", "a11yButtonLoadingText", "onCollapse", "onExpand", "onSelect", "onChange", "ref"]);
34
+ var menuItemComponents = [ebay_menu_button_1.EbayMenuButtonItem, ebay_menu_button_1.EbayMenuButtonSeparator];
35
+ var buttonLabel = component_utils_1.filterBy(children, function (el) { return !menuItemComponents.includes(el.type); });
36
+ var menuItems = component_utils_1.filterByType(children, menuItemComponents);
37
+ return (react_1.default.createElement("span", { className: "split-button" },
38
+ react_1.default.createElement(ebay_button_1.EbayButton, __assign({ "aria-label": bodyState === 'loading' ? a11yButtonLoadingText : undefined }, rest, { split: "start", bodyState: bodyState === 'expand' ? undefined : bodyState }), buttonLabel),
39
+ react_1.default.createElement(ebay_menu_button_1.EbayMenuButton, { priority: rest.priority, disabled: rest.disabled, transparent: rest.transparent, size: rest.size, type: type, split: "end", reverse: true, a11yText: a11yMenuText, onCollapse: onCollapse, onExpand: onExpand, onChange: onChange, onSelect: onSelect }, menuItems)));
40
+ };
41
+ exports.default = EbaySplitButton;
@@ -0,0 +1,14 @@
1
+ import { ComponentProps } from 'react';
2
+ import { EbayButtonProps } from '../ebay-button';
3
+ import { MenuProps } from '../ebay-menu';
4
+ import { EbayMenuButtonProps } from '../ebay-menu-button';
5
+ export declare type EbaySplitButtonProps = {
6
+ a11yMenuText?: string;
7
+ a11yButtonLoadingText?: string;
8
+ onCollapse?: () => void;
9
+ onExpand?: () => void;
10
+ };
11
+ declare type MenuEvents = 'onSelect' | 'onChange';
12
+ export declare type Props = EbaySplitButtonProps & Omit<EbayButtonProps, 'ref'> & Omit<ComponentProps<'button'>, 'type' | MenuEvents> & Omit<ComponentProps<'a'>, MenuEvents> & Omit<MenuProps, 'priority'> & EbayMenuButtonProps;
13
+ export {};
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ebay-split-button/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzD,oBAAY,oBAAoB,GAAG;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,CAAA;AAED,aAAK,UAAU,GAAG,UAAU,GAAG,UAAU,CAAA;AAEzC,oBAAY,KAAK,GACb,oBAAoB,GACpB,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,GAC5B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,GACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,GACrC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAC3B,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ebay/ui-core-react",
3
- "version": "4.0.5",
3
+ "version": "4.2.0",
4
4
  "description": "Skin components build off React",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org"