@atlaskit/smart-card 26.69.1 → 26.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/extractors/flexible/actions/extract-automation-action.js +1 -1
  3. package/dist/cjs/messages.js +2 -2
  4. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/index.js +2 -2
  5. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/utils.js +31 -1
  6. package/dist/cjs/utils/analytics/analytics.js +1 -1
  7. package/dist/cjs/view/FlexibleCard/components/actions/action/action-stack-item/action-button.js +87 -0
  8. package/dist/cjs/view/FlexibleCard/components/actions/action/action-stack-item/index.js +14 -78
  9. package/dist/cjs/view/FlexibleCard/components/actions/action/index.js +3 -1
  10. package/dist/cjs/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.js +8 -1
  11. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/messages.js +64 -0
  12. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/mocks.js +78 -0
  13. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/test-utils.js +127 -0
  14. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/types.js +18 -0
  15. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/api.js +183 -0
  16. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/index.js +55 -0
  17. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/stack-resolver.js +138 -0
  18. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/index.js +38 -0
  19. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/main.js +249 -0
  20. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/boolean-prompt/main.js +28 -0
  21. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/main.js +136 -0
  22. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/number-prompt/main.js +59 -0
  23. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/paragraph-prompt/main.js +49 -0
  24. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/select-prompt/main.js +52 -0
  25. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/text-prompt/main.js +38 -0
  26. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/services/index.js +95 -0
  27. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/index.js +14 -0
  28. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/main.js +74 -0
  29. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/index.js +18 -0
  30. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/main.js +70 -0
  31. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/index.js +12 -0
  32. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/main.js +39 -0
  33. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/empty-icon/index.js +136 -0
  34. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/index.js +12 -0
  35. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/main.js +93 -0
  36. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/error-icon/index.js +66 -0
  37. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/index.js +12 -0
  38. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/main.js +50 -0
  39. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/index.js +12 -0
  40. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/main.js +121 -0
  41. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/index.js +12 -0
  42. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.js +60 -0
  43. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/manual-trigger-icon/index.js +29 -0
  44. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/index.js +12 -0
  45. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.js +69 -0
  46. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/index.js +12 -0
  47. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/main.js +32 -0
  48. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/index.js +12 -0
  49. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/main.js +86 -0
  50. package/dist/cjs/view/FlexibleCard/components/actions/automation-action/index.js +54 -12
  51. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/index.js +11 -2
  52. package/dist/cjs/view/LinkUrl/index.js +1 -1
  53. package/dist/es2019/extractors/flexible/actions/extract-automation-action.js +1 -1
  54. package/dist/es2019/messages.js +2 -2
  55. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/index.js +3 -3
  56. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/utils.js +30 -0
  57. package/dist/es2019/utils/analytics/analytics.js +1 -1
  58. package/dist/es2019/view/FlexibleCard/components/actions/action/action-stack-item/action-button.js +79 -0
  59. package/dist/es2019/view/FlexibleCard/components/actions/action/action-stack-item/index.js +15 -80
  60. package/dist/es2019/view/FlexibleCard/components/actions/action/index.js +3 -1
  61. package/dist/es2019/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.js +5 -1
  62. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/messages.js +58 -0
  63. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/mocks.js +71 -0
  64. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/test-utils.js +74 -0
  65. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/types.js +12 -0
  66. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/api.js +103 -0
  67. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/index.js +2 -0
  68. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/stack-resolver.js +51 -0
  69. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/index.js +3 -0
  70. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/main.js +156 -0
  71. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/boolean-prompt/main.js +23 -0
  72. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/main.js +126 -0
  73. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/number-prompt/main.js +52 -0
  74. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/paragraph-prompt/main.js +44 -0
  75. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/select-prompt/main.js +45 -0
  76. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/text-prompt/main.js +31 -0
  77. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/services/index.js +53 -0
  78. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/index.js +3 -0
  79. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/main.js +62 -0
  80. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/index.js +1 -0
  81. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/main.js +61 -0
  82. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/index.js +2 -0
  83. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/main.js +32 -0
  84. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/empty-icon/index.js +127 -0
  85. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/index.js +2 -0
  86. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/main.js +89 -0
  87. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/error-icon/index.js +57 -0
  88. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/index.js +2 -0
  89. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/main.js +44 -0
  90. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/index.js +2 -0
  91. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/main.js +117 -0
  92. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/index.js +2 -0
  93. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.js +57 -0
  94. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/manual-trigger-icon/index.js +20 -0
  95. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/index.js +2 -0
  96. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.js +65 -0
  97. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/index.js +2 -0
  98. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/main.js +25 -0
  99. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/index.js +1 -0
  100. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/main.js +79 -0
  101. package/dist/es2019/view/FlexibleCard/components/actions/automation-action/index.js +49 -11
  102. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/index.js +8 -2
  103. package/dist/es2019/view/LinkUrl/index.js +1 -1
  104. package/dist/esm/extractors/flexible/actions/extract-automation-action.js +1 -1
  105. package/dist/esm/messages.js +2 -2
  106. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/index.js +3 -3
  107. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/utils.js +30 -0
  108. package/dist/esm/utils/analytics/analytics.js +1 -1
  109. package/dist/esm/view/FlexibleCard/components/actions/action/action-stack-item/action-button.js +78 -0
  110. package/dist/esm/view/FlexibleCard/components/actions/action/action-stack-item/index.js +14 -75
  111. package/dist/esm/view/FlexibleCard/components/actions/action/index.js +3 -1
  112. package/dist/esm/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.js +5 -1
  113. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/messages.js +58 -0
  114. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/mocks.js +71 -0
  115. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/test-utils.js +118 -0
  116. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/types.js +12 -0
  117. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/api.js +177 -0
  118. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/index.js +2 -0
  119. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/stack-resolver.js +131 -0
  120. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/index.js +3 -0
  121. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/main.js +240 -0
  122. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/boolean-prompt/main.js +21 -0
  123. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/main.js +126 -0
  124. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/number-prompt/main.js +52 -0
  125. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/paragraph-prompt/main.js +42 -0
  126. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/select-prompt/main.js +45 -0
  127. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/text-prompt/main.js +31 -0
  128. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/services/index.js +89 -0
  129. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/index.js +3 -0
  130. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/main.js +64 -0
  131. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/index.js +1 -0
  132. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/main.js +61 -0
  133. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/index.js +2 -0
  134. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/main.js +30 -0
  135. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/empty-icon/index.js +129 -0
  136. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/index.js +2 -0
  137. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/main.js +86 -0
  138. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/error-icon/index.js +59 -0
  139. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/index.js +2 -0
  140. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/main.js +43 -0
  141. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/index.js +2 -0
  142. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/main.js +114 -0
  143. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/index.js +2 -0
  144. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.js +53 -0
  145. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/manual-trigger-icon/index.js +22 -0
  146. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/index.js +2 -0
  147. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.js +62 -0
  148. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/index.js +2 -0
  149. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/main.js +25 -0
  150. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/index.js +1 -0
  151. package/dist/esm/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/main.js +80 -0
  152. package/dist/esm/view/FlexibleCard/components/actions/automation-action/index.js +51 -11
  153. package/dist/esm/view/FlexibleCard/components/blocks/action-block/index.js +11 -2
  154. package/dist/esm/view/LinkUrl/index.js +1 -1
  155. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/utils.d.ts +7 -0
  156. package/dist/types/view/FlexibleCard/components/actions/action/action-stack-item/action-button.d.ts +12 -0
  157. package/dist/types/view/FlexibleCard/components/actions/action/action-stack-item/index.d.ts +3 -3
  158. package/dist/types/view/FlexibleCard/components/actions/action/action-stack-item/types.d.ts +2 -5
  159. package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +5 -0
  160. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/messages.d.ts +58 -0
  161. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/mocks.d.ts +6 -0
  162. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/test-utils.d.ts +27 -0
  163. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/types.d.ts +94 -0
  164. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/api.d.ts +31 -0
  165. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/index.d.ts +2 -0
  166. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/stack-resolver.d.ts +3 -0
  167. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/index.d.ts +4 -0
  168. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/main.d.ts +52 -0
  169. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/boolean-prompt/main.d.ts +7 -0
  170. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/main.d.ts +11 -0
  171. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/number-prompt/main.d.ts +12 -0
  172. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/paragraph-prompt/main.d.ts +7 -0
  173. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/select-prompt/main.d.ts +7 -0
  174. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/text-prompt/main.d.ts +7 -0
  175. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/services/index.d.ts +17 -0
  176. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/index.d.ts +3 -0
  177. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/main.d.ts +17 -0
  178. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/index.d.ts +1 -0
  179. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/main.d.ts +28 -0
  180. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/index.d.ts +2 -0
  181. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/main.d.ts +8 -0
  182. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/empty-icon/index.d.ts +3 -0
  183. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/index.d.ts +2 -0
  184. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/main.d.ts +2 -0
  185. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/error-icon/index.d.ts +3 -0
  186. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/index.d.ts +2 -0
  187. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/main.d.ts +2 -0
  188. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/index.d.ts +2 -0
  189. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/main.d.ts +8 -0
  190. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/index.d.ts +2 -0
  191. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.d.ts +7 -0
  192. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/manual-trigger-icon/index.d.ts +3 -0
  193. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/index.d.ts +2 -0
  194. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.d.ts +9 -0
  195. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/index.d.ts +2 -0
  196. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/main.d.ts +8 -0
  197. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/index.d.ts +1 -0
  198. package/dist/types/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/main.d.ts +7 -0
  199. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/utils.d.ts +7 -0
  200. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-stack-item/action-button.d.ts +12 -0
  201. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-stack-item/index.d.ts +3 -3
  202. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-stack-item/types.d.ts +2 -5
  203. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/types.d.ts +5 -0
  204. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/messages.d.ts +58 -0
  205. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/mocks.d.ts +6 -0
  206. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/test-utils.d.ts +27 -0
  207. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/types.d.ts +94 -0
  208. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/api.d.ts +31 -0
  209. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/index.d.ts +2 -0
  210. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/common/utils/stack-resolver.d.ts +3 -0
  211. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/index.d.ts +4 -0
  212. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/main.d.ts +52 -0
  213. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/boolean-prompt/main.d.ts +7 -0
  214. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/main.d.ts +11 -0
  215. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/number-prompt/main.d.ts +12 -0
  216. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/paragraph-prompt/main.d.ts +7 -0
  217. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/select-prompt/main.d.ts +7 -0
  218. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/manual-triggers-form/text-prompt/main.d.ts +7 -0
  219. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-container/services/index.d.ts +17 -0
  220. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/index.d.ts +3 -0
  221. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/main.d.ts +17 -0
  222. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/index.d.ts +1 -0
  223. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/menu-context/main.d.ts +28 -0
  224. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/index.d.ts +2 -0
  225. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/body/main.d.ts +8 -0
  226. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/empty-icon/index.d.ts +3 -0
  227. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/index.d.ts +2 -0
  228. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/empty-state/main.d.ts +2 -0
  229. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/error-icon/index.d.ts +3 -0
  230. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/index.d.ts +2 -0
  231. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/error-state/main.d.ts +2 -0
  232. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/index.d.ts +2 -0
  233. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/footer/main.d.ts +8 -0
  234. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/index.d.ts +2 -0
  235. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/main.d.ts +7 -0
  236. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/header/manual-trigger-icon/index.d.ts +3 -0
  237. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/index.d.ts +2 -0
  238. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule/main.d.ts +9 -0
  239. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/index.d.ts +2 -0
  240. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/rule-list/main.d.ts +8 -0
  241. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/index.d.ts +1 -0
  242. package/dist/types-ts4.5/view/FlexibleCard/components/actions/automation-action/automation-manual-triggers/manual-triggers-modal/sub-components/skeleton/main.d.ts +7 -0
  243. package/package.json +9 -2
@@ -0,0 +1,156 @@
1
+ import React, { useMemo, useState } from 'react';
2
+ import { di } from 'react-magnetic-di';
3
+ import { ModalTransition } from '@atlaskit/modal-dialog';
4
+ import { invokeManuallyTriggeredRule, searchManuallyTriggeredRules } from './services';
5
+ import UserInputForm from './manual-triggers-form/main';
6
+
7
+ /**
8
+ * React hook that implements the fetch and invoke actions for manual triggers.
9
+ * Can be used standalone or in the HOC provided below.
10
+ * @param env - The environment to retrieve rules from
11
+ * @param site - The site to filter on. We map this to just a cloudId to resolve the manual rules API path
12
+ * @param query - Query object containing filter props (container, object(s))
13
+ */
14
+ export const useManualRules = (env, site, query) => {
15
+ const [initialised, setInitialised] = useState(false);
16
+ const [error, setError] = useState(null);
17
+ const [rules, setRules] = useState([]);
18
+ const transformRules = ruleResponse => {
19
+ const rulesUnsorted = Object.values(ruleResponse);
20
+ return rulesUnsorted.sort((rule1, rule2) => rule1.name.localeCompare(rule2.name));
21
+ };
22
+ const triggerFetch = async () => {
23
+ setInitialised(false);
24
+ try {
25
+ const fetchedRules = await searchManuallyTriggeredRules(env, site, query);
26
+ setError(null);
27
+ setRules(transformRules(fetchedRules));
28
+ } catch (e) {
29
+ setError(e);
30
+ setRules([]);
31
+ } finally {
32
+ setInitialised(true);
33
+ }
34
+ };
35
+ return [triggerFetch, initialised, error, rules];
36
+ };
37
+ /**
38
+ *
39
+ * Container HOC that implements the above hook and behaviours.
40
+ *
41
+ * This HOC uses rendered props to allow the use of any render instructions
42
+ * for manual rules, while still maintaining the behaviour of invoking rules.
43
+ *
44
+ * The HOC also appends a dialog that is displayed when the {@code invokeRuleOrShowDialog}
45
+ * prop is called, if the underlying rule has user inputs.
46
+ *
47
+ * The component exposes the "invokingRuleId" property to the child hierarchy,
48
+ * because the children might care about the invocation state. It does not expose
49
+ * the "selected" state, or any information about the dialog, as the children
50
+ * should not care about this, only how to trigger invocation and understand
51
+ * the invocation lifecycle.
52
+ *
53
+ * @param props - environment, cloudId, projectId, children
54
+ */
55
+ export const ManualRulesContainer = props => {
56
+ const {
57
+ env,
58
+ site,
59
+ query,
60
+ children,
61
+ onInputsModalOpened,
62
+ onInputsModalClosed,
63
+ onRuleInvocationLifecycleStarted,
64
+ onRuleInvocationSuccess,
65
+ onRuleInvocationFailure,
66
+ onRuleInvocationLifecycleDone
67
+ } = props;
68
+ // Initial data loading state
69
+ const [triggerFetch, initialised, error, rules] = useManualRules(env, site, query);
70
+ // We store a rule in state here if and only if a rule has user inputs, and thus
71
+ // we need to preserve state while the input dialog is open.
72
+ const [selectedRule, setSelectedRule] = useState(null);
73
+ const clearSelectedRule = () => {
74
+ setSelectedRule(null);
75
+ };
76
+ // Value set when a rule is invoking, either from the dialog or without dialog
77
+ const [invokingRuleId, setInvokingRuleId] = useState(null);
78
+
79
+ // Memoized projection of rules by id
80
+ const rulesById = useMemo(() => rules.reduce((acc, rule) => ({
81
+ // eslint-disable-next-line
82
+ ...acc,
83
+ [rule.id]: rule
84
+ }), {}), [rules]);
85
+ const getRule = id => rulesById[id];
86
+ const ruleHasInputs = rule => {
87
+ var _rule$userInputPrompt;
88
+ return (rule === null || rule === void 0 ? void 0 : (_rule$userInputPrompt = rule.userInputPrompts) === null || _rule$userInputPrompt === void 0 ? void 0 : _rule$userInputPrompt.length) > 0;
89
+ };
90
+ const getFailedObjects = response => Object.keys(response).filter(object => response[object] !== 'SUCCESS');
91
+ const getSuccessfulObjects = response => Object.keys(response).filter(object => response[object] === 'SUCCESS');
92
+ const handleInvocationFailure = (ruleId, successfulObjects, failedObjects) => {
93
+ if (onRuleInvocationFailure) {
94
+ onRuleInvocationFailure(ruleId, successfulObjects, failedObjects);
95
+ }
96
+ };
97
+ const invokeRule = async (ruleId, objects, userInputs) => {
98
+ const rule = getRule(ruleId);
99
+ if (rule) {
100
+ setInvokingRuleId(ruleId);
101
+ try {
102
+ if (onRuleInvocationLifecycleStarted) {
103
+ onRuleInvocationLifecycleStarted(ruleId, objects, userInputs);
104
+ }
105
+ const response = await invokeManuallyTriggeredRule(env, site, ruleId, objects, userInputs);
106
+ const failedObjects = getFailedObjects(response);
107
+ setInvokingRuleId(null);
108
+ if (failedObjects.length === 0) {
109
+ if (onRuleInvocationSuccess) {
110
+ onRuleInvocationSuccess(ruleId, objects);
111
+ }
112
+ } else {
113
+ const successfulObjects = getSuccessfulObjects(response);
114
+ handleInvocationFailure(ruleId, successfulObjects, failedObjects);
115
+ }
116
+ } catch (e) {
117
+ handleInvocationFailure(ruleId, [], objects);
118
+ setInvokingRuleId(null);
119
+ }
120
+ } else {
121
+ handleInvocationFailure(ruleId, [], objects);
122
+ }
123
+ clearSelectedRule();
124
+ if (onRuleInvocationLifecycleDone) {
125
+ onRuleInvocationLifecycleDone(ruleId, objects);
126
+ }
127
+ };
128
+ const invokeRuleOrShowDialog = (ruleId, objects) => {
129
+ const rule = getRule(ruleId);
130
+ if (!rule) {
131
+ return handleInvocationFailure(ruleId, [], objects);
132
+ }
133
+ if (ruleHasInputs(rule)) {
134
+ setSelectedRule({
135
+ rule,
136
+ objects
137
+ });
138
+ } else {
139
+ invokeRule(ruleId, objects);
140
+ }
141
+ };
142
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children({
143
+ triggerFetch,
144
+ initialised,
145
+ error,
146
+ rules,
147
+ invokingRuleId,
148
+ invokeRuleOrShowDialog
149
+ }), /*#__PURE__*/React.createElement(ModalTransition, null, selectedRule && /*#__PURE__*/React.createElement(UserInputForm, {
150
+ onInputsModalOpened: onInputsModalOpened,
151
+ onInputsModalClosed: onInputsModalClosed,
152
+ clearSelectedRule: clearSelectedRule,
153
+ selectedRule: selectedRule,
154
+ invokeRule: invokeRule
155
+ })));
156
+ };
@@ -0,0 +1,23 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import { di } from 'react-magnetic-di';
4
+ import Checkbox from '@atlaskit/checkbox';
5
+ import { CheckboxField } from '@atlaskit/form';
6
+ const BooleanInputPrompt = ({
7
+ userInputPrompt
8
+ }) => {
9
+ const {
10
+ variableName,
11
+ displayName,
12
+ defaultValue
13
+ } = userInputPrompt;
14
+ return /*#__PURE__*/React.createElement(CheckboxField, {
15
+ name: variableName,
16
+ defaultIsChecked: defaultValue || false
17
+ }, ({
18
+ fieldProps
19
+ }) => /*#__PURE__*/React.createElement(Checkbox, _extends({}, fieldProps, {
20
+ label: displayName
21
+ })));
22
+ };
23
+ export default BooleanInputPrompt;
@@ -0,0 +1,126 @@
1
+ import React from 'react';
2
+ import { di } from 'react-magnetic-di';
3
+ import Button from '@atlaskit/button/new';
4
+ import Form, { ErrorMessage, FormSection } from '@atlaskit/form';
5
+ import Modal, { ModalBody, ModalFooter, ModalHeader, ModalTitle } from '@atlaskit/modal-dialog';
6
+ import messages from '../common/messages';
7
+ import { UserInputType } from '../common/types';
8
+ import BooleanInputPrompt from './boolean-prompt/main';
9
+ import NumberInputPrompt from './number-prompt/main';
10
+ import ParagraphInputPrompt from './paragraph-prompt/main';
11
+ import SelectInputPrompt from './select-prompt/main';
12
+ import TextInputPrompt from './text-prompt/main';
13
+ const UserInputForm = props => {
14
+ const {
15
+ selectedRule,
16
+ clearSelectedRule,
17
+ invokeRule,
18
+ onInputsModalOpened,
19
+ onInputsModalClosed
20
+ } = props;
21
+ const {
22
+ rule,
23
+ objects
24
+ } = selectedRule;
25
+ const {
26
+ userInputPrompts
27
+ } = rule;
28
+ const getTypeOfInput = (key, prompts) => {
29
+ var _prompts$find;
30
+ return (_prompts$find = prompts.find(({
31
+ variableName
32
+ }) => variableName === key)) === null || _prompts$find === void 0 ? void 0 : _prompts$find.inputType;
33
+ };
34
+ const generateInputValue = (inputType, data) => {
35
+ switch (inputType) {
36
+ case UserInputType.DROPDOWN:
37
+ return {
38
+ inputType,
39
+ value: data ? data.value : ''
40
+ };
41
+ case UserInputType.NUMBER:
42
+ return {
43
+ inputType,
44
+ value: Number(data)
45
+ };
46
+ default:
47
+ return {
48
+ inputType,
49
+ value: data
50
+ };
51
+ }
52
+ };
53
+ const handleSubmit = data => {
54
+ const output = Object.entries(data).reduce((acc, [key, value]) => {
55
+ const inputType = getTypeOfInput(key, userInputPrompts);
56
+ if (!inputType) {
57
+ return acc;
58
+ }
59
+ acc[key] = generateInputValue(inputType, value);
60
+ return acc;
61
+ }, {});
62
+ return invokeRule(rule.id, objects, output);
63
+ };
64
+ const handleOpen = () => {
65
+ if (onInputsModalOpened) {
66
+ onInputsModalOpened();
67
+ }
68
+ };
69
+ const handleClose = () => {
70
+ clearSelectedRule();
71
+ if (onInputsModalClosed) {
72
+ onInputsModalClosed();
73
+ }
74
+ };
75
+ const generateUserInputForm = inputPrompt => {
76
+ switch (inputPrompt.inputType) {
77
+ case UserInputType.TEXT:
78
+ return /*#__PURE__*/React.createElement(TextInputPrompt, {
79
+ key: inputPrompt.variableName,
80
+ userInputPrompt: inputPrompt
81
+ });
82
+ case UserInputType.NUMBER:
83
+ return /*#__PURE__*/React.createElement(NumberInputPrompt, {
84
+ key: inputPrompt.variableName,
85
+ userInputPrompt: inputPrompt
86
+ });
87
+ case UserInputType.DROPDOWN:
88
+ return /*#__PURE__*/React.createElement(SelectInputPrompt, {
89
+ key: inputPrompt.variableName,
90
+ userInputPrompt: inputPrompt
91
+ });
92
+ case UserInputType.BOOLEAN:
93
+ return /*#__PURE__*/React.createElement(BooleanInputPrompt, {
94
+ key: inputPrompt.variableName,
95
+ userInputPrompt: inputPrompt
96
+ });
97
+ case UserInputType.PARAGRAPH:
98
+ return /*#__PURE__*/React.createElement(ParagraphInputPrompt, {
99
+ key: inputPrompt.variableName,
100
+ userInputPrompt: inputPrompt
101
+ });
102
+ default:
103
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement(ErrorMessage, null, messages.errorInputTypeIsNotSupported.defaultMessage), /*#__PURE__*/React.createElement("br", null));
104
+ }
105
+ };
106
+ return /*#__PURE__*/React.createElement(Modal, {
107
+ "data-testid": "automation-platform.ui.manual-rules-container.manual-triggers-form.modal",
108
+ onClose: handleClose,
109
+ onOpenComplete: handleOpen
110
+ }, /*#__PURE__*/React.createElement(Form, {
111
+ onSubmit: handleSubmit
112
+ }, ({
113
+ formProps,
114
+ submitting
115
+ }) => /*#__PURE__*/React.createElement("form", formProps, /*#__PURE__*/React.createElement(ModalHeader, null, /*#__PURE__*/React.createElement(ModalTitle, null, rule.name)), /*#__PURE__*/React.createElement(ModalBody, null, messages.inputRequiredForAction.defaultMessage, /*#__PURE__*/React.createElement(FormSection, null, userInputPrompts.map(generateUserInputForm))), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(Button, {
116
+ appearance: "subtle",
117
+ onClick: handleClose,
118
+ isDisabled: submitting
119
+ }, messages.cancelButtonTitle.defaultMessage), /*#__PURE__*/React.createElement(Button, {
120
+ appearance: "primary",
121
+ type: "submit",
122
+ isLoading: submitting,
123
+ autoFocus: true
124
+ }, messages.continueButtonTitle.defaultMessage)))));
125
+ };
126
+ export default UserInputForm;
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import { di } from 'react-magnetic-di';
3
+ import { ErrorMessage, Field } from '@atlaskit/form';
4
+ import Textfield from '@atlaskit/textfield';
5
+ import messages from '../../common/messages';
6
+ export let Errors = /*#__PURE__*/function (Errors) {
7
+ Errors["EMPTY"] = "EMPTY";
8
+ Errors["INVALID_NUMBER"] = "INVALID_NUMBER";
9
+ return Errors;
10
+ }({});
11
+ export const numberValidate = (isRequired, value) => {
12
+ if (isRequired && !value) {
13
+ return Errors.EMPTY;
14
+ }
15
+ if (value && Number.isNaN(Number(value))) {
16
+ return Errors.INVALID_NUMBER;
17
+ }
18
+ return undefined;
19
+ };
20
+ const NumberInputPrompt = ({
21
+ userInputPrompt
22
+ }) => {
23
+ const {
24
+ variableName,
25
+ required,
26
+ displayName,
27
+ defaultValue
28
+ } = userInputPrompt;
29
+ const generateErrorMessage = error => {
30
+ switch (error) {
31
+ case Errors.EMPTY:
32
+ return /*#__PURE__*/React.createElement(ErrorMessage, null, messages.errorInputMustNotBeEmpty.defaultMessage);
33
+ case Errors.INVALID_NUMBER:
34
+ return /*#__PURE__*/React.createElement(ErrorMessage, null, messages.errorValueIsNotValidNumber.defaultMessage);
35
+ default:
36
+ return null;
37
+ }
38
+ };
39
+ return /*#__PURE__*/React.createElement(Field, {
40
+ key: variableName,
41
+ "aria-required": required,
42
+ name: variableName,
43
+ label: displayName,
44
+ defaultValue: defaultValue,
45
+ isRequired: required,
46
+ validate: value => numberValidate(required, value)
47
+ }, ({
48
+ fieldProps,
49
+ error
50
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Textfield, fieldProps), generateErrorMessage(error)));
51
+ };
52
+ export default NumberInputPrompt;
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { di } from 'react-magnetic-di';
3
+ import { ErrorMessage, Field } from '@atlaskit/form';
4
+ import TextArea from '@atlaskit/textarea';
5
+ import messages from '../../common/messages';
6
+ var Errors = /*#__PURE__*/function (Errors) {
7
+ Errors["EMPTY"] = "EMPTY";
8
+ Errors["CHARACTER_LIMIT"] = "CHARACTER_LIMIT";
9
+ return Errors;
10
+ }(Errors || {});
11
+ const MAX_PARAGRAPH_CHARACTER_LIMIT = 5000;
12
+ const ParagraphInputPrompt = ({
13
+ userInputPrompt
14
+ }) => {
15
+ const {
16
+ variableName,
17
+ required,
18
+ displayName,
19
+ defaultValue
20
+ } = userInputPrompt;
21
+ const validate = value => {
22
+ if (required && !value) {
23
+ return Errors.EMPTY;
24
+ }
25
+ if (value && (value === null || value === void 0 ? void 0 : value.trim().length) === 0) {
26
+ return Errors.EMPTY;
27
+ }
28
+ if (value && value.length > MAX_PARAGRAPH_CHARACTER_LIMIT) {
29
+ return Errors.CHARACTER_LIMIT;
30
+ }
31
+ return undefined;
32
+ };
33
+ return /*#__PURE__*/React.createElement(Field, {
34
+ name: variableName,
35
+ label: displayName,
36
+ defaultValue: defaultValue,
37
+ isRequired: required,
38
+ validate: validate
39
+ }, ({
40
+ fieldProps,
41
+ error
42
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TextArea, fieldProps), error === Errors.EMPTY && /*#__PURE__*/React.createElement(ErrorMessage, null, messages.errorInputMustNotBeEmpty.defaultMessage), error === Errors.CHARACTER_LIMIT && /*#__PURE__*/React.createElement(ErrorMessage, null, messages.errorInputCharacterLimitReached.defaultMessage)));
43
+ };
44
+ export default ParagraphInputPrompt;
@@ -0,0 +1,45 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import { di } from 'react-magnetic-di';
4
+ import { ErrorMessage, Field } from '@atlaskit/form';
5
+ import Select from '@atlaskit/select';
6
+ import messages from '../../common/messages';
7
+ var Errors = /*#__PURE__*/function (Errors) {
8
+ Errors["EMPTY"] = "EMPTY";
9
+ return Errors;
10
+ }(Errors || {});
11
+ const SelectInputPrompt = ({
12
+ userInputPrompt
13
+ }) => {
14
+ const {
15
+ variableName,
16
+ required,
17
+ displayName,
18
+ defaultValue
19
+ } = userInputPrompt;
20
+ const validate = value => {
21
+ if (required && !value) {
22
+ return Errors.EMPTY;
23
+ }
24
+ return undefined;
25
+ };
26
+ const selectOptions = defaultValue.map(value => ({
27
+ label: value,
28
+ value
29
+ }));
30
+ return /*#__PURE__*/React.createElement(Field, {
31
+ name: variableName,
32
+ label: displayName,
33
+ isRequired: required,
34
+ validate: validate
35
+ }, ({
36
+ fieldProps,
37
+ error
38
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Select, _extends({
39
+ isClearable: true,
40
+ isSearchable: true,
41
+ options: selectOptions,
42
+ menuPosition: "fixed"
43
+ }, fieldProps)), error === Errors.EMPTY && /*#__PURE__*/React.createElement(ErrorMessage, null, messages.errorInputMustNotBeEmpty.defaultMessage)));
44
+ };
45
+ export default SelectInputPrompt;
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { di } from 'react-magnetic-di';
3
+ import { ErrorMessage, Field } from '@atlaskit/form';
4
+ import Textfield from '@atlaskit/textfield';
5
+ import messages from '../../common/messages';
6
+ var Errors = /*#__PURE__*/function (Errors) {
7
+ Errors["EMPTY"] = "EMPTY";
8
+ return Errors;
9
+ }(Errors || {});
10
+ const TextInputPrompt = ({
11
+ userInputPrompt
12
+ }) => {
13
+ const {
14
+ variableName,
15
+ required,
16
+ displayName,
17
+ defaultValue
18
+ } = userInputPrompt;
19
+ const validate = value => required && !value ? Errors.EMPTY : undefined;
20
+ return /*#__PURE__*/React.createElement(Field, {
21
+ name: variableName,
22
+ label: displayName,
23
+ defaultValue: defaultValue,
24
+ isRequired: required,
25
+ validate: validate
26
+ }, ({
27
+ fieldProps,
28
+ error
29
+ }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Textfield, fieldProps), error === Errors.EMPTY && /*#__PURE__*/React.createElement(ErrorMessage, null, messages.errorInputMustNotBeEmpty.defaultMessage)));
30
+ };
31
+ export default TextInputPrompt;
@@ -0,0 +1,53 @@
1
+ import { getInvocationUrl, getSearchUrl, performPostRequest } from './../common/utils';
2
+
3
+ /**
4
+ * Manual trigger rules API fetch. Fetches a list of manually triggered rules according to the context provided
5
+ * in env, and query.
6
+ * @param env - The environment to look up rules against
7
+ * @param query - the workspace/container/objects to fetch rules against
8
+ */
9
+ export const searchManuallyTriggeredRules = async (env, site, query) => {
10
+ const url = await getSearchUrl(env, site);
11
+ // TODO this will in the new API be a GET request instead, with the above getSearchUrl method
12
+ // constructing a URL with the appropriate query parameters. For now, instead, we pass the
13
+ // destructured query through as a POST body.
14
+ const response = await performPostRequest(url, {
15
+ body: JSON.stringify(query)
16
+ });
17
+ return response.reduce((acc, {
18
+ id,
19
+ name,
20
+ ruleScope,
21
+ userInputs
22
+ }) => ({
23
+ // eslint-disable-next-line
24
+ ...acc,
25
+ [id]: {
26
+ id,
27
+ name,
28
+ ruleScope,
29
+ userInputPrompts: userInputs
30
+ }
31
+ }), {});
32
+ };
33
+
34
+ /**
35
+ * Invoke a manually triggered rule via the API.
36
+ * @param env - the environment to use when invoking the rule
37
+ * @param cloudId - the site the rule belongs to
38
+ * @param ruleId - the identifier of the rule you want to invoke
39
+ * @param objects - the list of objects you wish to create an automation event for.
40
+ * @param userInputs - the optional user inputs if this manual trigger requires them
41
+ */
42
+ export const invokeManuallyTriggeredRule = async (env, site, ruleId, objects, userInputs) => {
43
+ const url = await getInvocationUrl(env, site, ruleId);
44
+ const bodyRaw = {
45
+ objects
46
+ };
47
+ if (userInputs) {
48
+ bodyRaw.userInputs = userInputs;
49
+ }
50
+ return performPostRequest(url, {
51
+ body: JSON.stringify(bodyRaw)
52
+ });
53
+ };
@@ -0,0 +1,3 @@
1
+ import { AutomationModal } from './main';
2
+ export { AutomationModal } from './main';
3
+ export default AutomationModal;
@@ -0,0 +1,62 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { useAnalyticsEvents } from '@atlaskit/analytics-next';
3
+ import Modal, { ModalBody, ModalFooter } from '@atlaskit/modal-dialog';
4
+ import { AutomationMenuContextContainer } from './menu-context';
5
+ import { AutomationModalBody } from './sub-components/body';
6
+ import { AutomationModalFooter } from './sub-components/footer';
7
+ import { AutomationModalHeader } from './sub-components/header';
8
+ export const AutomationModal = ({
9
+ environment,
10
+ baseAutomationUrl,
11
+ siteAri,
12
+ objectAri,
13
+ canManageAutomation,
14
+ onClose,
15
+ onCloseComplete,
16
+ modalTitle,
17
+ modalDescription,
18
+ emptyStateDescription,
19
+ emptyStateAdminDescription,
20
+ analyticsSource
21
+ }) => {
22
+ const {
23
+ createAnalyticsEvent
24
+ } = useAnalyticsEvents();
25
+ const [selectedRule, setSelectedRule] = useState();
26
+ useEffect(() => {
27
+ createAnalyticsEvent({
28
+ type: 'sendScreenEvent',
29
+ data: {
30
+ name: analyticsSource
31
+ }
32
+ }).fire();
33
+ }, [createAnalyticsEvent, analyticsSource]);
34
+ return /*#__PURE__*/React.createElement(AutomationMenuContextContainer, {
35
+ environment: environment,
36
+ baseAutomationUrl: baseAutomationUrl,
37
+ objectAri: objectAri,
38
+ siteAri: siteAri,
39
+ canManageAutomation: canManageAutomation,
40
+ analyticsSource: analyticsSource,
41
+ emptyStateDescription: emptyStateDescription,
42
+ emptyStateAdminDescription: emptyStateAdminDescription,
43
+ onRuleInvocationLifecycleDone: onClose
44
+ }, () => {
45
+ return /*#__PURE__*/React.createElement(Modal, {
46
+ onClose: onClose,
47
+ onCloseComplete: onCloseComplete,
48
+ width: 600,
49
+ height: 480,
50
+ testId: "smart-card-automation-action-modal"
51
+ }, /*#__PURE__*/React.createElement(AutomationModalHeader, {
52
+ modalTitle: modalTitle,
53
+ modalDescription: modalDescription
54
+ }), /*#__PURE__*/React.createElement(ModalBody, null, /*#__PURE__*/React.createElement(AutomationModalBody, {
55
+ selectedRule: selectedRule,
56
+ setSelectedRule: setSelectedRule
57
+ })), /*#__PURE__*/React.createElement(ModalFooter, null, /*#__PURE__*/React.createElement(AutomationModalFooter, {
58
+ selectedRule: selectedRule,
59
+ onClose: onClose
60
+ })));
61
+ });
62
+ };
@@ -0,0 +1 @@
1
+ export { AutomationMenuContextContainer, useAutomationMenu } from './main';
@@ -0,0 +1,61 @@
1
+ // This is another layer on top of the AFE ManualRulesContainer.
2
+ // It is necessary that this container wraps the entire "automation" component and not nested. Else the user input form will not render correctly.
3
+ // This container provides an automation context to all children components through the useAutomationMenu hook.
4
+ import React, { createContext, useContext } from 'react';
5
+ import { ManualRulesContainer } from '../../manual-triggers-container';
6
+ const AutomationMenuContext = /*#__PURE__*/createContext(undefined);
7
+ const AutomationMenuProvider = ({
8
+ children,
9
+ value
10
+ }) => {
11
+ return /*#__PURE__*/React.createElement(AutomationMenuContext.Provider, {
12
+ value: value
13
+ }, children);
14
+ };
15
+
16
+ // Hook that can be used anywhere under the AutomationMenuContextContainer to access the AutomationMenuContext values
17
+ export const useAutomationMenu = () => {
18
+ const context = useContext(AutomationMenuContext);
19
+ if (context === undefined) {
20
+ throw new Error('useAutomationMenu must be used within a AutomationMenuProvider');
21
+ }
22
+ return context;
23
+ };
24
+ export const AutomationMenuContextContainer = ({
25
+ environment,
26
+ baseAutomationUrl,
27
+ analyticsSource,
28
+ objectAri,
29
+ siteAri,
30
+ canManageAutomation,
31
+ children,
32
+ emptyStateDescription,
33
+ emptyStateAdminDescription,
34
+ onRuleInvocationSuccess,
35
+ onRuleInvocationFailure,
36
+ onRuleInvocationLifecycleDone
37
+ }) => {
38
+ return /*#__PURE__*/React.createElement(ManualRulesContainer, {
39
+ env: environment,
40
+ site: siteAri,
41
+ query: {
42
+ objects: [objectAri]
43
+ },
44
+ onRuleInvocationLifecycleDone: onRuleInvocationLifecycleDone,
45
+ onRuleInvocationSuccess: onRuleInvocationSuccess,
46
+ onRuleInvocationFailure: onRuleInvocationFailure
47
+ }, props => {
48
+ const contextValue = {
49
+ ...props,
50
+ analyticsSource,
51
+ objectAri,
52
+ baseAutomationUrl,
53
+ canManageAutomation,
54
+ emptyStateDescription,
55
+ emptyStateAdminDescription
56
+ };
57
+ return /*#__PURE__*/React.createElement(AutomationMenuProvider, {
58
+ value: contextValue
59
+ }, children());
60
+ });
61
+ };
@@ -0,0 +1,2 @@
1
+ import { AutomationModalBody } from './main';
2
+ export { AutomationModalBody };