@pega/cosmos-react-demos 2.1.5 → 3.0.0-dev.3.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 (426) hide show
  1. package/jsx/build/AppHeader/AppHeader.stories.d.ts +2 -1
  2. package/jsx/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  3. package/jsx/build/AppHeader/AppHeader.stories.jsx +46 -13
  4. package/jsx/build/AppHeader/AppHeader.stories.jsx.map +1 -1
  5. package/jsx/build/AppShell/AppShell.stories.d.ts +2 -1
  6. package/jsx/build/AppShell/AppShell.stories.d.ts.map +1 -1
  7. package/jsx/build/AppShell/AppShell.stories.jsx +46 -13
  8. package/jsx/build/AppShell/AppShell.stories.jsx.map +1 -1
  9. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts +6 -0
  10. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts.map +1 -0
  11. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.jsx +64 -0
  12. package/jsx/build/DynamicContentEditor/DynamicContentEditor.stories.jsx.map +1 -0
  13. package/jsx/build/DynamicContentEditor/FieldSelector.d.ts +11 -0
  14. package/jsx/build/DynamicContentEditor/FieldSelector.d.ts.map +1 -0
  15. package/jsx/build/DynamicContentEditor/FieldSelector.jsx +80 -0
  16. package/jsx/build/DynamicContentEditor/FieldSelector.jsx.map +1 -0
  17. package/jsx/build/ItemLibrary/LibraryPicker.mocks.d.ts +7 -0
  18. package/jsx/build/ItemLibrary/LibraryPicker.mocks.d.ts.map +1 -0
  19. package/jsx/build/ItemLibrary/LibraryPicker.mocks.js +50 -0
  20. package/jsx/build/ItemLibrary/LibraryPicker.mocks.js.map +1 -0
  21. package/jsx/build/ItemLibrary/LibraryPicker.stories.d.ts +9 -0
  22. package/jsx/build/ItemLibrary/LibraryPicker.stories.d.ts.map +1 -0
  23. package/jsx/build/ItemLibrary/LibraryPicker.stories.jsx +45 -0
  24. package/jsx/build/ItemLibrary/LibraryPicker.stories.jsx.map +1 -0
  25. package/jsx/build/LifeCycle/LifeCycle.mocks.js +1 -1
  26. package/jsx/build/LifeCycle/LifeCycle.mocks.js.map +1 -1
  27. package/jsx/build/LifeCycle/LifeCycle.stories.d.ts.map +1 -1
  28. package/jsx/build/LifeCycle/LifeCycle.stories.jsx +52 -34
  29. package/jsx/build/LifeCycle/LifeCycle.stories.jsx.map +1 -1
  30. package/jsx/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  31. package/jsx/build/PageTemplates/PageTemplates.stories.jsx +6 -10
  32. package/jsx/build/PageTemplates/PageTemplates.stories.jsx.map +1 -1
  33. package/jsx/build/Workbench/Workbench.stories.d.ts.map +1 -1
  34. package/jsx/build/Workbench/Workbench.stories.jsx +11 -13
  35. package/jsx/build/Workbench/Workbench.stories.jsx.map +1 -1
  36. package/jsx/core/AppShell/AppShell.stories.d.ts +5 -0
  37. package/jsx/core/AppShell/AppShell.stories.d.ts.map +1 -1
  38. package/jsx/core/AppShell/AppShell.stories.jsx +25 -1
  39. package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
  40. package/jsx/core/Avatar/Avatar.stories.d.ts +5 -0
  41. package/jsx/core/Avatar/Avatar.stories.d.ts.map +1 -1
  42. package/jsx/core/Avatar/Avatar.stories.jsx +32 -5
  43. package/jsx/core/Avatar/Avatar.stories.jsx.map +1 -1
  44. package/jsx/core/Badges/Status.stories.d.ts +5 -0
  45. package/jsx/core/Badges/Status.stories.d.ts.map +1 -1
  46. package/jsx/core/Badges/Status.stories.jsx +25 -1
  47. package/jsx/core/Badges/Status.stories.jsx.map +1 -1
  48. package/jsx/core/Banner/Banner.stories.d.ts +5 -1
  49. package/jsx/core/Banner/Banner.stories.d.ts.map +1 -1
  50. package/jsx/core/Banner/Banner.stories.jsx +24 -3
  51. package/jsx/core/Banner/Banner.stories.jsx.map +1 -1
  52. package/jsx/core/Button/Button.stories.d.ts +8 -0
  53. package/jsx/core/Button/Button.stories.d.ts.map +1 -1
  54. package/jsx/core/Button/Button.stories.jsx +30 -1
  55. package/jsx/core/Button/Button.stories.jsx.map +1 -1
  56. package/jsx/core/Card/Card.stories.d.ts +5 -0
  57. package/jsx/core/Card/Card.stories.d.ts.map +1 -1
  58. package/jsx/core/Card/Card.stories.jsx +30 -1
  59. package/jsx/core/Card/Card.stories.jsx.map +1 -1
  60. package/jsx/core/Checkbox/Checkbox.stories.d.ts +12 -0
  61. package/jsx/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
  62. package/jsx/core/Checkbox/Checkbox.stories.jsx +54 -1
  63. package/jsx/core/Checkbox/Checkbox.stories.jsx.map +1 -1
  64. package/jsx/core/Configuration/Configuration.stories.d.ts +17 -0
  65. package/jsx/core/Configuration/Configuration.stories.d.ts.map +1 -1
  66. package/jsx/core/Configuration/Configuration.stories.jsx +94 -3
  67. package/jsx/core/Configuration/Configuration.stories.jsx.map +1 -1
  68. package/jsx/core/Currency/Currency.stories.d.ts +5 -2
  69. package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
  70. package/jsx/core/Currency/Currency.stories.jsx +30 -12
  71. package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
  72. package/jsx/core/File/FileInput.stories.d.ts.map +1 -1
  73. package/jsx/core/File/FileInput.stories.jsx +1 -1
  74. package/jsx/core/File/FileInput.stories.jsx.map +1 -1
  75. package/jsx/core/Form/Form.mocks.d.ts.map +1 -1
  76. package/jsx/core/Form/Form.mocks.jsx +2 -2
  77. package/jsx/core/Form/Form.mocks.jsx.map +1 -1
  78. package/jsx/core/Form/Form.stories.d.ts +10 -0
  79. package/jsx/core/Form/Form.stories.d.ts.map +1 -1
  80. package/jsx/core/Form/Form.stories.jsx +42 -2
  81. package/jsx/core/Form/Form.stories.jsx.map +1 -1
  82. package/jsx/core/Input/Input.stories.d.ts +9 -0
  83. package/jsx/core/Input/Input.stories.d.ts.map +1 -1
  84. package/jsx/core/Input/Input.stories.jsx +40 -1
  85. package/jsx/core/Input/Input.stories.jsx.map +1 -1
  86. package/jsx/core/Label/Label.stories.d.ts +4 -0
  87. package/jsx/core/Label/Label.stories.d.ts.map +1 -1
  88. package/jsx/core/Label/Label.stories.jsx +18 -1
  89. package/jsx/core/Label/Label.stories.jsx.map +1 -1
  90. package/jsx/core/Modal/Modal.mocks.d.ts.map +1 -1
  91. package/jsx/core/Modal/Modal.mocks.jsx +3 -3
  92. package/jsx/core/Modal/Modal.mocks.jsx.map +1 -1
  93. package/jsx/core/Modal/Modal.stories.d.ts.map +1 -1
  94. package/jsx/core/Modal/Modal.stories.jsx +29 -43
  95. package/jsx/core/Modal/Modal.stories.jsx.map +1 -1
  96. package/jsx/core/Number/Number.stories.d.ts +3 -3
  97. package/jsx/core/Number/Number.stories.d.ts.map +1 -1
  98. package/jsx/core/Number/Number.stories.jsx +14 -13
  99. package/jsx/core/Number/Number.stories.jsx.map +1 -1
  100. package/jsx/core/PageTemplates/PageTemplates.stories.d.ts +5 -3
  101. package/jsx/core/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  102. package/jsx/core/PageTemplates/PageTemplates.stories.jsx +106 -30
  103. package/jsx/core/PageTemplates/PageTemplates.stories.jsx.map +1 -1
  104. package/jsx/core/Progress/Progress.stories.d.ts +4 -0
  105. package/jsx/core/Progress/Progress.stories.d.ts.map +1 -1
  106. package/jsx/core/Progress/Progress.stories.jsx +22 -1
  107. package/jsx/core/Progress/Progress.stories.jsx.map +1 -1
  108. package/jsx/core/RadioButton/RadioButton.stories.d.ts +12 -0
  109. package/jsx/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
  110. package/jsx/core/RadioButton/RadioButton.stories.jsx +53 -1
  111. package/jsx/core/RadioButton/RadioButton.stories.jsx.map +1 -1
  112. package/jsx/core/Rating/Rating.stories.d.ts +4 -0
  113. package/jsx/core/Rating/Rating.stories.d.ts.map +1 -1
  114. package/jsx/core/Rating/Rating.stories.jsx +18 -1
  115. package/jsx/core/Rating/Rating.stories.jsx.map +1 -1
  116. package/jsx/core/SearchInput/SearchInput.stories.d.ts +4 -0
  117. package/jsx/core/SearchInput/SearchInput.stories.d.ts.map +1 -1
  118. package/jsx/core/SearchInput/SearchInput.stories.jsx +18 -1
  119. package/jsx/core/SearchInput/SearchInput.stories.jsx.map +1 -1
  120. package/jsx/core/Select/Select.stories.d.ts +8 -0
  121. package/jsx/core/Select/Select.stories.d.ts.map +1 -1
  122. package/jsx/core/Select/Select.stories.jsx +35 -1
  123. package/jsx/core/Select/Select.stories.jsx.map +1 -1
  124. package/jsx/core/Sentiment/Sentiment.stories.d.ts +6 -0
  125. package/jsx/core/Sentiment/Sentiment.stories.d.ts.map +1 -1
  126. package/jsx/core/Sentiment/Sentiment.stories.jsx +32 -1
  127. package/jsx/core/Sentiment/Sentiment.stories.jsx.map +1 -1
  128. package/jsx/core/Switch/Switch.stories.d.ts +7 -0
  129. package/jsx/core/Switch/Switch.stories.d.ts.map +1 -1
  130. package/jsx/core/Switch/Switch.stories.jsx +34 -1
  131. package/jsx/core/Switch/Switch.stories.jsx.map +1 -1
  132. package/jsx/core/Table/Table.mocks.d.ts +6 -0
  133. package/jsx/core/Table/Table.mocks.d.ts.map +1 -1
  134. package/jsx/core/Table/Table.mocks.jsx +134 -0
  135. package/jsx/core/Table/Table.mocks.jsx.map +1 -1
  136. package/jsx/core/Table/Table.stories.d.ts +25 -0
  137. package/jsx/core/Table/Table.stories.d.ts.map +1 -1
  138. package/jsx/core/Table/Table.stories.jsx +120 -1
  139. package/jsx/core/Table/Table.stories.jsx.map +1 -1
  140. package/jsx/core/Tabs/Tabs.stories.d.ts +5 -0
  141. package/jsx/core/Tabs/Tabs.stories.d.ts.map +1 -1
  142. package/jsx/core/Tabs/Tabs.stories.jsx +39 -1
  143. package/jsx/core/Tabs/Tabs.stories.jsx.map +1 -1
  144. package/jsx/core/Text/Text.stories.d.ts +19 -0
  145. package/jsx/core/Text/Text.stories.d.ts.map +1 -1
  146. package/jsx/core/Text/Text.stories.jsx +112 -1
  147. package/jsx/core/Text/Text.stories.jsx.map +1 -1
  148. package/jsx/core/TextArea/TextArea.stories.d.ts +5 -0
  149. package/jsx/core/TextArea/TextArea.stories.d.ts.map +1 -1
  150. package/jsx/core/TextArea/TextArea.stories.jsx +22 -1
  151. package/jsx/core/TextArea/TextArea.stories.jsx.map +1 -1
  152. package/jsx/core/Toaster/Toaster.stories.jsx +17 -12
  153. package/jsx/core/Toaster/Toaster.stories.jsx.map +1 -1
  154. package/jsx/core/Tooltip/Tooltip.stories.d.ts +6 -0
  155. package/jsx/core/Tooltip/Tooltip.stories.d.ts.map +1 -1
  156. package/jsx/core/Tooltip/Tooltip.stories.jsx +28 -1
  157. package/jsx/core/Tooltip/Tooltip.stories.jsx.map +1 -1
  158. package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts +1 -1
  159. package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts.map +1 -1
  160. package/jsx/cs/CSCaseView/CSAppShell.stories.jsx +10 -10
  161. package/jsx/cs/CSCaseView/CSAppShell.stories.jsx.map +1 -1
  162. package/jsx/cs/IntelligentGuidance/IntelligentGuidance.stories.d.ts.map +1 -1
  163. package/jsx/cs/IntelligentGuidance/IntelligentGuidance.stories.jsx +20 -18
  164. package/jsx/cs/IntelligentGuidance/IntelligentGuidance.stories.jsx.map +1 -1
  165. package/jsx/cs/TaskManager/TaskManager.mocks.d.ts +1 -2
  166. package/jsx/cs/TaskManager/TaskManager.mocks.d.ts.map +1 -1
  167. package/jsx/cs/TaskManager/TaskManager.mocks.js +5 -10
  168. package/jsx/cs/TaskManager/TaskManager.mocks.js.map +1 -1
  169. package/jsx/cs/TaskManager/TaskManager.stories.d.ts +8 -3
  170. package/jsx/cs/TaskManager/TaskManager.stories.d.ts.map +1 -1
  171. package/jsx/cs/TaskManager/TaskManager.stories.jsx +165 -133
  172. package/jsx/cs/TaskManager/TaskManager.stories.jsx.map +1 -1
  173. package/jsx/rte/Editor/Editor.stories.jsx +1 -1
  174. package/jsx/rte/Editor/Editor.stories.jsx.map +1 -1
  175. package/jsx/social/Email/Email.mocks.d.ts +20 -4
  176. package/jsx/social/Email/Email.mocks.d.ts.map +1 -1
  177. package/jsx/social/Email/{Email.mocks.jsx → Email.mocks.js} +50 -4
  178. package/jsx/social/Email/Email.mocks.js.map +1 -0
  179. package/jsx/social/Email/Email.stories.d.ts +1 -1
  180. package/jsx/social/Email/Email.stories.d.ts.map +1 -1
  181. package/jsx/social/Email/Email.stories.jsx +64 -22
  182. package/jsx/social/Email/Email.stories.jsx.map +1 -1
  183. package/jsx/social/Feed/Feed.stories.d.ts.map +1 -1
  184. package/jsx/social/Feed/Feed.stories.jsx +1 -1
  185. package/jsx/social/Feed/Feed.stories.jsx.map +1 -1
  186. package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  187. package/jsx/work/CaseView/CaseView.mocks.jsx +1 -1
  188. package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
  189. package/jsx/work/CaseView/CaseView.stories.d.ts.map +1 -1
  190. package/jsx/work/CaseView/CaseView.stories.jsx +7 -7
  191. package/jsx/work/CaseView/CaseView.stories.jsx.map +1 -1
  192. package/jsx/work/CaseView/Details.mocks.d.ts.map +1 -1
  193. package/jsx/work/CaseView/Details.mocks.jsx +1 -1
  194. package/jsx/work/CaseView/Details.mocks.jsx.map +1 -1
  195. package/jsx/work/CaseView/Pulse.mocks.d.ts.map +1 -1
  196. package/jsx/work/CaseView/Pulse.mocks.jsx +1 -1
  197. package/jsx/work/CaseView/Pulse.mocks.jsx.map +1 -1
  198. package/jsx/work/ConfigurableLayout/ConfigurableLayout.stories.d.ts.map +1 -1
  199. package/jsx/work/ConfigurableLayout/ConfigurableLayout.stories.jsx +1 -1
  200. package/jsx/work/ConfigurableLayout/ConfigurableLayout.stories.jsx.map +1 -1
  201. package/jsx/work/Confirmation/Confirmation.stories.d.ts.map +1 -1
  202. package/jsx/work/Confirmation/Confirmation.stories.jsx +2 -2
  203. package/jsx/work/Confirmation/Confirmation.stories.jsx.map +1 -1
  204. package/jsx/work/Details/Details.stories.d.ts.map +1 -1
  205. package/jsx/work/Details/Details.stories.jsx +21 -16
  206. package/jsx/work/Details/Details.stories.jsx.map +1 -1
  207. package/jsx/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
  208. package/jsx/work/SearchResults/SearchResults.stories.jsx +1 -1
  209. package/jsx/work/SearchResults/SearchResults.stories.jsx.map +1 -1
  210. package/jsx/work/Stakeholders/Stakeholders.mocks.d.ts.map +1 -1
  211. package/jsx/work/Stakeholders/Stakeholders.mocks.jsx +2 -2
  212. package/jsx/work/Stakeholders/Stakeholders.mocks.jsx.map +1 -1
  213. package/lib/build/AppHeader/AppHeader.stories.d.ts +2 -1
  214. package/lib/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
  215. package/lib/build/AppHeader/AppHeader.stories.js +46 -13
  216. package/lib/build/AppHeader/AppHeader.stories.js.map +1 -1
  217. package/lib/build/AppShell/AppShell.stories.d.ts +2 -1
  218. package/lib/build/AppShell/AppShell.stories.d.ts.map +1 -1
  219. package/lib/build/AppShell/AppShell.stories.js +46 -13
  220. package/lib/build/AppShell/AppShell.stories.js.map +1 -1
  221. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts +6 -0
  222. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.d.ts.map +1 -0
  223. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.js +48 -0
  224. package/lib/build/DynamicContentEditor/DynamicContentEditor.stories.js.map +1 -0
  225. package/lib/build/DynamicContentEditor/FieldSelector.d.ts +14 -0
  226. package/lib/build/DynamicContentEditor/FieldSelector.d.ts.map +1 -0
  227. package/lib/build/DynamicContentEditor/FieldSelector.js +81 -0
  228. package/lib/build/DynamicContentEditor/FieldSelector.js.map +1 -0
  229. package/lib/build/ItemLibrary/LibraryPicker.mocks.d.ts +7 -0
  230. package/lib/build/ItemLibrary/LibraryPicker.mocks.d.ts.map +1 -0
  231. package/lib/build/ItemLibrary/LibraryPicker.mocks.js +50 -0
  232. package/lib/build/ItemLibrary/LibraryPicker.mocks.js.map +1 -0
  233. package/lib/build/ItemLibrary/LibraryPicker.stories.d.ts +9 -0
  234. package/lib/build/ItemLibrary/LibraryPicker.stories.d.ts.map +1 -0
  235. package/lib/build/ItemLibrary/LibraryPicker.stories.js +40 -0
  236. package/lib/build/ItemLibrary/LibraryPicker.stories.js.map +1 -0
  237. package/lib/build/LifeCycle/LifeCycle.mocks.js +1 -1
  238. package/lib/build/LifeCycle/LifeCycle.mocks.js.map +1 -1
  239. package/lib/build/LifeCycle/LifeCycle.stories.d.ts.map +1 -1
  240. package/lib/build/LifeCycle/LifeCycle.stories.js +52 -48
  241. package/lib/build/LifeCycle/LifeCycle.stories.js.map +1 -1
  242. package/lib/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  243. package/lib/build/PageTemplates/PageTemplates.stories.js +6 -6
  244. package/lib/build/PageTemplates/PageTemplates.stories.js.map +1 -1
  245. package/lib/build/Workbench/Workbench.stories.d.ts.map +1 -1
  246. package/lib/build/Workbench/Workbench.stories.js +16 -18
  247. package/lib/build/Workbench/Workbench.stories.js.map +1 -1
  248. package/lib/core/AppShell/AppShell.stories.d.ts +5 -0
  249. package/lib/core/AppShell/AppShell.stories.d.ts.map +1 -1
  250. package/lib/core/AppShell/AppShell.stories.js +23 -1
  251. package/lib/core/AppShell/AppShell.stories.js.map +1 -1
  252. package/lib/core/Avatar/Avatar.stories.d.ts +5 -0
  253. package/lib/core/Avatar/Avatar.stories.d.ts.map +1 -1
  254. package/lib/core/Avatar/Avatar.stories.js +30 -5
  255. package/lib/core/Avatar/Avatar.stories.js.map +1 -1
  256. package/lib/core/Badges/Status.stories.d.ts +5 -0
  257. package/lib/core/Badges/Status.stories.d.ts.map +1 -1
  258. package/lib/core/Badges/Status.stories.js +23 -1
  259. package/lib/core/Badges/Status.stories.js.map +1 -1
  260. package/lib/core/Banner/Banner.stories.d.ts +5 -1
  261. package/lib/core/Banner/Banner.stories.d.ts.map +1 -1
  262. package/lib/core/Banner/Banner.stories.js +20 -3
  263. package/lib/core/Banner/Banner.stories.js.map +1 -1
  264. package/lib/core/Button/Button.stories.d.ts +8 -0
  265. package/lib/core/Button/Button.stories.d.ts.map +1 -1
  266. package/lib/core/Button/Button.stories.js +28 -1
  267. package/lib/core/Button/Button.stories.js.map +1 -1
  268. package/lib/core/Card/Card.stories.d.ts +5 -0
  269. package/lib/core/Card/Card.stories.d.ts.map +1 -1
  270. package/lib/core/Card/Card.stories.js +19 -1
  271. package/lib/core/Card/Card.stories.js.map +1 -1
  272. package/lib/core/Checkbox/Checkbox.stories.d.ts +12 -0
  273. package/lib/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
  274. package/lib/core/Checkbox/Checkbox.stories.js +52 -1
  275. package/lib/core/Checkbox/Checkbox.stories.js.map +1 -1
  276. package/lib/core/Configuration/Configuration.stories.d.ts +17 -0
  277. package/lib/core/Configuration/Configuration.stories.d.ts.map +1 -1
  278. package/lib/core/Configuration/Configuration.stories.js +62 -3
  279. package/lib/core/Configuration/Configuration.stories.js.map +1 -1
  280. package/lib/core/Currency/Currency.stories.d.ts +5 -2
  281. package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
  282. package/lib/core/Currency/Currency.stories.js +30 -12
  283. package/lib/core/Currency/Currency.stories.js.map +1 -1
  284. package/lib/core/File/FileInput.stories.d.ts.map +1 -1
  285. package/lib/core/File/FileInput.stories.js +1 -1
  286. package/lib/core/File/FileInput.stories.js.map +1 -1
  287. package/lib/core/Form/Form.mocks.d.ts.map +1 -1
  288. package/lib/core/Form/Form.mocks.js +2 -2
  289. package/lib/core/Form/Form.mocks.js.map +1 -1
  290. package/lib/core/Form/Form.stories.d.ts +10 -0
  291. package/lib/core/Form/Form.stories.d.ts.map +1 -1
  292. package/lib/core/Form/Form.stories.js +40 -2
  293. package/lib/core/Form/Form.stories.js.map +1 -1
  294. package/lib/core/Input/Input.stories.d.ts +9 -0
  295. package/lib/core/Input/Input.stories.d.ts.map +1 -1
  296. package/lib/core/Input/Input.stories.js +38 -1
  297. package/lib/core/Input/Input.stories.js.map +1 -1
  298. package/lib/core/Label/Label.stories.d.ts +4 -0
  299. package/lib/core/Label/Label.stories.d.ts.map +1 -1
  300. package/lib/core/Label/Label.stories.js +16 -1
  301. package/lib/core/Label/Label.stories.js.map +1 -1
  302. package/lib/core/Modal/Modal.mocks.d.ts.map +1 -1
  303. package/lib/core/Modal/Modal.mocks.js +3 -3
  304. package/lib/core/Modal/Modal.mocks.js.map +1 -1
  305. package/lib/core/Modal/Modal.stories.d.ts.map +1 -1
  306. package/lib/core/Modal/Modal.stories.js +14 -14
  307. package/lib/core/Modal/Modal.stories.js.map +1 -1
  308. package/lib/core/Number/Number.stories.d.ts +3 -3
  309. package/lib/core/Number/Number.stories.d.ts.map +1 -1
  310. package/lib/core/Number/Number.stories.js +14 -13
  311. package/lib/core/Number/Number.stories.js.map +1 -1
  312. package/lib/core/PageTemplates/PageTemplates.stories.d.ts +5 -3
  313. package/lib/core/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
  314. package/lib/core/PageTemplates/PageTemplates.stories.js +95 -27
  315. package/lib/core/PageTemplates/PageTemplates.stories.js.map +1 -1
  316. package/lib/core/Progress/Progress.stories.d.ts +4 -0
  317. package/lib/core/Progress/Progress.stories.d.ts.map +1 -1
  318. package/lib/core/Progress/Progress.stories.js +18 -1
  319. package/lib/core/Progress/Progress.stories.js.map +1 -1
  320. package/lib/core/RadioButton/RadioButton.stories.d.ts +12 -0
  321. package/lib/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
  322. package/lib/core/RadioButton/RadioButton.stories.js +51 -1
  323. package/lib/core/RadioButton/RadioButton.stories.js.map +1 -1
  324. package/lib/core/Rating/Rating.stories.d.ts +4 -0
  325. package/lib/core/Rating/Rating.stories.d.ts.map +1 -1
  326. package/lib/core/Rating/Rating.stories.js +16 -1
  327. package/lib/core/Rating/Rating.stories.js.map +1 -1
  328. package/lib/core/SearchInput/SearchInput.stories.d.ts +4 -0
  329. package/lib/core/SearchInput/SearchInput.stories.d.ts.map +1 -1
  330. package/lib/core/SearchInput/SearchInput.stories.js +16 -1
  331. package/lib/core/SearchInput/SearchInput.stories.js.map +1 -1
  332. package/lib/core/Select/Select.stories.d.ts +8 -0
  333. package/lib/core/Select/Select.stories.d.ts.map +1 -1
  334. package/lib/core/Select/Select.stories.js +28 -1
  335. package/lib/core/Select/Select.stories.js.map +1 -1
  336. package/lib/core/Sentiment/Sentiment.stories.d.ts +6 -0
  337. package/lib/core/Sentiment/Sentiment.stories.d.ts.map +1 -1
  338. package/lib/core/Sentiment/Sentiment.stories.js +29 -2
  339. package/lib/core/Sentiment/Sentiment.stories.js.map +1 -1
  340. package/lib/core/Switch/Switch.stories.d.ts +7 -0
  341. package/lib/core/Switch/Switch.stories.d.ts.map +1 -1
  342. package/lib/core/Switch/Switch.stories.js +32 -1
  343. package/lib/core/Switch/Switch.stories.js.map +1 -1
  344. package/lib/core/Table/Table.mocks.d.ts +6 -0
  345. package/lib/core/Table/Table.mocks.d.ts.map +1 -1
  346. package/lib/core/Table/Table.mocks.js +134 -0
  347. package/lib/core/Table/Table.mocks.js.map +1 -1
  348. package/lib/core/Table/Table.stories.d.ts +25 -0
  349. package/lib/core/Table/Table.stories.d.ts.map +1 -1
  350. package/lib/core/Table/Table.stories.js +113 -1
  351. package/lib/core/Table/Table.stories.js.map +1 -1
  352. package/lib/core/Tabs/Tabs.stories.d.ts +5 -0
  353. package/lib/core/Tabs/Tabs.stories.d.ts.map +1 -1
  354. package/lib/core/Tabs/Tabs.stories.js +30 -1
  355. package/lib/core/Tabs/Tabs.stories.js.map +1 -1
  356. package/lib/core/Text/Text.stories.d.ts +19 -0
  357. package/lib/core/Text/Text.stories.d.ts.map +1 -1
  358. package/lib/core/Text/Text.stories.js +102 -2
  359. package/lib/core/Text/Text.stories.js.map +1 -1
  360. package/lib/core/TextArea/TextArea.stories.d.ts +5 -0
  361. package/lib/core/TextArea/TextArea.stories.d.ts.map +1 -1
  362. package/lib/core/TextArea/TextArea.stories.js +20 -1
  363. package/lib/core/TextArea/TextArea.stories.js.map +1 -1
  364. package/lib/core/Toaster/Toaster.stories.js +15 -19
  365. package/lib/core/Toaster/Toaster.stories.js.map +1 -1
  366. package/lib/core/Tooltip/Tooltip.stories.d.ts +6 -0
  367. package/lib/core/Tooltip/Tooltip.stories.d.ts.map +1 -1
  368. package/lib/core/Tooltip/Tooltip.stories.js +20 -1
  369. package/lib/core/Tooltip/Tooltip.stories.js.map +1 -1
  370. package/lib/cs/CSCaseView/CSAppShell.stories.d.ts +1 -1
  371. package/lib/cs/CSCaseView/CSAppShell.stories.d.ts.map +1 -1
  372. package/lib/cs/CSCaseView/CSAppShell.stories.js +10 -10
  373. package/lib/cs/CSCaseView/CSAppShell.stories.js.map +1 -1
  374. package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.d.ts.map +1 -1
  375. package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js +20 -18
  376. package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js.map +1 -1
  377. package/lib/cs/TaskManager/TaskManager.mocks.d.ts +1 -2
  378. package/lib/cs/TaskManager/TaskManager.mocks.d.ts.map +1 -1
  379. package/lib/cs/TaskManager/TaskManager.mocks.js +5 -10
  380. package/lib/cs/TaskManager/TaskManager.mocks.js.map +1 -1
  381. package/lib/cs/TaskManager/TaskManager.stories.d.ts +8 -3
  382. package/lib/cs/TaskManager/TaskManager.stories.d.ts.map +1 -1
  383. package/lib/cs/TaskManager/TaskManager.stories.js +143 -120
  384. package/lib/cs/TaskManager/TaskManager.stories.js.map +1 -1
  385. package/lib/rte/Editor/Editor.stories.js +1 -1
  386. package/lib/rte/Editor/Editor.stories.js.map +1 -1
  387. package/lib/social/Email/Email.mocks.d.ts +20 -4
  388. package/lib/social/Email/Email.mocks.d.ts.map +1 -1
  389. package/lib/social/Email/Email.mocks.js +49 -4
  390. package/lib/social/Email/Email.mocks.js.map +1 -1
  391. package/lib/social/Email/Email.stories.d.ts +1 -1
  392. package/lib/social/Email/Email.stories.d.ts.map +1 -1
  393. package/lib/social/Email/Email.stories.js +47 -22
  394. package/lib/social/Email/Email.stories.js.map +1 -1
  395. package/lib/social/Feed/Feed.stories.d.ts.map +1 -1
  396. package/lib/social/Feed/Feed.stories.js +1 -1
  397. package/lib/social/Feed/Feed.stories.js.map +1 -1
  398. package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
  399. package/lib/work/CaseView/CaseView.mocks.js +1 -1
  400. package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
  401. package/lib/work/CaseView/CaseView.stories.d.ts.map +1 -1
  402. package/lib/work/CaseView/CaseView.stories.js +7 -7
  403. package/lib/work/CaseView/CaseView.stories.js.map +1 -1
  404. package/lib/work/CaseView/Details.mocks.d.ts.map +1 -1
  405. package/lib/work/CaseView/Details.mocks.js +1 -1
  406. package/lib/work/CaseView/Details.mocks.js.map +1 -1
  407. package/lib/work/CaseView/Pulse.mocks.d.ts.map +1 -1
  408. package/lib/work/CaseView/Pulse.mocks.js +1 -1
  409. package/lib/work/CaseView/Pulse.mocks.js.map +1 -1
  410. package/lib/work/ConfigurableLayout/ConfigurableLayout.stories.d.ts.map +1 -1
  411. package/lib/work/ConfigurableLayout/ConfigurableLayout.stories.js +1 -1
  412. package/lib/work/ConfigurableLayout/ConfigurableLayout.stories.js.map +1 -1
  413. package/lib/work/Confirmation/Confirmation.stories.d.ts.map +1 -1
  414. package/lib/work/Confirmation/Confirmation.stories.js +2 -2
  415. package/lib/work/Confirmation/Confirmation.stories.js.map +1 -1
  416. package/lib/work/Details/Details.stories.d.ts.map +1 -1
  417. package/lib/work/Details/Details.stories.js +56 -53
  418. package/lib/work/Details/Details.stories.js.map +1 -1
  419. package/lib/work/SearchResults/SearchResults.stories.d.ts.map +1 -1
  420. package/lib/work/SearchResults/SearchResults.stories.js +1 -1
  421. package/lib/work/SearchResults/SearchResults.stories.js.map +1 -1
  422. package/lib/work/Stakeholders/Stakeholders.mocks.d.ts.map +1 -1
  423. package/lib/work/Stakeholders/Stakeholders.mocks.js +2 -2
  424. package/lib/work/Stakeholders/Stakeholders.mocks.js.map +1 -1
  425. package/package.json +16 -16
  426. package/jsx/social/Email/Email.mocks.jsx.map +0 -1
@@ -1,7 +1,8 @@
1
1
  import { Meta, Story } from '@storybook/react';
2
+ import { BranchButtonProps } from '@pega/cosmos-react-build';
2
3
  declare const _default: Meta<import("@storybook/react").Args>;
3
4
  export default _default;
4
- interface AppHeaderStoryProps {
5
+ interface AppHeaderStoryProps extends BranchButtonProps {
5
6
  showPreview: boolean;
6
7
  }
7
8
  export declare const appHeader: Story<AppHeaderStoryProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.stories.d.ts","sourceRoot":"","sources":["../../../src/build/AppHeader/AppHeader.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAK/C,wBAMU;AAEV,UAAU,mBAAmB;IAC3B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,mBAAmB,CAsDhD,CAAC"}
1
+ {"version":3,"file":"AppHeader.stories.d.ts","sourceRoot":"","sources":["../../../src/build/AppHeader/AppHeader.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAa,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;;AAExE,wBAMU;AAEV,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,mBAAmB,CA+EhD,CAAC"}
@@ -15,19 +15,44 @@ export const appHeader = (args) => (<AppHeader brand={{
15
15
  search: {
16
16
  placeholder: 'Search anything, anywhere…'
17
17
  },
18
- branchName: 'test',
19
- actions: [
20
- {
21
- primary: 'Switch branch',
22
- id: 'switchbranch',
23
- onClick: action('Clicked switchbranch')
24
- },
25
- {
26
- primary: 'Create branch',
27
- id: 'createbranch',
28
- onClick: action('Clicked createbranch')
29
- }
30
- ],
18
+ branch: {
19
+ text: args.text,
20
+ count: args.count,
21
+ variant: args.variant,
22
+ compact: args.compact,
23
+ items: [
24
+ {
25
+ primary: 'Commit to branch',
26
+ id: 'commitToBranch',
27
+ onClick: action('Clicked commitToBranch')
28
+ },
29
+ {
30
+ primary: 'Merge branch',
31
+ id: 'mergeBranch',
32
+ onClick: action('Clicked mergeBranch')
33
+ },
34
+ {
35
+ primary: 'View branch',
36
+ id: 'viewBranch',
37
+ onClick: action('Clicked viewBranch')
38
+ },
39
+ {
40
+ primary: 'Switch branch',
41
+ id: 'switchBranch',
42
+ onClick: action('Clicked switchBranch')
43
+ },
44
+ {
45
+ primary: 'Add branch',
46
+ id: 'addBranch',
47
+ onClick: action('Clicked addBranch')
48
+ },
49
+ {
50
+ primary: 'View all branches',
51
+ id: 'viewAllBranches',
52
+ onClick: action('Clicked viewAllBranches')
53
+ }
54
+ ]
55
+ },
31
56
  onPreviewClick: args.showPreview ? action('Clicked preview button') : undefined
32
57
  }} links={[
33
58
  {
@@ -57,9 +82,17 @@ export const appHeader = (args) => (<AppHeader brand={{
57
82
  }
58
83
  ]}/>);
59
84
  appHeader.args = {
85
+ variant: undefined,
86
+ text: 'Alpha branch',
87
+ count: null,
88
+ compact: false,
60
89
  showPreview: true
61
90
  };
62
91
  appHeader.argTypes = {
92
+ variant: { options: ['success', 'urgent'], control: { type: 'radio' } },
93
+ text: { control: { type: 'text' } },
94
+ count: { control: { type: 'number' } },
95
+ compact: { control: { type: 'boolean' } },
63
96
  showPreview: { control: { type: 'boolean' } }
64
97
  };
65
98
  //# sourceMappingURL=AppHeader.stories.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.stories.jsx","sourceRoot":"","sources":["../../../src/build/AppHeader/AppHeader.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,eAAe;IACb,KAAK,EAAE,iBAAiB;IACxB,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE;QACV,MAAM,EAAE,YAAY;KACrB;CACM,CAAC;AAMV,MAAM,CAAC,MAAM,SAAS,GAA+B,CAAC,IAAyB,EAAE,EAAE,CAAC,CAClF,CAAC,SAAS,CACR,KAAK,CAAC,CAAC;QACL,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,MAAM,CAAC,qBAAqB,CAAC;KACvC,CAAC,CACF,KAAK,CAAC,CAAC;QACL,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3B,MAAM,EAAE;YACN,WAAW,EAAE,4BAA4B;SAC1C;QACD,UAAU,EAAE,MAAM;QAClB,OAAO,EAAE;YACP;gBACE,OAAO,EAAE,eAAe;gBACxB,EAAE,EAAE,cAAc;gBAClB,OAAO,EAAE,MAAM,CAAC,sBAAsB,CAAC;aACxC;YACD;gBACE,OAAO,EAAE,eAAe;gBACxB,EAAE,EAAE,cAAc;gBAClB,OAAO,EAAE,MAAM,CAAC,sBAAsB,CAAC;aACxC;SACF;QACD,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS;KAChF,CAAC,CACF,KAAK,CAAC,CAAC;QACL;YACE,EAAE,EAAE,GAAG;YACP,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,MAAM,CAAC,sBAAsB,CAAC;SACxC;QACD;YACE,EAAE,EAAE,GAAG;YACP,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,MAAM,CAAC,0BAA0B,CAAC;SAC5C;QACD;YACE,EAAE,EAAE,GAAG;YACP,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC;SACjC;QACD;YACE,EAAE,EAAE,GAAG;YACP,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,MAAM,CAAC,wBAAwB,CAAC;SAC1C;QACD;YACE,EAAE,EAAE,GAAG;YACP,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;SAClC;KACF,CAAC,EACF,CACH,CAAC;AAEF,SAAS,CAAC,IAAI,GAAG;IACf,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,SAAS,CAAC,QAAQ,GAAG;IACnB,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CAC9C,CAAC","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { AppHeader } from '@pega/cosmos-react-build';\n\nexport default {\n title: 'Build/AppHeader',\n component: AppHeader,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\ninterface AppHeaderStoryProps {\n showPreview: boolean;\n}\n\nexport const appHeader: Story<AppHeaderStoryProps> = (args: AppHeaderStoryProps) => (\n <AppHeader\n brand={{\n name: 'AppStudioX',\n onClick: action('Clicked application')\n }}\n utils={{\n avatar: { name: 'Lee Ram' },\n search: {\n placeholder: 'Search anything, anywhere…'\n },\n branchName: 'test',\n actions: [\n {\n primary: 'Switch branch',\n id: 'switchbranch',\n onClick: action('Clicked switchbranch')\n },\n {\n primary: 'Create branch',\n id: 'createbranch',\n onClick: action('Clicked createbranch')\n }\n ],\n onPreviewClick: args.showPreview ? action('Clicked preview button') : undefined\n }}\n links={[\n {\n id: '1',\n name: 'Applications',\n onClick: action('Clicked Applications')\n },\n {\n id: '2',\n name: 'Shared resources',\n onClick: action('Clicked Shared resources')\n },\n {\n id: '3',\n name: 'Teams',\n onClick: action('Clicked Teams')\n },\n {\n id: '4',\n name: 'AI & Analytics',\n onClick: action('Clicked AI & Analytics')\n },\n {\n id: '5',\n name: 'Deploy',\n onClick: action('Clicked Deploy')\n }\n ]}\n />\n);\n\nappHeader.args = {\n showPreview: true\n};\n\nappHeader.argTypes = {\n showPreview: { control: { type: 'boolean' } }\n};\n"]}
1
+ {"version":3,"file":"AppHeader.stories.jsx","sourceRoot":"","sources":["../../../src/build/AppHeader/AppHeader.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { AppHeader, BranchButtonProps } from '@pega/cosmos-react-build';\n\nexport default {\n title: 'Build/AppHeader',\n component: AppHeader,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\ninterface AppHeaderStoryProps extends BranchButtonProps {\n showPreview: boolean;\n}\n\nexport const appHeader: Story<AppHeaderStoryProps> = (args: AppHeaderStoryProps) => (\n <AppHeader\n brand={{\n name: 'AppStudioX',\n onClick: action('Clicked application')\n }}\n utils={{\n avatar: { name: 'Lee Ram' },\n search: {\n placeholder: 'Search anything, anywhere…'\n },\n branch: {\n text: args.text,\n count: args.count,\n variant: args.variant,\n compact: args.compact,\n items: [\n {\n primary: 'Commit to branch',\n id: 'commitToBranch',\n onClick: action('Clicked commitToBranch')\n },\n {\n primary: 'Merge branch',\n id: 'mergeBranch',\n onClick: action('Clicked mergeBranch')\n },\n {\n primary: 'View branch',\n id: 'viewBranch',\n onClick: action('Clicked viewBranch')\n },\n {\n primary: 'Switch branch',\n id: 'switchBranch',\n onClick: action('Clicked switchBranch')\n },\n {\n primary: 'Add branch',\n id: 'addBranch',\n onClick: action('Clicked addBranch')\n },\n {\n primary: 'View all branches',\n id: 'viewAllBranches',\n onClick: action('Clicked viewAllBranches')\n }\n ]\n },\n onPreviewClick: args.showPreview ? action('Clicked preview button') : undefined\n }}\n links={[\n {\n id: '1',\n name: 'Applications',\n onClick: action('Clicked Applications')\n },\n {\n id: '2',\n name: 'Shared resources',\n onClick: action('Clicked Shared resources')\n },\n {\n id: '3',\n name: 'Teams',\n onClick: action('Clicked Teams')\n },\n {\n id: '4',\n name: 'AI & Analytics',\n onClick: action('Clicked AI & Analytics')\n },\n {\n id: '5',\n name: 'Deploy',\n onClick: action('Clicked Deploy')\n }\n ]}\n />\n);\n\nappHeader.args = {\n variant: undefined,\n text: 'Alpha branch',\n count: null,\n compact: false,\n showPreview: true\n};\n\nappHeader.argTypes = {\n variant: { options: ['success', 'urgent'], control: { type: 'radio' } },\n text: { control: { type: 'text' } },\n count: { control: { type: 'number' } },\n compact: { control: { type: 'boolean' } },\n showPreview: { control: { type: 'boolean' } }\n};\n"]}
@@ -1,8 +1,9 @@
1
1
  import { MouseEvent } from 'react';
2
2
  import { Meta, Story } from '@storybook/react';
3
+ import { BranchButtonProps } from '@pega/cosmos-react-build';
3
4
  declare const _default: Meta<import("@storybook/react").Args>;
4
5
  export default _default;
5
- export interface AppShellStoryProps {
6
+ export interface AppShellStoryProps extends BranchButtonProps {
6
7
  hideNavigation: boolean;
7
8
  showBreadcrumbs: boolean;
8
9
  showPreview: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.stories.d.ts","sourceRoot":"","sources":["../../../src/build/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;;AAmB/C,wBAMU;AAEV,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC5D;AAoED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CA0JlD,CAAC"}
1
+ {"version":3,"file":"AppShell.stories.d.ts","sourceRoot":"","sources":["../../../src/build/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAS/C,OAAO,EAAY,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;;AAUvE,wBAMU;AAEV,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC5D;AAoED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAmLlD,CAAC"}
@@ -74,19 +74,44 @@ export const AppShellDemo = (args) => {
74
74
  search: {
75
75
  placeholder: 'Search anything, anywhere…'
76
76
  },
77
- branchName: 'test',
78
- actions: [
79
- {
80
- primary: 'Switch branch',
81
- id: 'switchbranch',
82
- onClick: () => action('Clicked switchbranch')()
83
- },
84
- {
85
- primary: 'Create branch',
86
- id: 'createbranch',
87
- onClick: () => action('Clicked createbranch')()
88
- }
89
- ],
77
+ branch: {
78
+ text: args.text,
79
+ variant: args.variant,
80
+ count: args.count,
81
+ compact: args.compact,
82
+ items: [
83
+ {
84
+ primary: 'Commit to branch',
85
+ id: 'commitToBranch',
86
+ onClick: action('Clicked commitToBranch')
87
+ },
88
+ {
89
+ primary: 'Merge branch',
90
+ id: 'mergeBranch',
91
+ onClick: action('Clicked mergeBranch')
92
+ },
93
+ {
94
+ primary: 'View branch',
95
+ id: 'viewBranch',
96
+ onClick: action('Clicked viewBranch')
97
+ },
98
+ {
99
+ primary: 'Switch branch',
100
+ id: 'switchBranch',
101
+ onClick: action('Clicked switchBranch')
102
+ },
103
+ {
104
+ primary: 'Add branch',
105
+ id: 'addBranch',
106
+ onClick: action('Clicked addBranch')
107
+ },
108
+ {
109
+ primary: 'View all branches',
110
+ id: 'viewAllBranches',
111
+ onClick: action('Clicked viewAllBranches')
112
+ }
113
+ ]
114
+ },
90
115
  onPreviewClick: args.showPreview ? args.onPreviewClick : undefined
91
116
  },
92
117
  links: [
@@ -182,12 +207,20 @@ export const AppShellDemo = (args) => {
182
207
  AppShellDemo.args = {
183
208
  hideNavigation: false,
184
209
  showBreadcrumbs: true,
210
+ variant: undefined,
211
+ text: 'Alpha branch',
212
+ count: null,
213
+ compact: false,
185
214
  showPreview: true,
186
215
  onPreviewClick: action('Clicked preview button')
187
216
  };
188
217
  AppShellDemo.argTypes = {
189
218
  hideNavigation: { control: { type: 'boolean' } },
190
219
  showBreadcrumbs: { control: { type: 'boolean' } },
220
+ variant: { options: ['success', 'urgent'], control: { type: 'radio' } },
221
+ text: { control: { type: 'text' } },
222
+ count: { control: { type: 'number' } },
223
+ compact: { control: { type: 'boolean' } },
191
224
  showPreview: { control: { type: 'boolean' } },
192
225
  onPreviewClick: { table: { disable: true } }
193
226
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.stories.jsx","sourceRoot":"","sources":["../../../src/build/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, MouseEvent } from 'react';\nimport { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport {\n Text,\n StandardTreeProps,\n treeHelpers,\n TabbedPage as TabbedPageComp\n} from '@pega/cosmos-react-core';\nimport { AppShell } from '@pega/cosmos-react-build';\n\nimport {\n appExplorerMenuList,\n branchesMenuList,\n contents,\n recordMenuList,\n treeList\n} from './AppShell.mocks';\n\nexport default {\n title: 'Build/AppShell',\n component: AppShell,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport interface AppShellStoryProps {\n hideNavigation: boolean;\n showBreadcrumbs: boolean;\n showPreview: boolean;\n onPreviewClick: (e: MouseEvent<HTMLButtonElement>) => void;\n}\n\ninterface PageContentProps {\n id: string;\n data: {\n pageTitle: string;\n breadcrumbsPath: string;\n tabs: string[];\n };\n}\n\nconst getPath = (\n args: Pick<AppShellStoryProps, 'showBreadcrumbs'> & { pageContent: PageContentProps }\n) => {\n const {\n showBreadcrumbs,\n pageContent: {\n data: { pageTitle, breadcrumbsPath }\n }\n } = args;\n\n if (showBreadcrumbs) {\n const path = pageTitle === 'Overview' ? 'Home' : breadcrumbsPath;\n return path\n ? path.split(',').map((crumb: string, i) => {\n // FIXME: https://stackoverflow.com/questions/63616486/property-replaceall-does-not-exist-on-type-string\n return {\n id: crumb,\n primary: crumb,\n href: i < 3 ? `#${(crumb as any).replace(/\\s/g, '-')}` : undefined\n };\n })\n : [];\n }\n};\n\nconst TabbedPage: Story<AppShellStoryProps & { pageContent: PageContentProps }> = (\n args: AppShellStoryProps & { pageContent: PageContentProps }\n) => {\n const [currentTabId, setCurrentTabId] = useState('1');\n const [content, setContent] = useState('Tab 1 content');\n const { pageContent, showBreadcrumbs } = args;\n\n return (\n <TabbedPageComp\n a={\n <Text variant='h1' as='div'>\n {content}\n </Text>\n }\n path={getPath({ showBreadcrumbs, pageContent })}\n title={pageContent.data.pageTitle}\n tabs={{\n tabs: pageContent.data.tabs.map((name, i) => {\n const id = `${i + 1}`;\n return { id, name };\n }),\n type: 'horizontal',\n currentTabId,\n onTabClick: id => {\n setCurrentTabId(id);\n setContent(`Tab ${id} content`);\n }\n }}\n />\n );\n};\n\nexport const AppShellDemo: Story<AppShellStoryProps> = (args: AppShellStoryProps) => {\n const [currentNodeId, setCurrentNodeId] = useState<string>('60');\n const [allNodes, setAllNodes] = useState<StandardTreeProps['nodes']>(\n treeHelpers.expandTo(appExplorerMenuList, currentNodeId)\n );\n const [currentDrawer, setCurrentDrawer] = useState('explorer');\n const [currentUtil, setCurrentUtil] = useState('explorer');\n const [pageContent, setPageContent] = useState<PageContentProps>(contents[0]);\n\n const onNodeClick = (nodeId: string, activeDrawerId: string) => {\n const clickedNode = treeHelpers.getNode(allNodes, nodeId);\n\n if (!clickedNode?.nodes) {\n setCurrentUtil(activeDrawerId);\n setCurrentNodeId(nodeId);\n setPageContent(contents.find(content => content.id === clickedNode?.id)!);\n return;\n }\n\n setAllNodes(tree =>\n treeHelpers.mapNode(tree, nodeId, node => {\n return {\n ...node,\n expanded: !node.expanded\n };\n })\n );\n };\n\n const appHeader = {\n brand: {\n name: 'AppStudioX'\n },\n utils: {\n avatar: { name: 'Alan' },\n search: {\n placeholder: 'Search anything, anywhere…'\n },\n branchName: 'test',\n actions: [\n {\n primary: 'Switch branch',\n id: 'switchbranch',\n onClick: () => action('Clicked switchbranch')()\n },\n {\n primary: 'Create branch',\n id: 'createbranch',\n onClick: () => action('Clicked createbranch')()\n }\n ],\n onPreviewClick: args.showPreview ? args.onPreviewClick : undefined\n },\n links: [\n {\n id: '1',\n name: 'Applications',\n onClick: () => action('Clicked Applications')()\n },\n {\n id: '2',\n name: 'Shared resources',\n onClick: () => action('Clicked Shared resources')()\n },\n {\n id: '3',\n name: 'Teams',\n onClick: () => action('Clicked Teams')()\n },\n {\n id: '4',\n name: 'AI & Analytics',\n onClick: () => action('Clicked AI & Analytics')()\n },\n {\n id: '5',\n name: 'Deploy',\n onClick: () => action('Clicked Deploy')()\n }\n ]\n };\n\n return (\n <>\n <AppShell\n main={<TabbedPage {...{ ...args, pageContent }} />}\n appHeader={appHeader}\n hideNav={args.hideNavigation}\n appInfo={{\n text: 'U+ Desk',\n visual: {\n icon: {\n name: 'phone-in-solid',\n bgColor: '#0ac7c8'\n }\n }\n }}\n navigation={{\n nodes: allNodes,\n currentNodeId,\n onNodeClick: id => {\n onNodeClick(id, currentDrawer);\n }\n }}\n utils={{\n onItemClick: id => {\n setCurrentDrawer(id);\n if (id === 'explorer') {\n const appExploreTree = currentNodeId\n ? treeHelpers.expandTo(appExplorerMenuList, currentNodeId)\n : appExplorerMenuList;\n setAllNodes(appExploreTree);\n }\n\n if (id === 'branches') {\n const branchTree = currentNodeId\n ? treeHelpers.expandTo(branchesMenuList, currentNodeId)\n : branchesMenuList;\n setAllNodes(branchTree);\n }\n\n if (id === 'records') {\n const recordTree = currentNodeId\n ? treeHelpers.expandTo(recordMenuList, currentNodeId)\n : recordMenuList;\n setAllNodes(recordTree);\n }\n },\n currentItemId: currentUtil,\n items: [\n {\n label: 'App Explorer',\n id: 'explorer'\n },\n {\n label: 'Branches',\n id: 'branches'\n },\n {\n label: 'Records',\n id: 'records'\n }\n ],\n drawer: {\n onBeforeClose: () => {\n setCurrentDrawer('');\n setAllNodes(currentNodeId ? treeHelpers.expandTo(treeList, currentNodeId) : treeList);\n }\n },\n devMode: true\n }}\n />\n </>\n );\n};\n\nAppShellDemo.args = {\n hideNavigation: false,\n showBreadcrumbs: true,\n showPreview: true,\n onPreviewClick: action('Clicked preview button')\n};\n\nAppShellDemo.argTypes = {\n hideNavigation: { control: { type: 'boolean' } },\n showBreadcrumbs: { control: { type: 'boolean' } },\n showPreview: { control: { type: 'boolean' } },\n onPreviewClick: { table: { disable: true } }\n};\n"]}
1
+ {"version":3,"file":"AppShell.stories.jsx","sourceRoot":"","sources":["../../../src/build/AppShell/AppShell.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, MouseEvent } from 'react';\nimport { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport {\n Text,\n StandardTreeProps,\n treeHelpers,\n TabbedPage as TabbedPageComp\n} from '@pega/cosmos-react-core';\nimport { AppShell, BranchButtonProps } from '@pega/cosmos-react-build';\n\nimport {\n appExplorerMenuList,\n branchesMenuList,\n contents,\n recordMenuList,\n treeList\n} from './AppShell.mocks';\n\nexport default {\n title: 'Build/AppShell',\n component: AppShell,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\nexport interface AppShellStoryProps extends BranchButtonProps {\n hideNavigation: boolean;\n showBreadcrumbs: boolean;\n showPreview: boolean;\n onPreviewClick: (e: MouseEvent<HTMLButtonElement>) => void;\n}\n\ninterface PageContentProps {\n id: string;\n data: {\n pageTitle: string;\n breadcrumbsPath: string;\n tabs: string[];\n };\n}\n\nconst getPath = (\n args: Pick<AppShellStoryProps, 'showBreadcrumbs'> & { pageContent: PageContentProps }\n) => {\n const {\n showBreadcrumbs,\n pageContent: {\n data: { pageTitle, breadcrumbsPath }\n }\n } = args;\n\n if (showBreadcrumbs) {\n const path = pageTitle === 'Overview' ? 'Home' : breadcrumbsPath;\n return path\n ? path.split(',').map((crumb: string, i) => {\n // FIXME: https://stackoverflow.com/questions/63616486/property-replaceall-does-not-exist-on-type-string\n return {\n id: crumb,\n primary: crumb,\n href: i < 3 ? `#${(crumb as any).replace(/\\s/g, '-')}` : undefined\n };\n })\n : [];\n }\n};\n\nconst TabbedPage: Story<AppShellStoryProps & { pageContent: PageContentProps }> = (\n args: AppShellStoryProps & { pageContent: PageContentProps }\n) => {\n const [currentTabId, setCurrentTabId] = useState('1');\n const [content, setContent] = useState('Tab 1 content');\n const { pageContent, showBreadcrumbs } = args;\n\n return (\n <TabbedPageComp\n a={\n <Text variant='h1' as='div'>\n {content}\n </Text>\n }\n path={getPath({ showBreadcrumbs, pageContent })}\n title={pageContent.data.pageTitle}\n tabs={{\n tabs: pageContent.data.tabs.map((name, i) => {\n const id = `${i + 1}`;\n return { id, name };\n }),\n type: 'horizontal',\n currentTabId,\n onTabClick: id => {\n setCurrentTabId(id);\n setContent(`Tab ${id} content`);\n }\n }}\n />\n );\n};\n\nexport const AppShellDemo: Story<AppShellStoryProps> = (args: AppShellStoryProps) => {\n const [currentNodeId, setCurrentNodeId] = useState<string>('60');\n const [allNodes, setAllNodes] = useState<StandardTreeProps['nodes']>(\n treeHelpers.expandTo(appExplorerMenuList, currentNodeId)\n );\n const [currentDrawer, setCurrentDrawer] = useState('explorer');\n const [currentUtil, setCurrentUtil] = useState('explorer');\n const [pageContent, setPageContent] = useState<PageContentProps>(contents[0]);\n\n const onNodeClick = (nodeId: string, activeDrawerId: string) => {\n const clickedNode = treeHelpers.getNode(allNodes, nodeId);\n\n if (!clickedNode?.nodes) {\n setCurrentUtil(activeDrawerId);\n setCurrentNodeId(nodeId);\n setPageContent(contents.find(content => content.id === clickedNode?.id)!);\n return;\n }\n\n setAllNodes(tree =>\n treeHelpers.mapNode(tree, nodeId, node => {\n return {\n ...node,\n expanded: !node.expanded\n };\n })\n );\n };\n\n const appHeader = {\n brand: {\n name: 'AppStudioX'\n },\n utils: {\n avatar: { name: 'Alan' },\n search: {\n placeholder: 'Search anything, anywhere…'\n },\n branch: {\n text: args.text,\n variant: args.variant,\n count: args.count,\n compact: args.compact,\n items: [\n {\n primary: 'Commit to branch',\n id: 'commitToBranch',\n onClick: action('Clicked commitToBranch')\n },\n {\n primary: 'Merge branch',\n id: 'mergeBranch',\n onClick: action('Clicked mergeBranch')\n },\n {\n primary: 'View branch',\n id: 'viewBranch',\n onClick: action('Clicked viewBranch')\n },\n {\n primary: 'Switch branch',\n id: 'switchBranch',\n onClick: action('Clicked switchBranch')\n },\n {\n primary: 'Add branch',\n id: 'addBranch',\n onClick: action('Clicked addBranch')\n },\n {\n primary: 'View all branches',\n id: 'viewAllBranches',\n onClick: action('Clicked viewAllBranches')\n }\n ]\n },\n onPreviewClick: args.showPreview ? args.onPreviewClick : undefined\n },\n links: [\n {\n id: '1',\n name: 'Applications',\n onClick: () => action('Clicked Applications')()\n },\n {\n id: '2',\n name: 'Shared resources',\n onClick: () => action('Clicked Shared resources')()\n },\n {\n id: '3',\n name: 'Teams',\n onClick: () => action('Clicked Teams')()\n },\n {\n id: '4',\n name: 'AI & Analytics',\n onClick: () => action('Clicked AI & Analytics')()\n },\n {\n id: '5',\n name: 'Deploy',\n onClick: () => action('Clicked Deploy')()\n }\n ]\n };\n\n return (\n <>\n <AppShell\n main={<TabbedPage {...{ ...args, pageContent }} />}\n appHeader={appHeader}\n hideNav={args.hideNavigation}\n appInfo={{\n text: 'U+ Desk',\n visual: {\n icon: {\n name: 'phone-in-solid',\n bgColor: '#0ac7c8'\n }\n }\n }}\n navigation={{\n nodes: allNodes,\n currentNodeId,\n onNodeClick: id => {\n onNodeClick(id, currentDrawer);\n }\n }}\n utils={{\n onItemClick: id => {\n setCurrentDrawer(id);\n if (id === 'explorer') {\n const appExploreTree = currentNodeId\n ? treeHelpers.expandTo(appExplorerMenuList, currentNodeId)\n : appExplorerMenuList;\n setAllNodes(appExploreTree);\n }\n\n if (id === 'branches') {\n const branchTree = currentNodeId\n ? treeHelpers.expandTo(branchesMenuList, currentNodeId)\n : branchesMenuList;\n setAllNodes(branchTree);\n }\n\n if (id === 'records') {\n const recordTree = currentNodeId\n ? treeHelpers.expandTo(recordMenuList, currentNodeId)\n : recordMenuList;\n setAllNodes(recordTree);\n }\n },\n currentItemId: currentUtil,\n items: [\n {\n label: 'App Explorer',\n id: 'explorer'\n },\n {\n label: 'Branches',\n id: 'branches'\n },\n {\n label: 'Records',\n id: 'records'\n }\n ],\n drawer: {\n onBeforeClose: () => {\n setCurrentDrawer('');\n setAllNodes(currentNodeId ? treeHelpers.expandTo(treeList, currentNodeId) : treeList);\n }\n },\n devMode: true\n }}\n />\n </>\n );\n};\n\nAppShellDemo.args = {\n hideNavigation: false,\n showBreadcrumbs: true,\n variant: undefined,\n text: 'Alpha branch',\n count: null,\n compact: false,\n showPreview: true,\n onPreviewClick: action('Clicked preview button')\n};\n\nAppShellDemo.argTypes = {\n hideNavigation: { control: { type: 'boolean' } },\n showBreadcrumbs: { control: { type: 'boolean' } },\n variant: { options: ['success', 'urgent'], control: { type: 'radio' } },\n text: { control: { type: 'text' } },\n count: { control: { type: 'number' } },\n compact: { control: { type: 'boolean' } },\n showPreview: { control: { type: 'boolean' } },\n onPreviewClick: { table: { disable: true } }\n};\n"]}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import { Meta } from '@storybook/react';
3
+ declare const _default: Meta<import("@storybook/react").Args>;
4
+ export default _default;
5
+ export declare const DynamicContentEditorDemo: () => JSX.Element;
6
+ //# sourceMappingURL=DynamicContentEditor.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicContentEditor.stories.d.ts","sourceRoot":"","sources":["../../../src/build/DynamicContentEditor/DynamicContentEditor.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;;AAmBxC,wBAGU;AAEV,eAAO,MAAM,wBAAwB,mBAwFpC,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { useRef, useState, useCallback } from 'react';
2
+ import { Button, Card, CardContent, CardFooter, Flex, TextArea, useAutoResize, useConsolidatedRef, useI18n } from '@pega/cosmos-react-core';
3
+ import { DynamicContentEditor } from '@pega/cosmos-react-build';
4
+ import FieldSelector from './FieldSelector';
5
+ export default {
6
+ title: 'Build/DynamicContentEditor',
7
+ component: DynamicContentEditor
8
+ };
9
+ export const DynamicContentEditorDemo = () => {
10
+ const [html, setHtml] = useState('<p>Hi <pega-reference role="button" contenteditable="false" data-rule-type="field" data-rule-id="CustomerName">CustomerName</pega-reference><p>please check this <a href="https://google.com">link</a></p></p>');
11
+ const rteRef = useRef(null);
12
+ const onImageAdded = (image, id) => {
13
+ const src = URL.createObjectURL(image);
14
+ rteRef.current?.appendImage({ src, alt: image.name }, id);
15
+ };
16
+ const [textAreaRef, resizeTextArea] = useAutoResize(undefined, 100);
17
+ const ref = useRef(null);
18
+ const consolidatedRef = useConsolidatedRef(textAreaRef, ref);
19
+ const handleShowHtml = () => {
20
+ resizeTextArea();
21
+ setHtml(rteRef.current?.getHtml() || '');
22
+ };
23
+ const t = useI18n();
24
+ const [selectedField, setSelectedField] = useState({
25
+ id: '',
26
+ text: ''
27
+ });
28
+ const updateSelection = (selectedItem) => {
29
+ setSelectedField(selectedItem);
30
+ };
31
+ const onSubmit = useCallback((insertField) => {
32
+ insertField(selectedField);
33
+ }, [selectedField]);
34
+ const dynamicContentPicker = (<Flex container={{
35
+ gap: 2,
36
+ direction: 'column'
37
+ }}>
38
+ <FieldSelector itemList={[
39
+ { id: 'CustomerName', text: 'CustomerName' },
40
+ { id: 'Address', text: 'Address' },
41
+ { id: 'Locality', text: 'Locality' },
42
+ { id: 'Country', text: 'Country' },
43
+ { id: 'Region', text: 'Region' },
44
+ { id: 'Occupation', text: 'Occupation' }
45
+ ]} key={selectedField?.id} label='Field' updateSelection={updateSelection} placeholder={t('select')} defaultSelection={selectedField}/>
46
+ </Flex>);
47
+ return (<Flex container={{ direction: 'column', gap: 2 }}>
48
+ <Card>
49
+ <CardContent>
50
+ <TextArea value={html} onChange={e => setHtml(e.target.value)} autoResize ref={consolidatedRef}/>
51
+ </CardContent>
52
+ <CardFooter>
53
+ <Button onClick={() => rteRef.current?.insertHtml(html.trim(), true)}>
54
+ Overwrite RTE with new HTML
55
+ </Button>
56
+ </CardFooter>
57
+ </Card>
58
+ <DynamicContentEditor defaultValue={html} onImageAdded={onImageAdded} ref={rteRef} label='Dynamic content editor' toolbar={['inline-styling', 'lists', 'indentation', 'links', 'images']} form={{ onSubmit, dynamicContentPicker }} onActiveFieldChange={(field) => setSelectedField(field)}/>
59
+ <Flex container={{ gap: 1 }}>
60
+ <Button onClick={() => handleShowHtml()}>Show HTML</Button>
61
+ </Flex>
62
+ </Flex>);
63
+ };
64
+ //# sourceMappingURL=DynamicContentEditor.stories.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicContentEditor.stories.jsx","sourceRoot":"","sources":["../../../src/build/DynamicContentEditor/DynamicContentEditor.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EACL,MAAM,EACN,IAAI,EACJ,WAAW,EACX,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,OAAO,EACR,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAY,MAAM,0BAA0B,CAAC;AAE1E,OAAO,aAAqC,MAAM,iBAAiB,CAAC;AAEpE,eAAe;IACb,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,oBAAoB;CACxB,CAAC;AAEV,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAC9B,gNAAgN,CACjN,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAEzC,MAAM,YAAY,GAAG,CAAC,KAAW,EAAE,EAAU,EAAE,EAAE;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,aAAa,CAAsB,SAAS,EAAE,GAAG,CAAC,CAAC;IACzF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,eAAe,GAAG,kBAAkB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,cAAc,EAAE,CAAC;QACjB,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAW;QAC3D,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IAEH,MAAM,eAAe,GAA0C,CAAC,YAAsB,EAAE,EAAE;QACxF,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,WAA8C,EAAE,EAAE;QACjD,WAAW,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAC3B,CAAC,IAAI,CACH,SAAS,CAAC,CAAC;YACT,GAAG,EAAE,CAAC;YACN,SAAS,EAAE,QAAQ;SACpB,CAAC,CAEF;MAAA,CAAC,aAAa,CACZ,QAAQ,CAAC,CAAC;YACR,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE;YAC5C,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;YACpC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;SACzC,CAAC,CACF,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CACvB,KAAK,CAAC,OAAO,CACb,eAAe,CAAC,CAAC,eAAe,CAAC,CACjC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CACzB,gBAAgB,CAAC,CAAC,aAAa,CAAC,EAEpC;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;IACF,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAC/C;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,WAAW,CACV;UAAA,CAAC,QAAQ,CACP,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACvC,UAAU,CACV,GAAG,CAAC,CAAC,eAAe,CAAC,EAEzB;QAAA,EAAE,WAAW,CACb;QAAA,CAAC,UAAU,CACT;UAAA,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CACnE;;UACF,EAAE,MAAM,CACV;QAAA,EAAE,UAAU,CACd;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,oBAAoB,CACnB,YAAY,CAAC,CAAC,IAAI,CAAC,CACnB,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,GAAG,CAAC,CAAC,MAAM,CAAC,CACZ,KAAK,CAAC,wBAAwB,CAC9B,OAAO,CAAC,CAAC,CAAC,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CACvE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CACzC,mBAAmB,CAAC,CAAC,CAAC,KAAe,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAEpE;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAC1B;QAAA,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,CAC5D;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { Meta } from '@storybook/react';\nimport { useRef, useState, useCallback } from 'react';\n\nimport {\n Button,\n Card,\n CardContent,\n CardFooter,\n Flex,\n TextArea,\n useAutoResize,\n useConsolidatedRef,\n useI18n\n} from '@pega/cosmos-react-core';\nimport { EditorState } from '@pega/cosmos-react-rte';\nimport { DynamicContentEditor, ItemType } from '@pega/cosmos-react-build';\n\nimport FieldSelector, { FieldSelectorProps } from './FieldSelector';\n\nexport default {\n title: 'Build/DynamicContentEditor',\n component: DynamicContentEditor\n} as Meta;\n\nexport const DynamicContentEditorDemo = () => {\n const [html, setHtml] = useState(\n '<p>Hi <pega-reference role=\"button\" contenteditable=\"false\" data-rule-type=\"field\" data-rule-id=\"CustomerName\">CustomerName</pega-reference><p>please check this <a href=\"https://google.com\">link</a></p></p>'\n );\n const rteRef = useRef<EditorState>(null);\n\n const onImageAdded = (image: File, id: string) => {\n const src = URL.createObjectURL(image);\n rteRef.current?.appendImage({ src, alt: image.name }, id);\n };\n const [textAreaRef, resizeTextArea] = useAutoResize<HTMLTextAreaElement>(undefined, 100);\n const ref = useRef(null);\n const consolidatedRef = useConsolidatedRef(textAreaRef, ref);\n const handleShowHtml = () => {\n resizeTextArea();\n setHtml(rteRef.current?.getHtml() || '');\n };\n const t = useI18n();\n const [selectedField, setSelectedField] = useState<ItemType>({\n id: '',\n text: ''\n });\n\n const updateSelection: FieldSelectorProps['updateSelection'] = (selectedItem: ItemType) => {\n setSelectedField(selectedItem);\n };\n const onSubmit = useCallback(\n (insertField: (selectedField: ItemType) => void) => {\n insertField(selectedField);\n },\n [selectedField]\n );\n\n const dynamicContentPicker = (\n <Flex\n container={{\n gap: 2,\n direction: 'column'\n }}\n >\n <FieldSelector\n itemList={[\n { id: 'CustomerName', text: 'CustomerName' },\n { id: 'Address', text: 'Address' },\n { id: 'Locality', text: 'Locality' },\n { id: 'Country', text: 'Country' },\n { id: 'Region', text: 'Region' },\n { id: 'Occupation', text: 'Occupation' }\n ]}\n key={selectedField?.id}\n label='Field'\n updateSelection={updateSelection}\n placeholder={t('select')}\n defaultSelection={selectedField}\n />\n </Flex>\n );\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Card>\n <CardContent>\n <TextArea\n value={html}\n onChange={e => setHtml(e.target.value)}\n autoResize\n ref={consolidatedRef}\n />\n </CardContent>\n <CardFooter>\n <Button onClick={() => rteRef.current?.insertHtml(html.trim(), true)}>\n Overwrite RTE with new HTML\n </Button>\n </CardFooter>\n </Card>\n <DynamicContentEditor\n defaultValue={html}\n onImageAdded={onImageAdded}\n ref={rteRef}\n label='Dynamic content editor'\n toolbar={['inline-styling', 'lists', 'indentation', 'links', 'images']}\n form={{ onSubmit, dynamicContentPicker }}\n onActiveFieldChange={(field: ItemType) => setSelectedField(field)}\n />\n <Flex container={{ gap: 1 }}>\n <Button onClick={() => handleShowHtml()}>Show HTML</Button>\n </Flex>\n </Flex>\n );\n};\n"]}
@@ -0,0 +1,11 @@
1
+ import { FunctionComponent } from 'react';
2
+ import { ComboBoxProps, NoChildrenProp } from '@pega/cosmos-react-core';
3
+ import { ItemType } from '@pega/cosmos-react-build/lib/components/DynamicContentEditor/DynamicContentEditor.types';
4
+ export interface FieldSelectorProps extends NoChildrenProp {
5
+ itemList: ItemType[];
6
+ updateSelection: (selectedItem: ItemType, label: ComboBoxProps['label']) => void;
7
+ defaultSelection?: ItemType;
8
+ }
9
+ declare const FieldSelector: FunctionComponent<FieldSelectorProps & Pick<ComboBoxProps, 'label' | 'mode' | 'required' | 'placeholder'>>;
10
+ export default FieldSelector;
11
+ //# sourceMappingURL=FieldSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldSelector.d.ts","sourceRoot":"","sources":["../../../src/build/DynamicContentEditor/FieldSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,iBAAiB,EAAkC,MAAM,OAAO,CAAC;AAEvF,OAAO,EAEL,aAAa,EAGb,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,yFAAyF,CAAC;AAEnH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IAExD,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErB,eAAe,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAEjF,gBAAgB,CAAC,EAAE,QAAQ,CAAC;CAC7B;AAED,QAAA,MAAM,aAAa,EAAE,iBAAiB,CACpC,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC,CAiGxF,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { useMemo, useState, useCallback } from 'react';
2
+ import { ComboBox, createStringMatcher, useI18n } from '@pega/cosmos-react-core';
3
+ const FieldSelector = ({ itemList, label, mode = 'single-select', required = false, updateSelection, placeholder, defaultSelection }) => {
4
+ const t = useI18n();
5
+ const [filterValue, setFilterValue] = useState('');
6
+ const [items, setItems] = useState(() => {
7
+ return itemList.map(item => {
8
+ return {
9
+ id: item.id,
10
+ primary: item.text,
11
+ selected: defaultSelection ? defaultSelection.id === item.id : false
12
+ };
13
+ });
14
+ });
15
+ const filterRegex = createStringMatcher(filterValue, 'contains');
16
+ const itemsToRender = useMemo(() => {
17
+ return filterRegex ? items.filter(({ primary }) => filterRegex.test(primary)) : items;
18
+ }, [filterValue, items]);
19
+ const clearSelection = () => {
20
+ setItems(curr => {
21
+ return curr?.map(item => {
22
+ return {
23
+ ...item,
24
+ selected: false
25
+ };
26
+ });
27
+ });
28
+ };
29
+ const selectItem = useCallback((id) => {
30
+ setFilterValue('');
31
+ setItems(curr => curr?.map(item => {
32
+ if (item.id === id) {
33
+ return {
34
+ ...item,
35
+ selected: true
36
+ };
37
+ }
38
+ return { ...item, selected: false };
39
+ }));
40
+ const selectedItem = items?.find(item => item.id === id);
41
+ if (selectedItem?.id)
42
+ updateSelection({
43
+ id: selectedItem.id,
44
+ text: selectedItem.primary
45
+ }, label);
46
+ }, [filterValue, items]);
47
+ const selected = useMemo(() => {
48
+ return items?.find(item => item.selected);
49
+ }, [items]);
50
+ const comboBoxProps = {
51
+ label,
52
+ placeholder,
53
+ mode,
54
+ value: filterValue,
55
+ selected: selected
56
+ ? {
57
+ items: {
58
+ id: selected.id,
59
+ text: selected.primary
60
+ }
61
+ }
62
+ : undefined,
63
+ onChange: (e) => {
64
+ if (e.target.value)
65
+ clearSelection();
66
+ setFilterValue(e.target.value);
67
+ },
68
+ onBlur: () => setFilterValue(''),
69
+ menu: {
70
+ items: itemsToRender,
71
+ accent: filterRegex,
72
+ onItemClick: selectItem,
73
+ emptyText: t('no_items')
74
+ },
75
+ required
76
+ };
77
+ return <ComboBox {...comboBoxProps}/>;
78
+ };
79
+ export default FieldSelector;
80
+ //# sourceMappingURL=FieldSelector.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldSelector.jsx","sourceRoot":"","sources":["../../../src/build/DynamicContentEditor/FieldSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ChangeEvent, FunctionComponent, useMemo, useState, useCallback } from 'react';\n\nimport {\n ComboBox,\n ComboBoxProps,\n createStringMatcher,\n MenuItemProps,\n NoChildrenProp,\n useI18n\n} from '@pega/cosmos-react-core';\nimport { ItemType } from '@pega/cosmos-react-build/lib/components/DynamicContentEditor/DynamicContentEditor.types';\n\nexport interface FieldSelectorProps extends NoChildrenProp {\n /** Array of values for the combobox options. */\n itemList: ItemType[];\n /** Return selected item */\n updateSelection: (selectedItem: ItemType, label: ComboBoxProps['label']) => void;\n /** Default selected item */\n defaultSelection?: ItemType;\n}\n\nconst FieldSelector: FunctionComponent<\n FieldSelectorProps & Pick<ComboBoxProps, 'label' | 'mode' | 'required' | 'placeholder'>\n> = ({\n itemList,\n label,\n mode = 'single-select',\n required = false,\n updateSelection,\n placeholder,\n defaultSelection\n}) => {\n const t = useI18n();\n\n const [filterValue, setFilterValue] = useState('');\n const [items, setItems] = useState(() => {\n return itemList.map(item => {\n return {\n id: item.id,\n primary: item.text,\n selected: defaultSelection ? defaultSelection.id === item.id : false\n };\n });\n });\n\n const filterRegex = createStringMatcher(filterValue, 'contains');\n const itemsToRender = useMemo(() => {\n return filterRegex ? items.filter(({ primary }) => filterRegex.test(primary)) : items;\n }, [filterValue, items]);\n\n const clearSelection = () => {\n setItems(curr => {\n return curr?.map(item => {\n return {\n ...item,\n selected: false\n };\n });\n });\n };\n\n const selectItem = useCallback(\n (id: MenuItemProps['id']) => {\n setFilterValue('');\n setItems(curr =>\n curr?.map(item => {\n if (item.id === id) {\n return {\n ...item,\n selected: true\n };\n }\n return { ...item, selected: false };\n })\n );\n const selectedItem = items?.find(item => item.id === id);\n if (selectedItem?.id)\n updateSelection(\n {\n id: selectedItem.id,\n text: selectedItem.primary\n },\n label\n );\n },\n [filterValue, items]\n );\n\n const selected = useMemo(() => {\n return items?.find(item => item.selected);\n }, [items]);\n\n const comboBoxProps: ComboBoxProps = {\n label,\n placeholder,\n mode,\n value: filterValue,\n selected: selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined,\n onChange: (e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.value) clearSelection();\n setFilterValue(e.target.value);\n },\n onBlur: () => setFilterValue(''),\n menu: {\n items: itemsToRender,\n accent: filterRegex,\n onItemClick: selectItem,\n emptyText: t('no_items')\n },\n required\n };\n return <ComboBox {...comboBoxProps} />;\n};\n\nexport default FieldSelector;\n"]}
@@ -0,0 +1,7 @@
1
+ import { LibraryItem } from '@pega/cosmos-react-build';
2
+ export interface NodeLibrary extends LibraryItem {
3
+ name: string;
4
+ items?: NodeLibrary[];
5
+ }
6
+ export declare const nodeLibrary: NodeLibrary[];
7
+ //# sourceMappingURL=LibraryPicker.mocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LibraryPicker.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/ItemLibrary/LibraryPicker.mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,eAAO,MAAM,WAAW,EAAE,WAAW,EAgDpC,CAAC"}
@@ -0,0 +1,50 @@
1
+ export const nodeLibrary = [
2
+ {
3
+ id: 'decision',
4
+ primary: 'Decision',
5
+ name: 'Decision',
6
+ type: {
7
+ color: '#ffaa75',
8
+ icon: 'diamond'
9
+ }
10
+ },
11
+ {
12
+ id: 'assignment',
13
+ primary: 'Assignment',
14
+ name: 'Assignment',
15
+ type: {
16
+ color: '#20aa50',
17
+ icon: 'clipboard-data'
18
+ }
19
+ },
20
+ {
21
+ id: 'automation',
22
+ primary: 'Automation',
23
+ name: 'Automation',
24
+ type: {
25
+ color: '#7ee791',
26
+ icon: 'polaris'
27
+ },
28
+ items: [
29
+ {
30
+ id: 'pdf',
31
+ primary: 'Generate PDF',
32
+ name: 'Generate PDF',
33
+ type: {
34
+ color: '#0076d1',
35
+ icon: 'polaris'
36
+ }
37
+ },
38
+ {
39
+ id: 'sendemail',
40
+ primary: 'Send email',
41
+ name: 'Send email',
42
+ type: {
43
+ color: '#ffaa75',
44
+ icon: 'mail'
45
+ }
46
+ }
47
+ ]
48
+ }
49
+ ];
50
+ //# sourceMappingURL=LibraryPicker.mocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LibraryPicker.mocks.js","sourceRoot":"","sources":["../../../src/build/ItemLibrary/LibraryPicker.mocks.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC;QACE,EAAE,EAAE,UAAU;QACd,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,gBAAgB;SACvB;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE;YACJ,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;SAChB;QACD,KAAK,EAAE;YACL;gBACE,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,cAAc;gBACvB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE;oBACJ,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD;gBACE,EAAE,EAAE,WAAW;gBACf,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE;oBACJ,KAAK,EAAE,SAAS;oBAChB,IAAI,EAAE,MAAM;iBACb;aACF;SACF;KACF;CACF,CAAC","sourcesContent":["import { LibraryItem } from '@pega/cosmos-react-build';\n\nexport interface NodeLibrary extends LibraryItem {\n name: string;\n items?: NodeLibrary[];\n}\n\nexport const nodeLibrary: NodeLibrary[] = [\n {\n id: 'decision',\n primary: 'Decision',\n name: 'Decision',\n type: {\n color: '#ffaa75',\n icon: 'diamond'\n }\n },\n {\n id: 'assignment',\n primary: 'Assignment',\n name: 'Assignment',\n type: {\n color: '#20aa50',\n icon: 'clipboard-data'\n }\n },\n {\n id: 'automation',\n primary: 'Automation',\n name: 'Automation',\n type: {\n color: '#7ee791',\n icon: 'polaris'\n },\n items: [\n {\n id: 'pdf',\n primary: 'Generate PDF',\n name: 'Generate PDF',\n type: {\n color: '#0076d1',\n icon: 'polaris'\n }\n },\n {\n id: 'sendemail',\n primary: 'Send email',\n name: 'Send email',\n type: {\n color: '#ffaa75',\n icon: 'mail'\n }\n }\n ]\n }\n];\n"]}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { LibraryItem } from '@pega/cosmos-react-build';
3
+ declare const _default: {
4
+ title: string;
5
+ component: import("react").FC<import("@pega/cosmos-react-build").ItemLibraryProps<LibraryItem> & import("@pega/cosmos-react-core").ForwardProps>;
6
+ };
7
+ export default _default;
8
+ export declare const ColorPicker: () => JSX.Element;
9
+ //# sourceMappingURL=LibraryPicker.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LibraryPicker.stories.d.ts","sourceRoot":"","sources":["../../../src/build/ItemLibrary/LibraryPicker.stories.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAe,WAAW,EAAE,MAAM,0BAA0B,CAAC;;;;;AAKpE,wBAGE;AAEF,eAAO,MAAM,WAAW,mBAiDvB,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { useRef } from '@storybook/addons';
3
+ import { ItemLibrary } from '@pega/cosmos-react-build';
4
+ import { Button, useElement, useOuterEvent } from '@pega/cosmos-react-core';
5
+ import { nodeLibrary } from './LibraryPicker.mocks';
6
+ export default {
7
+ title: 'Build/LibraryPicker',
8
+ component: ItemLibrary
9
+ };
10
+ export const ColorPicker = () => {
11
+ const [selectedItem, setSelectedItem] = useState();
12
+ const [showPicker, updatePicker] = useState(false);
13
+ const [popoverEl, setPopoverEl] = useElement();
14
+ const targetRef = useRef(null);
15
+ const closeMenu = () => {
16
+ updatePicker(false);
17
+ };
18
+ const btnClick = () => {
19
+ updatePicker(true);
20
+ };
21
+ const onSelect = (item) => {
22
+ setSelectedItem(item);
23
+ closeMenu();
24
+ };
25
+ const onKeydown = (e) => {
26
+ if (e.key === 'Escape') {
27
+ closeMenu();
28
+ }
29
+ };
30
+ useEffect(() => {
31
+ document.addEventListener('keydown', onKeydown);
32
+ return () => {
33
+ document.removeEventListener('keydown', onKeydown);
34
+ };
35
+ }, []);
36
+ useOuterEvent('mousedown', [popoverEl], closeMenu);
37
+ return (<>
38
+ {selectedItem ? <div>Selected: {selectedItem.primary}</div> : ''}
39
+ <Button onClick={btnClick} ref={targetRef}>
40
+ Select from library
41
+ </Button>
42
+ <ItemLibrary items={nodeLibrary} show={showPicker} target={targetRef && targetRef.current} ref={setPopoverEl} onClick={onSelect}/>
43
+ </>);
44
+ };
45
+ //# sourceMappingURL=LibraryPicker.stories.jsx.map