@tremolo-ui/react 0.0.1 → 0.0.3
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/README.md +5 -53
- package/dist/cjs/index.d.ts +107 -46
- package/dist/cjs/index.js +525 -203
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/packages/react/tsconfig.tsbuildinfo +1 -0
- package/dist/cjs/types/packages/functions/components/NumberInput/type.d.ts +14 -0
- package/dist/cjs/types/packages/functions/components/NumberInput/type.d.ts.map +1 -0
- package/dist/cjs/types/{src → packages/functions}/components/Slider/type.d.ts +8 -2
- package/dist/cjs/types/packages/functions/components/Slider/type.d.ts.map +1 -0
- package/dist/cjs/types/{src → packages/functions}/math.d.ts +4 -0
- package/dist/cjs/types/packages/functions/math.d.ts.map +1 -0
- package/dist/cjs/types/packages/functions/types.d.ts.map +1 -0
- package/dist/cjs/types/packages/functions/util.d.ts +6 -0
- package/dist/cjs/types/packages/functions/util.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/components/AnimationCanvas/canvas.d.ts +6 -0
- package/dist/cjs/types/packages/react/src/components/AnimationCanvas/canvas.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/components/AnimationCanvas/index.d.ts +20 -0
- package/dist/cjs/types/packages/react/src/components/AnimationCanvas/index.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/components/Knob/index.d.ts +36 -0
- package/dist/cjs/types/packages/react/src/components/Knob/index.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/components/NumberInput/index.d.ts +47 -0
- package/dist/cjs/types/packages/react/src/components/NumberInput/index.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/components/Slider/Thumb.d.ts +11 -0
- package/dist/cjs/types/packages/react/src/components/Slider/Thumb.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/components/Slider/Track.d.ts +10 -0
- package/dist/cjs/types/packages/react/src/components/Slider/Track.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/components/Slider/index.d.ts +34 -0
- package/dist/cjs/types/packages/react/src/components/Slider/index.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/components/Slider/type.d.ts +6 -0
- package/dist/cjs/types/packages/react/src/components/Slider/type.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/hooks/useCallbackRef.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/hooks/useEventListener.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/hooks/useRefCallbackEvent.d.ts +5 -0
- package/dist/cjs/types/packages/react/src/hooks/useRefCallbackEvent.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/index.d.ts +7 -0
- package/dist/cjs/types/packages/react/src/index.d.ts.map +1 -0
- package/dist/cjs/types/packages/react/src/system/pseudo.d.ts +14 -0
- package/dist/cjs/types/packages/react/src/system/pseudo.d.ts.map +1 -0
- package/dist/esm/index.d.ts +107 -46
- package/dist/esm/index.js +513 -197
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/packages/react/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/types/packages/functions/components/NumberInput/type.d.ts +14 -0
- package/dist/esm/types/packages/functions/components/NumberInput/type.d.ts.map +1 -0
- package/dist/esm/types/{src → packages/functions}/components/Slider/type.d.ts +8 -2
- package/dist/esm/types/packages/functions/components/Slider/type.d.ts.map +1 -0
- package/dist/esm/types/{src → packages/functions}/math.d.ts +4 -0
- package/dist/esm/types/packages/functions/math.d.ts.map +1 -0
- package/dist/esm/types/packages/functions/types.d.ts.map +1 -0
- package/dist/esm/types/packages/functions/util.d.ts +6 -0
- package/dist/esm/types/packages/functions/util.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/components/AnimationCanvas/canvas.d.ts +6 -0
- package/dist/esm/types/packages/react/src/components/AnimationCanvas/canvas.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/components/AnimationCanvas/index.d.ts +20 -0
- package/dist/esm/types/packages/react/src/components/AnimationCanvas/index.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/components/Knob/index.d.ts +36 -0
- package/dist/esm/types/packages/react/src/components/Knob/index.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/components/NumberInput/index.d.ts +47 -0
- package/dist/esm/types/packages/react/src/components/NumberInput/index.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/components/Slider/Thumb.d.ts +11 -0
- package/dist/esm/types/packages/react/src/components/Slider/Thumb.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/components/Slider/Track.d.ts +10 -0
- package/dist/esm/types/packages/react/src/components/Slider/Track.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/components/Slider/index.d.ts +34 -0
- package/dist/esm/types/packages/react/src/components/Slider/index.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/components/Slider/type.d.ts +6 -0
- package/dist/esm/types/packages/react/src/components/Slider/type.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/hooks/useCallbackRef.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/hooks/useEventListener.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/hooks/useRefCallbackEvent.d.ts +5 -0
- package/dist/esm/types/packages/react/src/hooks/useRefCallbackEvent.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/index.d.ts +7 -0
- package/dist/esm/types/packages/react/src/index.d.ts.map +1 -0
- package/dist/esm/types/packages/react/src/system/pseudo.d.ts +14 -0
- package/dist/esm/types/packages/react/src/system/pseudo.d.ts.map +1 -0
- package/package.json +24 -39
- package/LICENSE +0 -21
- package/dist/cjs/types/src/components/Knob/index.d.ts +0 -23
- package/dist/cjs/types/src/components/Knob/index.d.ts.map +0 -1
- package/dist/cjs/types/src/components/Slider/index.d.ts +0 -27
- package/dist/cjs/types/src/components/Slider/index.d.ts.map +0 -1
- package/dist/cjs/types/src/components/Slider/type.d.ts.map +0 -1
- package/dist/cjs/types/src/hooks/useCallbackRef.d.ts.map +0 -1
- package/dist/cjs/types/src/hooks/useEventListener.d.ts.map +0 -1
- package/dist/cjs/types/src/index.d.ts +0 -5
- package/dist/cjs/types/src/index.d.ts.map +0 -1
- package/dist/cjs/types/src/math.d.ts.map +0 -1
- package/dist/cjs/types/src/types.d.ts.map +0 -1
- package/dist/cjs/types/src/util.d.ts +0 -2
- package/dist/cjs/types/src/util.d.ts.map +0 -1
- package/dist/esm/types/src/components/Knob/index.d.ts +0 -23
- package/dist/esm/types/src/components/Knob/index.d.ts.map +0 -1
- package/dist/esm/types/src/components/Slider/index.d.ts +0 -27
- package/dist/esm/types/src/components/Slider/index.d.ts.map +0 -1
- package/dist/esm/types/src/components/Slider/type.d.ts.map +0 -1
- package/dist/esm/types/src/hooks/useCallbackRef.d.ts.map +0 -1
- package/dist/esm/types/src/hooks/useEventListener.d.ts.map +0 -1
- package/dist/esm/types/src/index.d.ts +0 -5
- package/dist/esm/types/src/index.d.ts.map +0 -1
- package/dist/esm/types/src/math.d.ts.map +0 -1
- package/dist/esm/types/src/types.d.ts.map +0 -1
- package/dist/esm/types/src/util.d.ts +0 -2
- package/dist/esm/types/src/util.d.ts.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/cjs/types/{src → packages/functions}/types.d.ts +0 -0
- /package/dist/cjs/types/{src → packages/react/src}/hooks/useCallbackRef.d.ts +0 -0
- /package/dist/cjs/types/{src → packages/react/src}/hooks/useEventListener.d.ts +0 -0
- /package/dist/esm/types/{src → packages/functions}/types.d.ts +0 -0
- /package/dist/esm/types/{src → packages/react/src}/hooks/useCallbackRef.d.ts +0 -0
- /package/dist/esm/types/{src → packages/react/src}/hooks/useEventListener.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,59 +1,11 @@
|
|
|
1
|
+
# @tremolo-ui/react
|
|
1
2
|
|
|
2
|
-
|
|
3
|
-
<div align="center">
|
|
4
|
-
<img src="https://live.staticflickr.com/635/21189618838_b1a1e7f12e_b.jpg" alt="cover image" width="70%" />
|
|
5
|
-
</div> -->
|
|
3
|
+
## Install
|
|
6
4
|
|
|
7
|
-
*tremolo-ui is now WIP*
|
|
8
|
-
|
|
9
|
-
# 🚩 Goals
|
|
10
|
-
|
|
11
|
-
- Components with usability and flexibility
|
|
12
|
-
- Mobile Support
|
|
13
|
-
- Distribute package
|
|
14
|
-
- React
|
|
15
|
-
- Web Components
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
# [tremolo-ui](https://github.io/m1m0zzz/tremolo-ui)
|
|
20
|
-
|
|
21
|
-
UI library for Web Audio App
|
|
22
|
-
|
|
23
|
-
## 🧬 Installation
|
|
24
|
-
|
|
25
|
-
### React
|
|
26
|
-
|
|
27
|
-
Install tremolo-ui
|
|
28
|
-
```bash
|
|
29
|
-
npm install --save-dev @tremolo-ui/react
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
And install dependencies
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
npm install --save-dev react react-dom @emotion/react
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Web Components
|
|
39
|
-
|
|
40
|
-
Install tremolo-ui
|
|
41
5
|
```bash
|
|
42
|
-
npm
|
|
6
|
+
npm i @tremolo-ui/react
|
|
43
7
|
```
|
|
44
8
|
|
|
9
|
+
## Note
|
|
45
10
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
documentation w/ Storybook
|
|
49
|
-
|
|
50
|
-
[Docs](https://main--66c84646f5ab3514847ae4d5.chromatic.com/)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
## 🦝 Contributing
|
|
54
|
-
Please see [contribution guide](./CONTRIBUTING.md)
|
|
55
|
-
|
|
56
|
-
日本語版は [コントリビューション ガイド](./CONTRIBUTING.ja.md) を参照してください。
|
|
57
|
-
|
|
58
|
-
## 📜 LICENSE
|
|
59
|
-
tremolo-ui is [MIT License](./LICENSE)
|
|
11
|
+
See https://github.com/m1m0zzz/tremolo-ui
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,57 +1,115 @@
|
|
|
1
|
+
export * from '@tremolo-ui/functions/math';
|
|
2
|
+
import { WheelOption } from '@tremolo-ui/functions/types';
|
|
3
|
+
export * from '@tremolo-ui/functions/types';
|
|
1
4
|
import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
import React$1, {
|
|
5
|
+
import { CSSObject } from '@emotion/react';
|
|
6
|
+
import React$1, { MutableRefObject, ChangeEvent, ReactElement } from 'react';
|
|
7
|
+
import { Units } from '@tremolo-ui/functions/components/NumberInput/type';
|
|
8
|
+
import { ScaleOption as ScaleOption$1, Direction, ScaleType, ScaleOrderList } from '@tremolo-ui/functions/components/Slider/type';
|
|
4
9
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
type DrawFunc = (context: CanvasRenderingContext2D, width: MutableRefObject<number>, height: MutableRefObject<number>, count: number) => void;
|
|
11
|
+
interface AnimationCanvasProps {
|
|
12
|
+
width?: number;
|
|
13
|
+
height?: number;
|
|
14
|
+
relativeSize?: boolean;
|
|
15
|
+
/** only available relativeSize=true */
|
|
16
|
+
reduceFlickering?: boolean;
|
|
17
|
+
options?: CanvasRenderingContext2DSettings;
|
|
18
|
+
style?: CSSObject;
|
|
19
|
+
init?: DrawFunc;
|
|
20
|
+
draw: DrawFunc;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A simple animatable canvas with requestAnimationFrame()
|
|
24
|
+
*/
|
|
25
|
+
declare function AnimationCanvas({ width, height, style, relativeSize, reduceFlickering, options, init, draw, ...props }: AnimationCanvasProps & Omit<React.ClassAttributes<HTMLCanvasElement> & React.CanvasHTMLAttributes<HTMLCanvasElement>, 'ref' | 'width' | 'height' | 'style'>): _emotion_react_jsx_runtime.JSX.Element;
|
|
12
26
|
|
|
13
|
-
|
|
27
|
+
declare const inputPseudoPropNames: readonly ["_enabled", "_disabled", "_readOnly", "_readWrite", "_placeholderShown", "_blank", "_valid", "_invalid", "_inRange", "_outOfRange"];
|
|
28
|
+
type InputPseudos = (typeof inputPseudoPropNames)[number];
|
|
29
|
+
type InputPseudoProps = Partial<{
|
|
30
|
+
[key in InputPseudos]: CSSObject;
|
|
31
|
+
}>;
|
|
32
|
+
declare const userActionPseudoPropNames: readonly ["_hover", "_active", "_focus"];
|
|
33
|
+
type UserActionPseudos = (typeof userActionPseudoPropNames)[number];
|
|
34
|
+
type UserActionPseudoProps = Partial<{
|
|
35
|
+
[key in UserActionPseudos]: CSSObject;
|
|
36
|
+
}>;
|
|
14
37
|
|
|
15
38
|
interface KnobProps {
|
|
16
39
|
value: number;
|
|
17
40
|
min: number;
|
|
18
41
|
max: number;
|
|
42
|
+
defaultValue?: number;
|
|
43
|
+
startValue?: number;
|
|
19
44
|
step?: number;
|
|
20
45
|
skew?: number;
|
|
21
|
-
size?: number |
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
46
|
+
size?: number | `${number}%`;
|
|
47
|
+
width?: number | `${number}%`;
|
|
48
|
+
height?: number | `${number}%`;
|
|
49
|
+
options?: {
|
|
50
|
+
active?: string;
|
|
51
|
+
inactive?: string;
|
|
52
|
+
bg?: string;
|
|
53
|
+
thumb?: string;
|
|
54
|
+
lineWeight?: number;
|
|
55
|
+
thumbWeight?: number;
|
|
56
|
+
};
|
|
28
57
|
cursor?: string;
|
|
29
|
-
style?:
|
|
58
|
+
style?: CSSObject;
|
|
30
59
|
bodyNoSelect?: boolean;
|
|
31
|
-
enableWheel?: WheelOption
|
|
60
|
+
enableWheel?: WheelOption;
|
|
61
|
+
enableDoubleClickDefault?: boolean;
|
|
32
62
|
onChange?: (value: number) => void;
|
|
33
63
|
}
|
|
34
|
-
|
|
64
|
+
/**
|
|
65
|
+
* simple rotary Knob.
|
|
66
|
+
*/
|
|
67
|
+
declare function Knob({ value, min, max, defaultValue, startValue, step, skew, size, width, height, options, cursor, style, bodyNoSelect, enableWheel, enableDoubleClickDefault, onChange, _active, _focus, _hover, ...props }: KnobProps & UserActionPseudoProps & Omit<React$1.ClassAttributes<HTMLDivElement> & React$1.HTMLAttributes<HTMLDivElement>, 'onChange'>): _emotion_react_jsx_runtime.JSX.Element;
|
|
35
68
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
69
|
+
interface NumberInputProps {
|
|
70
|
+
value: number | string;
|
|
71
|
+
min?: number;
|
|
72
|
+
max?: number;
|
|
73
|
+
step?: number;
|
|
74
|
+
disabled?: boolean;
|
|
75
|
+
placeholder?: string;
|
|
76
|
+
readOnly?: boolean;
|
|
77
|
+
tabIndex?: number;
|
|
78
|
+
/**
|
|
79
|
+
* @example
|
|
80
|
+
* units='Hz'
|
|
81
|
+
* units={[['Hz', 1], ['kHz', 1000]]}
|
|
82
|
+
* units={[['ms', 1], ['s', 1000]]}
|
|
83
|
+
*/
|
|
84
|
+
units?: string | Units;
|
|
85
|
+
/**
|
|
86
|
+
* NOTE: If units is specified, it is forced to `false`
|
|
87
|
+
*/
|
|
88
|
+
strict?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* @example
|
|
91
|
+
* with units-{[['Hz', 1], ['kHz', 1000]]}
|
|
92
|
+
* 3 ... 100Hz, 1.60Hz
|
|
93
|
+
*/
|
|
94
|
+
digit?: number;
|
|
95
|
+
selectWithFocus?: 'all' | 'number' | 'none';
|
|
96
|
+
blurWithEnter?: boolean;
|
|
97
|
+
className?: string;
|
|
98
|
+
style?: CSSObject;
|
|
99
|
+
onChange?: (value: number, event: ChangeEvent<HTMLInputElement>) => void;
|
|
100
|
+
onFocus?: (value: number, event: React.FocusEvent<HTMLInputElement, Element>) => void;
|
|
101
|
+
onBlur?: (value: number, event: React.FocusEvent<HTMLInputElement, Element>) => void;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Input with some useful functions for entering numerical values.
|
|
105
|
+
*/
|
|
106
|
+
declare function NumberInput({ value, min, // TODO
|
|
107
|
+
max, // TODO
|
|
108
|
+
step, // TODO
|
|
109
|
+
units, disabled, placeholder, readOnly, tabIndex, strict, digit, selectWithFocus, blurWithEnter, className, style, onChange, onFocus, onBlur, ...pseudo }: NumberInputProps & UserActionPseudoProps & InputPseudoProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
110
|
+
|
|
111
|
+
type ScaleOption = ScaleOption$1 & {
|
|
112
|
+
style?: CSSObject;
|
|
55
113
|
};
|
|
56
114
|
|
|
57
115
|
interface SliderProps {
|
|
@@ -59,21 +117,24 @@ interface SliderProps {
|
|
|
59
117
|
min: number;
|
|
60
118
|
max: number;
|
|
61
119
|
step?: number;
|
|
120
|
+
skew?: number;
|
|
62
121
|
length?: number | string;
|
|
63
122
|
thickness?: number | string;
|
|
64
123
|
direction?: Direction;
|
|
65
|
-
skew?: number;
|
|
66
124
|
scale?: ['step', ScaleType] | [number, ScaleType] | ScaleOrderList[];
|
|
67
125
|
scaleOption?: ScaleOption;
|
|
68
126
|
color?: string;
|
|
69
127
|
bg?: string;
|
|
70
|
-
cursor?: string;
|
|
71
|
-
style?: React$1.CSSProperties;
|
|
72
128
|
bodyNoSelect?: boolean;
|
|
73
|
-
enableWheel?: WheelOption
|
|
129
|
+
enableWheel?: WheelOption;
|
|
130
|
+
className?: string;
|
|
131
|
+
style?: CSSObject;
|
|
74
132
|
onChange?: (value: number) => void;
|
|
75
|
-
children?:
|
|
133
|
+
children?: ReactElement | ReactElement[];
|
|
76
134
|
}
|
|
77
|
-
|
|
135
|
+
/**
|
|
136
|
+
* Customizable slider
|
|
137
|
+
*/
|
|
138
|
+
declare function Slider({ value, min, max, step, skew, length, thickness, direction, scale, scaleOption, color, bg, className, style, bodyNoSelect, enableWheel, onChange, children, ...pseudo }: SliderProps & UserActionPseudoProps): _emotion_react_jsx_runtime.JSX.Element;
|
|
78
139
|
|
|
79
|
-
export {
|
|
140
|
+
export { AnimationCanvas, Knob, NumberInput, Slider };
|