zds-pickers 3.9.18 → 3.10.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.
@@ -1,5 +1,5 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
2
- var _react = require("react"); /* eslint-disable consistent-return */
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; /* eslint-disable consistent-return */
2
+ import { useCallback, useLayoutEffect, useState } from 'react';
3
3
 
4
4
  var getSize = function getSize(el) {return el ?
5
5
  {
@@ -12,43 +12,43 @@ var getSize = function getSize(el) {return el ?
12
12
  };};
13
13
 
14
14
  var useComponentSize = function useComponentSize(ref) {
15
- var _useState = (0, _react.useState)(getSize(ref ? ref.current : {})),_useState2 = (0, _slicedToArray2["default"])(_useState, 2),componentSize = _useState2[0],setComponentSize = _useState2[1];
15
+ var _useState = useState(getSize(ref ? ref.current : {})),_useState2 = _slicedToArray(_useState, 2),componentSize = _useState2[0],setComponentSize = _useState2[1];
16
16
 
17
- var handleResize = (0, _react.useCallback)(function () {
17
+ var handleResize = useCallback(function () {
18
18
  if (ref.current) {
19
19
  setComponentSize(getSize(ref.current));
20
20
  }
21
21
  }, [ref]);
22
22
 
23
- (0, _react.useLayoutEffect)(
24
- function () {
25
- if (!ref.current) return;
23
+ useLayoutEffect(
24
+ function () {
25
+ if (!ref.current) return;
26
26
 
27
- handleResize();
27
+ handleResize();
28
28
 
29
- if (typeof ResizeObserver === 'function') {
30
- var resizeObserver = new ResizeObserver(function () {
31
- handleResize();
32
- });
33
- resizeObserver.observe(ref.current);
29
+ if (typeof ResizeObserver === 'function') {
30
+ var resizeObserver = new ResizeObserver(function () {
31
+ handleResize();
32
+ });
33
+ resizeObserver.observe(ref.current);
34
+
35
+ return function () {
36
+ // eslint-disable-next-line react-hooks/exhaustive-deps
37
+ resizeObserver.disconnect(ref.current);
38
+ resizeObserver = null;
39
+ };
40
+ }
41
+ window.addEventListener('resize', handleResize);
34
42
 
35
43
  return function () {
36
- // eslint-disable-next-line react-hooks/exhaustive-deps
37
- resizeObserver.disconnect(ref.current);
38
- resizeObserver = null;
44
+ window.removeEventListener('resize', handleResize);
39
45
  };
40
- }
41
- window.addEventListener('resize', handleResize);
42
-
43
- return function () {
44
- window.removeEventListener('resize', handleResize);
45
- };
46
- },
47
- // eslint-disable-next-line react-hooks/exhaustive-deps
48
- [ref.current]);
49
-
46
+ },
47
+ // eslint-disable-next-line react-hooks/exhaustive-deps
48
+ [ref.current]
49
+ );
50
50
 
51
51
  return componentSize;
52
- };var _default =
52
+ };
53
53
 
54
- useComponentSize;exports["default"] = _default;
54
+ export default useComponentSize;
@@ -1,11 +1,11 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react = require("react");var _default =
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";import { useEffect, useState } from 'react';
2
2
 
3
- function _default(defaultVal) {
4
- var _useState = (0, _react.useState)(defaultVal),_useState2 = (0, _slicedToArray2["default"])(_useState, 2),state = _useState2[0],setState = _useState2[1];
3
+ export default (function (defaultVal) {
4
+ var _useState = useState(defaultVal),_useState2 = _slicedToArray(_useState, 2),state = _useState2[0],setState = _useState2[1];
5
5
 
6
- (0, _react.useEffect)(function () {
6
+ useEffect(function () {
7
7
  setState(defaultVal);
8
8
  }, [defaultVal]);
9
9
 
10
10
  return [state, setState];
11
- };exports["default"] = _default;
11
+ });
package/dist/index.js CHANGED
@@ -1,42 +1,43 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");var _typeof = require("@babel/runtime/helpers/typeof");Object.defineProperty(exports, "__esModule", { value: true });Object.defineProperty(exports, "CCPicker", { enumerable: true, get: function get() {return _CCPicker["default"];} });Object.defineProperty(exports, "ChannelMappingPicker", { enumerable: true, get: function get() {return _ChannelMappingPicker["default"];} });Object.defineProperty(exports, "ChannelPicker", { enumerable: true, get: function get() {return _ChannelPicker["default"];} });Object.defineProperty(exports, "Knob", { enumerable: true, get: function get() {return _Knob["default"];} });Object.defineProperty(exports, "KnobPicker", { enumerable: true, get: function get() {return _KnobPicker["default"];} });Object.defineProperty(exports, "LatchPicker", { enumerable: true, get: function get() {return _LatchPicker["default"];} });Object.defineProperty(exports, "MASK_CHANNEL", { enumerable: true, get: function get() {return _statuses.MASK_CHANNEL;} });Object.defineProperty(exports, "MASK_STATUS", { enumerable: true, get: function get() {return _statuses.MASK_STATUS;} });Object.defineProperty(exports, "MappingPicker", { enumerable: true, get: function get() {return _MappingPicker["default"];} });Object.defineProperty(exports, "NotePicker", { enumerable: true, get: function get() {return _NotePicker["default"];} });Object.defineProperty(exports, "PianoPicker", { enumerable: true, get: function get() {return _PianoPicker["default"];} });Object.defineProperty(exports, "PolarityPicker", { enumerable: true, get: function get() {return _PolarityPicker["default"];} });Object.defineProperty(exports, "RESPONSE_CURVES", { enumerable: true, get: function get() {return _ResponseCurve.RESPONSE_CURVES;} });Object.defineProperty(exports, "ResponseCurve", { enumerable: true, get: function get() {return _ResponseCurve["default"];} });Object.defineProperty(exports, "ResponseCurvePicker", { enumerable: true, get: function get() {return _ResponseCurvePicker["default"];} });Object.defineProperty(exports, "STATUS_AFTER_TOUCH", { enumerable: true, get: function get() {return _statuses.STATUS_AFTER_TOUCH;} });Object.defineProperty(exports, "STATUS_CHANNEL_PRESSURE", { enumerable: true, get: function get() {return _statuses.STATUS_CHANNEL_PRESSURE;} });Object.defineProperty(exports, "STATUS_CONTROL_CHANGE", { enumerable: true, get: function get() {return _statuses.STATUS_CONTROL_CHANGE;} });Object.defineProperty(exports, "STATUS_NOTE_OFF", { enumerable: true, get: function get() {return _statuses.STATUS_NOTE_OFF;} });Object.defineProperty(exports, "STATUS_NOTE_ON", { enumerable: true, get: function get() {return _statuses.STATUS_NOTE_ON;} });Object.defineProperty(exports, "STATUS_PITCH_WHEEL", { enumerable: true, get: function get() {return _statuses.STATUS_PITCH_WHEEL;} });Object.defineProperty(exports, "STATUS_PROGRAM_CHANGE", { enumerable: true, get: function get() {return _statuses.STATUS_PROGRAM_CHANGE;} });Object.defineProperty(exports, "SVGText", { enumerable: true, get: function get() {return _SVGText["default"];} });Object.defineProperty(exports, "Select", { enumerable: true, get: function get() {return _Select["default"];} });Object.defineProperty(exports, "StatusPicker", { enumerable: true, get: function get() {return _StatusPicker["default"];} });Object.defineProperty(exports, "ValuePicker", { enumerable: true, get: function get() {return _ValuePicker["default"];} });Object.defineProperty(exports, "assertRange", { enumerable: true, get: function get() {return _utils.assertRange;} });Object.defineProperty(exports, "ccValues", { enumerable: true, get: function get() {return _ccValues["default"];} });Object.defineProperty(exports, "combineStatus", { enumerable: true, get: function get() {return _statuses.combineStatus;} });Object.defineProperty(exports, "extractStatus", { enumerable: true, get: function get() {return _statuses.extractStatus;} });Object.defineProperty(exports, "getStatusLabel", { enumerable: true, get: function get() {return _statuses.getStatusLabel;} });Object.defineProperty(exports, "memoize", { enumerable: true, get: function get() {return _utils.memoize;} });Object.defineProperty(exports, "statuses", { enumerable: true, get: function get() {return _statuses["default"];} });
2
- var _CCPicker = _interopRequireDefault(require("./pickers/CCPicker"));
3
- var _ChannelMappingPicker = _interopRequireDefault(require("./pickers/ChannelMappingPicker"));
4
- var _ChannelPicker = _interopRequireDefault(require("./pickers/ChannelPicker"));
5
- var _Knob = _interopRequireDefault(require("./pickers/Knob"));
6
- var _KnobPicker = _interopRequireDefault(require("./pickers/KnobPicker"));
7
- var _LatchPicker = _interopRequireDefault(require("./pickers/LatchPicker"));
8
- var _MappingPicker = _interopRequireDefault(require("./pickers/MappingPicker"));
9
- var _NotePicker = _interopRequireDefault(require("./pickers/NotePicker"));
10
- var _PianoPicker = _interopRequireDefault(require("./pickers/PianoPicker"));
11
- var _PolarityPicker = _interopRequireDefault(require("./pickers/PolarityPicker"));
12
- var _ResponseCurvePicker = _interopRequireDefault(require("./pickers/ResponseCurvePicker"));
13
- var _Select = _interopRequireDefault(require("./pickers/Select"));
14
- var _StatusPicker = _interopRequireDefault(require("./pickers/StatusPicker"));
15
- var _SVGText = _interopRequireDefault(require("./other/SVGText"));
16
- var _ValuePicker = _interopRequireDefault(require("./pickers/ValuePicker"));
17
-
18
-
19
- var _statuses = _interopRequireWildcard(require("./midi/statuses"));
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
- var _ResponseCurve = _interopRequireWildcard(require("./pickers/ResponseCurve"));
36
-
37
-
38
-
39
-
40
- var _ccValues = _interopRequireDefault(require("./midi/ccValues"));
41
-
42
- var _utils = require("./utils");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") {return { "default": obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj["default"] = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
1
+ // Pickers
2
+ export { default as CCPicker } from './pickers/CCPicker';
3
+ export { default as ChannelMappingPicker } from './pickers/ChannelMappingPicker';
4
+ export { default as ChannelPicker } from './pickers/ChannelPicker';
5
+ export { default as Knob } from './pickers/Knob';
6
+ export { default as KnobPicker } from './pickers/KnobPicker';
7
+ export { default as LatchPicker } from './pickers/LatchPicker';
8
+ export { default as MappingPicker } from './pickers/MappingPicker';
9
+ export { default as NotePicker } from './pickers/NotePicker';
10
+ export { default as OctavePlayer } from './other/OctavePlayer';
11
+ export { default as PianoPicker } from './pickers/PianoPicker';
12
+ export { default as PolarityPicker } from './pickers/PolarityPicker';
13
+ export { default as ResponseCurvePicker } from './pickers/ResponseCurvePicker';
14
+ export { default as Select } from './pickers/Select';
15
+ export { default as StatusPicker } from './pickers/StatusPicker';
16
+ export { default as SVGText } from './other/SVGText';
17
+ export { default as ValuePicker } from './pickers/ValuePicker';
18
+
19
+ // MIDI
20
+ export {
21
+ default as statuses,
22
+ getStatusLabel,
23
+ combineStatus,
24
+ extractStatus,
25
+ STATUS_NOTE_OFF,
26
+ STATUS_NOTE_ON,
27
+ STATUS_AFTER_TOUCH,
28
+ STATUS_CONTROL_CHANGE,
29
+ STATUS_PROGRAM_CHANGE,
30
+ STATUS_CHANNEL_PRESSURE,
31
+ STATUS_PITCH_WHEEL,
32
+ MASK_CHANNEL,
33
+ MASK_STATUS } from
34
+ './midi/statuses';
35
+
36
+ export {
37
+ default as ResponseCurve,
38
+ RESPONSE_CURVES } from
39
+ './pickers/ResponseCurve';
40
+
41
+ export { default as ccValues } from './midi/ccValues';
42
+
43
+ export { assertRange, memoize } from './utils';
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var CC_NAMES = [
1
+ var CC_NAMES = [
2
2
  'Bank Select',
3
3
  'Modulation Wheel',
4
4
  'Breath Controller',
@@ -127,6 +127,11 @@
127
127
  'Omni Mode On',
128
128
  'Mono Mode On',
129
129
  'Poly Mode'].
130
- map(function (label, value) {return { label: "".concat(value, " - ").concat(label), value: value };});var _default =
130
+ map(function (label, value) {return {
131
+ label: String(label).length ? "".concat(
132
+ value, " - ").concat(label) :
133
+ value,
134
+ value: value
135
+ };});
131
136
 
132
- CC_NAMES;exports["default"] = _default;
137
+ export default CC_NAMES;
@@ -1,16 +1,16 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.getStatusLabel = exports.extractStatus = exports["default"] = exports.combineStatus = exports.STATUS_PROGRAM_CHANGE = exports.STATUS_PITCH_WHEEL = exports.STATUS_NOTE_ON = exports.STATUS_NOTE_OFF = exports.STATUS_CONTROL_CHANGE = exports.STATUS_CHANNEL_PRESSURE = exports.STATUS_AFTER_TOUCH = exports.MASK_STATUS = exports.MASK_CHANNEL = void 0; /* eslint-disable no-bitwise */
2
-
3
- var STATUS_NOTE_OFF = 8; // 1000
4
- exports.STATUS_NOTE_OFF = STATUS_NOTE_OFF;var STATUS_NOTE_ON = 9; // 1001
5
- exports.STATUS_NOTE_ON = STATUS_NOTE_ON;var STATUS_AFTER_TOUCH = 10; // 1010
6
- exports.STATUS_AFTER_TOUCH = STATUS_AFTER_TOUCH;var STATUS_CONTROL_CHANGE = 11; // 1011
7
- exports.STATUS_CONTROL_CHANGE = STATUS_CONTROL_CHANGE;var STATUS_PROGRAM_CHANGE = 12; // 1100
8
- exports.STATUS_PROGRAM_CHANGE = STATUS_PROGRAM_CHANGE;var STATUS_CHANNEL_PRESSURE = 13; // 1101
9
- exports.STATUS_CHANNEL_PRESSURE = STATUS_CHANNEL_PRESSURE;var STATUS_PITCH_WHEEL = 14; // 1110
10
- exports.STATUS_PITCH_WHEEL = STATUS_PITCH_WHEEL;
11
- var MASK_CHANNEL = 15; // 00001111
12
- exports.MASK_CHANNEL = MASK_CHANNEL;var MASK_STATUS = 240; // 01110000
13
- exports.MASK_STATUS = MASK_STATUS;
1
+ /* eslint-disable no-bitwise */
2
+
3
+ export var STATUS_NOTE_OFF = 8; // 1000
4
+ export var STATUS_NOTE_ON = 9; // 1001
5
+ export var STATUS_AFTER_TOUCH = 10; // 1010
6
+ export var STATUS_CONTROL_CHANGE = 11; // 1011
7
+ export var STATUS_PROGRAM_CHANGE = 12; // 1100
8
+ export var STATUS_CHANNEL_PRESSURE = 13; // 1101
9
+ export var STATUS_PITCH_WHEEL = 14; // 1110
10
+
11
+ export var MASK_CHANNEL = 15; // 00001111
12
+ export var MASK_STATUS = 240; // 01110000
13
+
14
14
  var statuses = [
15
15
  { value: STATUS_NOTE_ON, label: 'Note On' },
16
16
  { value: STATUS_NOTE_OFF, label: 'Note Stack' },
@@ -21,13 +21,13 @@ var statuses = [
21
21
  { value: STATUS_PITCH_WHEEL, label: 'Pitch Wheel' }];
22
22
 
23
23
 
24
- var getStatusLabel = function getStatusLabel(val) {var _statuses$filter$;return ((_statuses$filter$ = statuses.filter(function (_ref) {var value = _ref.value;return value === val;})[0]) === null || _statuses$filter$ === void 0 ? void 0 : _statuses$filter$.label) || '???';};exports.getStatusLabel = getStatusLabel;
24
+ export var getStatusLabel = function getStatusLabel(val) {var _statuses$filter$;return ((_statuses$filter$ = statuses.filter(function (_ref) {var value = _ref.value;return value === val;})[0]) === null || _statuses$filter$ === void 0 ? void 0 : _statuses$filter$.label) || '???';};
25
25
 
26
- var combineStatus = function combineStatus(channel, status) {return channel | status << 4;};exports.combineStatus = combineStatus;
26
+ export var combineStatus = function combineStatus(channel, status) {return channel | status << 4;};
27
27
 
28
- var extractStatus = function extractStatus(status) {return {
28
+ export var extractStatus = function extractStatus(status) {return {
29
29
  status: (status & MASK_STATUS) >> 4 | 8,
30
30
  channel: status & MASK_CHANNEL
31
- };};exports.extractStatus = extractStatus;var _default =
31
+ };};
32
32
 
33
- statuses;exports["default"] = _default;
33
+ export default statuses;
@@ -1,8 +1,8 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _propTypes = _interopRequireDefault(require("prop-types"));
2
- var _react = require("react");
1
+ import PropTypes from 'prop-types';
2
+ import { Fragment } from 'react';
3
3
 
4
- var DefaultTooltip = function DefaultTooltip(_ref) {var children = _ref.children;return createElement(_react.Fragment, null, children);};
4
+ var DefaultTooltip = function DefaultTooltip(_ref) {var children = _ref.children;return createElement(Fragment, null, children);};
5
5
 
6
- DefaultTooltip.propTypes = { children: _propTypes["default"].element.isRequired };var _default =
6
+ DefaultTooltip.propTypes = { children: PropTypes.element.isRequired };
7
7
 
8
- DefaultTooltip;exports["default"] = _default;
8
+ export default DefaultTooltip;
@@ -0,0 +1,121 @@
1
+ import _extends from "@babel/runtime/helpers/extends";import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";var _excluded = ["octave", "height", "width"];import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { /* Midi, */Note } from 'tonal';
4
+ import { Piano as ReactPiano } from 'zds-react-piano';
5
+ import SoundfontProvider from './SoundFontProvider';
6
+ import DefaultTooltip from './DefaultTooltip';
7
+
8
+ var baseNotes = ['C', 'C#', 'D', 'D#', 'E', 'F', 'F#', 'G', 'G#', 'A', 'A#', 'B'];
9
+
10
+ // const { midiToFreq, midiToNoteName } = Midi
11
+
12
+ // console.log(Note.names(), Note.midi('C4'))
13
+
14
+ // const firstNote = 21
15
+ // const lastNote = 108
16
+ var numNotes = 12;
17
+
18
+ var whiteNotes = numNotes * 0.7; // approx
19
+
20
+ var audioContext = new (window.AudioContext || window.webkitAudioContext)();
21
+
22
+ var OctavePlayer = function OctavePlayer(_ref) {var octave = _ref.octave,height = _ref.height,width = _ref.width,rest = _objectWithoutProperties(_ref, _excluded);
23
+ var keyWidth = width / whiteNotes + 2;
24
+ var keyWidthToHeight = keyWidth / height;
25
+
26
+ var firstNote = Note.midi(baseNotes[0] + String(octave));
27
+ var lastNote = Note.midi(baseNotes[baseNotes.length - 1] + String(octave));
28
+
29
+ return /*#__PURE__*/(
30
+ React.createElement("div", null, /*#__PURE__*/
31
+ React.createElement(ReactPiano, _extends({
32
+ keyWidthToHeight: keyWidthToHeight,
33
+ noteRange: { first: firstNote, last: lastNote },
34
+ width: width },
35
+ rest)
36
+ )
37
+ ));
38
+
39
+ };
40
+
41
+ var WithProvider = function WithProvider(_ref2) {var
42
+ format = _ref2.format,
43
+ height = _ref2.height,
44
+ hostname = _ref2.hostname,
45
+ instrumentName = _ref2.instrumentName,
46
+ octave = _ref2.octave,
47
+ onChange = _ref2.onChange,
48
+ onClick = _ref2.onClick,
49
+ onDoubleClick = _ref2.onDoubleClick,
50
+ onKeyMouseEnter = _ref2.onKeyMouseEnter,
51
+ onKeyMouseLeave = _ref2.onKeyMouseLeave,
52
+ soundfont = _ref2.soundfont,
53
+ Tooltip = _ref2.Tooltip,
54
+ width = _ref2.width;return /*#__PURE__*/(
55
+
56
+ React.createElement(SoundfontProvider, {
57
+
58
+ audioContext: audioContext,
59
+ format: format,
60
+ hostname: hostname,
61
+ instrumentName: instrumentName,
62
+ onChange: onChange,
63
+ soundfont: soundfont,
64
+
65
+ render: function render(_ref3) {var isLoading = _ref3.isLoading,playNote = _ref3.playNote,stopNote = _ref3.stopNote;return /*#__PURE__*/(
66
+ React.createElement(OctavePlayer, {
67
+ disabled: isLoading,
68
+
69
+ height: height,
70
+ octave: octave,
71
+ onClick: onClick,
72
+ onDoubleClick: onDoubleClick,
73
+ onKeyMouseEnter: onKeyMouseEnter,
74
+ onKeyMouseLeave: onKeyMouseLeave,
75
+ playNote: playNote,
76
+ stopNote: stopNote,
77
+ Tooltip: Tooltip,
78
+ width: width }
79
+
80
+ ));} }
81
+
82
+ ));};
83
+
84
+
85
+ OctavePlayer.propTypes = {
86
+ height: PropTypes.number.isRequired,
87
+ octave: PropTypes.number.isRequired,
88
+ width: PropTypes.number.isRequired
89
+ };
90
+
91
+ WithProvider.propTypes = {
92
+ format: PropTypes.oneOf(['mp3', 'ogg']),
93
+ height: PropTypes.number.isRequired,
94
+ hostname: PropTypes.string,
95
+ instrumentName: PropTypes.string,
96
+ octave: PropTypes.number,
97
+ onChange: PropTypes.func,
98
+ onClick: PropTypes.func,
99
+ onDoubleClick: PropTypes.func,
100
+ onKeyMouseEnter: PropTypes.func,
101
+ onKeyMouseLeave: PropTypes.func,
102
+ soundfont: PropTypes.oneOf(['MusyngKite', 'FluidR3_GM']),
103
+ Tooltip: PropTypes.elementType,
104
+ width: PropTypes.number.isRequired
105
+ };
106
+
107
+ WithProvider.defaultProps = {
108
+ format: undefined, // 'mp3',
109
+ hostname: undefined,
110
+ instrumentName: undefined,
111
+ octave: 4,
112
+ onChange: undefined,
113
+ onClick: undefined,
114
+ onDoubleClick: undefined,
115
+ onKeyMouseEnter: undefined,
116
+ onKeyMouseLeave: undefined,
117
+ soundfont: undefined, // 'MusyngKite',
118
+ Tooltip: DefaultTooltip
119
+ };
120
+
121
+ export default WithProvider;
@@ -1,28 +1,28 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");var _typeof = require("@babel/runtime/helpers/typeof");Object.defineProperty(exports, "__esModule", { value: true });exports["default"] = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
2
- var _react = _interopRequireWildcard(require("react"));
3
- var _propTypes = _interopRequireDefault(require("prop-types"));
4
- var _shapes = require("../shapes");
5
- var _utils = require("./utils");var _excluded = ["children", "maxHeight", "maxWidth", "verticalAnchor"];function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") {return { "default": obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj["default"] = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
1
+ import _extends from "@babel/runtime/helpers/extends";import _slicedToArray from "@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";var _excluded = ["children", "maxHeight", "maxWidth", "verticalAnchor"]; /* eslint-disable react/destructuring-assignment */
2
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { numberOrString } from '../shapes';
5
+ import { MEASUREMENT_ELEMENT_ID, calculateWordWidths, calculateWordsByLines } from './utils';
6
6
 
7
7
  var Text = function Text(props) {
8
- var children = props.children,maxHeight = props.maxHeight,maxWidth = props.maxWidth,verticalAnchor = props.verticalAnchor,rest = (0, _objectWithoutProperties2["default"])(props, _excluded);
9
- var _useState = (0, _react.useState)(),_useState2 = (0, _slicedToArray2["default"])(_useState, 2),wordWidths = _useState2[0],setWordWidths = _useState2[1];
10
- var _useState3 = (0, _react.useState)([]),_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),textLines = _useState4[0],setTextLines = _useState4[1];
11
- var _useState5 = (0, _react.useState)(),_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),style = _useState6[0],setComputedStyle = _useState6[1];
12
- var measureRef = (0, _react.useRef)();
13
- var displayedLines = (0, _react.useMemo)(
14
- function () {return textLines.filter(function (_ref) {var showLine = _ref.showLine;return showLine;});},
15
- [textLines]);
16
-
17
- var ref = (0, _react.useCallback)(function (node) {
8
+ var children = props.children,maxHeight = props.maxHeight,maxWidth = props.maxWidth,verticalAnchor = props.verticalAnchor,rest = _objectWithoutProperties(props, _excluded);
9
+ var _useState = useState(),_useState2 = _slicedToArray(_useState, 2),wordWidths = _useState2[0],setWordWidths = _useState2[1];
10
+ var _useState3 = useState([]),_useState4 = _slicedToArray(_useState3, 2),textLines = _useState4[0],setTextLines = _useState4[1];
11
+ var _useState5 = useState(),_useState6 = _slicedToArray(_useState5, 2),style = _useState6[0],setComputedStyle = _useState6[1];
12
+ var measureRef = useRef();
13
+ var displayedLines = useMemo(
14
+ function () {return textLines.filter(function (_ref) {var showLine = _ref.showLine;return showLine;});},
15
+ [textLines]
16
+ );
17
+ var ref = useCallback(function (node) {
18
18
  setComputedStyle(node !== null ? window.getComputedStyle(node) : '');
19
19
  }, []);
20
20
 
21
- (0, _react.useEffect)(function () {
22
- var el = document.getElementById(_utils.MEASUREMENT_ELEMENT_ID);
21
+ useEffect(function () {
22
+ var el = document.getElementById(MEASUREMENT_ELEMENT_ID);
23
23
  if (el === null) {
24
24
  var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
25
- svg.setAttribute('id', _utils.MEASUREMENT_ELEMENT_ID);
25
+ svg.setAttribute('id', MEASUREMENT_ELEMENT_ID);
26
26
  document.body.appendChild(svg);
27
27
  svg.appendChild(document.createElementNS('http://www.w3.org/2000/svg', 'text'));
28
28
  measureRef.current = svg;
@@ -32,19 +32,19 @@ var Text = function Text(props) {
32
32
  return function () {return el && document.body.contains(el) ? document.body.removeChild(el) : null;};
33
33
  }, []);
34
34
 
35
- (0, _react.useEffect)(function () {
36
- var wordWithWidths = (0, _utils.calculateWordWidths)(style, measureRef.current.firstElementChild, children);
35
+ useEffect(function () {
36
+ var wordWithWidths = calculateWordWidths(style, measureRef.current.firstElementChild, children);
37
37
  setWordWidths(wordWithWidths);
38
38
  }, [children, style]);
39
39
 
40
- (0, _react.useEffect)(function () {
40
+ useEffect(function () {
41
41
  if (maxWidth && wordWidths) {
42
- var lines = (0, _utils.calculateWordsByLines)(children, wordWidths, maxWidth, maxHeight);
42
+ var lines = calculateWordsByLines(children, wordWidths, maxWidth, maxHeight);
43
43
  setTextLines(lines);
44
44
  }
45
45
  }, [maxHeight, maxWidth, wordWidths, children]);
46
46
 
47
- var startDy = (0, _react.useMemo)(function () {
47
+ var startDy = useMemo(function () {
48
48
  if (wordWidths !== null && wordWidths !== void 0 && wordWidths.lineHeight) {
49
49
  switch (verticalAnchor) {
50
50
  case 'start':
@@ -54,53 +54,53 @@ var Text = function Text(props) {
54
54
  return -((displayedLines.length - 1) * wordWidths.lineHeight / 2);
55
55
 
56
56
  default:
57
- return -(displayedLines.length - 1) * wordWidths.lineHeight;}
58
-
57
+ return -(displayedLines.length - 1) * wordWidths.lineHeight;
58
+ }
59
59
  } else {
60
60
  return 0;
61
61
  }
62
62
  }, [displayedLines.length, verticalAnchor, wordWidths === null || wordWidths === void 0 ? void 0 : wordWidths.lineHeight]);
63
63
 
64
64
  return /*#__PURE__*/(
65
- _react["default"].createElement("text", (0, _extends2["default"])({
65
+ React.createElement("text", _extends({
66
66
  ref: ref },
67
67
  rest),
68
68
 
69
69
  textLines.length <= 1 ?
70
70
  children : /*#__PURE__*/
71
71
 
72
- _react["default"].createElement(_react["default"].Fragment, null,
72
+ React.createElement(React.Fragment, null,
73
73
  displayedLines.map(function (line, idx) {return /*#__PURE__*/(
74
- _react["default"].createElement("tspan", {
74
+ React.createElement("tspan", {
75
75
  dx: props.x + props.dx,
76
76
  dy: idx === 0 ? startDy + props.dy : wordWidths.lineHeight,
77
77
  key: idx,
78
78
  x: 0 },
79
79
 
80
- line.words.join(' ')));}),
81
-
82
-
80
+ line.words.join(' ')
81
+ ));}
82
+ ),
83
83
  displayedLines.length !== textLines.length && /*#__PURE__*/
84
- _react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/
85
- _react["default"].createElement("tspan", null, "..."), /*#__PURE__*/
86
- _react["default"].createElement("title", null, children)))));
87
-
88
-
89
-
84
+ React.createElement(React.Fragment, null, /*#__PURE__*/
85
+ React.createElement("tspan", null, "..."), /*#__PURE__*/
86
+ React.createElement("title", null, children)
87
+ )
90
88
 
89
+ )
91
90
 
91
+ ));
92
92
 
93
93
  };
94
94
 
95
95
  Text.propTypes = {
96
- children: _propTypes["default"].node.isRequired,
97
- dx: _propTypes["default"].number,
98
- dy: _propTypes["default"].number,
99
- maxHeight: _propTypes["default"].number,
100
- maxWidth: _propTypes["default"].number,
101
- verticalAnchor: _propTypes["default"].oneOf(['start', 'middle', 'end']),
102
- x: _shapes.numberOrString,
103
- y: _shapes.numberOrString
96
+ children: PropTypes.node.isRequired,
97
+ dx: PropTypes.number,
98
+ dy: PropTypes.number,
99
+ maxHeight: PropTypes.number,
100
+ maxWidth: PropTypes.number,
101
+ verticalAnchor: PropTypes.oneOf(['start', 'middle', 'end']),
102
+ x: numberOrString,
103
+ y: numberOrString
104
104
  };
105
105
 
106
106
  Text.defaultProps = {
@@ -111,6 +111,6 @@ Text.defaultProps = {
111
111
  verticalAnchor: 'start',
112
112
  x: '50%',
113
113
  y: '50%'
114
- };var _default =
114
+ };
115
115
 
116
- Text;exports["default"] = _default;
116
+ export default Text;