@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.
Files changed (110) hide show
  1. package/README.md +5 -53
  2. package/dist/cjs/index.d.ts +107 -46
  3. package/dist/cjs/index.js +525 -203
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/packages/react/tsconfig.tsbuildinfo +1 -0
  6. package/dist/cjs/types/packages/functions/components/NumberInput/type.d.ts +14 -0
  7. package/dist/cjs/types/packages/functions/components/NumberInput/type.d.ts.map +1 -0
  8. package/dist/cjs/types/{src → packages/functions}/components/Slider/type.d.ts +8 -2
  9. package/dist/cjs/types/packages/functions/components/Slider/type.d.ts.map +1 -0
  10. package/dist/cjs/types/{src → packages/functions}/math.d.ts +4 -0
  11. package/dist/cjs/types/packages/functions/math.d.ts.map +1 -0
  12. package/dist/cjs/types/packages/functions/types.d.ts.map +1 -0
  13. package/dist/cjs/types/packages/functions/util.d.ts +6 -0
  14. package/dist/cjs/types/packages/functions/util.d.ts.map +1 -0
  15. package/dist/cjs/types/packages/react/src/components/AnimationCanvas/canvas.d.ts +6 -0
  16. package/dist/cjs/types/packages/react/src/components/AnimationCanvas/canvas.d.ts.map +1 -0
  17. package/dist/cjs/types/packages/react/src/components/AnimationCanvas/index.d.ts +20 -0
  18. package/dist/cjs/types/packages/react/src/components/AnimationCanvas/index.d.ts.map +1 -0
  19. package/dist/cjs/types/packages/react/src/components/Knob/index.d.ts +36 -0
  20. package/dist/cjs/types/packages/react/src/components/Knob/index.d.ts.map +1 -0
  21. package/dist/cjs/types/packages/react/src/components/NumberInput/index.d.ts +47 -0
  22. package/dist/cjs/types/packages/react/src/components/NumberInput/index.d.ts.map +1 -0
  23. package/dist/cjs/types/packages/react/src/components/Slider/Thumb.d.ts +11 -0
  24. package/dist/cjs/types/packages/react/src/components/Slider/Thumb.d.ts.map +1 -0
  25. package/dist/cjs/types/packages/react/src/components/Slider/Track.d.ts +10 -0
  26. package/dist/cjs/types/packages/react/src/components/Slider/Track.d.ts.map +1 -0
  27. package/dist/cjs/types/packages/react/src/components/Slider/index.d.ts +34 -0
  28. package/dist/cjs/types/packages/react/src/components/Slider/index.d.ts.map +1 -0
  29. package/dist/cjs/types/packages/react/src/components/Slider/type.d.ts +6 -0
  30. package/dist/cjs/types/packages/react/src/components/Slider/type.d.ts.map +1 -0
  31. package/dist/cjs/types/packages/react/src/hooks/useCallbackRef.d.ts.map +1 -0
  32. package/dist/cjs/types/packages/react/src/hooks/useEventListener.d.ts.map +1 -0
  33. package/dist/cjs/types/packages/react/src/hooks/useRefCallbackEvent.d.ts +5 -0
  34. package/dist/cjs/types/packages/react/src/hooks/useRefCallbackEvent.d.ts.map +1 -0
  35. package/dist/cjs/types/packages/react/src/index.d.ts +7 -0
  36. package/dist/cjs/types/packages/react/src/index.d.ts.map +1 -0
  37. package/dist/cjs/types/packages/react/src/system/pseudo.d.ts +14 -0
  38. package/dist/cjs/types/packages/react/src/system/pseudo.d.ts.map +1 -0
  39. package/dist/esm/index.d.ts +107 -46
  40. package/dist/esm/index.js +513 -197
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/packages/react/tsconfig.tsbuildinfo +1 -0
  43. package/dist/esm/types/packages/functions/components/NumberInput/type.d.ts +14 -0
  44. package/dist/esm/types/packages/functions/components/NumberInput/type.d.ts.map +1 -0
  45. package/dist/esm/types/{src → packages/functions}/components/Slider/type.d.ts +8 -2
  46. package/dist/esm/types/packages/functions/components/Slider/type.d.ts.map +1 -0
  47. package/dist/esm/types/{src → packages/functions}/math.d.ts +4 -0
  48. package/dist/esm/types/packages/functions/math.d.ts.map +1 -0
  49. package/dist/esm/types/packages/functions/types.d.ts.map +1 -0
  50. package/dist/esm/types/packages/functions/util.d.ts +6 -0
  51. package/dist/esm/types/packages/functions/util.d.ts.map +1 -0
  52. package/dist/esm/types/packages/react/src/components/AnimationCanvas/canvas.d.ts +6 -0
  53. package/dist/esm/types/packages/react/src/components/AnimationCanvas/canvas.d.ts.map +1 -0
  54. package/dist/esm/types/packages/react/src/components/AnimationCanvas/index.d.ts +20 -0
  55. package/dist/esm/types/packages/react/src/components/AnimationCanvas/index.d.ts.map +1 -0
  56. package/dist/esm/types/packages/react/src/components/Knob/index.d.ts +36 -0
  57. package/dist/esm/types/packages/react/src/components/Knob/index.d.ts.map +1 -0
  58. package/dist/esm/types/packages/react/src/components/NumberInput/index.d.ts +47 -0
  59. package/dist/esm/types/packages/react/src/components/NumberInput/index.d.ts.map +1 -0
  60. package/dist/esm/types/packages/react/src/components/Slider/Thumb.d.ts +11 -0
  61. package/dist/esm/types/packages/react/src/components/Slider/Thumb.d.ts.map +1 -0
  62. package/dist/esm/types/packages/react/src/components/Slider/Track.d.ts +10 -0
  63. package/dist/esm/types/packages/react/src/components/Slider/Track.d.ts.map +1 -0
  64. package/dist/esm/types/packages/react/src/components/Slider/index.d.ts +34 -0
  65. package/dist/esm/types/packages/react/src/components/Slider/index.d.ts.map +1 -0
  66. package/dist/esm/types/packages/react/src/components/Slider/type.d.ts +6 -0
  67. package/dist/esm/types/packages/react/src/components/Slider/type.d.ts.map +1 -0
  68. package/dist/esm/types/packages/react/src/hooks/useCallbackRef.d.ts.map +1 -0
  69. package/dist/esm/types/packages/react/src/hooks/useEventListener.d.ts.map +1 -0
  70. package/dist/esm/types/packages/react/src/hooks/useRefCallbackEvent.d.ts +5 -0
  71. package/dist/esm/types/packages/react/src/hooks/useRefCallbackEvent.d.ts.map +1 -0
  72. package/dist/esm/types/packages/react/src/index.d.ts +7 -0
  73. package/dist/esm/types/packages/react/src/index.d.ts.map +1 -0
  74. package/dist/esm/types/packages/react/src/system/pseudo.d.ts +14 -0
  75. package/dist/esm/types/packages/react/src/system/pseudo.d.ts.map +1 -0
  76. package/package.json +24 -39
  77. package/LICENSE +0 -21
  78. package/dist/cjs/types/src/components/Knob/index.d.ts +0 -23
  79. package/dist/cjs/types/src/components/Knob/index.d.ts.map +0 -1
  80. package/dist/cjs/types/src/components/Slider/index.d.ts +0 -27
  81. package/dist/cjs/types/src/components/Slider/index.d.ts.map +0 -1
  82. package/dist/cjs/types/src/components/Slider/type.d.ts.map +0 -1
  83. package/dist/cjs/types/src/hooks/useCallbackRef.d.ts.map +0 -1
  84. package/dist/cjs/types/src/hooks/useEventListener.d.ts.map +0 -1
  85. package/dist/cjs/types/src/index.d.ts +0 -5
  86. package/dist/cjs/types/src/index.d.ts.map +0 -1
  87. package/dist/cjs/types/src/math.d.ts.map +0 -1
  88. package/dist/cjs/types/src/types.d.ts.map +0 -1
  89. package/dist/cjs/types/src/util.d.ts +0 -2
  90. package/dist/cjs/types/src/util.d.ts.map +0 -1
  91. package/dist/esm/types/src/components/Knob/index.d.ts +0 -23
  92. package/dist/esm/types/src/components/Knob/index.d.ts.map +0 -1
  93. package/dist/esm/types/src/components/Slider/index.d.ts +0 -27
  94. package/dist/esm/types/src/components/Slider/index.d.ts.map +0 -1
  95. package/dist/esm/types/src/components/Slider/type.d.ts.map +0 -1
  96. package/dist/esm/types/src/hooks/useCallbackRef.d.ts.map +0 -1
  97. package/dist/esm/types/src/hooks/useEventListener.d.ts.map +0 -1
  98. package/dist/esm/types/src/index.d.ts +0 -5
  99. package/dist/esm/types/src/index.d.ts.map +0 -1
  100. package/dist/esm/types/src/math.d.ts.map +0 -1
  101. package/dist/esm/types/src/types.d.ts.map +0 -1
  102. package/dist/esm/types/src/util.d.ts +0 -2
  103. package/dist/esm/types/src/util.d.ts.map +0 -1
  104. package/dist/tsconfig.tsbuildinfo +0 -1
  105. /package/dist/cjs/types/{src → packages/functions}/types.d.ts +0 -0
  106. /package/dist/cjs/types/{src → packages/react/src}/hooks/useCallbackRef.d.ts +0 -0
  107. /package/dist/cjs/types/{src → packages/react/src}/hooks/useEventListener.d.ts +0 -0
  108. /package/dist/esm/types/{src → packages/functions}/types.d.ts +0 -0
  109. /package/dist/esm/types/{src → packages/react/src}/hooks/useCallbackRef.d.ts +0 -0
  110. /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
- <!-- TODO: set cover image URL, and image size.
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 install --save-dev @tremolo-ui/web-components
6
+ npm i @tremolo-ui/react
43
7
  ```
44
8
 
9
+ ## Note
45
10
 
46
- ## 📚 Docs
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
@@ -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 { WheelOption as WheelOption$1 } from '@/types';
3
- import React$1, { ReactNode } from 'react';
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
- declare function clamp(value: number, min: number, max: number): number;
6
- declare function normalizeValue(rawValue: number, min: number, max: number, skew?: number): number;
7
- declare function rawValue(normalizedValue: number, min: number, max: number, skew?: number): number;
8
- declare function skewWithCenterValue(centerValue: number, min: number, max: number): number;
9
- declare function stepValue(value: number, step: number): number;
10
- declare function toFixed(x: number, fractionDigits?: number): number;
11
- declare function decimalPart(x: number | string): string | undefined;
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
- type WheelOption = ['normalized' | 'raw', number];
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 | string;
22
- active?: string;
23
- inactive?: string;
24
- bg?: string;
25
- thumb?: string;
26
- lineWeight?: number | string;
27
- thumbWeight?: number | string;
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?: React.CSSProperties;
58
+ style?: CSSObject;
30
59
  bodyNoSelect?: boolean;
31
- enableWheel?: WheelOption$1;
60
+ enableWheel?: WheelOption;
61
+ enableDoubleClickDefault?: boolean;
32
62
  onChange?: (value: number) => void;
33
63
  }
34
- declare function Knob({ value, min, max, step, skew, size, active, inactive, bg, thumb, lineWeight, thumbWeight, cursor, style, bodyNoSelect, enableWheel, onChange, }: KnobProps): _emotion_react_jsx_runtime.JSX.Element;
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
- type Horizontal = 'right' | 'left';
37
- type Vertical = 'up' | 'down';
38
- type Direction = Horizontal | Vertical;
39
- type ScaleType = 'mark' | 'mark-number' | 'number';
40
- type ScaleOrderList = {
41
- at: number;
42
- type: ScaleType;
43
- style?: {
44
- markColor?: string;
45
- labelColor?: string;
46
- length?: number | string;
47
- thickness?: number | string;
48
- };
49
- };
50
- type ScaleOption = {
51
- markColor?: string;
52
- labelColor?: string;
53
- gap?: number | string;
54
- style?: React.CSSProperties;
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$1;
129
+ enableWheel?: WheelOption;
130
+ className?: string;
131
+ style?: CSSObject;
74
132
  onChange?: (value: number) => void;
75
- children?: ReactNode;
133
+ children?: ReactElement | ReactElement[];
76
134
  }
77
- declare function Slider({ value, min, max, step, length, thickness, direction, skew, scale, scaleOption, color, bg, cursor, style, bodyNoSelect, enableWheel, onChange, children, }: SliderProps): _emotion_react_jsx_runtime.JSX.Element;
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 { Knob, Slider, type WheelOption, clamp, decimalPart, normalizeValue, rawValue, skewWithCenterValue, stepValue, toFixed };
140
+ export { AnimationCanvas, Knob, NumberInput, Slider };