@tremolo-ui/functions 0.0.9 → 0.0.10

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/components/tsconfig.tsbuildinfo +1 -1
  48. package/dist/esm/index.js +28 -5
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/types/components/NumberInput/type.d.ts +1 -2
  51. package/dist/esm/types/components/NumberInput/type.d.ts.map +1 -1
  52. package/dist/esm/types/index.d.ts +5 -0
  53. package/dist/esm/types/index.d.ts.map +1 -1
  54. package/dist/esm/types/math.d.ts +5 -0
  55. package/dist/esm/types/math.d.ts.map +1 -1
  56. package/dist/esm/types/midi.d.ts +16 -3
  57. package/dist/esm/types/midi.d.ts.map +1 -1
  58. package/package.json +1 -1
  59. package/src/components/NumberInput/type.ts +22 -46
  60. package/src/index.ts +5 -0
  61. package/src/math.ts +14 -0
  62. package/src/midi.ts +21 -4
@@ -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"}