@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.
@@ -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
- var react_1 = __importStar(require("react"));
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, react_1.useState)(null), 2), anchorEl = _c[0], setAnchorEl = _c[1];
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.default.createElement(material_1.Button, { "aria-controls": id, "aria-haspopup": "true", classes: classes, color: color, variant: variant, onClick: onHandleOpen }, text));
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, react_1.isValidElement)(buttonRenderer)) {
80
- return (0, react_1.cloneElement)(buttonRenderer, {
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, react_1.isValidElement)(Element_1)) {
89
- return (0, react_1.cloneElement)(Element_1, {
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
- function handleItemClick() {
107
- item.onClick();
108
- setAnchorEl(null);
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.default.createElement(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()));
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.default.createElement(react_1.default.Fragment, null,
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendorflow/components",
3
- "version": "2.0.63",
3
+ "version": "2.0.67",
4
4
  "description": "React components for vendorflow",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",