monaco-editor-core 0.56.0-dev-20260109 → 0.56.0-dev-20260111

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 (34) hide show
  1. package/esm/nls.messages.cs.js +1 -1
  2. package/esm/nls.messages.de.js +1 -1
  3. package/esm/nls.messages.es.js +1 -1
  4. package/esm/nls.messages.fr.js +1 -1
  5. package/esm/nls.messages.it.js +1 -1
  6. package/esm/nls.messages.ja.js +1 -1
  7. package/esm/nls.messages.ko.js +1 -1
  8. package/esm/nls.messages.pl.js +1 -1
  9. package/esm/nls.messages.pt-br.js +1 -1
  10. package/esm/nls.messages.ru.js +1 -1
  11. package/esm/nls.messages.tr.js +1 -1
  12. package/esm/nls.messages.zh-cn.js +1 -1
  13. package/esm/nls.messages.zh-tw.js +1 -1
  14. package/esm/vs/base/browser/ui/findinput/findInput.js +2 -1
  15. package/esm/vs/base/browser/ui/findinput/findInput.js.map +1 -1
  16. package/esm/vs/base/browser/ui/inputbox/inputBox.js +3 -0
  17. package/esm/vs/base/browser/ui/inputbox/inputBox.js.map +1 -1
  18. package/esm/vs/editor/browser/gpu/css/decorationCssRuleExtractor.js +16 -3
  19. package/esm/vs/editor/browser/gpu/css/decorationCssRuleExtractor.js.map +1 -1
  20. package/esm/vs/editor/browser/gpu/renderStrategy/fullFileRenderStrategy.js +1 -1
  21. package/esm/vs/editor/browser/gpu/renderStrategy/fullFileRenderStrategy.js.map +1 -1
  22. package/esm/vs/editor/browser/gpu/renderStrategy/viewportRenderStrategy.js +15 -2
  23. package/esm/vs/editor/browser/gpu/renderStrategy/viewportRenderStrategy.js.map +1 -1
  24. package/esm/vs/editor/browser/gpu/viewGpuContext.js +10 -2
  25. package/esm/vs/editor/browser/gpu/viewGpuContext.js.map +1 -1
  26. package/esm/vs/editor/browser/services/editorWorkerService.js +1 -1
  27. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  28. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +1 -1
  29. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js.map +1 -1
  30. package/esm/vs/platform/quickinput/browser/quickInputBox.js +2 -1
  31. package/esm/vs/platform/quickinput/browser/quickInputBox.js.map +1 -1
  32. package/esm/vs/platform/webWorker/browser/webWorkerDescriptor.js.map +1 -1
  33. package/package.json +2 -2
  34. package/version.txt +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -1,6 +1,6 @@
1
1
  /*!-----------------------------------------------------------
2
2
  * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Version: 0.56.0-dev-20260109(de983bf5d7efbd36622f44bc0e44097a0531a58c)
3
+ * Version: 0.56.0-dev-20260111(558bbbcc1619da88d466bd64856f337a5604e43c)
4
4
  * Released under the MIT license
5
5
  * https://github.com/microsoft/vscode/blob/main/LICENSE.txt
6
6
  *-----------------------------------------------------------*/
@@ -56,7 +56,8 @@ export class FindInput extends Widget {
56
56
  inputBoxStyles: options.inputBoxStyles,
57
57
  history: options.history,
58
58
  actions: options.actions,
59
- actionViewItemProvider: options.actionViewItemProvider
59
+ actionViewItemProvider: options.actionViewItemProvider,
60
+ hideHoverOnValueChange: options.hideHoverOnValueChange
60
61
  }));
61
62
  if (this.showCommonFindToggles) {
62
63
  const hoverLifecycleOptions = options?.hoverLifecycleOptions || { groupId: 'find-input' };
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/base/browser/ui/findinput/findInput.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AAKpC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAiE,MAAM,yBAAyB,CAAC;AACzH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAS,MAAM,0BAA0B,CAAC;AAI1D,OAAO,iBAAiB,CAAC;AACzB,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AA4BlF,MAAM,iBAAiB,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAc,EAAE,OAAO,CAAC,CAAC;AAEhE,MAAM,OAAO,SAAU,SAAQ,MAAM;IAmBpC,IAAW,iBAAiB,KAAwC,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAG3G,IAAW,SAAS,KAA4B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAG/E,IAAW,WAAW,KAAyB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAOhF,IAAW,sBAAsB,KAA4B,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IAGzG,IAAW,cAAc,KAA4B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzF,YAAY,MAA0B,EAAE,mBAAqD,EAAE,OAA0B;QACxH,KAAK,EAAE,CAAC;QAhCD,iCAA4B,GAAG,IAAI,CAAC;QACpC,yBAAoB,GAAG,KAAK,CAAC;QACpB,iCAA4B,GAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAMlH,sBAAiB,GAAa,EAAE,CAAC;QAI1B,uBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,EAAW,CAAC,CAAC;QAG5D,eAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,EAAkB,CAAC,CAAC;QAG3D,iBAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,EAAe,CAAC,CAAC;QAG1D,aAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,EAAQ,CAAC,CAAC;QAE/C,aAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,EAAkB,CAAC,CAAC;QAElE,4BAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,EAAkB,CAAC,CAAC;QAGxE,oBAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,EAAkB,CAAC,CAAC;QAmShE,8BAAyB,GAAW,CAAC,CAAC;QA9R7C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAAC;QAChD,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAE7D,MAAM,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,IAAI,EAAE,CAAC;QACxE,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAC;QAClE,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAChD,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9C,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAEpD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE;YACrF,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YAC3B,iBAAiB,EAAE;gBAClB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC3B;YACD,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;SACtD,CAAC,CAAC,CAAC;QAEJ,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,qBAAqB,GAA2B,OAAO,EAAE,qBAAqB,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YAClH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC;gBAC3C,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,KAAK;gBAChB,qBAAqB;gBACrB,GAAG,OAAO,CAAC,YAAY;aACvB,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;oBACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACvC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC;gBACrD,WAAW,EAAE,qBAAqB;gBAClC,SAAS,EAAE,KAAK;gBAChB,qBAAqB;gBACrB,GAAG,OAAO,CAAC,YAAY;aACvB,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;oBACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC;gBAC3D,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,KAAK;gBAChB,qBAAqB;gBACrB,GAAG,OAAO,CAAC,YAAY;aACvB,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACxD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;oBACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC/C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC;YAEJ,gDAAgD;YAChD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAqB,EAAE,EAAE;gBACtD,IAAI,KAAK,CAAC,MAAM,4BAAmB,IAAI,KAAK,CAAC,MAAM,6BAAoB,IAAI,KAAK,CAAC,MAAM,wBAAgB,EAAE,CAAC;oBACzG,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAc,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;oBACrF,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wBAChB,IAAI,QAAQ,GAAW,CAAC,CAAC,CAAC;wBAC1B,IAAI,KAAK,CAAC,MAAM,6BAAoB,EAAE,CAAC;4BACtC,QAAQ,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;wBACzC,CAAC;6BAAM,IAAI,KAAK,CAAC,MAAM,4BAAmB,EAAE,CAAC;4BAC5C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gCACjB,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC/B,CAAC;iCAAM,CAAC;gCACP,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC;4BACtB,CAAC;wBACF,CAAC;wBAED,IAAI,KAAK,CAAC,MAAM,wBAAgB,EAAE,CAAC;4BAClC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;4BACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACvB,CAAC;6BAAM,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;4BAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;wBAC3B,CAAC;wBAED,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACnC,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACvE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAEtD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAmB,EAAE,EAAE;YAChH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAClC,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAmB,EAAE,EAAE;YAC9G,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,KAA8F;QAC3G,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM;QACZ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAE7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC;IACF,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;QAE9B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACF,CAAC;IAEM,0BAA0B,CAAC,KAAc;QAC/C,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;IAC3C,CAAC;IAEM,UAAU,CAAC,OAAgB;QACjC,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;IACF,CAAC;IAEM,oBAAoB,CAAC,OAA6B;QACxD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpD,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,4BAA4B,CAAC,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QAEhE,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE1C,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACzE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,4BAA4B,EAAE,CAAC;oBACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACvB,CAAC;YACF,CAAC,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC9B,CAAC;IAEM,UAAU,CAAC,OAA2C,EAAE,sBAAgD;QAC9G,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IAC3D,CAAC;IAEO,qBAAqB,CAAC,cAAc,GAAG,KAAK;QACnD,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,YAAY;gBACzB,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;sBACjG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC5B,CAAC;IAEM,QAAQ,CAAC,KAAa;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,CAAC;IACF,CAAC;IAEM,MAAM;QACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAEM,KAAK;QACX,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAI,CAAC,aAAa,EAAE,OAAO,IAAI,KAAK,CAAC;IAC7C,CAAC;IAEM,gBAAgB,CAAC,KAAc;QACrC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QACpC,CAAC;IACF,CAAC;IAEM,aAAa;QACnB,OAAO,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,KAAK,CAAC;IAC1C,CAAC;IAEM,aAAa,CAAC,KAAc;QAClC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,CAAC;IACF,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC;IACrC,CAAC;IAEM,QAAQ,CAAC,KAAc;QAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjB,CAAC;IACF,CAAC;IAEM,oBAAoB;QAC1B,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAGM,oBAAoB;QAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,yBAAyB,GAAG,CAAC,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEM,QAAQ;QACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEM,WAAW,CAAC,OAAwB;QAC1C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,YAAY;QAClB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;CACD","file":"findInput.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as dom from '../../dom.js';\nimport { IKeyboardEvent } from '../../keyboardEvent.js';\nimport { IMouseEvent } from '../../mouseEvent.js';\nimport { IToggleStyles, Toggle } from '../toggle/toggle.js';\nimport { IContextViewProvider } from '../contextview/contextview.js';\nimport { CaseSensitiveToggle, RegexToggle, WholeWordsToggle } from './findInputToggles.js';\nimport { HistoryInputBox, IInputBoxStyles, IInputValidator, IMessage as InputBoxMessage } from '../inputbox/inputBox.js';\nimport { Widget } from '../widget.js';\nimport { Emitter, Event } from '../../../common/event.js';\nimport { KeyCode } from '../../../common/keyCodes.js';\nimport { IAction } from '../../../common/actions.js';\nimport { IActionViewItemProvider } from '../actionbar/actionbar.js';\nimport './findInput.css';\nimport * as nls from '../../../../nls.js';\nimport { DisposableStore, MutableDisposable } from '../../../common/lifecycle.js';\nimport { IHistory } from '../../../common/history.js';\nimport { IHoverLifecycleOptions } from '../hover/hover.js';\n\n\nexport interface IFindInputOptions {\n\treadonly placeholder?: string;\n\treadonly width?: number;\n\treadonly validation?: IInputValidator;\n\treadonly label: string;\n\treadonly flexibleHeight?: boolean;\n\treadonly flexibleWidth?: boolean;\n\treadonly flexibleMaxHeight?: number;\n\n\treadonly showCommonFindToggles?: boolean;\n\treadonly appendCaseSensitiveLabel?: string;\n\treadonly appendWholeWordsLabel?: string;\n\treadonly appendRegexLabel?: string;\n\treadonly additionalToggles?: Toggle[];\n\treadonly actions?: ReadonlyArray<IAction>;\n\treadonly actionViewItemProvider?: IActionViewItemProvider;\n\treadonly showHistoryHint?: () => boolean;\n\treadonly toggleStyles: IToggleStyles;\n\treadonly inputBoxStyles: IInputBoxStyles;\n\treadonly history?: IHistory<string>;\n\treadonly hoverLifecycleOptions?: IHoverLifecycleOptions;\n}\n\nconst NLS_DEFAULT_LABEL = nls.localize('defaultLabel', \"input\");\n\nexport class FindInput extends Widget {\n\n\tprivate placeholder: string;\n\tprivate validation?: IInputValidator;\n\tprivate label: string;\n\tprivate readonly showCommonFindToggles: boolean;\n\tprivate fixFocusOnOptionClickEnabled = true;\n\tprivate imeSessionInProgress = false;\n\tprivate readonly additionalTogglesDisposables: MutableDisposable<DisposableStore> = this._register(new MutableDisposable());\n\n\tprotected readonly controls: HTMLDivElement;\n\tprotected readonly regex?: RegexToggle;\n\tprotected readonly wholeWords?: WholeWordsToggle;\n\tprotected readonly caseSensitive?: CaseSensitiveToggle;\n\tprotected additionalToggles: Toggle[] = [];\n\tpublic readonly domNode: HTMLElement;\n\tpublic readonly inputBox: HistoryInputBox;\n\n\tprivate readonly _onDidOptionChange = this._register(new Emitter<boolean>());\n\tpublic get onDidOptionChange(): Event<boolean /* via keyboard */> { return this._onDidOptionChange.event; }\n\n\tprivate readonly _onKeyDown = this._register(new Emitter<IKeyboardEvent>());\n\tpublic get onKeyDown(): Event<IKeyboardEvent> { return this._onKeyDown.event; }\n\n\tprivate readonly _onMouseDown = this._register(new Emitter<IMouseEvent>());\n\tpublic get onMouseDown(): Event<IMouseEvent> { return this._onMouseDown.event; }\n\n\tprivate readonly _onInput = this._register(new Emitter<void>());\n\n\tprivate readonly _onKeyUp = this._register(new Emitter<IKeyboardEvent>());\n\n\tprivate _onCaseSensitiveKeyDown = this._register(new Emitter<IKeyboardEvent>());\n\tpublic get onCaseSensitiveKeyDown(): Event<IKeyboardEvent> { return this._onCaseSensitiveKeyDown.event; }\n\n\tprivate _onRegexKeyDown = this._register(new Emitter<IKeyboardEvent>());\n\tpublic get onRegexKeyDown(): Event<IKeyboardEvent> { return this._onRegexKeyDown.event; }\n\n\tconstructor(parent: HTMLElement | null, contextViewProvider: IContextViewProvider | undefined, options: IFindInputOptions) {\n\t\tsuper();\n\t\tthis.placeholder = options.placeholder || '';\n\t\tthis.validation = options.validation;\n\t\tthis.label = options.label || NLS_DEFAULT_LABEL;\n\t\tthis.showCommonFindToggles = !!options.showCommonFindToggles;\n\n\t\tconst appendCaseSensitiveLabel = options.appendCaseSensitiveLabel || '';\n\t\tconst appendWholeWordsLabel = options.appendWholeWordsLabel || '';\n\t\tconst appendRegexLabel = options.appendRegexLabel || '';\n\t\tconst flexibleHeight = !!options.flexibleHeight;\n\t\tconst flexibleWidth = !!options.flexibleWidth;\n\t\tconst flexibleMaxHeight = options.flexibleMaxHeight;\n\n\t\tthis.domNode = document.createElement('div');\n\t\tthis.domNode.classList.add('monaco-findInput');\n\n\t\tthis.inputBox = this._register(new HistoryInputBox(this.domNode, contextViewProvider, {\n\t\t\tplaceholder: this.placeholder || '',\n\t\t\tariaLabel: this.label || '',\n\t\t\tvalidationOptions: {\n\t\t\t\tvalidation: this.validation\n\t\t\t},\n\t\t\tshowHistoryHint: options.showHistoryHint,\n\t\t\tflexibleHeight,\n\t\t\tflexibleWidth,\n\t\t\tflexibleMaxHeight,\n\t\t\tinputBoxStyles: options.inputBoxStyles,\n\t\t\thistory: options.history,\n\t\t\tactions: options.actions,\n\t\t\tactionViewItemProvider: options.actionViewItemProvider\n\t\t}));\n\n\t\tif (this.showCommonFindToggles) {\n\t\t\tconst hoverLifecycleOptions: IHoverLifecycleOptions = options?.hoverLifecycleOptions || { groupId: 'find-input' };\n\t\t\tthis.regex = this._register(new RegexToggle({\n\t\t\t\tappendTitle: appendRegexLabel,\n\t\t\t\tisChecked: false,\n\t\t\t\thoverLifecycleOptions,\n\t\t\t\t...options.toggleStyles\n\t\t\t}));\n\t\t\tthis._register(this.regex.onChange(viaKeyboard => {\n\t\t\t\tthis._onDidOptionChange.fire(viaKeyboard);\n\t\t\t\tif (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t}\n\t\t\t\tthis.validate();\n\t\t\t}));\n\t\t\tthis._register(this.regex.onKeyDown(e => {\n\t\t\t\tthis._onRegexKeyDown.fire(e);\n\t\t\t}));\n\n\t\t\tthis.wholeWords = this._register(new WholeWordsToggle({\n\t\t\t\tappendTitle: appendWholeWordsLabel,\n\t\t\t\tisChecked: false,\n\t\t\t\thoverLifecycleOptions,\n\t\t\t\t...options.toggleStyles\n\t\t\t}));\n\t\t\tthis._register(this.wholeWords.onChange(viaKeyboard => {\n\t\t\t\tthis._onDidOptionChange.fire(viaKeyboard);\n\t\t\t\tif (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t}\n\t\t\t\tthis.validate();\n\t\t\t}));\n\n\t\t\tthis.caseSensitive = this._register(new CaseSensitiveToggle({\n\t\t\t\tappendTitle: appendCaseSensitiveLabel,\n\t\t\t\tisChecked: false,\n\t\t\t\thoverLifecycleOptions,\n\t\t\t\t...options.toggleStyles\n\t\t\t}));\n\t\t\tthis._register(this.caseSensitive.onChange(viaKeyboard => {\n\t\t\t\tthis._onDidOptionChange.fire(viaKeyboard);\n\t\t\t\tif (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t}\n\t\t\t\tthis.validate();\n\t\t\t}));\n\t\t\tthis._register(this.caseSensitive.onKeyDown(e => {\n\t\t\t\tthis._onCaseSensitiveKeyDown.fire(e);\n\t\t\t}));\n\n\t\t\t// Arrow-Key support to navigate between options\n\t\t\tconst indexes = [this.caseSensitive.domNode, this.wholeWords.domNode, this.regex.domNode];\n\t\t\tthis.onkeydown(this.domNode, (event: IKeyboardEvent) => {\n\t\t\t\tif (event.equals(KeyCode.LeftArrow) || event.equals(KeyCode.RightArrow) || event.equals(KeyCode.Escape)) {\n\t\t\t\t\tconst index = indexes.indexOf(<HTMLElement>this.domNode.ownerDocument.activeElement);\n\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\tlet newIndex: number = -1;\n\t\t\t\t\t\tif (event.equals(KeyCode.RightArrow)) {\n\t\t\t\t\t\t\tnewIndex = (index + 1) % indexes.length;\n\t\t\t\t\t\t} else if (event.equals(KeyCode.LeftArrow)) {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\tnewIndex = indexes.length - 1;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewIndex = index - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (event.equals(KeyCode.Escape)) {\n\t\t\t\t\t\t\tindexes[index].blur();\n\t\t\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t\t\t} else if (newIndex >= 0) {\n\t\t\t\t\t\t\tindexes[newIndex].focus();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdom.EventHelper.stop(event, true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis.controls = document.createElement('div');\n\t\tthis.controls.className = 'controls';\n\t\tthis.controls.style.display = this.showCommonFindToggles ? '' : 'none';\n\t\tif (this.caseSensitive) {\n\t\t\tthis.controls.append(this.caseSensitive.domNode);\n\t\t}\n\t\tif (this.wholeWords) {\n\t\t\tthis.controls.appendChild(this.wholeWords.domNode);\n\t\t}\n\t\tif (this.regex) {\n\t\t\tthis.controls.appendChild(this.regex.domNode);\n\t\t}\n\n\t\tthis.setAdditionalToggles(options?.additionalToggles);\n\n\t\tif (this.controls) {\n\t\t\tthis.domNode.appendChild(this.controls);\n\t\t}\n\n\t\tparent?.appendChild(this.domNode);\n\n\t\tthis._register(dom.addDisposableListener(this.inputBox.inputElement, 'compositionstart', (e: CompositionEvent) => {\n\t\t\tthis.imeSessionInProgress = true;\n\t\t}));\n\t\tthis._register(dom.addDisposableListener(this.inputBox.inputElement, 'compositionend', (e: CompositionEvent) => {\n\t\t\tthis.imeSessionInProgress = false;\n\t\t\tthis._onInput.fire();\n\t\t}));\n\n\t\tthis.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e));\n\t\tthis.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e));\n\t\tthis.oninput(this.inputBox.inputElement, (e) => this._onInput.fire());\n\t\tthis.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e));\n\t}\n\n\tpublic get onDidChange(): Event<string> {\n\t\treturn this.inputBox.onDidChange;\n\t}\n\n\tpublic layout(style: { collapsedFindWidget: boolean; narrowFindWidget: boolean; reducedFindWidget: boolean }) {\n\t\tthis.inputBox.layout();\n\t\tthis.updateInputBoxPadding(style.collapsedFindWidget);\n\t}\n\n\tpublic enable(): void {\n\t\tthis.domNode.classList.remove('disabled');\n\t\tthis.inputBox.enable();\n\t\tthis.regex?.enable();\n\t\tthis.wholeWords?.enable();\n\t\tthis.caseSensitive?.enable();\n\n\t\tfor (const toggle of this.additionalToggles) {\n\t\t\ttoggle.enable();\n\t\t}\n\t}\n\n\tpublic disable(): void {\n\t\tthis.domNode.classList.add('disabled');\n\t\tthis.inputBox.disable();\n\t\tthis.regex?.disable();\n\t\tthis.wholeWords?.disable();\n\t\tthis.caseSensitive?.disable();\n\n\t\tfor (const toggle of this.additionalToggles) {\n\t\t\ttoggle.disable();\n\t\t}\n\t}\n\n\tpublic setFocusInputOnOptionClick(value: boolean): void {\n\t\tthis.fixFocusOnOptionClickEnabled = value;\n\t}\n\n\tpublic setEnabled(enabled: boolean): void {\n\t\tif (enabled) {\n\t\t\tthis.enable();\n\t\t} else {\n\t\t\tthis.disable();\n\t\t}\n\t}\n\n\tpublic setAdditionalToggles(toggles: Toggle[] | undefined): void {\n\t\tfor (const currentToggle of this.additionalToggles) {\n\t\t\tcurrentToggle.domNode.remove();\n\t\t}\n\t\tthis.additionalToggles = [];\n\t\tthis.additionalTogglesDisposables.value = new DisposableStore();\n\n\t\tfor (const toggle of toggles ?? []) {\n\t\t\tthis.additionalTogglesDisposables.value.add(toggle);\n\t\t\tthis.controls.appendChild(toggle.domNode);\n\n\t\t\tthis.additionalTogglesDisposables.value.add(toggle.onChange(viaKeyboard => {\n\t\t\t\tthis._onDidOptionChange.fire(viaKeyboard);\n\t\t\t\tif (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t}\n\t\t\t}));\n\n\t\t\tthis.additionalToggles.push(toggle);\n\t\t}\n\n\t\tif (this.additionalToggles.length > 0) {\n\t\t\tthis.controls.style.display = '';\n\t\t}\n\n\t\tthis.updateInputBoxPadding();\n\t}\n\n\tpublic setActions(actions: ReadonlyArray<IAction> | undefined, actionViewItemProvider?: IActionViewItemProvider): void {\n\t\tthis.inputBox.setActions(actions, actionViewItemProvider);\n\t}\n\n\tprivate updateInputBoxPadding(controlsHidden = false) {\n\t\tif (controlsHidden) {\n\t\t\tthis.inputBox.paddingRight = 0;\n\t\t} else {\n\t\t\tthis.inputBox.paddingRight =\n\t\t\t\t((this.caseSensitive?.width() ?? 0) + (this.wholeWords?.width() ?? 0) + (this.regex?.width() ?? 0))\n\t\t\t\t+ this.additionalToggles.reduce((r, t) => r + t.width(), 0);\n\t\t}\n\t}\n\n\tpublic getValue(): string {\n\t\treturn this.inputBox.value;\n\t}\n\n\tpublic setValue(value: string): void {\n\t\tif (this.inputBox.value !== value) {\n\t\t\tthis.inputBox.value = value;\n\t\t}\n\t}\n\n\tpublic select(): void {\n\t\tthis.inputBox.select();\n\t}\n\n\tpublic focus(): void {\n\t\tthis.inputBox.focus();\n\t}\n\n\tpublic getCaseSensitive(): boolean {\n\t\treturn this.caseSensitive?.checked ?? false;\n\t}\n\n\tpublic setCaseSensitive(value: boolean): void {\n\t\tif (this.caseSensitive) {\n\t\t\tthis.caseSensitive.checked = value;\n\t\t}\n\t}\n\n\tpublic getWholeWords(): boolean {\n\t\treturn this.wholeWords?.checked ?? false;\n\t}\n\n\tpublic setWholeWords(value: boolean): void {\n\t\tif (this.wholeWords) {\n\t\t\tthis.wholeWords.checked = value;\n\t\t}\n\t}\n\n\tpublic getRegex(): boolean {\n\t\treturn this.regex?.checked ?? false;\n\t}\n\n\tpublic setRegex(value: boolean): void {\n\t\tif (this.regex) {\n\t\t\tthis.regex.checked = value;\n\t\t\tthis.validate();\n\t\t}\n\t}\n\n\tpublic focusOnCaseSensitive(): void {\n\t\tthis.caseSensitive?.focus();\n\t}\n\n\tprivate _lastHighlightFindOptions: number = 0;\n\tpublic highlightFindOptions(): void {\n\t\tthis.domNode.classList.remove('highlight-' + (this._lastHighlightFindOptions));\n\t\tthis._lastHighlightFindOptions = 1 - this._lastHighlightFindOptions;\n\t\tthis.domNode.classList.add('highlight-' + (this._lastHighlightFindOptions));\n\t}\n\n\tpublic validate(): void {\n\t\tthis.inputBox.validate();\n\t}\n\n\tpublic showMessage(message: InputBoxMessage): void {\n\t\tthis.inputBox.showMessage(message);\n\t}\n\n\tpublic clearMessage(): void {\n\t\tthis.inputBox.hideMessage();\n\t}\n}\n"]}
1
+ {"version":3,"sources":["vs/base/browser/ui/findinput/findInput.ts"],"names":[],"mappings":"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","file":"findInput.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as dom from '../../dom.js';\nimport { IKeyboardEvent } from '../../keyboardEvent.js';\nimport { IMouseEvent } from '../../mouseEvent.js';\nimport { IToggleStyles, Toggle } from '../toggle/toggle.js';\nimport { IContextViewProvider } from '../contextview/contextview.js';\nimport { CaseSensitiveToggle, RegexToggle, WholeWordsToggle } from './findInputToggles.js';\nimport { HistoryInputBox, IInputBoxStyles, IInputValidator, IMessage as InputBoxMessage } from '../inputbox/inputBox.js';\nimport { Widget } from '../widget.js';\nimport { Emitter, Event } from '../../../common/event.js';\nimport { KeyCode } from '../../../common/keyCodes.js';\nimport { IAction } from '../../../common/actions.js';\nimport { IActionViewItemProvider } from '../actionbar/actionbar.js';\nimport './findInput.css';\nimport * as nls from '../../../../nls.js';\nimport { DisposableStore, MutableDisposable } from '../../../common/lifecycle.js';\nimport { IHistory } from '../../../common/history.js';\nimport { IHoverLifecycleOptions } from '../hover/hover.js';\n\n\nexport interface IFindInputOptions {\n\treadonly placeholder?: string;\n\treadonly width?: number;\n\treadonly validation?: IInputValidator;\n\treadonly label: string;\n\treadonly flexibleHeight?: boolean;\n\treadonly flexibleWidth?: boolean;\n\treadonly flexibleMaxHeight?: number;\n\n\treadonly showCommonFindToggles?: boolean;\n\treadonly appendCaseSensitiveLabel?: string;\n\treadonly appendWholeWordsLabel?: string;\n\treadonly appendRegexLabel?: string;\n\treadonly additionalToggles?: Toggle[];\n\treadonly actions?: ReadonlyArray<IAction>;\n\treadonly actionViewItemProvider?: IActionViewItemProvider;\n\treadonly showHistoryHint?: () => boolean;\n\treadonly toggleStyles: IToggleStyles;\n\treadonly inputBoxStyles: IInputBoxStyles;\n\treadonly history?: IHistory<string>;\n\treadonly hoverLifecycleOptions?: IHoverLifecycleOptions;\n\treadonly hideHoverOnValueChange?: boolean;\n}\n\nconst NLS_DEFAULT_LABEL = nls.localize('defaultLabel', \"input\");\n\nexport class FindInput extends Widget {\n\n\tprivate placeholder: string;\n\tprivate validation?: IInputValidator;\n\tprivate label: string;\n\tprivate readonly showCommonFindToggles: boolean;\n\tprivate fixFocusOnOptionClickEnabled = true;\n\tprivate imeSessionInProgress = false;\n\tprivate readonly additionalTogglesDisposables: MutableDisposable<DisposableStore> = this._register(new MutableDisposable());\n\n\tprotected readonly controls: HTMLDivElement;\n\tprotected readonly regex?: RegexToggle;\n\tprotected readonly wholeWords?: WholeWordsToggle;\n\tprotected readonly caseSensitive?: CaseSensitiveToggle;\n\tprotected additionalToggles: Toggle[] = [];\n\tpublic readonly domNode: HTMLElement;\n\tpublic readonly inputBox: HistoryInputBox;\n\n\tprivate readonly _onDidOptionChange = this._register(new Emitter<boolean>());\n\tpublic get onDidOptionChange(): Event<boolean /* via keyboard */> { return this._onDidOptionChange.event; }\n\n\tprivate readonly _onKeyDown = this._register(new Emitter<IKeyboardEvent>());\n\tpublic get onKeyDown(): Event<IKeyboardEvent> { return this._onKeyDown.event; }\n\n\tprivate readonly _onMouseDown = this._register(new Emitter<IMouseEvent>());\n\tpublic get onMouseDown(): Event<IMouseEvent> { return this._onMouseDown.event; }\n\n\tprivate readonly _onInput = this._register(new Emitter<void>());\n\n\tprivate readonly _onKeyUp = this._register(new Emitter<IKeyboardEvent>());\n\n\tprivate _onCaseSensitiveKeyDown = this._register(new Emitter<IKeyboardEvent>());\n\tpublic get onCaseSensitiveKeyDown(): Event<IKeyboardEvent> { return this._onCaseSensitiveKeyDown.event; }\n\n\tprivate _onRegexKeyDown = this._register(new Emitter<IKeyboardEvent>());\n\tpublic get onRegexKeyDown(): Event<IKeyboardEvent> { return this._onRegexKeyDown.event; }\n\n\tconstructor(parent: HTMLElement | null, contextViewProvider: IContextViewProvider | undefined, options: IFindInputOptions) {\n\t\tsuper();\n\t\tthis.placeholder = options.placeholder || '';\n\t\tthis.validation = options.validation;\n\t\tthis.label = options.label || NLS_DEFAULT_LABEL;\n\t\tthis.showCommonFindToggles = !!options.showCommonFindToggles;\n\n\t\tconst appendCaseSensitiveLabel = options.appendCaseSensitiveLabel || '';\n\t\tconst appendWholeWordsLabel = options.appendWholeWordsLabel || '';\n\t\tconst appendRegexLabel = options.appendRegexLabel || '';\n\t\tconst flexibleHeight = !!options.flexibleHeight;\n\t\tconst flexibleWidth = !!options.flexibleWidth;\n\t\tconst flexibleMaxHeight = options.flexibleMaxHeight;\n\n\t\tthis.domNode = document.createElement('div');\n\t\tthis.domNode.classList.add('monaco-findInput');\n\n\t\tthis.inputBox = this._register(new HistoryInputBox(this.domNode, contextViewProvider, {\n\t\t\tplaceholder: this.placeholder || '',\n\t\t\tariaLabel: this.label || '',\n\t\t\tvalidationOptions: {\n\t\t\t\tvalidation: this.validation\n\t\t\t},\n\t\t\tshowHistoryHint: options.showHistoryHint,\n\t\t\tflexibleHeight,\n\t\t\tflexibleWidth,\n\t\t\tflexibleMaxHeight,\n\t\t\tinputBoxStyles: options.inputBoxStyles,\n\t\t\thistory: options.history,\n\t\t\tactions: options.actions,\n\t\t\tactionViewItemProvider: options.actionViewItemProvider,\n\t\t\thideHoverOnValueChange: options.hideHoverOnValueChange\n\t\t}));\n\n\t\tif (this.showCommonFindToggles) {\n\t\t\tconst hoverLifecycleOptions: IHoverLifecycleOptions = options?.hoverLifecycleOptions || { groupId: 'find-input' };\n\t\t\tthis.regex = this._register(new RegexToggle({\n\t\t\t\tappendTitle: appendRegexLabel,\n\t\t\t\tisChecked: false,\n\t\t\t\thoverLifecycleOptions,\n\t\t\t\t...options.toggleStyles\n\t\t\t}));\n\t\t\tthis._register(this.regex.onChange(viaKeyboard => {\n\t\t\t\tthis._onDidOptionChange.fire(viaKeyboard);\n\t\t\t\tif (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t}\n\t\t\t\tthis.validate();\n\t\t\t}));\n\t\t\tthis._register(this.regex.onKeyDown(e => {\n\t\t\t\tthis._onRegexKeyDown.fire(e);\n\t\t\t}));\n\n\t\t\tthis.wholeWords = this._register(new WholeWordsToggle({\n\t\t\t\tappendTitle: appendWholeWordsLabel,\n\t\t\t\tisChecked: false,\n\t\t\t\thoverLifecycleOptions,\n\t\t\t\t...options.toggleStyles\n\t\t\t}));\n\t\t\tthis._register(this.wholeWords.onChange(viaKeyboard => {\n\t\t\t\tthis._onDidOptionChange.fire(viaKeyboard);\n\t\t\t\tif (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t}\n\t\t\t\tthis.validate();\n\t\t\t}));\n\n\t\t\tthis.caseSensitive = this._register(new CaseSensitiveToggle({\n\t\t\t\tappendTitle: appendCaseSensitiveLabel,\n\t\t\t\tisChecked: false,\n\t\t\t\thoverLifecycleOptions,\n\t\t\t\t...options.toggleStyles\n\t\t\t}));\n\t\t\tthis._register(this.caseSensitive.onChange(viaKeyboard => {\n\t\t\t\tthis._onDidOptionChange.fire(viaKeyboard);\n\t\t\t\tif (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t}\n\t\t\t\tthis.validate();\n\t\t\t}));\n\t\t\tthis._register(this.caseSensitive.onKeyDown(e => {\n\t\t\t\tthis._onCaseSensitiveKeyDown.fire(e);\n\t\t\t}));\n\n\t\t\t// Arrow-Key support to navigate between options\n\t\t\tconst indexes = [this.caseSensitive.domNode, this.wholeWords.domNode, this.regex.domNode];\n\t\t\tthis.onkeydown(this.domNode, (event: IKeyboardEvent) => {\n\t\t\t\tif (event.equals(KeyCode.LeftArrow) || event.equals(KeyCode.RightArrow) || event.equals(KeyCode.Escape)) {\n\t\t\t\t\tconst index = indexes.indexOf(<HTMLElement>this.domNode.ownerDocument.activeElement);\n\t\t\t\t\tif (index >= 0) {\n\t\t\t\t\t\tlet newIndex: number = -1;\n\t\t\t\t\t\tif (event.equals(KeyCode.RightArrow)) {\n\t\t\t\t\t\t\tnewIndex = (index + 1) % indexes.length;\n\t\t\t\t\t\t} else if (event.equals(KeyCode.LeftArrow)) {\n\t\t\t\t\t\t\tif (index === 0) {\n\t\t\t\t\t\t\t\tnewIndex = indexes.length - 1;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnewIndex = index - 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (event.equals(KeyCode.Escape)) {\n\t\t\t\t\t\t\tindexes[index].blur();\n\t\t\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t\t\t} else if (newIndex >= 0) {\n\t\t\t\t\t\t\tindexes[newIndex].focus();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdom.EventHelper.stop(event, true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis.controls = document.createElement('div');\n\t\tthis.controls.className = 'controls';\n\t\tthis.controls.style.display = this.showCommonFindToggles ? '' : 'none';\n\t\tif (this.caseSensitive) {\n\t\t\tthis.controls.append(this.caseSensitive.domNode);\n\t\t}\n\t\tif (this.wholeWords) {\n\t\t\tthis.controls.appendChild(this.wholeWords.domNode);\n\t\t}\n\t\tif (this.regex) {\n\t\t\tthis.controls.appendChild(this.regex.domNode);\n\t\t}\n\n\t\tthis.setAdditionalToggles(options?.additionalToggles);\n\n\t\tif (this.controls) {\n\t\t\tthis.domNode.appendChild(this.controls);\n\t\t}\n\n\t\tparent?.appendChild(this.domNode);\n\n\t\tthis._register(dom.addDisposableListener(this.inputBox.inputElement, 'compositionstart', (e: CompositionEvent) => {\n\t\t\tthis.imeSessionInProgress = true;\n\t\t}));\n\t\tthis._register(dom.addDisposableListener(this.inputBox.inputElement, 'compositionend', (e: CompositionEvent) => {\n\t\t\tthis.imeSessionInProgress = false;\n\t\t\tthis._onInput.fire();\n\t\t}));\n\n\t\tthis.onkeydown(this.inputBox.inputElement, (e) => this._onKeyDown.fire(e));\n\t\tthis.onkeyup(this.inputBox.inputElement, (e) => this._onKeyUp.fire(e));\n\t\tthis.oninput(this.inputBox.inputElement, (e) => this._onInput.fire());\n\t\tthis.onmousedown(this.inputBox.inputElement, (e) => this._onMouseDown.fire(e));\n\t}\n\n\tpublic get onDidChange(): Event<string> {\n\t\treturn this.inputBox.onDidChange;\n\t}\n\n\tpublic layout(style: { collapsedFindWidget: boolean; narrowFindWidget: boolean; reducedFindWidget: boolean }) {\n\t\tthis.inputBox.layout();\n\t\tthis.updateInputBoxPadding(style.collapsedFindWidget);\n\t}\n\n\tpublic enable(): void {\n\t\tthis.domNode.classList.remove('disabled');\n\t\tthis.inputBox.enable();\n\t\tthis.regex?.enable();\n\t\tthis.wholeWords?.enable();\n\t\tthis.caseSensitive?.enable();\n\n\t\tfor (const toggle of this.additionalToggles) {\n\t\t\ttoggle.enable();\n\t\t}\n\t}\n\n\tpublic disable(): void {\n\t\tthis.domNode.classList.add('disabled');\n\t\tthis.inputBox.disable();\n\t\tthis.regex?.disable();\n\t\tthis.wholeWords?.disable();\n\t\tthis.caseSensitive?.disable();\n\n\t\tfor (const toggle of this.additionalToggles) {\n\t\t\ttoggle.disable();\n\t\t}\n\t}\n\n\tpublic setFocusInputOnOptionClick(value: boolean): void {\n\t\tthis.fixFocusOnOptionClickEnabled = value;\n\t}\n\n\tpublic setEnabled(enabled: boolean): void {\n\t\tif (enabled) {\n\t\t\tthis.enable();\n\t\t} else {\n\t\t\tthis.disable();\n\t\t}\n\t}\n\n\tpublic setAdditionalToggles(toggles: Toggle[] | undefined): void {\n\t\tfor (const currentToggle of this.additionalToggles) {\n\t\t\tcurrentToggle.domNode.remove();\n\t\t}\n\t\tthis.additionalToggles = [];\n\t\tthis.additionalTogglesDisposables.value = new DisposableStore();\n\n\t\tfor (const toggle of toggles ?? []) {\n\t\t\tthis.additionalTogglesDisposables.value.add(toggle);\n\t\t\tthis.controls.appendChild(toggle.domNode);\n\n\t\t\tthis.additionalTogglesDisposables.value.add(toggle.onChange(viaKeyboard => {\n\t\t\t\tthis._onDidOptionChange.fire(viaKeyboard);\n\t\t\t\tif (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {\n\t\t\t\t\tthis.inputBox.focus();\n\t\t\t\t}\n\t\t\t}));\n\n\t\t\tthis.additionalToggles.push(toggle);\n\t\t}\n\n\t\tif (this.additionalToggles.length > 0) {\n\t\t\tthis.controls.style.display = '';\n\t\t}\n\n\t\tthis.updateInputBoxPadding();\n\t}\n\n\tpublic setActions(actions: ReadonlyArray<IAction> | undefined, actionViewItemProvider?: IActionViewItemProvider): void {\n\t\tthis.inputBox.setActions(actions, actionViewItemProvider);\n\t}\n\n\tprivate updateInputBoxPadding(controlsHidden = false) {\n\t\tif (controlsHidden) {\n\t\t\tthis.inputBox.paddingRight = 0;\n\t\t} else {\n\t\t\tthis.inputBox.paddingRight =\n\t\t\t\t((this.caseSensitive?.width() ?? 0) + (this.wholeWords?.width() ?? 0) + (this.regex?.width() ?? 0))\n\t\t\t\t+ this.additionalToggles.reduce((r, t) => r + t.width(), 0);\n\t\t}\n\t}\n\n\tpublic getValue(): string {\n\t\treturn this.inputBox.value;\n\t}\n\n\tpublic setValue(value: string): void {\n\t\tif (this.inputBox.value !== value) {\n\t\t\tthis.inputBox.value = value;\n\t\t}\n\t}\n\n\tpublic select(): void {\n\t\tthis.inputBox.select();\n\t}\n\n\tpublic focus(): void {\n\t\tthis.inputBox.focus();\n\t}\n\n\tpublic getCaseSensitive(): boolean {\n\t\treturn this.caseSensitive?.checked ?? false;\n\t}\n\n\tpublic setCaseSensitive(value: boolean): void {\n\t\tif (this.caseSensitive) {\n\t\t\tthis.caseSensitive.checked = value;\n\t\t}\n\t}\n\n\tpublic getWholeWords(): boolean {\n\t\treturn this.wholeWords?.checked ?? false;\n\t}\n\n\tpublic setWholeWords(value: boolean): void {\n\t\tif (this.wholeWords) {\n\t\t\tthis.wholeWords.checked = value;\n\t\t}\n\t}\n\n\tpublic getRegex(): boolean {\n\t\treturn this.regex?.checked ?? false;\n\t}\n\n\tpublic setRegex(value: boolean): void {\n\t\tif (this.regex) {\n\t\t\tthis.regex.checked = value;\n\t\t\tthis.validate();\n\t\t}\n\t}\n\n\tpublic focusOnCaseSensitive(): void {\n\t\tthis.caseSensitive?.focus();\n\t}\n\n\tprivate _lastHighlightFindOptions: number = 0;\n\tpublic highlightFindOptions(): void {\n\t\tthis.domNode.classList.remove('highlight-' + (this._lastHighlightFindOptions));\n\t\tthis._lastHighlightFindOptions = 1 - this._lastHighlightFindOptions;\n\t\tthis.domNode.classList.add('highlight-' + (this._lastHighlightFindOptions));\n\t}\n\n\tpublic validate(): void {\n\t\tthis.inputBox.validate();\n\t}\n\n\tpublic showMessage(message: InputBoxMessage): void {\n\t\tthis.inputBox.showMessage(message);\n\t}\n\n\tpublic clearMessage(): void {\n\t\tthis.inputBox.hideMessage();\n\t}\n}\n"]}
@@ -350,6 +350,9 @@ export class InputBox extends Widget {
350
350
  if (this.state === 'open' && this.contextViewProvider) {
351
351
  this.contextViewProvider.layout();
352
352
  }
353
+ if (this.options.hideHoverOnValueChange) {
354
+ getBaseLayerHoverDelegate().hideHover();
355
+ }
353
356
  }
354
357
  updateMirror() {
355
358
  if (!this.mirror) {
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/base/browser/ui/inputbox/inputBox.ts"],"names":[],"mappings":"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","file":"inputBox.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as dom from '../../dom.js';\nimport * as cssJs from '../../cssValue.js';\nimport { DomEmitter } from '../../event.js';\nimport { renderFormattedText, renderText } from '../../formattedTextRenderer.js';\nimport { IHistoryNavigationWidget } from '../../history.js';\nimport { ActionBar, IActionViewItemProvider } from '../actionbar/actionbar.js';\nimport * as aria from '../aria/aria.js';\nimport { AnchorAlignment, IContextViewProvider } from '../contextview/contextview.js';\nimport { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';\nimport { ScrollableElement } from '../scrollbar/scrollableElement.js';\nimport { Widget } from '../widget.js';\nimport { IAction } from '../../../common/actions.js';\nimport { Emitter, Event } from '../../../common/event.js';\nimport { HistoryNavigator, IHistory } from '../../../common/history.js';\nimport { equals } from '../../../common/objects.js';\nimport { ScrollbarVisibility } from '../../../common/scrollable.js';\nimport './inputBox.css';\nimport * as nls from '../../../../nls.js';\nimport { MutableDisposable, type IDisposable } from '../../../common/lifecycle.js';\n\n\nconst $ = dom.$;\n\nexport interface IInputOptions {\n\treadonly placeholder?: string;\n\treadonly showPlaceholderOnFocus?: boolean;\n\treadonly tooltip?: string;\n\treadonly ariaLabel?: string;\n\treadonly type?: string;\n\treadonly validationOptions?: IInputValidationOptions;\n\treadonly flexibleHeight?: boolean;\n\treadonly flexibleWidth?: boolean;\n\treadonly flexibleMaxHeight?: number;\n\treadonly actions?: ReadonlyArray<IAction>;\n\treadonly actionViewItemProvider?: IActionViewItemProvider;\n\treadonly inputBoxStyles: IInputBoxStyles;\n\treadonly history?: IHistory<string>;\n}\n\nexport interface IInputBoxStyles {\n\treadonly inputBackground: string | undefined;\n\treadonly inputForeground: string | undefined;\n\treadonly inputBorder: string | undefined;\n\treadonly inputValidationInfoBorder: string | undefined;\n\treadonly inputValidationInfoBackground: string | undefined;\n\treadonly inputValidationInfoForeground: string | undefined;\n\treadonly inputValidationWarningBorder: string | undefined;\n\treadonly inputValidationWarningBackground: string | undefined;\n\treadonly inputValidationWarningForeground: string | undefined;\n\treadonly inputValidationErrorBorder: string | undefined;\n\treadonly inputValidationErrorBackground: string | undefined;\n\treadonly inputValidationErrorForeground: string | undefined;\n}\n\nexport interface IInputValidator {\n\t(value: string): IMessage | null;\n}\n\nexport interface IMessage {\n\treadonly content?: string;\n\treadonly formatContent?: boolean; // defaults to false\n\treadonly type?: MessageType;\n}\n\nexport interface IInputValidationOptions {\n\tvalidation?: IInputValidator;\n}\n\nexport const enum MessageType {\n\tINFO = 1,\n\tWARNING = 2,\n\tERROR = 3\n}\n\nexport interface IRange {\n\tstart: number;\n\tend: number;\n}\n\nexport const unthemedInboxStyles: IInputBoxStyles = {\n\tinputBackground: '#3C3C3C',\n\tinputForeground: '#CCCCCC',\n\tinputValidationInfoBorder: '#55AAFF',\n\tinputValidationInfoBackground: '#063B49',\n\tinputValidationWarningBorder: '#B89500',\n\tinputValidationWarningBackground: '#352A05',\n\tinputValidationErrorBorder: '#BE1100',\n\tinputValidationErrorBackground: '#5A1D1D',\n\tinputBorder: undefined,\n\tinputValidationErrorForeground: undefined,\n\tinputValidationInfoForeground: undefined,\n\tinputValidationWarningForeground: undefined\n};\n\nexport class InputBox extends Widget {\n\tprivate contextViewProvider?: IContextViewProvider;\n\telement: HTMLElement;\n\tprotected input: HTMLInputElement;\n\tprivate actionbar?: ActionBar;\n\tprivate readonly options: IInputOptions;\n\tprivate message: IMessage | null;\n\tprotected placeholder: string;\n\tprivate tooltip: string;\n\tprivate ariaLabel: string;\n\tprivate validation?: IInputValidator;\n\tprivate state: 'idle' | 'open' | 'closed' = 'idle';\n\n\tprivate mirror: HTMLElement | undefined;\n\tprivate cachedHeight: number | undefined;\n\tprivate cachedContentHeight: number | undefined;\n\tprivate maxHeight: number = Number.POSITIVE_INFINITY;\n\tprivate scrollableElement: ScrollableElement | undefined;\n\tprivate readonly hover: MutableDisposable<IDisposable> = this._register(new MutableDisposable());\n\n\tprivate _onDidChange = this._register(new Emitter<string>());\n\tpublic get onDidChange(): Event<string> { return this._onDidChange.event; }\n\n\tprivate _onDidHeightChange = this._register(new Emitter<number>());\n\tpublic get onDidHeightChange(): Event<number> { return this._onDidHeightChange.event; }\n\n\tconstructor(container: HTMLElement, contextViewProvider: IContextViewProvider | undefined, options: IInputOptions) {\n\t\tsuper();\n\n\t\tthis.contextViewProvider = contextViewProvider;\n\t\tthis.options = options;\n\n\t\tthis.message = null;\n\t\tthis.placeholder = this.options.placeholder || '';\n\t\tthis.tooltip = this.options.tooltip ?? (this.placeholder || '');\n\t\tthis.ariaLabel = this.options.ariaLabel || '';\n\n\t\tif (this.options.validationOptions) {\n\t\t\tthis.validation = this.options.validationOptions.validation;\n\t\t}\n\n\t\tthis.element = dom.append(container, $('.monaco-inputbox.idle'));\n\n\t\tconst tagName = this.options.flexibleHeight ? 'textarea' : 'input';\n\n\t\tconst wrapper = dom.append(this.element, $('.ibwrapper'));\n\t\tthis.input = dom.append(wrapper, $(tagName + '.input.empty'));\n\t\tthis.input.setAttribute('autocorrect', 'off');\n\t\tthis.input.setAttribute('autocapitalize', 'off');\n\t\tthis.input.setAttribute('spellcheck', 'false');\n\n\t\tthis.onfocus(this.input, () => this.element.classList.add('synthetic-focus'));\n\t\tthis.onblur(this.input, () => this.element.classList.remove('synthetic-focus'));\n\n\t\tif (this.options.flexibleHeight) {\n\t\t\tthis.maxHeight = typeof this.options.flexibleMaxHeight === 'number' ? this.options.flexibleMaxHeight : Number.POSITIVE_INFINITY;\n\n\t\t\tthis.mirror = dom.append(wrapper, $('div.mirror'));\n\t\t\tthis.mirror.innerText = '\\u00a0';\n\n\t\t\tthis.scrollableElement = new ScrollableElement(this.element, { vertical: ScrollbarVisibility.Auto });\n\n\t\t\tif (this.options.flexibleWidth) {\n\t\t\t\tthis.input.setAttribute('wrap', 'off');\n\t\t\t\tthis.mirror.style.whiteSpace = 'pre';\n\t\t\t\tthis.mirror.style.wordWrap = 'initial';\n\t\t\t}\n\n\t\t\tdom.append(container, this.scrollableElement.getDomNode());\n\t\t\tthis._register(this.scrollableElement);\n\n\t\t\t// from ScrollableElement to DOM\n\t\t\tthis._register(this.scrollableElement.onScroll(e => this.input.scrollTop = e.scrollTop));\n\n\t\t\tconst onSelectionChange = this._register(new DomEmitter(container.ownerDocument, 'selectionchange'));\n\t\t\tconst onAnchoredSelectionChange = Event.filter(onSelectionChange.event, () => {\n\t\t\t\tconst selection = container.ownerDocument.getSelection();\n\t\t\t\treturn selection?.anchorNode === wrapper;\n\t\t\t});\n\n\t\t\t// from DOM to ScrollableElement\n\t\t\tthis._register(onAnchoredSelectionChange(this.updateScrollDimensions, this));\n\t\t\tthis._register(this.onDidHeightChange(this.updateScrollDimensions, this));\n\t\t} else {\n\t\t\tthis.input.type = this.options.type || 'text';\n\t\t\tthis.input.setAttribute('wrap', 'off');\n\t\t}\n\n\t\tif (this.ariaLabel) {\n\t\t\tthis.input.setAttribute('aria-label', this.ariaLabel);\n\t\t}\n\n\t\tif (this.placeholder && !this.options.showPlaceholderOnFocus) {\n\t\t\tthis.setPlaceHolder(this.placeholder);\n\t\t}\n\n\t\tif (this.tooltip) {\n\t\t\tthis.setTooltip(this.tooltip);\n\t\t}\n\n\t\tthis.oninput(this.input, () => this.onValueChange());\n\t\tthis.onblur(this.input, () => this.onBlur());\n\t\tthis.onfocus(this.input, () => this.onFocus());\n\n\t\tthis._register(this.ignoreGesture(this.input));\n\n\t\tsetTimeout(() => this.updateMirror(), 0);\n\n\t\t// Support actions\n\t\tif (this.options.actions) {\n\t\t\tthis.actionbar = this._register(new ActionBar(this.element, {\n\t\t\t\tactionViewItemProvider: this.options.actionViewItemProvider\n\t\t\t}));\n\t\t\tthis.actionbar.push(this.options.actions, { icon: true, label: false });\n\t\t}\n\n\t\tthis.applyStyles();\n\t}\n\n\tpublic setActions(actions: ReadonlyArray<IAction> | undefined, actionViewItemProvider?: IActionViewItemProvider): void {\n\t\tif (this.actionbar) {\n\t\t\tthis.actionbar.clear();\n\t\t\tif (actions) {\n\t\t\t\tthis.actionbar.push(actions, { icon: true, label: false });\n\t\t\t}\n\t\t} else if (actions) {\n\t\t\tthis.actionbar = this._register(new ActionBar(this.element, {\n\t\t\t\tactionViewItemProvider: actionViewItemProvider ?? this.options.actionViewItemProvider\n\t\t\t}));\n\t\t\tthis.actionbar.push(actions, { icon: true, label: false });\n\t\t}\n\t}\n\n\tprotected onBlur(): void {\n\t\tthis._hideMessage();\n\t\tif (this.options.showPlaceholderOnFocus) {\n\t\t\tthis.input.setAttribute('placeholder', '');\n\t\t}\n\t}\n\n\tprotected onFocus(): void {\n\t\tthis._showMessage();\n\t\tif (this.options.showPlaceholderOnFocus) {\n\t\t\tthis.input.setAttribute('placeholder', this.placeholder || '');\n\t\t}\n\t}\n\n\tpublic setPlaceHolder(placeHolder: string): void {\n\t\tthis.placeholder = placeHolder;\n\t\tthis.input.setAttribute('placeholder', placeHolder);\n\t}\n\n\tpublic setTooltip(tooltip: string): void {\n\t\tthis.tooltip = tooltip;\n\t\tif (!this.hover.value) {\n\t\t\tthis.hover.value = this._register(getBaseLayerHoverDelegate().setupDelayedHoverAtMouse(this.input, () => ({\n\t\t\t\tcontent: this.tooltip,\n\t\t\t\tappearance: {\n\t\t\t\t\tcompact: true,\n\t\t\t\t}\n\t\t\t})));\n\t\t}\n\t}\n\n\tpublic get inputElement(): HTMLInputElement {\n\t\treturn this.input;\n\t}\n\n\tpublic get value(): string {\n\t\treturn this.input.value;\n\t}\n\n\tpublic set value(newValue: string) {\n\t\tif (this.input.value !== newValue) {\n\t\t\tthis.input.value = newValue;\n\t\t\tthis.onValueChange();\n\t\t}\n\t}\n\n\tpublic get height(): number {\n\t\treturn typeof this.cachedHeight === 'number' ? this.cachedHeight : dom.getTotalHeight(this.element);\n\t}\n\n\tpublic focus(): void {\n\t\tthis.input.focus();\n\t}\n\n\tpublic blur(): void {\n\t\tthis.input.blur();\n\t}\n\n\tpublic hasFocus(): boolean {\n\t\treturn dom.isActiveElement(this.input);\n\t}\n\n\tpublic select(range: IRange | null = null): void {\n\t\tthis.input.select();\n\n\t\tif (range) {\n\t\t\tthis.input.setSelectionRange(range.start, range.end);\n\t\t\tif (range.end === this.input.value.length) {\n\t\t\t\tthis.input.scrollLeft = this.input.scrollWidth;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic isSelectionAtEnd(): boolean {\n\t\treturn this.input.selectionEnd === this.input.value.length && this.input.selectionStart === this.input.selectionEnd;\n\t}\n\n\tpublic getSelection(): IRange | null {\n\t\tconst selectionStart = this.input.selectionStart;\n\t\tif (selectionStart === null) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selectionEnd = this.input.selectionEnd ?? selectionStart;\n\t\treturn {\n\t\t\tstart: selectionStart,\n\t\t\tend: selectionEnd,\n\t\t};\n\t}\n\n\tpublic enable(): void {\n\t\tthis.input.removeAttribute('disabled');\n\t}\n\n\tpublic disable(): void {\n\t\tthis.blur();\n\t\tthis.input.disabled = true;\n\t\tthis._hideMessage();\n\t}\n\n\tpublic set paddingRight(paddingRight: number) {\n\t\t// Set width to avoid hint text overlapping buttons\n\t\tthis.input.style.width = `calc(100% - ${paddingRight}px)`;\n\n\t\tif (this.mirror) {\n\t\t\tthis.mirror.style.paddingRight = paddingRight + 'px';\n\t\t}\n\t}\n\n\tprivate updateScrollDimensions(): void {\n\t\tif (typeof this.cachedContentHeight !== 'number' || typeof this.cachedHeight !== 'number' || !this.scrollableElement) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollHeight = this.cachedContentHeight;\n\t\tconst height = this.cachedHeight;\n\t\tconst scrollTop = this.input.scrollTop;\n\n\t\tthis.scrollableElement.setScrollDimensions({ scrollHeight, height });\n\t\tthis.scrollableElement.setScrollPosition({ scrollTop });\n\t}\n\n\tpublic showMessage(message: IMessage, force?: boolean): void {\n\t\tif (this.state === 'open' && equals(this.message, message)) {\n\t\t\t// Already showing\n\t\t\treturn;\n\t\t}\n\n\t\tthis.message = message;\n\n\t\tthis.element.classList.remove('idle');\n\t\tthis.element.classList.remove('info');\n\t\tthis.element.classList.remove('warning');\n\t\tthis.element.classList.remove('error');\n\t\tthis.element.classList.add(this.classForType(message.type));\n\n\t\tconst styles = this.stylesForType(this.message.type);\n\t\tthis.element.style.border = `1px solid ${cssJs.asCssValueWithDefault(styles.border, 'transparent')}`;\n\n\t\tif (this.message.content && (this.hasFocus() || force)) {\n\t\t\tthis._showMessage();\n\t\t}\n\t}\n\n\tpublic hideMessage(): void {\n\t\tthis.message = null;\n\n\t\tthis.element.classList.remove('info');\n\t\tthis.element.classList.remove('warning');\n\t\tthis.element.classList.remove('error');\n\t\tthis.element.classList.add('idle');\n\n\t\tthis._hideMessage();\n\t\tthis.applyStyles();\n\t}\n\n\tpublic validate(): MessageType | undefined {\n\t\tlet errorMsg: IMessage | null = null;\n\n\t\tif (this.validation) {\n\t\t\terrorMsg = this.validation(this.value);\n\n\t\t\tif (errorMsg) {\n\t\t\t\tthis.inputElement.setAttribute('aria-invalid', 'true');\n\t\t\t\tthis.showMessage(errorMsg);\n\t\t\t}\n\t\t\telse if (this.inputElement.hasAttribute('aria-invalid')) {\n\t\t\t\tthis.inputElement.removeAttribute('aria-invalid');\n\t\t\t\tthis.hideMessage();\n\t\t\t}\n\t\t}\n\n\t\treturn errorMsg?.type;\n\t}\n\n\tpublic stylesForType(type: MessageType | undefined): { border: string | undefined; background: string | undefined; foreground: string | undefined } {\n\t\tconst styles = this.options.inputBoxStyles;\n\t\tswitch (type) {\n\t\t\tcase MessageType.INFO: return { border: styles.inputValidationInfoBorder, background: styles.inputValidationInfoBackground, foreground: styles.inputValidationInfoForeground };\n\t\t\tcase MessageType.WARNING: return { border: styles.inputValidationWarningBorder, background: styles.inputValidationWarningBackground, foreground: styles.inputValidationWarningForeground };\n\t\t\tdefault: return { border: styles.inputValidationErrorBorder, background: styles.inputValidationErrorBackground, foreground: styles.inputValidationErrorForeground };\n\t\t}\n\t}\n\n\tprivate classForType(type: MessageType | undefined): string {\n\t\tswitch (type) {\n\t\t\tcase MessageType.INFO: return 'info';\n\t\t\tcase MessageType.WARNING: return 'warning';\n\t\t\tdefault: return 'error';\n\t\t}\n\t}\n\n\tprivate _showMessage(): void {\n\t\tif (!this.contextViewProvider || !this.message) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet div: HTMLElement;\n\t\tconst layout = () => div.style.width = dom.getTotalWidth(this.element) + 'px';\n\n\t\tthis.contextViewProvider.showContextView({\n\t\t\tgetAnchor: () => this.element,\n\t\t\tanchorAlignment: AnchorAlignment.RIGHT,\n\t\t\trender: (container: HTMLElement) => {\n\t\t\t\tif (!this.message) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tdiv = dom.append(container, $('.monaco-inputbox-container'));\n\t\t\t\tlayout();\n\n\n\t\t\t\tconst spanElement = $('span.monaco-inputbox-message');\n\t\t\t\tif (this.message.formatContent) {\n\t\t\t\t\trenderFormattedText(this.message.content!, undefined, spanElement);\n\t\t\t\t} else {\n\t\t\t\t\trenderText(this.message.content!, undefined, spanElement);\n\t\t\t\t}\n\n\t\t\t\tspanElement.classList.add(this.classForType(this.message.type));\n\n\t\t\t\tconst styles = this.stylesForType(this.message.type);\n\t\t\t\tspanElement.style.backgroundColor = styles.background ?? '';\n\t\t\t\tspanElement.style.color = styles.foreground ?? '';\n\t\t\t\tspanElement.style.border = styles.border ? `1px solid ${styles.border}` : '';\n\n\t\t\t\tdom.append(div, spanElement);\n\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\tonHide: () => {\n\t\t\t\tthis.state = 'closed';\n\t\t\t},\n\t\t\tlayout: layout\n\t\t});\n\n\t\t// ARIA Support\n\t\tlet alertText: string;\n\t\tif (this.message.type === MessageType.ERROR) {\n\t\t\talertText = nls.localize('alertErrorMessage', \"Error: {0}\", this.message.content);\n\t\t} else if (this.message.type === MessageType.WARNING) {\n\t\t\talertText = nls.localize('alertWarningMessage', \"Warning: {0}\", this.message.content);\n\t\t} else {\n\t\t\talertText = nls.localize('alertInfoMessage', \"Info: {0}\", this.message.content);\n\t\t}\n\n\t\taria.alert(alertText);\n\n\t\tthis.state = 'open';\n\t}\n\n\tprivate _hideMessage(): void {\n\t\tif (!this.contextViewProvider) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.state === 'open') {\n\t\t\tthis.contextViewProvider.hideContextView();\n\t\t}\n\n\t\tthis.state = 'idle';\n\t}\n\n\tprivate layoutMessage(): void {\n\t\tif (this.state === 'open' && this.contextViewProvider) {\n\t\t\tthis.contextViewProvider.layout();\n\t\t}\n\t}\n\n\tprivate onValueChange(): void {\n\t\tthis._onDidChange.fire(this.value);\n\n\t\tthis.validate();\n\t\tthis.updateMirror();\n\t\tthis.input.classList.toggle('empty', !this.value);\n\n\t\tif (this.state === 'open' && this.contextViewProvider) {\n\t\t\tthis.contextViewProvider.layout();\n\t\t}\n\t}\n\n\tprivate updateMirror(): void {\n\t\tif (!this.mirror) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this.value;\n\t\tconst lastCharCode = value.charCodeAt(value.length - 1);\n\t\tconst suffix = lastCharCode === 10 ? ' ' : '';\n\t\tconst mirrorTextContent = (value + suffix)\n\t\t\t.replace(/\\u000c/g, ''); // Don't measure with the form feed character, which messes up sizing\n\n\t\tif (mirrorTextContent) {\n\t\t\tthis.mirror.textContent = value + suffix;\n\t\t} else {\n\t\t\tthis.mirror.innerText = '\\u00a0';\n\t\t}\n\n\t\tthis.layout();\n\t}\n\n\tprotected applyStyles(): void {\n\t\tconst styles = this.options.inputBoxStyles;\n\n\t\tconst background = styles.inputBackground ?? '';\n\t\tconst foreground = styles.inputForeground ?? '';\n\t\tconst border = styles.inputBorder ?? '';\n\n\t\tthis.element.style.backgroundColor = background;\n\t\tthis.element.style.color = foreground;\n\t\tthis.input.style.backgroundColor = 'inherit';\n\t\tthis.input.style.color = foreground;\n\n\t\t// there's always a border, even if the color is not set.\n\t\tthis.element.style.border = `1px solid ${cssJs.asCssValueWithDefault(border, 'transparent')}`;\n\t}\n\n\tpublic layout(): void {\n\t\tif (!this.mirror) {\n\t\t\tthis.layoutMessage();\n\t\t\treturn;\n\t\t}\n\n\t\tconst previousHeight = this.cachedContentHeight;\n\t\tthis.cachedContentHeight = dom.getTotalHeight(this.mirror);\n\n\t\tif (previousHeight !== this.cachedContentHeight) {\n\t\t\tthis.cachedHeight = Math.min(this.cachedContentHeight, this.maxHeight);\n\t\t\tthis.input.style.height = this.cachedHeight + 'px';\n\t\t\tthis._onDidHeightChange.fire(this.cachedContentHeight);\n\t\t}\n\n\t\tthis.layoutMessage();\n\t}\n\n\tpublic insertAtCursor(text: string): void {\n\t\tconst inputElement = this.inputElement;\n\t\tconst start = inputElement.selectionStart;\n\t\tconst end = inputElement.selectionEnd;\n\t\tconst content = inputElement.value;\n\n\t\tif (start !== null && end !== null) {\n\t\t\tthis.value = content.substr(0, start) + text + content.substr(end);\n\t\t\tinputElement.setSelectionRange(start + 1, start + 1);\n\t\t\tthis.layout();\n\t\t}\n\t}\n\n\tpublic override dispose(): void {\n\t\tthis._hideMessage();\n\n\t\tthis.message = null;\n\n\t\tthis.actionbar?.dispose();\n\n\t\tsuper.dispose();\n\t}\n}\n\nexport interface IHistoryInputOptions extends IInputOptions {\n\treadonly showHistoryHint?: () => boolean;\n}\n\nexport class HistoryInputBox extends InputBox implements IHistoryNavigationWidget {\n\n\tprivate readonly history: HistoryNavigator<string>;\n\tprivate observer: MutationObserver | undefined;\n\n\tprivate readonly _onDidFocus = this._register(new Emitter<void>());\n\treadonly onDidFocus = this._onDidFocus.event;\n\n\tprivate readonly _onDidBlur = this._register(new Emitter<void>());\n\treadonly onDidBlur = this._onDidBlur.event;\n\n\tconstructor(container: HTMLElement, contextViewProvider: IContextViewProvider | undefined, options: IHistoryInputOptions) {\n\t\tconst NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS = nls.localize({\n\t\t\tkey: 'history.inputbox.hint.suffix.noparens',\n\t\t\tcomment: ['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis \")\", for example \"Filter (e.g. text, !exclude)\". The character inserted into the final string is \\u21C5 to represent the up and down arrow keys.']\n\t\t}, ' or {0} for history', `\\u21C5`);\n\t\tconst NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS = nls.localize({\n\t\t\tkey: 'history.inputbox.hint.suffix.inparens',\n\t\t\tcomment: ['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. \"Find\"). The character inserted into the final string is \\u21C5 to represent the up and down arrow keys.']\n\t\t}, ' ({0} for history)', `\\u21C5`);\n\n\t\tsuper(container, contextViewProvider, options);\n\t\tthis.history = this._register(new HistoryNavigator<string>(options.history, 100));\n\n\t\t// Function to append the history suffix to the placeholder if necessary\n\t\tconst addSuffix = () => {\n\t\t\tif (options.showHistoryHint && options.showHistoryHint() && !this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS) && !this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS) && this.history.getHistory().length) {\n\t\t\t\tconst suffix = this.placeholder.endsWith(')') ? NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS : NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS;\n\t\t\t\tconst suffixedPlaceholder = this.placeholder + suffix;\n\t\t\t\tif (options.showPlaceholderOnFocus && !dom.isActiveElement(this.input)) {\n\t\t\t\t\tthis.placeholder = suffixedPlaceholder;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.setPlaceHolder(suffixedPlaceholder);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// Spot the change to the textarea class attribute which occurs when it changes between non-empty and empty,\n\t\t// and add the history suffix to the placeholder if not yet present\n\t\tthis.observer = new MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n\t\t\tmutationList.forEach((mutation: MutationRecord) => {\n\t\t\t\tif (!mutation.target.textContent) {\n\t\t\t\t\taddSuffix();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tthis.observer.observe(this.input, { attributeFilter: ['class'] });\n\n\t\tthis.onfocus(this.input, () => addSuffix());\n\t\tthis.onblur(this.input, () => {\n\t\t\tconst resetPlaceholder = (historyHint: string) => {\n\t\t\t\tif (!this.placeholder.endsWith(historyHint)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconst revertedPlaceholder = this.placeholder.slice(0, this.placeholder.length - historyHint.length);\n\t\t\t\t\tif (options.showPlaceholderOnFocus) {\n\t\t\t\t\t\tthis.placeholder = revertedPlaceholder;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.setPlaceHolder(revertedPlaceholder);\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (!resetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS)) {\n\t\t\t\tresetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS);\n\t\t\t}\n\t\t});\n\t}\n\n\toverride dispose() {\n\t\tsuper.dispose();\n\t\tif (this.observer) {\n\t\t\tthis.observer.disconnect();\n\t\t\tthis.observer = undefined;\n\t\t}\n\t}\n\n\tpublic addToHistory(always?: boolean): void {\n\t\tif (this.value && (always || this.value !== this.getCurrentValue())) {\n\t\t\tthis.history.add(this.value);\n\t\t}\n\t}\n\n\tpublic isAtLastInHistory(): boolean {\n\t\treturn this.history.isLast();\n\t}\n\n\tpublic isNowhereInHistory(): boolean {\n\t\treturn this.history.isNowhere();\n\t}\n\n\tpublic showNextValue(): void {\n\t\tif (!this.history.has(this.value)) {\n\t\t\tthis.addToHistory();\n\t\t}\n\n\t\tlet next = this.getNextValue();\n\t\tif (next) {\n\t\t\tnext = next === this.value ? this.getNextValue() : next;\n\t\t}\n\n\t\tthis.value = next ?? '';\n\t\taria.status(this.value ? this.value : nls.localize('clearedInput', \"Cleared Input\"));\n\t}\n\n\tpublic showPreviousValue(): void {\n\t\tif (!this.history.has(this.value)) {\n\t\t\tthis.addToHistory();\n\t\t}\n\n\t\tlet previous = this.getPreviousValue();\n\t\tif (previous) {\n\t\t\tprevious = previous === this.value ? this.getPreviousValue() : previous;\n\t\t}\n\n\t\tif (previous) {\n\t\t\tthis.value = previous;\n\t\t\taria.status(this.value);\n\t\t}\n\t}\n\n\tpublic override setPlaceHolder(placeHolder: string): void {\n\t\tsuper.setPlaceHolder(placeHolder);\n\t\tthis.setTooltip(placeHolder);\n\t}\n\n\tprotected override onBlur(): void {\n\t\tsuper.onBlur();\n\t\tthis._onDidBlur.fire();\n\t}\n\n\tprotected override onFocus(): void {\n\t\tsuper.onFocus();\n\t\tthis._onDidFocus.fire();\n\t}\n\n\tprivate getCurrentValue(): string | null {\n\t\tlet currentValue = this.history.current();\n\t\tif (!currentValue) {\n\t\t\tcurrentValue = this.history.last();\n\t\t\tthis.history.next();\n\t\t}\n\t\treturn currentValue;\n\t}\n\n\tprivate getPreviousValue(): string | null {\n\t\treturn this.history.previous() || this.history.first();\n\t}\n\n\tprivate getNextValue(): string | null {\n\t\treturn this.history.next();\n\t}\n}\n"]}
1
+ {"version":3,"sources":["vs/base/browser/ui/inputbox/inputBox.ts"],"names":[],"mappings":"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","file":"inputBox.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as dom from '../../dom.js';\nimport * as cssJs from '../../cssValue.js';\nimport { DomEmitter } from '../../event.js';\nimport { renderFormattedText, renderText } from '../../formattedTextRenderer.js';\nimport { IHistoryNavigationWidget } from '../../history.js';\nimport { ActionBar, IActionViewItemProvider } from '../actionbar/actionbar.js';\nimport * as aria from '../aria/aria.js';\nimport { AnchorAlignment, IContextViewProvider } from '../contextview/contextview.js';\nimport { getBaseLayerHoverDelegate } from '../hover/hoverDelegate2.js';\nimport { ScrollableElement } from '../scrollbar/scrollableElement.js';\nimport { Widget } from '../widget.js';\nimport { IAction } from '../../../common/actions.js';\nimport { Emitter, Event } from '../../../common/event.js';\nimport { HistoryNavigator, IHistory } from '../../../common/history.js';\nimport { equals } from '../../../common/objects.js';\nimport { ScrollbarVisibility } from '../../../common/scrollable.js';\nimport './inputBox.css';\nimport * as nls from '../../../../nls.js';\nimport { MutableDisposable, type IDisposable } from '../../../common/lifecycle.js';\n\n\nconst $ = dom.$;\n\nexport interface IInputOptions {\n\treadonly placeholder?: string;\n\treadonly showPlaceholderOnFocus?: boolean;\n\treadonly tooltip?: string;\n\treadonly ariaLabel?: string;\n\treadonly type?: string;\n\treadonly validationOptions?: IInputValidationOptions;\n\treadonly flexibleHeight?: boolean;\n\treadonly flexibleWidth?: boolean;\n\treadonly flexibleMaxHeight?: number;\n\treadonly actions?: ReadonlyArray<IAction>;\n\treadonly actionViewItemProvider?: IActionViewItemProvider;\n\treadonly inputBoxStyles: IInputBoxStyles;\n\treadonly history?: IHistory<string>;\n\treadonly hideHoverOnValueChange?: boolean;\n}\n\nexport interface IInputBoxStyles {\n\treadonly inputBackground: string | undefined;\n\treadonly inputForeground: string | undefined;\n\treadonly inputBorder: string | undefined;\n\treadonly inputValidationInfoBorder: string | undefined;\n\treadonly inputValidationInfoBackground: string | undefined;\n\treadonly inputValidationInfoForeground: string | undefined;\n\treadonly inputValidationWarningBorder: string | undefined;\n\treadonly inputValidationWarningBackground: string | undefined;\n\treadonly inputValidationWarningForeground: string | undefined;\n\treadonly inputValidationErrorBorder: string | undefined;\n\treadonly inputValidationErrorBackground: string | undefined;\n\treadonly inputValidationErrorForeground: string | undefined;\n}\n\nexport interface IInputValidator {\n\t(value: string): IMessage | null;\n}\n\nexport interface IMessage {\n\treadonly content?: string;\n\treadonly formatContent?: boolean; // defaults to false\n\treadonly type?: MessageType;\n}\n\nexport interface IInputValidationOptions {\n\tvalidation?: IInputValidator;\n}\n\nexport const enum MessageType {\n\tINFO = 1,\n\tWARNING = 2,\n\tERROR = 3\n}\n\nexport interface IRange {\n\tstart: number;\n\tend: number;\n}\n\nexport const unthemedInboxStyles: IInputBoxStyles = {\n\tinputBackground: '#3C3C3C',\n\tinputForeground: '#CCCCCC',\n\tinputValidationInfoBorder: '#55AAFF',\n\tinputValidationInfoBackground: '#063B49',\n\tinputValidationWarningBorder: '#B89500',\n\tinputValidationWarningBackground: '#352A05',\n\tinputValidationErrorBorder: '#BE1100',\n\tinputValidationErrorBackground: '#5A1D1D',\n\tinputBorder: undefined,\n\tinputValidationErrorForeground: undefined,\n\tinputValidationInfoForeground: undefined,\n\tinputValidationWarningForeground: undefined\n};\n\nexport class InputBox extends Widget {\n\tprivate contextViewProvider?: IContextViewProvider;\n\telement: HTMLElement;\n\tprotected input: HTMLInputElement;\n\tprivate actionbar?: ActionBar;\n\tprivate readonly options: IInputOptions;\n\tprivate message: IMessage | null;\n\tprotected placeholder: string;\n\tprivate tooltip: string;\n\tprivate ariaLabel: string;\n\tprivate validation?: IInputValidator;\n\tprivate state: 'idle' | 'open' | 'closed' = 'idle';\n\n\tprivate mirror: HTMLElement | undefined;\n\tprivate cachedHeight: number | undefined;\n\tprivate cachedContentHeight: number | undefined;\n\tprivate maxHeight: number = Number.POSITIVE_INFINITY;\n\tprivate scrollableElement: ScrollableElement | undefined;\n\tprivate readonly hover: MutableDisposable<IDisposable> = this._register(new MutableDisposable());\n\n\tprivate _onDidChange = this._register(new Emitter<string>());\n\tpublic get onDidChange(): Event<string> { return this._onDidChange.event; }\n\n\tprivate _onDidHeightChange = this._register(new Emitter<number>());\n\tpublic get onDidHeightChange(): Event<number> { return this._onDidHeightChange.event; }\n\n\tconstructor(container: HTMLElement, contextViewProvider: IContextViewProvider | undefined, options: IInputOptions) {\n\t\tsuper();\n\n\t\tthis.contextViewProvider = contextViewProvider;\n\t\tthis.options = options;\n\n\t\tthis.message = null;\n\t\tthis.placeholder = this.options.placeholder || '';\n\t\tthis.tooltip = this.options.tooltip ?? (this.placeholder || '');\n\t\tthis.ariaLabel = this.options.ariaLabel || '';\n\n\t\tif (this.options.validationOptions) {\n\t\t\tthis.validation = this.options.validationOptions.validation;\n\t\t}\n\n\t\tthis.element = dom.append(container, $('.monaco-inputbox.idle'));\n\n\t\tconst tagName = this.options.flexibleHeight ? 'textarea' : 'input';\n\n\t\tconst wrapper = dom.append(this.element, $('.ibwrapper'));\n\t\tthis.input = dom.append(wrapper, $(tagName + '.input.empty'));\n\t\tthis.input.setAttribute('autocorrect', 'off');\n\t\tthis.input.setAttribute('autocapitalize', 'off');\n\t\tthis.input.setAttribute('spellcheck', 'false');\n\n\t\tthis.onfocus(this.input, () => this.element.classList.add('synthetic-focus'));\n\t\tthis.onblur(this.input, () => this.element.classList.remove('synthetic-focus'));\n\n\t\tif (this.options.flexibleHeight) {\n\t\t\tthis.maxHeight = typeof this.options.flexibleMaxHeight === 'number' ? this.options.flexibleMaxHeight : Number.POSITIVE_INFINITY;\n\n\t\t\tthis.mirror = dom.append(wrapper, $('div.mirror'));\n\t\t\tthis.mirror.innerText = '\\u00a0';\n\n\t\t\tthis.scrollableElement = new ScrollableElement(this.element, { vertical: ScrollbarVisibility.Auto });\n\n\t\t\tif (this.options.flexibleWidth) {\n\t\t\t\tthis.input.setAttribute('wrap', 'off');\n\t\t\t\tthis.mirror.style.whiteSpace = 'pre';\n\t\t\t\tthis.mirror.style.wordWrap = 'initial';\n\t\t\t}\n\n\t\t\tdom.append(container, this.scrollableElement.getDomNode());\n\t\t\tthis._register(this.scrollableElement);\n\n\t\t\t// from ScrollableElement to DOM\n\t\t\tthis._register(this.scrollableElement.onScroll(e => this.input.scrollTop = e.scrollTop));\n\n\t\t\tconst onSelectionChange = this._register(new DomEmitter(container.ownerDocument, 'selectionchange'));\n\t\t\tconst onAnchoredSelectionChange = Event.filter(onSelectionChange.event, () => {\n\t\t\t\tconst selection = container.ownerDocument.getSelection();\n\t\t\t\treturn selection?.anchorNode === wrapper;\n\t\t\t});\n\n\t\t\t// from DOM to ScrollableElement\n\t\t\tthis._register(onAnchoredSelectionChange(this.updateScrollDimensions, this));\n\t\t\tthis._register(this.onDidHeightChange(this.updateScrollDimensions, this));\n\t\t} else {\n\t\t\tthis.input.type = this.options.type || 'text';\n\t\t\tthis.input.setAttribute('wrap', 'off');\n\t\t}\n\n\t\tif (this.ariaLabel) {\n\t\t\tthis.input.setAttribute('aria-label', this.ariaLabel);\n\t\t}\n\n\t\tif (this.placeholder && !this.options.showPlaceholderOnFocus) {\n\t\t\tthis.setPlaceHolder(this.placeholder);\n\t\t}\n\n\t\tif (this.tooltip) {\n\t\t\tthis.setTooltip(this.tooltip);\n\t\t}\n\n\t\tthis.oninput(this.input, () => this.onValueChange());\n\t\tthis.onblur(this.input, () => this.onBlur());\n\t\tthis.onfocus(this.input, () => this.onFocus());\n\n\t\tthis._register(this.ignoreGesture(this.input));\n\n\t\tsetTimeout(() => this.updateMirror(), 0);\n\n\t\t// Support actions\n\t\tif (this.options.actions) {\n\t\t\tthis.actionbar = this._register(new ActionBar(this.element, {\n\t\t\t\tactionViewItemProvider: this.options.actionViewItemProvider\n\t\t\t}));\n\t\t\tthis.actionbar.push(this.options.actions, { icon: true, label: false });\n\t\t}\n\n\t\tthis.applyStyles();\n\t}\n\n\tpublic setActions(actions: ReadonlyArray<IAction> | undefined, actionViewItemProvider?: IActionViewItemProvider): void {\n\t\tif (this.actionbar) {\n\t\t\tthis.actionbar.clear();\n\t\t\tif (actions) {\n\t\t\t\tthis.actionbar.push(actions, { icon: true, label: false });\n\t\t\t}\n\t\t} else if (actions) {\n\t\t\tthis.actionbar = this._register(new ActionBar(this.element, {\n\t\t\t\tactionViewItemProvider: actionViewItemProvider ?? this.options.actionViewItemProvider\n\t\t\t}));\n\t\t\tthis.actionbar.push(actions, { icon: true, label: false });\n\t\t}\n\t}\n\n\tprotected onBlur(): void {\n\t\tthis._hideMessage();\n\t\tif (this.options.showPlaceholderOnFocus) {\n\t\t\tthis.input.setAttribute('placeholder', '');\n\t\t}\n\t}\n\n\tprotected onFocus(): void {\n\t\tthis._showMessage();\n\t\tif (this.options.showPlaceholderOnFocus) {\n\t\t\tthis.input.setAttribute('placeholder', this.placeholder || '');\n\t\t}\n\t}\n\n\tpublic setPlaceHolder(placeHolder: string): void {\n\t\tthis.placeholder = placeHolder;\n\t\tthis.input.setAttribute('placeholder', placeHolder);\n\t}\n\n\tpublic setTooltip(tooltip: string): void {\n\t\tthis.tooltip = tooltip;\n\t\tif (!this.hover.value) {\n\t\t\tthis.hover.value = this._register(getBaseLayerHoverDelegate().setupDelayedHoverAtMouse(this.input, () => ({\n\t\t\t\tcontent: this.tooltip,\n\t\t\t\tappearance: {\n\t\t\t\t\tcompact: true,\n\t\t\t\t}\n\t\t\t})));\n\t\t}\n\t}\n\n\tpublic get inputElement(): HTMLInputElement {\n\t\treturn this.input;\n\t}\n\n\tpublic get value(): string {\n\t\treturn this.input.value;\n\t}\n\n\tpublic set value(newValue: string) {\n\t\tif (this.input.value !== newValue) {\n\t\t\tthis.input.value = newValue;\n\t\t\tthis.onValueChange();\n\t\t}\n\t}\n\n\tpublic get height(): number {\n\t\treturn typeof this.cachedHeight === 'number' ? this.cachedHeight : dom.getTotalHeight(this.element);\n\t}\n\n\tpublic focus(): void {\n\t\tthis.input.focus();\n\t}\n\n\tpublic blur(): void {\n\t\tthis.input.blur();\n\t}\n\n\tpublic hasFocus(): boolean {\n\t\treturn dom.isActiveElement(this.input);\n\t}\n\n\tpublic select(range: IRange | null = null): void {\n\t\tthis.input.select();\n\n\t\tif (range) {\n\t\t\tthis.input.setSelectionRange(range.start, range.end);\n\t\t\tif (range.end === this.input.value.length) {\n\t\t\t\tthis.input.scrollLeft = this.input.scrollWidth;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic isSelectionAtEnd(): boolean {\n\t\treturn this.input.selectionEnd === this.input.value.length && this.input.selectionStart === this.input.selectionEnd;\n\t}\n\n\tpublic getSelection(): IRange | null {\n\t\tconst selectionStart = this.input.selectionStart;\n\t\tif (selectionStart === null) {\n\t\t\treturn null;\n\t\t}\n\t\tconst selectionEnd = this.input.selectionEnd ?? selectionStart;\n\t\treturn {\n\t\t\tstart: selectionStart,\n\t\t\tend: selectionEnd,\n\t\t};\n\t}\n\n\tpublic enable(): void {\n\t\tthis.input.removeAttribute('disabled');\n\t}\n\n\tpublic disable(): void {\n\t\tthis.blur();\n\t\tthis.input.disabled = true;\n\t\tthis._hideMessage();\n\t}\n\n\tpublic set paddingRight(paddingRight: number) {\n\t\t// Set width to avoid hint text overlapping buttons\n\t\tthis.input.style.width = `calc(100% - ${paddingRight}px)`;\n\n\t\tif (this.mirror) {\n\t\t\tthis.mirror.style.paddingRight = paddingRight + 'px';\n\t\t}\n\t}\n\n\tprivate updateScrollDimensions(): void {\n\t\tif (typeof this.cachedContentHeight !== 'number' || typeof this.cachedHeight !== 'number' || !this.scrollableElement) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollHeight = this.cachedContentHeight;\n\t\tconst height = this.cachedHeight;\n\t\tconst scrollTop = this.input.scrollTop;\n\n\t\tthis.scrollableElement.setScrollDimensions({ scrollHeight, height });\n\t\tthis.scrollableElement.setScrollPosition({ scrollTop });\n\t}\n\n\tpublic showMessage(message: IMessage, force?: boolean): void {\n\t\tif (this.state === 'open' && equals(this.message, message)) {\n\t\t\t// Already showing\n\t\t\treturn;\n\t\t}\n\n\t\tthis.message = message;\n\n\t\tthis.element.classList.remove('idle');\n\t\tthis.element.classList.remove('info');\n\t\tthis.element.classList.remove('warning');\n\t\tthis.element.classList.remove('error');\n\t\tthis.element.classList.add(this.classForType(message.type));\n\n\t\tconst styles = this.stylesForType(this.message.type);\n\t\tthis.element.style.border = `1px solid ${cssJs.asCssValueWithDefault(styles.border, 'transparent')}`;\n\n\t\tif (this.message.content && (this.hasFocus() || force)) {\n\t\t\tthis._showMessage();\n\t\t}\n\t}\n\n\tpublic hideMessage(): void {\n\t\tthis.message = null;\n\n\t\tthis.element.classList.remove('info');\n\t\tthis.element.classList.remove('warning');\n\t\tthis.element.classList.remove('error');\n\t\tthis.element.classList.add('idle');\n\n\t\tthis._hideMessage();\n\t\tthis.applyStyles();\n\t}\n\n\tpublic validate(): MessageType | undefined {\n\t\tlet errorMsg: IMessage | null = null;\n\n\t\tif (this.validation) {\n\t\t\terrorMsg = this.validation(this.value);\n\n\t\t\tif (errorMsg) {\n\t\t\t\tthis.inputElement.setAttribute('aria-invalid', 'true');\n\t\t\t\tthis.showMessage(errorMsg);\n\t\t\t}\n\t\t\telse if (this.inputElement.hasAttribute('aria-invalid')) {\n\t\t\t\tthis.inputElement.removeAttribute('aria-invalid');\n\t\t\t\tthis.hideMessage();\n\t\t\t}\n\t\t}\n\n\t\treturn errorMsg?.type;\n\t}\n\n\tpublic stylesForType(type: MessageType | undefined): { border: string | undefined; background: string | undefined; foreground: string | undefined } {\n\t\tconst styles = this.options.inputBoxStyles;\n\t\tswitch (type) {\n\t\t\tcase MessageType.INFO: return { border: styles.inputValidationInfoBorder, background: styles.inputValidationInfoBackground, foreground: styles.inputValidationInfoForeground };\n\t\t\tcase MessageType.WARNING: return { border: styles.inputValidationWarningBorder, background: styles.inputValidationWarningBackground, foreground: styles.inputValidationWarningForeground };\n\t\t\tdefault: return { border: styles.inputValidationErrorBorder, background: styles.inputValidationErrorBackground, foreground: styles.inputValidationErrorForeground };\n\t\t}\n\t}\n\n\tprivate classForType(type: MessageType | undefined): string {\n\t\tswitch (type) {\n\t\t\tcase MessageType.INFO: return 'info';\n\t\t\tcase MessageType.WARNING: return 'warning';\n\t\t\tdefault: return 'error';\n\t\t}\n\t}\n\n\tprivate _showMessage(): void {\n\t\tif (!this.contextViewProvider || !this.message) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet div: HTMLElement;\n\t\tconst layout = () => div.style.width = dom.getTotalWidth(this.element) + 'px';\n\n\t\tthis.contextViewProvider.showContextView({\n\t\t\tgetAnchor: () => this.element,\n\t\t\tanchorAlignment: AnchorAlignment.RIGHT,\n\t\t\trender: (container: HTMLElement) => {\n\t\t\t\tif (!this.message) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tdiv = dom.append(container, $('.monaco-inputbox-container'));\n\t\t\t\tlayout();\n\n\n\t\t\t\tconst spanElement = $('span.monaco-inputbox-message');\n\t\t\t\tif (this.message.formatContent) {\n\t\t\t\t\trenderFormattedText(this.message.content!, undefined, spanElement);\n\t\t\t\t} else {\n\t\t\t\t\trenderText(this.message.content!, undefined, spanElement);\n\t\t\t\t}\n\n\t\t\t\tspanElement.classList.add(this.classForType(this.message.type));\n\n\t\t\t\tconst styles = this.stylesForType(this.message.type);\n\t\t\t\tspanElement.style.backgroundColor = styles.background ?? '';\n\t\t\t\tspanElement.style.color = styles.foreground ?? '';\n\t\t\t\tspanElement.style.border = styles.border ? `1px solid ${styles.border}` : '';\n\n\t\t\t\tdom.append(div, spanElement);\n\n\t\t\t\treturn null;\n\t\t\t},\n\t\t\tonHide: () => {\n\t\t\t\tthis.state = 'closed';\n\t\t\t},\n\t\t\tlayout: layout\n\t\t});\n\n\t\t// ARIA Support\n\t\tlet alertText: string;\n\t\tif (this.message.type === MessageType.ERROR) {\n\t\t\talertText = nls.localize('alertErrorMessage', \"Error: {0}\", this.message.content);\n\t\t} else if (this.message.type === MessageType.WARNING) {\n\t\t\talertText = nls.localize('alertWarningMessage', \"Warning: {0}\", this.message.content);\n\t\t} else {\n\t\t\talertText = nls.localize('alertInfoMessage', \"Info: {0}\", this.message.content);\n\t\t}\n\n\t\taria.alert(alertText);\n\n\t\tthis.state = 'open';\n\t}\n\n\tprivate _hideMessage(): void {\n\t\tif (!this.contextViewProvider) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.state === 'open') {\n\t\t\tthis.contextViewProvider.hideContextView();\n\t\t}\n\n\t\tthis.state = 'idle';\n\t}\n\n\tprivate layoutMessage(): void {\n\t\tif (this.state === 'open' && this.contextViewProvider) {\n\t\t\tthis.contextViewProvider.layout();\n\t\t}\n\t}\n\n\tprivate onValueChange(): void {\n\t\tthis._onDidChange.fire(this.value);\n\n\t\tthis.validate();\n\t\tthis.updateMirror();\n\t\tthis.input.classList.toggle('empty', !this.value);\n\n\t\tif (this.state === 'open' && this.contextViewProvider) {\n\t\t\tthis.contextViewProvider.layout();\n\t\t}\n\n\t\tif (this.options.hideHoverOnValueChange) {\n\t\t\tgetBaseLayerHoverDelegate().hideHover();\n\t\t}\n\t}\n\n\tprivate updateMirror(): void {\n\t\tif (!this.mirror) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this.value;\n\t\tconst lastCharCode = value.charCodeAt(value.length - 1);\n\t\tconst suffix = lastCharCode === 10 ? ' ' : '';\n\t\tconst mirrorTextContent = (value + suffix)\n\t\t\t.replace(/\\u000c/g, ''); // Don't measure with the form feed character, which messes up sizing\n\n\t\tif (mirrorTextContent) {\n\t\t\tthis.mirror.textContent = value + suffix;\n\t\t} else {\n\t\t\tthis.mirror.innerText = '\\u00a0';\n\t\t}\n\n\t\tthis.layout();\n\t}\n\n\tprotected applyStyles(): void {\n\t\tconst styles = this.options.inputBoxStyles;\n\n\t\tconst background = styles.inputBackground ?? '';\n\t\tconst foreground = styles.inputForeground ?? '';\n\t\tconst border = styles.inputBorder ?? '';\n\n\t\tthis.element.style.backgroundColor = background;\n\t\tthis.element.style.color = foreground;\n\t\tthis.input.style.backgroundColor = 'inherit';\n\t\tthis.input.style.color = foreground;\n\n\t\t// there's always a border, even if the color is not set.\n\t\tthis.element.style.border = `1px solid ${cssJs.asCssValueWithDefault(border, 'transparent')}`;\n\t}\n\n\tpublic layout(): void {\n\t\tif (!this.mirror) {\n\t\t\tthis.layoutMessage();\n\t\t\treturn;\n\t\t}\n\n\t\tconst previousHeight = this.cachedContentHeight;\n\t\tthis.cachedContentHeight = dom.getTotalHeight(this.mirror);\n\n\t\tif (previousHeight !== this.cachedContentHeight) {\n\t\t\tthis.cachedHeight = Math.min(this.cachedContentHeight, this.maxHeight);\n\t\t\tthis.input.style.height = this.cachedHeight + 'px';\n\t\t\tthis._onDidHeightChange.fire(this.cachedContentHeight);\n\t\t}\n\n\t\tthis.layoutMessage();\n\t}\n\n\tpublic insertAtCursor(text: string): void {\n\t\tconst inputElement = this.inputElement;\n\t\tconst start = inputElement.selectionStart;\n\t\tconst end = inputElement.selectionEnd;\n\t\tconst content = inputElement.value;\n\n\t\tif (start !== null && end !== null) {\n\t\t\tthis.value = content.substr(0, start) + text + content.substr(end);\n\t\t\tinputElement.setSelectionRange(start + 1, start + 1);\n\t\t\tthis.layout();\n\t\t}\n\t}\n\n\tpublic override dispose(): void {\n\t\tthis._hideMessage();\n\n\t\tthis.message = null;\n\n\t\tthis.actionbar?.dispose();\n\n\t\tsuper.dispose();\n\t}\n}\n\nexport interface IHistoryInputOptions extends IInputOptions {\n\treadonly showHistoryHint?: () => boolean;\n}\n\nexport class HistoryInputBox extends InputBox implements IHistoryNavigationWidget {\n\n\tprivate readonly history: HistoryNavigator<string>;\n\tprivate observer: MutationObserver | undefined;\n\n\tprivate readonly _onDidFocus = this._register(new Emitter<void>());\n\treadonly onDidFocus = this._onDidFocus.event;\n\n\tprivate readonly _onDidBlur = this._register(new Emitter<void>());\n\treadonly onDidBlur = this._onDidBlur.event;\n\n\tconstructor(container: HTMLElement, contextViewProvider: IContextViewProvider | undefined, options: IHistoryInputOptions) {\n\t\tconst NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS = nls.localize({\n\t\t\tkey: 'history.inputbox.hint.suffix.noparens',\n\t\t\tcomment: ['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis \")\", for example \"Filter (e.g. text, !exclude)\". The character inserted into the final string is \\u21C5 to represent the up and down arrow keys.']\n\t\t}, ' or {0} for history', `\\u21C5`);\n\t\tconst NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS = nls.localize({\n\t\t\tkey: 'history.inputbox.hint.suffix.inparens',\n\t\t\tcomment: ['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. \"Find\"). The character inserted into the final string is \\u21C5 to represent the up and down arrow keys.']\n\t\t}, ' ({0} for history)', `\\u21C5`);\n\n\t\tsuper(container, contextViewProvider, options);\n\t\tthis.history = this._register(new HistoryNavigator<string>(options.history, 100));\n\n\t\t// Function to append the history suffix to the placeholder if necessary\n\t\tconst addSuffix = () => {\n\t\t\tif (options.showHistoryHint && options.showHistoryHint() && !this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS) && !this.placeholder.endsWith(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS) && this.history.getHistory().length) {\n\t\t\t\tconst suffix = this.placeholder.endsWith(')') ? NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS : NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS;\n\t\t\t\tconst suffixedPlaceholder = this.placeholder + suffix;\n\t\t\t\tif (options.showPlaceholderOnFocus && !dom.isActiveElement(this.input)) {\n\t\t\t\t\tthis.placeholder = suffixedPlaceholder;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.setPlaceHolder(suffixedPlaceholder);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// Spot the change to the textarea class attribute which occurs when it changes between non-empty and empty,\n\t\t// and add the history suffix to the placeholder if not yet present\n\t\tthis.observer = new MutationObserver((mutationList: MutationRecord[], observer: MutationObserver) => {\n\t\t\tmutationList.forEach((mutation: MutationRecord) => {\n\t\t\t\tif (!mutation.target.textContent) {\n\t\t\t\t\taddSuffix();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tthis.observer.observe(this.input, { attributeFilter: ['class'] });\n\n\t\tthis.onfocus(this.input, () => addSuffix());\n\t\tthis.onblur(this.input, () => {\n\t\t\tconst resetPlaceholder = (historyHint: string) => {\n\t\t\t\tif (!this.placeholder.endsWith(historyHint)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconst revertedPlaceholder = this.placeholder.slice(0, this.placeholder.length - historyHint.length);\n\t\t\t\t\tif (options.showPlaceholderOnFocus) {\n\t\t\t\t\t\tthis.placeholder = revertedPlaceholder;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.setPlaceHolder(revertedPlaceholder);\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (!resetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_IN_PARENS)) {\n\t\t\t\tresetPlaceholder(NLS_PLACEHOLDER_HISTORY_HINT_SUFFIX_NO_PARENS);\n\t\t\t}\n\t\t});\n\t}\n\n\toverride dispose() {\n\t\tsuper.dispose();\n\t\tif (this.observer) {\n\t\t\tthis.observer.disconnect();\n\t\t\tthis.observer = undefined;\n\t\t}\n\t}\n\n\tpublic addToHistory(always?: boolean): void {\n\t\tif (this.value && (always || this.value !== this.getCurrentValue())) {\n\t\t\tthis.history.add(this.value);\n\t\t}\n\t}\n\n\tpublic isAtLastInHistory(): boolean {\n\t\treturn this.history.isLast();\n\t}\n\n\tpublic isNowhereInHistory(): boolean {\n\t\treturn this.history.isNowhere();\n\t}\n\n\tpublic showNextValue(): void {\n\t\tif (!this.history.has(this.value)) {\n\t\t\tthis.addToHistory();\n\t\t}\n\n\t\tlet next = this.getNextValue();\n\t\tif (next) {\n\t\t\tnext = next === this.value ? this.getNextValue() : next;\n\t\t}\n\n\t\tthis.value = next ?? '';\n\t\taria.status(this.value ? this.value : nls.localize('clearedInput', \"Cleared Input\"));\n\t}\n\n\tpublic showPreviousValue(): void {\n\t\tif (!this.history.has(this.value)) {\n\t\t\tthis.addToHistory();\n\t\t}\n\n\t\tlet previous = this.getPreviousValue();\n\t\tif (previous) {\n\t\t\tprevious = previous === this.value ? this.getPreviousValue() : previous;\n\t\t}\n\n\t\tif (previous) {\n\t\t\tthis.value = previous;\n\t\t\taria.status(this.value);\n\t\t}\n\t}\n\n\tpublic override setPlaceHolder(placeHolder: string): void {\n\t\tsuper.setPlaceHolder(placeHolder);\n\t\tthis.setTooltip(placeHolder);\n\t}\n\n\tprotected override onBlur(): void {\n\t\tsuper.onBlur();\n\t\tthis._onDidBlur.fire();\n\t}\n\n\tprotected override onFocus(): void {\n\t\tsuper.onFocus();\n\t\tthis._onDidFocus.fire();\n\t}\n\n\tprivate getCurrentValue(): string | null {\n\t\tlet currentValue = this.history.current();\n\t\tif (!currentValue) {\n\t\t\tcurrentValue = this.history.last();\n\t\t\tthis.history.next();\n\t\t}\n\t\treturn currentValue;\n\t}\n\n\tprivate getPreviousValue(): string | null {\n\t\treturn this.history.previous() || this.history.first();\n\t}\n\n\tprivate getNextValue(): string | null {\n\t\treturn this.history.next();\n\t}\n}\n"]}
@@ -12,6 +12,7 @@ export class DecorationCssRuleExtractor extends Disposable {
12
12
  constructor() {
13
13
  super();
14
14
  this._ruleCache = new Map();
15
+ this._cssVariableCache = new Map();
15
16
  this._container = $('div.monaco-decoration-css-rule-extractor');
16
17
  this._dummyElement = $('span');
17
18
  this._container.appendChild(this._dummyElement);
@@ -71,10 +72,22 @@ export class DecorationCssRuleExtractor extends Disposable {
71
72
  * Resolves a CSS variable to its computed value using the container element.
72
73
  */
73
74
  resolveCssVariable(canvas, variableName) {
74
- canvas.appendChild(this._container);
75
- const result = getActiveWindow().getComputedStyle(this._container).getPropertyValue(variableName).trim();
76
- canvas.removeChild(this._container);
75
+ let result = this._cssVariableCache.get(variableName);
76
+ if (result === undefined) {
77
+ canvas.appendChild(this._container);
78
+ result = getActiveWindow().getComputedStyle(this._container).getPropertyValue(variableName).trim();
79
+ canvas.removeChild(this._container);
80
+ this._cssVariableCache.set(variableName, result);
81
+ }
77
82
  return result;
78
83
  }
84
+ /**
85
+ * Clears all cached CSS rules and CSS variable values. This should be called when the theme
86
+ * changes to ensure fresh values are computed.
87
+ */
88
+ clear() {
89
+ this._ruleCache.clear();
90
+ this._cssVariableCache.clear();
91
+ }
79
92
  }
80
93
  //# sourceMappingURL=decorationCssRuleExtractor.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/browser/gpu/css/decorationCssRuleExtractor.ts","vs/editor/browser/gpu/css/decorationCssRuleExtractor.ts"],"names":[],"mappings":"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","file":"decorationCssRuleExtractor.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { $, getActiveDocument, getActiveWindow } from '../../../../base/browser/dom.js';\nimport { Disposable, toDisposable } from '../../../../base/common/lifecycle.js';\nimport './media/decorationCssRuleExtractor.css';\n\n/**\n * Extracts CSS rules that would be applied to certain decoration classes.\n */\nexport class DecorationCssRuleExtractor extends Disposable {\n\tprivate _container: HTMLElement;\n\tprivate _dummyElement: HTMLSpanElement;\n\n\tprivate _ruleCache: Map</* className */string, CSSStyleRule[]> = new Map();\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._container = $('div.monaco-decoration-css-rule-extractor');\n\t\tthis._dummyElement = $('span');\n\t\tthis._container.appendChild(this._dummyElement);\n\n\t\tthis._register(toDisposable(() => this._container.remove()));\n\t}\n\n\tgetStyleRules(canvas: HTMLElement, decorationClassName: string): CSSStyleRule[] {\n\t\t// Check cache\n\t\tconst existing = this._ruleCache.get(decorationClassName);\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\n\t\t// Set up DOM\n\t\tthis._dummyElement.className = decorationClassName;\n\t\tcanvas.appendChild(this._container);\n\n\t\t// Get rules\n\t\tconst rules = this._getStyleRules(decorationClassName);\n\t\tthis._ruleCache.set(decorationClassName, rules);\n\n\t\t// Tear down DOM\n\t\tcanvas.removeChild(this._container);\n\n\t\treturn rules;\n\t}\n\n\tprivate _getStyleRules(className: string) {\n\t\t// Iterate through all stylesheets and imported stylesheets to find matching rules\n\t\tconst rules = [];\n\t\tconst doc = getActiveDocument();\n\t\tconst stylesheets = [...doc.styleSheets];\n\t\tfor (let i = 0; i < stylesheets.length; i++) {\n\t\t\tconst stylesheet = stylesheets[i];\n\t\t\tfor (const rule of stylesheet.cssRules) {\n\t\t\t\tif (rule instanceof CSSImportRule) {\n\t\t\t\t\tif (rule.styleSheet) {\n\t\t\t\t\t\tstylesheets.push(rule.styleSheet);\n\t\t\t\t\t}\n\t\t\t\t} else if (rule instanceof CSSStyleRule) {\n\t\t\t\t\t// Note that originally `.matches(rule.selectorText)` was used but this would\n\t\t\t\t\t// not pick up pseudo-classes which are important to determine support of the\n\t\t\t\t\t// returned styles.\n\t\t\t\t\t//\n\t\t\t\t\t// Since a selector could contain a class name lookup that is simple a prefix of\n\t\t\t\t\t// the class name we are looking for, we need to also check the character after\n\t\t\t\t\t// it.\n\t\t\t\t\tconst searchTerm = `.${className}`;\n\t\t\t\t\tconst index = rule.selectorText.indexOf(searchTerm);\n\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\tconst endOfResult = index + searchTerm.length;\n\t\t\t\t\t\tif (rule.selectorText.length === endOfResult || rule.selectorText.substring(endOfResult, endOfResult + 1).match(/[ :]/)) {\n\t\t\t\t\t\t\trules.push(rule);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn rules;\n\t}\n\n\t/**\n\t * Resolves a CSS variable to its computed value using the container element.\n\t */\n\tresolveCssVariable(canvas: HTMLCanvasElement, variableName: string): string {\n\t\tcanvas.appendChild(this._container);\n\t\tconst result = getActiveWindow().getComputedStyle(this._container).getPropertyValue(variableName).trim();\n\t\tcanvas.removeChild(this._container);\n\t\treturn result;\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { $, getActiveDocument, getActiveWindow } from '../../../../base/browser/dom.js';\nimport { Disposable, toDisposable } from '../../../../base/common/lifecycle.js';\nimport './media/decorationCssRuleExtractor.css';\n\n/**\n * Extracts CSS rules that would be applied to certain decoration classes.\n */\nexport class DecorationCssRuleExtractor extends Disposable {\n\tprivate _container: HTMLElement;\n\tprivate _dummyElement: HTMLSpanElement;\n\n\tprivate _ruleCache: Map</* className */string, CSSStyleRule[]> = new Map();\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._container = $('div.monaco-decoration-css-rule-extractor');\n\t\tthis._dummyElement = $('span');\n\t\tthis._container.appendChild(this._dummyElement);\n\n\t\tthis._register(toDisposable(() => this._container.remove()));\n\t}\n\n\tgetStyleRules(canvas: HTMLElement, decorationClassName: string): CSSStyleRule[] {\n\t\t// Check cache\n\t\tconst existing = this._ruleCache.get(decorationClassName);\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\n\t\t// Set up DOM\n\t\tthis._dummyElement.className = decorationClassName;\n\t\tcanvas.appendChild(this._container);\n\n\t\t// Get rules\n\t\tconst rules = this._getStyleRules(decorationClassName);\n\t\tthis._ruleCache.set(decorationClassName, rules);\n\n\t\t// Tear down DOM\n\t\tcanvas.removeChild(this._container);\n\n\t\treturn rules;\n\t}\n\n\tprivate _getStyleRules(className: string) {\n\t\t// Iterate through all stylesheets and imported stylesheets to find matching rules\n\t\tconst rules = [];\n\t\tconst doc = getActiveDocument();\n\t\tconst stylesheets = [...doc.styleSheets];\n\t\tfor (let i = 0; i < stylesheets.length; i++) {\n\t\t\tconst stylesheet = stylesheets[i];\n\t\t\tfor (const rule of stylesheet.cssRules) {\n\t\t\t\tif (rule instanceof CSSImportRule) {\n\t\t\t\t\tif (rule.styleSheet) {\n\t\t\t\t\t\tstylesheets.push(rule.styleSheet);\n\t\t\t\t\t}\n\t\t\t\t} else if (rule instanceof CSSStyleRule) {\n\t\t\t\t\t// Note that originally `.matches(rule.selectorText)` was used but this would\n\t\t\t\t\t// not pick up pseudo-classes which are important to determine support of the\n\t\t\t\t\t// returned styles.\n\t\t\t\t\t//\n\t\t\t\t\t// Since a selector could contain a class name lookup that is simple a prefix of\n\t\t\t\t\t// the class name we are looking for, we need to also check the character after\n\t\t\t\t\t// it.\n\t\t\t\t\tconst searchTerm = `.${className}`;\n\t\t\t\t\tconst index = rule.selectorText.indexOf(searchTerm);\n\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\tconst endOfResult = index + searchTerm.length;\n\t\t\t\t\t\tif (rule.selectorText.length === endOfResult || rule.selectorText.substring(endOfResult, endOfResult + 1).match(/[ :]/)) {\n\t\t\t\t\t\t\trules.push(rule);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn rules;\n\t}\n\n\t/**\n\t * Resolves a CSS variable to its computed value using the container element.\n\t */\n\tresolveCssVariable(canvas: HTMLCanvasElement, variableName: string): string {\n\t\tcanvas.appendChild(this._container);\n\t\tconst result = getActiveWindow().getComputedStyle(this._container).getPropertyValue(variableName).trim();\n\t\tcanvas.removeChild(this._container);\n\t\treturn result;\n\t}\n}\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/browser/gpu/css/decorationCssRuleExtractor.ts","vs/editor/browser/gpu/css/decorationCssRuleExtractor.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,wCAAwC,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,UAAU;IAOzD;QACC,KAAK,EAAE,CAAC;QAJD,eAAU,GAA+C,IAAI,GAAG,EAAE,CAAC;QACnE,sBAAiB,GAAqD,IAAI,GAAG,EAAE,CAAC;QAKvF,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,0CAA0C,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,aAAa,CAAC,MAAmB,EAAE,mBAA2B;QAC7D,cAAc;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC1D,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,aAAa;QACb,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,mBAAmB,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpC,YAAY;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QAEhD,gBAAgB;QAChB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,SAAiB;QACvC,kFAAkF;QAClF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACxC,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACrB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACnC,CAAC;gBACF,CAAC;qBAAM,IAAI,IAAI,YAAY,YAAY,EAAE,CAAC;oBACzC,6EAA6E;oBAC7E,6EAA6E;oBAC7E,mBAAmB;oBACnB,EAAE;oBACF,gFAAgF;oBAChF,+EAA+E;oBAC/E,MAAM;oBACN,MAAM,UAAU,GAAG,IAAI,SAAS,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACpD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;wBAClB,MAAM,WAAW,GAAG,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;wBAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;4BACzH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClB,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAAyB,EAAE,YAAoB;QACjE,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,GAAG,eAAe,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;YACnG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK;QACJ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACD","file":"decorationCssRuleExtractor.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { $, getActiveDocument, getActiveWindow } from '../../../../base/browser/dom.js';\nimport { Disposable, toDisposable } from '../../../../base/common/lifecycle.js';\nimport './media/decorationCssRuleExtractor.css';\n\n/**\n * Extracts CSS rules that would be applied to certain decoration classes.\n */\nexport class DecorationCssRuleExtractor extends Disposable {\n\tprivate _container: HTMLElement;\n\tprivate _dummyElement: HTMLSpanElement;\n\n\tprivate _ruleCache: Map</* className */string, CSSStyleRule[]> = new Map();\n\tprivate _cssVariableCache: Map</* variableName */string, /* value */string> = new Map();\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._container = $('div.monaco-decoration-css-rule-extractor');\n\t\tthis._dummyElement = $('span');\n\t\tthis._container.appendChild(this._dummyElement);\n\n\t\tthis._register(toDisposable(() => this._container.remove()));\n\t}\n\n\tgetStyleRules(canvas: HTMLElement, decorationClassName: string): CSSStyleRule[] {\n\t\t// Check cache\n\t\tconst existing = this._ruleCache.get(decorationClassName);\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\n\t\t// Set up DOM\n\t\tthis._dummyElement.className = decorationClassName;\n\t\tcanvas.appendChild(this._container);\n\n\t\t// Get rules\n\t\tconst rules = this._getStyleRules(decorationClassName);\n\t\tthis._ruleCache.set(decorationClassName, rules);\n\n\t\t// Tear down DOM\n\t\tcanvas.removeChild(this._container);\n\n\t\treturn rules;\n\t}\n\n\tprivate _getStyleRules(className: string) {\n\t\t// Iterate through all stylesheets and imported stylesheets to find matching rules\n\t\tconst rules = [];\n\t\tconst doc = getActiveDocument();\n\t\tconst stylesheets = [...doc.styleSheets];\n\t\tfor (let i = 0; i < stylesheets.length; i++) {\n\t\t\tconst stylesheet = stylesheets[i];\n\t\t\tfor (const rule of stylesheet.cssRules) {\n\t\t\t\tif (rule instanceof CSSImportRule) {\n\t\t\t\t\tif (rule.styleSheet) {\n\t\t\t\t\t\tstylesheets.push(rule.styleSheet);\n\t\t\t\t\t}\n\t\t\t\t} else if (rule instanceof CSSStyleRule) {\n\t\t\t\t\t// Note that originally `.matches(rule.selectorText)` was used but this would\n\t\t\t\t\t// not pick up pseudo-classes which are important to determine support of the\n\t\t\t\t\t// returned styles.\n\t\t\t\t\t//\n\t\t\t\t\t// Since a selector could contain a class name lookup that is simple a prefix of\n\t\t\t\t\t// the class name we are looking for, we need to also check the character after\n\t\t\t\t\t// it.\n\t\t\t\t\tconst searchTerm = `.${className}`;\n\t\t\t\t\tconst index = rule.selectorText.indexOf(searchTerm);\n\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\tconst endOfResult = index + searchTerm.length;\n\t\t\t\t\t\tif (rule.selectorText.length === endOfResult || rule.selectorText.substring(endOfResult, endOfResult + 1).match(/[ :]/)) {\n\t\t\t\t\t\t\trules.push(rule);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn rules;\n\t}\n\n\t/**\n\t * Resolves a CSS variable to its computed value using the container element.\n\t */\n\tresolveCssVariable(canvas: HTMLCanvasElement, variableName: string): string {\n\t\tlet result = this._cssVariableCache.get(variableName);\n\t\tif (result === undefined) {\n\t\t\tcanvas.appendChild(this._container);\n\t\t\tresult = getActiveWindow().getComputedStyle(this._container).getPropertyValue(variableName).trim();\n\t\t\tcanvas.removeChild(this._container);\n\t\t\tthis._cssVariableCache.set(variableName, result);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * Clears all cached CSS rules and CSS variable values. This should be called when the theme\n\t * changes to ensure fresh values are computed.\n\t */\n\tclear(): void {\n\t\tthis._ruleCache.clear();\n\t\tthis._cssVariableCache.clear();\n\t}\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { $, getActiveDocument, getActiveWindow } from '../../../../base/browser/dom.js';\nimport { Disposable, toDisposable } from '../../../../base/common/lifecycle.js';\nimport './media/decorationCssRuleExtractor.css';\n\n/**\n * Extracts CSS rules that would be applied to certain decoration classes.\n */\nexport class DecorationCssRuleExtractor extends Disposable {\n\tprivate _container: HTMLElement;\n\tprivate _dummyElement: HTMLSpanElement;\n\n\tprivate _ruleCache: Map</* className */string, CSSStyleRule[]> = new Map();\n\tprivate _cssVariableCache: Map</* variableName */string, /* value */string> = new Map();\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._container = $('div.monaco-decoration-css-rule-extractor');\n\t\tthis._dummyElement = $('span');\n\t\tthis._container.appendChild(this._dummyElement);\n\n\t\tthis._register(toDisposable(() => this._container.remove()));\n\t}\n\n\tgetStyleRules(canvas: HTMLElement, decorationClassName: string): CSSStyleRule[] {\n\t\t// Check cache\n\t\tconst existing = this._ruleCache.get(decorationClassName);\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\n\t\t// Set up DOM\n\t\tthis._dummyElement.className = decorationClassName;\n\t\tcanvas.appendChild(this._container);\n\n\t\t// Get rules\n\t\tconst rules = this._getStyleRules(decorationClassName);\n\t\tthis._ruleCache.set(decorationClassName, rules);\n\n\t\t// Tear down DOM\n\t\tcanvas.removeChild(this._container);\n\n\t\treturn rules;\n\t}\n\n\tprivate _getStyleRules(className: string) {\n\t\t// Iterate through all stylesheets and imported stylesheets to find matching rules\n\t\tconst rules = [];\n\t\tconst doc = getActiveDocument();\n\t\tconst stylesheets = [...doc.styleSheets];\n\t\tfor (let i = 0; i < stylesheets.length; i++) {\n\t\t\tconst stylesheet = stylesheets[i];\n\t\t\tfor (const rule of stylesheet.cssRules) {\n\t\t\t\tif (rule instanceof CSSImportRule) {\n\t\t\t\t\tif (rule.styleSheet) {\n\t\t\t\t\t\tstylesheets.push(rule.styleSheet);\n\t\t\t\t\t}\n\t\t\t\t} else if (rule instanceof CSSStyleRule) {\n\t\t\t\t\t// Note that originally `.matches(rule.selectorText)` was used but this would\n\t\t\t\t\t// not pick up pseudo-classes which are important to determine support of the\n\t\t\t\t\t// returned styles.\n\t\t\t\t\t//\n\t\t\t\t\t// Since a selector could contain a class name lookup that is simple a prefix of\n\t\t\t\t\t// the class name we are looking for, we need to also check the character after\n\t\t\t\t\t// it.\n\t\t\t\t\tconst searchTerm = `.${className}`;\n\t\t\t\t\tconst index = rule.selectorText.indexOf(searchTerm);\n\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\tconst endOfResult = index + searchTerm.length;\n\t\t\t\t\t\tif (rule.selectorText.length === endOfResult || rule.selectorText.substring(endOfResult, endOfResult + 1).match(/[ :]/)) {\n\t\t\t\t\t\t\trules.push(rule);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn rules;\n\t}\n\n\t/**\n\t * Resolves a CSS variable to its computed value using the container element.\n\t */\n\tresolveCssVariable(canvas: HTMLCanvasElement, variableName: string): string {\n\t\tlet result = this._cssVariableCache.get(variableName);\n\t\tif (result === undefined) {\n\t\t\tcanvas.appendChild(this._container);\n\t\t\tresult = getActiveWindow().getComputedStyle(this._container).getPropertyValue(variableName).trim();\n\t\t\tcanvas.removeChild(this._container);\n\t\t\tthis._cssVariableCache.set(variableName, result);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * Clears all cached CSS rules and CSS variable values. This should be called when the theme\n\t * changes to ensure fresh values are computed.\n\t */\n\tclear(): void {\n\t\tthis._ruleCache.clear();\n\t\tthis._cssVariableCache.clear();\n\t}\n}\n"]}
@@ -247,7 +247,7 @@ export class FullFileRenderStrategy extends BaseRenderStrategy {
247
247
  tabXOffset = 0;
248
248
  contentSegmenter = createContentSegmenter(lineData, viewLineOptions);
249
249
  charWidth = viewLineOptions.spaceWidth * dpr;
250
- absoluteOffsetX = 0;
250
+ absoluteOffsetX = (lineData.minColumn - 1) * charWidth;
251
251
  tokens = lineData.tokens;
252
252
  tokenStartIndex = lineData.minColumn - 1;
253
253
  tokenEndIndex = 0;