botframework-webchat 4.15.3-main.20220706.75d867c → 4.15.3-main.20220728.008aa26

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 (97) hide show
  1. package/dist/webchat-es5.js +1 -1
  2. package/dist/webchat-minimal.js +1 -1
  3. package/dist/webchat.js +1 -1
  4. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/closest.d.ts +2 -0
  5. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/closest.d.ts.map +1 -0
  6. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/closest.js +25 -0
  7. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/findDOMNodeOwner.d.ts +3 -0
  8. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/findDOMNodeOwner.d.ts.map +1 -0
  9. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/findDOMNodeOwner.js +32 -0
  10. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/useAdaptiveCardModEffect.d.ts +13 -0
  11. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/useAdaptiveCardModEffect.d.ts.map +1 -0
  12. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/useAdaptiveCardModEffect.js +132 -0
  13. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/useLazyRef.d.ts +3 -0
  14. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/useLazyRef.d.ts.map +1 -0
  15. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/useLazyRef.js +21 -0
  16. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/usePrevious.d.ts +2 -0
  17. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/usePrevious.d.ts.map +1 -0
  18. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/usePrevious.js +18 -0
  19. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/useValueRef.d.ts +3 -0
  20. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/useValueRef.d.ts.map +1 -0
  21. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/private/useValueRef.js +15 -0
  22. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useActionSetShouldNotBeMenuBarModEffect.d.ts +16 -0
  23. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useActionSetShouldNotBeMenuBarModEffect.d.ts.map +1 -0
  24. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useActionSetShouldNotBeMenuBarModEffect.js +45 -0
  25. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useActionShouldBePushButtonModEffect.d.ts +15 -0
  26. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useActionShouldBePushButtonModEffect.d.ts.map +1 -0
  27. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useActionShouldBePushButtonModEffect.js +93 -0
  28. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useActiveElementModEffect.d.ts +6 -0
  29. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useActiveElementModEffect.d.ts.map +1 -0
  30. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useActiveElementModEffect.js +44 -0
  31. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useDisabledModEffect.d.ts +9 -0
  32. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useDisabledModEffect.d.ts.map +1 -0
  33. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useDisabledModEffect.js +50 -0
  34. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/usePersistValuesModEffect.d.ts +6 -0
  35. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/usePersistValuesModEffect.d.ts.map +1 -0
  36. package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/usePersistValuesModEffect.js +103 -0
  37. package/lib/adaptiveCards/Attachment/AdaptiveCardRenderer.d.ts.map +1 -1
  38. package/lib/adaptiveCards/Attachment/AdaptiveCardRenderer.js +97 -557
  39. package/lib/adaptiveCards/Attachment/private/renderAdaptiveCard.d.ts +15 -0
  40. package/lib/adaptiveCards/Attachment/private/renderAdaptiveCard.d.ts.map +1 -0
  41. package/lib/adaptiveCards/Attachment/private/renderAdaptiveCard.js +79 -0
  42. package/lib/adaptiveCards/DOMManipulationWithUndo/addEventListenerWithUndo.d.ts +6 -0
  43. package/lib/adaptiveCards/DOMManipulationWithUndo/addEventListenerWithUndo.d.ts.map +1 -0
  44. package/lib/adaptiveCards/DOMManipulationWithUndo/addEventListenerWithUndo.js +25 -0
  45. package/lib/adaptiveCards/DOMManipulationWithUndo/bunchUndos.d.ts +3 -0
  46. package/lib/adaptiveCards/DOMManipulationWithUndo/bunchUndos.d.ts.map +1 -0
  47. package/lib/adaptiveCards/DOMManipulationWithUndo/bunchUndos.js +23 -0
  48. package/lib/adaptiveCards/DOMManipulationWithUndo/durableAddClassWithUndo.d.ts +8 -0
  49. package/lib/adaptiveCards/DOMManipulationWithUndo/durableAddClassWithUndo.d.ts.map +1 -0
  50. package/lib/adaptiveCards/DOMManipulationWithUndo/durableAddClassWithUndo.js +38 -0
  51. package/lib/adaptiveCards/DOMManipulationWithUndo/durableDisableInputElementAccessiblyWithUndo.d.ts +22 -0
  52. package/lib/adaptiveCards/DOMManipulationWithUndo/durableDisableInputElementAccessiblyWithUndo.d.ts.map +1 -0
  53. package/lib/adaptiveCards/DOMManipulationWithUndo/durableDisableInputElementAccessiblyWithUndo.js +96 -0
  54. package/lib/adaptiveCards/DOMManipulationWithUndo/private/addClass.d.ts +5 -0
  55. package/lib/adaptiveCards/DOMManipulationWithUndo/private/addClass.d.ts.map +1 -0
  56. package/lib/adaptiveCards/DOMManipulationWithUndo/private/addClass.js +19 -0
  57. package/lib/adaptiveCards/DOMManipulationWithUndo/private/getAttributeOrFalse.d.ts +7 -0
  58. package/lib/adaptiveCards/DOMManipulationWithUndo/private/getAttributeOrFalse.d.ts.map +1 -0
  59. package/lib/adaptiveCards/DOMManipulationWithUndo/private/getAttributeOrFalse.js +16 -0
  60. package/lib/adaptiveCards/DOMManipulationWithUndo/private/noOp.d.ts +3 -0
  61. package/lib/adaptiveCards/DOMManipulationWithUndo/private/noOp.d.ts.map +1 -0
  62. package/lib/adaptiveCards/DOMManipulationWithUndo/private/noOp.js +14 -0
  63. package/lib/adaptiveCards/DOMManipulationWithUndo/private/setOrRemoveAttributeIfFalse.d.ts +9 -0
  64. package/lib/adaptiveCards/DOMManipulationWithUndo/private/setOrRemoveAttributeIfFalse.d.ts.map +1 -0
  65. package/lib/adaptiveCards/DOMManipulationWithUndo/private/setOrRemoveAttributeIfFalse.js +22 -0
  66. package/lib/adaptiveCards/DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo.d.ts +12 -0
  67. package/lib/adaptiveCards/DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo.d.ts.map +1 -0
  68. package/lib/adaptiveCards/DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo.js +41 -0
  69. package/lib/adaptiveCards/DOMManipulationWithUndo/types/UndoFunction.d.ts +3 -0
  70. package/lib/adaptiveCards/DOMManipulationWithUndo/types/UndoFunction.d.ts.map +1 -0
  71. package/lib/adaptiveCards/DOMManipulationWithUndo/types/UndoFunction.js +2 -0
  72. package/lib/addVersion.js +1 -1
  73. package/lib/createFullStyleSet.d.ts +2 -2
  74. package/package.json +7 -7
  75. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/private/closest.ts +17 -0
  76. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/private/findDOMNodeOwner.ts +25 -0
  77. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/private/useAdaptiveCardModEffect.ts +93 -0
  78. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/private/useLazyRef.ts +15 -0
  79. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/private/usePrevious.ts +12 -0
  80. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/private/useValueRef.ts +11 -0
  81. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/useActionSetShouldNotBeMenuBarModEffect.ts +39 -0
  82. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/useActionShouldBePushButtonModEffect.ts +105 -0
  83. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/useActiveElementModEffect.ts +35 -0
  84. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/useDisabledModEffect.ts +45 -0
  85. package/src/adaptiveCards/Attachment/AdaptiveCardHacks/usePersistValuesModEffect.ts +110 -0
  86. package/src/adaptiveCards/Attachment/AdaptiveCardRenderer.tsx +83 -582
  87. package/src/adaptiveCards/Attachment/private/renderAdaptiveCard.ts +75 -0
  88. package/src/adaptiveCards/DOMManipulationWithUndo/addEventListenerWithUndo.ts +21 -0
  89. package/src/adaptiveCards/DOMManipulationWithUndo/bunchUndos.tsx +12 -0
  90. package/src/adaptiveCards/DOMManipulationWithUndo/durableAddClassWithUndo.ts +28 -0
  91. package/src/adaptiveCards/DOMManipulationWithUndo/durableDisableInputElementAccessiblyWithUndo.ts +84 -0
  92. package/src/adaptiveCards/DOMManipulationWithUndo/private/addClass.tsx +13 -0
  93. package/src/adaptiveCards/DOMManipulationWithUndo/private/getAttributeOrFalse.ts +8 -0
  94. package/src/adaptiveCards/DOMManipulationWithUndo/private/noOp.ts +5 -0
  95. package/src/adaptiveCards/DOMManipulationWithUndo/private/setOrRemoveAttributeIfFalse.ts +18 -0
  96. package/src/adaptiveCards/DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo.ts +34 -0
  97. package/src/adaptiveCards/DOMManipulationWithUndo/types/UndoFunction.ts +3 -0
@@ -0,0 +1,2 @@
1
+ export default function closest(element: HTMLElement, selector: string): HTMLElement | undefined;
2
+ //# sourceMappingURL=closest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closest.d.ts","sourceRoot":"","sources":["../../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/closest.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAc/F"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = closest;
7
+
8
+ // Ponyfill `HTMLElement.closest`.
9
+ // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
10
+ function closest(element, selector) {
11
+ if (typeof element.closest === 'function') {
12
+ return element.closest(selector);
13
+ }
14
+
15
+ var current = element;
16
+
17
+ while (current) {
18
+ if (current.matches(selector)) {
19
+ return current;
20
+ }
21
+
22
+ current = current.parentElement;
23
+ }
24
+ }
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkSGFja3MvcHJpdmF0ZS9jbG9zZXN0LnRzIl0sIm5hbWVzIjpbImNsb3Nlc3QiLCJlbGVtZW50Iiwic2VsZWN0b3IiLCJjdXJyZW50IiwibWF0Y2hlcyIsInBhcmVudEVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ2UsU0FBU0EsT0FBVCxDQUFpQkMsT0FBakIsRUFBdUNDLFFBQXZDLEVBQWtGO0FBQy9GLE1BQUksT0FBT0QsT0FBTyxDQUFDRCxPQUFmLEtBQTJCLFVBQS9CLEVBQTJDO0FBQ3pDLFdBQU9DLE9BQU8sQ0FBQ0QsT0FBUixDQUFnQkUsUUFBaEIsQ0FBUDtBQUNEOztBQUVELE1BQUlDLE9BQTJCLEdBQUdGLE9BQWxDOztBQUVBLFNBQU9FLE9BQVAsRUFBZ0I7QUFDZCxRQUFJQSxPQUFPLENBQUNDLE9BQVIsQ0FBZ0JGLFFBQWhCLENBQUosRUFBK0I7QUFDN0IsYUFBT0MsT0FBUDtBQUNEOztBQUVEQSxJQUFBQSxPQUFPLEdBQUdBLE9BQU8sQ0FBQ0UsYUFBbEI7QUFDRDtBQUNGIiwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBQb255ZmlsbCBgSFRNTEVsZW1lbnQuY2xvc2VzdGAuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudC9jbG9zZXN0XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjbG9zZXN0KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzZWxlY3Rvcjogc3RyaW5nKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIGVsZW1lbnQuY2xvc2VzdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBlbGVtZW50LmNsb3Nlc3Qoc2VsZWN0b3IpO1xuICB9XG5cbiAgbGV0IGN1cnJlbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IGVsZW1lbnQ7XG5cbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoY3VycmVudC5tYXRjaGVzKHNlbGVjdG9yKSkge1xuICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgfVxuXG4gICAgY3VycmVudCA9IGN1cnJlbnQucGFyZW50RWxlbWVudDtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ import type { AdaptiveCard, CardObject } from 'adaptivecards';
2
+ export default function findDOMNodeOwner(adaptiveCard: AdaptiveCard, element: HTMLElement): CardObject | undefined;
3
+ //# sourceMappingURL=findDOMNodeOwner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findDOMNodeOwner.d.ts","sourceRoot":"","sources":["../../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/findDOMNodeOwner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAkB,MAAM,eAAe,CAAC;AAK9E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAmBjH"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = findDOMNodeOwner;
7
+
8
+ // TODO: [P2] Remove this when Adaptive Card fixed their bug #7606.
9
+ // https://github.com/microsoft/AdaptiveCards/issues/7606
10
+ // Currently, their findDOMNodeOwner() returns bad result when passing an Action attached to the card.
11
+ function findDOMNodeOwner(adaptiveCard, element) {
12
+ for (var count = adaptiveCard.getActionCount(), index = 0; index < count; index++) {
13
+ var action = adaptiveCard.getActionAt(index);
14
+
15
+ if (action.renderedElement === element) {
16
+ return action;
17
+ }
18
+
19
+ if (action.getJsonTypeName() === 'Action.ShowCard') {
20
+ var _ref = action,
21
+ card = _ref.card;
22
+ var cardObject = card && findDOMNodeOwner(card, element);
23
+
24
+ if (cardObject) {
25
+ return cardObject;
26
+ }
27
+ }
28
+ }
29
+
30
+ return adaptiveCard.findDOMNodeOwner(element);
31
+ }
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkSGFja3MvcHJpdmF0ZS9maW5kRE9NTm9kZU93bmVyLnRzIl0sIm5hbWVzIjpbImZpbmRET01Ob2RlT3duZXIiLCJhZGFwdGl2ZUNhcmQiLCJlbGVtZW50IiwiY291bnQiLCJnZXRBY3Rpb25Db3VudCIsImluZGV4IiwiYWN0aW9uIiwiZ2V0QWN0aW9uQXQiLCJyZW5kZXJlZEVsZW1lbnQiLCJnZXRKc29uVHlwZU5hbWUiLCJjYXJkIiwiY2FyZE9iamVjdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNlLFNBQVNBLGdCQUFULENBQTBCQyxZQUExQixFQUFzREMsT0FBdEQsRUFBb0c7QUFDakgsT0FBSyxJQUFJQyxLQUFLLEdBQUdGLFlBQVksQ0FBQ0csY0FBYixFQUFaLEVBQTJDQyxLQUFLLEdBQUcsQ0FBeEQsRUFBMkRBLEtBQUssR0FBR0YsS0FBbkUsRUFBMEVFLEtBQUssRUFBL0UsRUFBbUY7QUFDakYsUUFBTUMsTUFBTSxHQUFHTCxZQUFZLENBQUNNLFdBQWIsQ0FBeUJGLEtBQXpCLENBQWY7O0FBRUEsUUFBSUMsTUFBTSxDQUFDRSxlQUFQLEtBQTJCTixPQUEvQixFQUF3QztBQUN0QyxhQUFPSSxNQUFQO0FBQ0Q7O0FBRUQsUUFBSUEsTUFBTSxDQUFDRyxlQUFQLE9BQTZCLGlCQUFqQyxFQUFvRDtBQUNsRCxpQkFBaUJILE1BQWpCO0FBQUEsVUFBUUksSUFBUixRQUFRQSxJQUFSO0FBQ0EsVUFBTUMsVUFBVSxHQUFHRCxJQUFJLElBQUlWLGdCQUFnQixDQUFDVSxJQUFELEVBQU9SLE9BQVAsQ0FBM0M7O0FBRUEsVUFBSVMsVUFBSixFQUFnQjtBQUNkLGVBQU9BLFVBQVA7QUFDRDtBQUNGO0FBQ0Y7O0FBRUQsU0FBT1YsWUFBWSxDQUFDRCxnQkFBYixDQUE4QkUsT0FBOUIsQ0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFkYXB0aXZlQ2FyZCwgQ2FyZE9iamVjdCwgU2hvd0NhcmRBY3Rpb24gfSBmcm9tICdhZGFwdGl2ZWNhcmRzJztcblxuLy8gVE9ETzogW1AyXSBSZW1vdmUgdGhpcyB3aGVuIEFkYXB0aXZlIENhcmQgZml4ZWQgdGhlaXIgYnVnICM3NjA2LlxuLy8gICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L0FkYXB0aXZlQ2FyZHMvaXNzdWVzLzc2MDZcbi8vICAgICAgICAgICAgQ3VycmVudGx5LCB0aGVpciBmaW5kRE9NTm9kZU93bmVyKCkgcmV0dXJucyBiYWQgcmVzdWx0IHdoZW4gcGFzc2luZyBhbiBBY3Rpb24gYXR0YWNoZWQgdG8gdGhlIGNhcmQuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBmaW5kRE9NTm9kZU93bmVyKGFkYXB0aXZlQ2FyZDogQWRhcHRpdmVDYXJkLCBlbGVtZW50OiBIVE1MRWxlbWVudCk6IENhcmRPYmplY3QgfCB1bmRlZmluZWQge1xuICBmb3IgKGxldCBjb3VudCA9IGFkYXB0aXZlQ2FyZC5nZXRBY3Rpb25Db3VudCgpLCBpbmRleCA9IDA7IGluZGV4IDwgY291bnQ7IGluZGV4KyspIHtcbiAgICBjb25zdCBhY3Rpb24gPSBhZGFwdGl2ZUNhcmQuZ2V0QWN0aW9uQXQoaW5kZXgpO1xuXG4gICAgaWYgKGFjdGlvbi5yZW5kZXJlZEVsZW1lbnQgPT09IGVsZW1lbnQpIHtcbiAgICAgIHJldHVybiBhY3Rpb247XG4gICAgfVxuXG4gICAgaWYgKGFjdGlvbi5nZXRKc29uVHlwZU5hbWUoKSA9PT0gJ0FjdGlvbi5TaG93Q2FyZCcpIHtcbiAgICAgIGNvbnN0IHsgY2FyZCB9ID0gYWN0aW9uIGFzIFNob3dDYXJkQWN0aW9uO1xuICAgICAgY29uc3QgY2FyZE9iamVjdCA9IGNhcmQgJiYgZmluZERPTU5vZGVPd25lcihjYXJkLCBlbGVtZW50KTtcblxuICAgICAgaWYgKGNhcmRPYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIGNhcmRPYmplY3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFkYXB0aXZlQ2FyZC5maW5kRE9NTm9kZU93bmVyKGVsZW1lbnQpO1xufVxuIl19
@@ -0,0 +1,13 @@
1
+ import type { AdaptiveCard } from 'adaptivecards';
2
+ /**
3
+ * Creates a mod effect for Adaptive Card.
4
+ *
5
+ * When this hook is executed, it will return two functions for applying and undo the mod.
6
+ * It will also monitor the DOM tree and undo-then-reapply if mutation occurred.
7
+ *
8
+ * The first function must be called right after DOM is mounted. The second function must be called right before re-render.
9
+ *
10
+ * @return {[function, function]} Two functions, the first one to apply the mod, the second one to undo the mod.
11
+ */
12
+ export default function useAdaptiveCardModEffect<TArgs extends unknown[]>(modder: (adaptiveCard: AdaptiveCard, cardElement: HTMLElement, ...args: TArgs) => () => void, adaptiveCard: AdaptiveCard): readonly [(cardElement: HTMLElement) => void, () => void];
13
+ //# sourceMappingURL=useAdaptiveCardModEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAdaptiveCardModEffect.d.ts","sourceRoot":"","sources":["../../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/useAdaptiveCardModEffect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA6BlD;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,KAAK,SAAS,OAAO,EAAE,EACtE,MAAM,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,KAAK,KAAK,MAAM,IAAI,EAC5F,YAAY,EAAE,YAAY,GACzB,SAAS,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC,CA6C3D"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = useAdaptiveCardModEffect;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _classPrivateFieldGet5 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldGet"));
15
+
16
+ var _classPrivateFieldSet2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldSet"));
17
+
18
+ var _react = require("react");
19
+
20
+ var _useLazyRef = _interopRequireDefault(require("./useLazyRef"));
21
+
22
+ var _useValueRef = _interopRequireDefault(require("./useValueRef"));
23
+
24
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
25
+
26
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
27
+
28
+ var _mod = /*#__PURE__*/new WeakMap();
29
+
30
+ var _undo = /*#__PURE__*/new WeakMap();
31
+
32
+ var Mod = /*#__PURE__*/function () {
33
+ function Mod(mod) {
34
+ (0, _classCallCheck2.default)(this, Mod);
35
+
36
+ _classPrivateFieldInitSpec(this, _mod, {
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+
41
+ _classPrivateFieldInitSpec(this, _undo, {
42
+ writable: true,
43
+ value: void 0
44
+ });
45
+
46
+ (0, _classPrivateFieldSet2.default)(this, _mod, mod);
47
+ } // @ts-ignore We are using Babel to transpile and it will transpile private modifier.
48
+
49
+
50
+ (0, _createClass2.default)(Mod, [{
51
+ key: "apply",
52
+ value: function apply(adaptiveCard, cardElement) {
53
+ var _classPrivateFieldGet2, _classPrivateFieldGet3;
54
+
55
+ (_classPrivateFieldGet2 = (0, _classPrivateFieldGet5.default)(this, _undo)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.call(this);
56
+
57
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
58
+ args[_key - 2] = arguments[_key];
59
+ }
60
+
61
+ (0, _classPrivateFieldSet2.default)(this, _undo, adaptiveCard && cardElement && (_classPrivateFieldGet3 = (0, _classPrivateFieldGet5.default)(this, _mod)).call.apply(_classPrivateFieldGet3, [this, adaptiveCard, cardElement].concat(args)));
62
+ }
63
+ }, {
64
+ key: "undo",
65
+ value: function undo() {
66
+ var _classPrivateFieldGet4;
67
+
68
+ (_classPrivateFieldGet4 = (0, _classPrivateFieldGet5.default)(this, _undo)) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.call(this);
69
+ (0, _classPrivateFieldSet2.default)(this, _undo, undefined);
70
+ }
71
+ }]);
72
+ return Mod;
73
+ }();
74
+ /**
75
+ * Creates a mod effect for Adaptive Card.
76
+ *
77
+ * When this hook is executed, it will return two functions for applying and undo the mod.
78
+ * It will also monitor the DOM tree and undo-then-reapply if mutation occurred.
79
+ *
80
+ * The first function must be called right after DOM is mounted. The second function must be called right before re-render.
81
+ *
82
+ * @return {[function, function]} Two functions, the first one to apply the mod, the second one to undo the mod.
83
+ */
84
+
85
+
86
+ function useAdaptiveCardModEffect(modder, adaptiveCard) {
87
+ var adaptiveCardRef = (0, _useValueRef.default)(adaptiveCard);
88
+ var mod = (0, _react.useMemo)(function () {
89
+ return new Mod(modder);
90
+ }, [modder]);
91
+ var reapplyRef = (0, _react.useRef)();
92
+ var observerRef = (0, _useLazyRef.default)(function () {
93
+ return new MutationObserver(function () {
94
+ var _reapplyRef$current;
95
+
96
+ (_reapplyRef$current = reapplyRef.current) === null || _reapplyRef$current === void 0 ? void 0 : _reapplyRef$current.call(reapplyRef);
97
+ });
98
+ });
99
+ (0, _react.useEffect)(function () {
100
+ return function () {
101
+ observerRef.current.disconnect();
102
+ };
103
+ }, [observerRef]);
104
+ var handleApply = (0, _react.useCallback)(function (cardElement) {
105
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
106
+ args[_key2 - 1] = arguments[_key2];
107
+ }
108
+
109
+ if (adaptiveCardRef.current && cardElement) {
110
+ // Apply the mod immediately, then assign the function to reapply() so we can call later when mutation happens.
111
+ (reapplyRef.current = function () {
112
+ return mod.apply.apply(mod, [adaptiveCardRef.current, cardElement].concat(args));
113
+ })();
114
+ }
115
+
116
+ var observer = observerRef.current;
117
+ observer.disconnect();
118
+ observer.observe(cardElement, {
119
+ childList: true,
120
+ subtree: true
121
+ });
122
+ }, [adaptiveCardRef, observerRef, mod]);
123
+ var handleUndo = (0, _react.useCallback)(function () {
124
+ mod.undo(); // If we have undo-ed the mod, calling reapply() through MutationObserver should be no-op.
125
+
126
+ reapplyRef.current = undefined;
127
+ }, [mod, reapplyRef]);
128
+ return (0, _react.useMemo)(function () {
129
+ return Object.freeze([handleApply, handleUndo]);
130
+ }, [handleApply, handleUndo]);
131
+ }
132
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkSGFja3MvcHJpdmF0ZS91c2VBZGFwdGl2ZUNhcmRNb2RFZmZlY3QudHMiXSwibmFtZXMiOlsiTW9kIiwibW9kIiwiYWRhcHRpdmVDYXJkIiwiY2FyZEVsZW1lbnQiLCJhcmdzIiwidW5kZWZpbmVkIiwidXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0IiwibW9kZGVyIiwiYWRhcHRpdmVDYXJkUmVmIiwicmVhcHBseVJlZiIsIm9ic2VydmVyUmVmIiwiTXV0YXRpb25PYnNlcnZlciIsImN1cnJlbnQiLCJkaXNjb25uZWN0IiwiaGFuZGxlQXBwbHkiLCJhcHBseSIsIm9ic2VydmVyIiwib2JzZXJ2ZSIsImNoaWxkTGlzdCIsInN1YnRyZWUiLCJoYW5kbGVVbmRvIiwidW5kbyIsIk9iamVjdCIsImZyZWV6ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7Ozs7Ozs7OztJQVVNQSxHO0FBQ0osZUFBWUMsR0FBWixFQUFxQztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNuQyxvREFBWUEsR0FBWjtBQUNELEcsQ0FFRDs7Ozs7V0FLQSxlQUFNQyxZQUFOLEVBQThDQyxXQUE5QyxFQUFvRztBQUFBOztBQUNsRzs7QUFEa0csd0NBQWJDLElBQWE7QUFBYkEsUUFBQUEsSUFBYTtBQUFBOztBQUVsRyx1REFBYUYsWUFBWSxJQUFJQyxXQUFoQixrRUFBK0IsSUFBL0IsNkNBQStCLElBQS9CLEVBQXlDRCxZQUF6QyxFQUF1REMsV0FBdkQsU0FBdUVDLElBQXZFLEVBQWI7QUFDRDs7O1dBRUQsZ0JBQU87QUFBQTs7QUFDTDtBQUNBLHVEQUFhQyxTQUFiO0FBQ0Q7Ozs7QUFHSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ2UsU0FBU0Msd0JBQVQsQ0FDYkMsTUFEYSxFQUViTCxZQUZhLEVBRzhDO0FBQzNELE1BQU1NLGVBQWUsR0FBRywwQkFBWU4sWUFBWixDQUF4QjtBQUNBLE1BQU1ELEdBQUcsR0FBRyxvQkFBUTtBQUFBLFdBQU0sSUFBSUQsR0FBSixDQUFlTyxNQUFmLENBQU47QUFBQSxHQUFSLEVBQXNDLENBQUNBLE1BQUQsQ0FBdEMsQ0FBWjtBQUNBLE1BQU1FLFVBQVUsR0FBRyxvQkFBbkI7QUFFQSxNQUFNQyxXQUFXLEdBQUcseUJBQ2xCO0FBQUEsV0FDRSxJQUFJQyxnQkFBSixDQUFxQixZQUFNO0FBQUE7O0FBQ3pCLDZCQUFBRixVQUFVLENBQUNHLE9BQVgsaUZBQUFILFVBQVU7QUFDWCxLQUZELENBREY7QUFBQSxHQURrQixDQUFwQjtBQU9BLHdCQUNFO0FBQUEsV0FBTSxZQUFNO0FBQ1ZDLE1BQUFBLFdBQVcsQ0FBQ0UsT0FBWixDQUFvQkMsVUFBcEI7QUFDRCxLQUZEO0FBQUEsR0FERixFQUlFLENBQUNILFdBQUQsQ0FKRjtBQU9BLE1BQU1JLFdBQVcsR0FBRyx3QkFDbEIsVUFBQ1gsV0FBRCxFQUE4QztBQUFBLHVDQUFoQkMsSUFBZ0I7QUFBaEJBLE1BQUFBLElBQWdCO0FBQUE7O0FBQzVDLFFBQUlJLGVBQWUsQ0FBQ0ksT0FBaEIsSUFBMkJULFdBQS9CLEVBQTRDO0FBQzFDO0FBQ0EsT0FBQ00sVUFBVSxDQUFDRyxPQUFYLEdBQXFCO0FBQUEsZUFBTVgsR0FBRyxDQUFDYyxLQUFKLE9BQUFkLEdBQUcsR0FBT08sZUFBZSxDQUFDSSxPQUF2QixFQUFnQ1QsV0FBaEMsU0FBZ0RDLElBQWhELEVBQVQ7QUFBQSxPQUF0QjtBQUNEOztBQUVELFFBQWlCWSxRQUFqQixHQUE4Qk4sV0FBOUIsQ0FBUUUsT0FBUjtBQUVBSSxJQUFBQSxRQUFRLENBQUNILFVBQVQ7QUFDQUcsSUFBQUEsUUFBUSxDQUFDQyxPQUFULENBQWlCZCxXQUFqQixFQUE4QjtBQUFFZSxNQUFBQSxTQUFTLEVBQUUsSUFBYjtBQUFtQkMsTUFBQUEsT0FBTyxFQUFFO0FBQTVCLEtBQTlCO0FBQ0QsR0FYaUIsRUFZbEIsQ0FBQ1gsZUFBRCxFQUFrQkUsV0FBbEIsRUFBK0JULEdBQS9CLENBWmtCLENBQXBCO0FBZUEsTUFBTW1CLFVBQVUsR0FBRyx3QkFBWSxZQUFNO0FBQ25DbkIsSUFBQUEsR0FBRyxDQUFDb0IsSUFBSixHQURtQyxDQUduQzs7QUFDQVosSUFBQUEsVUFBVSxDQUFDRyxPQUFYLEdBQXFCUCxTQUFyQjtBQUNELEdBTGtCLEVBS2hCLENBQUNKLEdBQUQsRUFBTVEsVUFBTixDQUxnQixDQUFuQjtBQU9BLFNBQU8sb0JBQ0w7QUFBQSxXQUFNYSxNQUFNLENBQUNDLE1BQVAsQ0FBYyxDQUFDVCxXQUFELEVBQWNNLFVBQWQsQ0FBZCxDQUFOO0FBQUEsR0FESyxFQUVMLENBQUNOLFdBQUQsRUFBY00sVUFBZCxDQUZLLENBQVA7QUFJRCIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlTGF6eVJlZiBmcm9tICcuL3VzZUxhenlSZWYnO1xuaW1wb3J0IHVzZVZhbHVlUmVmIGZyb20gJy4vdXNlVmFsdWVSZWYnO1xuXG5pbXBvcnQgdHlwZSB7IEFkYXB0aXZlQ2FyZCB9IGZyb20gJ2FkYXB0aXZlY2FyZHMnO1xuXG50eXBlIE1vZEZ1bmN0aW9uPFRBcmdzIGV4dGVuZHMgdW5rbm93bltdID0gW10+ID0gKFxuICBhZGFwdGl2ZUNhcmQ6IEFkYXB0aXZlQ2FyZCxcbiAgY2FyZEVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAuLi5hcmdzOiBUQXJnc1xuKSA9PiAoKSA9PiB2b2lkO1xuXG5jbGFzcyBNb2Q8VEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+IHtcbiAgY29uc3RydWN0b3IobW9kOiBNb2RGdW5jdGlvbjxUQXJncz4pIHtcbiAgICB0aGlzLiNtb2QgPSBtb2Q7XG4gIH1cblxuICAvLyBAdHMtaWdub3JlIFdlIGFyZSB1c2luZyBCYWJlbCB0byB0cmFuc3BpbGUgYW5kIGl0IHdpbGwgdHJhbnNwaWxlIHByaXZhdGUgbW9kaWZpZXIuXG4gICNtb2Q6IE1vZEZ1bmN0aW9uPFRBcmdzPjtcbiAgLy8gQHRzLWlnbm9yZSBXZSBhcmUgdXNpbmcgQmFiZWwgdG8gdHJhbnNwaWxlIGFuZCBpdCB3aWxsIHRyYW5zcGlsZSBwcml2YXRlIG1vZGlmaWVyLlxuICAjdW5kbzogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG4gIGFwcGx5KGFkYXB0aXZlQ2FyZDogQWRhcHRpdmVDYXJkIHwgdW5kZWZpbmVkLCBjYXJkRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQsIC4uLmFyZ3M6IFRBcmdzKSB7XG4gICAgdGhpcy4jdW5kbz8uKCk7XG4gICAgdGhpcy4jdW5kbyA9IGFkYXB0aXZlQ2FyZCAmJiBjYXJkRWxlbWVudCAmJiB0aGlzLiNtb2QoYWRhcHRpdmVDYXJkLCBjYXJkRWxlbWVudCwgLi4uYXJncyk7XG4gIH1cblxuICB1bmRvKCkge1xuICAgIHRoaXMuI3VuZG8/LigpO1xuICAgIHRoaXMuI3VuZG8gPSB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbW9kIGVmZmVjdCBmb3IgQWRhcHRpdmUgQ2FyZC5cbiAqXG4gKiBXaGVuIHRoaXMgaG9vayBpcyBleGVjdXRlZCwgaXQgd2lsbCByZXR1cm4gdHdvIGZ1bmN0aW9ucyBmb3IgYXBwbHlpbmcgYW5kIHVuZG8gdGhlIG1vZC5cbiAqIEl0IHdpbGwgYWxzbyBtb25pdG9yIHRoZSBET00gdHJlZSBhbmQgdW5kby10aGVuLXJlYXBwbHkgaWYgbXV0YXRpb24gb2NjdXJyZWQuXG4gKlxuICogVGhlIGZpcnN0IGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHJpZ2h0IGFmdGVyIERPTSBpcyBtb3VudGVkLiBUaGUgc2Vjb25kIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHJpZ2h0IGJlZm9yZSByZS1yZW5kZXIuXG4gKlxuICogQHJldHVybiB7W2Z1bmN0aW9uLCBmdW5jdGlvbl19IFR3byBmdW5jdGlvbnMsIHRoZSBmaXJzdCBvbmUgdG8gYXBwbHkgdGhlIG1vZCwgdGhlIHNlY29uZCBvbmUgdG8gdW5kbyB0aGUgbW9kLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VBZGFwdGl2ZUNhcmRNb2RFZmZlY3Q8VEFyZ3MgZXh0ZW5kcyB1bmtub3duW10+KFxuICBtb2RkZXI6IChhZGFwdGl2ZUNhcmQ6IEFkYXB0aXZlQ2FyZCwgY2FyZEVsZW1lbnQ6IEhUTUxFbGVtZW50LCAuLi5hcmdzOiBUQXJncykgPT4gKCkgPT4gdm9pZCxcbiAgYWRhcHRpdmVDYXJkOiBBZGFwdGl2ZUNhcmRcbik6IHJlYWRvbmx5IFsoY2FyZEVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB2b2lkLCAoKSA9PiB2b2lkXSB7XG4gIGNvbnN0IGFkYXB0aXZlQ2FyZFJlZiA9IHVzZVZhbHVlUmVmKGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IG1vZCA9IHVzZU1lbW8oKCkgPT4gbmV3IE1vZDxUQXJncz4obW9kZGVyKSwgW21vZGRlcl0pO1xuICBjb25zdCByZWFwcGx5UmVmID0gdXNlUmVmPCgpID0+IHZvaWQ+KCk7XG5cbiAgY29uc3Qgb2JzZXJ2ZXJSZWYgPSB1c2VMYXp5UmVmPE11dGF0aW9uT2JzZXJ2ZXI+KFxuICAgICgpID0+XG4gICAgICBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICAgIHJlYXBwbHlSZWYuY3VycmVudD8uKCk7XG4gICAgICB9KVxuICApO1xuXG4gIHVzZUVmZmVjdChcbiAgICAoKSA9PiAoKSA9PiB7XG4gICAgICBvYnNlcnZlclJlZi5jdXJyZW50LmRpc2Nvbm5lY3QoKTtcbiAgICB9LFxuICAgIFtvYnNlcnZlclJlZl1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVBcHBseSA9IHVzZUNhbGxiYWNrKFxuICAgIChjYXJkRWxlbWVudDogSFRNTEVsZW1lbnQsIC4uLmFyZ3M6IFRBcmdzKSA9PiB7XG4gICAgICBpZiAoYWRhcHRpdmVDYXJkUmVmLmN1cnJlbnQgJiYgY2FyZEVsZW1lbnQpIHtcbiAgICAgICAgLy8gQXBwbHkgdGhlIG1vZCBpbW1lZGlhdGVseSwgdGhlbiBhc3NpZ24gdGhlIGZ1bmN0aW9uIHRvIHJlYXBwbHkoKSBzbyB3ZSBjYW4gY2FsbCBsYXRlciB3aGVuIG11dGF0aW9uIGhhcHBlbnMuXG4gICAgICAgIChyZWFwcGx5UmVmLmN1cnJlbnQgPSAoKSA9PiBtb2QuYXBwbHkoYWRhcHRpdmVDYXJkUmVmLmN1cnJlbnQsIGNhcmRFbGVtZW50LCAuLi5hcmdzKSkoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBjdXJyZW50OiBvYnNlcnZlciB9ID0gb2JzZXJ2ZXJSZWY7XG5cbiAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIG9ic2VydmVyLm9ic2VydmUoY2FyZEVsZW1lbnQsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgIH0sXG4gICAgW2FkYXB0aXZlQ2FyZFJlZiwgb2JzZXJ2ZXJSZWYsIG1vZF1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVVbmRvID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIG1vZC51bmRvKCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIHVuZG8tZWQgdGhlIG1vZCwgY2FsbGluZyByZWFwcGx5KCkgdGhyb3VnaCBNdXRhdGlvbk9ic2VydmVyIHNob3VsZCBiZSBuby1vcC5cbiAgICByZWFwcGx5UmVmLmN1cnJlbnQgPSB1bmRlZmluZWQ7XG4gIH0sIFttb2QsIHJlYXBwbHlSZWZdKTtcblxuICByZXR1cm4gdXNlTWVtbyhcbiAgICAoKSA9PiBPYmplY3QuZnJlZXplKFtoYW5kbGVBcHBseSwgaGFuZGxlVW5kb10pIGFzIHJlYWRvbmx5IFsoY2FyZEVsZW1lbnQ6IEhUTUxFbGVtZW50KSA9PiB2b2lkLCAoKSA9PiB2b2lkXSxcbiAgICBbaGFuZGxlQXBwbHksIGhhbmRsZVVuZG9dXG4gICk7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import type { MutableRefObject } from 'react';
2
+ export default function useLazyRef<T>(refInit: () => T): MutableRefObject<T>;
3
+ //# sourceMappingURL=useLazyRef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLazyRef.d.ts","sourceRoot":"","sources":["../../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/useLazyRef.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAI9C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAQ3E"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useLazyRef;
7
+
8
+ var _react = require("react");
9
+
10
+ var UNINITIALIZED = Symbol();
11
+
12
+ function useLazyRef(refInit) {
13
+ var ref = (0, _react.useRef)(UNINITIALIZED);
14
+
15
+ if (ref.current === UNINITIALIZED) {
16
+ ref.current = refInit();
17
+ }
18
+
19
+ return ref;
20
+ }
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkSGFja3MvcHJpdmF0ZS91c2VMYXp5UmVmLnRzIl0sIm5hbWVzIjpbIlVOSU5JVElBTElaRUQiLCJTeW1ib2wiLCJ1c2VMYXp5UmVmIiwicmVmSW5pdCIsInJlZiIsImN1cnJlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFJQSxJQUFNQSxhQUFhLEdBQUdDLE1BQU0sRUFBNUI7O0FBRWUsU0FBU0MsVUFBVCxDQUF1QkMsT0FBdkIsRUFBOEQ7QUFDM0UsTUFBTUMsR0FBRyxHQUFHLG1CQUFpQ0osYUFBakMsQ0FBWjs7QUFFQSxNQUFJSSxHQUFHLENBQUNDLE9BQUosS0FBZ0JMLGFBQXBCLEVBQW1DO0FBQ2pDSSxJQUFBQSxHQUFHLENBQUNDLE9BQUosR0FBY0YsT0FBTyxFQUFyQjtBQUNEOztBQUVELFNBQU9DLEdBQVA7QUFDRCIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IE11dGFibGVSZWZPYmplY3QgfSBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IFVOSU5JVElBTElaRUQgPSBTeW1ib2woKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlTGF6eVJlZjxUPihyZWZJbml0OiAoKSA9PiBUKTogTXV0YWJsZVJlZk9iamVjdDxUPiB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxUIHwgdHlwZW9mIFVOSU5JVElBTElaRUQ+KFVOSU5JVElBTElaRUQpO1xuXG4gIGlmIChyZWYuY3VycmVudCA9PT0gVU5JTklUSUFMSVpFRCkge1xuICAgIHJlZi5jdXJyZW50ID0gcmVmSW5pdCgpO1xuICB9XG5cbiAgcmV0dXJuIHJlZiBhcyBNdXRhYmxlUmVmT2JqZWN0PFQ+O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export default function usePrevious<T>(value: T): T | undefined;
2
+ //# sourceMappingURL=usePrevious.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrevious.d.ts","sourceRoot":"","sources":["../../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/usePrevious.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAQ9D"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = usePrevious;
7
+
8
+ var _react = require("react");
9
+
10
+ // TODO: [P0] #4133 Don't copy.
11
+ function usePrevious(value) {
12
+ var ref = (0, _react.useRef)();
13
+ (0, _react.useEffect)(function () {
14
+ ref.current = value;
15
+ });
16
+ return ref.current;
17
+ }
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkSGFja3MvcHJpdmF0ZS91c2VQcmV2aW91cy50cyJdLCJuYW1lcyI6WyJ1c2VQcmV2aW91cyIsInZhbHVlIiwicmVmIiwiY3VycmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBOztBQURBO0FBR2UsU0FBU0EsV0FBVCxDQUF3QkMsS0FBeEIsRUFBaUQ7QUFDOUQsTUFBTUMsR0FBRyxHQUFHLG9CQUFaO0FBRUEsd0JBQVUsWUFBTTtBQUNkQSxJQUFBQSxHQUFHLENBQUNDLE9BQUosR0FBY0YsS0FBZDtBQUNELEdBRkQ7QUFJQSxTQUFPQyxHQUFHLENBQUNDLE9BQVg7QUFDRCIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogW1AwXSAjNDEzMyBEb24ndCBjb3B5LlxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVByZXZpb3VzPFQ+KHZhbHVlOiBUKTogVCB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxUPigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlZi5jdXJyZW50O1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ import type { RefObject } from 'react';
2
+ export default function useValueRef<T>(value: T): RefObject<T>;
3
+ //# sourceMappingURL=useValueRef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useValueRef.d.ts","sourceRoot":"","sources":["../../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/private/useValueRef.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAM7D"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useValueRef;
7
+
8
+ var _react = require("react");
9
+
10
+ function useValueRef(value) {
11
+ var ref = (0, _react.useRef)(value);
12
+ ref.current = value;
13
+ return ref;
14
+ }
15
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkSGFja3MvcHJpdmF0ZS91c2VWYWx1ZVJlZi50cyJdLCJuYW1lcyI6WyJ1c2VWYWx1ZVJlZiIsInZhbHVlIiwicmVmIiwiY3VycmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUllLFNBQVNBLFdBQVQsQ0FBd0JDLEtBQXhCLEVBQWdEO0FBQzdELE1BQU1DLEdBQUcsR0FBRyxtQkFBVUQsS0FBVixDQUFaO0FBRUFDLEVBQUFBLEdBQUcsQ0FBQ0MsT0FBSixHQUFjRixLQUFkO0FBRUEsU0FBT0MsR0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgUmVmT2JqZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VWYWx1ZVJlZjxUPih2YWx1ZTogVCk6IFJlZk9iamVjdDxUPiB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxUPih2YWx1ZSk7XG5cbiAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcblxuICByZXR1cm4gcmVmO1xufVxuIl19
@@ -0,0 +1,16 @@
1
+ import type { AdaptiveCard } from 'adaptivecards';
2
+ /**
3
+ * Accessibility: ActionSet should not be menu bar.
4
+ *
5
+ * Menu bar is not accessible through screen reader keyboard shortcut keys:
6
+ *
7
+ * - <kbd>B</kbd> will jump to next button, which the end-user can quickly the chosen action;
8
+ * - <kbd>F</kbd> will jump to next form field, which is very similar but also jump to text fields;
9
+ * - There are no keyboard shortcut keys for menu.
10
+ *
11
+ * Marking action button as menu item in a menu bar hurts accessibility. End-user will not be able to jump to buttons quickly.
12
+ *
13
+ * Thus, ActionSet should not be menu bar.
14
+ */
15
+ export default function useActionShouldBePushButtonModEffect(adaptiveCard: AdaptiveCard): readonly [(cardElement: HTMLElement) => void, () => void];
16
+ //# sourceMappingURL=useActionSetShouldNotBeMenuBarModEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActionSetShouldNotBeMenuBarModEffect.d.ts","sourceRoot":"","sources":["../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/useActionSetShouldNotBeMenuBarModEffect.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,oCAAoC,CAAC,YAAY,EAAE,YAAY,6DAiBtF"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = useActionShouldBePushButtonModEffect;
9
+
10
+ var _react = require("react");
11
+
12
+ var _bunchUndos = _interopRequireDefault(require("../../DOMManipulationWithUndo/bunchUndos"));
13
+
14
+ var _setOrRemoveAttributeIfFalseWithUndo = _interopRequireDefault(require("../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo"));
15
+
16
+ var _useAdaptiveCardModEffect = _interopRequireDefault(require("./private/useAdaptiveCardModEffect"));
17
+
18
+ /**
19
+ * Accessibility: ActionSet should not be menu bar.
20
+ *
21
+ * Menu bar is not accessible through screen reader keyboard shortcut keys:
22
+ *
23
+ * - <kbd>B</kbd> will jump to next button, which the end-user can quickly the chosen action;
24
+ * - <kbd>F</kbd> will jump to next form field, which is very similar but also jump to text fields;
25
+ * - There are no keyboard shortcut keys for menu.
26
+ *
27
+ * Marking action button as menu item in a menu bar hurts accessibility. End-user will not be able to jump to buttons quickly.
28
+ *
29
+ * Thus, ActionSet should not be menu bar.
30
+ */
31
+ function useActionShouldBePushButtonModEffect(adaptiveCard) {
32
+ var modder = (0, _react.useMemo)(function () {
33
+ return function (_, cardElement) {
34
+ var actionSetElements = Array.from(cardElement.querySelectorAll('.ac-actionSet[role="menubar"]'));
35
+ var undoStack = actionSetElements.map(function (actionSetElement) {
36
+ return (0, _setOrRemoveAttributeIfFalseWithUndo.default)(actionSetElement, 'role', false);
37
+ });
38
+ return function () {
39
+ return (0, _bunchUndos.default)(undoStack)();
40
+ };
41
+ };
42
+ }, []);
43
+ return (0, _useAdaptiveCardModEffect.default)(modder, adaptiveCard);
44
+ }
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkSGFja3MvdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0LnRzIl0sIm5hbWVzIjpbInVzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdCIsImFkYXB0aXZlQ2FyZCIsIm1vZGRlciIsIl8iLCJjYXJkRWxlbWVudCIsImFjdGlvblNldEVsZW1lbnRzIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsInVuZG9TdGFjayIsIm1hcCIsImFjdGlvblNldEVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0Esb0NBQVQsQ0FBOENDLFlBQTlDLEVBQTBFO0FBQ3ZGLE1BQU1DLE1BQU0sR0FBRyxvQkFDYjtBQUFBLFdBQU0sVUFBQ0MsQ0FBRCxFQUFrQkMsV0FBbEIsRUFBK0M7QUFDbkQsVUFBTUMsaUJBQWlCLEdBQUdDLEtBQUssQ0FBQ0MsSUFBTixDQUN4QkgsV0FBVyxDQUFDSSxnQkFBWixDQUE2QiwrQkFBN0IsQ0FEd0IsQ0FBMUI7QUFJQSxVQUFNQyxTQUFTLEdBQUdKLGlCQUFpQixDQUFDSyxHQUFsQixDQUFzQixVQUFBQyxnQkFBZ0I7QUFBQSxlQUN0RCxrREFBb0NBLGdCQUFwQyxFQUFzRCxNQUF0RCxFQUE4RCxLQUE5RCxDQURzRDtBQUFBLE9BQXRDLENBQWxCO0FBSUEsYUFBTztBQUFBLGVBQU0seUJBQVdGLFNBQVgsR0FBTjtBQUFBLE9BQVA7QUFDRCxLQVZEO0FBQUEsR0FEYSxFQVliLEVBWmEsQ0FBZjtBQWVBLFNBQU8sdUNBQXlCUCxNQUF6QixFQUFpQ0QsWUFBakMsQ0FBUDtBQUNEIiwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgYnVuY2hVbmRvcyBmcm9tICcuLi8uLi9ET01NYW5pcHVsYXRpb25XaXRoVW5kby9idW5jaFVuZG9zJztcbmltcG9ydCBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyBmcm9tICcuLi8uLi9ET01NYW5pcHVsYXRpb25XaXRoVW5kby9zZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyc7XG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0IGZyb20gJy4vcHJpdmF0ZS91c2VBZGFwdGl2ZUNhcmRNb2RFZmZlY3QnO1xuXG5pbXBvcnQgdHlwZSB7IEFkYXB0aXZlQ2FyZCB9IGZyb20gJ2FkYXB0aXZlY2FyZHMnO1xuXG4vKipcbiAqIEFjY2Vzc2liaWxpdHk6IEFjdGlvblNldCBzaG91bGQgbm90IGJlIG1lbnUgYmFyLlxuICpcbiAqIE1lbnUgYmFyIGlzIG5vdCBhY2Nlc3NpYmxlIHRocm91Z2ggc2NyZWVuIHJlYWRlciBrZXlib2FyZCBzaG9ydGN1dCBrZXlzOlxuICpcbiAqIC0gPGtiZD5CPC9rYmQ+IHdpbGwganVtcCB0byBuZXh0IGJ1dHRvbiwgd2hpY2ggdGhlIGVuZC11c2VyIGNhbiBxdWlja2x5IHRoZSBjaG9zZW4gYWN0aW9uO1xuICogLSA8a2JkPkY8L2tiZD4gd2lsbCBqdW1wIHRvIG5leHQgZm9ybSBmaWVsZCwgd2hpY2ggaXMgdmVyeSBzaW1pbGFyIGJ1dCBhbHNvIGp1bXAgdG8gdGV4dCBmaWVsZHM7XG4gKiAtIFRoZXJlIGFyZSBubyBrZXlib2FyZCBzaG9ydGN1dCBrZXlzIGZvciBtZW51LlxuICpcbiAqIE1hcmtpbmcgYWN0aW9uIGJ1dHRvbiBhcyBtZW51IGl0ZW0gaW4gYSBtZW51IGJhciBodXJ0cyBhY2Nlc3NpYmlsaXR5LiBFbmQtdXNlciB3aWxsIG5vdCBiZSBhYmxlIHRvIGp1bXAgdG8gYnV0dG9ucyBxdWlja2x5LlxuICpcbiAqIFRodXMsIEFjdGlvblNldCBzaG91bGQgbm90IGJlIG1lbnUgYmFyLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QoYWRhcHRpdmVDYXJkOiBBZGFwdGl2ZUNhcmQpIHtcbiAgY29uc3QgbW9kZGVyID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoXzogQWRhcHRpdmVDYXJkLCBjYXJkRWxlbWVudDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvblNldEVsZW1lbnRzID0gQXJyYXkuZnJvbShcbiAgICAgICAgY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmFjLWFjdGlvblNldFtyb2xlPVwibWVudWJhclwiXScpIGFzIE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+XG4gICAgICApO1xuXG4gICAgICBjb25zdCB1bmRvU3RhY2sgPSBhY3Rpb25TZXRFbGVtZW50cy5tYXAoYWN0aW9uU2V0RWxlbWVudCA9PlxuICAgICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyhhY3Rpb25TZXRFbGVtZW50LCAncm9sZScsIGZhbHNlKVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuICgpID0+IGJ1bmNoVW5kb3ModW5kb1N0YWNrKSgpO1xuICAgIH0sXG4gICAgW11cbiAgKTtcblxuICByZXR1cm4gdXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0KG1vZGRlciwgYWRhcHRpdmVDYXJkKTtcbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import type { AdaptiveCard } from 'adaptivecards';
2
+ /**
3
+ * Accessibility: Action in ActionSet/CardElement should be push button.
4
+ *
5
+ * Pressing the action button is a decision-making process. The decision made by the end-user need to be read by the screen reader.
6
+ * Thus, we need to indicate what decision the end-user made.
7
+ *
8
+ * Since action buttons are button, the intuitive way to indicate selection of a button is marking it as pressed.
9
+ *
10
+ * One exception is the `Action.ShowUrl` action. This button represents expand/collapse header of an accordion.
11
+ * Thus, their state is indicated by `aria-expanded`, instead of `aria-pressed`.
12
+ * However, we still need to remove other unnecessary ARIA fields.
13
+ */
14
+ export default function useActionShouldBePushButtonModEffect(adaptiveCard: AdaptiveCard): readonly [(cardElement: HTMLElement, actionPerformedClassName?: string) => void, () => void];
15
+ //# sourceMappingURL=useActionShouldBePushButtonModEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActionShouldBePushButtonModEffect.d.ts","sourceRoot":"","sources":["../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/useActionShouldBePushButtonModEffect.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;AAG9D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,oCAAoC,CAC1D,YAAY,EAAE,YAAY,GACzB,SAAS,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,wBAAwB,CAAC,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC,CA4E9F"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = useActionShouldBePushButtonModEffect;
9
+
10
+ var _react = require("react");
11
+
12
+ var _addEventListenerWithUndo = _interopRequireDefault(require("../../DOMManipulationWithUndo/addEventListenerWithUndo"));
13
+
14
+ var _bunchUndos = _interopRequireDefault(require("../../DOMManipulationWithUndo/bunchUndos"));
15
+
16
+ var _closest = _interopRequireDefault(require("./private/closest"));
17
+
18
+ var _durableAddClassWithUndo = _interopRequireDefault(require("../../DOMManipulationWithUndo/durableAddClassWithUndo"));
19
+
20
+ var _findDOMNodeOwner = _interopRequireDefault(require("./private/findDOMNodeOwner"));
21
+
22
+ var _setOrRemoveAttributeIfFalseWithUndo = _interopRequireDefault(require("../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo"));
23
+
24
+ var _useAdaptiveCardModEffect = _interopRequireDefault(require("./private/useAdaptiveCardModEffect"));
25
+
26
+ var _usePrevious = _interopRequireDefault(require("./private/usePrevious"));
27
+
28
+ /**
29
+ * Accessibility: Action in ActionSet/CardElement should be push button.
30
+ *
31
+ * Pressing the action button is a decision-making process. The decision made by the end-user need to be read by the screen reader.
32
+ * Thus, we need to indicate what decision the end-user made.
33
+ *
34
+ * Since action buttons are button, the intuitive way to indicate selection of a button is marking it as pressed.
35
+ *
36
+ * One exception is the `Action.ShowUrl` action. This button represents expand/collapse header of an accordion.
37
+ * Thus, their state is indicated by `aria-expanded`, instead of `aria-pressed`.
38
+ * However, we still need to remove other unnecessary ARIA fields.
39
+ */
40
+ function useActionShouldBePushButtonModEffect(adaptiveCard) {
41
+ var prevAdaptiveCard = (0, _usePrevious.default)(adaptiveCard);
42
+ var pushedCardObjectsRef = (0, _react.useRef)(new Set());
43
+ prevAdaptiveCard === adaptiveCard || pushedCardObjectsRef.current.clear();
44
+ var modder = (0, _react.useMemo)(function () {
45
+ return function (adaptiveCard, cardElement, actionPerformedClassName) {
46
+ var undoStack = [];
47
+ Array.from(cardElement.querySelectorAll('button.ac-pushButton')).forEach(function (actionElement) {
48
+ var cardObject = (0, _findDOMNodeOwner.default)(adaptiveCard, actionElement);
49
+
50
+ if (!actionElement.hasAttribute('aria-expanded')) {
51
+ if (pushedCardObjectsRef.current.has(cardObject)) {
52
+ actionPerformedClassName && undoStack.push((0, _durableAddClassWithUndo.default)(actionElement, actionPerformedClassName));
53
+ undoStack.push((0, _setOrRemoveAttributeIfFalseWithUndo.default)(actionElement, 'aria-pressed', 'true'));
54
+ } else {
55
+ undoStack.push((0, _setOrRemoveAttributeIfFalseWithUndo.default)(actionElement, 'aria-pressed', 'false'));
56
+ }
57
+ }
58
+
59
+ undoStack.push((0, _setOrRemoveAttributeIfFalseWithUndo.default)(actionElement, 'aria-posinset', false), (0, _setOrRemoveAttributeIfFalseWithUndo.default)(actionElement, 'aria-setsize', false), (0, _setOrRemoveAttributeIfFalseWithUndo.default)(actionElement, 'role', false));
60
+ });
61
+ undoStack.push((0, _addEventListenerWithUndo.default)(cardElement, 'click', function (_ref) {
62
+ var target = _ref.target;
63
+ // Depends on click location, `target` could be the <div> inside the <button class="ac-pushButton">.
64
+ // Thus, we need to check if we the `target` is inside `button.ac-pushButton` or not.
65
+ var actionElement = (0, _closest.default)(target, 'button.ac-pushButton');
66
+
67
+ if (!actionElement) {
68
+ return;
69
+ }
70
+
71
+ var cardObject = (0, _findDOMNodeOwner.default)(adaptiveCard, actionElement);
72
+
73
+ if ( // Not an AC action.
74
+ !cardObject || // Ignores buttons which are supposed to be disabled.
75
+ actionElement.getAttribute('aria-disabled') === 'true' || // Mods all AC action buttons except those for `Action.ShowCard`, which has `aria-expanded` attribute.
76
+ actionElement.hasAttribute('aria-expanded')) {
77
+ return;
78
+ }
79
+
80
+ actionPerformedClassName && undoStack.push((0, _durableAddClassWithUndo.default)(actionElement, actionPerformedClassName));
81
+ undoStack.push((0, _setOrRemoveAttributeIfFalseWithUndo.default)(actionElement, 'aria-pressed', 'true'));
82
+ cardObject && pushedCardObjectsRef.current.add(cardObject);
83
+ }, {
84
+ capture: true
85
+ }));
86
+ return function () {
87
+ return (0, _bunchUndos.default)(undoStack)();
88
+ };
89
+ };
90
+ }, [pushedCardObjectsRef]);
91
+ return (0, _useAdaptiveCardModEffect.default)(modder, adaptiveCard);
92
+ }
93
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkSGFja3MvdXNlQWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kRWZmZWN0LnRzIl0sIm5hbWVzIjpbInVzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdCIsImFkYXB0aXZlQ2FyZCIsInByZXZBZGFwdGl2ZUNhcmQiLCJwdXNoZWRDYXJkT2JqZWN0c1JlZiIsIlNldCIsImN1cnJlbnQiLCJjbGVhciIsIm1vZGRlciIsImNhcmRFbGVtZW50IiwiYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lIiwidW5kb1N0YWNrIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJhY3Rpb25FbGVtZW50IiwiY2FyZE9iamVjdCIsImhhc0F0dHJpYnV0ZSIsImhhcyIsInB1c2giLCJ0YXJnZXQiLCJnZXRBdHRyaWJ1dGUiLCJhZGQiLCJjYXB0dXJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDZSxTQUFTQSxvQ0FBVCxDQUNiQyxZQURhLEVBRWlGO0FBQzlGLE1BQU1DLGdCQUFnQixHQUFHLDBCQUFZRCxZQUFaLENBQXpCO0FBQ0EsTUFBTUUsb0JBQW9CLEdBQUcsbUJBQXdCLElBQUlDLEdBQUosRUFBeEIsQ0FBN0I7QUFFQUYsRUFBQUEsZ0JBQWdCLEtBQUtELFlBQXJCLElBQXFDRSxvQkFBb0IsQ0FBQ0UsT0FBckIsQ0FBNkJDLEtBQTdCLEVBQXJDO0FBRUEsTUFBTUMsTUFBTSxHQUFHLG9CQUNiO0FBQUEsV0FBTSxVQUFDTixZQUFELEVBQTZCTyxXQUE3QixFQUF1REMsd0JBQXZELEVBQTZGO0FBQ2pHLFVBQU1DLFNBQXlCLEdBQUcsRUFBbEM7QUFFQUMsTUFBQUEsS0FBSyxDQUFDQyxJQUFOLENBQVdKLFdBQVcsQ0FBQ0ssZ0JBQVosQ0FBNkIsc0JBQTdCLENBQVgsRUFBa0dDLE9BQWxHLENBQ0UsVUFBQUMsYUFBYSxFQUFJO0FBQ2YsWUFBTUMsVUFBVSxHQUFHLCtCQUFpQmYsWUFBakIsRUFBK0JjLGFBQS9CLENBQW5COztBQUVBLFlBQUksQ0FBQ0EsYUFBYSxDQUFDRSxZQUFkLENBQTJCLGVBQTNCLENBQUwsRUFBa0Q7QUFDaEQsY0FBSWQsb0JBQW9CLENBQUNFLE9BQXJCLENBQTZCYSxHQUE3QixDQUFpQ0YsVUFBakMsQ0FBSixFQUFrRDtBQUNoRFAsWUFBQUEsd0JBQXdCLElBQ3RCQyxTQUFTLENBQUNTLElBQVYsQ0FBZSxzQ0FBd0JKLGFBQXhCLEVBQXVDTix3QkFBdkMsQ0FBZixDQURGO0FBR0FDLFlBQUFBLFNBQVMsQ0FBQ1MsSUFBVixDQUFlLGtEQUFvQ0osYUFBcEMsRUFBbUQsY0FBbkQsRUFBbUUsTUFBbkUsQ0FBZjtBQUNELFdBTEQsTUFLTztBQUNMTCxZQUFBQSxTQUFTLENBQUNTLElBQVYsQ0FBZSxrREFBb0NKLGFBQXBDLEVBQW1ELGNBQW5ELEVBQW1FLE9BQW5FLENBQWY7QUFDRDtBQUNGOztBQUVETCxRQUFBQSxTQUFTLENBQUNTLElBQVYsQ0FDRSxrREFBb0NKLGFBQXBDLEVBQW1ELGVBQW5ELEVBQW9FLEtBQXBFLENBREYsRUFFRSxrREFBb0NBLGFBQXBDLEVBQW1ELGNBQW5ELEVBQW1FLEtBQW5FLENBRkYsRUFHRSxrREFBb0NBLGFBQXBDLEVBQW1ELE1BQW5ELEVBQTJELEtBQTNELENBSEY7QUFLRCxPQXBCSDtBQXVCQUwsTUFBQUEsU0FBUyxDQUFDUyxJQUFWLENBQ0UsdUNBQ0VYLFdBREYsRUFFRSxPQUZGLEVBR0UsZ0JBQWdCO0FBQUEsWUFBYlksTUFBYSxRQUFiQSxNQUFhO0FBQ2Q7QUFDQTtBQUNBLFlBQU1MLGFBQWEsR0FBRyxzQkFBUUssTUFBUixFQUFxQyxzQkFBckMsQ0FBdEI7O0FBRUEsWUFBSSxDQUFDTCxhQUFMLEVBQW9CO0FBQ2xCO0FBQ0Q7O0FBRUQsWUFBTUMsVUFBVSxHQUFHLCtCQUFpQmYsWUFBakIsRUFBK0JjLGFBQS9CLENBQW5COztBQUVBLGFBQ0U7QUFDQSxTQUFDQyxVQUFELElBQ0E7QUFDQUQsUUFBQUEsYUFBYSxDQUFDTSxZQUFkLENBQTJCLGVBQTNCLE1BQWdELE1BRmhELElBR0E7QUFDQU4sUUFBQUEsYUFBYSxDQUFDRSxZQUFkLENBQTJCLGVBQTNCLENBTkYsRUFPRTtBQUNBO0FBQ0Q7O0FBRURSLFFBQUFBLHdCQUF3QixJQUN0QkMsU0FBUyxDQUFDUyxJQUFWLENBQWUsc0NBQXdCSixhQUF4QixFQUF1Q04sd0JBQXZDLENBQWYsQ0FERjtBQUdBQyxRQUFBQSxTQUFTLENBQUNTLElBQVYsQ0FBZSxrREFBb0NKLGFBQXBDLEVBQW1ELGNBQW5ELEVBQW1FLE1BQW5FLENBQWY7QUFFQUMsUUFBQUEsVUFBVSxJQUFJYixvQkFBb0IsQ0FBQ0UsT0FBckIsQ0FBNkJpQixHQUE3QixDQUFpQ04sVUFBakMsQ0FBZDtBQUNELE9BL0JILEVBZ0NFO0FBQUVPLFFBQUFBLE9BQU8sRUFBRTtBQUFYLE9BaENGLENBREY7QUFxQ0EsYUFBTztBQUFBLGVBQU0seUJBQVdiLFNBQVgsR0FBTjtBQUFBLE9BQVA7QUFDRCxLQWhFRDtBQUFBLEdBRGEsRUFrRWIsQ0FBQ1Asb0JBQUQsQ0FsRWEsQ0FBZjtBQXFFQSxTQUFPLHVDQUF5QkksTUFBekIsRUFBaUNOLFlBQWpDLENBQVA7QUFDRCIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgYWRkRXZlbnRMaXN0ZW5lcldpdGhVbmRvIGZyb20gJy4uLy4uL0RPTU1hbmlwdWxhdGlvbldpdGhVbmRvL2FkZEV2ZW50TGlzdGVuZXJXaXRoVW5kbyc7XG5pbXBvcnQgYnVuY2hVbmRvcyBmcm9tICcuLi8uLi9ET01NYW5pcHVsYXRpb25XaXRoVW5kby9idW5jaFVuZG9zJztcbmltcG9ydCBjbG9zZXN0IGZyb20gJy4vcHJpdmF0ZS9jbG9zZXN0JztcbmltcG9ydCBkdXJhYmxlQWRkQ2xhc3NXaXRoVW5kbyBmcm9tICcuLi8uLi9ET01NYW5pcHVsYXRpb25XaXRoVW5kby9kdXJhYmxlQWRkQ2xhc3NXaXRoVW5kbyc7XG5pbXBvcnQgZmluZERPTU5vZGVPd25lciBmcm9tICcuL3ByaXZhdGUvZmluZERPTU5vZGVPd25lcic7XG5pbXBvcnQgc2V0T3JSZW1vdmVBdHRyaWJ1dGVJZkZhbHNlV2l0aFVuZG8gZnJvbSAnLi4vLi4vRE9NTWFuaXB1bGF0aW9uV2l0aFVuZG8vc2V0T3JSZW1vdmVBdHRyaWJ1dGVJZkZhbHNlV2l0aFVuZG8nO1xuaW1wb3J0IHVzZUFkYXB0aXZlQ2FyZE1vZEVmZmVjdCBmcm9tICcuL3ByaXZhdGUvdXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0JztcbmltcG9ydCB1c2VQcmV2aW91cyBmcm9tICcuL3ByaXZhdGUvdXNlUHJldmlvdXMnO1xuXG5pbXBvcnQgdHlwZSB7IEFkYXB0aXZlQ2FyZCwgQ2FyZE9iamVjdCB9IGZyb20gJ2FkYXB0aXZlY2FyZHMnO1xuaW1wb3J0IHR5cGUgeyBVbmRvRnVuY3Rpb24gfSBmcm9tICcuLi8uLi9ET01NYW5pcHVsYXRpb25XaXRoVW5kby90eXBlcy9VbmRvRnVuY3Rpb24nO1xuXG4vKipcbiAqIEFjY2Vzc2liaWxpdHk6IEFjdGlvbiBpbiBBY3Rpb25TZXQvQ2FyZEVsZW1lbnQgc2hvdWxkIGJlIHB1c2ggYnV0dG9uLlxuICpcbiAqIFByZXNzaW5nIHRoZSBhY3Rpb24gYnV0dG9uIGlzIGEgZGVjaXNpb24tbWFraW5nIHByb2Nlc3MuIFRoZSBkZWNpc2lvbiBtYWRlIGJ5IHRoZSBlbmQtdXNlciBuZWVkIHRvIGJlIHJlYWQgYnkgdGhlIHNjcmVlbiByZWFkZXIuXG4gKiBUaHVzLCB3ZSBuZWVkIHRvIGluZGljYXRlIHdoYXQgZGVjaXNpb24gdGhlIGVuZC11c2VyIG1hZGUuXG4gKlxuICogU2luY2UgYWN0aW9uIGJ1dHRvbnMgYXJlIGJ1dHRvbiwgdGhlIGludHVpdGl2ZSB3YXkgdG8gaW5kaWNhdGUgc2VsZWN0aW9uIG9mIGEgYnV0dG9uIGlzIG1hcmtpbmcgaXQgYXMgcHJlc3NlZC5cbiAqXG4gKiBPbmUgZXhjZXB0aW9uIGlzIHRoZSBgQWN0aW9uLlNob3dVcmxgIGFjdGlvbi4gVGhpcyBidXR0b24gcmVwcmVzZW50cyBleHBhbmQvY29sbGFwc2UgaGVhZGVyIG9mIGFuIGFjY29yZGlvbi5cbiAqIFRodXMsIHRoZWlyIHN0YXRlIGlzIGluZGljYXRlZCBieSBgYXJpYS1leHBhbmRlZGAsIGluc3RlYWQgb2YgYGFyaWEtcHJlc3NlZGAuXG4gKiBIb3dldmVyLCB3ZSBzdGlsbCBuZWVkIHRvIHJlbW92ZSBvdGhlciB1bm5lY2Vzc2FyeSBBUklBIGZpZWxkcy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlQWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kRWZmZWN0KFxuICBhZGFwdGl2ZUNhcmQ6IEFkYXB0aXZlQ2FyZFxuKTogcmVhZG9ubHkgWyhjYXJkRWxlbWVudDogSFRNTEVsZW1lbnQsIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZT86IHN0cmluZykgPT4gdm9pZCwgKCkgPT4gdm9pZF0ge1xuICBjb25zdCBwcmV2QWRhcHRpdmVDYXJkID0gdXNlUHJldmlvdXMoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgcHVzaGVkQ2FyZE9iamVjdHNSZWYgPSB1c2VSZWY8U2V0PENhcmRPYmplY3Q+PihuZXcgU2V0KCkpO1xuXG4gIHByZXZBZGFwdGl2ZUNhcmQgPT09IGFkYXB0aXZlQ2FyZCB8fCBwdXNoZWRDYXJkT2JqZWN0c1JlZi5jdXJyZW50LmNsZWFyKCk7XG5cbiAgY29uc3QgbW9kZGVyID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoYWRhcHRpdmVDYXJkOiBBZGFwdGl2ZUNhcmQsIGNhcmRFbGVtZW50OiBIVE1MRWxlbWVudCwgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lPzogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB1bmRvU3RhY2s6IFVuZG9GdW5jdGlvbltdID0gW107XG5cbiAgICAgIEFycmF5LmZyb20oY2FyZEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uLmFjLXB1c2hCdXR0b24nKSBhcyBOb2RlTGlzdE9mPEhUTUxCdXR0b25FbGVtZW50PikuZm9yRWFjaChcbiAgICAgICAgYWN0aW9uRWxlbWVudCA9PiB7XG4gICAgICAgICAgY29uc3QgY2FyZE9iamVjdCA9IGZpbmRET01Ob2RlT3duZXIoYWRhcHRpdmVDYXJkLCBhY3Rpb25FbGVtZW50KTtcblxuICAgICAgICAgIGlmICghYWN0aW9uRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSkge1xuICAgICAgICAgICAgaWYgKHB1c2hlZENhcmRPYmplY3RzUmVmLmN1cnJlbnQuaGFzKGNhcmRPYmplY3QpKSB7XG4gICAgICAgICAgICAgIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSAmJlxuICAgICAgICAgICAgICAgIHVuZG9TdGFjay5wdXNoKGR1cmFibGVBZGRDbGFzc1dpdGhVbmRvKGFjdGlvbkVsZW1lbnQsIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSkpO1xuXG4gICAgICAgICAgICAgIHVuZG9TdGFjay5wdXNoKHNldE9yUmVtb3ZlQXR0cmlidXRlSWZGYWxzZVdpdGhVbmRvKGFjdGlvbkVsZW1lbnQsICdhcmlhLXByZXNzZWQnLCAndHJ1ZScpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHVuZG9TdGFjay5wdXNoKHNldE9yUmVtb3ZlQXR0cmlidXRlSWZGYWxzZVdpdGhVbmRvKGFjdGlvbkVsZW1lbnQsICdhcmlhLXByZXNzZWQnLCAnZmFsc2UnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdW5kb1N0YWNrLnB1c2goXG4gICAgICAgICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyhhY3Rpb25FbGVtZW50LCAnYXJpYS1wb3NpbnNldCcsIGZhbHNlKSxcbiAgICAgICAgICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlSWZGYWxzZVdpdGhVbmRvKGFjdGlvbkVsZW1lbnQsICdhcmlhLXNldHNpemUnLCBmYWxzZSksXG4gICAgICAgICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyhhY3Rpb25FbGVtZW50LCAncm9sZScsIGZhbHNlKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIHVuZG9TdGFjay5wdXNoKFxuICAgICAgICBhZGRFdmVudExpc3RlbmVyV2l0aFVuZG8oXG4gICAgICAgICAgY2FyZEVsZW1lbnQsXG4gICAgICAgICAgJ2NsaWNrJyxcbiAgICAgICAgICAoeyB0YXJnZXQgfSkgPT4ge1xuICAgICAgICAgICAgLy8gRGVwZW5kcyBvbiBjbGljayBsb2NhdGlvbiwgYHRhcmdldGAgY291bGQgYmUgdGhlIDxkaXY+IGluc2lkZSB0aGUgPGJ1dHRvbiBjbGFzcz1cImFjLXB1c2hCdXR0b25cIj4uXG4gICAgICAgICAgICAvLyBUaHVzLCB3ZSBuZWVkIHRvIGNoZWNrIGlmIHdlIHRoZSBgdGFyZ2V0YCBpcyBpbnNpZGUgYGJ1dHRvbi5hYy1wdXNoQnV0dG9uYCBvciBub3QuXG4gICAgICAgICAgICBjb25zdCBhY3Rpb25FbGVtZW50ID0gY2xvc2VzdCh0YXJnZXQgYXMgSFRNTEJ1dHRvbkVsZW1lbnQsICdidXR0b24uYWMtcHVzaEJ1dHRvbicpO1xuXG4gICAgICAgICAgICBpZiAoIWFjdGlvbkVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjYXJkT2JqZWN0ID0gZmluZERPTU5vZGVPd25lcihhZGFwdGl2ZUNhcmQsIGFjdGlvbkVsZW1lbnQpO1xuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIC8vIE5vdCBhbiBBQyBhY3Rpb24uXG4gICAgICAgICAgICAgICFjYXJkT2JqZWN0IHx8XG4gICAgICAgICAgICAgIC8vIElnbm9yZXMgYnV0dG9ucyB3aGljaCBhcmUgc3VwcG9zZWQgdG8gYmUgZGlzYWJsZWQuXG4gICAgICAgICAgICAgIGFjdGlvbkVsZW1lbnQuZ2V0QXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJykgPT09ICd0cnVlJyB8fFxuICAgICAgICAgICAgICAvLyBNb2RzIGFsbCBBQyBhY3Rpb24gYnV0dG9ucyBleGNlcHQgdGhvc2UgZm9yIGBBY3Rpb24uU2hvd0NhcmRgLCB3aGljaCBoYXMgYGFyaWEtZXhwYW5kZWRgIGF0dHJpYnV0ZS5cbiAgICAgICAgICAgICAgYWN0aW9uRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lICYmXG4gICAgICAgICAgICAgIHVuZG9TdGFjay5wdXNoKGR1cmFibGVBZGRDbGFzc1dpdGhVbmRvKGFjdGlvbkVsZW1lbnQsIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSkpO1xuXG4gICAgICAgICAgICB1bmRvU3RhY2sucHVzaChzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyhhY3Rpb25FbGVtZW50LCAnYXJpYS1wcmVzc2VkJywgJ3RydWUnKSk7XG5cbiAgICAgICAgICAgIGNhcmRPYmplY3QgJiYgcHVzaGVkQ2FyZE9iamVjdHNSZWYuY3VycmVudC5hZGQoY2FyZE9iamVjdCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IGNhcHR1cmU6IHRydWUgfVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gKCkgPT4gYnVuY2hVbmRvcyh1bmRvU3RhY2spKCk7XG4gICAgfSxcbiAgICBbcHVzaGVkQ2FyZE9iamVjdHNSZWZdXG4gICk7XG5cbiAgcmV0dXJuIHVzZUFkYXB0aXZlQ2FyZE1vZEVmZmVjdChtb2RkZXIsIGFkYXB0aXZlQ2FyZCk7XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ import type { AdaptiveCard } from 'adaptivecards';
2
+ /**
3
+ * Re-rendering: Last focused element must be persisted during render cycle.
4
+ */
5
+ export default function useActiveElementModEffect(adaptiveCard: AdaptiveCard): readonly [(cardElement: HTMLElement) => void, () => void];
6
+ //# sourceMappingURL=useActiveElementModEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActiveElementModEffect.d.ts","sourceRoot":"","sources":["../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/useActiveElementModEffect.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,eAAe,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,YAAY,EAAE,YAAY,6DAuB3E"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = useActiveElementModEffect;
9
+
10
+ var _react = require("react");
11
+
12
+ var _findDOMNodeOwner = _interopRequireDefault(require("./private/findDOMNodeOwner"));
13
+
14
+ var _useAdaptiveCardModEffect = _interopRequireDefault(require("./private/useAdaptiveCardModEffect"));
15
+
16
+ var _usePrevious = _interopRequireDefault(require("./private/usePrevious"));
17
+
18
+ /**
19
+ * Re-rendering: Last focused element must be persisted during render cycle.
20
+ */
21
+ function useActiveElementModEffect(adaptiveCard) {
22
+ var activeCardObjectRef = (0, _react.useRef)();
23
+ var prevAdaptiveCard = (0, _usePrevious.default)(adaptiveCard);
24
+
25
+ if (prevAdaptiveCard !== adaptiveCard) {
26
+ activeCardObjectRef.current = undefined;
27
+ }
28
+
29
+ var modder = (0, _react.useMemo)(function () {
30
+ return function (adaptiveCard) {
31
+ var _activeCardObjectRef$, _activeCardObjectRef$2, _activeCardObjectRef$3;
32
+
33
+ // When apply, if we have saved the `CardObject` that was focused, restore its focused to the newly rendered element.
34
+ (_activeCardObjectRef$ = activeCardObjectRef.current) === null || _activeCardObjectRef$ === void 0 ? void 0 : (_activeCardObjectRef$2 = _activeCardObjectRef$.renderedElement) === null || _activeCardObjectRef$2 === void 0 ? void 0 : (_activeCardObjectRef$3 = _activeCardObjectRef$2.focus) === null || _activeCardObjectRef$3 === void 0 ? void 0 : _activeCardObjectRef$3.call(_activeCardObjectRef$2); // When undo, we are preparing for the next rendering.
35
+ // So, find and save the `CardObject` that is currently focused.
36
+
37
+ return function () {
38
+ activeCardObjectRef.current = (0, _findDOMNodeOwner.default)(adaptiveCard, document.activeElement);
39
+ };
40
+ };
41
+ }, [activeCardObjectRef]);
42
+ return (0, _useAdaptiveCardModEffect.default)(modder, adaptiveCard);
43
+ }
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnQvQWRhcHRpdmVDYXJkSGFja3MvdXNlQWN0aXZlRWxlbWVudE1vZEVmZmVjdC50cyJdLCJuYW1lcyI6WyJ1c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0IiwiYWRhcHRpdmVDYXJkIiwiYWN0aXZlQ2FyZE9iamVjdFJlZiIsInByZXZBZGFwdGl2ZUNhcmQiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwibW9kZGVyIiwicmVuZGVyZWRFbGVtZW50IiwiZm9jdXMiLCJkb2N1bWVudCIsImFjdGl2ZUVsZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNlLFNBQVNBLHlCQUFULENBQW1DQyxZQUFuQyxFQUErRDtBQUM1RSxNQUFNQyxtQkFBbUIsR0FBRyxvQkFBNUI7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRywwQkFBWUYsWUFBWixDQUF6Qjs7QUFFQSxNQUFJRSxnQkFBZ0IsS0FBS0YsWUFBekIsRUFBdUM7QUFDckNDLElBQUFBLG1CQUFtQixDQUFDRSxPQUFwQixHQUE4QkMsU0FBOUI7QUFDRDs7QUFFRCxNQUFNQyxNQUFNLEdBQUcsb0JBQ2I7QUFBQSxXQUFNLFVBQUNMLFlBQUQsRUFBZ0M7QUFBQTs7QUFDcEM7QUFDQSwrQkFBQUMsbUJBQW1CLENBQUNFLE9BQXBCLDBHQUE2QkcsZUFBN0IsNEdBQThDQyxLQUE5QywrR0FGb0MsQ0FJcEM7QUFDQTs7QUFDQSxhQUFPLFlBQU07QUFDWE4sUUFBQUEsbUJBQW1CLENBQUNFLE9BQXBCLEdBQThCLCtCQUFpQkgsWUFBakIsRUFBK0JRLFFBQVEsQ0FBQ0MsYUFBeEMsQ0FBOUI7QUFDRCxPQUZEO0FBR0QsS0FURDtBQUFBLEdBRGEsRUFXYixDQUFDUixtQkFBRCxDQVhhLENBQWY7QUFjQSxTQUFPLHVDQUF5QkksTUFBekIsRUFBaUNMLFlBQWpDLENBQVA7QUFDRCIsInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgZmluZERPTU5vZGVPd25lciBmcm9tICcuL3ByaXZhdGUvZmluZERPTU5vZGVPd25lcic7XG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0IGZyb20gJy4vcHJpdmF0ZS91c2VBZGFwdGl2ZUNhcmRNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZVByZXZpb3VzIGZyb20gJy4vcHJpdmF0ZS91c2VQcmV2aW91cyc7XG5cbmltcG9ydCB0eXBlIHsgQWRhcHRpdmVDYXJkLCBDYXJkT2JqZWN0IH0gZnJvbSAnYWRhcHRpdmVjYXJkcyc7XG5cbi8qKlxuICogUmUtcmVuZGVyaW5nOiBMYXN0IGZvY3VzZWQgZWxlbWVudCBtdXN0IGJlIHBlcnNpc3RlZCBkdXJpbmcgcmVuZGVyIGN5Y2xlLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0KGFkYXB0aXZlQ2FyZDogQWRhcHRpdmVDYXJkKSB7XG4gIGNvbnN0IGFjdGl2ZUNhcmRPYmplY3RSZWYgPSB1c2VSZWY8Q2FyZE9iamVjdCB8IHVuZGVmaW5lZD4oKTtcbiAgY29uc3QgcHJldkFkYXB0aXZlQ2FyZCA9IHVzZVByZXZpb3VzKGFkYXB0aXZlQ2FyZCk7XG5cbiAgaWYgKHByZXZBZGFwdGl2ZUNhcmQgIT09IGFkYXB0aXZlQ2FyZCkge1xuICAgIGFjdGl2ZUNhcmRPYmplY3RSZWYuY3VycmVudCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IG1vZGRlciA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKGFkYXB0aXZlQ2FyZDogQWRhcHRpdmVDYXJkKSA9PiB7XG4gICAgICAvLyBXaGVuIGFwcGx5LCBpZiB3ZSBoYXZlIHNhdmVkIHRoZSBgQ2FyZE9iamVjdGAgdGhhdCB3YXMgZm9jdXNlZCwgcmVzdG9yZSBpdHMgZm9jdXNlZCB0byB0aGUgbmV3bHkgcmVuZGVyZWQgZWxlbWVudC5cbiAgICAgIGFjdGl2ZUNhcmRPYmplY3RSZWYuY3VycmVudD8ucmVuZGVyZWRFbGVtZW50Py5mb2N1cz8uKCk7XG5cbiAgICAgIC8vIFdoZW4gdW5kbywgd2UgYXJlIHByZXBhcmluZyBmb3IgdGhlIG5leHQgcmVuZGVyaW5nLlxuICAgICAgLy8gU28sIGZpbmQgYW5kIHNhdmUgdGhlIGBDYXJkT2JqZWN0YCB0aGF0IGlzIGN1cnJlbnRseSBmb2N1c2VkLlxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgYWN0aXZlQ2FyZE9iamVjdFJlZi5jdXJyZW50ID0gZmluZERPTU5vZGVPd25lcihhZGFwdGl2ZUNhcmQsIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgfTtcbiAgICB9LFxuICAgIFthY3RpdmVDYXJkT2JqZWN0UmVmXVxuICApO1xuXG4gIHJldHVybiB1c2VBZGFwdGl2ZUNhcmRNb2RFZmZlY3QobW9kZGVyLCBhZGFwdGl2ZUNhcmQpO1xufVxuIl19
@@ -0,0 +1,9 @@
1
+ import type { AdaptiveCard } from 'adaptivecards';
2
+ /**
3
+ * Accessibility: Form fields in Adaptive Cards need to be disabled to reduce confusion for screen reader users.
4
+ *
5
+ * One exception is the `Action.ShowUrl`, this is because this action is expand/collapse of an accordion control.
6
+ * Similar to `<details>`/`<summary>`, accordion must not allowed to be disabled.
7
+ */
8
+ export default function useDisabledModEffect(adaptiveCard: AdaptiveCard): readonly [(cardElement: HTMLElement, disabled: boolean) => void, () => void];
9
+ //# sourceMappingURL=useDisabledModEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDisabledModEffect.d.ts","sourceRoot":"","sources":["../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/useDisabledModEffect.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAalD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAC1C,YAAY,EAAE,YAAY,GACzB,SAAS,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC,CAiB9E"}