@leonabcd123/modern-caps-lock 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Modern Caps Lock
2
2
 
3
- Modern Caps Lock provides an easy way to know whether Caps Lock is currently active or not, and it allows you run your code whenever Caps Lock state is changed.
3
+ Modern Caps Lock provides an easy way to check whether Caps Lock is active or not, and it allows you to run your code whenever Caps Lock state changes.
4
4
 
5
5
  ### Installation
6
6
 
@@ -10,6 +10,33 @@ Example installation with npm:
10
10
  npm install @leonabcd123/modern-caps-lock
11
11
  ```
12
12
 
13
+ ### API
14
+
15
+ #### onCapsLockChange()
16
+
17
+ Runs the provided callback function whenever Caps Lock state is changed.
18
+
19
+ ##### Arguments
20
+
21
+ `callback: (capsState: boolean) => void`: a function that takes one argument (`capsState`) and returns nothing. This function is executed after every Caps Lock state change.
22
+
23
+ ##### Return value
24
+
25
+ `void`.
26
+
27
+ #### isCapsLockOn()
28
+
29
+ Returns the current Caps Lock state.
30
+
31
+ ##### Arguments
32
+
33
+ None.
34
+
35
+ ##### Return value
36
+
37
+ `capsState: boolean`: a boolean representing the current Caps Lock state. If `true`, Caps Lock is on; if `false`, Caps Lock is off.
38
+
39
+
13
40
  ### Examples
14
41
 
15
42
  ##### Print Caps Lock state after every change
@@ -26,7 +53,7 @@ onCapsLockChange((capsState) => {
26
53
  ```js
27
54
  import { isCapsLockOn } from "@leonabcd123/modern-caps-lock";
28
55
 
29
- if (isCapsLockOn()){
56
+ if (isCapsLockOn()) {
30
57
  console.log("Caps Lock is on!");
31
58
  } else {
32
59
  console.log("Caps Lock is off!");
package/lib/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export declare function isCapsLockOn(): boolean;
2
- export declare function onCapsLockChange(handler: (capsState: boolean) => void): void;
2
+ export declare function onCapsLockChange(callback: (capsState: boolean) => void): void;
package/lib/index.js CHANGED
@@ -20,10 +20,14 @@ function getCurrentOs() {
20
20
  }
21
21
  let capsState = false;
22
22
  const os = getCurrentOs();
23
- let onCapsChangeHandler;
23
+ let onCapsChangeCallback;
24
24
  function getCapsLockModifierState(event) {
25
25
  return event.getModifierState("CapsLock");
26
26
  }
27
+ document.addEventListener("mousedown", (event) => {
28
+ capsState = getCapsLockModifierState(event);
29
+ onCapsChangeCallback(capsState);
30
+ });
27
31
  document.addEventListener("keyup", (event) => {
28
32
  if (os === "Mac") {
29
33
  if (event.key === "CapsLock") {
@@ -41,13 +45,13 @@ document.addEventListener("keyup", (event) => {
41
45
  else if (event.key !== "CapsLock") {
42
46
  capsState = getCapsLockModifierState(event);
43
47
  }
44
- onCapsChangeHandler(capsState);
48
+ onCapsChangeCallback(capsState);
45
49
  });
46
50
  document.addEventListener("keydown", (event) => {
47
51
  if (os === "Mac") {
48
52
  if (event.key === "CapsLock") {
49
53
  capsState = true;
50
- onCapsChangeHandler(capsState);
54
+ onCapsChangeCallback(capsState);
51
55
  }
52
56
  }
53
57
  else if (os === "Linux") {
@@ -59,7 +63,7 @@ document.addEventListener("keydown", (event) => {
59
63
  function isCapsLockOn() {
60
64
  return capsState;
61
65
  }
62
- function onCapsLockChange(handler) {
63
- onCapsChangeHandler = handler;
66
+ function onCapsLockChange(callback) {
67
+ onCapsChangeCallback = callback;
64
68
  }
65
69
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAiEA,oCAEC;AAED,4CAEC;AAvED,SAAS,UAAU,CAAC,UAAkB;IACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;IACpC,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;AAC1B,IAAI,mBAAiD,CAAC;AAEtD,SAAS,wBAAwB,CAAC,KAAoB;IACpD,OAAO,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAC3C,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAEjB,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;aAAM,CAAC;YAGN,IAAI,SAAS,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QAE5B,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QAEpC,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;IAC7C,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAEjB,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC;YACjB,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAI1B,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAgB,YAAY;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,gBAAgB,CAAC,OAAqC;IACpE,mBAAmB,GAAG,OAAO,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAuEA,oCAEC;AAED,4CAEC;AA7ED,SAAS,UAAU,CAAC,UAAkB;IACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;IACpC,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;AAC1B,IAAI,oBAAkD,CAAC;AAEvD,SAAS,wBAAwB,CAAC,KAAiC;IACjE,OAAO,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;IAE/C,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC5C,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;IAC3C,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAEjB,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;aAAM,CAAC;YAGN,IAAI,SAAS,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;gBAClC,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QAE5B,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;QAEpC,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;IAC7C,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAEjB,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC;YACjB,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;SAAM,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QAI1B,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;YAC7B,SAAS,GAAG,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAgB,YAAY;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAsC;IACrE,oBAAoB,GAAG,QAAQ,CAAC;AAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leonabcd123/modern-caps-lock",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "A package that allows you to know whether caps lock is active or not",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",