js_lis 3.0.0 → 3.0.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "js_lis",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"
package/style/kbstyle.js CHANGED
@@ -1,9 +1,155 @@
1
+
2
+ const STYLE_TAG_ID = "vk-styles";
3
+
1
4
  export const css = `
2
- .keyboard-row,.virtual-keyboard{display:flex;display:flex}.keyb,.keyboard-key{cursor:pointer;font-size:16px;text-align:center}.virtual-keyboard{flex-direction:column;width:100%;max-width:800px;margin:0 auto;border:2px solid #333;border-radius:10px;padding:20px;background-color:#f5f5f5;box-shadow:0 4px 10px rgba(0,0,0,.1)}.keyboard-row{justify-content:space-between}.keyboard-key{flex:1;padding:10px 15px;margin:2px;border:1px solid #ccc;border-radius:5px;background-color:#fff;transition:background-color .2s}.keyboard-active,input:focus,textarea:focus{border-color:#007bff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.backspacew{flex:1.5;width:260px}.keyboard-key:hover{background:#e0e0e0}.keyboard-key:active{background:#d0d0d0;transform:translateY(1px)}.keyboard-row{display:flex;justify-content:flex-start;margin:5px 0}.controls{margin-bottom:20px}button,select{margin-right:10px;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer}button:hover{background:#f0f0f0}input:focus,textarea:focus{outline:0}#keyboard{position:absolute;cursor:move;top:80%;left:50%;transform:translate(-50%,-50%)}.keyb{color:#fff;border:#000;width:40px;height:25px;line-height:50px;margin:8px}.keyboard-row .active{background:#c7c7c7}body.dark-mode .virtual-keyboard{background-color:#333;box-shadow:0 4px 8px rgba(247,245,245,.1)}body.dark-mode{background-color:#333}body.dark-mode .login-container{background-color:#000;box-shadow:0 4px 8px rgba(247,245,245,.1);color:#fff}body.dark-mode .login-container input{background-color:#3333335d;color:#fff}body.dark-mode .login-container button{background-color:#005703;color:#fff}.fa-keyboard{color:#000}body.dark-mode .keyb .fa-keyboard{color:#ffffffde}body.dark-mode .keyboard-key.key{background-color:#222;color:#ffffffde}[data-key="Caps 🄰"],[data-key="Shift ⇧"],[data-key="Tab ↹"]{min-width:90px}.keyboard-key.key[data-key="Shift ⇧"]{color:#333}.virtual-keyboard.full [data-key=Enter]{min-width:95px}.virtual-keyboard.full [data-key="Shift ⇧"]{min-width:92px}.virtual-keyboard.full [data-key=" "]{min-width:563.8px}.virtual-keyboard.full .concat-keys[data-key="0"]{min-width:102px}.virtual-keyboard.full{min-width:1000px}.virtual-keyboard.Scnum,.virtual-keyboard.numpad{max-width:300px}.virtual-keyboard.symbols{max-width:450px}.hidden{display:none!important}[data-key="Tab ↹"],[data-key=Backspace]{min-width:80px}[data-key="Shift ⇧"]{min-width:100px}[data-key=" "]{min-width:670px}
5
+ :host, .vk-root {
6
+ --vk-bg: #f5f5f5;
7
+ --vk-border:#333;
8
+ --vk-key-bg:#ffffff;
9
+ --vk-key-color: #111111;
10
+ --vk-key-border:#cccccc;
11
+ --vk-key-hover: #e0e0e0;
12
+ --vk-key-active:#d0d0d0;
13
+ --vk-key-pressed: #c7c7c7;
14
+ --vk-shadow:rgba(0, 0, 0, 0.1);
15
+ --vk-focus-ring:rgba(0, 123, 255, 0.25);
16
+ --vk-focus-border:#007bff;
17
+ --vk-icon-color:#000000;
18
+ }
19
+ @media (prefers-color-scheme: dark) {
20
+ :host, .vk-root {
21
+ --vk-bg:#333333;
22
+ --vk-border:#555555;
23
+ --vk-key-bg:#222222;
24
+ --vk-key-color: rgba(255, 255, 255, 0.87);
25
+ --vk-key-border:#444444;
26
+ --vk-key-hover: #2c2c2c;
27
+ --vk-key-active:#1a1a1a;
28
+ --vk-key-pressed: #383838;
29
+ --vk-shadow:rgba(247, 245, 245, 0.1);
30
+ --vk-icon-color:rgba(255, 255, 255, 0.87);
31
+ }
32
+ }
33
+ :host([data-theme="dark"]), [data-theme="dark"] .vk-root {
34
+ --vk-bg:#333333;
35
+ --vk-border:#555555;
36
+ --vk-key-bg:#222222;
37
+ --vk-key-color: rgba(255, 255, 255, 0.87);
38
+ --vk-key-border:#444444;
39
+ --vk-key-hover: #2c2c2c;
40
+ --vk-key-active:#1a1a1a;
41
+ --vk-key-pressed: #383838;
42
+ --vk-shadow:rgba(247, 245, 245, 0.1);
43
+ --vk-icon-color:rgba(255, 255, 255, 0.87);
44
+ }
45
+ .virtual-keyboard {
46
+ display:flex;
47
+ flex-direction: column;
48
+ width:100%;
49
+ max-width:800px;
50
+ margin: 0 auto;
51
+ border: 2px solid var(--vk-border);
52
+ border-radius:10px;
53
+ padding:20px;
54
+ background-color: var(--vk-bg);
55
+ box-shadow: 0 4px 10px var(--vk-shadow);
56
+ box-sizing: border-box;
57
+ }
58
+ .keyboard-row {
59
+ display:flex;
60
+ justify-content:flex-start;
61
+ margin: 5px 0;
62
+ }
63
+ .keyboard-key {
64
+ flex: 1;
65
+ cursor: pointer;
66
+ font-size:16px;
67
+ text-align: center;
68
+ padding:10px 15px;
69
+ margin: 2px;
70
+ border: 1px solid var(--vk-key-border);
71
+ border-radius:5px;
72
+ background-color: var(--vk-key-bg);
73
+ color:var(--vk-key-color);
74
+ transition: background-color 0.2s;
75
+ box-sizing: border-box;
76
+ user-select:none;
77
+ -webkit-user-select: none;
78
+ }
79
+ .keyboard-key:hover{ background: var(--vk-key-hover); }
80
+ .keyboard-key:active { background: var(--vk-key-active); transform: translateY(1px); }
81
+ .keyboard-row .active,
82
+ .keyboard-key.active { background: var(--vk-key-pressed); }
83
+ [data-key="Caps 🄰"],
84
+ [data-key="Shift ⇧"],
85
+ [data-key="Tab ↹"] { min-width: 90px; }
86
+ [data-key="Backspace"],
87
+ [data-key="backspace"] { min-width: 80px; }
88
+ // [data-key="Shift ⇧"]{ min-width: 100px; color: #333; }
89
+ .backspacew{ flex: 1.5; }
90
+ [data-key=" "] { flex: 8; }
91
+ .virtual-keyboard.full {
92
+ min-width: clamp(600px, 90vw, 1000px);
93
+ }
94
+ .virtual-keyboard.full [data-key="Enter"] { min-width: 95px; }
95
+ .virtual-keyboard.full [data-key="Shift ⇧"] { min-width: 92px; }
96
+ .virtual-keyboard.full .concat-keys[data-key="0"] { min-width: 100px; }
97
+ [data-key="←"],[data-key="↓"],[data-key="→"],.virtual-keyboard.full .concat-keys[data-key="."] { max-width: 46px; }
98
+ .virtual-keyboard.full [data-key=" "] { flex: 10; }
99
+ .virtual-keyboard.numpad,
100
+ .virtual-keyboard.Scnum{ max-width: 300px; }
101
+ .virtual-keyboard.symbols { max-width: 450px; }
102
+ #keyboard {
103
+ position:absolute;
104
+ cursor:move;
105
+ top: 80%;
106
+ left:50%;
107
+ transform: translate(-50%, -50%);
108
+ z-index: 9999;
109
+ }
110
+ .keyboard-active,
111
+ input:focus,
112
+ textarea:focus {
113
+ border-color: var(--vk-focus-border) !important;
114
+ box-shadow: 0 0 0 0.2rem var(--vk-focus-ring) !important;
115
+ outline:0;
116
+ }
117
+ .controls { margin-bottom: 20px; }
118
+ button,
119
+ select {
120
+ margin-right: 10px;
121
+ padding:8px 12px;
122
+ border: 1px solid var(--vk-key-border);
123
+ border-radius: 4px;
124
+ font-size:14px;
125
+ cursor: pointer;
126
+ background: var(--vk-key-bg);
127
+ color:var(--vk-key-color);
128
+ }
129
+ button:hover { background: var(--vk-key-hover); }
130
+ .fa-keyboard { color: var(--vk-icon-color); }
131
+ .keyb {
132
+ cursor:pointer;
133
+ font-size: 16px;
134
+ text-align:center;
135
+ color: #fff;
136
+ border:1px solid #000;
137
+ width: 40px;
138
+ height:25px;
139
+ line-height: 50px;
140
+ margin:8px;}.hidden { display: none !important; }
3
141
  `;
4
142
 
5
- export function injectCSS() {
6
- const style = document.createElement("style");
7
- style.textContent = css;
8
- document.head.appendChild(style);
143
+ export function getCSS() {
144
+ return css;
9
145
  }
146
+
147
+ export function injectCSS() {
148
+ if (document.getElementById(STYLE_TAG_ID)) return;
149
+
150
+ const style = document.createElement("style");
151
+ style.id = STYLE_TAG_ID;
152
+ style.setAttribute("data-vk", "");
153
+ style.textContent = css;
154
+ document.head.appendChild(style);
155
+ }