@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
@@ -0,0 +1,47 @@
1
+ import { CSSObject } from '@emotion/react';
2
+ import { Units } from '@tremolo-ui/functions/components/NumberInput/type';
3
+ import { ChangeEvent } from 'react';
4
+ import { InputPseudoProps, UserActionPseudoProps } from '../../system/pseudo';
5
+ interface NumberInputProps {
6
+ value: number | string;
7
+ min?: number;
8
+ max?: number;
9
+ step?: number;
10
+ disabled?: boolean;
11
+ placeholder?: string;
12
+ readOnly?: boolean;
13
+ tabIndex?: number;
14
+ /**
15
+ * @example
16
+ * units='Hz'
17
+ * units={[['Hz', 1], ['kHz', 1000]]}
18
+ * units={[['ms', 1], ['s', 1000]]}
19
+ */
20
+ units?: string | Units;
21
+ /**
22
+ * NOTE: If units is specified, it is forced to `false`
23
+ */
24
+ strict?: boolean;
25
+ /**
26
+ * @example
27
+ * with units-{[['Hz', 1], ['kHz', 1000]]}
28
+ * 3 ... 100Hz, 1.60Hz
29
+ */
30
+ digit?: number;
31
+ selectWithFocus?: 'all' | 'number' | 'none';
32
+ blurWithEnter?: boolean;
33
+ className?: string;
34
+ style?: CSSObject;
35
+ onChange?: (value: number, event: ChangeEvent<HTMLInputElement>) => void;
36
+ onFocus?: (value: number, event: React.FocusEvent<HTMLInputElement, Element>) => void;
37
+ onBlur?: (value: number, event: React.FocusEvent<HTMLInputElement, Element>) => void;
38
+ }
39
+ /**
40
+ * Input with some useful functions for entering numerical values.
41
+ */
42
+ export declare function NumberInput({ value, min, // TODO
43
+ max, // TODO
44
+ step, // TODO
45
+ units, disabled, placeholder, readOnly, tabIndex, strict, digit, selectWithFocus, blurWithEnter, className, style, onChange, onFocus, onBlur, ...pseudo }: NumberInputProps & UserActionPseudoProps & InputPseudoProps): import("@emotion/react/jsx-runtime").JSX.Element;
46
+ export {};
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/NumberInput/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAc,KAAK,EAAE,MAAM,mDAAmD,CAAA;AACrF,OAAO,EAAE,WAAW,EAAY,MAAM,OAAO,CAAA;AAE7C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAE7E,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAEtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IAGb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAA;IACxE,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAC/C,IAAI,CAAA;IACT,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAC/C,IAAI,CAAA;CACV;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,GAAG,EAAE,OAAO;AACZ,GAAG,EAAE,OAAO;AACZ,IAAI,EAAE,OAAO;AACb,KAAK,EACL,QAAgB,EAChB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,MAAc,EACd,KAAK,EACL,eAAwB,EACxB,aAAoB,EACpB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,GAAG,MAAM,EACV,EAAE,gBAAgB,GAAG,qBAAqB,GAAG,gBAAgB,oDA6E7D"}
@@ -0,0 +1,11 @@
1
+ import { CSSObject } from '@emotion/react';
2
+ import { ReactNode, ReactElement } from 'react';
3
+ interface SliderThumbProps {
4
+ color?: string;
5
+ style?: CSSObject;
6
+ __css?: CSSObject;
7
+ children?: ReactNode;
8
+ }
9
+ export declare function SliderThumb({ color, children, style, __css, }: SliderThumbProps): ReactElement;
10
+ export {};
11
+ //# sourceMappingURL=Thumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Thumb.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/Slider/Thumb.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAE/C,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,gBAAgB,GAAG,YAAY,CAgCjC"}
@@ -0,0 +1,10 @@
1
+ import { CSSObject } from '@emotion/react';
2
+ import { ReactElement } from 'react';
3
+ interface SliderTrackProps {
4
+ style?: CSSObject;
5
+ children?: ReactElement;
6
+ __css?: CSSObject;
7
+ }
8
+ export declare function SliderTrack({ children, style, __css, }: SliderTrackProps): ReactElement;
9
+ export {};
10
+ //# sourceMappingURL=Track.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/Slider/Track.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAEpC,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,gBAAgB,GAAG,YAAY,CAMjC"}
@@ -0,0 +1,34 @@
1
+ import { CSSObject } from '@emotion/react';
2
+ import { Direction, ScaleOrderList, ScaleType } from '@tremolo-ui/functions/components/Slider/type';
3
+ import { WheelOption } from '@tremolo-ui/functions/types';
4
+ import { ReactElement } from 'react';
5
+ import { UserActionPseudoProps } from '../../system/pseudo';
6
+ import { ScaleOption } from './type';
7
+ interface SliderProps {
8
+ value: number;
9
+ min: number;
10
+ max: number;
11
+ step?: number;
12
+ skew?: number;
13
+ length?: number | string;
14
+ thickness?: number | string;
15
+ direction?: Direction;
16
+ scale?: ['step', ScaleType] | [number, ScaleType] | ScaleOrderList[];
17
+ scaleOption?: ScaleOption;
18
+ color?: string;
19
+ bg?: string;
20
+ bodyNoSelect?: boolean;
21
+ enableWheel?: WheelOption;
22
+ className?: string;
23
+ style?: CSSObject;
24
+ onChange?: (value: number) => void;
25
+ children?: ReactElement | ReactElement[];
26
+ }
27
+ /**
28
+ * Customizable slider
29
+ */
30
+ export declare function Slider({ value, min, max, step, skew, length, thickness, direction, scale, scaleOption, color, bg, className, style, bodyNoSelect, enableWheel, onChange, children, ...pseudo }: SliderProps & UserActionPseudoProps): import("@emotion/react/jsx-runtime").JSX.Element;
31
+ export { SliderThumb } from './Thumb';
32
+ export { SliderTrack } from './Track';
33
+ export * from '@tremolo-ui/functions/components/Slider/type';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/Slider/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,SAAS,EAAU,MAAM,gBAAgB,CAAA;AACvD,OAAO,EACL,SAAS,EAMT,cAAc,EACd,SAAS,EACV,MAAM,8CAA8C,CAAA;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAEzD,OAAc,EAAE,YAAY,EAAU,MAAM,OAAO,CAAA;AAInD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAI3D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,UAAU,WAAW;IAEnB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IAGX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,cAAc,EAAE,CAAA;IACpE,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAAA;CAEzC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,GAAG,EACH,GAAG,EACH,IAAQ,EACR,IAAQ,EACR,MAAY,EACZ,SAAc,EACd,SAAmB,EACnB,KAAK,EACL,WAAW,EACX,KAAiB,EACjB,EAAW,EACX,SAAS,EACT,KAAK,EACL,YAAmB,EACnB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,GAAG,MAAM,EACV,EAAE,WAAW,GAAG,qBAAqB,oDAwPrC;AAED,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,cAAc,8CAA8C,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { CSSObject } from '@emotion/react';
2
+ import type { ScaleOption as Opt } from '@tremolo-ui/functions/components/Slider/type';
3
+ export type ScaleOption = Opt & {
4
+ style?: CSSObject;
5
+ };
6
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../../../../src/components/Slider/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,EAAE,WAAW,IAAI,GAAG,EAAE,MAAM,8CAA8C,CAAA;AAEtF,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCallbackRef.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/useCallbackRef.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EAC3D,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,GAAG,SAAS,EACjD,IAAI,GAAE,KAAK,CAAC,cAAmB,aAUF,IAAI,wBAClC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventListener.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/useEventListener.ts"],"names":[],"mappings":"AAIA,KAAK,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,CAAA;AAC7D,KAAK,OAAO,GAAG,OAAO,GAAG,uBAAuB,CAAA;AAEhD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC/D,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC9C,OAAO,CAAC,EAAE,OAAO,GAChB,YAAY,CAAA;AACf,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,cAAc,EAC7D,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,EAC5C,OAAO,CAAC,EAAE,OAAO,GAChB,YAAY,CAAA;AACf,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,2BAA2B,EAC1E,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC,CAAC,KAAK,IAAI,EACzD,OAAO,CAAC,EAAE,OAAO,GAChB,YAAY,CAAA"}
@@ -0,0 +1,5 @@
1
+ type Options = boolean | AddEventListenerOptions;
2
+ type CallbackFunc = (div: EventTarget | null) => void;
3
+ export declare function useRefCallbackEvent<K extends keyof DocumentEventMap>(event: K, handler: (event: DocumentEventMap[K]) => void, options?: Options, deps?: React.DependencyList): CallbackFunc;
4
+ export {};
5
+ //# sourceMappingURL=useRefCallbackEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRefCallbackEvent.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/useRefCallbackEvent.ts"],"names":[],"mappings":"AAEA,KAAK,OAAO,GAAG,OAAO,GAAG,uBAAuB,CAAA;AAChD,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;AAErD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAClE,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,GAC1B,YAAY,CAAA"}
@@ -0,0 +1,7 @@
1
+ export * from '@tremolo-ui/functions/math';
2
+ export type * from '@tremolo-ui/functions/types';
3
+ export { AnimationCanvas } from './components/AnimationCanvas';
4
+ export { Knob } from './components/Knob';
5
+ export { NumberInput } from './components/NumberInput';
6
+ export { Slider } from './components/Slider';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,mBAAmB,6BAA6B,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { CSSObject } from '@emotion/react';
2
+ export declare const inputPseudoSelectors: readonly ["&:enabled", "&:disabled", "&:read-only", "&:read-write", "&:placeholder-shown", "&:blank", "&:valid", "&:invalid", "&:in-range", "&:out-of-range"];
3
+ export declare const inputPseudoPropNames: readonly ["_enabled", "_disabled", "_readOnly", "_readWrite", "_placeholderShown", "_blank", "_valid", "_invalid", "_inRange", "_outOfRange"];
4
+ export type InputPseudos = (typeof inputPseudoPropNames)[number];
5
+ export type InputPseudoProps = Partial<{
6
+ [key in InputPseudos]: CSSObject;
7
+ }>;
8
+ export declare const userActionPseudoSelectors: readonly ["&:hover", "&:active", "&:focus"];
9
+ export declare const userActionPseudoPropNames: readonly ["_hover", "_active", "_focus"];
10
+ export type UserActionPseudos = (typeof userActionPseudoPropNames)[number];
11
+ export type UserActionPseudoProps = Partial<{
12
+ [key in UserActionPseudos]: CSSObject;
13
+ }>;
14
+ //# sourceMappingURL=pseudo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pseudo.d.ts","sourceRoot":"","sources":["../../../../../../../src/system/pseudo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAQ1C,eAAO,MAAM,oBAAoB,+JAWvB,CAAA;AAEV,eAAO,MAAM,oBAAoB,+IAWvB,CAAA;AAEV,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAChE,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;KACpC,GAAG,IAAI,YAAY,GAAG,SAAS;CACjC,CAAC,CAAA;AAEF,eAAO,MAAM,yBAAyB,6CAI5B,CAAA;AAEV,eAAO,MAAM,yBAAyB,0CAI5B,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAA;AAC1E,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC;KACzC,GAAG,IAAI,iBAAiB,GAAG,SAAS;CACtC,CAAC,CAAA"}
@@ -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 };