@vendorflow/components 2.0.63 → 2.0.67
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/lib/components/material-ui/AudioPlayer/AudioPlayer.js +29 -21
- package/lib/components/material-ui/ButtonMenu/ButtonMenu.d.ts +2 -2
- package/lib/components/material-ui/ButtonMenu/ButtonMenu.js +25 -32
- package/lib/components/material-ui/ButtonMenu/ButtonMenu.story.js +7 -0
- package/lib/components/material-ui/DataTable/DataTable.d.ts +2 -2
- package/lib/components/material-ui/DataTable/DataTable.js +1 -0
- package/lib/types/Component.types.d.ts +6 -0
- package/package.json +1 -1
|
@@ -50,6 +50,7 @@ var react_2 = require("react");
|
|
|
50
50
|
var react_h5_audio_player_1 = __importStar(require("react-h5-audio-player"));
|
|
51
51
|
require("react-h5-audio-player/lib/styles.css");
|
|
52
52
|
var ButtonMenu_1 = __importDefault(require("../ButtonMenu"));
|
|
53
|
+
var MobileBreakpoint = 768;
|
|
53
54
|
function AudioPlayer(_a) {
|
|
54
55
|
var audioSrc = _a.audioSrc;
|
|
55
56
|
var player = (0, react_2.createRef)();
|
|
@@ -57,31 +58,38 @@ function AudioPlayer(_a) {
|
|
|
57
58
|
(0, react_2.useEffect)(function () {
|
|
58
59
|
player.current.audio.current.playbackRate = playbackRate;
|
|
59
60
|
}, [playbackRate]);
|
|
61
|
+
var isMobile = (0, react_2.useMemo)(function () {
|
|
62
|
+
return window.screen.width < MobileBreakpoint;
|
|
63
|
+
}, [window.screen.width]);
|
|
64
|
+
var PlaybackRateOptions = (0, react_2.useMemo)(function () {
|
|
65
|
+
return ((0, react_1.jsx)(ButtonMenu_1.default, { key: "plaback-rate", color: "primary", id: "playback-rate-options", buttonRenderer: (0, react_1.jsx)(material_1.Button, null, playbackRate + "x"), menuItems: [
|
|
66
|
+
{
|
|
67
|
+
content: '0.75x',
|
|
68
|
+
onClick: function () { return setPlaybackRate(0.75); },
|
|
69
|
+
type: 'MenuItem',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
content: '1x',
|
|
73
|
+
onClick: function () { return setPlaybackRate(1); },
|
|
74
|
+
type: 'MenuItem',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
content: '1.5x',
|
|
78
|
+
onClick: function () { return setPlaybackRate(1.5); },
|
|
79
|
+
type: 'MenuItem',
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
content: '2x',
|
|
83
|
+
onClick: function () { return setPlaybackRate(2); },
|
|
84
|
+
type: 'MenuItem',
|
|
85
|
+
},
|
|
86
|
+
] }));
|
|
87
|
+
}, [playbackRate]);
|
|
60
88
|
return ((0, react_1.jsx)("div", { css: function (theme) {
|
|
61
89
|
var _a, _b, _c, _d;
|
|
62
90
|
return (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n .rhap_main-controls-button {\n color: ", ";\n }\n .rhap_progress-indicator {\n background: ", ";\n }\n "], ["\n .rhap_main-controls-button {\n color: ", ";\n }\n .rhap_progress-indicator {\n background: ", ";\n }\n "])), ((_b = (_a = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _a === void 0 ? void 0 : _a.primary) === null || _b === void 0 ? void 0 : _b.main) || 'hsl(321, 53%, 31%)', ((_d = (_c = theme === null || theme === void 0 ? void 0 : theme.palette) === null || _c === void 0 ? void 0 : _c.primary) === null || _d === void 0 ? void 0 : _d.main) || 'hsl(321, 53%, 31%)');
|
|
63
91
|
} },
|
|
64
|
-
(0, react_1.jsx)(react_h5_audio_player_1.default, { ref: player, src: audioSrc, showFilledProgress: true, progressJumpSteps: { backward: 10000, forward: 10000 }, customAdditionalControls: [
|
|
65
|
-
react_h5_audio_player_1.RHAP_UI.LOOP,
|
|
66
|
-
(0, react_1.jsx)(ButtonMenu_1.default, { key: "plaback-rate", color: "primary", id: "playback-rate-options", buttonRenderer: (0, react_1.jsx)(material_1.Button, null, playbackRate + "x"), menuItems: [
|
|
67
|
-
{
|
|
68
|
-
content: '0.75x',
|
|
69
|
-
onClick: function () { return setPlaybackRate(0.75); },
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
content: '1x',
|
|
73
|
-
onClick: function () { return setPlaybackRate(1); },
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
content: '1.5x',
|
|
77
|
-
onClick: function () { return setPlaybackRate(1.5); },
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
content: '2x',
|
|
81
|
-
onClick: function () { return setPlaybackRate(2); },
|
|
82
|
-
},
|
|
83
|
-
] }),
|
|
84
|
-
] })));
|
|
92
|
+
(0, react_1.jsx)(react_h5_audio_player_1.default, { ref: player, src: audioSrc, showFilledProgress: true, progressJumpSteps: { backward: 10000, forward: 10000 }, customAdditionalControls: isMobile ? [PlaybackRateOptions] : [react_h5_audio_player_1.RHAP_UI.LOOP, PlaybackRateOptions], customVolumeControls: isMobile ? [] : [react_h5_audio_player_1.RHAP_UI.VOLUME] })));
|
|
85
93
|
}
|
|
86
94
|
exports.default = AudioPlayer;
|
|
87
95
|
var templateObject_1;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { ButtonProps, MenuProps } from '@mui/material';
|
|
3
|
-
import { MenuItem as MenuItemType } from '../../../types/Component.types';
|
|
3
|
+
import { MenuItem as MenuItemType, Divider as DividerType } from '../../../types/Component.types';
|
|
4
4
|
declare type Variant = 'text' | 'contained' | 'outlined' | undefined;
|
|
5
5
|
declare type Props = {
|
|
6
6
|
buttonRenderer?: ReactNode | (() => ReactNode);
|
|
@@ -11,7 +11,7 @@ declare type Props = {
|
|
|
11
11
|
classes?: any;
|
|
12
12
|
};
|
|
13
13
|
id: string;
|
|
14
|
-
menuItems: MenuItemType[];
|
|
14
|
+
menuItems: (MenuItemType | DividerType)[];
|
|
15
15
|
} & Omit<MenuProps, 'open'>;
|
|
16
16
|
export default function ButtonMenu(props: Props): JSX.Element;
|
|
17
17
|
export {};
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
2
6
|
var __assign = (this && this.__assign) || function () {
|
|
3
7
|
__assign = Object.assign || function(t) {
|
|
4
8
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
@@ -10,25 +14,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
14
|
};
|
|
11
15
|
return __assign.apply(this, arguments);
|
|
12
16
|
};
|
|
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.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
-
__setModuleDefault(result, mod);
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
17
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
33
18
|
var t = {};
|
|
34
19
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -57,12 +42,15 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
57
42
|
return ar;
|
|
58
43
|
};
|
|
59
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
-
|
|
45
|
+
/** @jsxRuntime classic */
|
|
46
|
+
/** @jsx jsx */
|
|
47
|
+
var react_1 = require("@emotion/react");
|
|
48
|
+
var react_2 = require("react");
|
|
61
49
|
var lodash_1 = require("lodash");
|
|
62
50
|
var material_1 = require("@mui/material");
|
|
63
51
|
function ButtonMenu(props) {
|
|
64
52
|
var buttonRenderer = props.buttonRenderer, button = props.button, id = props.id, menuItems = props.menuItems, _a = props.anchorOrigin, anchorOrigin = _a === void 0 ? { vertical: 'bottom', horizontal: 'left' } : _a, _b = props.transformOrigin, transformOrigin = _b === void 0 ? { vertical: 'top', horizontal: 'left' } : _b, restOfProps = __rest(props, ["buttonRenderer", "button", "id", "menuItems", "anchorOrigin", "transformOrigin"]);
|
|
65
|
-
var _c = __read((0,
|
|
53
|
+
var _c = __read((0, react_2.useState)(null), 2), anchorEl = _c[0], setAnchorEl = _c[1];
|
|
66
54
|
var open = !!anchorEl;
|
|
67
55
|
function onHandleOpen(evt) {
|
|
68
56
|
setAnchorEl(evt.currentTarget);
|
|
@@ -70,14 +58,14 @@ function ButtonMenu(props) {
|
|
|
70
58
|
function renderDefaultButton() {
|
|
71
59
|
if (!!button) {
|
|
72
60
|
var _a = button.text, text = _a === void 0 ? '' : _a, _b = button.variant, variant = _b === void 0 ? 'contained' : _b, _c = button.color, color = _c === void 0 ? 'primary' : _c, classes = button.classes;
|
|
73
|
-
return (react_1.
|
|
61
|
+
return ((0, react_1.jsx)(material_1.Button, { "aria-controls": id, "aria-haspopup": "true", classes: classes, color: color, variant: variant, onClick: onHandleOpen }, text));
|
|
74
62
|
}
|
|
75
63
|
return null;
|
|
76
64
|
}
|
|
77
65
|
function renderButton() {
|
|
78
66
|
if (buttonRenderer) {
|
|
79
|
-
if ((0,
|
|
80
|
-
return (0,
|
|
67
|
+
if ((0, react_2.isValidElement)(buttonRenderer)) {
|
|
68
|
+
return (0, react_2.cloneElement)(buttonRenderer, {
|
|
81
69
|
onClick: onHandleOpen,
|
|
82
70
|
'aria-controls': id,
|
|
83
71
|
'aria-haspopup': 'true',
|
|
@@ -85,8 +73,8 @@ function ButtonMenu(props) {
|
|
|
85
73
|
}
|
|
86
74
|
if ((0, lodash_1.isFunction)(buttonRenderer)) {
|
|
87
75
|
var Element_1 = buttonRenderer();
|
|
88
|
-
if ((0,
|
|
89
|
-
return (0,
|
|
76
|
+
if ((0, react_2.isValidElement)(Element_1)) {
|
|
77
|
+
return (0, react_2.cloneElement)(Element_1, {
|
|
90
78
|
onClick: onHandleOpen,
|
|
91
79
|
'aria-controls': id,
|
|
92
80
|
'aria-haspopup': 'true',
|
|
@@ -103,18 +91,23 @@ function ButtonMenu(props) {
|
|
|
103
91
|
return [];
|
|
104
92
|
}
|
|
105
93
|
return menuItems.map(function (item, index) {
|
|
106
|
-
|
|
107
|
-
item
|
|
108
|
-
|
|
94
|
+
if (item.type === 'MenuItem') {
|
|
95
|
+
return ((0, react_1.jsx)(material_1.MenuItem, { css: (0, react_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n .MuiDivider-wrapper {\n font-size: 0.875rem;\n color: hsl(0, 0%, 54%);\n }\n "], ["\n .MuiDivider-wrapper {\n font-size: 0.875rem;\n color: hsl(0, 0%, 54%);\n }\n "]))), key: id + "-menu-item-" + index, onClick: function () {
|
|
96
|
+
item.onClick();
|
|
97
|
+
setAnchorEl(null);
|
|
98
|
+
} }, item.content));
|
|
99
|
+
}
|
|
100
|
+
if (item.type === 'Divider') {
|
|
101
|
+
return ((0, react_1.jsx)(material_1.Divider, { key: id + "-divider-" + index, textAlign: item.textAlign }, item.text));
|
|
109
102
|
}
|
|
110
|
-
return (react_1.default.createElement(material_1.MenuItem, { key: id + "-menu-item-" + index, onClick: handleItemClick }, item.content));
|
|
111
103
|
});
|
|
112
104
|
}
|
|
113
105
|
function renderMenu() {
|
|
114
|
-
return (react_1.
|
|
106
|
+
return ((0, react_1.jsx)(material_1.Menu, __assign({}, restOfProps, { id: id, anchorEl: anchorEl, elevation: 4, keepMounted: true, open: open, onClose: function () { return setAnchorEl(null); }, anchorOrigin: anchorOrigin, transformOrigin: transformOrigin }), renderMenuItems()));
|
|
115
107
|
}
|
|
116
|
-
return (react_1.
|
|
108
|
+
return ((0, react_1.jsx)("div", null,
|
|
117
109
|
renderButton(),
|
|
118
110
|
renderMenu()));
|
|
119
111
|
}
|
|
120
112
|
exports.default = ButtonMenu;
|
|
113
|
+
var templateObject_1;
|
|
@@ -11,10 +11,17 @@ var menuItems = [
|
|
|
11
11
|
{
|
|
12
12
|
content: 'Option 1',
|
|
13
13
|
onClick: function () { return alert('hello'); },
|
|
14
|
+
type: 'MenuItem',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
text: 'Divider',
|
|
18
|
+
textAlign: 'left',
|
|
19
|
+
type: 'Divider',
|
|
14
20
|
},
|
|
15
21
|
{
|
|
16
22
|
content: 'Option 2',
|
|
17
23
|
onClick: function () { return alert('goodbye'); },
|
|
24
|
+
type: 'MenuItem',
|
|
18
25
|
},
|
|
19
26
|
];
|
|
20
27
|
var ButtonMenuUsingDefault = function () { return (react_1.default.createElement(ButtonMenu_1.default, { id: "button-menu-default", button: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Column, UseSortByColumnProps, HeaderGroup, UseSortByOptions, TableOptions, UseSortByColumnOptions, PluginHook, UsePaginationOptions, UseSortByInstanceProps, UsePaginationInstanceProps, TableInstance, TableState, UseSortByState, UsePaginationState, UseRowSelectOptions, UseRowSelectInstanceProps, UseRowSelectState, Row, UseRowSelectRowProps, UseExpandedOptions, UseExpandedInstanceProps, UseExpandedState, UseExpandedRowProps, UseGlobalFiltersInstanceProps, UseGlobalFiltersState, UseFiltersOptions, UseFiltersInstanceProps, UseFiltersState, UseFiltersColumnOptions, UseFiltersColumnProps, Renderer, FilterProps, UseTableOptions } from 'react-table';
|
|
1
|
+
import { Column, UseSortByColumnProps, HeaderGroup, UseSortByOptions, TableOptions, UseSortByColumnOptions, PluginHook, UsePaginationOptions, UseSortByInstanceProps, UsePaginationInstanceProps, TableInstance, TableState, UseSortByState, UsePaginationState, UseRowSelectOptions, UseRowSelectInstanceProps, UseRowSelectState, Row, UseRowSelectRowProps, UseExpandedOptions, UseExpandedInstanceProps, UseExpandedState, UseExpandedRowProps, UseGlobalFiltersInstanceProps, UseGlobalFiltersState, UseFiltersOptions, UseFiltersInstanceProps, UseFiltersState, UseFiltersColumnOptions, UseFiltersColumnProps, Renderer, FilterProps, UseTableOptions, UseGlobalFiltersOptions } from 'react-table';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
3
|
export declare type Mode = 'single' | 'multi';
|
|
4
4
|
export declare type CustomColumnConfigProps<D extends object> = {
|
|
@@ -7,7 +7,7 @@ export declare type CustomColumnConfigProps<D extends object> = {
|
|
|
7
7
|
columns?: EnhancedColumn<D>[];
|
|
8
8
|
};
|
|
9
9
|
export declare type EnhancedHeader<D extends object> = HeaderGroup<D> & UseFiltersColumnProps<D> & UseSortByColumnProps<D> & CustomColumnConfigProps<D>;
|
|
10
|
-
export declare type EnhancedTableOptions<D extends object> = TableOptions<D> & UseExpandedOptions<D> & UseFiltersOptions<D> & UseSortByOptions<D> & UsePaginationOptions<D> & UseRowSelectOptions<D>;
|
|
10
|
+
export declare type EnhancedTableOptions<D extends object> = TableOptions<D> & UseExpandedOptions<D> & UseFiltersOptions<D> & UseGlobalFiltersOptions<D> & UseSortByOptions<D> & UsePaginationOptions<D> & UseRowSelectOptions<D>;
|
|
11
11
|
export declare type EnhancedTableInstance<D extends object> = Omit<TableInstance<D>, 'state'> & UseExpandedInstanceProps<D> & UseFiltersInstanceProps<D> & UseGlobalFiltersInstanceProps<D> & UseSortByInstanceProps<D> & UsePaginationInstanceProps<D> & UseRowSelectInstanceProps<D> & {
|
|
12
12
|
state: EnhancedTableState<D>;
|
|
13
13
|
};
|
|
@@ -302,6 +302,7 @@ function useDefaultTableInstance(_a) {
|
|
|
302
302
|
var _e = ((options === null || options === void 0 ? void 0 : options.rowExpanding) || {}).autoResetExpanded, autoResetExpanded = _e === void 0 ? true : _e;
|
|
303
303
|
return react_table_1.useTable.apply(void 0, __spreadArray([{
|
|
304
304
|
autoResetExpanded: autoResetExpanded,
|
|
305
|
+
autoResetGlobalFilter: false,
|
|
305
306
|
getRowId: getRowId,
|
|
306
307
|
columns: columns,
|
|
307
308
|
data: data,
|
|
@@ -27,5 +27,11 @@ export interface DropdownEvent {
|
|
|
27
27
|
export declare type MenuItem = {
|
|
28
28
|
content: ReactNode;
|
|
29
29
|
onClick: () => void;
|
|
30
|
+
type: 'MenuItem';
|
|
31
|
+
};
|
|
32
|
+
export declare type Divider = {
|
|
33
|
+
text: string;
|
|
34
|
+
textAlign: 'center' | 'left' | 'right';
|
|
35
|
+
type: 'Divider';
|
|
30
36
|
};
|
|
31
37
|
export declare type ParsableDate = string | number | Date;
|