@pega/cosmos-react-build 8.8.0 → 9.0.0-build.10.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 (316) hide show
  1. package/lib/components/AuthoringPanel/AuthoringPanel.d.ts +7 -0
  2. package/lib/components/AuthoringPanel/AuthoringPanel.d.ts.map +1 -0
  3. package/lib/components/AuthoringPanel/AuthoringPanel.js +49 -0
  4. package/lib/components/AuthoringPanel/AuthoringPanel.js.map +1 -0
  5. package/lib/components/AuthoringPanel/AuthoringPanel.styles.d.ts +18 -0
  6. package/lib/components/AuthoringPanel/AuthoringPanel.styles.d.ts.map +1 -0
  7. package/lib/components/AuthoringPanel/AuthoringPanel.styles.js +133 -0
  8. package/lib/components/AuthoringPanel/AuthoringPanel.styles.js.map +1 -0
  9. package/lib/components/AuthoringPanel/AuthoringPanel.test-ids.d.ts +2 -0
  10. package/lib/components/AuthoringPanel/AuthoringPanel.test-ids.d.ts.map +1 -0
  11. package/lib/components/AuthoringPanel/AuthoringPanel.test-ids.js +16 -0
  12. package/lib/components/AuthoringPanel/AuthoringPanel.test-ids.js.map +1 -0
  13. package/lib/components/AuthoringPanel/AuthoringPanel.types.d.ts +81 -0
  14. package/lib/components/AuthoringPanel/AuthoringPanel.types.d.ts.map +1 -0
  15. package/lib/components/AuthoringPanel/AuthoringPanel.types.js +2 -0
  16. package/lib/components/AuthoringPanel/AuthoringPanel.types.js.map +1 -0
  17. package/lib/components/AuthoringPanel/AuthoringPanelHeader.d.ts +6 -0
  18. package/lib/components/AuthoringPanel/AuthoringPanelHeader.d.ts.map +1 -0
  19. package/lib/components/AuthoringPanel/AuthoringPanelHeader.js +41 -0
  20. package/lib/components/AuthoringPanel/AuthoringPanelHeader.js.map +1 -0
  21. package/lib/components/AuthoringPanel/index.d.ts +4 -0
  22. package/lib/components/AuthoringPanel/index.d.ts.map +1 -0
  23. package/lib/components/AuthoringPanel/index.js +3 -0
  24. package/lib/components/AuthoringPanel/index.js.map +1 -0
  25. package/lib/components/Automation/Automation.d.ts +7 -0
  26. package/lib/components/Automation/Automation.d.ts.map +1 -0
  27. package/lib/components/Automation/Automation.js +113 -0
  28. package/lib/components/Automation/Automation.js.map +1 -0
  29. package/lib/components/Automation/Automation.styles.d.ts +12 -0
  30. package/lib/components/Automation/Automation.styles.d.ts.map +1 -0
  31. package/lib/components/Automation/Automation.styles.js +68 -0
  32. package/lib/components/Automation/Automation.styles.js.map +1 -0
  33. package/lib/components/Automation/Automation.test-ids.d.ts +3 -0
  34. package/lib/components/Automation/Automation.test-ids.d.ts.map +1 -0
  35. package/lib/components/Automation/Automation.test-ids.js +21 -0
  36. package/lib/components/Automation/Automation.test-ids.js.map +1 -0
  37. package/lib/components/Automation/Automation.types.d.ts +95 -0
  38. package/lib/components/Automation/Automation.types.d.ts.map +1 -0
  39. package/lib/components/Automation/Automation.types.js +18 -0
  40. package/lib/components/Automation/Automation.types.js.map +1 -0
  41. package/lib/components/Automation/Automation.utils.d.ts +109 -0
  42. package/lib/components/Automation/Automation.utils.d.ts.map +1 -0
  43. package/lib/components/Automation/Automation.utils.js +208 -0
  44. package/lib/components/Automation/Automation.utils.js.map +1 -0
  45. package/lib/components/Automation/AutomationContext.d.ts +4 -0
  46. package/lib/components/Automation/AutomationContext.d.ts.map +1 -0
  47. package/lib/components/Automation/AutomationContext.js +9 -0
  48. package/lib/components/Automation/AutomationContext.js.map +1 -0
  49. package/lib/components/Automation/RuleStep.d.ts +7 -0
  50. package/lib/components/Automation/RuleStep.d.ts.map +1 -0
  51. package/lib/components/Automation/RuleStep.js +151 -0
  52. package/lib/components/Automation/RuleStep.js.map +1 -0
  53. package/lib/components/Automation/index.d.ts +5 -0
  54. package/lib/components/Automation/index.d.ts.map +1 -0
  55. package/lib/components/Automation/index.js +4 -0
  56. package/lib/components/Automation/index.js.map +1 -0
  57. package/lib/components/DynamicInput/BooleanControl.d.ts +2 -2
  58. package/lib/components/DynamicInput/BooleanControl.d.ts.map +1 -1
  59. package/lib/components/DynamicInput/BooleanControl.js.map +1 -1
  60. package/lib/components/DynamicInput/ConstantControl.d.ts +61 -0
  61. package/lib/components/DynamicInput/ConstantControl.d.ts.map +1 -0
  62. package/lib/components/DynamicInput/ConstantControl.js +58 -0
  63. package/lib/components/DynamicInput/ConstantControl.js.map +1 -0
  64. package/lib/components/DynamicInput/DynamicInput.d.ts +2 -2
  65. package/lib/components/DynamicInput/DynamicInput.d.ts.map +1 -1
  66. package/lib/components/DynamicInput/DynamicInput.js +13 -63
  67. package/lib/components/DynamicInput/DynamicInput.js.map +1 -1
  68. package/lib/components/DynamicInput/DynamicInput.styles.d.ts +0 -1
  69. package/lib/components/DynamicInput/DynamicInput.styles.d.ts.map +1 -1
  70. package/lib/components/DynamicInput/DynamicInput.styles.js +48 -41
  71. package/lib/components/DynamicInput/DynamicInput.styles.js.map +1 -1
  72. package/lib/components/DynamicInput/DynamicInput.types.d.ts +26 -81
  73. package/lib/components/DynamicInput/DynamicInput.types.d.ts.map +1 -1
  74. package/lib/components/DynamicInput/DynamicInput.types.js.map +1 -1
  75. package/lib/components/DynamicInput/index.d.ts +2 -0
  76. package/lib/components/DynamicInput/index.d.ts.map +1 -1
  77. package/lib/components/DynamicInput/index.js +1 -0
  78. package/lib/components/DynamicInput/index.js.map +1 -1
  79. package/lib/components/DynamicInput/utils.d.ts.map +1 -1
  80. package/lib/components/DynamicInput/utils.js +3 -2
  81. package/lib/components/DynamicInput/utils.js.map +1 -1
  82. package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.d.ts +34 -0
  83. package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.d.ts.map +1 -0
  84. package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.js +55 -0
  85. package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.js.map +1 -0
  86. package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.test-ids.d.ts +2 -0
  87. package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.test-ids.d.ts.map +1 -0
  88. package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.test-ids.js +10 -0
  89. package/lib/components/EmptyRuleTemplate/EmptyRuleTemplate.test-ids.js.map +1 -0
  90. package/lib/components/EmptyRuleTemplate/index.d.ts +3 -0
  91. package/lib/components/EmptyRuleTemplate/index.d.ts.map +1 -0
  92. package/lib/components/EmptyRuleTemplate/index.js +2 -0
  93. package/lib/components/EmptyRuleTemplate/index.js.map +1 -0
  94. package/lib/components/Expression/Expression.d.ts.map +1 -1
  95. package/lib/components/Expression/Expression.js +8 -7
  96. package/lib/components/Expression/Expression.js.map +1 -1
  97. package/lib/components/Expression/Expression.styles.d.ts +5 -1
  98. package/lib/components/Expression/Expression.styles.d.ts.map +1 -1
  99. package/lib/components/Expression/Expression.styles.js +15 -3
  100. package/lib/components/Expression/Expression.styles.js.map +1 -1
  101. package/lib/components/Expression/Expression.test-ids.d.ts +1 -0
  102. package/lib/components/Expression/Expression.test-ids.d.ts.map +1 -1
  103. package/lib/components/Expression/Expression.test-ids.js +6 -0
  104. package/lib/components/Expression/Expression.test-ids.js.map +1 -1
  105. package/lib/components/Expression/ExpressionBuilderModal.d.ts +6 -0
  106. package/lib/components/Expression/ExpressionBuilderModal.d.ts.map +1 -0
  107. package/lib/components/Expression/ExpressionBuilderModal.js +53 -0
  108. package/lib/components/Expression/ExpressionBuilderModal.js.map +1 -0
  109. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.d.ts.map +1 -1
  110. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.js +1 -0
  111. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.js.map +1 -1
  112. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.d.ts.map +1 -1
  113. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.js +3 -2
  114. package/lib/components/ExpressionBuilder/CodeEditor/CodeEditor.styles.js.map +1 -1
  115. package/lib/components/ExpressionBuilder/ExpressionBuilder.d.ts +4 -2
  116. package/lib/components/ExpressionBuilder/ExpressionBuilder.d.ts.map +1 -1
  117. package/lib/components/ExpressionBuilder/ExpressionBuilder.js +66 -25
  118. package/lib/components/ExpressionBuilder/ExpressionBuilder.js.map +1 -1
  119. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.d.ts +18 -2
  120. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.d.ts.map +1 -1
  121. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.js +80 -13
  122. package/lib/components/ExpressionBuilder/ExpressionBuilder.styles.js.map +1 -1
  123. package/lib/components/ExpressionBuilder/ExpressionBuilder.test-ids.d.ts +5 -0
  124. package/lib/components/ExpressionBuilder/ExpressionBuilder.test-ids.d.ts.map +1 -0
  125. package/lib/components/ExpressionBuilder/ExpressionBuilder.test-ids.js +22 -0
  126. package/lib/components/ExpressionBuilder/ExpressionBuilder.test-ids.js.map +1 -0
  127. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.d.ts +33 -5
  128. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.d.ts.map +1 -1
  129. package/lib/components/ExpressionBuilder/ExpressionBuilder.types.js.map +1 -1
  130. package/lib/components/ExpressionBuilder/ExpressionDetails.d.ts +4 -2
  131. package/lib/components/ExpressionBuilder/ExpressionDetails.d.ts.map +1 -1
  132. package/lib/components/ExpressionBuilder/ExpressionDetails.js +6 -4
  133. package/lib/components/ExpressionBuilder/ExpressionDetails.js.map +1 -1
  134. package/lib/components/ExpressionBuilder/ExpressionItem.d.ts +4 -2
  135. package/lib/components/ExpressionBuilder/ExpressionItem.d.ts.map +1 -1
  136. package/lib/components/ExpressionBuilder/ExpressionItem.js +8 -6
  137. package/lib/components/ExpressionBuilder/ExpressionItem.js.map +1 -1
  138. package/lib/components/ExpressionBuilder/ExpressionList.d.ts +4 -2
  139. package/lib/components/ExpressionBuilder/ExpressionList.d.ts.map +1 -1
  140. package/lib/components/ExpressionBuilder/ExpressionList.js +17 -5
  141. package/lib/components/ExpressionBuilder/ExpressionList.js.map +1 -1
  142. package/lib/components/ExpressionBuilder/index.d.ts +1 -0
  143. package/lib/components/ExpressionBuilder/index.d.ts.map +1 -1
  144. package/lib/components/ExpressionBuilder/index.js +1 -0
  145. package/lib/components/ExpressionBuilder/index.js.map +1 -1
  146. package/lib/components/FieldReference/FieldReference.types.d.ts +16 -2
  147. package/lib/components/FieldReference/FieldReference.types.d.ts.map +1 -1
  148. package/lib/components/FieldReference/FieldReference.types.js.map +1 -1
  149. package/lib/components/FieldReference/FieldReferenceInput.d.ts.map +1 -1
  150. package/lib/components/FieldReference/FieldReferenceInput.js +5 -5
  151. package/lib/components/FieldReference/FieldReferenceInput.js.map +1 -1
  152. package/lib/components/FieldReference/helpers.d.ts +7 -1
  153. package/lib/components/FieldReference/helpers.d.ts.map +1 -1
  154. package/lib/components/FieldReference/helpers.js +31 -1
  155. package/lib/components/FieldReference/helpers.js.map +1 -1
  156. package/lib/components/FieldReference/index.d.ts +2 -2
  157. package/lib/components/FieldReference/index.d.ts.map +1 -1
  158. package/lib/components/FieldReference/index.js +1 -1
  159. package/lib/components/FieldReference/index.js.map +1 -1
  160. package/lib/components/IconTile/iconUtils.d.ts +2 -1
  161. package/lib/components/IconTile/iconUtils.d.ts.map +1 -1
  162. package/lib/components/IconTile/iconUtils.js +94 -1
  163. package/lib/components/IconTile/iconUtils.js.map +1 -1
  164. package/lib/components/IconTile/index.d.ts +1 -0
  165. package/lib/components/IconTile/index.d.ts.map +1 -1
  166. package/lib/components/IconTile/index.js +1 -0
  167. package/lib/components/IconTile/index.js.map +1 -1
  168. package/lib/components/LifeCycle/Category.d.ts +0 -1
  169. package/lib/components/LifeCycle/Category.d.ts.map +1 -1
  170. package/lib/components/LifeCycle/Category.js +16 -56
  171. package/lib/components/LifeCycle/Category.js.map +1 -1
  172. package/lib/components/LifeCycle/LifeCycle.js +2 -2
  173. package/lib/components/LifeCycle/LifeCycle.js.map +1 -1
  174. package/lib/components/LifeCycle/LifeCycle.types.d.ts +37 -2
  175. package/lib/components/LifeCycle/LifeCycle.types.d.ts.map +1 -1
  176. package/lib/components/LifeCycle/LifeCycle.types.js +9 -9
  177. package/lib/components/LifeCycle/LifeCycle.types.js.map +1 -1
  178. package/lib/components/LifeCycle/LifeCycleDragDropList.d.ts.map +1 -1
  179. package/lib/components/LifeCycle/LifeCycleDragDropList.js +25 -3
  180. package/lib/components/LifeCycle/LifeCycleDragDropList.js.map +1 -1
  181. package/lib/components/LifeCycle/Stage.d.ts.map +1 -1
  182. package/lib/components/LifeCycle/Stage.js +20 -11
  183. package/lib/components/LifeCycle/Stage.js.map +1 -1
  184. package/lib/components/LifeCycle/Step.d.ts.map +1 -1
  185. package/lib/components/LifeCycle/Step.js +1 -0
  186. package/lib/components/LifeCycle/Step.js.map +1 -1
  187. package/lib/components/LifeCycle/Task.d.ts +7 -1
  188. package/lib/components/LifeCycle/Task.d.ts.map +1 -1
  189. package/lib/components/LifeCycle/Task.js +19 -10
  190. package/lib/components/LifeCycle/Task.js.map +1 -1
  191. package/lib/components/LifeCycle/TaskGroup.d.ts +23 -0
  192. package/lib/components/LifeCycle/TaskGroup.d.ts.map +1 -0
  193. package/lib/components/LifeCycle/TaskGroup.js +92 -0
  194. package/lib/components/LifeCycle/TaskGroup.js.map +1 -0
  195. package/lib/components/LifeCycle/index.d.ts +1 -1
  196. package/lib/components/LifeCycle/index.d.ts.map +1 -1
  197. package/lib/components/LifeCycle/index.js +1 -1
  198. package/lib/components/LifeCycle/index.js.map +1 -1
  199. package/lib/components/LifeCycle/utils.d.ts +6 -1
  200. package/lib/components/LifeCycle/utils.d.ts.map +1 -1
  201. package/lib/components/LifeCycle/utils.js +129 -0
  202. package/lib/components/LifeCycle/utils.js.map +1 -1
  203. package/lib/components/ObjectSelect/InputTree/InputTree.d.ts +21 -0
  204. package/lib/components/ObjectSelect/InputTree/InputTree.d.ts.map +1 -0
  205. package/lib/components/ObjectSelect/InputTree/InputTree.js +20 -0
  206. package/lib/components/ObjectSelect/InputTree/InputTree.js.map +1 -0
  207. package/lib/components/ObjectSelect/InputTree/InputTree.styles.d.ts +10 -0
  208. package/lib/components/ObjectSelect/InputTree/InputTree.styles.d.ts.map +1 -0
  209. package/lib/components/ObjectSelect/InputTree/InputTree.styles.js +82 -0
  210. package/lib/components/ObjectSelect/InputTree/InputTree.styles.js.map +1 -0
  211. package/lib/components/ObjectSelect/InputTree/index.d.ts +3 -0
  212. package/lib/components/ObjectSelect/InputTree/index.d.ts.map +1 -0
  213. package/lib/components/ObjectSelect/InputTree/index.js +2 -0
  214. package/lib/components/ObjectSelect/InputTree/index.js.map +1 -0
  215. package/lib/components/ObjectSelect/ObjectPicker.d.ts +11 -5
  216. package/lib/components/ObjectSelect/ObjectPicker.d.ts.map +1 -1
  217. package/lib/components/ObjectSelect/ObjectPicker.js +24 -15
  218. package/lib/components/ObjectSelect/ObjectPicker.js.map +1 -1
  219. package/lib/components/ObjectSelect/ObjectSelect.d.ts +2 -29
  220. package/lib/components/ObjectSelect/ObjectSelect.d.ts.map +1 -1
  221. package/lib/components/ObjectSelect/ObjectSelect.js +80 -23
  222. package/lib/components/ObjectSelect/ObjectSelect.js.map +1 -1
  223. package/lib/components/ObjectSelect/ObjectSelect.types.d.ts +53 -0
  224. package/lib/components/ObjectSelect/ObjectSelect.types.d.ts.map +1 -0
  225. package/lib/components/ObjectSelect/ObjectSelect.types.js +2 -0
  226. package/lib/components/ObjectSelect/ObjectSelect.types.js.map +1 -0
  227. package/lib/components/ObjectSelect/index.d.ts +1 -1
  228. package/lib/components/ObjectSelect/index.d.ts.map +1 -1
  229. package/lib/components/ObjectSelect/index.js.map +1 -1
  230. package/lib/components/ObjectSelect/useCreateModal.d.ts +6 -2
  231. package/lib/components/ObjectSelect/useCreateModal.d.ts.map +1 -1
  232. package/lib/components/ObjectSelect/useCreateModal.js +7 -4
  233. package/lib/components/ObjectSelect/useCreateModal.js.map +1 -1
  234. package/lib/components/PageBanner/PageBanner.d.ts +6 -4
  235. package/lib/components/PageBanner/PageBanner.d.ts.map +1 -1
  236. package/lib/components/PageBanner/PageBanner.js +10 -9
  237. package/lib/components/PageBanner/PageBanner.js.map +1 -1
  238. package/lib/components/PageBanner/PageBanner.test-ids.d.ts +2 -0
  239. package/lib/components/PageBanner/PageBanner.test-ids.d.ts.map +1 -0
  240. package/lib/components/PageBanner/PageBanner.test-ids.js +9 -0
  241. package/lib/components/PageBanner/PageBanner.test-ids.js.map +1 -0
  242. package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageHeader.d.ts +12 -0
  243. package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageHeader.d.ts.map +1 -0
  244. package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageHeader.js +158 -0
  245. package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageHeader.js.map +1 -0
  246. package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageTemplate.d.ts +5 -0
  247. package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageTemplate.d.ts.map +1 -0
  248. package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageTemplate.js +17 -0
  249. package/lib/components/PageTemplates/ConstructPageTemplate/ConstructPageTemplate.js.map +1 -0
  250. package/lib/components/PageTemplates/GalleryPage.d.ts +14 -4
  251. package/lib/components/PageTemplates/GalleryPage.d.ts.map +1 -1
  252. package/lib/components/PageTemplates/GalleryPage.js +57 -12
  253. package/lib/components/PageTemplates/GalleryPage.js.map +1 -1
  254. package/lib/components/PageTemplates/HeaderActionButtons.d.ts +5 -0
  255. package/lib/components/PageTemplates/HeaderActionButtons.d.ts.map +1 -0
  256. package/lib/components/PageTemplates/HeaderActionButtons.js +14 -0
  257. package/lib/components/PageTemplates/HeaderActionButtons.js.map +1 -0
  258. package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageHeader.d.ts +8 -0
  259. package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageHeader.d.ts.map +1 -0
  260. package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageHeader.js +23 -0
  261. package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageHeader.js.map +1 -0
  262. package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageTemplate.d.ts +5 -0
  263. package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageTemplate.d.ts.map +1 -0
  264. package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageTemplate.js +10 -0
  265. package/lib/components/PageTemplates/InventoryPageTemplate/InventoryPageTemplate.js.map +1 -0
  266. package/lib/components/PageTemplates/OverviewPageTemplate/OverviewPageTemplate.d.ts +5 -0
  267. package/lib/components/PageTemplates/OverviewPageTemplate/OverviewPageTemplate.d.ts.map +1 -0
  268. package/lib/components/PageTemplates/OverviewPageTemplate/OverviewPageTemplate.js +10 -0
  269. package/lib/components/PageTemplates/OverviewPageTemplate/OverviewPageTemplate.js.map +1 -0
  270. package/lib/components/PageTemplates/OverviewPageTemplate/PageBanner.d.ts +21 -0
  271. package/lib/components/PageTemplates/OverviewPageTemplate/PageBanner.d.ts.map +1 -0
  272. package/lib/components/PageTemplates/OverviewPageTemplate/PageBanner.js +22 -0
  273. package/lib/components/PageTemplates/OverviewPageTemplate/PageBanner.js.map +1 -0
  274. package/lib/components/PageTemplates/PageTemplate.styles.d.ts +16 -0
  275. package/lib/components/PageTemplates/PageTemplate.styles.d.ts.map +1 -0
  276. package/lib/components/PageTemplates/PageTemplate.styles.js +167 -0
  277. package/lib/components/PageTemplates/PageTemplate.styles.js.map +1 -0
  278. package/lib/components/PageTemplates/PageTemplate.types.d.ts +114 -0
  279. package/lib/components/PageTemplates/PageTemplate.types.d.ts.map +1 -0
  280. package/lib/components/PageTemplates/PageTemplate.types.js +2 -0
  281. package/lib/components/PageTemplates/PageTemplate.types.js.map +1 -0
  282. package/lib/components/PageTemplates/PageTemplates.d.ts +16 -12
  283. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  284. package/lib/components/PageTemplates/PageTemplates.js +12 -12
  285. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  286. package/lib/components/PageTemplates/PageTemplates.test-ids.d.ts +4 -0
  287. package/lib/components/PageTemplates/PageTemplates.test-ids.d.ts.map +1 -0
  288. package/lib/components/PageTemplates/PageTemplates.test-ids.js +25 -0
  289. package/lib/components/PageTemplates/PageTemplates.test-ids.js.map +1 -0
  290. package/lib/components/PageTemplates/ShowcasePage.d.ts +2 -2
  291. package/lib/components/PageTemplates/ShowcasePage.d.ts.map +1 -1
  292. package/lib/components/PageTemplates/ShowcasePage.js +5 -6
  293. package/lib/components/PageTemplates/ShowcasePage.js.map +1 -1
  294. package/lib/components/PageTemplates/index.d.ts +6 -1
  295. package/lib/components/PageTemplates/index.d.ts.map +1 -1
  296. package/lib/components/PageTemplates/index.js +5 -1
  297. package/lib/components/PageTemplates/index.js.map +1 -1
  298. package/lib/components/RulePicker/RulePicker.d.ts +4 -0
  299. package/lib/components/RulePicker/RulePicker.d.ts.map +1 -0
  300. package/lib/components/RulePicker/RulePicker.js +81 -0
  301. package/lib/components/RulePicker/RulePicker.js.map +1 -0
  302. package/lib/index.d.ts +5 -1
  303. package/lib/index.d.ts.map +1 -1
  304. package/lib/index.js +5 -1
  305. package/lib/index.js.map +1 -1
  306. package/lib/utils/typeIconMapping.js +1 -1
  307. package/lib/utils/typeIconMapping.js.map +1 -1
  308. package/package.json +4 -4
  309. package/lib/utils/index.d.ts +0 -2
  310. package/lib/utils/index.d.ts.map +0 -1
  311. package/lib/utils/index.js +0 -2
  312. package/lib/utils/index.js.map +0 -1
  313. package/lib/utils/utils.d.ts +0 -14
  314. package/lib/utils/utils.d.ts.map +0 -1
  315. package/lib/utils/utils.js +0 -13
  316. package/lib/utils/utils.js.map +0 -1
@@ -1,26 +1,54 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef, useEffect, useRef, useState } from 'react';
3
- import { useAfterInitialEffect, hasProp } from '@pega/cosmos-react-core';
4
- import ObjectPicker from './ObjectPicker';
5
- import ObjectSummary from './ObjectSummary';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, useEffect, useMemo, useState } from 'react';
3
+ import { hasProp, useElement, InfoDialog, FormDialog } from '@pega/cosmos-react-core';
4
+ import RulePicker from '../RulePicker/RulePicker';
6
5
  import useCreateModal from './useCreateModal';
7
- const ObjectSelect = forwardRef(function ObjectSelect({ items, value, configuration, disabled, onChange, onPreview, onLinkClick, loading, createConfiguration, ...restProps }, ref) {
8
- const [mode, setMode] = useState(value ? 'summary' : 'picker');
9
- const objectPickerRef = useRef(null);
10
- const objectSummaryRef = useRef(null);
6
+ import InputTree from './InputTree';
7
+ const ObjectSelect = forwardRef(({ testId, menu, configuration, createConfiguration, readOnly, disabled, ...restProps }, ref) => {
8
+ const [mode, setMode] = useState('picker');
9
+ const [configTarget, setConfigTarget] = useElement();
11
10
  const isCreateModalConfig = createConfiguration && hasProp(createConfiguration, 'renderer');
12
- useAfterInitialEffect(() => {
13
- const element = mode === 'summary'
14
- ? objectSummaryRef.current?.querySelector('a')
15
- : objectPickerRef.current?.querySelector('input');
16
- element?.focus();
17
- }, [mode]);
11
+ const configDialog = useMemo(() => {
12
+ if (!configuration || !configTarget || disabled) {
13
+ return null;
14
+ }
15
+ const { preventDialogDismiss = false } = configuration;
16
+ const commonProps = {
17
+ heading: configuration.heading,
18
+ target: configTarget,
19
+ progress: configuration.loading,
20
+ ref: configuration.ref,
21
+ children: configuration.children
22
+ };
23
+ if (readOnly) {
24
+ return (_jsx(InfoDialog, { ...commonProps, onDismiss: () => {
25
+ setConfigTarget(null);
26
+ configuration.onClose?.();
27
+ } }));
28
+ }
29
+ return (_jsx(FormDialog, { ...commonProps, onDismiss: () => {
30
+ if (preventDialogDismiss) {
31
+ return;
32
+ }
33
+ setConfigTarget(null);
34
+ configuration.onClose?.();
35
+ }, onCancel: () => {
36
+ setConfigTarget(null);
37
+ configuration.onClose?.();
38
+ }, onSubmit: () => {
39
+ configuration.onSubmit?.({
40
+ close: () => {
41
+ setConfigTarget(null);
42
+ }
43
+ });
44
+ } }));
45
+ }, [configTarget, configuration, disabled, readOnly]);
18
46
  const { renderModal } = useCreateModal(isCreateModalConfig
19
47
  ? {
20
48
  ...createConfiguration,
21
49
  onAfterClose: () => {
22
50
  createConfiguration.onAfterClose?.();
23
- setMode('summary');
51
+ setMode('picker');
24
52
  }
25
53
  }
26
54
  : undefined);
@@ -29,13 +57,42 @@ const ObjectSelect = forwardRef(function ObjectSelect({ items, value, configurat
29
57
  renderModal(createConfiguration);
30
58
  }
31
59
  }, [mode, createConfiguration]);
32
- return (_jsx("div", { ref: ref, children: value ? (_jsx(ObjectSummary, { ...restProps, value: value, disabled: disabled, onDelete: e => {
33
- setMode('picker');
34
- onChange?.('', e);
35
- }, ref: objectSummaryRef, configuration: configuration, onPreview: e => onPreview?.(value.id, e), onLinkClick: onLinkClick })) : (_jsx(ObjectPicker, { ...restProps, loading: loading, disabled: disabled, ref: objectPickerRef, items: items, onSelect: (id, e) => {
36
- setMode('summary');
37
- onChange?.(id, e);
38
- }, createProps: isCreateModalConfig ? { onClick: () => setMode('create') } : createConfiguration })) }));
60
+ useEffect(() => {
61
+ if (configTarget) {
62
+ configuration?.onOpen?.();
63
+ }
64
+ }, [configTarget]);
65
+ return (_jsxs("div", { children: [_jsx(RulePicker, { ...restProps, testId: testId, ref: ref, readOnly: readOnly, disabled: disabled, onMenuOpen: (...args) => {
66
+ setConfigTarget(null);
67
+ configuration?.onClose?.();
68
+ restProps.onMenuOpen?.(...args);
69
+ }, menu: {
70
+ ...menu,
71
+ onCreateNew: (() => {
72
+ if (isCreateModalConfig) {
73
+ return () => setMode('create');
74
+ }
75
+ if (createConfiguration) {
76
+ return () => {
77
+ if (createConfiguration.onClick) {
78
+ createConfiguration.onClick();
79
+ }
80
+ };
81
+ }
82
+ })()
83
+ }, actions: configuration && !configuration.inlineParameter
84
+ ? [
85
+ {
86
+ id: 'parameters-config',
87
+ text: configuration?.label ? configuration.label : 'parameters',
88
+ icon: 'gear',
89
+ onClick: (id, e) => {
90
+ e.preventDefault();
91
+ setConfigTarget(e.currentTarget);
92
+ }
93
+ }
94
+ ]
95
+ : undefined }), configDialog, configuration?.inlineParameter && _jsx(InputTree, { testId: testId, ...configuration })] }));
39
96
  });
40
97
  export default ObjectSelect;
41
98
  //# sourceMappingURL=ObjectSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectSelect.js","sourceRoot":"","sources":["../../../src/components/ObjectSelect/ObjectSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { PropsWithoutRef, Ref } from 'react';\n\nimport { useAfterInitialEffect, hasProp } from '@pega/cosmos-react-core';\nimport type {\n BaseProps,\n FormControlProps,\n MenuItemProps,\n NoChildrenProp,\n MenuProps,\n ForwardProps\n} from '@pega/cosmos-react-core';\n\nimport ObjectPicker from './ObjectPicker';\nimport type { ObjectPickerProps } from './ObjectPicker';\nimport ObjectSummary from './ObjectSummary';\nimport type { ObjectSummaryProps } from './ObjectSummary';\nimport useCreateModal from './useCreateModal';\nimport type { CreateModalActionProps, UseCreateModalConfig } from './useCreateModal';\n\nexport interface ObjectSelectProps<P extends object = object>\n extends BaseProps,\n NoChildrenProp,\n Omit<FormControlProps, 'value'> {\n /** An array of MenuItemProps to be shown in the ObjectPicker menu. */\n items: MenuProps['items'];\n /** Boolean to trigger loading state for combobox menu */\n loading?: ObjectPickerProps['loading'];\n /** The value for the ObjectSummary */\n value?: ObjectSummaryProps['value'];\n /** Props for configuration popover */\n configuration?: ObjectSummaryProps['configuration'];\n /** Callback fired when a new item is selected and on clearing the selected item. */\n onChange: MenuItemProps['onClick'];\n /** Callback fired when the preview in the ObjectSummary link is clicked. */\n onPreview?: (id: MenuItemProps['id'], e: { href: string }) => void;\n /** Callback fired on click of the link inside summary item */\n onLinkClick?: ObjectSummaryProps['onLinkClick'];\n /** New object creation form options or a link */\n createConfiguration?: (UseCreateModalConfig<P> & CreateModalActionProps<P>) | { href: string };\n /** Ref placed on the element. */\n ref?: Ref<HTMLDivElement>;\n}\n\nconst ObjectSelect = forwardRef(function ObjectSelect<P extends object = object>(\n {\n items,\n value,\n configuration,\n disabled,\n onChange,\n onPreview,\n onLinkClick,\n loading,\n createConfiguration,\n ...restProps\n }: PropsWithoutRef<ObjectSelectProps<P>> & ForwardProps,\n ref: ObjectSelectProps['ref']\n) {\n const [mode, setMode] = useState<'picker' | 'summary' | 'create'>(value ? 'summary' : 'picker');\n const objectPickerRef = useRef<HTMLDivElement>(null);\n const objectSummaryRef = useRef<HTMLDivElement>(null);\n\n const isCreateModalConfig = createConfiguration && hasProp(createConfiguration, 'renderer');\n\n useAfterInitialEffect(() => {\n const element =\n mode === 'summary'\n ? objectSummaryRef.current?.querySelector('a')\n : objectPickerRef.current?.querySelector('input');\n element?.focus();\n }, [mode]);\n\n const { renderModal } = useCreateModal(\n isCreateModalConfig\n ? {\n ...createConfiguration,\n onAfterClose: () => {\n createConfiguration.onAfterClose?.();\n setMode('summary');\n }\n }\n : undefined\n );\n\n useEffect(() => {\n if (mode === 'create' && isCreateModalConfig) {\n renderModal(createConfiguration);\n }\n }, [mode, createConfiguration]);\n\n return (\n <div ref={ref}>\n {value ? (\n <ObjectSummary\n {...restProps}\n value={value}\n disabled={disabled}\n onDelete={e => {\n setMode('picker');\n onChange?.('', e);\n }}\n ref={objectSummaryRef}\n configuration={configuration}\n onPreview={e => onPreview?.(value.id, e)}\n onLinkClick={onLinkClick}\n />\n ) : (\n <ObjectPicker\n {...restProps}\n loading={loading}\n disabled={disabled}\n ref={objectPickerRef}\n items={items}\n onSelect={(id, e) => {\n setMode('summary');\n onChange?.(id, e);\n }}\n createProps={\n isCreateModalConfig ? { onClick: () => setMode('create') } : createConfiguration\n }\n />\n )}\n </div>\n );\n}) as <P extends object = object>(props: ObjectSelectProps<P> & ForwardProps) => JSX.Element | null;\n\nexport default ObjectSelect;\n"]}
1
+ {"version":3,"file":"ObjectSelect.js","sourceRoot":"","sources":["../../../src/components/ObjectSelect/ObjectSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useEffect, useMemo, useState } from 'react';\nimport type { MouseEvent, PropsWithoutRef } from 'react';\n\nimport { hasProp, useElement, InfoDialog, FormDialog } from '@pega/cosmos-react-core';\nimport type { ForwardProps } from '@pega/cosmos-react-core';\nimport type { BaseDialogProps } from '@pega/cosmos-react-core/lib/components/Dialog/Dialog.types';\n\nimport RulePicker from '../RulePicker/RulePicker';\n\nimport useCreateModal from './useCreateModal';\nimport InputTree from './InputTree';\nimport type { ObjectConfigProps, ObjectSelectProps } from './ObjectSelect.types';\n\nconst ObjectSelect = forwardRef(\n <P extends object = object>(\n {\n testId,\n menu,\n configuration,\n createConfiguration,\n readOnly,\n disabled,\n ...restProps\n }: PropsWithoutRef<ObjectSelectProps<P>>,\n ref: ObjectSelectProps['ref']\n ) => {\n const [mode, setMode] = useState<'picker' | 'create'>('picker');\n const [configTarget, setConfigTarget] = useElement<\n HTMLAnchorElement | HTMLButtonElement | HTMLInputElement\n >();\n\n const isCreateModalConfig = createConfiguration && hasProp(createConfiguration, 'renderer');\n\n const configDialog = useMemo(() => {\n if (!configuration || !configTarget || disabled) {\n return null;\n }\n const { preventDialogDismiss = false } = configuration;\n\n const commonProps: Pick<BaseDialogProps, 'target' | 'progress' | 'ref' | 'children'> &\n Pick<ObjectConfigProps, 'heading'> = {\n heading: configuration.heading!,\n target: configTarget,\n progress: configuration.loading,\n ref: (configuration as ObjectConfigProps).ref,\n children: configuration.children\n };\n if (readOnly) {\n return (\n <InfoDialog\n {...commonProps}\n onDismiss={() => {\n setConfigTarget(null);\n configuration.onClose?.();\n }}\n />\n );\n }\n\n return (\n <FormDialog\n {...commonProps}\n onDismiss={() => {\n if (preventDialogDismiss) {\n return;\n }\n setConfigTarget(null);\n configuration.onClose?.();\n }}\n onCancel={() => {\n setConfigTarget(null);\n configuration.onClose?.();\n }}\n onSubmit={() => {\n configuration.onSubmit?.({\n close: () => {\n setConfigTarget(null);\n }\n });\n }}\n />\n );\n }, [configTarget, configuration, disabled, readOnly]);\n\n const { renderModal } = useCreateModal(\n isCreateModalConfig\n ? {\n ...createConfiguration,\n onAfterClose: () => {\n createConfiguration.onAfterClose?.();\n setMode('picker');\n }\n }\n : undefined\n );\n\n useEffect(() => {\n if (mode === 'create' && isCreateModalConfig) {\n renderModal(createConfiguration);\n }\n }, [mode, createConfiguration]);\n\n useEffect(() => {\n if (configTarget) {\n configuration?.onOpen?.();\n }\n }, [configTarget]);\n\n return (\n <div>\n <RulePicker\n {...restProps}\n testId={testId}\n ref={ref}\n readOnly={readOnly}\n disabled={disabled}\n onMenuOpen={(...args) => {\n setConfigTarget(null);\n configuration?.onClose?.();\n restProps.onMenuOpen?.(...args);\n }}\n menu={{\n ...menu,\n onCreateNew: (() => {\n if (isCreateModalConfig) {\n return () => setMode('create');\n }\n if (createConfiguration) {\n return () => {\n if (createConfiguration.onClick) {\n createConfiguration.onClick();\n }\n };\n }\n })()\n }}\n actions={\n configuration && !configuration.inlineParameter\n ? [\n {\n id: 'parameters-config',\n text: configuration?.label ? configuration.label : 'parameters',\n icon: 'gear',\n onClick: (\n id: string,\n e: MouseEvent<HTMLAnchorElement | HTMLButtonElement | HTMLInputElement>\n ) => {\n e.preventDefault();\n setConfigTarget(e.currentTarget);\n }\n }\n ]\n : undefined\n }\n />\n {configDialog}\n {configuration?.inlineParameter && <InputTree testId={testId} {...configuration} />}\n </div>\n );\n }\n) as <P extends object = object>(props: ObjectSelectProps<P> & ForwardProps) => JSX.Element | null;\n\nexport default ObjectSelect;\n"]}
@@ -0,0 +1,53 @@
1
+ import type { BaseProps, FormDialogProps, NoChildrenProp, TestIdProp } from '@pega/cosmos-react-core';
2
+ import type { BaseDialogProps } from '@pega/cosmos-react-core/lib/components/Dialog/Dialog.types';
3
+ import type FieldReferenceInputProps from '../FieldReference/FieldReference.types';
4
+ import type { InputTreeProps } from './InputTree';
5
+ import type { UseCreateModalConfig, CreateModalActionProps } from './useCreateModal';
6
+ export interface ObjectConfigProps extends Pick<BaseDialogProps, 'children' | 'ref'> {
7
+ inlineParameter?: false;
8
+ heading: NonNullable<FormDialogProps['heading']>;
9
+ label: string;
10
+ onOpen?: () => void;
11
+ onClose?: () => void;
12
+ onSubmit: (close: {
13
+ close: () => void;
14
+ }) => void;
15
+ /**
16
+ * Boolean used to prevent the action's dialog to close by useOuterEvent.
17
+ * @default false
18
+ */
19
+ preventDialogDismiss?: boolean;
20
+ loading?: BaseDialogProps['progress'];
21
+ error?: never;
22
+ contextualLabel?: never;
23
+ onExpand?: never;
24
+ onCollapse?: never;
25
+ }
26
+ export interface InputTreeValueProps extends InputTreeProps {
27
+ /** Prop to render inline parameters */
28
+ inlineParameter: true;
29
+ onSubmit?: never;
30
+ label?: never;
31
+ onOpen?: never;
32
+ onClose?: never;
33
+ loading?: never;
34
+ preventDialogDismiss?: never;
35
+ }
36
+ export interface ObjectSelectProps<P extends object = object> extends Omit<FieldReferenceInputProps, 'onFilterChange'>, BaseProps, NoChildrenProp, TestIdProp {
37
+ /** Props for configuration popover */
38
+ configuration?: ObjectConfigProps | InputTreeValueProps;
39
+ /** New object creation form options or a link */
40
+ createConfiguration?: ((UseCreateModalConfig<P> & CreateModalActionProps<P>) & {
41
+ href?: never;
42
+ onClick?: never;
43
+ }) | {
44
+ href: string;
45
+ onClick?: never;
46
+ } | {
47
+ onClick: () => void;
48
+ href?: never;
49
+ };
50
+ /** Callback for on change of filter value */
51
+ onFilterChange?: FieldReferenceInputProps['onFilterChange'];
52
+ }
53
+ //# sourceMappingURL=ObjectSelect.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectSelect.types.d.ts","sourceRoot":"","sources":["../../../src/components/ObjectSelect/ObjectSelect.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,UAAU,EACX,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4DAA4D,CAAC;AAElG,OAAO,KAAK,wBAAwB,MAAM,wCAAwC,CAAC;AAEnF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAErF,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,KAAK,CAAC;IAClF,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACjD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,uCAAuC;IACvC,eAAe,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,oBAAoB,CAAC,EAAE,KAAK,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAC1D,SAAQ,IAAI,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,EACtD,SAAS,EACT,cAAc,EACd,UAAU;IACZ,sCAAsC;IACtC,aAAa,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IACxD,iDAAiD;IACjD,mBAAmB,CAAC,EAChB,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC,GAAG;QACvD,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,OAAO,CAAC,EAAE,KAAK,CAAC;KACjB,CAAC,GACF;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAE,GACjC;QAAE,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC;IAC1C,6CAA6C;IAC7C,cAAc,CAAC,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;CAC7D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ObjectSelect.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectSelect.types.js","sourceRoot":"","sources":["../../../src/components/ObjectSelect/ObjectSelect.types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n BaseProps,\n FormDialogProps,\n NoChildrenProp,\n TestIdProp\n} from '@pega/cosmos-react-core';\nimport type { BaseDialogProps } from '@pega/cosmos-react-core/lib/components/Dialog/Dialog.types';\n\nimport type FieldReferenceInputProps from '../FieldReference/FieldReference.types';\n\nimport type { InputTreeProps } from './InputTree';\nimport type { UseCreateModalConfig, CreateModalActionProps } from './useCreateModal';\n\nexport interface ObjectConfigProps extends Pick<BaseDialogProps, 'children' | 'ref'> {\n inlineParameter?: false;\n heading: NonNullable<FormDialogProps['heading']>;\n label: string;\n onOpen?: () => void;\n onClose?: () => void;\n onSubmit: (close: { close: () => void }) => void;\n /**\n * Boolean used to prevent the action's dialog to close by useOuterEvent.\n * @default false\n */\n preventDialogDismiss?: boolean;\n loading?: BaseDialogProps['progress'];\n error?: never;\n contextualLabel?: never;\n onExpand?: never;\n onCollapse?: never;\n}\n\nexport interface InputTreeValueProps extends InputTreeProps {\n /** Prop to render inline parameters */\n inlineParameter: true;\n onSubmit?: never;\n label?: never;\n onOpen?: never;\n onClose?: never;\n loading?: never;\n preventDialogDismiss?: never;\n}\n\nexport interface ObjectSelectProps<P extends object = object>\n extends Omit<FieldReferenceInputProps, 'onFilterChange'>,\n BaseProps,\n NoChildrenProp,\n TestIdProp {\n /** Props for configuration popover */\n configuration?: ObjectConfigProps | InputTreeValueProps;\n /** New object creation form options or a link */\n createConfiguration?:\n | ((UseCreateModalConfig<P> & CreateModalActionProps<P>) & {\n href?: never;\n onClick?: never;\n })\n | { href: string; onClick?: never }\n | { onClick: () => void; href?: never };\n /** Callback for on change of filter value */\n onFilterChange?: FieldReferenceInputProps['onFilterChange'];\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  export { default } from './ObjectSelect';
2
- export type { ObjectSelectProps } from './ObjectSelect';
2
+ export type { ObjectSelectProps } from './ObjectSelect.types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ObjectSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ObjectSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ObjectSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { default } from './ObjectSelect';\nexport type { ObjectSelectProps } from './ObjectSelect';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ObjectSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC","sourcesContent":["export { default } from './ObjectSelect';\nexport type { ObjectSelectProps } from './ObjectSelect.types';\n"]}
@@ -1,6 +1,6 @@
1
1
  import type { ComponentType } from 'react';
2
- import type { ModalProps } from '@pega/cosmos-react-core';
3
- export interface UseCreateModalConfig<P extends object = object> {
2
+ import type { ModalProps, TestIdProp } from '@pega/cosmos-react-core';
3
+ export interface UseCreateModalConfig<P extends object = object> extends TestIdProp, Pick<ModalProps, 'autoWidth' | 'center'> {
4
4
  /**
5
5
  * Heading for the Modal.
6
6
  * @default 'Create new'
@@ -20,6 +20,10 @@ export interface UseCreateModalConfig<P extends object = object> {
20
20
  onBeforeOpen?: ModalProps['onBeforeOpen'];
21
21
  /** Called after the modal closes. */
22
22
  onAfterClose?: ModalProps['onAfterClose'];
23
+ /** formactions Submit testId of modal */
24
+ formActionSubmitTestId?: TestIdProp['testId'];
25
+ /** formactions Cancel testId of modal */
26
+ formActionCancelTestId?: TestIdProp['testId'];
23
27
  }
24
28
  export interface CreateModalActionProps<P extends object = object> {
25
29
  loading?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateModal.d.ts","sourceRoot":"","sources":["../../../src/components/ObjectSelect/useCreateModal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAA4B,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEpF,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC7D;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3B,yCAAyC;IACzC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACrD,yCAAyC;IACzC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACtD,qCAAqC;IACrC,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1C,qCAAqC;IACrC,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,CAAC,CAAC;CAClB;AAED,QAAA,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,QAAQ,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS;8CAgBjC,sBAAsB,CAAC,CAAC,CAAC;CA0ErF,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"useCreateModal.d.ts","sourceRoot":"","sources":["../../../src/components/ObjectSelect/useCreateModal.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,KAAK,EAA4B,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEhG,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAC7D,SAAQ,UAAU,EAChB,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3B,yCAAyC;IACzC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACrD,yCAAyC;IACzC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACtD,qCAAqC;IACrC,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1C,qCAAqC;IACrC,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1C,yCAAyC;IACzC,sBAAsB,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,yCAAyC;IACzC,sBAAsB,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,CAAC,CAAC;CAClB;AAED,QAAA,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,QAAQ,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS;8CAqBjC,sBAAsB,CAAC,CAAC,CAAC;CA+ErF,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -7,7 +7,7 @@ const useCreateModal = (config) => {
7
7
  const modalMethods = useRef();
8
8
  const { create: createModal } = useModalManager();
9
9
  if (config) {
10
- const { renderer: Renderer, onSubmit, onDismiss, onBeforeOpen, onAfterClose, heading = t('create_new') } = config;
10
+ const { renderer: Renderer, autoWidth, center, testId, formActionCancelTestId, formActionSubmitTestId, onSubmit, onDismiss, onBeforeOpen, onAfterClose, heading = t('create_new') } = config;
11
11
  const renderModal = ({ rendererProps, loading = false }) => {
12
12
  const modalContent = _jsx(Renderer, { ...rendererProps });
13
13
  let formActions = null;
@@ -16,9 +16,9 @@ const useCreateModal = (config) => {
16
16
  modalMethods.current?.dismiss();
17
17
  modalMethods.current = undefined;
18
18
  };
19
- formActions = (_jsxs(_Fragment, { children: [_jsx(Button, { disabled: loading, onClick: () => {
19
+ formActions = (_jsxs(_Fragment, { children: [_jsx(Button, { "data-testid": formActionCancelTestId, disabled: loading, onClick: () => {
20
20
  onDismiss({ close });
21
- }, children: t('cancel') }), _jsx(Button, { disabled: loading, type: 'submit', variant: 'primary', onClick: () => {
21
+ }, children: t('cancel') }), _jsx(Button, { "data-testid": formActionSubmitTestId, disabled: loading, type: 'submit', variant: 'primary', onClick: () => {
22
22
  submittingRef.current = true;
23
23
  onSubmit({ close });
24
24
  }, children: t('submit') })] }));
@@ -37,12 +37,15 @@ const useCreateModal = (config) => {
37
37
  else {
38
38
  modalMethods.current = createModal(Modal, {
39
39
  ...modalProps,
40
+ autoWidth,
41
+ center,
40
42
  heading,
41
43
  onBeforeOpen,
42
44
  onAfterClose: () => {
43
45
  onAfterClose?.();
44
46
  submittingRef.current = false;
45
- }
47
+ },
48
+ 'data-testid': testId
46
49
  }, {
47
50
  dismissible: false
48
51
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateModal.js","sourceRoot":"","sources":["../../../src/components/ObjectSelect/useCreateModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AA0BlF,MAAM,cAAc,GAAG,CAA4B,MAA2C,EAAE,EAAE;IAChG,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IAEpB,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,EAAgB,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;IAElD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,EACJ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,EAC1B,GAAG,MAAM,CAAC;QACX,MAAM,WAAW,GAAG,CAAC,EAAE,aAAa,EAAE,OAAO,GAAG,KAAK,EAA6B,EAAE,EAAE;YACpF,MAAM,YAAY,GAAc,KAAC,QAAQ,OAAK,aAAa,GAAI,CAAC;YAEhE,IAAI,WAAW,GAAc,IAAI,CAAC;YAElC,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,GAAG,EAAE;oBACjB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBAChC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;gBACnC,CAAC,CAAC;gBAEF,WAAW,GAAG,CACZ,8BACE,KAAC,MAAM,IACL,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,GAAG,EAAE;gCACZ,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;4BACvB,CAAC,YAEA,CAAC,CAAC,QAAQ,CAAC,GACL,EACT,KAAC,MAAM,IACL,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;gCAC7B,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;4BACtB,CAAC,YAEA,CAAC,CAAC,QAAQ,CAAC,GACL,IACR,CACJ,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAsC;gBACpD,QAAQ,EAAE,OAAO;oBACf,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;oBACrE,CAAC,CAAC,SAAS;gBACb,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,WAAW;gBACpB,gBAAgB,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aAC7E,CAAC;YAEF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,OAAO,GAAG,WAAW,CAChC,KAAK,EACL;oBACE,GAAG,UAAU;oBACb,OAAO;oBACP,YAAY;oBACZ,YAAY,EAAE,GAAG,EAAE;wBACjB,YAAY,EAAE,EAAE,CAAC;wBACjB,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAChC,CAAC;iBACF,EACD;oBACE,WAAW,EAAE,KAAK;iBACnB,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import { useRef } from 'react';\nimport type { ReactNode, ComponentType } from 'react';\n\nimport { Button, Modal, useModalManager, useI18n } from '@pega/cosmos-react-core';\nimport type { ModalMethods, OmitStrict, ModalProps } from '@pega/cosmos-react-core';\n\nexport interface UseCreateModalConfig<P extends object = object> {\n /**\n * Heading for the Modal.\n * @default 'Create new'\n */\n heading?: string;\n /** A component to render the add new form. */\n renderer: ComponentType<P>;\n /** Called when a user submits a form. */\n onSubmit: ({ close }: { close: () => void }) => void;\n /** Called when a user cancels a form. */\n onDismiss: ({ close }: { close: () => void }) => void;\n /** Called before the modal opens. */\n onBeforeOpen?: ModalProps['onBeforeOpen'];\n /** Called after the modal closes. */\n onAfterClose?: ModalProps['onAfterClose'];\n}\n\nexport interface CreateModalActionProps<P extends object = object> {\n loading?: boolean;\n rendererProps: P;\n}\n\nconst useCreateModal = <P extends object = object>(config: UseCreateModalConfig<P> | undefined) => {\n const t = useI18n();\n\n const submittingRef = useRef(false);\n const modalMethods = useRef<ModalMethods>();\n const { create: createModal } = useModalManager();\n\n if (config) {\n const {\n renderer: Renderer,\n onSubmit,\n onDismiss,\n onBeforeOpen,\n onAfterClose,\n heading = t('create_new')\n } = config;\n const renderModal = ({ rendererProps, loading = false }: CreateModalActionProps<P>) => {\n const modalContent: ReactNode = <Renderer {...rendererProps} />;\n\n let formActions: ReactNode = null;\n\n if (!loading || submittingRef.current) {\n const close = () => {\n modalMethods.current?.dismiss();\n modalMethods.current = undefined;\n };\n\n formActions = (\n <>\n <Button\n disabled={loading}\n onClick={() => {\n onDismiss({ close });\n }}\n >\n {t('cancel')}\n </Button>\n <Button\n disabled={loading}\n type='submit'\n variant='primary'\n onClick={() => {\n submittingRef.current = true;\n onSubmit({ close });\n }}\n >\n {t('submit')}\n </Button>\n </>\n );\n }\n\n const modalProps: OmitStrict<ModalProps, 'heading'> = {\n progress: loading\n ? { message: submittingRef.current ? t('submitting') : t('loading') }\n : undefined,\n children: modalContent,\n actions: formActions,\n onRequestDismiss: loading && submittingRef.current ? () => false : undefined\n };\n\n if (modalMethods.current) {\n modalMethods.current.update(modalProps);\n } else {\n modalMethods.current = createModal(\n Modal,\n {\n ...modalProps,\n heading,\n onBeforeOpen,\n onAfterClose: () => {\n onAfterClose?.();\n submittingRef.current = false;\n }\n },\n {\n dismissible: false\n }\n );\n }\n };\n\n return {\n renderModal\n };\n }\n\n return {\n renderModal: () => {}\n };\n};\n\nexport default useCreateModal;\n"]}
1
+ {"version":3,"file":"useCreateModal.js","sourceRoot":"","sources":["../../../src/components/ObjectSelect/useCreateModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAgClF,MAAM,cAAc,GAAG,CAA4B,MAA2C,EAAE,EAAE;IAChG,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IAEpB,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,MAAM,EAAgB,CAAC;IAC5C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;IAElD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,EACJ,QAAQ,EAAE,QAAQ,EAClB,SAAS,EACT,MAAM,EACN,MAAM,EACN,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,EAC1B,GAAG,MAAM,CAAC;QACX,MAAM,WAAW,GAAG,CAAC,EAAE,aAAa,EAAE,OAAO,GAAG,KAAK,EAA6B,EAAE,EAAE;YACpF,MAAM,YAAY,GAAc,KAAC,QAAQ,OAAK,aAAa,GAAI,CAAC;YAEhE,IAAI,WAAW,GAAc,IAAI,CAAC;YAElC,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,GAAG,EAAE;oBACjB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBAChC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;gBACnC,CAAC,CAAC;gBAEF,WAAW,GAAG,CACZ,8BACE,KAAC,MAAM,mBACQ,sBAAsB,EACnC,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,GAAG,EAAE;gCACZ,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;4BACvB,CAAC,YAEA,CAAC,CAAC,QAAQ,CAAC,GACL,EACT,KAAC,MAAM,mBACQ,sBAAsB,EACnC,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE;gCACZ,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;gCAC7B,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;4BACtB,CAAC,YAEA,CAAC,CAAC,QAAQ,CAAC,GACL,IACR,CACJ,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAsC;gBACpD,QAAQ,EAAE,OAAO;oBACf,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;oBACrE,CAAC,CAAC,SAAS;gBACb,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,WAAW;gBACpB,gBAAgB,EAAE,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aAC7E,CAAC;YAEF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,OAAO,GAAG,WAAW,CAChC,KAAK,EACL;oBACE,GAAG,UAAU;oBACb,SAAS;oBACT,MAAM;oBACN,OAAO;oBACP,YAAY;oBACZ,YAAY,EAAE,GAAG,EAAE;wBACjB,YAAY,EAAE,EAAE,CAAC;wBACjB,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;oBAChC,CAAC;oBACD,aAAa,EAAE,MAAM;iBACtB,EACD;oBACE,WAAW,EAAE,KAAK;iBACnB,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import { useRef } from 'react';\nimport type { ReactNode, ComponentType } from 'react';\n\nimport { Button, Modal, useModalManager, useI18n } from '@pega/cosmos-react-core';\nimport type { ModalMethods, OmitStrict, ModalProps, TestIdProp } from '@pega/cosmos-react-core';\n\nexport interface UseCreateModalConfig<P extends object = object>\n extends TestIdProp,\n Pick<ModalProps, 'autoWidth' | 'center'> {\n /**\n * Heading for the Modal.\n * @default 'Create new'\n */\n heading?: string;\n /** A component to render the add new form. */\n renderer: ComponentType<P>;\n /** Called when a user submits a form. */\n onSubmit: ({ close }: { close: () => void }) => void;\n /** Called when a user cancels a form. */\n onDismiss: ({ close }: { close: () => void }) => void;\n /** Called before the modal opens. */\n onBeforeOpen?: ModalProps['onBeforeOpen'];\n /** Called after the modal closes. */\n onAfterClose?: ModalProps['onAfterClose'];\n /** formactions Submit testId of modal */\n formActionSubmitTestId?: TestIdProp['testId'];\n /** formactions Cancel testId of modal */\n formActionCancelTestId?: TestIdProp['testId'];\n}\n\nexport interface CreateModalActionProps<P extends object = object> {\n loading?: boolean;\n rendererProps: P;\n}\n\nconst useCreateModal = <P extends object = object>(config: UseCreateModalConfig<P> | undefined) => {\n const t = useI18n();\n\n const submittingRef = useRef(false);\n const modalMethods = useRef<ModalMethods>();\n const { create: createModal } = useModalManager();\n\n if (config) {\n const {\n renderer: Renderer,\n autoWidth,\n center,\n testId,\n formActionCancelTestId,\n formActionSubmitTestId,\n onSubmit,\n onDismiss,\n onBeforeOpen,\n onAfterClose,\n heading = t('create_new')\n } = config;\n const renderModal = ({ rendererProps, loading = false }: CreateModalActionProps<P>) => {\n const modalContent: ReactNode = <Renderer {...rendererProps} />;\n\n let formActions: ReactNode = null;\n\n if (!loading || submittingRef.current) {\n const close = () => {\n modalMethods.current?.dismiss();\n modalMethods.current = undefined;\n };\n\n formActions = (\n <>\n <Button\n data-testid={formActionCancelTestId}\n disabled={loading}\n onClick={() => {\n onDismiss({ close });\n }}\n >\n {t('cancel')}\n </Button>\n <Button\n data-testid={formActionSubmitTestId}\n disabled={loading}\n type='submit'\n variant='primary'\n onClick={() => {\n submittingRef.current = true;\n onSubmit({ close });\n }}\n >\n {t('submit')}\n </Button>\n </>\n );\n }\n\n const modalProps: OmitStrict<ModalProps, 'heading'> = {\n progress: loading\n ? { message: submittingRef.current ? t('submitting') : t('loading') }\n : undefined,\n children: modalContent,\n actions: formActions,\n onRequestDismiss: loading && submittingRef.current ? () => false : undefined\n };\n\n if (modalMethods.current) {\n modalMethods.current.update(modalProps);\n } else {\n modalMethods.current = createModal(\n Modal,\n {\n ...modalProps,\n autoWidth,\n center,\n heading,\n onBeforeOpen,\n onAfterClose: () => {\n onAfterClose?.();\n submittingRef.current = false;\n },\n 'data-testid': testId\n },\n {\n dismissible: false\n }\n );\n }\n };\n\n return {\n renderModal\n };\n }\n\n return {\n renderModal: () => {}\n };\n};\n\nexport default useCreateModal;\n"]}
@@ -1,10 +1,10 @@
1
1
  import type { FunctionComponent, MouseEventHandler } from 'react';
2
- import type { ImageProps, NoChildrenProp } from '@pega/cosmos-react-core';
2
+ import type { ImageProps, NoChildrenProp, TestIdProp } from '@pega/cosmos-react-core';
3
3
  interface Action {
4
4
  label: string;
5
5
  onClick: MouseEventHandler<HTMLButtonElement>;
6
6
  }
7
- export interface PageBannerProps extends NoChildrenProp {
7
+ export interface PageBannerProps extends NoChildrenProp, TestIdProp {
8
8
  title: string;
9
9
  description: string;
10
10
  image?: ImageProps;
@@ -17,6 +17,8 @@ export interface PageBannerProps extends NoChildrenProp {
17
17
  export declare const StyledPageBanner: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
18
18
  export declare const StyledImageContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
19
19
  export declare const StyledActions: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
20
- declare const PageBanner: FunctionComponent<PageBannerProps>;
21
- export default PageBanner;
20
+ declare const _default: FunctionComponent<PageBannerProps> & {
21
+ getTestIds: (testIdProp?: TestIdProp["testId"]) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["title", "description", "link", "actions", "image"]>;
22
+ };
23
+ export default _default;
22
24
  //# sourceMappingURL=PageBanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageBanner.d.ts","sourceRoot":"","sources":["../../../src/components/PageBanner/PageBanner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAmBlE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE1E,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB,yGAqC3B,CAAC;AAIH,eAAO,MAAM,oBAAoB,yGAOhC,CAAC;AAEF,eAAO,MAAM,aAAa,yGAEzB,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,iBAAiB,CAAC,eAAe,CAqDlD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"PageBanner.d.ts","sourceRoot":"","sources":["../../../src/components/PageBanner/PageBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAqBlE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAItF,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc,EAAE,UAAU;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,eAAO,MAAM,gBAAgB,yGAqC3B,CAAC;AAIH,eAAO,MAAM,oBAAoB,yGAOhC,CAAC;AAEF,eAAO,MAAM,aAAa,yGAEzB,CAAC;;;;AAiEF,wBAA6D"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useRef } from 'react';
3
2
  import styled, { css } from 'styled-components';
4
- import { Flex, Grid, Image, Text, Button, defaultThemeProp, tryCatch, StyledButton, Link, StyledLink, useBreakpoint, ShowMoreLess, StyledShowMoreLessButton, readableColor } from '@pega/cosmos-react-core';
3
+ import { readableColor } from 'polished';
4
+ import { Flex, Grid, Image, Text, Button, defaultThemeProp, tryCatch, StyledButton, Link, StyledLink, useBreakpoint, ShowMoreLess, StyledShowMoreLessButton, useTestIds, withTestIds } from '@pega/cosmos-react-core';
5
+ import { getPageBannerTestIds } from './PageBanner.test-ids';
5
6
  export const StyledPageBanner = styled.div(({ theme }) => {
6
7
  const { base: { palette: { 'brand-primary': brandBackground }, 'font-weight': fontWeight, 'content-width': contentWidth } } = theme;
7
8
  const color = tryCatch(() => readableColor(brandBackground));
@@ -44,15 +45,15 @@ export const StyledImageContainer = styled.div `
44
45
  export const StyledActions = styled.div `
45
46
  margin-block-start: auto;
46
47
  `;
47
- const PageBanner = ({ title, description, image, actions, link }) => {
48
- const bannerRef = useRef(null);
49
- const isMediumOrAbove = useBreakpoint('md', { breakpointRef: bannerRef });
50
- const isSmallOrAbove = useBreakpoint('sm', { breakpointRef: bannerRef });
48
+ const PageBanner = ({ testId, title, description, image, actions, link }) => {
49
+ const testIds = useTestIds(testId, getPageBannerTestIds);
50
+ const isMediumOrAbove = useBreakpoint('md');
51
+ const isSmallOrAbove = useBreakpoint('sm');
51
52
  return (_jsxs(Grid, { container: {
52
53
  cols: isSmallOrAbove && image ? '1fr 25%' : '1fr',
53
- pad: isMediumOrAbove ? [0, 8, 0, 4] : [0, 4],
54
+ pad: isMediumOrAbove ? [0, 8, 0, 3] : [0, 3],
54
55
  gap: isMediumOrAbove ? 8 : 4
55
- }, as: StyledPageBanner, ref: bannerRef, children: [_jsxs(Flex, { container: { direction: 'column', pad: [2, 0], gap: 1 }, children: [_jsx(Text, { variant: 'h1', children: title }), _jsx(ShowMoreLess, { lines: 3, children: _jsx(Text, { as: 'p', children: description }) }), !isSmallOrAbove && image && (_jsx(Flex, { as: StyledImageContainer, container: { justify: 'center', alignItems: 'center' }, children: _jsx(Image, { ...image }) })), !!actions?.length && (_jsxs(Flex, { as: StyledActions, container: { alignItems: 'center', pad: [1, 0, 0, 0], gap: 1, wrap: 'wrap' }, children: [actions.map(action => (_jsx(Button, { onClick: action.onClick, children: action.label }, action.label))), link && _jsx(Link, { href: link.href, children: link.label })] }))] }), isSmallOrAbove && image && (_jsx(Flex, { as: StyledImageContainer, container: { justify: 'end', alignItems: 'center' }, children: _jsx(Image, { ...image }) }))] }));
56
+ }, as: StyledPageBanner, children: [_jsxs(Flex, { container: { direction: 'column', pad: [2, 0], gap: 1 }, children: [_jsx(Text, { "data-testid": testIds.title, variant: 'h1', children: title }), _jsx(ShowMoreLess, { lines: 3, children: _jsx(Text, { "data-testid": testIds.description, as: 'p', children: description }) }), !isSmallOrAbove && image && (_jsx(Flex, { as: StyledImageContainer, container: { justify: 'center', alignItems: 'center' }, children: _jsx(Image, { ...image }) })), (actions || link) && (_jsxs(Flex, { "data-testid": testIds.actions, as: StyledActions, container: { alignItems: 'center', pad: [1, 0, 0, 0], gap: 1, wrap: 'wrap' }, children: [actions?.map(action => (_jsx(Button, { onClick: action.onClick, children: action.label }, action.label))), link && (_jsx(Link, { "data-testid": testIds.link, href: link.href, children: link.label }))] }))] }), isSmallOrAbove && image && (_jsx(Flex, { as: StyledImageContainer, container: { justify: 'end', alignItems: 'center' }, children: _jsx(Image, { ...image, "data-testId": testIds.image }) }))] }));
56
57
  };
57
- export default PageBanner;
58
+ export default withTestIds(PageBanner, getPageBannerTestIds);
58
59
  //# sourceMappingURL=PageBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageBanner.js","sourceRoot":"","sources":["../../../src/components/PageBanner/PageBanner.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useRef } from 'react';\nimport type { FunctionComponent, MouseEventHandler } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Flex,\n Grid,\n Image,\n Text,\n Button,\n defaultThemeProp,\n tryCatch,\n StyledButton,\n Link,\n StyledLink,\n useBreakpoint,\n ShowMoreLess,\n StyledShowMoreLessButton,\n readableColor\n} from '@pega/cosmos-react-core';\nimport type { ImageProps, NoChildrenProp } from '@pega/cosmos-react-core';\n\ninterface Action {\n label: string;\n onClick: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport interface PageBannerProps extends NoChildrenProp {\n title: string;\n description: string;\n image?: ImageProps;\n actions?: [Action] | [Action, Action];\n link?: {\n label: string;\n href: string;\n };\n}\n\nexport const StyledPageBanner = styled.div(({ theme }) => {\n const {\n base: {\n palette: { 'brand-primary': brandBackground },\n 'font-weight': fontWeight,\n 'content-width': contentWidth\n }\n } = theme;\n\n const color = tryCatch(() => readableColor(brandBackground));\n\n return css`\n background: ${brandBackground};\n color: ${color};\n\n h1:focus-visible {\n outline: transparent;\n box-shadow: ${theme.base.shadow.focus};\n }\n\n ${StyledButton} {\n width: max-content;\n }\n\n ${StyledButton} + ${StyledButton} {\n margin-inline-start: 0;\n }\n\n ${StyledLink}, ${StyledShowMoreLessButton} {\n font-weight: ${fontWeight['semi-bold']};\n color: ${color};\n }\n\n p {\n max-width: ${contentWidth.xl};\n }\n `;\n});\n\nStyledPageBanner.defaultProps = defaultThemeProp;\n\nexport const StyledImageContainer = styled.div`\n min-width: 100%;\n\n img {\n object-fit: contain;\n max-height: 10rem;\n }\n`;\n\nexport const StyledActions = styled.div`\n margin-block-start: auto;\n`;\n\nconst PageBanner: FunctionComponent<PageBannerProps> = ({\n title,\n description,\n image,\n actions,\n link\n}) => {\n const bannerRef = useRef<HTMLDivElement>(null);\n\n const isMediumOrAbove = useBreakpoint('md', { breakpointRef: bannerRef });\n const isSmallOrAbove = useBreakpoint('sm', { breakpointRef: bannerRef });\n\n return (\n <Grid\n container={{\n cols: isSmallOrAbove && image ? '1fr 25%' : '1fr',\n pad: isMediumOrAbove ? [0, 8, 0, 4] : [0, 4],\n gap: isMediumOrAbove ? 8 : 4\n }}\n as={StyledPageBanner}\n ref={bannerRef}\n >\n <Flex container={{ direction: 'column', pad: [2, 0], gap: 1 }}>\n <Text variant='h1'>{title}</Text>\n <ShowMoreLess lines={3}>\n <Text as='p'>{description}</Text>\n </ShowMoreLess>\n {!isSmallOrAbove && image && (\n <Flex as={StyledImageContainer} container={{ justify: 'center', alignItems: 'center' }}>\n <Image {...image} />\n </Flex>\n )}\n {!!actions?.length && (\n <Flex\n as={StyledActions}\n container={{ alignItems: 'center', pad: [1, 0, 0, 0], gap: 1, wrap: 'wrap' }}\n >\n {actions.map(action => (\n <Button key={action.label} onClick={action.onClick}>\n {action.label}\n </Button>\n ))}\n {link && <Link href={link.href}>{link.label}</Link>}\n </Flex>\n )}\n </Flex>\n {isSmallOrAbove && image && (\n <Flex as={StyledImageContainer} container={{ justify: 'end', alignItems: 'center' }}>\n <Image {...image} />\n </Flex>\n )}\n </Grid>\n );\n};\n\nexport default PageBanner;\n"]}
1
+ {"version":3,"file":"PageBanner.js","sourceRoot":"","sources":["../../../src/components/PageBanner/PageBanner.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,wBAAwB,EACxB,UAAU,EACV,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAkB7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACvD,MAAM,EACJ,IAAI,EAAE,EACJ,OAAO,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,EAC7C,aAAa,EAAE,UAAU,EACzB,eAAe,EAAE,YAAY,EAC9B,EACF,GAAG,KAAK,CAAC;IAEV,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;IAE7D,OAAO,GAAG,CAAA;kBACM,eAAe;aACpB,KAAK;;;;oBAIE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;;;MAGrC,YAAY;;;;MAIZ,YAAY,MAAM,YAAY;;;;MAI9B,UAAU,KAAK,wBAAwB;qBACxB,UAAU,CAAC,WAAW,CAAC;eAC7B,KAAK;;;;mBAID,YAAY,CAAC,EAAE;;GAE/B,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAO7C,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;CAEtC,CAAC;AAEF,MAAM,UAAU,GAAuC,CAAC,EACtD,MAAM,EACN,KAAK,EACL,WAAW,EACX,KAAK,EACL,OAAO,EACP,IAAI,EACL,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAE3C,OAAO,CACL,MAAC,IAAI,IACH,SAAS,EAAE;YACT,IAAI,EAAE,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;YACjD,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B,EACD,EAAE,EAAE,gBAAgB,aAEpB,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aAC3D,KAAC,IAAI,mBAAc,OAAO,CAAC,KAAK,EAAE,OAAO,EAAC,IAAI,YAC3C,KAAK,GACD,EACP,KAAC,YAAY,IAAC,KAAK,EAAE,CAAC,YACpB,KAAC,IAAI,mBAAc,OAAO,CAAC,WAAW,EAAE,EAAE,EAAC,GAAG,YAC3C,WAAW,GACP,GACM,EACd,CAAC,cAAc,IAAI,KAAK,IAAI,CAC3B,KAAC,IAAI,IAAC,EAAE,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,YACpF,KAAC,KAAK,OAAK,KAAK,GAAI,GACf,CACR,EACA,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CACpB,MAAC,IAAI,mBACU,OAAO,CAAC,OAAO,EAC5B,EAAE,EAAE,aAAa,EACjB,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,aAE3E,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACtB,KAAC,MAAM,IAAoB,OAAO,EAAE,MAAM,CAAC,OAAO,YAC/C,MAAM,CAAC,KAAK,IADF,MAAM,CAAC,KAAK,CAEhB,CACV,CAAC,EACD,IAAI,IAAI,CACP,KAAC,IAAI,mBAAc,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,YAC7C,IAAI,CAAC,KAAK,GACN,CACR,IACI,CACR,IACI,EACN,cAAc,IAAI,KAAK,IAAI,CAC1B,KAAC,IAAI,IAAC,EAAE,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,YACjF,KAAC,KAAK,OAAK,KAAK,iBAAe,OAAO,CAAC,KAAK,GAAI,GAC3C,CACR,IACI,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC","sourcesContent":["import type { FunctionComponent, MouseEventHandler } from 'react';\nimport styled, { css } from 'styled-components';\nimport { readableColor } from 'polished';\n\nimport {\n Flex,\n Grid,\n Image,\n Text,\n Button,\n defaultThemeProp,\n tryCatch,\n StyledButton,\n Link,\n StyledLink,\n useBreakpoint,\n ShowMoreLess,\n StyledShowMoreLessButton,\n useTestIds,\n withTestIds\n} from '@pega/cosmos-react-core';\nimport type { ImageProps, NoChildrenProp, TestIdProp } from '@pega/cosmos-react-core';\n\nimport { getPageBannerTestIds } from './PageBanner.test-ids';\n\ninterface Action {\n label: string;\n onClick: MouseEventHandler<HTMLButtonElement>;\n}\n\nexport interface PageBannerProps extends NoChildrenProp, TestIdProp {\n title: string;\n description: string;\n image?: ImageProps;\n actions?: [Action] | [Action, Action];\n link?: {\n label: string;\n href: string;\n };\n}\n\nexport const StyledPageBanner = styled.div(({ theme }) => {\n const {\n base: {\n palette: { 'brand-primary': brandBackground },\n 'font-weight': fontWeight,\n 'content-width': contentWidth\n }\n } = theme;\n\n const color = tryCatch(() => readableColor(brandBackground));\n\n return css`\n background: ${brandBackground};\n color: ${color};\n\n h1:focus-visible {\n outline: transparent;\n box-shadow: ${theme.base.shadow.focus};\n }\n\n ${StyledButton} {\n width: max-content;\n }\n\n ${StyledButton} + ${StyledButton} {\n margin-inline-start: 0;\n }\n\n ${StyledLink}, ${StyledShowMoreLessButton} {\n font-weight: ${fontWeight['semi-bold']};\n color: ${color};\n }\n\n p {\n max-width: ${contentWidth.xl};\n }\n `;\n});\n\nStyledPageBanner.defaultProps = defaultThemeProp;\n\nexport const StyledImageContainer = styled.div`\n min-width: 100%;\n\n img {\n object-fit: contain;\n max-height: 10rem;\n }\n`;\n\nexport const StyledActions = styled.div`\n margin-block-start: auto;\n`;\n\nconst PageBanner: FunctionComponent<PageBannerProps> = ({\n testId,\n title,\n description,\n image,\n actions,\n link\n}) => {\n const testIds = useTestIds(testId, getPageBannerTestIds);\n const isMediumOrAbove = useBreakpoint('md');\n const isSmallOrAbove = useBreakpoint('sm');\n\n return (\n <Grid\n container={{\n cols: isSmallOrAbove && image ? '1fr 25%' : '1fr',\n pad: isMediumOrAbove ? [0, 8, 0, 3] : [0, 3],\n gap: isMediumOrAbove ? 8 : 4\n }}\n as={StyledPageBanner}\n >\n <Flex container={{ direction: 'column', pad: [2, 0], gap: 1 }}>\n <Text data-testid={testIds.title} variant='h1'>\n {title}\n </Text>\n <ShowMoreLess lines={3}>\n <Text data-testid={testIds.description} as='p'>\n {description}\n </Text>\n </ShowMoreLess>\n {!isSmallOrAbove && image && (\n <Flex as={StyledImageContainer} container={{ justify: 'center', alignItems: 'center' }}>\n <Image {...image} />\n </Flex>\n )}\n {(actions || link) && (\n <Flex\n data-testid={testIds.actions}\n as={StyledActions}\n container={{ alignItems: 'center', pad: [1, 0, 0, 0], gap: 1, wrap: 'wrap' }}\n >\n {actions?.map(action => (\n <Button key={action.label} onClick={action.onClick}>\n {action.label}\n </Button>\n ))}\n {link && (\n <Link data-testid={testIds.link} href={link.href}>\n {link.label}\n </Link>\n )}\n </Flex>\n )}\n </Flex>\n {isSmallOrAbove && image && (\n <Flex as={StyledImageContainer} container={{ justify: 'end', alignItems: 'center' }}>\n <Image {...image} data-testId={testIds.image} />\n </Flex>\n )}\n </Grid>\n );\n};\n\nexport default withTestIds(PageBanner, getPageBannerTestIds);\n"]}
@@ -0,0 +1,2 @@
1
+ export declare const getPageBannerTestIds: (testIdProp?: import("@pega/cosmos-react-core").TestIdProp["testId"]) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["title", "description", "link", "actions", "image"]>;
2
+ //# sourceMappingURL=PageBanner.test-ids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageBanner.test-ids.d.ts","sourceRoot":"","sources":["../../../src/components/PageBanner/PageBanner.test-ids.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,yLAMtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { createTestIds } from '@pega/cosmos-react-core';
2
+ export const getPageBannerTestIds = createTestIds('page-banner', [
3
+ 'title',
4
+ 'description',
5
+ 'link',
6
+ 'actions',
7
+ 'image'
8
+ ]);
9
+ //# sourceMappingURL=PageBanner.test-ids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageBanner.test-ids.js","sourceRoot":"","sources":["../../../src/components/PageBanner/PageBanner.test-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC,aAAa,EAAE;IAC/D,OAAO;IACP,aAAa;IACb,MAAM;IACN,SAAS;IACT,OAAO;CACC,CAAC,CAAC","sourcesContent":["import { createTestIds } from '@pega/cosmos-react-core';\n\nexport const getPageBannerTestIds = createTestIds('page-banner', [\n 'title',\n 'description',\n 'link',\n 'actions',\n 'image'\n] as const);\n"]}
@@ -0,0 +1,12 @@
1
+ import { type TestIdProp } from '@pega/cosmos-react-core';
2
+ import type { ConstructPageTemplateProps, PageTemplateProps } from '../PageTemplate.types';
3
+ type ConstructPageHeaderProps = ConstructPageTemplateProps['header'] & Pick<PageTemplateProps, 'progress'> & TestIdProp;
4
+ export declare const PrimaryHeaderText: ({ type: { href, onClick, name }, testId }: {
5
+ type: ConstructPageHeaderProps["type"];
6
+ testId?: TestIdProp["testId"];
7
+ }) => import("react/jsx-runtime").JSX.Element;
8
+ declare const _default: (({ testId, title, primaryAction, additionalActions, metadata, visual, type, description, secondaryAction, progress }: ConstructPageHeaderProps) => import("react/jsx-runtime").JSX.Element) & {
9
+ getTestIds: (testIdProp?: TestIdProp["testId"]) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["title", "status", "edit-details", "additional-info-icon", "type", "meta-data", "primary-meta-data", "secondary-meta-data", "visual", "primary-action", "secondary-action", "additional-actions", "banner-description", "banner-link", "banner-actions", "banner-image"]>;
10
+ };
11
+ export default _default;
12
+ //# sourceMappingURL=ConstructPageHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConstructPageHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/PageTemplates/ConstructPageTemplate/ConstructPageHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAgBL,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAU3F,KAAK,wBAAwB,GAAG,0BAA0B,CAAC,QAAQ,CAAC,GAClE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GACnC,UAAU,CAAC;AAEb,eAAO,MAAM,iBAAiB,GAAI,2CAG/B;IACD,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC/B,4CASA,CAAC;+IAaC,wBAAwB;;;AAkT3B,wBAAsE"}