@wcardinal/wcardinal-ui 0.285.0 → 0.286.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.
@@ -176,17 +176,44 @@ var UtilKeyboardEvent = /** @class */ (function () {
176
176
  var keyExpression = void 0;
177
177
  var event_1;
178
178
  if (0 <= arrowIndex) {
179
- keyExpression = expression.substring(0, arrowIndex).trim();
179
+ keyExpression = expression.substring(0, arrowIndex).trim().toLowerCase();
180
180
  event_1 = expression.substring(arrowIndex + 2).trim();
181
181
  }
182
182
  else {
183
- keyExpression = expression.trim();
183
+ keyExpression = expression.trim().toLowerCase();
184
+ }
185
+ var alt = false;
186
+ var ctrl = false;
187
+ var shift = false;
188
+ var key = "a";
189
+ var length_1 = keyExpression.length;
190
+ var i = 0;
191
+ var j = 1;
192
+ for (; j < length_1; ++j) {
193
+ var c = keyExpression.charAt(j);
194
+ if (c === "+") {
195
+ var part = keyExpression.substring(i, j);
196
+ switch (part) {
197
+ case "alt":
198
+ alt = true;
199
+ break;
200
+ case "ctrl":
201
+ ctrl = true;
202
+ break;
203
+ case "shift":
204
+ shift = true;
205
+ break;
206
+ default:
207
+ key = part;
208
+ break;
209
+ }
210
+ j += 1;
211
+ i = j;
212
+ }
213
+ }
214
+ if (i !== j) {
215
+ key = keyExpression.substring(i, j);
184
216
  }
185
- var keys = keyExpression.toLowerCase().split("+");
186
- var alt = 0 <= keys.indexOf("alt");
187
- var ctrl = 0 <= keys.indexOf("ctrl");
188
- var shift = 0 <= keys.indexOf("shift");
189
- var key = keys[keys.length - 1];
190
217
  return setShortcutKeyAndWhich({
191
218
  alt: alt,
192
219
  ctrl: ctrl,
@@ -1 +1 @@
1
- {"version":3,"file":"util-keyboard-event.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-keyboard-event.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplicationLayerLike } from \"../d-application-layer-like\";\nimport { DApplications } from \"../d-applications\";\nimport { DBase } from \"../d-base\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { isString } from \"./is-string\";\n\nexport interface UtilKeyboardEventLayerPicker {\n\tpicked: DApplicationLayerLike | null;\n}\n\nexport interface UtilKeyboardEventShortcut {\n\talt: boolean;\n\tctrl: boolean;\n\tshift: boolean;\n\tkey: string;\n\twhich: number;\n\tevent?: string;\n}\n\nexport interface UtilKeyboardEventShortcutTarget {\n\tstate: DBaseStateSet;\n\temit(eventName: string): void;\n}\n\nconst setShortcutKeyAndWhich = (shortcut: UtilKeyboardEventShortcut): UtilKeyboardEventShortcut => {\n\tconst key = shortcut.key;\n\tif (key.length <= 1) {\n\t\tif (shortcut.shift) {\n\t\t\tshortcut.key = key.toUpperCase();\n\t\t}\n\t\tconst code = key.charCodeAt(0);\n\t\tif (97 <= code && code <= 122) {\n\t\t\t// a ... z\n\t\t\tshortcut.which = code - 32;\n\t\t} else {\n\t\t\tshortcut.which = code;\n\t\t}\n\t} else {\n\t\tswitch (key) {\n\t\t\tcase \"Enter\":\n\t\t\t\tshortcut.which = 13;\n\t\t\t\tbreak;\n\t\t\tcase \"Space\":\n\t\t\t\tshortcut.key = \" \";\n\t\t\t\tshortcut.which = 32;\n\t\t\t\tbreak;\n\t\t\tcase \"Escape\":\n\t\t\t\tshortcut.which = 27;\n\t\t\t\tbreak;\n\t\t\tcase \"F1\":\n\t\t\t\tshortcut.which = 112;\n\t\t\t\tbreak;\n\t\t\tcase \"F2\":\n\t\t\t\tshortcut.which = 113;\n\t\t\t\tbreak;\n\t\t\tcase \"F3\":\n\t\t\t\tshortcut.which = 114;\n\t\t\t\tbreak;\n\t\t\tcase \"F4\":\n\t\t\t\tshortcut.which = 115;\n\t\t\t\tbreak;\n\t\t\tcase \"F5\":\n\t\t\t\tshortcut.which = 116;\n\t\t\t\tbreak;\n\t\t\tcase \"F6\":\n\t\t\t\tshortcut.which = 117;\n\t\t\t\tbreak;\n\t\t\tcase \"F7\":\n\t\t\t\tshortcut.which = 118;\n\t\t\t\tbreak;\n\t\t\tcase \"F8\":\n\t\t\t\tshortcut.which = 119;\n\t\t\t\tbreak;\n\t\t\tcase \"F9\":\n\t\t\t\tshortcut.which = 120;\n\t\t\t\tbreak;\n\t\t\tcase \"F10\":\n\t\t\t\tshortcut.which = 121;\n\t\t\t\tbreak;\n\t\t\tcase \"F11\":\n\t\t\t\tshortcut.which = 122;\n\t\t\t\tbreak;\n\t\t\tcase \"F12\":\n\t\t\t\tshortcut.which = 123;\n\t\t\t\tbreak;\n\t\t\tcase \"CapsLock\":\n\t\t\t\tif (shortcut.shift) {\n\t\t\t\t\tshortcut.which = 20;\n\t\t\t\t} else {\n\t\t\t\t\tshortcut.which = 240;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowUp\":\n\t\t\t\tshortcut.which = 38;\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowDown\":\n\t\t\t\tshortcut.which = 40;\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowLeft\":\n\t\t\t\tshortcut.which = 37;\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowRight\":\n\t\t\t\tshortcut.which = 39;\n\t\t\t\tbreak;\n\t\t\tcase \"Insert\":\n\t\t\t\tshortcut.which = 45;\n\t\t\t\tbreak;\n\t\t\tcase \"Delete\":\n\t\t\t\tshortcut.which = 46;\n\t\t\t\tbreak;\n\t\t\tcase \"PageUp\":\n\t\t\t\tshortcut.which = 33;\n\t\t\t\tbreak;\n\t\t\tcase \"PageDown\":\n\t\t\t\tshortcut.which = 34;\n\t\t\t\tbreak;\n\t\t\tcase \"Backspace\":\n\t\t\t\tshortcut.which = 8;\n\t\t\t\tbreak;\n\t\t\tcase \";\":\n\t\t\t\tshortcut.which = 187;\n\t\t\t\tbreak;\n\t\t\tcase \"Pause\":\n\t\t\t\tshortcut.which = 19;\n\t\t\t\tbreak;\n\t\t\tcase \"ScrollLock\":\n\t\t\t\tshortcut.which = 145;\n\t\t\t\tbreak;\n\t\t\tcase \"Tab\":\n\t\t\t\tshortcut.which = 9;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn shortcut;\n};\n\nexport class UtilKeyboardEvent {\n\tstatic isActivateKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Space\" || e.key === \"Enter\" || e.which === 32 || e.which === 13;\n\t}\n\n\tstatic isArrowUpKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowUp\" || e.which === 38;\n\t}\n\n\tstatic isArrowDownKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowDown\" || e.which === 40;\n\t}\n\n\tstatic isArrowLeftKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowLeft\" || e.which === 37;\n\t}\n\n\tstatic isArrowRightKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowRight\" || e.which === 39;\n\t}\n\n\tstatic isCancelKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Esc\" || e.which === 27;\n\t}\n\n\tstatic isFocusKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Tab\" || e.which === 9;\n\t}\n\n\tstatic isUndoKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && (e.key === \"z\" || e.which === 90);\n\t}\n\n\tstatic isRedoKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && (e.key === \"y\" || e.which === 89);\n\t}\n\n\tstatic isSaveKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && !e.shiftKey && (e.key === \"s\" || e.which === 83);\n\t}\n\n\tstatic isSaveAsKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && e.shiftKey && (e.key === \"S\" || e.which === 83);\n\t}\n\n\tstatic isDeleteKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Delete\" || e.which === 46;\n\t}\n\n\tstatic isSelectAllKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && !e.shiftKey && (e.key === \"a\" || e.which === 65);\n\t}\n\n\tstatic isOkKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Enter\" || e.which === 13;\n\t}\n\n\tstatic getFocusDirection(e: KeyboardEvent): boolean {\n\t\treturn e.shiftKey !== true;\n\t}\n\n\tstatic toShortcut(\n\t\texpressionOrShortcut: string | UtilKeyboardEventShortcut\n\t): UtilKeyboardEventShortcut {\n\t\tif (!isString(expressionOrShortcut)) {\n\t\t\treturn expressionOrShortcut;\n\t\t} else {\n\t\t\tconst expression = expressionOrShortcut;\n\t\t\tconst arrowIndex = expression.indexOf(\"->\");\n\t\t\tlet keyExpression: string;\n\t\t\tlet event: string | undefined;\n\t\t\tif (0 <= arrowIndex) {\n\t\t\t\tkeyExpression = expression.substring(0, arrowIndex).trim();\n\t\t\t\tevent = expression.substring(arrowIndex + 2).trim();\n\t\t\t} else {\n\t\t\t\tkeyExpression = expression.trim();\n\t\t\t}\n\t\t\tconst keys = keyExpression.toLowerCase().split(\"+\");\n\t\t\tconst alt: boolean = 0 <= keys.indexOf(\"alt\");\n\t\t\tconst ctrl: boolean = 0 <= keys.indexOf(\"ctrl\");\n\t\t\tconst shift: boolean = 0 <= keys.indexOf(\"shift\");\n\t\t\tconst key: string = keys[keys.length - 1];\n\t\t\treturn setShortcutKeyAndWhich({\n\t\t\t\talt,\n\t\t\t\tctrl,\n\t\t\t\tshift,\n\t\t\t\tkey,\n\t\t\t\twhich: 0,\n\t\t\t\tevent\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic toString(shortcut: UtilKeyboardEventShortcut): string {\n\t\tconst parts = [];\n\t\tif (shortcut.ctrl) {\n\t\t\tparts.push(\"Ctrl\");\n\t\t}\n\t\tif (shortcut.shift) {\n\t\t\tparts.push(\"Shift\");\n\t\t}\n\t\tif (shortcut.alt) {\n\t\t\tparts.push(\"Alt\");\n\t\t}\n\t\tparts.push(shortcut.key.toUpperCase());\n\t\treturn parts.join(\"+\");\n\t}\n\n\tstatic on(\n\t\ttarget: UtilKeyboardEventShortcutTarget,\n\t\texpressionOrShortcut: string | UtilKeyboardEventShortcut,\n\t\thandler?: (e: KeyboardEvent) => void\n\t): void {\n\t\tconst shortcut = this.toShortcut(expressionOrShortcut);\n\t\tdocument.body.addEventListener(\"keydown\", (e: KeyboardEvent): void => {\n\t\t\tif (\n\t\t\t\te.altKey === shortcut.alt &&\n\t\t\t\te.ctrlKey === shortcut.ctrl &&\n\t\t\t\te.shiftKey === shortcut.shift &&\n\t\t\t\t(e.key === shortcut.key || e.which === shortcut.which)\n\t\t\t) {\n\t\t\t\tif (target.state.isActionable) {\n\t\t\t\t\tif (shortcut.event != null) {\n\t\t\t\t\t\ttarget.emit(shortcut.event);\n\t\t\t\t\t} else if (handler != null) {\n\t\t\t\t\t\thandler(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic moveFocusVertically(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tif (target.state.isActionable) {\n\t\t\tconst isBackward = UtilKeyboardEvent.isArrowUpKey(e);\n\t\t\tconst isForward = UtilKeyboardEvent.isArrowDownKey(e);\n\t\t\tif (isBackward || isForward) {\n\t\t\t\treturn this.moveFocus(isForward, target, picker);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic moveFocusHorizontally(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tif (target.state.isActionable) {\n\t\t\tconst isBackward = UtilKeyboardEvent.isArrowLeftKey(e);\n\t\t\tconst isForward = UtilKeyboardEvent.isArrowRightKey(e);\n\t\t\tif (isBackward || isForward) {\n\t\t\t\treturn this.moveFocus(isForward, target, picker);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic moveFocus(\n\t\tdirection: boolean,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tconst layer = picker?.picked ?? DApplications.getLayer(target);\n\t\tif (layer) {\n\t\t\tconst focusController = layer.getFocusController();\n\t\t\tconst focused = focusController.get();\n\t\t\tif (focused != null) {\n\t\t\t\tconst next = focusController.find(\n\t\t\t\t\tfocused,\n\t\t\t\t\tfalse,\n\t\t\t\t\tfocused.state.isFocusRoot || direction,\n\t\t\t\t\tdirection,\n\t\t\t\t\ttarget\n\t\t\t\t);\n\t\t\t\tif (next != null) {\n\t\t\t\t\tfocusController.focus(next);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
1
+ {"version":3,"file":"util-keyboard-event.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/util-keyboard-event.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAoBvC,IAAM,sBAAsB,GAAG,UAAC,QAAmC;IAClE,IAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;IACzB,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;QACpB,IAAI,QAAQ,CAAC,KAAK,EAAE;YACnB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;SACjC;QACD,IAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,EAAE;YAC9B,UAAU;YACV,QAAQ,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;SAC3B;aAAM;YACN,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;SACtB;KACD;SAAM;QACN,QAAQ,GAAG,EAAE;YACZ,KAAK,OAAO;gBACX,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,OAAO;gBACX,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;gBACnB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,QAAQ;gBACZ,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,IAAI;gBACR,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI;gBACR,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI;gBACR,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI;gBACR,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI;gBACR,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI;gBACR,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI;gBACR,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI;gBACR,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,IAAI;gBACR,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,KAAK;gBACT,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,KAAK;gBACT,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,KAAK;gBACT,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,UAAU;gBACd,IAAI,QAAQ,CAAC,KAAK,EAAE;oBACnB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;iBACpB;qBAAM;oBACN,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;iBACrB;gBACD,MAAM;YACP,KAAK,SAAS;gBACb,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,WAAW;gBACf,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,WAAW;gBACf,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,YAAY;gBAChB,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,QAAQ;gBACZ,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,QAAQ;gBACZ,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,QAAQ;gBACZ,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,UAAU;gBACd,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,WAAW;gBACf,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;gBACnB,MAAM;YACP,KAAK,GAAG;gBACP,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,OAAO;gBACX,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM;YACP,KAAK,YAAY;gBAChB,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;gBACrB,MAAM;YACP,KAAK,KAAK;gBACT,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;gBACnB,MAAM;SACP;KACD;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF;IAAA;IAuNA,CAAC;IAtNO,+BAAa,GAApB,UAAqB,CAAgB;QACpC,OAAO,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IACnF,CAAC;IAEM,8BAAY,GAAnB,UAAoB,CAAgB;QACnC,OAAO,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IAC9C,CAAC;IAEM,gCAAc,GAArB,UAAsB,CAAgB;QACrC,OAAO,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IAChD,CAAC;IAEM,gCAAc,GAArB,UAAsB,CAAgB;QACrC,OAAO,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IAChD,CAAC;IAEM,iCAAe,GAAtB,UAAuB,CAAgB;QACtC,OAAO,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IACjD,CAAC;IAEM,6BAAW,GAAlB,UAAmB,CAAgB;QAClC,OAAO,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IAC1C,CAAC;IAEM,4BAAU,GAAjB,UAAkB,CAAgB;QACjC,OAAO,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IACzC,CAAC;IAEM,2BAAS,GAAhB,UAAiB,CAAgB;QAChC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,2BAAS,GAAhB,UAAiB,CAAgB;QAChC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,2BAAS,GAAhB,UAAiB,CAAgB;QAChC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAEM,6BAAW,GAAlB,UAAmB,CAAgB;QAClC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IAEM,6BAAW,GAAlB,UAAmB,CAAgB;QAClC,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IAC7C,CAAC;IAEM,gCAAc,GAArB,UAAsB,CAAgB;QACrC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAEM,yBAAO,GAAd,UAAe,CAAgB;QAC9B,OAAO,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IAC5C,CAAC;IAEM,mCAAiB,GAAxB,UAAyB,CAAgB;QACxC,OAAO,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;IAC5B,CAAC;IAEM,4BAAU,GAAjB,UACC,oBAAwD;QAExD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;YACpC,OAAO,oBAAoB,CAAC;SAC5B;aAAM;YACN,IAAM,UAAU,GAAG,oBAAoB,CAAC;YACxC,IAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,aAAa,SAAQ,CAAC;YAC1B,IAAI,OAAyB,CAAC;YAC9B,IAAI,CAAC,IAAI,UAAU,EAAE;gBACpB,aAAa,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACzE,OAAK,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpD;iBAAM;gBACN,aAAa,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aAChD;YACD,IAAI,GAAG,GAAG,KAAK,CAAC;YAChB,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,GAAG,GAAG,GAAG,CAAC;YACd,IAAM,QAAM,GAAG,aAAa,CAAC,MAAM,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,CAAC,GAAG,QAAM,EAAE,EAAE,CAAC,EAAE;gBACvB,IAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,GAAG,EAAE;oBACd,IAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3C,QAAQ,IAAI,EAAE;wBACb,KAAK,KAAK;4BACT,GAAG,GAAG,IAAI,CAAC;4BACX,MAAM;wBACP,KAAK,MAAM;4BACV,IAAI,GAAG,IAAI,CAAC;4BACZ,MAAM;wBACP,KAAK,OAAO;4BACX,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM;wBACP;4BACC,GAAG,GAAG,IAAI,CAAC;4BACX,MAAM;qBACP;oBACD,CAAC,IAAI,CAAC,CAAC;oBACP,CAAC,GAAG,CAAC,CAAC;iBACN;aACD;YACD,IAAI,CAAC,KAAK,CAAC,EAAE;gBACZ,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aACpC;YACD,OAAO,sBAAsB,CAAC;gBAC7B,GAAG,KAAA;gBACH,IAAI,MAAA;gBACJ,KAAK,OAAA;gBACL,GAAG,KAAA;gBACH,KAAK,EAAE,CAAC;gBACR,KAAK,SAAA;aACL,CAAC,CAAC;SACH;IACF,CAAC;IAEM,0BAAQ,GAAf,UAAgB,QAAmC;QAClD,IAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,QAAQ,CAAC,IAAI,EAAE;YAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACnB;QACD,IAAI,QAAQ,CAAC,KAAK,EAAE;YACnB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACpB;QACD,IAAI,QAAQ,CAAC,GAAG,EAAE;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAClB;QACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACvC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAEM,oBAAE,GAAT,UACC,MAAuC,EACvC,oBAAwD,EACxD,OAAoC;QAEpC,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACvD,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAC,CAAgB;YAC1D,IACC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,GAAG;gBACzB,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI;gBAC3B,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK;gBAC7B,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,EACrD;gBACD,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE;oBAC9B,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE;wBAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;qBAC5B;yBAAM,IAAI,OAAO,IAAI,IAAI,EAAE;wBAC3B,OAAO,CAAC,CAAC,CAAC,CAAC;qBACX;iBACD;gBACD,CAAC,CAAC,cAAc,EAAE,CAAC;aACnB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,qCAAmB,GAA1B,UACC,CAAgB,EAChB,MAAa,EACb,MAAqC;QAErC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE;YAC9B,IAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACrD,IAAM,SAAS,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,UAAU,IAAI,SAAS,EAAE;gBAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aACjD;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,uCAAqB,GAA5B,UACC,CAAgB,EAChB,MAAa,EACb,MAAqC;QAErC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE;YAC9B,IAAM,UAAU,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACvD,IAAM,SAAS,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,UAAU,IAAI,SAAS,EAAE;gBAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aACjD;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,2BAAS,GAAhB,UACC,SAAkB,EAClB,MAAa,EACb,MAAqC;;QAErC,IAAM,KAAK,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,mCAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,KAAK,EAAE;YACV,IAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACnD,IAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,OAAO,IAAI,IAAI,EAAE;gBACpB,IAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAChC,OAAO,EACP,KAAK,EACL,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,SAAS,EACtC,SAAS,EACT,MAAM,CACN,CAAC;gBACF,IAAI,IAAI,IAAI,IAAI,EAAE;oBACjB,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC5B,OAAO,IAAI,CAAC;iBACZ;aACD;SACD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IACF,wBAAC;AAAD,CAAC,AAvND,IAuNC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DApplicationLayerLike } from \"../d-application-layer-like\";\nimport { DApplications } from \"../d-applications\";\nimport { DBase } from \"../d-base\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\nimport { isString } from \"./is-string\";\n\nexport interface UtilKeyboardEventLayerPicker {\n\tpicked: DApplicationLayerLike | null;\n}\n\nexport interface UtilKeyboardEventShortcut {\n\talt: boolean;\n\tctrl: boolean;\n\tshift: boolean;\n\tkey: string;\n\twhich: number;\n\tevent?: string;\n}\n\nexport interface UtilKeyboardEventShortcutTarget {\n\tstate: DBaseStateSet;\n\temit(eventName: string): void;\n}\n\nconst setShortcutKeyAndWhich = (shortcut: UtilKeyboardEventShortcut): UtilKeyboardEventShortcut => {\n\tconst key = shortcut.key;\n\tif (key.length <= 1) {\n\t\tif (shortcut.shift) {\n\t\t\tshortcut.key = key.toUpperCase();\n\t\t}\n\t\tconst code = key.charCodeAt(0);\n\t\tif (97 <= code && code <= 122) {\n\t\t\t// a ... z\n\t\t\tshortcut.which = code - 32;\n\t\t} else {\n\t\t\tshortcut.which = code;\n\t\t}\n\t} else {\n\t\tswitch (key) {\n\t\t\tcase \"Enter\":\n\t\t\t\tshortcut.which = 13;\n\t\t\t\tbreak;\n\t\t\tcase \"Space\":\n\t\t\t\tshortcut.key = \" \";\n\t\t\t\tshortcut.which = 32;\n\t\t\t\tbreak;\n\t\t\tcase \"Escape\":\n\t\t\t\tshortcut.which = 27;\n\t\t\t\tbreak;\n\t\t\tcase \"F1\":\n\t\t\t\tshortcut.which = 112;\n\t\t\t\tbreak;\n\t\t\tcase \"F2\":\n\t\t\t\tshortcut.which = 113;\n\t\t\t\tbreak;\n\t\t\tcase \"F3\":\n\t\t\t\tshortcut.which = 114;\n\t\t\t\tbreak;\n\t\t\tcase \"F4\":\n\t\t\t\tshortcut.which = 115;\n\t\t\t\tbreak;\n\t\t\tcase \"F5\":\n\t\t\t\tshortcut.which = 116;\n\t\t\t\tbreak;\n\t\t\tcase \"F6\":\n\t\t\t\tshortcut.which = 117;\n\t\t\t\tbreak;\n\t\t\tcase \"F7\":\n\t\t\t\tshortcut.which = 118;\n\t\t\t\tbreak;\n\t\t\tcase \"F8\":\n\t\t\t\tshortcut.which = 119;\n\t\t\t\tbreak;\n\t\t\tcase \"F9\":\n\t\t\t\tshortcut.which = 120;\n\t\t\t\tbreak;\n\t\t\tcase \"F10\":\n\t\t\t\tshortcut.which = 121;\n\t\t\t\tbreak;\n\t\t\tcase \"F11\":\n\t\t\t\tshortcut.which = 122;\n\t\t\t\tbreak;\n\t\t\tcase \"F12\":\n\t\t\t\tshortcut.which = 123;\n\t\t\t\tbreak;\n\t\t\tcase \"CapsLock\":\n\t\t\t\tif (shortcut.shift) {\n\t\t\t\t\tshortcut.which = 20;\n\t\t\t\t} else {\n\t\t\t\t\tshortcut.which = 240;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowUp\":\n\t\t\t\tshortcut.which = 38;\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowDown\":\n\t\t\t\tshortcut.which = 40;\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowLeft\":\n\t\t\t\tshortcut.which = 37;\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowRight\":\n\t\t\t\tshortcut.which = 39;\n\t\t\t\tbreak;\n\t\t\tcase \"Insert\":\n\t\t\t\tshortcut.which = 45;\n\t\t\t\tbreak;\n\t\t\tcase \"Delete\":\n\t\t\t\tshortcut.which = 46;\n\t\t\t\tbreak;\n\t\t\tcase \"PageUp\":\n\t\t\t\tshortcut.which = 33;\n\t\t\t\tbreak;\n\t\t\tcase \"PageDown\":\n\t\t\t\tshortcut.which = 34;\n\t\t\t\tbreak;\n\t\t\tcase \"Backspace\":\n\t\t\t\tshortcut.which = 8;\n\t\t\t\tbreak;\n\t\t\tcase \";\":\n\t\t\t\tshortcut.which = 187;\n\t\t\t\tbreak;\n\t\t\tcase \"Pause\":\n\t\t\t\tshortcut.which = 19;\n\t\t\t\tbreak;\n\t\t\tcase \"ScrollLock\":\n\t\t\t\tshortcut.which = 145;\n\t\t\t\tbreak;\n\t\t\tcase \"Tab\":\n\t\t\t\tshortcut.which = 9;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn shortcut;\n};\n\nexport class UtilKeyboardEvent {\n\tstatic isActivateKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Space\" || e.key === \"Enter\" || e.which === 32 || e.which === 13;\n\t}\n\n\tstatic isArrowUpKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowUp\" || e.which === 38;\n\t}\n\n\tstatic isArrowDownKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowDown\" || e.which === 40;\n\t}\n\n\tstatic isArrowLeftKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowLeft\" || e.which === 37;\n\t}\n\n\tstatic isArrowRightKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"ArrowRight\" || e.which === 39;\n\t}\n\n\tstatic isCancelKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Esc\" || e.which === 27;\n\t}\n\n\tstatic isFocusKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Tab\" || e.which === 9;\n\t}\n\n\tstatic isUndoKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && (e.key === \"z\" || e.which === 90);\n\t}\n\n\tstatic isRedoKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && (e.key === \"y\" || e.which === 89);\n\t}\n\n\tstatic isSaveKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && !e.shiftKey && (e.key === \"s\" || e.which === 83);\n\t}\n\n\tstatic isSaveAsKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && e.shiftKey && (e.key === \"S\" || e.which === 83);\n\t}\n\n\tstatic isDeleteKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Delete\" || e.which === 46;\n\t}\n\n\tstatic isSelectAllKey(e: KeyboardEvent): boolean {\n\t\treturn e.ctrlKey && !e.shiftKey && (e.key === \"a\" || e.which === 65);\n\t}\n\n\tstatic isOkKey(e: KeyboardEvent): boolean {\n\t\treturn e.key === \"Enter\" || e.which === 13;\n\t}\n\n\tstatic getFocusDirection(e: KeyboardEvent): boolean {\n\t\treturn e.shiftKey !== true;\n\t}\n\n\tstatic toShortcut(\n\t\texpressionOrShortcut: string | UtilKeyboardEventShortcut\n\t): UtilKeyboardEventShortcut {\n\t\tif (!isString(expressionOrShortcut)) {\n\t\t\treturn expressionOrShortcut;\n\t\t} else {\n\t\t\tconst expression = expressionOrShortcut;\n\t\t\tconst arrowIndex = expression.indexOf(\"->\");\n\t\t\tlet keyExpression: string;\n\t\t\tlet event: string | undefined;\n\t\t\tif (0 <= arrowIndex) {\n\t\t\t\tkeyExpression = expression.substring(0, arrowIndex).trim().toLowerCase();\n\t\t\t\tevent = expression.substring(arrowIndex + 2).trim();\n\t\t\t} else {\n\t\t\t\tkeyExpression = expression.trim().toLowerCase();\n\t\t\t}\n\t\t\tlet alt = false;\n\t\t\tlet ctrl = false;\n\t\t\tlet shift = false;\n\t\t\tlet key = \"a\";\n\t\t\tconst length = keyExpression.length;\n\t\t\tlet i = 0;\n\t\t\tlet j = 1;\n\t\t\tfor (; j < length; ++j) {\n\t\t\t\tconst c = keyExpression.charAt(j);\n\t\t\t\tif (c === \"+\") {\n\t\t\t\t\tconst part = keyExpression.substring(i, j);\n\t\t\t\t\tswitch (part) {\n\t\t\t\t\t\tcase \"alt\":\n\t\t\t\t\t\t\talt = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"ctrl\":\n\t\t\t\t\t\t\tctrl = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"shift\":\n\t\t\t\t\t\t\tshift = true;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkey = part;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tj += 1;\n\t\t\t\t\ti = j;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (i !== j) {\n\t\t\t\tkey = keyExpression.substring(i, j);\n\t\t\t}\n\t\t\treturn setShortcutKeyAndWhich({\n\t\t\t\talt,\n\t\t\t\tctrl,\n\t\t\t\tshift,\n\t\t\t\tkey,\n\t\t\t\twhich: 0,\n\t\t\t\tevent\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic toString(shortcut: UtilKeyboardEventShortcut): string {\n\t\tconst parts = [];\n\t\tif (shortcut.ctrl) {\n\t\t\tparts.push(\"Ctrl\");\n\t\t}\n\t\tif (shortcut.shift) {\n\t\t\tparts.push(\"Shift\");\n\t\t}\n\t\tif (shortcut.alt) {\n\t\t\tparts.push(\"Alt\");\n\t\t}\n\t\tparts.push(shortcut.key.toUpperCase());\n\t\treturn parts.join(\"+\");\n\t}\n\n\tstatic on(\n\t\ttarget: UtilKeyboardEventShortcutTarget,\n\t\texpressionOrShortcut: string | UtilKeyboardEventShortcut,\n\t\thandler?: (e: KeyboardEvent) => void\n\t): void {\n\t\tconst shortcut = this.toShortcut(expressionOrShortcut);\n\t\tdocument.body.addEventListener(\"keydown\", (e: KeyboardEvent): void => {\n\t\t\tif (\n\t\t\t\te.altKey === shortcut.alt &&\n\t\t\t\te.ctrlKey === shortcut.ctrl &&\n\t\t\t\te.shiftKey === shortcut.shift &&\n\t\t\t\t(e.key === shortcut.key || e.which === shortcut.which)\n\t\t\t) {\n\t\t\t\tif (target.state.isActionable) {\n\t\t\t\t\tif (shortcut.event != null) {\n\t\t\t\t\t\ttarget.emit(shortcut.event);\n\t\t\t\t\t} else if (handler != null) {\n\t\t\t\t\t\thandler(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic moveFocusVertically(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tif (target.state.isActionable) {\n\t\t\tconst isBackward = UtilKeyboardEvent.isArrowUpKey(e);\n\t\t\tconst isForward = UtilKeyboardEvent.isArrowDownKey(e);\n\t\t\tif (isBackward || isForward) {\n\t\t\t\treturn this.moveFocus(isForward, target, picker);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic moveFocusHorizontally(\n\t\te: KeyboardEvent,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tif (target.state.isActionable) {\n\t\t\tconst isBackward = UtilKeyboardEvent.isArrowLeftKey(e);\n\t\t\tconst isForward = UtilKeyboardEvent.isArrowRightKey(e);\n\t\t\tif (isBackward || isForward) {\n\t\t\t\treturn this.moveFocus(isForward, target, picker);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic moveFocus(\n\t\tdirection: boolean,\n\t\ttarget: DBase,\n\t\tpicker?: UtilKeyboardEventLayerPicker\n\t): boolean {\n\t\tconst layer = picker?.picked ?? DApplications.getLayer(target);\n\t\tif (layer) {\n\t\t\tconst focusController = layer.getFocusController();\n\t\t\tconst focused = focusController.get();\n\t\t\tif (focused != null) {\n\t\t\t\tconst next = focusController.find(\n\t\t\t\t\tfocused,\n\t\t\t\t\tfalse,\n\t\t\t\t\tfocused.state.isFocusRoot || direction,\n\t\t\t\t\tdirection,\n\t\t\t\t\ttarget\n\t\t\t\t);\n\t\t\t\tif (next != null) {\n\t\t\t\t\tfocusController.focus(next);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.285.0
2
+ Winter Cardinal UI v0.286.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.285.0
2
+ Winter Cardinal UI v0.286.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.285.0
2
+ Winter Cardinal UI v0.286.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.285.0
2
+ Winter Cardinal UI v0.286.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.285.0
2
+ Winter Cardinal UI v0.286.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -12796,17 +12796,44 @@ var UtilKeyboardEvent = /** @class */ (function () {
12796
12796
  var keyExpression = void 0;
12797
12797
  var event_1;
12798
12798
  if (0 <= arrowIndex) {
12799
- keyExpression = expression.substring(0, arrowIndex).trim();
12799
+ keyExpression = expression.substring(0, arrowIndex).trim().toLowerCase();
12800
12800
  event_1 = expression.substring(arrowIndex + 2).trim();
12801
12801
  }
12802
12802
  else {
12803
- keyExpression = expression.trim();
12803
+ keyExpression = expression.trim().toLowerCase();
12804
+ }
12805
+ var alt = false;
12806
+ var ctrl = false;
12807
+ var shift = false;
12808
+ var key = "a";
12809
+ var length_1 = keyExpression.length;
12810
+ var i = 0;
12811
+ var j = 1;
12812
+ for (; j < length_1; ++j) {
12813
+ var c = keyExpression.charAt(j);
12814
+ if (c === "+") {
12815
+ var part = keyExpression.substring(i, j);
12816
+ switch (part) {
12817
+ case "alt":
12818
+ alt = true;
12819
+ break;
12820
+ case "ctrl":
12821
+ ctrl = true;
12822
+ break;
12823
+ case "shift":
12824
+ shift = true;
12825
+ break;
12826
+ default:
12827
+ key = part;
12828
+ break;
12829
+ }
12830
+ j += 1;
12831
+ i = j;
12832
+ }
12833
+ }
12834
+ if (i !== j) {
12835
+ key = keyExpression.substring(i, j);
12804
12836
  }
12805
- var keys = keyExpression.toLowerCase().split("+");
12806
- var alt = 0 <= keys.indexOf("alt");
12807
- var ctrl = 0 <= keys.indexOf("ctrl");
12808
- var shift = 0 <= keys.indexOf("shift");
12809
- var key = keys[keys.length - 1];
12810
12837
  return setShortcutKeyAndWhich({
12811
12838
  alt: alt,
12812
12839
  ctrl: ctrl,
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.285.0
2
+ Winter Cardinal UI v0.286.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -12793,17 +12793,44 @@
12793
12793
  var keyExpression = void 0;
12794
12794
  var event_1;
12795
12795
  if (0 <= arrowIndex) {
12796
- keyExpression = expression.substring(0, arrowIndex).trim();
12796
+ keyExpression = expression.substring(0, arrowIndex).trim().toLowerCase();
12797
12797
  event_1 = expression.substring(arrowIndex + 2).trim();
12798
12798
  }
12799
12799
  else {
12800
- keyExpression = expression.trim();
12800
+ keyExpression = expression.trim().toLowerCase();
12801
+ }
12802
+ var alt = false;
12803
+ var ctrl = false;
12804
+ var shift = false;
12805
+ var key = "a";
12806
+ var length_1 = keyExpression.length;
12807
+ var i = 0;
12808
+ var j = 1;
12809
+ for (; j < length_1; ++j) {
12810
+ var c = keyExpression.charAt(j);
12811
+ if (c === "+") {
12812
+ var part = keyExpression.substring(i, j);
12813
+ switch (part) {
12814
+ case "alt":
12815
+ alt = true;
12816
+ break;
12817
+ case "ctrl":
12818
+ ctrl = true;
12819
+ break;
12820
+ case "shift":
12821
+ shift = true;
12822
+ break;
12823
+ default:
12824
+ key = part;
12825
+ break;
12826
+ }
12827
+ j += 1;
12828
+ i = j;
12829
+ }
12830
+ }
12831
+ if (i !== j) {
12832
+ key = keyExpression.substring(i, j);
12801
12833
  }
12802
- var keys = keyExpression.toLowerCase().split("+");
12803
- var alt = 0 <= keys.indexOf("alt");
12804
- var ctrl = 0 <= keys.indexOf("ctrl");
12805
- var shift = 0 <= keys.indexOf("shift");
12806
- var key = keys[keys.length - 1];
12807
12834
  return setShortcutKeyAndWhich({
12808
12835
  alt: alt,
12809
12836
  ctrl: ctrl,