@itwin/appui-abstract 4.3.0-dev.8 → 4.4.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/CHANGELOG.md +38 -1
  2. package/lib/cjs/appui-abstract/UiAdmin.d.ts.map +1 -1
  3. package/lib/cjs/appui-abstract/UiAdmin.js +5 -4
  4. package/lib/cjs/appui-abstract/UiAdmin.js.map +1 -1
  5. package/lib/cjs/appui-abstract/UiItemsManager.d.ts.map +1 -1
  6. package/lib/cjs/appui-abstract/UiItemsManager.js +4 -4
  7. package/lib/cjs/appui-abstract/UiItemsManager.js.map +1 -1
  8. package/lib/cjs/appui-abstract/common/KeyboardKey.d.ts +3 -3
  9. package/lib/cjs/appui-abstract/common/KeyboardKey.d.ts.map +1 -1
  10. package/lib/cjs/appui-abstract/common/KeyboardKey.js +4 -3
  11. package/lib/cjs/appui-abstract/common/KeyboardKey.js.map +1 -1
  12. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.d.ts +3 -3
  13. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.d.ts.map +1 -1
  14. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js +4 -3
  15. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
  16. package/lib/cjs/appui-abstract/utils/UiError.d.ts +1 -1
  17. package/lib/cjs/appui-abstract/utils/UiError.js +1 -1
  18. package/lib/cjs/appui-abstract/utils/UiError.js.map +1 -1
  19. package/lib/cjs/appui-abstract/utils/filter/filters.d.ts +2 -80
  20. package/lib/cjs/appui-abstract/utils/filter/filters.d.ts.map +1 -1
  21. package/lib/cjs/appui-abstract/utils/filter/filters.js +13 -621
  22. package/lib/cjs/appui-abstract/utils/filter/filters.js.map +1 -1
  23. package/lib/cjs/appui-abstract/utils/misc.d.ts +1 -4
  24. package/lib/cjs/appui-abstract/utils/misc.d.ts.map +1 -1
  25. package/lib/cjs/appui-abstract/utils/misc.js +2 -10
  26. package/lib/cjs/appui-abstract/utils/misc.js.map +1 -1
  27. package/lib/cjs/appui-abstract.d.ts +0 -2
  28. package/lib/cjs/appui-abstract.d.ts.map +1 -1
  29. package/lib/cjs/appui-abstract.js +0 -2
  30. package/lib/cjs/appui-abstract.js.map +1 -1
  31. package/lib/esm/appui-abstract/UiAdmin.d.ts.map +1 -1
  32. package/lib/esm/appui-abstract/UiAdmin.js +6 -5
  33. package/lib/esm/appui-abstract/UiAdmin.js.map +1 -1
  34. package/lib/esm/appui-abstract/UiItemsManager.d.ts.map +1 -1
  35. package/lib/esm/appui-abstract/UiItemsManager.js +4 -4
  36. package/lib/esm/appui-abstract/UiItemsManager.js.map +1 -1
  37. package/lib/esm/appui-abstract/common/KeyboardKey.d.ts +3 -3
  38. package/lib/esm/appui-abstract/common/KeyboardKey.d.ts.map +1 -1
  39. package/lib/esm/appui-abstract/common/KeyboardKey.js +4 -3
  40. package/lib/esm/appui-abstract/common/KeyboardKey.js.map +1 -1
  41. package/lib/esm/appui-abstract/utils/IconSpecUtilities.d.ts +3 -3
  42. package/lib/esm/appui-abstract/utils/IconSpecUtilities.d.ts.map +1 -1
  43. package/lib/esm/appui-abstract/utils/IconSpecUtilities.js +4 -3
  44. package/lib/esm/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
  45. package/lib/esm/appui-abstract/utils/UiError.d.ts +1 -1
  46. package/lib/esm/appui-abstract/utils/UiError.js +1 -1
  47. package/lib/esm/appui-abstract/utils/UiError.js.map +1 -1
  48. package/lib/esm/appui-abstract/utils/filter/filters.d.ts +2 -80
  49. package/lib/esm/appui-abstract/utils/filter/filters.d.ts.map +1 -1
  50. package/lib/esm/appui-abstract/utils/filter/filters.js +12 -609
  51. package/lib/esm/appui-abstract/utils/filter/filters.js.map +1 -1
  52. package/lib/esm/appui-abstract/utils/misc.d.ts +1 -4
  53. package/lib/esm/appui-abstract/utils/misc.d.ts.map +1 -1
  54. package/lib/esm/appui-abstract/utils/misc.js +1 -8
  55. package/lib/esm/appui-abstract/utils/misc.js.map +1 -1
  56. package/lib/esm/appui-abstract.d.ts +0 -2
  57. package/lib/esm/appui-abstract.d.ts.map +1 -1
  58. package/lib/esm/appui-abstract.js +0 -2
  59. package/lib/esm/appui-abstract.js.map +1 -1
  60. package/package.json +5 -6
  61. package/lib/cjs/appui-abstract/utils/filter/charCode.d.ts +0 -417
  62. package/lib/cjs/appui-abstract/utils/filter/charCode.d.ts.map +0 -1
  63. package/lib/cjs/appui-abstract/utils/filter/charCode.js +0 -7
  64. package/lib/cjs/appui-abstract/utils/filter/charCode.js.map +0 -1
  65. package/lib/cjs/appui-abstract/utils/filter/map.d.ts +0 -60
  66. package/lib/cjs/appui-abstract/utils/filter/map.d.ts.map +0 -1
  67. package/lib/cjs/appui-abstract/utils/filter/map.js +0 -403
  68. package/lib/cjs/appui-abstract/utils/filter/map.js.map +0 -1
  69. package/lib/cjs/appui-abstract/utils/filter/strings.d.ts +0 -21
  70. package/lib/cjs/appui-abstract/utils/filter/strings.d.ts.map +0 -1
  71. package/lib/cjs/appui-abstract/utils/filter/strings.js +0 -79
  72. package/lib/cjs/appui-abstract/utils/filter/strings.js.map +0 -1
  73. package/lib/esm/appui-abstract/utils/filter/charCode.d.ts +0 -417
  74. package/lib/esm/appui-abstract/utils/filter/charCode.d.ts.map +0 -1
  75. package/lib/esm/appui-abstract/utils/filter/charCode.js +0 -6
  76. package/lib/esm/appui-abstract/utils/filter/charCode.js.map +0 -1
  77. package/lib/esm/appui-abstract/utils/filter/map.d.ts +0 -60
  78. package/lib/esm/appui-abstract/utils/filter/map.d.ts.map +0 -1
  79. package/lib/esm/appui-abstract/utils/filter/map.js +0 -398
  80. package/lib/esm/appui-abstract/utils/filter/map.js.map +0 -1
  81. package/lib/esm/appui-abstract/utils/filter/strings.d.ts +0 -21
  82. package/lib/esm/appui-abstract/utils/filter/strings.d.ts.map +0 -1
  83. package/lib/esm/appui-abstract/utils/filter/strings.js +0 -71
  84. package/lib/esm/appui-abstract/utils/filter/strings.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../src/appui-abstract/utils/filter/filters.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AASH,+BAAiC;AACjC,qCAAqC;AAkBrC,mBAAmB;AAEnB;;;;;;GAMG;AACH,SAAgB,EAAE,CAAC,GAAG,MAAiB;IACrC,OAAO,UAAU,IAAY,EAAE,kBAA0B;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAClD,IAAI,KAAK,EAAE;gBACT,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAVD,gBAUC;AAED,SAAS;AAET,gBAAgB;AACH,QAAA,mBAAmB,GAAY,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAClF,gBAAgB;AACH,QAAA,aAAa,GAAY,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAE3E,SAAS,cAAc,CAAC,UAAmB,EAAE,IAAY,EAAE,kBAA0B;IACnF,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAClE,OAAO,IAAI,CAAC;KACb;IAED,IAAI,OAAgB,CAAC;IACrB,IAAI,UAAU,EAAE;QACd,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;KAClE;SAAM;QACL,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClD;IAED,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,uBAAuB;AAEvB,gBAAgB;AAChB,SAAgB,0BAA0B,CAAC,IAAY,EAAE,kBAA0B;IACjF,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACtD,CAAC;AAPD,gEAOC;AAED,YAAY;AAEZ;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,IAAY,EAAE,kBAA0B;IACvE,OAAO,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACvF,CAAC;AAFD,4CAEC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,kBAA0B,EAAE,CAAS,EAAE,CAAS;IACvF,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,CAAC,KAAK,kBAAkB,CAAC,MAAM,EAAE;QAC1C,OAAO,IAAI,CAAC;KACb;SAAM;QACL,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,EAAE;YACrC,IAAI,MAAM,GAAoB,IAAI,CAAC;YACnC,IAAI,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;gBACtE,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;aAC/C;YACD,OAAO,IAAI,CAAC;SACb;QAED,OAAO,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,YAAY;AAEZ,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,uBAAc,IAAI,IAAI,IAAI,wBAAc,CAAC;AAClD,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,uBAAc,IAAI,IAAI,IAAI,uBAAc,CAAC;AAClD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,4BAAmB,IAAI,IAAI,IAAI,4BAAmB,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,CACL,IAAI,4BAAmB;WACpB,IAAI,yBAAiB;WACrB,IAAI,+BAAsB;WAC1B,IAAI,qCAA4B,CACpC,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AACzC,mCAAmC;KAChC,KAAK,CAAC,EAAE,CAAC;KACT,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvD,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,KAAa;IACnD,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,IAAc;IACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;KACf;SAAM,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;QACrC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;KAC5B;SAAM;QACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACpB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,aAAqB,EAAE,KAAa;IACtD,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACjD,MAAM,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5F,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,aAAa,CAAC,MAAM,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,aAAqB,EAAE,CAAS,EAAE,CAAS;IAClF,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,CAAC,KAAK,aAAa,CAAC,MAAM,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;QACrD,OAAO,IAAI,CAAC;KACb;SAAM;QACL,IAAI,MAAM,GAAoB,IAAI,CAAC;QACnC,IAAI,cAAc,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,MAAM,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE;YACrG,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;YACvE,cAAc,EAAE,CAAC;SAClB;QACD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACxE;AACH,CAAC;AASD,uEAAuE;AACvE,4BAA4B;AAC5B,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;IAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,CAAC;SAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,CAAC;SAAE;QAC/B,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,CAAC;SAAE;QACtC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;SAAE;KACnC;IAED,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IACzC,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IACzC,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IACzC,MAAM,cAAc,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAE7C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,eAAe,CAAC,QAA4B;IACnD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IAChD,OAAO,YAAY,KAAK,CAAC,IAAI,YAAY,GAAG,GAAG,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAC,QAA4B;IACnD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;IAC9E,OAAO,YAAY,GAAG,GAAG,IAAI,YAAY,GAAG,GAAG,IAAI,YAAY,GAAG,GAAG,IAAI,cAAc,GAAG,GAAG,CAAC;AAChG,CAAC;AAED,uEAAuE;AACvE,iCAAiC;AACjC,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC;IAEnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACpC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,CAAC;SAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,CAAC;SAAE;QAC/B,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE;YAAE,UAAU,EAAE,CAAC;SAAE;KAC1C;IAED,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE;QACpD,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;KAC1B;SAAM;QACL,OAAO,KAAK,IAAI,CAAC,CAAC;KACnB;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,IAAY,EAAE,aAAqB;IAClE,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IAErC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE;QACtC,OAAO,IAAI,CAAC;KACb;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE,EAAE;QAC7B,OAAO,IAAI,CAAC;KACb;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC9B,uBAAuB;QACvB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;KAC7C;IAED,IAAI,MAAM,GAAoB,IAAI,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;QACnG,CAAC,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACtC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvCD,4CAuCC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,aAAsB,KAAK;IACpF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;IAED,IAAI,MAAM,GAAoB,IAAI,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7F,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,oCAeC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,MAAc,EAAE,CAAS,EAAE,CAAS,EAAE,UAAmB;IAC5F,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;QACrE,OAAO,IAAI,CAAC;KACb;SAAM;QACL,IAAI,MAAM,GAAoB,IAAI,CAAC;QACnC,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/D,uBAAuB;QACvB,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;gBACnF,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;gBACvE,aAAa,EAAE,CAAC;aACjB;SACF;QACD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACxE;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACpD,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED,QAAQ;AAER,MAAM,qBAAqB,GAAG,EAAE,CAAC,qBAAa,EAAE,gBAAgB,EAAE,0BAA0B,CAAC,CAAC;AAC9F,MAAM,mBAAmB,GAAG,EAAE,CAAC,qBAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAClF,MAAM,gBAAgB,GAAG,IAAI,cAAQ,CAAiB,KAAK,CAAC,CAAC,CAAC,4BAA4B;AAE1F;;;GAGG;AACH,SAAgB,YAAY,CAAC,IAAY,EAAE,kBAA0B,EAAE,+BAA+B,GAAG,KAAK;IAC5G,uBAAuB;IACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE;QACtE,OAAO,IAAI,CAAC,CAAC,iCAAiC;KAC/C;IAED,mCAAmC;IACnC,IAAI,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACpE,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACpC;IAED,gBAAgB;IAChB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC9C,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;KACrE;IAED,iBAAiB;IACjB,OAAO,+BAA+B,CAAC,CAAC,CAAC,0BAA0B,CAAC,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACtK,CAAC;AArBD,oCAqBC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,OAAe,EAAE,IAAY;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAHD,sCAGC;AAED,6BAA6B;AAC7B;;GAEG;AACH,SAAgB,aAAa,CAAC,KAA6B;IACzD,uBAAuB;IACvB,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QAChC,OAAO,EAAE,CAAC;KACX;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,KAAK,IAAI,GAAG,GAAG,SAAS,EAAE,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE;QAC9C,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE;gBAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;aACpB;iBAAM;gBACL,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;aACxC;SACF;KACF;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AArBD,sCAqBC;AAED,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB,SAAS,SAAS;IAChB,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE;QACjC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACd;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrB;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAC3B,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;AAC5B,yEAAyE;AACzE,MAAM,OAAO,GAAc,SAAS,EAAE,CAAC;AACvC,MAAM,MAAM,GAAG,KAAK,CAAC;AAErB,SAAS,gBAAgB,CAAC,KAAa,EAAE,KAAa;IACpD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;QACtC,OAAO,KAAK,CAAC;KACd;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,QAAQ,IAAI,EAAE;QACZ,iCAAwB;QACxB,4BAAmB;QACnB,8BAAqB;QACrB,6BAAoB;QACpB,6BAAoB;QACpB,iCAAwB;QACxB,mCAA0B;QAC1B,mCAA0B;QAC1B,6BAAoB;QACpB;YACE,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,KAAa;IACrD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;QACtC,OAAO,KAAK,CAAC;KACd;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,QAAQ,IAAI,EAAE;QACZ,uBAAuB;QACvB,6BAAoB;QACpB;YACE,OAAO,IAAI,CAAC;QACd;YACE,OAAO,KAAK,CAAC;KAChB;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW,EAAE,IAAY,EAAE,OAAe;IAClE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,gBAAgB;AAChB,SAAgB,eAAe,CAAC,UAAkB,EAAE,UAAkB,EAAE,UAAkB,EAAE,OAAe,EAAE,OAAe,EAAE,OAAe;IAC3I,OAAO,UAAU,GAAG,UAAU,IAAI,OAAO,GAAG,OAAO,EAAE;QACnD,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE;YAC/C,UAAU,IAAI,CAAC,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,CAAC;KACd;IACD,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,4BAA4B;AAChE,CAAC;AARD,0CAQC;AAaD,gBAAgB;AAChB,IAAiB,UAAU,CAa1B;AAbD,WAAiB,UAAU;IACzB;;;MAGE;IACF,yEAAyE;IAC5D,kBAAO,GAA+B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE/E,uBAAuB;IACvB,gBAAgB;IAChB,SAAgB,SAAS,CAAC,KAAkB;QAC1C,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAFe,oBAAS,YAExB,CAAA;AACH,CAAC,EAbgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAa1B;AAKD,gBAAgB;AAChB,SAAgB,UAAU,CAAC,OAAe,EAAE,UAAkB,EAAE,YAAoB,EAAE,IAAY,EAAE,OAAe,EAAE,SAAiB,EAAE,mBAA4B;IAClK,uBAAuB;IACvB,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAE9D,IAAI,YAAY,IAAI,UAAU,IAAI,SAAS,IAAI,OAAO,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE;QAC7G,OAAO,SAAS,CAAC;KAClB;IAED,wDAAwD;IACxD,uDAAuD;IACvD,yCAAyC;IACzC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QACvF,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,GAAG,GAAW,CAAC,CAAC;IACpB,IAAI,MAAM,GAAW,CAAC,CAAC;IACvB,IAAI,UAAU,GAAG,YAAY,CAAC;IAC9B,IAAI,OAAO,GAAG,SAAS,CAAC;IAExB,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,wCAAwC;IACxC,KAAK,GAAG,GAAG,CAAC,EAAE,UAAU,GAAG,YAAY,EAAE,UAAU,GAAG,UAAU,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE;QAErF,KAAK,MAAM,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE;YAE5E,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAE9F,IAAI,UAAU,KAAK,YAAY,IAAI,KAAK,GAAG,CAAC,EAAE;gBAC5C,mBAAmB,GAAG,IAAI,CAAC;aAC5B;YAED,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YAE7B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1C,IAAI,IAAI,IAAI,GAAG,EAAE;gBACf,eAAe;gBACf,IAAI,IAAI,GAAG,IAAI,EAAE;oBACf,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,qBAAa,CAAC;iBACnC;qBAAM,IAAI,IAAI,KAAK,IAAI,EAAE;oBACxB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,uCAAuB,CAAC;iBAChD;qBAAM;oBACL,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,qBAAa,CAAC;iBACnC;aACF;iBAAM;gBACL,cAAc;gBACd,IAAI,GAAG,GAAG,IAAI,EAAE;oBACd,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,oBAAY,CAAC;iBAClC;qBAAM,IAAI,GAAG,KAAK,IAAI,EAAE;oBACvB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,sCAAsB,CAAC;iBAC/C;qBAAM;oBACL,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,qBAAa,CAAC;iBACnC;aACF;SACF;KACF;IAED,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,EAAE;QAChD,OAAO,SAAS,CAAC;KAClB;IAED,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,GAAG,CAAC,GAAG,CAAC;IACjB,UAAU,GAAG,SAAS,CAAC;IACvB,oBAAoB,GAAG,mBAAmB,CAAC;IAE3C,gBAAgB,CAAC,GAAG,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAChF,IAAI,aAAa,KAAK,CAAC,EAAE;QACvB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC;AAnFD,gCAmFC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,UAAkB,EAAE,UAAkB,EAAE,YAAoB,EAAE,IAAY,EAAE,OAAe,EAAE,OAAe;IAC7I,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE;QAC/C,OAAO,CAAC,CAAC,CAAC;KACX;IACD,IAAI,OAAO,KAAK,CAAC,UAAU,GAAG,YAAY,CAAC,EAAE;QAC3C,qCAAqC;QACrC,mCAAmC;QACnC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;YACzC,OAAO,CAAC,CAAC;SACV;aAAM;YACL,OAAO,CAAC,CAAC;SACV;KACF;SAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;QACvH,0CAA0C;QAC1C,oCAAoC;QACpC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;YACzC,OAAO,CAAC,CAAC;SACV;aAAM;YACL,OAAO,CAAC,CAAC;SACV;KACF;SAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;QAC3G,uCAAuC;QACvC,mCAAmC;QACnC,OAAO,CAAC,CAAC;KAEV;SAAM,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE;QAC5F,oCAAoC;QACpC,mCAAmC;QACnC,OAAO,CAAC,CAAC;KAEV;SAAM;QACL,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAED,IAAI,aAAa,GAAW,CAAC,CAAC;AAC9B,IAAI,UAAU,GAAW,CAAC,CAAC;AAC3B,IAAI,SAAS,GAAW,CAAC,CAAC;AAC1B,IAAI,UAAU,GAAW,CAAC,CAAC;AAC3B,IAAI,oBAAoB,GAAY,KAAK,CAAC;AAE1C,SAAS,gBAAgB,CAAC,GAAW,EAAE,MAAc,EAAE,KAAa,EAAE,OAAe,EAAE,WAAoB;IAEzG,IAAI,aAAa,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE;QACtC,0CAA0C;QAC1C,+CAA+C;QAC/C,OAAO;KACR;IAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,OAAO,GAAG,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;QAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QAEnC,IAAI,KAAK,uBAAe,EAAE;YACxB,0CAA0C;YAC1C,MAAM,IAAI,CAAC,CAAC;YACZ,IAAI,WAAW,EAAE;gBACf,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB;aAC/B;iBAAM,IAAI,OAAO,KAAK,CAAC,EAAE;gBACxB,KAAK,IAAI,CAAC,CAAC,CAAC,gCAAgC;aAC7C;YACD,WAAW,GAAG,KAAK,CAAC;YACpB,gBAAgB,GAAG,CAAC,CAAC;SACtB;aAAM;YACL,0BAA0B;YAC1B,IAAI,KAAK,qBAAa,EAAE;gBACtB,IAAI,KAAK,qBAAa,EAAE;oBACtB,OAAO;oBACP,gBAAgB,CACd,GAAG,EACH,MAAM,GAAG,CAAC,EACV,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,gCAAgC;oBACnE,OAAO,EACP,WAAW,CACZ,CAAC;iBACH;gBAED,OAAO;gBACP,KAAK,IAAI,KAAK,CAAC;gBACf,GAAG,IAAI,CAAC,CAAC;gBACT,MAAM,IAAI,CAAC,CAAC;gBACZ,WAAW,GAAG,IAAI,CAAC;gBAEnB,mCAAmC;gBACnC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;gBAEtC,0CAA0C;gBAC1C,sCAAsC;gBACtC,gBAAgB;gBAChB,IAAI,KAAK,KAAK,CAAC,EAAE;oBACf,gBAAgB,IAAI,CAAC,CAAC;oBAEtB,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE;wBACtC,iCAAiC;wBACjC,sBAAsB;wBACtB,OAAO,SAAS,CAAC;qBAClB;iBAEF;qBAAM;oBACL,QAAQ;oBACR,KAAK,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC9C,gBAAgB,GAAG,CAAC,CAAC;iBACtB;aAEF;iBAAM;gBACL,uBAAuB;gBACvB,OAAO,SAAS,CAAC;aAClB;SACF;KACF;IAED,KAAK,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,qBAAqB;IAE5D,kDAAkD;IAClD,8DAA8D;IAC9D,aAAa,IAAI,CAAC,CAAC;IACnB,IAAI,KAAK,GAAG,SAAS,EAAE;QACrB,SAAS,GAAG,KAAK,CAAC;QAClB,UAAU,GAAG,OAAO,CAAC;KACtB;AACH,CAAC;AAED,aAAa;AAEb,2BAA2B;AAC3B,gBAAgB;AAChB,SAAgB,4BAA4B,CAAC,OAAe,EAAE,UAAkB,EAAE,UAAkB,EAAE,IAAY,EAAE,OAAe,EAAE,OAAe,EAAE,mBAA4B;IAChL,OAAO,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC;AACxH,CAAC;AAFD,oEAEC;AAED,gBAAgB;AAChB,SAAgB,kBAAkB,CAAC,OAAe,EAAE,UAAkB,EAAE,UAAkB,EAAE,IAAY,EAAE,OAAe,EAAE,OAAe,EAAE,mBAA4B;IACtK,OAAO,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;AACzH,CAAC;AAFD,gDAEC;AAED,SAAS,0BAA0B,CAAC,OAAe,EAAE,UAAkB,EAAE,UAAkB,EAAE,IAAY,EAAE,OAAe,EAAE,OAAe,EAAE,UAAmB,EAAE,mBAA4B;IAC5L,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAEnG,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;QACtB,qDAAqD;QACrD,qDAAqD;QACrD,kEAAkE;QAClE,OAAO,GAAG,CAAC;KACZ;IAED,uBAAuB;IACvB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;QACvB,yDAAyD;QACzD,0DAA0D;QAC1D,sDAAsD;QACtD,6CAA6C;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,KAAK,IAAI,gBAAgB,GAAG,UAAU,GAAG,CAAC,EAAE,gBAAgB,GAAG,KAAK,EAAE,gBAAgB,EAAE,EAAE;YACxF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAClE,uBAAuB;YACvB,IAAI,UAAU,EAAE;gBACd,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBAC5H,IAAI,SAAS,EAAE;oBACb,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;oBACzC,uBAAuB;oBACvB,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE;wBACjC,GAAG,GAAG,SAAS,CAAC;qBACjB;iBACF;aACF;SACF;KACF;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,UAAkB;IAE9D,uBAAuB;IACvB,IAAI,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;QACpC,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAEtC,uBAAuB;IACvB,IAAI,KAAK,KAAK,KAAK,EAAE;QACnB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;UAC/B,KAAK;UACL,KAAK;UACL,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,aAAa","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\n// file copied from https://github.com/microsoft/vscode/blob/master/src/vs/base/common/filters.ts\r\n\r\n/* eslint-disable no-console */\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\n/* eslint-disable no-restricted-syntax */\r\n\r\nimport { CharCode } from \"./charCode\";\r\nimport { LRUCache } from \"./map\";\r\nimport * as strings from \"./strings\";\r\n\r\n/** Interface that returns indices of matches\r\n * @public\r\n */\r\nexport interface IMatch {\r\n start: number;\r\n end: number;\r\n}\r\n\r\n/**\r\n * IFilter defines filter function type\r\n * @param word filter string\r\n * @param wordToMatchAgainst string to search for matches\r\n * @internal\r\n */\r\nexport type IFilter = (word: string, wordToMatchAgainst: string) => IMatch[] | null;\r\n\r\n// Combined filters\r\n\r\n/**\r\n * @returns A filter which combines the provided set\r\n * of filters with an or. The *first* filters that\r\n * matches defined the return value of the returned\r\n * filter.\r\n * @internal\r\n */\r\nexport function or(...filter: IFilter[]): IFilter {\r\n return function (word: string, wordToMatchAgainst: string): IMatch[] | null {\r\n for (let i = 0, len = filter.length; i < len; i++) {\r\n const match = filter[i](word, wordToMatchAgainst);\r\n if (match) {\r\n return match;\r\n }\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n// Prefix\r\n\r\n/** @internal */\r\nexport const matchesStrictPrefix: IFilter = _matchesPrefix.bind(undefined, false);\r\n/** @internal */\r\nexport const matchesPrefix: IFilter = _matchesPrefix.bind(undefined, true);\r\n\r\nfunction _matchesPrefix(ignoreCase: boolean, word: string, wordToMatchAgainst: string): IMatch[] | null {\r\n if (!wordToMatchAgainst || wordToMatchAgainst.length < word.length) {\r\n return null;\r\n }\r\n\r\n let matches: boolean;\r\n if (ignoreCase) {\r\n matches = strings.startsWithIgnoreCase(wordToMatchAgainst, word);\r\n } else {\r\n matches = wordToMatchAgainst.indexOf(word) === 0;\r\n }\r\n\r\n if (!matches) {\r\n return null;\r\n }\r\n\r\n return word.length > 0 ? [{ start: 0, end: word.length }] : [];\r\n}\r\n\r\n// Contiguous Substring\r\n\r\n/** @internal */\r\nexport function matchesContiguousSubString(word: string, wordToMatchAgainst: string): IMatch[] | null {\r\n const index = wordToMatchAgainst.toLowerCase().indexOf(word.toLowerCase());\r\n if (index === -1) {\r\n return null;\r\n }\r\n\r\n return [{ start: index, end: index + word.length }];\r\n}\r\n\r\n// Substring\r\n\r\n/**\r\n * Return case insensitive substring matches\r\n * @param word filter string\r\n * @param wordToMatchAgainst string to test\r\n * @internal\r\n */\r\nexport function matchesSubString(word: string, wordToMatchAgainst: string): IMatch[] | null {\r\n return _matchesSubString(word.toLowerCase(), wordToMatchAgainst.toLowerCase(), 0, 0);\r\n}\r\n\r\nfunction _matchesSubString(word: string, wordToMatchAgainst: string, i: number, j: number): IMatch[] | null {\r\n if (i === word.length) {\r\n return [];\r\n } else if (j === wordToMatchAgainst.length) {\r\n return null;\r\n } else {\r\n if (word[i] === wordToMatchAgainst[j]) {\r\n let result: IMatch[] | null = null;\r\n if (result = _matchesSubString(word, wordToMatchAgainst, i + 1, j + 1)) {\r\n return join({ start: j, end: j + 1 }, result);\r\n }\r\n return null;\r\n }\r\n\r\n return _matchesSubString(word, wordToMatchAgainst, i, j + 1);\r\n }\r\n}\r\n\r\n// CamelCase\r\n\r\nfunction isLower(code: number): boolean {\r\n return CharCode.a <= code && code <= CharCode.z;\r\n}\r\n\r\nfunction isUpper(code: number): boolean {\r\n return CharCode.A <= code && code <= CharCode.Z;\r\n}\r\n\r\nfunction isNumber(code: number): boolean {\r\n return CharCode.Digit0 <= code && code <= CharCode.Digit9;\r\n}\r\n\r\nfunction isWhitespace(code: number): boolean {\r\n return (\r\n code === CharCode.Space\r\n || code === CharCode.Tab\r\n || code === CharCode.LineFeed\r\n || code === CharCode.CarriageReturn\r\n );\r\n}\r\n\r\nconst wordSeparators = new Set<number>();\r\n'`~!@#$%^&*()-=+[{]}\\\\|;:\\'\",.<>/?'\r\n .split(\"\")\r\n .forEach((s) => wordSeparators.add(s.charCodeAt(0)));\r\n\r\nfunction isWordSeparator(code: number): boolean {\r\n return isWhitespace(code) || wordSeparators.has(code);\r\n}\r\n\r\nfunction charactersMatch(codeA: number, codeB: number): boolean {\r\n return (codeA === codeB) || (isWordSeparator(codeA) && isWordSeparator(codeB));\r\n}\r\n\r\nfunction isAlphanumeric(code: number): boolean {\r\n return isLower(code) || isUpper(code) || isNumber(code);\r\n}\r\n\r\nfunction join(head: IMatch, tail: IMatch[]): IMatch[] {\r\n if (tail.length === 0) {\r\n tail = [head];\r\n } else if (head.end === tail[0].start) {\r\n tail[0].start = head.start;\r\n } else {\r\n tail.unshift(head);\r\n }\r\n return tail;\r\n}\r\n\r\nfunction nextAnchor(camelCaseWord: string, start: number): number {\r\n for (let i = start; i < camelCaseWord.length; i++) {\r\n const c = camelCaseWord.charCodeAt(i);\r\n if (isUpper(c) || isNumber(c) || (i > 0 && !isAlphanumeric(camelCaseWord.charCodeAt(i - 1)))) {\r\n return i;\r\n }\r\n }\r\n return camelCaseWord.length;\r\n}\r\n\r\nfunction _matchesCamelCase(word: string, camelCaseWord: string, i: number, j: number): IMatch[] | null {\r\n if (i === word.length) {\r\n return [];\r\n } else if (j === camelCaseWord.length) {\r\n return null;\r\n } else if (word[i] !== camelCaseWord[j].toLowerCase()) {\r\n return null;\r\n } else {\r\n let result: IMatch[] | null = null;\r\n let nextUpperIndex = j + 1;\r\n result = _matchesCamelCase(word, camelCaseWord, i + 1, j + 1);\r\n while (!result && (nextUpperIndex = nextAnchor(camelCaseWord, nextUpperIndex)) < camelCaseWord.length) {\r\n result = _matchesCamelCase(word, camelCaseWord, i + 1, nextUpperIndex);\r\n nextUpperIndex++;\r\n }\r\n return result === null ? null : join({ start: j, end: j + 1 }, result);\r\n }\r\n}\r\n\r\ninterface ICamelCaseAnalysis {\r\n upperPercent: number;\r\n lowerPercent: number;\r\n alphaPercent: number;\r\n numericPercent: number;\r\n}\r\n\r\n// Heuristic to avoid computing camel case matcher for words that don't\r\n// look like camelCaseWords.\r\nfunction analyzeCamelCaseWord(word: string): ICamelCaseAnalysis {\r\n let upper = 0, lower = 0, alpha = 0, numeric = 0, code = 0;\r\n\r\n for (let i = 0; i < word.length; i++) {\r\n code = word.charCodeAt(i);\r\n\r\n if (isUpper(code)) { upper++; }\r\n if (isLower(code)) { lower++; }\r\n if (isAlphanumeric(code)) { alpha++; }\r\n if (isNumber(code)) { numeric++; }\r\n }\r\n\r\n const upperPercent = upper / word.length;\r\n const lowerPercent = lower / word.length;\r\n const alphaPercent = alpha / word.length;\r\n const numericPercent = numeric / word.length;\r\n\r\n return { upperPercent, lowerPercent, alphaPercent, numericPercent };\r\n}\r\n\r\nfunction isUpperCaseWord(analysis: ICamelCaseAnalysis): boolean {\r\n const { upperPercent, lowerPercent } = analysis;\r\n return lowerPercent === 0 && upperPercent > 0.6;\r\n}\r\n\r\nfunction isCamelCaseWord(analysis: ICamelCaseAnalysis): boolean {\r\n const { upperPercent, lowerPercent, alphaPercent, numericPercent } = analysis;\r\n return lowerPercent > 0.2 && upperPercent < 0.8 && alphaPercent > 0.6 && numericPercent < 0.2;\r\n}\r\n\r\n// Heuristic to avoid computing camel case matcher for words that don't\r\n// look like camel case patterns.\r\nfunction isCamelCasePattern(word: string): boolean {\r\n let upper = 0, lower = 0, code = 0, whitespace = 0;\r\n\r\n for (let i = 0; i < word.length; i++) {\r\n code = word.charCodeAt(i);\r\n\r\n if (isUpper(code)) { upper++; }\r\n if (isLower(code)) { lower++; }\r\n if (isWhitespace(code)) { whitespace++; }\r\n }\r\n\r\n if ((upper === 0 || lower === 0) && whitespace === 0) {\r\n return word.length <= 30;\r\n } else {\r\n return upper <= 5;\r\n }\r\n}\r\n\r\n/**\r\n * Return matches treating \"camelCase\" words separately. For example the filter string \"gp\" would return two matches in string \"Git Pull\".\r\n * @param word filter string\r\n * @param wordToMatchAgainst string to test\r\n * @internal\r\n */\r\nexport function matchesCamelCase(word: string, camelCaseWord: string): IMatch[] | null {\r\n if (!camelCaseWord) {\r\n return null;\r\n }\r\n\r\n camelCaseWord = camelCaseWord.trim();\r\n\r\n if (camelCaseWord.length === 0) {\r\n return null;\r\n }\r\n\r\n if (!isCamelCasePattern(camelCaseWord)) {\r\n return null;\r\n }\r\n\r\n if (camelCaseWord.length > 60) {\r\n return null;\r\n }\r\n\r\n const analysis = analyzeCamelCaseWord(camelCaseWord);\r\n\r\n if (!isCamelCaseWord(analysis)) {\r\n // istanbul ignore next\r\n if (!isUpperCaseWord(analysis)) {\r\n return null;\r\n }\r\n\r\n camelCaseWord = camelCaseWord.toLowerCase();\r\n }\r\n\r\n let result: IMatch[] | null = null;\r\n let i = 0;\r\n\r\n word = word.toLowerCase();\r\n while (i < camelCaseWord.length && (result = _matchesCamelCase(word, camelCaseWord, 0, i)) === null) {\r\n i = nextAnchor(camelCaseWord, i + 1);\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Matches beginning of words supporting non-ASCII languages.\r\n * @param word Filter string\r\n * @param target String being searched\r\n * @param contiguous - If true the filter string must be found \"contiguous\" in the searched string (E.g. \"pul\" will match \"Git: Pull\").\r\n * Otherwise also matches sub string of the word with beginnings of the words in the target (e.g. \"gp\" or \"g p\" will match \"Git: Pull\").\r\n * Useful in cases where the target is words (e.g. command labels)\r\n * @internal\r\n */\r\nexport function matchesWords(word: string, target: string, contiguous: boolean = false): IMatch[] | null {\r\n if (!target || target.length === 0) {\r\n return null;\r\n }\r\n\r\n let result: IMatch[] | null = null;\r\n let i = 0;\r\n\r\n word = word.toLowerCase();\r\n target = target.toLowerCase();\r\n while (i < target.length && (result = _matchesWords(word, target, 0, i, contiguous)) === null) {\r\n i = nextWord(target, i + 1);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction _matchesWords(word: string, target: string, i: number, j: number, contiguous: boolean): IMatch[] | null {\r\n if (i === word.length) {\r\n return [];\r\n } else if (j === target.length) {\r\n return null;\r\n } else if (!charactersMatch(word.charCodeAt(i), target.charCodeAt(j))) {\r\n return null;\r\n } else {\r\n let result: IMatch[] | null = null;\r\n let nextWordIndex = j + 1;\r\n result = _matchesWords(word, target, i + 1, j + 1, contiguous);\r\n // istanbul ignore else\r\n if (!contiguous) {\r\n while (!result && (nextWordIndex = nextWord(target, nextWordIndex)) < target.length) {\r\n result = _matchesWords(word, target, i + 1, nextWordIndex, contiguous);\r\n nextWordIndex++;\r\n }\r\n }\r\n return result === null ? null : join({ start: j, end: j + 1 }, result);\r\n }\r\n}\r\n\r\nfunction nextWord(word: string, start: number): number {\r\n for (let i = start; i < word.length; i++) {\r\n if (isWordSeparator(word.charCodeAt(i)) ||\r\n (i > 0 && isWordSeparator(word.charCodeAt(i - 1)))) {\r\n return i;\r\n }\r\n }\r\n return word.length;\r\n}\r\n\r\n// Fuzzy\r\n\r\nconst fuzzyContiguousFilter = or(matchesPrefix, matchesCamelCase, matchesContiguousSubString);\r\nconst fuzzySeparateFilter = or(matchesPrefix, matchesCamelCase, matchesSubString);\r\nconst fuzzyRegExpCache = new LRUCache<string, RegExp>(10000); // bounded to 10000 elements\r\n\r\n/**\r\n * Match pattern against word in a fuzzy way. This will only return a single match.\r\n * @internal\r\n */\r\nexport function matchesFuzzy(word: string, wordToMatchAgainst: string, enableSeparateSubstringMatching = false): IMatch[] | null {\r\n // istanbul ignore next\r\n if (typeof word !== \"string\" || typeof wordToMatchAgainst !== \"string\") {\r\n return null; // return early for invalid input\r\n }\r\n\r\n // Form RegExp for wildcard matches\r\n let regexp = fuzzyRegExpCache.get(word);\r\n if (!regexp) {\r\n regexp = new RegExp(strings.convertSimple2RegExpPattern(word), \"i\");\r\n fuzzyRegExpCache.set(word, regexp);\r\n }\r\n\r\n // RegExp Filter\r\n const match = regexp.exec(wordToMatchAgainst);\r\n if (match) {\r\n return [{ start: match.index, end: match.index + match[0].length }];\r\n }\r\n\r\n // Default Filter\r\n return enableSeparateSubstringMatching ? /* istanbul ignore next */ fuzzySeparateFilter(word, wordToMatchAgainst) : fuzzyContiguousFilter(word, wordToMatchAgainst);\r\n}\r\n\r\n/**\r\n * Match pattern against word in a fuzzy way. As in IntelliSense and faster and more\r\n * powerful than `matchesFuzzy`. This will only return a single match.\r\n * @internal\r\n */\r\nexport function matchesFuzzy2(pattern: string, word: string): IMatch[] | null {\r\n const score = fuzzyScore(pattern, pattern.toLowerCase(), 0, word, word.toLowerCase(), 0, true);\r\n return score ? createMatches(score) : null;\r\n}\r\n\r\n// #region --- fuzzyScore ---\r\n/**\r\n * @internal\r\n */\r\nexport function createMatches(score: undefined | FuzzyScore): IMatch[] {\r\n // istanbul ignore next\r\n if (typeof score === \"undefined\") {\r\n return [];\r\n }\r\n\r\n const matches = score[1].toString(2);\r\n const wordStart = score[2];\r\n const res: IMatch[] = [];\r\n\r\n for (let pos = wordStart; pos < _maxLen; pos++) {\r\n if (matches[matches.length - (pos + 1)] === \"1\") {\r\n const last = res[res.length - 1];\r\n if (last && last.end === pos) {\r\n last.end = pos + 1;\r\n } else {\r\n res.push({ start: pos, end: pos + 1 });\r\n }\r\n }\r\n }\r\n return res;\r\n}\r\n\r\nconst _maxLen = 128;\r\n\r\nfunction initTable() {\r\n const table: number[][] = [];\r\n const row: number[] = [0];\r\n for (let i = 1; i <= _maxLen; i++) {\r\n row.push(-i);\r\n }\r\n for (let i = 0; i <= _maxLen; i++) {\r\n const thisRow = row.slice(0);\r\n thisRow[0] = -i;\r\n table.push(thisRow);\r\n }\r\n return table;\r\n}\r\n\r\nconst _table = initTable();\r\nconst _scores = initTable();\r\n// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\r\nconst _arrows = <Arrow[][]>initTable();\r\nconst _debug = false;\r\n\r\nfunction isSeparatorAtPos(value: string, index: number): boolean {\r\n if (index < 0 || index >= value.length) {\r\n return false;\r\n }\r\n const code = value.charCodeAt(index);\r\n switch (code) {\r\n case CharCode.Underline:\r\n case CharCode.Dash:\r\n case CharCode.Period:\r\n case CharCode.Space:\r\n case CharCode.Slash:\r\n case CharCode.Backslash:\r\n case CharCode.SingleQuote:\r\n case CharCode.DoubleQuote:\r\n case CharCode.Colon:\r\n case CharCode.DollarSign:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n}\r\n\r\nfunction isWhitespaceAtPos(value: string, index: number): boolean {\r\n if (index < 0 || index >= value.length) {\r\n return false;\r\n }\r\n const code = value.charCodeAt(index);\r\n switch (code) {\r\n // istanbul ignore next\r\n case CharCode.Space:\r\n case CharCode.Tab:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n}\r\n\r\nfunction isUpperCaseAtPos(pos: number, word: string, wordLow: string): boolean {\r\n return word[pos] !== wordLow[pos];\r\n}\r\n\r\n/** @internal */\r\nexport function isPatternInWord(patternLow: string, patternPos: number, patternLen: number, wordLow: string, wordPos: number, wordLen: number): boolean {\r\n while (patternPos < patternLen && wordPos < wordLen) {\r\n if (patternLow[patternPos] === wordLow[wordPos]) {\r\n patternPos += 1;\r\n }\r\n wordPos += 1;\r\n }\r\n return patternPos === patternLen; // pattern must be exhausted\r\n}\r\n\r\nconst enum Arrow { Top = 0b1, Diag = 0b10, Left = 0b100 }\r\n\r\n/**\r\n * A tuple of three values.\r\n * 0. the score\r\n * 1. the matches encoded as bitmask (2^53)\r\n * 2. the offset at which matching started\r\n * @internal\r\n */\r\nexport type FuzzyScore = [number, number, number];\r\n\r\n/** @internal */\r\nexport namespace FuzzyScore { // eslint-disable-line @typescript-eslint/no-redeclare\r\n /**\r\n * No matches and value `-100`\r\n * @internal\r\n */\r\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\r\n export const Default: [-100, 0, 0] = <[-100, 0, 0]>Object.freeze([-100, 0, 0]);\r\n\r\n // istanbul ignore next\r\n /** @internal */\r\n export function isDefault(score?: FuzzyScore): score is [-100, 0, 0] {\r\n return !score || (score[0] === -100 && score[1] === 0 && score[2] === 0);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type FuzzyScorer = (pattern: string, lowPattern: string, patternPos: number, word: string, lowWord: string, wordPos: number, firstMatchCanBeWeak: boolean) => FuzzyScore | undefined;\r\n\r\n/** @internal */\r\nexport function fuzzyScore(pattern: string, patternLow: string, patternStart: number, word: string, wordLow: string, wordStart: number, firstMatchCanBeWeak: boolean): FuzzyScore | undefined {\r\n // istanbul ignore next\r\n const patternLen = pattern.length > _maxLen ? _maxLen : pattern.length;\r\n const wordLen = word.length > _maxLen ? _maxLen : word.length;\r\n\r\n if (patternStart >= patternLen || wordStart >= wordLen || (patternLen - patternStart) > (wordLen - wordStart)) {\r\n return undefined;\r\n }\r\n\r\n // Run a simple check if the characters of pattern occur\r\n // (in order) at all in word. If that isn't the case we\r\n // stop because no match will be possible\r\n if (!isPatternInWord(patternLow, patternStart, patternLen, wordLow, wordStart, wordLen)) {\r\n return undefined;\r\n }\r\n\r\n let row: number = 1;\r\n let column: number = 1;\r\n let patternPos = patternStart;\r\n let wordPos = wordStart;\r\n\r\n let hasStrongFirstMatch = false;\r\n\r\n // There will be a match, fill in tables\r\n for (row = 1, patternPos = patternStart; patternPos < patternLen; row++, patternPos++) {\r\n\r\n for (column = 1, wordPos = wordStart; wordPos < wordLen; column++, wordPos++) {\r\n\r\n const score = _doScore(pattern, patternLow, patternPos, patternStart, word, wordLow, wordPos);\r\n\r\n if (patternPos === patternStart && score > 1) {\r\n hasStrongFirstMatch = true;\r\n }\r\n\r\n _scores[row][column] = score;\r\n\r\n const diag = _table[row - 1][column - 1] + (score > 1 ? 1 : score);\r\n const top = _table[row - 1][column] + -1;\r\n const left = _table[row][column - 1] + -1;\r\n\r\n if (left >= top) {\r\n // left or diag\r\n if (left > diag) {\r\n _table[row][column] = left;\r\n _arrows[row][column] = Arrow.Left;\r\n } else if (left === diag) {\r\n _table[row][column] = left;\r\n _arrows[row][column] = Arrow.Left | Arrow.Diag;\r\n } else {\r\n _table[row][column] = diag;\r\n _arrows[row][column] = Arrow.Diag;\r\n }\r\n } else {\r\n // top or diag\r\n if (top > diag) {\r\n _table[row][column] = top;\r\n _arrows[row][column] = Arrow.Top;\r\n } else if (top === diag) {\r\n _table[row][column] = top;\r\n _arrows[row][column] = Arrow.Top | Arrow.Diag;\r\n } else {\r\n _table[row][column] = diag;\r\n _arrows[row][column] = Arrow.Diag;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!hasStrongFirstMatch && !firstMatchCanBeWeak) {\r\n return undefined;\r\n }\r\n\r\n _matchesCount = 0;\r\n _topScore = -100;\r\n _wordStart = wordStart;\r\n _firstMatchCanBeWeak = firstMatchCanBeWeak;\r\n\r\n _findAllMatches2(row - 1, column - 1, patternLen === wordLen ? 1 : 0, 0, false);\r\n if (_matchesCount === 0) {\r\n return undefined;\r\n }\r\n\r\n return [_topScore, _topMatch2, wordStart];\r\n}\r\n\r\nfunction _doScore(pattern: string, patternLow: string, patternPos: number, patternStart: number, word: string, wordLow: string, wordPos: number) {\r\n if (patternLow[patternPos] !== wordLow[wordPos]) {\r\n return -1;\r\n }\r\n if (wordPos === (patternPos - patternStart)) {\r\n // common prefix: `foobar <-> foobaz`\r\n // ^^^^^\r\n if (pattern[patternPos] === word[wordPos]) {\r\n return 7;\r\n } else {\r\n return 5;\r\n }\r\n } else if (isUpperCaseAtPos(wordPos, word, wordLow) && (wordPos === 0 || !isUpperCaseAtPos(wordPos - 1, word, wordLow))) {\r\n // hitting upper-case: `foo <-> forOthers`\r\n // ^^ ^\r\n if (pattern[patternPos] === word[wordPos]) {\r\n return 7;\r\n } else {\r\n return 5;\r\n }\r\n } else if (isSeparatorAtPos(wordLow, wordPos) && (wordPos === 0 || !isSeparatorAtPos(wordLow, wordPos - 1))) {\r\n // hitting a separator: `. <-> foo.bar`\r\n // ^\r\n return 5;\r\n\r\n } else if (isSeparatorAtPos(wordLow, wordPos - 1) || isWhitespaceAtPos(wordLow, wordPos - 1)) {\r\n // post separator: `foo <-> bar_foo`\r\n // ^^^\r\n return 5;\r\n\r\n } else {\r\n return 1;\r\n }\r\n}\r\n\r\nlet _matchesCount: number = 0;\r\nlet _topMatch2: number = 0;\r\nlet _topScore: number = 0;\r\nlet _wordStart: number = 0;\r\nlet _firstMatchCanBeWeak: boolean = false;\r\n\r\nfunction _findAllMatches2(row: number, column: number, total: number, matches: number, lastMatched: boolean): void {\r\n\r\n if (_matchesCount >= 10 || total < -25) {\r\n // stop when having already 10 results, or\r\n // when a potential alignment as already 5 gaps\r\n return;\r\n }\r\n\r\n let simpleMatchCount = 0;\r\n\r\n while (row > 0 && column > 0) {\r\n\r\n const score = _scores[row][column];\r\n const arrow = _arrows[row][column];\r\n\r\n if (arrow === Arrow.Left) {\r\n // left -> no match, skip a word character\r\n column -= 1;\r\n if (lastMatched) {\r\n total -= 5; // new gap penalty\r\n } else if (matches !== 0) {\r\n total -= 1; // gap penalty after first match\r\n }\r\n lastMatched = false;\r\n simpleMatchCount = 0;\r\n } else {\r\n /* istanbul ignore else */\r\n if (arrow & Arrow.Diag) {\r\n if (arrow & Arrow.Left) {\r\n // left\r\n _findAllMatches2(\r\n row,\r\n column - 1,\r\n matches !== 0 ? total - 1 : total, // gap penalty after first match\r\n matches,\r\n lastMatched,\r\n );\r\n }\r\n\r\n // diag\r\n total += score;\r\n row -= 1;\r\n column -= 1;\r\n lastMatched = true;\r\n\r\n // match -> set a 1 at the word pos\r\n matches += 2 ** (column + _wordStart);\r\n\r\n // count simple matches and boost a row of\r\n // simple matches when they yield in a\r\n // strong match.\r\n if (score === 1) {\r\n simpleMatchCount += 1;\r\n\r\n if (row === 0 && !_firstMatchCanBeWeak) {\r\n // when the first match is a weak\r\n // match we discard it\r\n return undefined;\r\n }\r\n\r\n } else {\r\n // boost\r\n total += 1 + (simpleMatchCount * (score - 1));\r\n simpleMatchCount = 0;\r\n }\r\n\r\n } else {\r\n // istanbul ignore next\r\n return undefined;\r\n }\r\n }\r\n }\r\n\r\n total -= column >= 3 ? 9 : column * 3; // late start penalty\r\n\r\n // dynamically keep track of the current top score\r\n // and insert the current best score at head, the rest at tail\r\n _matchesCount += 1;\r\n if (total > _topScore) {\r\n _topScore = total;\r\n _topMatch2 = matches;\r\n }\r\n}\r\n\r\n// #endregion\r\n\r\n// #region --- graceful ---\r\n/** @internal */\r\nexport function fuzzyScoreGracefulAggressive(pattern: string, lowPattern: string, patternPos: number, word: string, lowWord: string, wordPos: number, firstMatchCanBeWeak: boolean): FuzzyScore | undefined {\r\n return fuzzyScoreWithPermutations(pattern, lowPattern, patternPos, word, lowWord, wordPos, true, firstMatchCanBeWeak);\r\n}\r\n\r\n/** @internal */\r\nexport function fuzzyScoreGraceful(pattern: string, lowPattern: string, patternPos: number, word: string, lowWord: string, wordPos: number, firstMatchCanBeWeak: boolean): FuzzyScore | undefined {\r\n return fuzzyScoreWithPermutations(pattern, lowPattern, patternPos, word, lowWord, wordPos, false, firstMatchCanBeWeak);\r\n}\r\n\r\nfunction fuzzyScoreWithPermutations(pattern: string, lowPattern: string, patternPos: number, word: string, lowWord: string, wordPos: number, aggressive: boolean, firstMatchCanBeWeak: boolean): FuzzyScore | undefined {\r\n let top = fuzzyScore(pattern, lowPattern, patternPos, word, lowWord, wordPos, firstMatchCanBeWeak);\r\n\r\n if (top && !aggressive) {\r\n // when using the original pattern yield a result we`\r\n // return it unless we are aggressive and try to find\r\n // a better alignment, e.g. `cno` -> `^co^ns^ole` or `^c^o^nsole`.\r\n return top;\r\n }\r\n\r\n // istanbul ignore else\r\n if (pattern.length >= 3) {\r\n // When the pattern is long enough then try a few (max 7)\r\n // permutations of the pattern to find a better match. The\r\n // permutations only swap neighbouring characters, e.g\r\n // `cnoso` becomes `conso`, `cnsoo`, `cnoos`.\r\n const tries = Math.min(7, pattern.length - 1);\r\n for (let movingPatternPos = patternPos + 1; movingPatternPos < tries; movingPatternPos++) {\r\n const newPattern = nextTypoPermutation(pattern, movingPatternPos);\r\n // istanbul ignore else\r\n if (newPattern) {\r\n const candidate = fuzzyScore(newPattern, newPattern.toLowerCase(), patternPos, word, lowWord, wordPos, firstMatchCanBeWeak);\r\n if (candidate) {\r\n candidate[0] -= 3; // permutation penalty\r\n // istanbul ignore else\r\n if (!top || candidate[0] > top[0]) {\r\n top = candidate;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return top;\r\n}\r\n\r\nfunction nextTypoPermutation(pattern: string, patternPos: number): string | undefined {\r\n\r\n // istanbul ignore next\r\n if (patternPos + 1 >= pattern.length) {\r\n return undefined;\r\n }\r\n\r\n const swap1 = pattern[patternPos];\r\n const swap2 = pattern[patternPos + 1];\r\n\r\n // istanbul ignore next\r\n if (swap1 === swap2) {\r\n return undefined;\r\n }\r\n\r\n return pattern.slice(0, patternPos)\r\n + swap2\r\n + swap1\r\n + pattern.slice(patternPos + 2);\r\n}\r\n\r\n// #endregion\r\n"]}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../src/appui-abstract/utils/filter/filters.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAaH,IAAK,QAKJ;AALD,WAAK,QAAQ;IACX,0CAAU,CAAA;IACV,qCAAO,CAAA;IACP,gDAAa,CAAA;IACb,4DAAmB,CAAA;AACrB,CAAC,EALI,QAAQ,KAAR,QAAQ,QAKZ;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,CACL,IAAI,KAAK,QAAQ,CAAC,KAAK;WACpB,IAAI,KAAK,QAAQ,CAAC,GAAG;WACrB,IAAI,KAAK,QAAQ,CAAC,QAAQ;WAC1B,IAAI,KAAK,QAAQ,CAAC,cAAc,CACpC,CAAC;AACJ,CAAC;AACD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AACzC,mCAAmC;KAChC,KAAK,CAAC,EAAE,CAAC;KACT,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvD,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,KAAa;IACnD,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,IAAI,CAAC,IAAY,EAAE,IAAc;IACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;KACf;SAAM,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;QACrC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;KAC5B;SAAM;QACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACpB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,IAAY,EAAE,MAAc,EAAE,aAAsB,KAAK;IACpF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;IAED,IAAI,MAAM,GAAoB,IAAI,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE;QAC7F,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,oCAeC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,MAAc,EAAE,CAAS,EAAE,CAAS,EAAE,UAAmB;IAC5F,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;SAAM,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;QACrE,OAAO,IAAI,CAAC;KACb;SAAM;QACL,IAAI,MAAM,GAAoB,IAAI,CAAC;QACnC,IAAI,aAAa,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/D,uBAAuB;QACvB,IAAI,CAAC,UAAU,EAAE;YACf,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE;gBACnF,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;gBACvE,aAAa,EAAE,CAAC;aACjB;SACF;QACD,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;KACxE;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACpD,OAAO,CAAC,CAAC;SACV;KACF;IACD,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\n// file copied from https://github.com/microsoft/vscode/blob/master/src/vs/base/common/filters.ts\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Interface that returns indices of matches\r\n * @public @deprecated in 4.3.x. A rarely used interface. If needed, please add a custom implementation.\r\n */\r\nexport interface IMatch {\r\n start: number;\r\n end: number;\r\n}\r\n\r\nenum CharCode {\r\n Space = 32,\r\n Tab = 9,\r\n LineFeed = 10,\r\n CarriageReturn = 13\r\n}\r\n\r\nfunction isWhitespace(code: number): boolean {\r\n return (\r\n code === CharCode.Space\r\n || code === CharCode.Tab\r\n || code === CharCode.LineFeed\r\n || code === CharCode.CarriageReturn\r\n );\r\n}\r\nconst wordSeparators = new Set<number>();\r\n'`~!@#$%^&*()-=+[{]}\\\\|;:\\'\",.<>/?'\r\n .split(\"\")\r\n .forEach((s) => wordSeparators.add(s.charCodeAt(0)));\r\n\r\nfunction isWordSeparator(code: number): boolean {\r\n return isWhitespace(code) || wordSeparators.has(code);\r\n}\r\n\r\nfunction charactersMatch(codeA: number, codeB: number): boolean {\r\n return (codeA === codeB) || (isWordSeparator(codeA) && isWordSeparator(codeB));\r\n}\r\n\r\nfunction join(head: IMatch, tail: IMatch[]): IMatch[] {\r\n if (tail.length === 0) {\r\n tail = [head];\r\n } else if (head.end === tail[0].start) {\r\n tail[0].start = head.start;\r\n } else {\r\n tail.unshift(head);\r\n }\r\n return tail;\r\n}\r\n\r\n/**\r\n * Matches beginning of words supporting non-ASCII languages.\r\n * @param word Filter string\r\n * @param target String being searched\r\n * @param contiguous - If true the filter string must be found \"contiguous\" in the searched string (E.g. \"pul\" will match \"Git: Pull\").\r\n * Otherwise also matches sub string of the word with beginnings of the words in the target (e.g. \"gp\" or \"g p\" will match \"Git: Pull\").\r\n * Useful in cases where the target is words (e.g. command labels)\r\n * @internal @deprecated in 4.3. Use `matchesWords` from @itwin/core-react instead. Though internal, this requires deprecation due to known public usage in @itwin/core-react.\r\n */\r\nexport function matchesWords(word: string, target: string, contiguous: boolean = false): IMatch[] | null {\r\n if (!target || target.length === 0) {\r\n return null;\r\n }\r\n\r\n let result: IMatch[] | null = null;\r\n let i = 0;\r\n\r\n word = word.toLowerCase();\r\n target = target.toLowerCase();\r\n while (i < target.length && (result = _matchesWords(word, target, 0, i, contiguous)) === null) {\r\n i = nextWord(target, i + 1);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction _matchesWords(word: string, target: string, i: number, j: number, contiguous: boolean): IMatch[] | null {\r\n if (i === word.length) {\r\n return [];\r\n } else if (j === target.length) {\r\n return null;\r\n } else if (!charactersMatch(word.charCodeAt(i), target.charCodeAt(j))) {\r\n return null;\r\n } else {\r\n let result: IMatch[] | null = null;\r\n let nextWordIndex = j + 1;\r\n result = _matchesWords(word, target, i + 1, j + 1, contiguous);\r\n // istanbul ignore else\r\n if (!contiguous) {\r\n while (!result && (nextWordIndex = nextWord(target, nextWordIndex)) < target.length) {\r\n result = _matchesWords(word, target, i + 1, nextWordIndex, contiguous);\r\n nextWordIndex++;\r\n }\r\n }\r\n return result === null ? null : join({ start: j, end: j + 1 }, result);\r\n }\r\n}\r\n\r\nfunction nextWord(word: string, start: number): number {\r\n for (let i = start; i < word.length; i++) {\r\n if (isWordSeparator(word.charCodeAt(i)) ||\r\n (i > 0 && isWordSeparator(word.charCodeAt(i - 1)))) {\r\n return i;\r\n }\r\n }\r\n return word.length;\r\n}\r\n"]}
@@ -3,10 +3,7 @@
3
3
  */
4
4
  /** Gets the class name for an object.
5
5
  * @internal
6
+ * @deprecated in 4.3. Please use your own implementation in the future. Though internal, this requires deprecation due to known public usage in @itwin/core-react.
6
7
  */
7
8
  export declare const getClassName: (obj: any) => string;
8
- /** Gets category to use for adding Log entries
9
- * @internal
10
- */
11
- export declare const loggerCategory: (obj: any) => string;
12
9
  //# sourceMappingURL=misc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/misc.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY,QAAS,GAAG,KAAG,MAcvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,QAAS,GAAG,KAAG,MAIzC,CAAC"}
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/misc.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAS,GAAG,KAAG,MAcvC,CAAC"}
@@ -7,9 +7,10 @@
7
7
  * @module Utilities
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.loggerCategory = exports.getClassName = void 0;
10
+ exports.getClassName = void 0;
11
11
  /** Gets the class name for an object.
12
12
  * @internal
13
+ * @deprecated in 4.3. Please use your own implementation in the future. Though internal, this requires deprecation due to known public usage in @itwin/core-react.
13
14
  */
14
15
  const getClassName = (obj) => {
15
16
  let className = "";
@@ -25,13 +26,4 @@ const getClassName = (obj) => {
25
26
  return className;
26
27
  };
27
28
  exports.getClassName = getClassName;
28
- /** Gets category to use for adding Log entries
29
- * @internal
30
- */
31
- const loggerCategory = (obj) => {
32
- const className = (0, exports.getClassName)(obj);
33
- const category = `appui-abstract${(className ? `.${className}` : "")}`;
34
- return category;
35
- };
36
- exports.loggerCategory = loggerCategory;
37
29
  //# sourceMappingURL=misc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/misc.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAU,EAAE;IAC/C,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,IAAI,GAAG,EAAE;QACP,IAAI,GAAG,CAAC,IAAI;YACV,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;aAClB;YACH,uBAAuB;YACvB,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI;gBACzC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;SACpC;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB;AAEF;;GAEG;AACI,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAU,EAAE;IACjD,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,GAAG,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\n/** Gets the class name for an object.\r\n * @internal\r\n */\r\nexport const getClassName = (obj: any): string => {\r\n let className = \"\";\r\n\r\n if (obj) {\r\n if (obj.name)\r\n className = obj.name;\r\n else {\r\n // istanbul ignore else\r\n if (obj.constructor && obj.constructor.name)\r\n className = obj.constructor.name;\r\n }\r\n }\r\n\r\n return className;\r\n};\r\n\r\n/** Gets category to use for adding Log entries\r\n * @internal\r\n */\r\nexport const loggerCategory = (obj: any): string => {\r\n const className = getClassName(obj);\r\n const category = `appui-abstract${(className ? `.${className}` : \"\")}`;\r\n return category;\r\n};\r\n\r\n"]}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/misc.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAU,EAAE;IAC/C,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,IAAI,GAAG,EAAE;QACP,IAAI,GAAG,CAAC,IAAI;YACV,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;aAClB;YACH,uBAAuB;YACvB,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI;gBACzC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;SACpC;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\n/** Gets the class name for an object.\r\n * @internal\r\n * @deprecated in 4.3. Please use your own implementation in the future. Though internal, this requires deprecation due to known public usage in @itwin/core-react.\r\n */\r\nexport const getClassName = (obj: any): string => {\r\n let className = \"\";\r\n\r\n if (obj) {\r\n if (obj.name)\r\n className = obj.name;\r\n else {\r\n // istanbul ignore else\r\n if (obj.constructor && obj.constructor.name)\r\n className = obj.constructor.name;\r\n }\r\n }\r\n\r\n return className;\r\n};\r\n\r\n"]}
@@ -42,9 +42,7 @@ export * from "./appui-abstract/utils/PointProps";
42
42
  export * from "./appui-abstract/utils/UiError";
43
43
  export * from "./appui-abstract/utils/UiEventDispatcher";
44
44
  export * from "./appui-abstract/utils/UiEvent";
45
- export * from "./appui-abstract/utils/filter/charCode";
46
45
  export * from "./appui-abstract/utils/filter/filters";
47
- export * from "./appui-abstract/utils/filter/strings";
48
46
  export * from "./appui-abstract/widget/AbstractWidgetProps";
49
47
  export * from "./appui-abstract/widget/StagePanel";
50
48
  export * from "./appui-abstract/widget/WidgetState";
@@ -1 +1 @@
1
- {"version":3,"file":"appui-abstract.d.ts","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":"AAKA,cAAc,sCAAsC,CAAC;AACrD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AAEjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,qCAAqC,CAAC;AAEpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AAExD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAE9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG"}
1
+ {"version":3,"file":"appui-abstract.d.ts","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":"AAKA,cAAc,sCAAsC,CAAC;AACrD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AAEjD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,qCAAqC,CAAC;AAEpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AAExD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAE9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG"}
@@ -62,9 +62,7 @@ __exportStar(require("./appui-abstract/utils/PointProps"), exports);
62
62
  __exportStar(require("./appui-abstract/utils/UiError"), exports);
63
63
  __exportStar(require("./appui-abstract/utils/UiEventDispatcher"), exports);
64
64
  __exportStar(require("./appui-abstract/utils/UiEvent"), exports);
65
- __exportStar(require("./appui-abstract/utils/filter/charCode"), exports);
66
65
  __exportStar(require("./appui-abstract/utils/filter/filters"), exports);
67
- __exportStar(require("./appui-abstract/utils/filter/strings"), exports);
68
66
  __exportStar(require("./appui-abstract/widget/AbstractWidgetProps"), exports);
69
67
  __exportStar(require("./appui-abstract/widget/StagePanel"), exports);
70
68
  __exportStar(require("./appui-abstract/widget/WidgetState"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"appui-abstract.js","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;;;;;AAE/F,uEAAqD;AACrD,2DAAyC;AACzC,kEAAgD;AAChD,mEAAiD;AAEjD,2EAAyD;AACzD,mFAAiE;AAEjE,sEAAoD;AAEpD,8EAA4D;AAC5D,kFAAgE;AAEhE,sEAAoD;AACpD,gFAA8D;AAC9D,0EAAwD;AAExD,2EAAyD;AACzD,+EAA6D;AAC7D,8EAA4D;AAC5D,mEAAiD;AACjD,iFAA+D;AAC/D,gFAA8D;AAC9D,sEAAoD;AACpD,0EAAwD;AACxD,oEAAkD;AAElD,iFAA+D;AAC/D,gFAA8D;AAE9D,0EAAwD;AACxD,2EAAyD;AACzD,6EAA2D;AAC3D,qEAAmD;AACnD,kFAAgE;AAChE,gFAA8D;AAC9D,oEAAkD;AAElD,oFAAkE;AAClE,2EAAyD;AACzD,mFAAiE;AAEjE,wEAAsD;AACtD,gFAA8D;AAE9D,2EAAyD;AACzD,mFAAiE;AAEjE,mEAAiD;AACjD,8DAA4C;AAC5C,2EAAyD;AACzD,oEAAkD;AAClD,iEAA+C;AAC/C,2EAAyD;AACzD,iEAA+C;AAC/C,yEAAuD;AACvD,wEAAsD;AACtD,wEAAsD;AAEtD,8EAA4D;AAC5D,qEAAmD;AACnD,sEAAoD;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./appui-abstract/BaseUiItemsProvider\";\r\nexport * from \"./appui-abstract/UiAdmin\";\r\nexport * from \"./appui-abstract/UiItemsManager\";\r\nexport * from \"./appui-abstract/UiItemsProvider\";\r\n\r\nexport * from \"./appui-abstract/backstage/BackstageItem\";\r\nexport * from \"./appui-abstract/backstage/BackstageItemsManager\";\r\n\r\nexport * from \"./appui-abstract/common/KeyboardKey\";\r\n\r\nexport * from \"./appui-abstract/content/ContentLayoutProps\";\r\nexport * from \"./appui-abstract/content/StandardContentLayouts\";\r\n\r\nexport * from \"./appui-abstract/dialogs/DialogItem\";\r\nexport * from \"./appui-abstract/dialogs/UiLayoutDataProvider\";\r\nexport * from \"./appui-abstract/dialogs/UiDataProvider\";\r\n\r\nexport * from \"./appui-abstract/items/AbstractItemProps\";\r\nexport * from \"./appui-abstract/items/AbstractMenuItemProps\";\r\nexport * from \"./appui-abstract/items/AbstractToolbarProps\";\r\nexport * from \"./appui-abstract/items/BadgeType\";\r\nexport * from \"./appui-abstract/items/ConditionalBooleanValue\";\r\nexport * from \"./appui-abstract/items/ConditionalStringValue\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/StageUsage\";\r\n\r\nexport * from \"./appui-abstract/notification/MessagePresenter\";\r\nexport * from \"./appui-abstract/notification/MessageSeverity\";\r\n\r\nexport * from \"./appui-abstract/properties/Description\";\r\nexport * from \"./appui-abstract/properties/EditorParams\";\r\nexport * from \"./appui-abstract/properties/PrimitiveTypes\";\r\nexport * from \"./appui-abstract/properties/Record\";\r\nexport * from \"./appui-abstract/properties/StandardEditorNames\";\r\nexport * from \"./appui-abstract/properties/StandardTypeNames\";\r\nexport * from \"./appui-abstract/properties/Value\";\r\n\r\nexport * from \"./appui-abstract/quantity/BaseQuantityDescription\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/toolbars/ToolbarItem\";\r\nexport * from \"./appui-abstract/toolbars/ToolbarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/utils/callbacks\";\r\nexport * from \"./appui-abstract/utils/misc\";\r\nexport * from \"./appui-abstract/utils/IconSpecUtilities\";\r\nexport * from \"./appui-abstract/utils/PointProps\";\r\nexport * from \"./appui-abstract/utils/UiError\";\r\nexport * from \"./appui-abstract/utils/UiEventDispatcher\";\r\nexport * from \"./appui-abstract/utils/UiEvent\";\r\nexport * from \"./appui-abstract/utils/filter/charCode\";\r\nexport * from \"./appui-abstract/utils/filter/filters\";\r\nexport * from \"./appui-abstract/utils/filter/strings\";\r\n\r\nexport * from \"./appui-abstract/widget/AbstractWidgetProps\";\r\nexport * from \"./appui-abstract/widget/StagePanel\";\r\nexport * from \"./appui-abstract/widget/WidgetState\";\r\n\r\n/** @docs-package-description\r\n * The appui-abstract package contains abstractions for UI controls, such as toolbars, buttons and menus.\r\n * For more information, see [learning about appui-abstract]($docs/learning/ui/abstract/index.md).\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Abstractions used by appui-react package to create and manage the display Backstage menu items.\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes and interfaces used with Content Layouts.\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Interfaces and classes for generating UI items for Dialogs.\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Toolbar, Widget, Backstage or Context Menu\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Interfaces and enums for working with a message\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Properties system for data input and formatting.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for creating and managing items in the status bar.\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes for creating and managing items in a toolbar.\r\n */\r\n/**\r\n * @docs-group-description UiAdmin\r\n * Abstractions for UI controls, such as toolbars, buttons and menus and are callable from IModelApp.uiAdmin in core-frontend.\r\n */\r\n/**\r\n * @docs-group-description UiItemsProvider\r\n * Interface for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for creating and providing Widgets.\r\n */\r\n"]}
1
+ {"version":3,"file":"appui-abstract.js","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;;;;;AAE/F,uEAAqD;AACrD,2DAAyC;AACzC,kEAAgD;AAChD,mEAAiD;AAEjD,2EAAyD;AACzD,mFAAiE;AAEjE,sEAAoD;AAEpD,8EAA4D;AAC5D,kFAAgE;AAEhE,sEAAoD;AACpD,gFAA8D;AAC9D,0EAAwD;AAExD,2EAAyD;AACzD,+EAA6D;AAC7D,8EAA4D;AAC5D,mEAAiD;AACjD,iFAA+D;AAC/D,gFAA8D;AAC9D,sEAAoD;AACpD,0EAAwD;AACxD,oEAAkD;AAElD,iFAA+D;AAC/D,gFAA8D;AAE9D,0EAAwD;AACxD,2EAAyD;AACzD,6EAA2D;AAC3D,qEAAmD;AACnD,kFAAgE;AAChE,gFAA8D;AAC9D,oEAAkD;AAElD,oFAAkE;AAClE,2EAAyD;AACzD,mFAAiE;AAEjE,wEAAsD;AACtD,gFAA8D;AAE9D,2EAAyD;AACzD,mFAAiE;AAEjE,mEAAiD;AACjD,8DAA4C;AAC5C,2EAAyD;AACzD,oEAAkD;AAClD,iEAA+C;AAC/C,2EAAyD;AACzD,iEAA+C;AAC/C,wEAAsD;AAEtD,8EAA4D;AAC5D,qEAAmD;AACnD,sEAAoD;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./appui-abstract/BaseUiItemsProvider\";\r\nexport * from \"./appui-abstract/UiAdmin\";\r\nexport * from \"./appui-abstract/UiItemsManager\";\r\nexport * from \"./appui-abstract/UiItemsProvider\";\r\n\r\nexport * from \"./appui-abstract/backstage/BackstageItem\";\r\nexport * from \"./appui-abstract/backstage/BackstageItemsManager\";\r\n\r\nexport * from \"./appui-abstract/common/KeyboardKey\";\r\n\r\nexport * from \"./appui-abstract/content/ContentLayoutProps\";\r\nexport * from \"./appui-abstract/content/StandardContentLayouts\";\r\n\r\nexport * from \"./appui-abstract/dialogs/DialogItem\";\r\nexport * from \"./appui-abstract/dialogs/UiLayoutDataProvider\";\r\nexport * from \"./appui-abstract/dialogs/UiDataProvider\";\r\n\r\nexport * from \"./appui-abstract/items/AbstractItemProps\";\r\nexport * from \"./appui-abstract/items/AbstractMenuItemProps\";\r\nexport * from \"./appui-abstract/items/AbstractToolbarProps\";\r\nexport * from \"./appui-abstract/items/BadgeType\";\r\nexport * from \"./appui-abstract/items/ConditionalBooleanValue\";\r\nexport * from \"./appui-abstract/items/ConditionalStringValue\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/StageUsage\";\r\n\r\nexport * from \"./appui-abstract/notification/MessagePresenter\";\r\nexport * from \"./appui-abstract/notification/MessageSeverity\";\r\n\r\nexport * from \"./appui-abstract/properties/Description\";\r\nexport * from \"./appui-abstract/properties/EditorParams\";\r\nexport * from \"./appui-abstract/properties/PrimitiveTypes\";\r\nexport * from \"./appui-abstract/properties/Record\";\r\nexport * from \"./appui-abstract/properties/StandardEditorNames\";\r\nexport * from \"./appui-abstract/properties/StandardTypeNames\";\r\nexport * from \"./appui-abstract/properties/Value\";\r\n\r\nexport * from \"./appui-abstract/quantity/BaseQuantityDescription\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/toolbars/ToolbarItem\";\r\nexport * from \"./appui-abstract/toolbars/ToolbarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/utils/callbacks\";\r\nexport * from \"./appui-abstract/utils/misc\";\r\nexport * from \"./appui-abstract/utils/IconSpecUtilities\";\r\nexport * from \"./appui-abstract/utils/PointProps\";\r\nexport * from \"./appui-abstract/utils/UiError\";\r\nexport * from \"./appui-abstract/utils/UiEventDispatcher\";\r\nexport * from \"./appui-abstract/utils/UiEvent\";\r\nexport * from \"./appui-abstract/utils/filter/filters\";\r\n\r\nexport * from \"./appui-abstract/widget/AbstractWidgetProps\";\r\nexport * from \"./appui-abstract/widget/StagePanel\";\r\nexport * from \"./appui-abstract/widget/WidgetState\";\r\n\r\n/** @docs-package-description\r\n * The appui-abstract package contains abstractions for UI controls, such as toolbars, buttons and menus.\r\n * For more information, see [learning about appui-abstract]($docs/learning/ui/abstract/index.md).\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Abstractions used by appui-react package to create and manage the display Backstage menu items.\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes and interfaces used with Content Layouts.\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Interfaces and classes for generating UI items for Dialogs.\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Toolbar, Widget, Backstage or Context Menu\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Interfaces and enums for working with a message\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Properties system for data input and formatting.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for creating and managing items in the status bar.\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes for creating and managing items in a toolbar.\r\n */\r\n/**\r\n * @docs-group-description UiAdmin\r\n * Abstractions for UI controls, such as toolbars, buttons and menus and are callable from IModelApp.uiAdmin in core-frontend.\r\n */\r\n/**\r\n * @docs-group-description UiItemsProvider\r\n * Interface for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for creating and providing Widgets.\r\n */\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"UiAdmin.d.ts","sourceRoot":"","sources":["../../../src/appui-abstract/UiAdmin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiAdmin.d.ts","sourceRoot":"","sources":["../../../src/appui-abstract/UiAdmin.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,7 @@
5
5
  /** @packageDocumentation
6
6
  * @module UiAdmin
7
7
  */
8
- import { BeUiEvent } from "@itwin/core-bentley";
9
- import { loggerCategory } from "./utils/misc";
10
- import { UiError } from "./utils/UiError";
8
+ import { BentleyError, BentleyStatus, BeUiEvent } from "@itwin/core-bentley";
11
9
  /** The GenericUiEvent is the base event class for UI events that target a specific component, as identified in uiComponentId.
12
10
  * @public
13
11
  */
@@ -22,8 +20,11 @@ class UiAdmin {
22
20
  }
23
21
  /** The MessagePresenter used to display messages. */
24
22
  static get messagePresenter() {
25
- if (!UiAdmin._messagePresenter)
26
- throw new UiError(loggerCategory(this), "UiAdmin.messagePresenter not set");
23
+ if (!UiAdmin._messagePresenter) {
24
+ const error = new BentleyError(BentleyStatus.ERROR, "UiAdmin.messagePresenter not set");
25
+ error.category = "messagePresenter";
26
+ throw error;
27
+ }
27
28
  return UiAdmin._messagePresenter;
28
29
  }
29
30
  static set messagePresenter(mp) {
@@ -1 +1 @@
1
- {"version":3,"file":"UiAdmin.js","sourceRoot":"","sources":["../../../src/appui-abstract/UiAdmin.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module UiAdmin\r\n */\r\n\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\nimport { AbstractMenuItemProps } from \"./items/AbstractMenuItemProps\";\r\nimport { AbstractToolbarProps } from \"./items/AbstractToolbarProps\";\r\nimport { RelativePosition } from \"./items/RelativePosition\";\r\nimport { PropertyDescription } from \"./properties/Description\";\r\nimport { Primitives } from \"./properties/PrimitiveTypes\";\r\nimport { OnCancelFunc, OnItemExecutedFunc, OnNumberCommitFunc, OnValueCommitFunc } from \"./utils/callbacks\";\r\nimport { PropertyRecord } from \"./properties/Record\";\r\nimport { UiDataProvider } from \"./dialogs/UiDataProvider\";\r\nimport { DialogLayoutDataProvider } from \"./dialogs/UiLayoutDataProvider\";\r\nimport { loggerCategory } from \"./utils/misc\";\r\nimport { MessagePresenter } from \"./notification/MessagePresenter\";\r\nimport { UiError } from \"./utils/UiError\";\r\n\r\ninterface XAndY { readonly x: number, readonly y: number }\r\n\r\n/** The Generic UI Event args contains information useful for any UI message\r\n * @public\r\n */\r\nexport interface GenericUiEventArgs {\r\n uiComponentId: string;\r\n}\r\n\r\n/** Optional props to pass to the Dialog control that is generated.\r\n * @public\r\n */\r\nexport interface DialogProps {\r\n /** Indicates whether the user can resize dialog with cursor. */\r\n resizable?: boolean;\r\n /** Indicates whether the user can move dialog with cursor.*/\r\n movable?: boolean;\r\n /** Initial width of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n width?: string | number;\r\n /** Initial height of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n height?: string | number;\r\n /** Minimum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n minWidth?: string | number;\r\n /** Minimum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n minHeight?: string | number;\r\n /** Maximum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n maxWidth?: string | number;\r\n /** Maximum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n maxHeight?: string | number;\r\n}\r\n\r\n/** The GenericUiEvent is the base event class for UI events that target a specific component, as identified in uiComponentId.\r\n * @public\r\n */\r\nexport class GenericUiEvent extends BeUiEvent<GenericUiEventArgs> { }\r\n\r\n/** Flags that control enabling/disabling certain UI features\r\n * @public\r\n */\r\nexport interface UiFlags {\r\n /** if true then Ctrl+F2 will show popup key-in palette */\r\n allowKeyinPalette?: boolean;\r\n}\r\n\r\n/** The UiAdmin controls various UI components and is callable from IModelApp.uiAdmin in the core-frontend package.\r\n * @public\r\n */\r\nexport class UiAdmin {\r\n private _featureFlags: UiFlags = {};\r\n private static _messagePresenter?: MessagePresenter;\r\n\r\n /** The MessagePresenter used to display messages. */\r\n public static get messagePresenter(): MessagePresenter {\r\n if (!UiAdmin._messagePresenter)\r\n throw new UiError(loggerCategory(this), \"UiAdmin.messagePresenter not set\");\r\n return UiAdmin._messagePresenter;\r\n }\r\n public static set messagePresenter(mp: MessagePresenter) {\r\n UiAdmin._messagePresenter = mp;\r\n }\r\n\r\n public get featureFlags(): UiFlags {\r\n return { ...this._featureFlags }; // return copy so no direct access to modify value\r\n }\r\n\r\n public updateFeatureFlags(uiFlags: UiFlags) {\r\n this._featureFlags = { ...this._featureFlags, ...uiFlags };\r\n }\r\n\r\n /** @internal */\r\n public onInitialized() { }\r\n\r\n /** Get the cursor X and Y position. */\r\n public get cursorPosition(): XAndY { return { x: 0, y: 0 }; }\r\n\r\n /** Create a PointProps object.\r\n * @deprecated in 4.2.x. Please use @core/geometry [[XAndY]] or a custom implementation.\r\n */\r\n public createXAndY(x: number, y: number): XAndY { return { x, y }; }\r\n\r\n /** Determines if focus is set to Home */\r\n public get isFocusOnHome(): boolean { return false; }\r\n\r\n /** Sets focus to Home */\r\n public setFocusToHome(): void { }\r\n\r\n /** Show a context menu at a particular location.\r\n * @param _menuItemsProps Properties of the menu items to display.\r\n * @param _location Location of the context menu, relative to the origin of htmlElement or the window.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the menu was displayed, false if the menu could not be displayed.\r\n */\r\n public showContextMenu(_menuItemsProps: AbstractMenuItemProps[], _location: XAndY, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Show a Toolbar at a particular location.\r\n * @param _toolbarProps Properties of the Toolbar to display.\r\n * @param _location Location of the Toolbar, relative to the origin of htmlElement or the window.\r\n * @param _offset Offset of the Toolbar from the location.\r\n * @param _onItemExecuted Function invoked after a Toolbar item is executed\r\n * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the Toolbar\r\n * @param _relativePosition Position relative to the given location. Defaults to TopRight.\r\n * @param _htmlElement The HTMLElement that anchors the Toolbar. If undefined, the location is relative to the overall window.\r\n * @return true if the Toolbar was displayed, false if the Toolbar could not be displayed.\r\n */\r\n public showToolbar(\r\n _toolbarProps: AbstractToolbarProps, _location: XAndY, _offset: XAndY, _onItemExecuted: OnItemExecutedFunc, _onCancel: OnCancelFunc,\r\n _relativePosition?: RelativePosition, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the toolbar. */\r\n public hideToolbar(): boolean { return false; }\r\n\r\n /** Show a menu button at a particular location. A menu button opens a context menu.\r\n * @param _id Id of the menu button. Multiple menu buttons may be displayed.\r\n * @param _menuItemsProps Properties of the menu items to display.\r\n * @param _location Location of the context menu, relative to the origin of htmlElement or the window.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the button was displayed, false if the button could not be displayed.\r\n */\r\n public showMenuButton(_id: string, _menuItemsProps: AbstractMenuItemProps[], _location: XAndY, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides a menu button.\r\n * @param _id Id of the menu button. Multiple menu buttons may be displayed.\r\n * @return true if the menu was hidden, false if the menu could not be hidden.\r\n */\r\n public hideMenuButton(_id: string): boolean { return false; }\r\n\r\n /** Show a calculator at a particular location.\r\n * @param _initialValue Value initially displayed in the calculator.\r\n * @param _resultIcon Icon displayed to the left of the value.\r\n * @param _location Location of the calculator, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the calculator was displayed, false if the calculator could not be displayed.\r\n */\r\n public showCalculator(_initialValue: number, _resultIcon: string, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the calculator. */\r\n public hideCalculator(): boolean { return false; }\r\n\r\n /** Show an input editor for an angle value at a particular location.\r\n * @param _initialValue Value initially displayed in the editor.\r\n * @param _location Location of the editor, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the editor was displayed, false if the editor could not be displayed.\r\n */\r\n public showAngleEditor(_initialValue: number, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Show an input editor for a length value at a particular location.\r\n * @param _initialValue Value initially displayed in the editor.\r\n * @param _location Location of the editor, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the editor was displayed, false if the editor could not be displayed.\r\n */\r\n public showLengthEditor(_initialValue: number, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Show an input editor for a height value at a particular location.\r\n * @param _initialValue Value initially displayed in the editor.\r\n * @param _location Location of the editor, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the editor was displayed, false if the editor could not be displayed.\r\n */\r\n public showHeightEditor(_initialValue: number, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Show an input editor for a primitive value at a particular location.\r\n * @param _initialValue Value initially displayed in the editor.\r\n * @param _propertyDescription Description of the primitive value property.\r\n * @param _location Location of the editor, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the editor was displayed, false if the editor could not be displayed.\r\n */\r\n public showInputEditor(_initialValue: Primitives.Value, _propertyDescription: PropertyDescription, _location: XAndY, _onCommit: OnValueCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the input editor. */\r\n public hideInputEditor(): boolean { return false; }\r\n\r\n /** Show an HTML element at a particular location.\r\n * @param _displayElement The HTMLElement to display\r\n * @param _location Location of the tool settings, relative to the origin of anchorElement or the window\r\n * @param _offset Offset of the display element from the location\r\n * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the display element\r\n * @param _relativePosition Position relative to the given location. Defaults to TopRight.\r\n * @param _anchorElement The HTMLElement that anchors the display element. If undefined, the location is relative to the overall window.\r\n * @return true if the display element was displayed, false if the display element could not be displayed.\r\n */\r\n public showHTMLElement(\r\n _displayElement: HTMLElement, _location: XAndY, _offset: XAndY, _onCancel: OnCancelFunc,\r\n _relativePosition?: RelativePosition, _anchorElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the HTML Element. */\r\n public hideHTMLElement(): boolean { return false; }\r\n\r\n /** Show a Card containing content, a title and a toolbar at a particular location.\r\n * @param _content The HTMLElement of the content to display\r\n * @param _title Title to display at the top of the card.\r\n * @param _toolbarProps Properties of the Toolbar to display.\r\n * @param _location Location of the Card, relative to the origin of anchorElement or the window.\r\n * @param _offset Offset of the Card from the location.\r\n * @param _onItemExecuted Function invoked after a Toolbar item is executed\r\n * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the Card\r\n * @param _relativePosition Position relative to the given location. Defaults to TopRight.\r\n * @param _anchorElement The HTMLElement that anchors the Card. If undefined, the location is relative to the overall window.\r\n * @return true if the Card was displayed, false if the Card could not be displayed.\r\n */\r\n public showCard(\r\n _content: HTMLElement, _title: string | PropertyRecord | undefined, _toolbarProps: AbstractToolbarProps | undefined,\r\n _location: XAndY, _offset: XAndY, _onItemExecuted: OnItemExecutedFunc, _onCancel: OnCancelFunc,\r\n _relativePosition?: RelativePosition, _anchorElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the Card. */\r\n public hideCard(): boolean { return false; }\r\n\r\n /** Opens a Tool Settings Ui popup at a particular location.\r\n * @param _dataProvider The UiDataProvider for the tool settings\r\n * @param _location Location of the tool settings, relative to the origin of anchorElement or the window\r\n * @param _offset Offset of the tool settings from the location\r\n * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the tool settings\r\n * @param _relativePosition Position relative to the given location. Defaults to TopRight.\r\n * @param _anchorElement The HTMLElement that anchors the tool settings. If undefined, the location is relative to the overall window.\r\n * @return true if the tool settings were displayed, false if the tool settings could not be displayed.\r\n */\r\n public openToolSettingsPopup(\r\n _dataProvider: UiDataProvider, _location: XAndY, _offset: XAndY, _onCancel: OnCancelFunc,\r\n _relativePosition?: RelativePosition, _anchorElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Closes the Tool Settings Ui popup. */\r\n public closeToolSettingsPopup(): boolean { return false; }\r\n\r\n /** Show the Keyin Palette to display all support Tool key-ins.\r\n * @param _htmlElement The HTMLElement that anchors the Keyin Palette. If undefined, the location is relative to the overall window.\r\n * @return true if the Keyin Palette was displayed, false if it could not be displayed.\r\n */\r\n public showKeyinPalette(_htmlElement?: HTMLElement): boolean { return false; }\r\n\r\n /** Hides the Keyin Palette. */\r\n public hideKeyinPalette(): boolean { return false; }\r\n\r\n /** Send a UI event */\r\n public static sendUiEvent(args: GenericUiEventArgs) {\r\n UiAdmin.onGenericUiEvent.emit(args);\r\n }\r\n /** GenericUiEvent */\r\n public static readonly onGenericUiEvent = new GenericUiEvent();\r\n\r\n /** Opens a Dialog and automatically populates it using the properties defined by the UiDataProvider.\r\n * @param _uiDataProvider The DialogLayoutDataProvider for the dialog\r\n * @param _title Specify title for dialog.\r\n * @param _isModal Specify if the dialog is opened as a modal or modeless.\r\n * @param _id Id of the dialog that is used to close it.\r\n * @param _optionalProps Optional props for Dialog construction.\r\n * @return true if the tool settings were displayed, false if the tool settings could not be displayed.\r\n */\r\n public openDialog(_uiDataProvider: DialogLayoutDataProvider, _title: string, _isModal: boolean, _id: string,\r\n _optionalProps?: DialogProps): boolean {\r\n return false;\r\n }\r\n\r\n /** Closes the Dialog with a given Id. */\r\n public closeDialog(_dialogId: string): boolean { return false; }\r\n}\r\n"]}
1
+ {"version":3,"file":"UiAdmin.js","sourceRoot":"","sources":["../../../src/appui-abstract/UiAdmin.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module UiAdmin\r\n */\r\n\r\nimport { BentleyError, BentleyStatus, BeUiEvent } from \"@itwin/core-bentley\";\r\nimport { AbstractMenuItemProps } from \"./items/AbstractMenuItemProps\";\r\nimport { AbstractToolbarProps } from \"./items/AbstractToolbarProps\";\r\nimport { RelativePosition } from \"./items/RelativePosition\";\r\nimport { PropertyDescription } from \"./properties/Description\";\r\nimport { Primitives } from \"./properties/PrimitiveTypes\";\r\nimport { OnCancelFunc, OnItemExecutedFunc, OnNumberCommitFunc, OnValueCommitFunc } from \"./utils/callbacks\";\r\nimport { PropertyRecord } from \"./properties/Record\";\r\nimport { UiDataProvider } from \"./dialogs/UiDataProvider\";\r\nimport { DialogLayoutDataProvider } from \"./dialogs/UiLayoutDataProvider\";\r\nimport { MessagePresenter } from \"./notification/MessagePresenter\";\r\n\r\ninterface XAndY { readonly x: number, readonly y: number }\r\n\r\ninterface BentleyErrorWithCategory extends BentleyError {\r\n category: string;\r\n}\r\n\r\n/** The Generic UI Event args contains information useful for any UI message\r\n * @public\r\n */\r\nexport interface GenericUiEventArgs {\r\n uiComponentId: string;\r\n}\r\n\r\n/** Optional props to pass to the Dialog control that is generated.\r\n * @public\r\n */\r\nexport interface DialogProps {\r\n /** Indicates whether the user can resize dialog with cursor. */\r\n resizable?: boolean;\r\n /** Indicates whether the user can move dialog with cursor.*/\r\n movable?: boolean;\r\n /** Initial width of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n width?: string | number;\r\n /** Initial height of dialog. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n height?: string | number;\r\n /** Minimum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n minWidth?: string | number;\r\n /** Minimum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n minHeight?: string | number;\r\n /** Maximum width that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n maxWidth?: string | number;\r\n /** Maximum height that the dialog may be resized to. Displayed in px if value is a number; otherwise, displayed in specified CSS unit. */\r\n maxHeight?: string | number;\r\n}\r\n\r\n/** The GenericUiEvent is the base event class for UI events that target a specific component, as identified in uiComponentId.\r\n * @public\r\n */\r\nexport class GenericUiEvent extends BeUiEvent<GenericUiEventArgs> { }\r\n\r\n/** Flags that control enabling/disabling certain UI features\r\n * @public\r\n */\r\nexport interface UiFlags {\r\n /** if true then Ctrl+F2 will show popup key-in palette */\r\n allowKeyinPalette?: boolean;\r\n}\r\n\r\n/** The UiAdmin controls various UI components and is callable from IModelApp.uiAdmin in the core-frontend package.\r\n * @public\r\n */\r\nexport class UiAdmin {\r\n private _featureFlags: UiFlags = {};\r\n private static _messagePresenter?: MessagePresenter;\r\n\r\n /** The MessagePresenter used to display messages. */\r\n public static get messagePresenter(): MessagePresenter {\r\n if (!UiAdmin._messagePresenter) {\r\n const error = new BentleyError(BentleyStatus.ERROR, \"UiAdmin.messagePresenter not set\") as BentleyErrorWithCategory;\r\n error.category = \"messagePresenter\";\r\n throw error;\r\n }\r\n\r\n return UiAdmin._messagePresenter;\r\n }\r\n public static set messagePresenter(mp: MessagePresenter) {\r\n UiAdmin._messagePresenter = mp;\r\n }\r\n\r\n public get featureFlags(): UiFlags {\r\n return { ...this._featureFlags }; // return copy so no direct access to modify value\r\n }\r\n\r\n public updateFeatureFlags(uiFlags: UiFlags) {\r\n this._featureFlags = { ...this._featureFlags, ...uiFlags };\r\n }\r\n\r\n /** @internal */\r\n public onInitialized() { }\r\n\r\n /** Get the cursor X and Y position. */\r\n public get cursorPosition(): XAndY { return { x: 0, y: 0 }; }\r\n\r\n /** Create a PointProps object.\r\n * @deprecated in 4.2.x. Please use @core/geometry [[XAndY]] or a custom implementation.\r\n */\r\n public createXAndY(x: number, y: number): XAndY { return { x, y }; }\r\n\r\n /** Determines if focus is set to Home */\r\n public get isFocusOnHome(): boolean { return false; }\r\n\r\n /** Sets focus to Home */\r\n public setFocusToHome(): void { }\r\n\r\n /** Show a context menu at a particular location.\r\n * @param _menuItemsProps Properties of the menu items to display.\r\n * @param _location Location of the context menu, relative to the origin of htmlElement or the window.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the menu was displayed, false if the menu could not be displayed.\r\n */\r\n public showContextMenu(_menuItemsProps: AbstractMenuItemProps[], _location: XAndY, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Show a Toolbar at a particular location.\r\n * @param _toolbarProps Properties of the Toolbar to display.\r\n * @param _location Location of the Toolbar, relative to the origin of htmlElement or the window.\r\n * @param _offset Offset of the Toolbar from the location.\r\n * @param _onItemExecuted Function invoked after a Toolbar item is executed\r\n * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the Toolbar\r\n * @param _relativePosition Position relative to the given location. Defaults to TopRight.\r\n * @param _htmlElement The HTMLElement that anchors the Toolbar. If undefined, the location is relative to the overall window.\r\n * @return true if the Toolbar was displayed, false if the Toolbar could not be displayed.\r\n */\r\n public showToolbar(\r\n _toolbarProps: AbstractToolbarProps, _location: XAndY, _offset: XAndY, _onItemExecuted: OnItemExecutedFunc, _onCancel: OnCancelFunc,\r\n _relativePosition?: RelativePosition, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the toolbar. */\r\n public hideToolbar(): boolean { return false; }\r\n\r\n /** Show a menu button at a particular location. A menu button opens a context menu.\r\n * @param _id Id of the menu button. Multiple menu buttons may be displayed.\r\n * @param _menuItemsProps Properties of the menu items to display.\r\n * @param _location Location of the context menu, relative to the origin of htmlElement or the window.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the button was displayed, false if the button could not be displayed.\r\n */\r\n public showMenuButton(_id: string, _menuItemsProps: AbstractMenuItemProps[], _location: XAndY, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides a menu button.\r\n * @param _id Id of the menu button. Multiple menu buttons may be displayed.\r\n * @return true if the menu was hidden, false if the menu could not be hidden.\r\n */\r\n public hideMenuButton(_id: string): boolean { return false; }\r\n\r\n /** Show a calculator at a particular location.\r\n * @param _initialValue Value initially displayed in the calculator.\r\n * @param _resultIcon Icon displayed to the left of the value.\r\n * @param _location Location of the calculator, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the calculator was displayed, false if the calculator could not be displayed.\r\n */\r\n public showCalculator(_initialValue: number, _resultIcon: string, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the calculator. */\r\n public hideCalculator(): boolean { return false; }\r\n\r\n /** Show an input editor for an angle value at a particular location.\r\n * @param _initialValue Value initially displayed in the editor.\r\n * @param _location Location of the editor, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the editor was displayed, false if the editor could not be displayed.\r\n */\r\n public showAngleEditor(_initialValue: number, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Show an input editor for a length value at a particular location.\r\n * @param _initialValue Value initially displayed in the editor.\r\n * @param _location Location of the editor, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the editor was displayed, false if the editor could not be displayed.\r\n */\r\n public showLengthEditor(_initialValue: number, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Show an input editor for a height value at a particular location.\r\n * @param _initialValue Value initially displayed in the editor.\r\n * @param _location Location of the editor, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the editor was displayed, false if the editor could not be displayed.\r\n */\r\n public showHeightEditor(_initialValue: number, _location: XAndY, _onCommit: OnNumberCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Show an input editor for a primitive value at a particular location.\r\n * @param _initialValue Value initially displayed in the editor.\r\n * @param _propertyDescription Description of the primitive value property.\r\n * @param _location Location of the editor, relative to the origin of htmlElement or the window.\r\n * @param _onCommit Function called when the OK button or the Enter key is pressed.\r\n * @param _onCancel Function called when the Cancel button or the Escape key is pressed.\r\n * @param _htmlElement The HTMLElement that anchors the context menu. If undefined, the location is relative to the overall window.\r\n * @return true if the editor was displayed, false if the editor could not be displayed.\r\n */\r\n public showInputEditor(_initialValue: Primitives.Value, _propertyDescription: PropertyDescription, _location: XAndY, _onCommit: OnValueCommitFunc, _onCancel: OnCancelFunc, _htmlElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the input editor. */\r\n public hideInputEditor(): boolean { return false; }\r\n\r\n /** Show an HTML element at a particular location.\r\n * @param _displayElement The HTMLElement to display\r\n * @param _location Location of the tool settings, relative to the origin of anchorElement or the window\r\n * @param _offset Offset of the display element from the location\r\n * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the display element\r\n * @param _relativePosition Position relative to the given location. Defaults to TopRight.\r\n * @param _anchorElement The HTMLElement that anchors the display element. If undefined, the location is relative to the overall window.\r\n * @return true if the display element was displayed, false if the display element could not be displayed.\r\n */\r\n public showHTMLElement(\r\n _displayElement: HTMLElement, _location: XAndY, _offset: XAndY, _onCancel: OnCancelFunc,\r\n _relativePosition?: RelativePosition, _anchorElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the HTML Element. */\r\n public hideHTMLElement(): boolean { return false; }\r\n\r\n /** Show a Card containing content, a title and a toolbar at a particular location.\r\n * @param _content The HTMLElement of the content to display\r\n * @param _title Title to display at the top of the card.\r\n * @param _toolbarProps Properties of the Toolbar to display.\r\n * @param _location Location of the Card, relative to the origin of anchorElement or the window.\r\n * @param _offset Offset of the Card from the location.\r\n * @param _onItemExecuted Function invoked after a Toolbar item is executed\r\n * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the Card\r\n * @param _relativePosition Position relative to the given location. Defaults to TopRight.\r\n * @param _anchorElement The HTMLElement that anchors the Card. If undefined, the location is relative to the overall window.\r\n * @return true if the Card was displayed, false if the Card could not be displayed.\r\n */\r\n public showCard(\r\n _content: HTMLElement, _title: string | PropertyRecord | undefined, _toolbarProps: AbstractToolbarProps | undefined,\r\n _location: XAndY, _offset: XAndY, _onItemExecuted: OnItemExecutedFunc, _onCancel: OnCancelFunc,\r\n _relativePosition?: RelativePosition, _anchorElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Hides the Card. */\r\n public hideCard(): boolean { return false; }\r\n\r\n /** Opens a Tool Settings Ui popup at a particular location.\r\n * @param _dataProvider The UiDataProvider for the tool settings\r\n * @param _location Location of the tool settings, relative to the origin of anchorElement or the window\r\n * @param _offset Offset of the tool settings from the location\r\n * @param _onCancel Function invoked when the Escape key is pressed or a click occurs outside the tool settings\r\n * @param _relativePosition Position relative to the given location. Defaults to TopRight.\r\n * @param _anchorElement The HTMLElement that anchors the tool settings. If undefined, the location is relative to the overall window.\r\n * @return true if the tool settings were displayed, false if the tool settings could not be displayed.\r\n */\r\n public openToolSettingsPopup(\r\n _dataProvider: UiDataProvider, _location: XAndY, _offset: XAndY, _onCancel: OnCancelFunc,\r\n _relativePosition?: RelativePosition, _anchorElement?: HTMLElement): boolean {\r\n return false;\r\n }\r\n\r\n /** Closes the Tool Settings Ui popup. */\r\n public closeToolSettingsPopup(): boolean { return false; }\r\n\r\n /** Show the Keyin Palette to display all support Tool key-ins.\r\n * @param _htmlElement The HTMLElement that anchors the Keyin Palette. If undefined, the location is relative to the overall window.\r\n * @return true if the Keyin Palette was displayed, false if it could not be displayed.\r\n */\r\n public showKeyinPalette(_htmlElement?: HTMLElement): boolean { return false; }\r\n\r\n /** Hides the Keyin Palette. */\r\n public hideKeyinPalette(): boolean { return false; }\r\n\r\n /** Send a UI event */\r\n public static sendUiEvent(args: GenericUiEventArgs) {\r\n UiAdmin.onGenericUiEvent.emit(args);\r\n }\r\n /** GenericUiEvent */\r\n public static readonly onGenericUiEvent = new GenericUiEvent();\r\n\r\n /** Opens a Dialog and automatically populates it using the properties defined by the UiDataProvider.\r\n * @param _uiDataProvider The DialogLayoutDataProvider for the dialog\r\n * @param _title Specify title for dialog.\r\n * @param _isModal Specify if the dialog is opened as a modal or modeless.\r\n * @param _id Id of the dialog that is used to close it.\r\n * @param _optionalProps Optional props for Dialog construction.\r\n * @return true if the tool settings were displayed, false if the tool settings could not be displayed.\r\n */\r\n public openDialog(_uiDataProvider: DialogLayoutDataProvider, _title: string, _isModal: boolean, _id: string,\r\n _optionalProps?: DialogProps): boolean {\r\n return false;\r\n }\r\n\r\n /** Closes the Dialog with a given Id. */\r\n public closeDialog(_dialogId: string): boolean { return false; }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"UiItemsManager.d.ts","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiItemsManager.d.ts","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsManager.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * @module UiItemsProvider
8
8
  */
9
9
  import { BeEvent, Logger } from "@itwin/core-bentley";
10
- import { loggerCategory } from "./utils/misc";
10
+ const loggerCategory = "appui-abstract.UiItemsManager";
11
11
  /** Action taken by the application on item provided by a UiItemsProvider
12
12
  * @public @deprecated in 3.2. This was only used by the previously removed UiItemsArbiter.
13
13
  */
@@ -56,11 +56,11 @@ class UiItemsManager {
56
56
  static register(uiProvider, overrides) {
57
57
  const providerId = overrides?.providerId ?? uiProvider.id;
58
58
  if (UiItemsManager.getUiItemsProvider(providerId)) {
59
- Logger.logInfo(loggerCategory(this), `UiItemsProvider (${providerId}) is already loaded`);
59
+ Logger.logInfo(loggerCategory, `UiItemsProvider (${providerId}) is already loaded`);
60
60
  }
61
61
  else {
62
62
  UiItemsManager._registeredUiItemsProviders.set(providerId, { provider: uiProvider, overrides });
63
- Logger.logInfo(loggerCategory(this), `UiItemsProvider ${uiProvider.id} registered as ${providerId} `);
63
+ Logger.logInfo(loggerCategory, `UiItemsProvider ${uiProvider.id} registered as ${providerId} `);
64
64
  UiItemsManager.sendRegisteredEvent({ providerId });
65
65
  }
66
66
  }
@@ -71,7 +71,7 @@ class UiItemsManager {
71
71
  return;
72
72
  provider.onUnregister && provider.onUnregister();
73
73
  UiItemsManager._registeredUiItemsProviders.delete(uiProviderId);
74
- Logger.logInfo(loggerCategory(this), `UiItemsProvider (${uiProviderId}) unloaded`);
74
+ Logger.logInfo(loggerCategory, `UiItemsProvider (${uiProviderId}) unloaded`);
75
75
  // trigger a refresh of the ui
76
76
  UiItemsManager.sendRegisteredEvent({ providerId: uiProviderId });
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"UiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module UiItemsProvider\r\n */\r\n\r\nimport { BeEvent, Logger, MarkRequired } from \"@itwin/core-bentley\";\r\nimport { BackstageItem } from \"./backstage/BackstageItem\";\r\nimport { CommonStatusBarItem } from \"./statusbar/StatusBarItem\";\r\nimport { CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./toolbars/ToolbarItem\";\r\nimport { AbstractWidgetProps } from \"./widget/AbstractWidgetProps\";\r\nimport { AbstractZoneLocation, StagePanelLocation, StagePanelSection } from \"./widget/StagePanel\";\r\nimport { loggerCategory } from \"./utils/misc\";\r\nimport { UiItemsProvider } from \"./UiItemsProvider\";\r\n\r\n/** Action taken by the application on item provided by a UiItemsProvider\r\n * @public @deprecated in 3.2. This was only used by the previously removed UiItemsArbiter.\r\n */\r\nexport enum UiItemsApplicationAction {\r\n /** Allow the change to the item */\r\n Allow,\r\n /** Disallow the change to the item */\r\n Disallow,\r\n /** Update the item during the change */\r\n Update,\r\n}\r\n\r\n/** UIProvider Registered Event Args interface.\r\n * @deprecated in 3.6. Use [UiItemsProviderRegisteredEventArgs]($appui-react) instead.\r\n * @public\r\n */\r\nexport interface UiItemProviderRegisteredEventArgs {\r\n providerId: string;\r\n}\r\n\r\n/** UiItemProviderOverrides allows the application that registers a provider to limit when it is allowed to provide items\r\n * @deprecated in 3.6. Use [AllowedUiItemsProviderOverrides]($appui-react) instead.\r\n * @public\r\n */\r\nexport interface AllowedUiItemProviderOverrides {\r\n /** allows providerId to be overridden in the items manager for cases where the same provider needs to provide different content to different stages\r\n * @beta\r\n */\r\n providerId?: string;\r\n /** if specified then the current stage's Usage will be compared before allowing any items to be provided\r\n * @beta\r\n */\r\n stageUsages?: string[];\r\n /** if specified then the current stage's Id will be compared before allowing any items to be provided\r\n * @beta\r\n */\r\n stageIds?: string[];\r\n}\r\n\r\n/** Allowed overrides applied to a UiItemsProvider the application that registers a provider to limit when it is allowed to provide items.\r\n * Note that if an override `providerId` is specified then either `stageIds` or `stageUsages` must be defined to limit when the provider's\r\n * items are allowed.\r\n * @deprecated in 3.6. Use [UiItemsProviderOverrides]($appui-react) instead.\r\n * @public\r\n */\r\nexport type UiItemProviderOverrides = MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageUsages\"> |\r\n MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageIds\"> | // eslint-disable-line @typescript-eslint/indent\r\n MarkRequired<AllowedUiItemProviderOverrides, \"stageIds\"> | // eslint-disable-line @typescript-eslint/indent\r\n MarkRequired<AllowedUiItemProviderOverrides, \"stageUsages\"> | // eslint-disable-line @typescript-eslint/indent\r\n MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageUsages\" | \"stageIds\">; // eslint-disable-line @typescript-eslint/indent\r\n\r\n/** Interface that defines an instance of a UiItemsProvider and its application specified overrides. */\r\ninterface UiItemProviderEntry {\r\n provider: UiItemsProvider;\r\n overrides?: UiItemProviderOverrides;\r\n}\r\n\r\n/** Controls registering of UiItemsProviders and calls the provider's methods when populating different parts of the User Interface.\r\n * @deprecated in 3.6. Use [UiItemsManager]($appui-react) instead.\r\n * @public\r\n */\r\nexport class UiItemsManager {\r\n private static _registeredUiItemsProviders: Map<string, UiItemProviderEntry> = new Map<string, UiItemProviderEntry>();\r\n\r\n /** For use in unit testing\r\n * @internal */\r\n public static clearAllProviders() {\r\n UiItemsManager._registeredUiItemsProviders.clear();\r\n }\r\n\r\n /** Event raised any time a UiProvider is registered or unregistered. */\r\n public static readonly onUiProviderRegisteredEvent = new BeEvent<(ev: UiItemProviderRegisteredEventArgs) => void>();\r\n\r\n /** Return number of registered UiProvider. */\r\n public static get registeredProviderIds() {\r\n const ids = [...UiItemsManager._registeredUiItemsProviders.keys()];\r\n return ids;\r\n }\r\n\r\n /** Return true if there is any registered UiProvider. */\r\n public static get hasRegisteredProviders(): boolean {\r\n return this._registeredUiItemsProviders.size > 0;\r\n }\r\n\r\n /**\r\n * Retrieves a previously loaded UiItemsProvider.\r\n * @param providerId id of the UiItemsProvider to get\r\n */\r\n public static getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\r\n return UiItemsManager._registeredUiItemsProviders.get(providerId)?.provider;\r\n }\r\n\r\n private static sendRegisteredEvent(ev: UiItemProviderRegisteredEventArgs) {\r\n UiItemsManager.onUiProviderRegisteredEvent.raiseEvent(ev);\r\n }\r\n\r\n /**\r\n * Registers a UiItemsProvider with the UiItemsManager.\r\n * @param uiProvider the UI items provider to register.\r\n */\r\n public static register(uiProvider: UiItemsProvider, overrides?: UiItemProviderOverrides): void {\r\n const providerId = overrides?.providerId ?? uiProvider.id;\r\n\r\n if (UiItemsManager.getUiItemsProvider(providerId)) {\r\n Logger.logInfo(loggerCategory(this), `UiItemsProvider (${providerId}) is already loaded`);\r\n } else {\r\n UiItemsManager._registeredUiItemsProviders.set(providerId, { provider: uiProvider, overrides });\r\n Logger.logInfo(loggerCategory(this), `UiItemsProvider ${uiProvider.id} registered as ${providerId} `);\r\n\r\n UiItemsManager.sendRegisteredEvent({ providerId } as UiItemProviderRegisteredEventArgs);\r\n }\r\n }\r\n\r\n /** Remove a specific UiItemsProvider from the list of available providers. */\r\n public static unregister(uiProviderId: string): void {\r\n const provider = UiItemsManager.getUiItemsProvider(uiProviderId);\r\n if (!provider)\r\n return;\r\n\r\n provider.onUnregister && provider.onUnregister();\r\n\r\n UiItemsManager._registeredUiItemsProviders.delete(uiProviderId);\r\n Logger.logInfo(loggerCategory(this), `UiItemsProvider (${uiProviderId}) unloaded`);\r\n\r\n // trigger a refresh of the ui\r\n UiItemsManager.sendRegisteredEvent({ providerId: uiProviderId } as UiItemProviderRegisteredEventArgs);\r\n }\r\n\r\n private static allowItemsFromProvider(entry: UiItemProviderEntry, stageId?: string, stageUsage?: string) {\r\n // istanbul ignore else\r\n const overrides = entry.overrides;\r\n if (undefined !== stageId && overrides?.stageIds && !(overrides.stageIds.some((value: string) => value === stageId)))\r\n return false;\r\n if (undefined !== stageUsage && overrides?.stageUsages && !(overrides.stageUsages.some((value: string) => value === stageUsage)))\r\n return false;\r\n return true;\r\n }\r\n\r\n /** Called when the application is populating a toolbar so that any registered UiItemsProvider can add tool buttons that either either execute\r\n * an action or specify a registered ToolId into toolbar.\r\n * @param stageId a string identifier the active stage.\r\n * @param stageUsage the StageUsage of the active stage.\r\n * @param toolbarUsage usage of the toolbar\r\n * @param toolbarOrientation orientation of the toolbar\r\n * @returns an array of error messages. The array will be empty if the load is successful, otherwise it is a list of one or more problems.\r\n */\r\n public static getToolbarButtonItems(stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage,\r\n toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\r\n const buttonItems: CommonToolbarItem[] = [];\r\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\r\n return buttonItems;\r\n\r\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\r\n const uiProvider = entry.provider;\r\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\r\n // istanbul ignore else\r\n if (uiProvider.provideToolbarButtonItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\r\n uiProvider.provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData)\r\n .forEach((spec: CommonToolbarItem) => {\r\n // ignore duplicate ids\r\n if (-1 === buttonItems.findIndex((existingItem)=> spec.id === existingItem.id ))\r\n buttonItems.push({ ...spec, providerId });\r\n });\r\n }\r\n });\r\n\r\n return buttonItems;\r\n }\r\n\r\n /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields\r\n * @param stageId a string identifier the active stage.\r\n * @param stageUsage the StageUsage of the active stage.\r\n * @returns An array of CommonStatusBarItem that will be used to create controls for the status bar.\r\n */\r\n public static getStatusBarItems(stageId: string, stageUsage: string, stageAppData?: any): CommonStatusBarItem[] {\r\n const statusBarItems: CommonStatusBarItem[] = [];\r\n\r\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\r\n return statusBarItems;\r\n\r\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\r\n const uiProvider = entry.provider;\r\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\r\n\r\n // istanbul ignore else\r\n if (uiProvider.provideStatusBarItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\r\n uiProvider.provideStatusBarItems(stageId, stageUsage, stageAppData)\r\n .forEach((item: CommonStatusBarItem) => {\r\n // ignore duplicate ids\r\n if (-1 === statusBarItems.findIndex((existingItem)=> item.id === existingItem.id ))\r\n statusBarItems.push({ ...item, providerId });\r\n });\r\n }\r\n });\r\n\r\n return statusBarItems;\r\n }\r\n\r\n /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields\r\n * @returns An array of BackstageItem that will be used to create controls for the backstage menu.\r\n */\r\n public static getBackstageItems(): BackstageItem[] {\r\n const backstageItems: BackstageItem[] = [];\r\n\r\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\r\n return backstageItems;\r\n\r\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\r\n const uiProvider = entry.provider;\r\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\r\n\r\n // istanbul ignore else\r\n if (uiProvider.provideBackstageItems) { // Note: We do not call this.allowItemsFromProvider here as backstage items\r\n uiProvider.provideBackstageItems() // should not be considered stage specific. If they need to be hidden\r\n .forEach((item: BackstageItem) => { // the isHidden property should be set to a ConditionalBooleanValue\r\n // ignore duplicate ids\r\n if (-1 === backstageItems.findIndex((existingItem)=> item.id === existingItem.id ))\r\n backstageItems.push({ ...item, providerId });\r\n });\r\n }\r\n });\r\n return backstageItems;\r\n }\r\n\r\n /** Called when the application is populating the Stage Panels so that any registered UiItemsProvider can add widgets\r\n * @param stageId a string identifier the active stage.\r\n * @param stageUsage the StageUsage of the active stage.\r\n * @param location the location within the stage.\r\n * @param section the section within location.\r\n * @returns An array of AbstractWidgetProps that will be used to create widgets.\r\n */\r\n public static getWidgets(stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection, zoneLocation?: AbstractZoneLocation, stageAppData?: any): ReadonlyArray<AbstractWidgetProps> {\r\n const widgets: AbstractWidgetProps[] = [];\r\n\r\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\r\n return widgets;\r\n\r\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\r\n const uiProvider = entry.provider;\r\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\r\n\r\n // istanbul ignore else\r\n if (uiProvider.provideWidgets && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\r\n uiProvider.provideWidgets(stageId, stageUsage, location, section, zoneLocation, stageAppData)\r\n .forEach((widget: AbstractWidgetProps) => {\r\n // ignore duplicate ids\r\n if (-1 === widgets.findIndex((existingItem)=> widget.id === existingItem.id ))\r\n widgets.push({ ...widget, providerId });\r\n });\r\n }\r\n });\r\n return widgets;\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"UiItemsManager.js","sourceRoot":"","sources":["../../../src/appui-abstract/UiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module UiItemsProvider\r\n */\r\n\r\nimport { BeEvent, Logger, MarkRequired } from \"@itwin/core-bentley\";\r\nimport { BackstageItem } from \"./backstage/BackstageItem\";\r\nimport { CommonStatusBarItem } from \"./statusbar/StatusBarItem\";\r\nimport { CommonToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./toolbars/ToolbarItem\";\r\nimport { AbstractWidgetProps } from \"./widget/AbstractWidgetProps\";\r\nimport { AbstractZoneLocation, StagePanelLocation, StagePanelSection } from \"./widget/StagePanel\";\r\nimport { UiItemsProvider } from \"./UiItemsProvider\";\r\n\r\nconst loggerCategory = \"appui-abstract.UiItemsManager\";\r\n/** Action taken by the application on item provided by a UiItemsProvider\r\n * @public @deprecated in 3.2. This was only used by the previously removed UiItemsArbiter.\r\n */\r\nexport enum UiItemsApplicationAction {\r\n /** Allow the change to the item */\r\n Allow,\r\n /** Disallow the change to the item */\r\n Disallow,\r\n /** Update the item during the change */\r\n Update,\r\n}\r\n\r\n/** UIProvider Registered Event Args interface.\r\n * @deprecated in 3.6. Use [UiItemsProviderRegisteredEventArgs]($appui-react) instead.\r\n * @public\r\n */\r\nexport interface UiItemProviderRegisteredEventArgs {\r\n providerId: string;\r\n}\r\n\r\n/** UiItemProviderOverrides allows the application that registers a provider to limit when it is allowed to provide items\r\n * @deprecated in 3.6. Use [AllowedUiItemsProviderOverrides]($appui-react) instead.\r\n * @public\r\n */\r\nexport interface AllowedUiItemProviderOverrides {\r\n /** allows providerId to be overridden in the items manager for cases where the same provider needs to provide different content to different stages\r\n * @beta\r\n */\r\n providerId?: string;\r\n /** if specified then the current stage's Usage will be compared before allowing any items to be provided\r\n * @beta\r\n */\r\n stageUsages?: string[];\r\n /** if specified then the current stage's Id will be compared before allowing any items to be provided\r\n * @beta\r\n */\r\n stageIds?: string[];\r\n}\r\n\r\n/** Allowed overrides applied to a UiItemsProvider the application that registers a provider to limit when it is allowed to provide items.\r\n * Note that if an override `providerId` is specified then either `stageIds` or `stageUsages` must be defined to limit when the provider's\r\n * items are allowed.\r\n * @deprecated in 3.6. Use [UiItemsProviderOverrides]($appui-react) instead.\r\n * @public\r\n */\r\nexport type UiItemProviderOverrides = MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageUsages\"> |\r\n MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageIds\"> | // eslint-disable-line @typescript-eslint/indent\r\n MarkRequired<AllowedUiItemProviderOverrides, \"stageIds\"> | // eslint-disable-line @typescript-eslint/indent\r\n MarkRequired<AllowedUiItemProviderOverrides, \"stageUsages\"> | // eslint-disable-line @typescript-eslint/indent\r\n MarkRequired<AllowedUiItemProviderOverrides, \"providerId\" | \"stageUsages\" | \"stageIds\">; // eslint-disable-line @typescript-eslint/indent\r\n\r\n/** Interface that defines an instance of a UiItemsProvider and its application specified overrides. */\r\ninterface UiItemProviderEntry {\r\n provider: UiItemsProvider;\r\n overrides?: UiItemProviderOverrides;\r\n}\r\n\r\n/** Controls registering of UiItemsProviders and calls the provider's methods when populating different parts of the User Interface.\r\n * @deprecated in 3.6. Use [UiItemsManager]($appui-react) instead.\r\n * @public\r\n */\r\nexport class UiItemsManager {\r\n private static _registeredUiItemsProviders: Map<string, UiItemProviderEntry> = new Map<string, UiItemProviderEntry>();\r\n\r\n /** For use in unit testing\r\n * @internal */\r\n public static clearAllProviders() {\r\n UiItemsManager._registeredUiItemsProviders.clear();\r\n }\r\n\r\n /** Event raised any time a UiProvider is registered or unregistered. */\r\n public static readonly onUiProviderRegisteredEvent = new BeEvent<(ev: UiItemProviderRegisteredEventArgs) => void>();\r\n\r\n /** Return number of registered UiProvider. */\r\n public static get registeredProviderIds() {\r\n const ids = [...UiItemsManager._registeredUiItemsProviders.keys()];\r\n return ids;\r\n }\r\n\r\n /** Return true if there is any registered UiProvider. */\r\n public static get hasRegisteredProviders(): boolean {\r\n return this._registeredUiItemsProviders.size > 0;\r\n }\r\n\r\n /**\r\n * Retrieves a previously loaded UiItemsProvider.\r\n * @param providerId id of the UiItemsProvider to get\r\n */\r\n public static getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\r\n return UiItemsManager._registeredUiItemsProviders.get(providerId)?.provider;\r\n }\r\n\r\n private static sendRegisteredEvent(ev: UiItemProviderRegisteredEventArgs) {\r\n UiItemsManager.onUiProviderRegisteredEvent.raiseEvent(ev);\r\n }\r\n\r\n /**\r\n * Registers a UiItemsProvider with the UiItemsManager.\r\n * @param uiProvider the UI items provider to register.\r\n */\r\n public static register(uiProvider: UiItemsProvider, overrides?: UiItemProviderOverrides): void {\r\n const providerId = overrides?.providerId ?? uiProvider.id;\r\n\r\n if (UiItemsManager.getUiItemsProvider(providerId)) {\r\n Logger.logInfo(loggerCategory, `UiItemsProvider (${providerId}) is already loaded`);\r\n } else {\r\n UiItemsManager._registeredUiItemsProviders.set(providerId, { provider: uiProvider, overrides });\r\n Logger.logInfo(loggerCategory, `UiItemsProvider ${uiProvider.id} registered as ${providerId} `);\r\n\r\n UiItemsManager.sendRegisteredEvent({ providerId } as UiItemProviderRegisteredEventArgs);\r\n }\r\n }\r\n\r\n /** Remove a specific UiItemsProvider from the list of available providers. */\r\n public static unregister(uiProviderId: string): void {\r\n const provider = UiItemsManager.getUiItemsProvider(uiProviderId);\r\n if (!provider)\r\n return;\r\n\r\n provider.onUnregister && provider.onUnregister();\r\n\r\n UiItemsManager._registeredUiItemsProviders.delete(uiProviderId);\r\n Logger.logInfo(loggerCategory, `UiItemsProvider (${uiProviderId}) unloaded`);\r\n\r\n // trigger a refresh of the ui\r\n UiItemsManager.sendRegisteredEvent({ providerId: uiProviderId } as UiItemProviderRegisteredEventArgs);\r\n }\r\n\r\n private static allowItemsFromProvider(entry: UiItemProviderEntry, stageId?: string, stageUsage?: string) {\r\n // istanbul ignore else\r\n const overrides = entry.overrides;\r\n if (undefined !== stageId && overrides?.stageIds && !(overrides.stageIds.some((value: string) => value === stageId)))\r\n return false;\r\n if (undefined !== stageUsage && overrides?.stageUsages && !(overrides.stageUsages.some((value: string) => value === stageUsage)))\r\n return false;\r\n return true;\r\n }\r\n\r\n /** Called when the application is populating a toolbar so that any registered UiItemsProvider can add tool buttons that either either execute\r\n * an action or specify a registered ToolId into toolbar.\r\n * @param stageId a string identifier the active stage.\r\n * @param stageUsage the StageUsage of the active stage.\r\n * @param toolbarUsage usage of the toolbar\r\n * @param toolbarOrientation orientation of the toolbar\r\n * @returns an array of error messages. The array will be empty if the load is successful, otherwise it is a list of one or more problems.\r\n */\r\n public static getToolbarButtonItems(stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage,\r\n toolbarOrientation: ToolbarOrientation, stageAppData?: any): CommonToolbarItem[] {\r\n const buttonItems: CommonToolbarItem[] = [];\r\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\r\n return buttonItems;\r\n\r\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\r\n const uiProvider = entry.provider;\r\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\r\n // istanbul ignore else\r\n if (uiProvider.provideToolbarButtonItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\r\n uiProvider.provideToolbarButtonItems(stageId, stageUsage, toolbarUsage, toolbarOrientation, stageAppData)\r\n .forEach((spec: CommonToolbarItem) => {\r\n // ignore duplicate ids\r\n if (-1 === buttonItems.findIndex((existingItem) => spec.id === existingItem.id))\r\n buttonItems.push({ ...spec, providerId });\r\n });\r\n }\r\n });\r\n\r\n return buttonItems;\r\n }\r\n\r\n /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields\r\n * @param stageId a string identifier the active stage.\r\n * @param stageUsage the StageUsage of the active stage.\r\n * @returns An array of CommonStatusBarItem that will be used to create controls for the status bar.\r\n */\r\n public static getStatusBarItems(stageId: string, stageUsage: string, stageAppData?: any): CommonStatusBarItem[] {\r\n const statusBarItems: CommonStatusBarItem[] = [];\r\n\r\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\r\n return statusBarItems;\r\n\r\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\r\n const uiProvider = entry.provider;\r\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\r\n\r\n // istanbul ignore else\r\n if (uiProvider.provideStatusBarItems && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\r\n uiProvider.provideStatusBarItems(stageId, stageUsage, stageAppData)\r\n .forEach((item: CommonStatusBarItem) => {\r\n // ignore duplicate ids\r\n if (-1 === statusBarItems.findIndex((existingItem) => item.id === existingItem.id))\r\n statusBarItems.push({ ...item, providerId });\r\n });\r\n }\r\n });\r\n\r\n return statusBarItems;\r\n }\r\n\r\n /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields\r\n * @returns An array of BackstageItem that will be used to create controls for the backstage menu.\r\n */\r\n public static getBackstageItems(): BackstageItem[] {\r\n const backstageItems: BackstageItem[] = [];\r\n\r\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\r\n return backstageItems;\r\n\r\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\r\n const uiProvider = entry.provider;\r\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\r\n\r\n // istanbul ignore else\r\n if (uiProvider.provideBackstageItems) { // Note: We do not call this.allowItemsFromProvider here as backstage items\r\n uiProvider.provideBackstageItems() // should not be considered stage specific. If they need to be hidden\r\n .forEach((item: BackstageItem) => { // the isHidden property should be set to a ConditionalBooleanValue\r\n // ignore duplicate ids\r\n if (-1 === backstageItems.findIndex((existingItem) => item.id === existingItem.id))\r\n backstageItems.push({ ...item, providerId });\r\n });\r\n }\r\n });\r\n return backstageItems;\r\n }\r\n\r\n /** Called when the application is populating the Stage Panels so that any registered UiItemsProvider can add widgets\r\n * @param stageId a string identifier the active stage.\r\n * @param stageUsage the StageUsage of the active stage.\r\n * @param location the location within the stage.\r\n * @param section the section within location.\r\n * @returns An array of AbstractWidgetProps that will be used to create widgets.\r\n */\r\n public static getWidgets(stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection, zoneLocation?: AbstractZoneLocation, stageAppData?: any): ReadonlyArray<AbstractWidgetProps> {\r\n const widgets: AbstractWidgetProps[] = [];\r\n\r\n if (0 === UiItemsManager._registeredUiItemsProviders.size)\r\n return widgets;\r\n\r\n UiItemsManager._registeredUiItemsProviders.forEach((entry: UiItemProviderEntry) => {\r\n const uiProvider = entry.provider;\r\n const providerId = entry.overrides?.providerId ?? uiProvider.id;\r\n\r\n // istanbul ignore else\r\n if (uiProvider.provideWidgets && this.allowItemsFromProvider(entry, stageId, stageUsage)) {\r\n uiProvider.provideWidgets(stageId, stageUsage, location, section, zoneLocation, stageAppData)\r\n .forEach((widget: AbstractWidgetProps) => {\r\n // ignore duplicate ids\r\n if (-1 === widgets.findIndex((existingItem) => widget.id === existingItem.id))\r\n widgets.push({ ...widget, providerId });\r\n });\r\n }\r\n });\r\n return widgets;\r\n }\r\n\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module Utilities
3
3
  */
4
4
  /** Enumeration for Function Keys
5
- * @public
5
+ * @public @deprecated in 4.3. Please use the `ts-key-enum` npm package or string literals.
6
6
  */
7
7
  export declare enum FunctionKey {
8
8
  F1 = "F1",
@@ -19,7 +19,7 @@ export declare enum FunctionKey {
19
19
  F12 = "F12"
20
20
  }
21
21
  /** Enumeration for Special Keys
22
- * @public
22
+ * @public @deprecated in 4.3. Please use the `ts-key-enum` npm package or string literals.
23
23
  */
24
24
  export declare enum SpecialKey {
25
25
  Home = "Home",
@@ -46,7 +46,7 @@ export declare enum SpecialKey {
46
46
  Decimal = "Decimal"
47
47
  }
48
48
  /** Determines if a KeyboardEvent.key is an Arrow key
49
- * @public
49
+ * @public @deprecated in 4.3. Please use a custom implementation moving forward.
50
50
  */
51
51
  export declare function isArrowKey(key: string): boolean;
52
52
  //# sourceMappingURL=KeyboardKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardKey.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/common/KeyboardKey.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,oBAAY,WAAW;IACrB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,UAAU;IAChB,KAAK,MAAM;IACX,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/C"}
1
+ {"version":3,"file":"KeyboardKey.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/common/KeyboardKey.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;GAEG;AACH,oBAAY,WAAW;IACrB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,UAAU;IAChB,KAAK,MAAM;IACX,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAG/C"}