@tremolo-ui/functions 0.0.9 → 0.0.11

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 (62) hide show
  1. package/dist/cjs/components/NumberInput/type.js +18 -60
  2. package/dist/cjs/components/NumberInput/type.js.map +1 -1
  3. package/dist/cjs/components/NumberInput/types/components/NumberInput/type.d.ts +1 -2
  4. package/dist/cjs/components/NumberInput/types/components/NumberInput/type.d.ts.map +1 -1
  5. package/dist/cjs/components/NumberInput/types/index.d.ts +5 -0
  6. package/dist/cjs/components/NumberInput/types/index.d.ts.map +1 -1
  7. package/dist/cjs/components/NumberInput/types/math.d.ts +5 -0
  8. package/dist/cjs/components/NumberInput/types/math.d.ts.map +1 -1
  9. package/dist/cjs/components/NumberInput/types/midi.d.ts +16 -3
  10. package/dist/cjs/components/NumberInput/types/midi.d.ts.map +1 -1
  11. package/dist/cjs/components/Slider/types/components/NumberInput/type.d.ts +1 -2
  12. package/dist/cjs/components/Slider/types/components/NumberInput/type.d.ts.map +1 -1
  13. package/dist/cjs/components/Slider/types/index.d.ts +5 -0
  14. package/dist/cjs/components/Slider/types/index.d.ts.map +1 -1
  15. package/dist/cjs/components/Slider/types/math.d.ts +5 -0
  16. package/dist/cjs/components/Slider/types/math.d.ts.map +1 -1
  17. package/dist/cjs/components/Slider/types/midi.d.ts +16 -3
  18. package/dist/cjs/components/Slider/types/midi.d.ts.map +1 -1
  19. package/dist/cjs/index.js +29 -4
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/types/components/NumberInput/type.d.ts +1 -2
  22. package/dist/cjs/types/components/NumberInput/type.d.ts.map +1 -1
  23. package/dist/cjs/types/index.d.ts +5 -0
  24. package/dist/cjs/types/index.d.ts.map +1 -1
  25. package/dist/cjs/types/math.d.ts +5 -0
  26. package/dist/cjs/types/math.d.ts.map +1 -1
  27. package/dist/cjs/types/midi.d.ts +16 -3
  28. package/dist/cjs/types/midi.d.ts.map +1 -1
  29. package/dist/esm/components/NumberInput/type.js +19 -60
  30. package/dist/esm/components/NumberInput/type.js.map +1 -1
  31. package/dist/esm/components/NumberInput/types/components/NumberInput/type.d.ts +1 -2
  32. package/dist/esm/components/NumberInput/types/components/NumberInput/type.d.ts.map +1 -1
  33. package/dist/esm/components/NumberInput/types/index.d.ts +5 -0
  34. package/dist/esm/components/NumberInput/types/index.d.ts.map +1 -1
  35. package/dist/esm/components/NumberInput/types/math.d.ts +5 -0
  36. package/dist/esm/components/NumberInput/types/math.d.ts.map +1 -1
  37. package/dist/esm/components/NumberInput/types/midi.d.ts +16 -3
  38. package/dist/esm/components/NumberInput/types/midi.d.ts.map +1 -1
  39. package/dist/esm/components/Slider/types/components/NumberInput/type.d.ts +1 -2
  40. package/dist/esm/components/Slider/types/components/NumberInput/type.d.ts.map +1 -1
  41. package/dist/esm/components/Slider/types/index.d.ts +5 -0
  42. package/dist/esm/components/Slider/types/index.d.ts.map +1 -1
  43. package/dist/esm/components/Slider/types/math.d.ts +5 -0
  44. package/dist/esm/components/Slider/types/math.d.ts.map +1 -1
  45. package/dist/esm/components/Slider/types/midi.d.ts +16 -3
  46. package/dist/esm/components/Slider/types/midi.d.ts.map +1 -1
  47. package/dist/esm/index.js +28 -5
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/types/components/NumberInput/type.d.ts +1 -2
  50. package/dist/esm/types/components/NumberInput/type.d.ts.map +1 -1
  51. package/dist/esm/types/index.d.ts +5 -0
  52. package/dist/esm/types/index.d.ts.map +1 -1
  53. package/dist/esm/types/math.d.ts +5 -0
  54. package/dist/esm/types/math.d.ts.map +1 -1
  55. package/dist/esm/types/midi.d.ts +16 -3
  56. package/dist/esm/types/midi.d.ts.map +1 -1
  57. package/package.json +28 -27
  58. package/src/components/NumberInput/type.ts +22 -46
  59. package/src/index.ts +5 -0
  60. package/src/math.ts +14 -0
  61. package/src/midi.ts +21 -4
  62. package/dist/esm/components/tsconfig.tsbuildinfo +0 -1
@@ -1,21 +1,7 @@
1
- /**
2
- * clamp value between min and max
3
- * @category Math
4
- */
5
- /**
6
- *
7
- * @category Math
8
- */
9
- function toFixed(x, fractionDigits) {
10
- return Number(x.toFixed(fractionDigits));
11
- }
12
-
13
1
  /**
14
2
  * @module NumberInput
15
3
  */
16
4
  function selectUnit(units, value) {
17
- if (typeof units == 'string')
18
- return [units, 1];
19
5
  let i = 0;
20
6
  for (; i < units.length; i++) {
21
7
  if (Math.abs(units[i][1]) > Math.abs(value))
@@ -23,46 +9,33 @@ function selectUnit(units, value) {
23
9
  }
24
10
  return units[Math.max(0, i - 1)];
25
11
  }
26
- function parseValue(inputString, units, digit, defaultValue = 0) {
27
- let str = inputString.trim();
28
- if (str == '')
29
- str = String(defaultValue);
30
- if (!units) {
12
+ function parseValue(inputString, units, digit) {
13
+ var _a;
14
+ const str = inputString.trim();
15
+ if (!units || typeof units == 'string') {
16
+ const m = str.match(/-?\d+(\.\d+)?/);
17
+ let v = Number((_a = m === null || m === void 0 ? void 0 : m[0]) !== null && _a !== void 0 ? _a : '0');
18
+ v = isNaN(v) ? 0 : v;
31
19
  return {
32
- rawValue: Number(str) || defaultValue,
33
- formatValue: str,
34
- unit: '',
35
- };
36
- }
37
- else if (typeof units == 'string') {
38
- return {
39
- rawValue: Number(str) || defaultValue,
40
- formatValue: `${str}${units}`,
41
- unit: units,
20
+ rawValue: v,
21
+ formatValue: (digit != undefined ? v.toFixed(digit) : v) + (units !== null && units !== void 0 ? units : ''),
22
+ unit: units !== null && units !== void 0 ? units : '',
42
23
  };
43
24
  }
44
25
  const unitList = units.map(([u, _s]) => u);
45
26
  const scaleList = units.map(([_u, s]) => s);
46
- let rawValue = defaultValue;
47
- let formatValue = `${scaleList[0]}`;
27
+ let rawValue = 0;
48
28
  let unit = unitList[0];
29
+ let formatValue = (digit != undefined ? rawValue.toFixed(digit) : rawValue) + unit;
49
30
  const m = str.match(/^(-?\d+(\.\d+)?)\s*(\w*)$/);
50
31
  if (m) {
51
32
  rawValue = Number(m[1]) || 0;
52
- const inputUnit = m[3];
53
- if (inputUnit != '' && unitList.indexOf(inputUnit) != -1) {
54
- rawValue *= scaleList[unitList.indexOf(inputUnit)];
55
- const s = selectUnit(units, rawValue);
56
- const v = rawValue / s[1];
57
- formatValue = `${digit != undefined ? toFixed(v, digit) : v}${s[0]}`;
58
- unit = s[0];
59
- }
60
- else {
61
- const [u, scale] = selectUnit(units, rawValue);
62
- const v = rawValue / scale;
63
- formatValue = `${digit != undefined ? toFixed(v, digit) : v}${u}`;
64
- unit = u;
65
- }
33
+ const uIndex = unitList.indexOf(m[3]);
34
+ rawValue *= uIndex != -1 ? scaleList[uIndex] : 1;
35
+ const [u, scale] = selectUnit(units, rawValue);
36
+ const v = rawValue / scale;
37
+ formatValue = (digit != undefined ? v.toFixed(digit) : v) + u;
38
+ unit = u;
66
39
  }
67
40
  return {
68
41
  rawValue: rawValue,
@@ -70,20 +43,6 @@ function parseValue(inputString, units, digit, defaultValue = 0) {
70
43
  unit: unit,
71
44
  };
72
45
  }
73
- // TODO: toFixed 以外のフォーマット手法
74
- // e.g. 小数点第n位
75
- function formatValue(value, units) {
76
- if (!units) {
77
- return `${value}`;
78
- }
79
- else if (typeof units == 'string') {
80
- return `${value}${units}`;
81
- }
82
- else {
83
- const [unit, scale] = selectUnit(units, value);
84
- return `${toFixed(value / scale)}${unit}`;
85
- }
86
- }
87
46
 
88
- export { formatValue, parseValue, selectUnit };
47
+ export { parseValue, selectUnit };
89
48
  //# sourceMappingURL=type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.js","sources":["../../../../../../../src/math.ts","../../../../../../../src/components/NumberInput/type.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.js","sources":["../../../../../../../src/components/NumberInput/type.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;AAEG;AASa,SAAA,UAAU,CAAC,KAAY,EAAE,KAAa,EAAA;IACpD,IAAI,CAAC,GAAG,CAAC;IACT,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5B,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE;;AAE/C,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAClC;SAEgB,UAAU,CACxB,WAAmB,EACnB,KAAsB,EACtB,KAAc,EAAA;;AAMd,IAAA,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;QACtC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC;AACpC,QAAA,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA,EAAA,GAAA,CAAC,KAAD,IAAA,IAAA,CAAC,KAAD,MAAA,GAAA,MAAA,GAAA,CAAC,CAAG,CAAC,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,GAAG,CAAC;AAC7B,QAAA,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACpB,OAAO;AACL,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,WAAW,EAAE,CAAC,KAAK,IAAI,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,MAAA,GAAA,KAAK,GAAI,EAAE,CAAC;AACxE,YAAA,IAAI,EAAE,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,MAAA,GAAA,KAAK,GAAI,EAAE;SAClB;;AAGH,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1C,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,QAAQ,GAAG,CAAC;AAChB,IAAA,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;IACtB,IAAI,WAAW,GACb,CAAC,KAAK,IAAI,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,IAAI,IAAI;IAClE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC;IAChD,IAAI,CAAC,EAAE;QACL,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,QAAA,QAAQ,IAAI,MAAM,IAAI,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAChD,QAAA,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC9C,QAAA,MAAM,CAAC,GAAG,QAAQ,GAAG,KAAK;QAC1B,WAAW,GAAG,CAAC,KAAK,IAAI,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7D,IAAI,GAAG,CAAC;;IAEV,OAAO;AACL,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,WAAW,EAAE,WAAW;AACxB,QAAA,IAAI,EAAE,IAAI;KACX;AACH;;;;"}
@@ -8,10 +8,9 @@
8
8
  */
9
9
  export type Units = [string, number][];
10
10
  export declare function selectUnit(units: Units, value: number): [string, number];
11
- export declare function parseValue(inputString: string, units?: string | Units, digit?: number, defaultValue?: number): {
11
+ export declare function parseValue(inputString: string, units?: string | Units, digit?: number): {
12
12
  rawValue: number;
13
13
  formatValue: string;
14
14
  unit: string;
15
15
  };
16
- export declare function formatValue(value: number, units?: string | Units): string;
17
16
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/NumberInput/type.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;AAEtC,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxE;AAED,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,SAAI;;;;EA6CjB;AAID,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,UAShE"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/NumberInput/type.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;AAEtC,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxE;AAED,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EACtB,KAAK,CAAC,EAAE,MAAM,GACb;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAkCA"}
@@ -1,4 +1,9 @@
1
1
  /**
2
+ * This is how you import top-level functions.
3
+ *
4
+ * ```ts
5
+ * import { anyFunc } from '@tremolo-ui/functions'
6
+ * ```
2
7
  * @module top-level
3
8
  */
4
9
  export * from './math';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA"}
@@ -48,6 +48,11 @@ export declare function radian(degree: number): number;
48
48
  * @category Math
49
49
  */
50
50
  export declare function degree(radian: number): number;
51
+ /**
52
+ *
53
+ * @category Math
54
+ */
55
+ export declare function mapValue(value: number, inMin: number, inMax: number, outMin: number, outMax: number): number;
51
56
  /**
52
57
  *
53
58
  * @category Math
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../../src/math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE5D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAKT;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAQT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,UAKZ;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAOpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,UAEzD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,UAElC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../../src/math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE5D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAKT;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAQT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,UAKZ;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAOpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,UAEzD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,UAGf;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,UAElC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC"}
@@ -23,22 +23,35 @@ export declare function parseNoteName(noteName: string): {
23
23
  octave: number;
24
24
  };
25
25
  /**
26
- *
26
+ * Convert noteName to noteNumber
27
27
  * @category MIDI
28
28
  */
29
29
  export declare function noteNumber(noteName: string): number;
30
30
  /**
31
- *
31
+ * Convert noteNumber to noteName
32
32
  * @category MIDI
33
33
  */
34
34
  export declare function noteName(noteNumber: number): string;
35
35
  /**
36
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
36
37
  * @category MIDI
37
38
  */
38
39
  export declare function isWhiteKey(note: number | string): boolean;
40
+ /**
41
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
42
+ * @category MIDI
43
+ */
44
+ export declare function isBlackKey(note: number | string): boolean;
39
45
  /**
40
46
  * @category MIDI
41
47
  */
42
- export declare function isBlackKey(noteNumber: number | string): boolean;
43
48
  export declare const scaleNames: string[];
49
+ /**
50
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
51
+ * @param detune [cent]
52
+ * @param a4 A4 frequency [Hz]
53
+ * @returns frequency [Hz]
54
+ * @category MIDI
55
+ */
56
+ export declare function noteToFrequency(note: number | string, detune?: number, a4?: number): number;
44
57
  //# sourceMappingURL=midi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,WAErD;AAED,eAAO,MAAM,UAAU,UAAoD,CAAA"}
1
+ {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
@@ -8,10 +8,9 @@
8
8
  */
9
9
  export type Units = [string, number][];
10
10
  export declare function selectUnit(units: Units, value: number): [string, number];
11
- export declare function parseValue(inputString: string, units?: string | Units, digit?: number, defaultValue?: number): {
11
+ export declare function parseValue(inputString: string, units?: string | Units, digit?: number): {
12
12
  rawValue: number;
13
13
  formatValue: string;
14
14
  unit: string;
15
15
  };
16
- export declare function formatValue(value: number, units?: string | Units): string;
17
16
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/NumberInput/type.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;AAEtC,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxE;AAED,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,SAAI;;;;EA6CjB;AAID,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,UAShE"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/NumberInput/type.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;AAEtC,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxE;AAED,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EACtB,KAAK,CAAC,EAAE,MAAM,GACb;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAkCA"}
@@ -1,4 +1,9 @@
1
1
  /**
2
+ * This is how you import top-level functions.
3
+ *
4
+ * ```ts
5
+ * import { anyFunc } from '@tremolo-ui/functions'
6
+ * ```
2
7
  * @module top-level
3
8
  */
4
9
  export * from './math';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA"}
@@ -48,6 +48,11 @@ export declare function radian(degree: number): number;
48
48
  * @category Math
49
49
  */
50
50
  export declare function degree(radian: number): number;
51
+ /**
52
+ *
53
+ * @category Math
54
+ */
55
+ export declare function mapValue(value: number, inMin: number, inMax: number, outMin: number, outMax: number): number;
51
56
  /**
52
57
  *
53
58
  * @category Math
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../../src/math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE5D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAKT;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAQT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,UAKZ;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAOpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,UAEzD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,UAElC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../../src/math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE5D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAKT;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAQT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,UAKZ;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAOpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,UAEzD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,UAGf;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,UAElC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC"}
@@ -23,22 +23,35 @@ export declare function parseNoteName(noteName: string): {
23
23
  octave: number;
24
24
  };
25
25
  /**
26
- *
26
+ * Convert noteName to noteNumber
27
27
  * @category MIDI
28
28
  */
29
29
  export declare function noteNumber(noteName: string): number;
30
30
  /**
31
- *
31
+ * Convert noteNumber to noteName
32
32
  * @category MIDI
33
33
  */
34
34
  export declare function noteName(noteNumber: number): string;
35
35
  /**
36
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
36
37
  * @category MIDI
37
38
  */
38
39
  export declare function isWhiteKey(note: number | string): boolean;
40
+ /**
41
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
42
+ * @category MIDI
43
+ */
44
+ export declare function isBlackKey(note: number | string): boolean;
39
45
  /**
40
46
  * @category MIDI
41
47
  */
42
- export declare function isBlackKey(noteNumber: number | string): boolean;
43
48
  export declare const scaleNames: string[];
49
+ /**
50
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
51
+ * @param detune [cent]
52
+ * @param a4 A4 frequency [Hz]
53
+ * @returns frequency [Hz]
54
+ * @category MIDI
55
+ */
56
+ export declare function noteToFrequency(note: number | string, detune?: number, a4?: number): number;
44
57
  //# sourceMappingURL=midi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,WAErD;AAED,eAAO,MAAM,UAAU,UAAoD,CAAA"}
1
+ {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
package/dist/esm/index.js CHANGED
@@ -88,6 +88,13 @@ function radian(degree) {
88
88
  function degree(radian) {
89
89
  return (180 * radian) / Math.PI;
90
90
  }
91
+ /**
92
+ *
93
+ * @category Math
94
+ */
95
+ function mapValue(value, inMin, inMax, outMin, outMax) {
96
+ return ((value - inMin) / (inMax - inMin)) * (outMax - outMin) + outMin;
97
+ }
91
98
  /**
92
99
  *
93
100
  * @category Math
@@ -183,7 +190,7 @@ function parseNoteName(noteName) {
183
190
  };
184
191
  }
185
192
  /**
186
- *
193
+ * Convert noteName to noteNumber
187
194
  * @category MIDI
188
195
  */
189
196
  function noteNumber(noteName) {
@@ -193,7 +200,7 @@ function noteNumber(noteName) {
193
200
  return noteIndex + 12 * (Number(octave) + 1) + accidentalValue;
194
201
  }
195
202
  /**
196
- *
203
+ * Convert noteNumber to noteName
197
204
  * @category MIDI
198
205
  */
199
206
  function noteName(noteNumber) {
@@ -202,6 +209,7 @@ function noteName(noteNumber) {
202
209
  return noteNames[noteIndex] + octave;
203
210
  }
204
211
  /**
212
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
205
213
  * @category MIDI
206
214
  */
207
215
  function isWhiteKey(note) {
@@ -215,12 +223,27 @@ function isWhiteKey(note) {
215
223
  mod(n, 12) == 11);
216
224
  }
217
225
  /**
226
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
218
227
  * @category MIDI
219
228
  */
220
- function isBlackKey(noteNumber) {
221
- return !isWhiteKey(noteNumber);
229
+ function isBlackKey(note) {
230
+ return !isWhiteKey(note);
222
231
  }
232
+ /**
233
+ * @category MIDI
234
+ */
223
235
  const scaleNames = ['major', 'minor', 'natural minor', 'pentatonic'];
236
+ /**
237
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
238
+ * @param detune [cent]
239
+ * @param a4 A4 frequency [Hz]
240
+ * @returns frequency [Hz]
241
+ * @category MIDI
242
+ */
243
+ function noteToFrequency(note, detune = 0, a4 = 440) {
244
+ const n = typeof note == 'string' ? noteNumber(note) : note;
245
+ return (a4 / 32) * 2 ** ((n - 9 + detune / 100) / 12);
246
+ }
224
247
 
225
- export { clamp, dbToGain, decimalPart, degree, gainToDb, integerPart, isBlackKey, isEmpty, isWhiteKey, mod, normalizeValue, noteName, noteNames, noteNumber, parseNoteName, radian, rawValue, scaleNames, skewWithCenterValue, stepValue, styleHelper, toFixed, whiteKeys, xor };
248
+ export { clamp, dbToGain, decimalPart, degree, gainToDb, integerPart, isBlackKey, isEmpty, isWhiteKey, mapValue, mod, normalizeValue, noteName, noteNames, noteNumber, noteToFrequency, parseNoteName, radian, rawValue, scaleNames, skewWithCenterValue, stepValue, styleHelper, toFixed, whiteKeys, xor };
226
249
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/math.ts","../../../src/util.ts","../../../src/midi.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/math.ts","../../../src/util.ts","../../../src/midi.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"AAAA;;;AAGG;SACa,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAA;AAC3D,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5C;AAEA;;;AAGG;AACG,SAAU,cAAc,CAC5B,QAAgB,EAChB,GAAW,EACX,GAAW,EACX,IAAI,GAAG,CAAC,EAAA;IAER,IAAI,GAAG,IAAI,GAAG;AAAE,QAAA,MAAM,IAAI,UAAU,CAAC,yBAAyB,CAAC;IAC/D,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,QAAQ,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;AAC1B;AAEA;;;AAGG;AACG,SAAU,QAAQ,CACtB,eAAuB,EACvB,GAAW,EACX,GAAW,EACX,IAAI,GAAG,CAAC,EAAA;IAER,IAAI,GAAG,IAAI,GAAG;AAAE,QAAA,MAAM,IAAI,UAAU,CAAC,yBAAyB,CAAC;AAC/D,IAAA,MAAM,CAAC,GACL,IAAI,IAAI;UACJ,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;UAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC;AAC9B;AAEA;;;AAGG;SACa,mBAAmB,CACjC,WAAmB,EACnB,GAAW,EACX,GAAW,EAAA;IAEX,IAAI,EAAE,GAAG,IAAI,WAAW,IAAI,WAAW,IAAI,GAAG,CAAC;AAC7C,QAAA,MAAM,IAAI,UAAU,CAAC,yCAAyC,CAAC;IACjE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;AACpE;AAEA;;;AAGG;AACa,SAAA,SAAS,CAAC,KAAa,EAAE,IAAY,EAAA;;IACnD,IAAI,IAAI,IAAI,CAAC;AAAE,QAAA,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;IACzC,MAAM,aAAa,GAAG,CAAA,EAAA,GAAA,WAAW,CAAC,IAAI,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,MAAM;IAC/C,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,EAAE,aAAa,CAAC;AACjD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,EAAE,aAAa,CAAC;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI;AAChE;AAEA;;;AAGG;AACa,SAAA,OAAO,CAAC,CAAS,EAAE,cAAuB,EAAA;IACxD,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AAC1C;AAEA;;;AAGG;AACG,SAAU,WAAW,CAAC,CAAkB,EAAA;AAC5C,IAAA,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AACnB,QAAA,OAAO,SAAS;;AAElB,IAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChC;AAEA;;;AAGG;AACG,SAAU,WAAW,CAAC,CAAkB,EAAA;AAC5C,IAAA,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAChC;AAEA;;;AAGG;AACG,SAAU,MAAM,CAAC,MAAc,EAAA;IACnC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,IAAI,GAAG;AACjC;AAEA;;;AAGG;AACG,SAAU,MAAM,CAAC,MAAc,EAAA;IACnC,OAAO,CAAC,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE;AACjC;AAEA;;;AAGG;AACG,SAAU,QAAQ,CACtB,KAAa,EACb,KAAa,EACb,KAAa,EACb,MAAc,EACd,MAAc,EAAA;IAEd,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,KAAK,KAAK,GAAG,KAAK,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM;AACzE;AAEA;;;AAGG;AACG,SAAU,QAAQ,CAAC,EAAU,EAAA;IACjC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;AAC9B;AAEA;;;AAGG;AACG,SAAU,QAAQ,CAAC,IAAY,EAAA;AACnC,IAAA,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAC1C;;SChIgB,WAAW,CACzB,KAAsB,EACtB,EAAa,EACb,UAAmB,EAAA;AAEnB,IAAA,IAAI,EAAE,IAAI,UAAU,EAAE;AACpB,QAAA,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;YAC5B,IAAI,EAAE,IAAI,GAAG;AAAE,gBAAA,OAAO,CAAG,EAAA,KAAK,GAAG,UAAU,IAAI;YAC/C,IAAI,EAAE,IAAI,GAAG;AAAE,gBAAA,OAAO,CAAG,EAAA,KAAK,GAAG,UAAU,IAAI;YAC/C,IAAI,EAAE,IAAI,GAAG;AAAE,gBAAA,OAAO,CAAG,EAAA,KAAK,GAAG,UAAU,IAAI;YAC/C,IAAI,EAAE,IAAI,GAAG;AAAE,gBAAA,OAAO,CAAG,EAAA,KAAK,GAAG,UAAU,IAAI;;aAC1C;AACL,YAAA,OAAO,QAAQ,KAAK,CAAA,GAAA,EAAM,EAAE,CAAI,CAAA,EAAA,UAAU,GAAG;;;SAE1C;AACL,QAAA,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;YAC5B,OAAO,CAAA,EAAG,KAAK,CAAA,EAAA,CAAI;;aACd;AACL,YAAA,OAAO,KAAK;;;AAGlB;AAEA;;AAEG;AACG,SAAU,OAAO,CAAC,GAAW,EAAA;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;AACrC;AAEA;;AAEG;AACa,SAAA,GAAG,CAAC,CAAS,EAAE,CAAS,EAAA;IACtC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B;AAEA;;AAEG;AACG,SAAU,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAA;IACtC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC3B;;ACnDA;;AAEG;AACU,MAAA,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AAO3D;;AAEG;AACU,MAAA,SAAS,GAAG;IACvB,GAAG;IACH,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,GAAG;;AAQL;;AAEG;AACG,SAAU,aAAa,CAAC,QAAgB,EAAA;IAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,kCAAkC,CAAC;AAC5D,IAAA,IAAI,CAAC,CAAC;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;IAC5C,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC;IACxC,OAAO;AACL,QAAA,MAAM,EAAE,MAAM,CAAC,iBAAiB,EAAc;AAC9C,QAAA,UAAU,EAAE,UAA0C;AACtD,QAAA,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;KACvB;AACH;AAEA;;;AAGG;AACG,SAAU,UAAU,CAAC,QAAgB,EAAA;AACzC,IAAA,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC;IAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAc,CAAC;IAC3E,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM;AAC3E,IAAA,OAAO,SAAS,GAAG,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe;AAChE;AAEA;;;AAGG;AACG,SAAU,QAAQ,CAAC,UAAkB,EAAA;IACzC,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;AACrC,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,CAAC;AAC9C,IAAA,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,MAAM;AACtC;AAEA;;;AAGG;AACG,SAAU,UAAU,CAAC,IAAqB,EAAA;AAC9C,IAAA,MAAM,CAAC,GAAG,OAAO,IAAI,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI;IAC3D,QACE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AACf,QAAA,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AACf,QAAA,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AACf,QAAA,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AACf,QAAA,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AACf,QAAA,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;QACf,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE;AAEpB;AAEA;;;AAGG;AACG,SAAU,UAAU,CAAC,IAAqB,EAAA;AAC9C,IAAA,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;AAC1B;AAEA;;AAEG;AACI,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY;AAE1E;;;;;;AAMG;AACG,SAAU,eAAe,CAAC,IAAqB,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,EAAA;AACzE,IAAA,MAAM,CAAC,GAAG,OAAO,IAAI,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI;IAC3D,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;AACvD;;;;"}
@@ -8,10 +8,9 @@
8
8
  */
9
9
  export type Units = [string, number][];
10
10
  export declare function selectUnit(units: Units, value: number): [string, number];
11
- export declare function parseValue(inputString: string, units?: string | Units, digit?: number, defaultValue?: number): {
11
+ export declare function parseValue(inputString: string, units?: string | Units, digit?: number): {
12
12
  rawValue: number;
13
13
  formatValue: string;
14
14
  unit: string;
15
15
  };
16
- export declare function formatValue(value: number, units?: string | Units): string;
17
16
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../src/components/NumberInput/type.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;AAEtC,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAQxE;AAED,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,YAAY,SAAI;;;;EA6CjB;AAID,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,UAShE"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../src/components/NumberInput/type.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;AAEtC,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxE;AAED,wBAAgB,UAAU,CACxB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,EACtB,KAAK,CAAC,EAAE,MAAM,GACb;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAkCA"}
@@ -1,4 +1,9 @@
1
1
  /**
2
+ * This is how you import top-level functions.
3
+ *
4
+ * ```ts
5
+ * import { anyFunc } from '@tremolo-ui/functions'
6
+ * ```
2
7
  * @module top-level
3
8
  */
4
9
  export * from './math';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA"}
@@ -48,6 +48,11 @@ export declare function radian(degree: number): number;
48
48
  * @category Math
49
49
  */
50
50
  export declare function degree(radian: number): number;
51
+ /**
52
+ *
53
+ * @category Math
54
+ */
55
+ export declare function mapValue(value: number, inMin: number, inMax: number, outMin: number, outMax: number): number;
51
56
  /**
52
57
  *
53
58
  * @category Math
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE5D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAKT;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAQT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,UAKZ;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAOpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,UAEzD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,UAElC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../src/math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE5D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAKT;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,SAAI,UAQT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,UAKZ;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAOpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,UAEzD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAElE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,UAEpC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,UAGf;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,UAElC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,UAEpC"}
@@ -23,22 +23,35 @@ export declare function parseNoteName(noteName: string): {
23
23
  octave: number;
24
24
  };
25
25
  /**
26
- *
26
+ * Convert noteName to noteNumber
27
27
  * @category MIDI
28
28
  */
29
29
  export declare function noteNumber(noteName: string): number;
30
30
  /**
31
- *
31
+ * Convert noteNumber to noteName
32
32
  * @category MIDI
33
33
  */
34
34
  export declare function noteName(noteNumber: number): string;
35
35
  /**
36
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
36
37
  * @category MIDI
37
38
  */
38
39
  export declare function isWhiteKey(note: number | string): boolean;
40
+ /**
41
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
42
+ * @category MIDI
43
+ */
44
+ export declare function isBlackKey(note: number | string): boolean;
39
45
  /**
40
46
  * @category MIDI
41
47
  */
42
- export declare function isBlackKey(noteNumber: number | string): boolean;
43
48
  export declare const scaleNames: string[];
49
+ /**
50
+ * @param note noteNumber: 0 ~ 127 or noteName e.g. 'C3'
51
+ * @param detune [cent]
52
+ * @param a4 A4 frequency [Hz]
53
+ * @returns frequency [Hz]
54
+ * @category MIDI
55
+ */
56
+ export declare function noteToFrequency(note: number | string, detune?: number, a4?: number): number;
44
57
  //# sourceMappingURL=midi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,WAErD;AAED,eAAO,MAAM,UAAU,UAAoD,CAAA"}
1
+ {"version":3,"file":"midi.d.ts","sourceRoot":"","sources":["../../../src/midi.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,SAAS,8CAA+C,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS,4EAaZ,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM;YAKJ,QAAQ;gBACpB,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE;;EAGzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,UAK1C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,UAI1C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAW/C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,WAE/C;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,UAAoD,CAAA;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,SAAI,EAAE,EAAE,SAAM,UAG1E"}
package/package.json CHANGED
@@ -1,17 +1,42 @@
1
1
  {
2
2
  "name": "@tremolo-ui/functions",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "description": "functions used in @tremolo-ui/react",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "test": "jest",
8
- "build:package": "rollup -c",
8
+ "typecheck": "tsc",
9
+ "build:package": "tsc && rollup -c",
9
10
  "watch:package": "rollup -c -w",
10
11
  "clean": "npm run clean:build",
11
12
  "clean:build": "rimraf ./dist .rollup.cache",
12
13
  "lint": "eslint --fix --ext .ts,.tsx .",
13
14
  "format": "prettier --write ."
14
15
  },
16
+ "files": [
17
+ "dist",
18
+ "src"
19
+ ],
20
+ "publishConfig": {
21
+ "access": "public"
22
+ },
23
+ "author": {
24
+ "name": "mimoz",
25
+ "email": "contact.m1m0zzz@gmail.com"
26
+ },
27
+ "license": "MIT",
28
+ "homepage": "https://github.com/m1m0zzz/tremolo-ui",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/m1m0zzz/tremolo-ui.git",
32
+ "directory": "packages/functions"
33
+ },
34
+ "keywords": [
35
+ "web-audio",
36
+ "math",
37
+ "midi",
38
+ "dsp"
39
+ ],
15
40
  "exports": {
16
41
  ".": {
17
42
  "require": {
@@ -43,29 +68,5 @@
43
68
  "types": "./dist/esm/types/components/Slider/type.d.ts"
44
69
  }
45
70
  }
46
- },
47
- "files": [
48
- "dist",
49
- "src"
50
- ],
51
- "publishConfig": {
52
- "access": "public"
53
- },
54
- "author": {
55
- "name": "mimoz",
56
- "email": "contact.m1m0zzz@gmail.com"
57
- },
58
- "license": "MIT",
59
- "homepage": "https://github.com/m1m0zzz/tremolo-ui",
60
- "repository": {
61
- "type": "git",
62
- "url": "git+https://github.com/m1m0zzz/tremolo-ui.git",
63
- "directory": "packages/functions"
64
- },
65
- "keywords": [
66
- "web-audio",
67
- "math",
68
- "midi",
69
- "dsp"
70
- ]
71
+ }
71
72
  }