@ohos-ports/sprucelabs-react-heartwood-components 9.1.0-beta.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 (616) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/lib/__mocks__/stubs/events.js +166 -0
  4. package/lib/__mocks__/stubs/events.js.map +1 -0
  5. package/lib/__mocks__/stubs/location.js +34 -0
  6. package/lib/__mocks__/stubs/location.js.map +1 -0
  7. package/lib/__mocks__/stubs/users.js +225 -0
  8. package/lib/__mocks__/stubs/users.js.map +1 -0
  9. package/lib/__tests__/components/Pagination/Pagination.test.js +127 -0
  10. package/lib/__tests__/components/Pagination/Pagination.test.js.map +1 -0
  11. package/lib/components/Avatar/Avatar-story.js +34 -0
  12. package/lib/components/Avatar/Avatar-story.js.map +1 -0
  13. package/lib/components/Avatar/Avatar.d.ts +40 -0
  14. package/lib/components/Avatar/Avatar.d.ts.map +1 -0
  15. package/lib/components/Avatar/Avatar.js +91 -0
  16. package/lib/components/Avatar/Avatar.js.map +1 -0
  17. package/lib/components/Avatar/UserAvatar.js +45 -0
  18. package/lib/components/Avatar/UserAvatar.js.map +1 -0
  19. package/lib/components/BotText/BotText-story.d.ts +2 -0
  20. package/lib/components/BotText/BotText-story.d.ts.map +1 -0
  21. package/lib/components/BotText/BotText-story.js +21 -0
  22. package/lib/components/BotText/BotText-story.js.map +1 -0
  23. package/lib/components/BotText/BotText.d.ts +12 -0
  24. package/lib/components/BotText/BotText.d.ts.map +1 -0
  25. package/lib/components/BotText/BotText.js +52 -0
  26. package/lib/components/BotText/BotText.js.map +1 -0
  27. package/lib/components/Button/Button-story.js +109 -0
  28. package/lib/components/Button/Button-story.js.map +1 -0
  29. package/lib/components/Button/Button.d.ts +47 -0
  30. package/lib/components/Button/Button.d.ts.map +1 -0
  31. package/lib/components/Button/Button.js +155 -0
  32. package/lib/components/Button/Button.js.map +1 -0
  33. package/lib/components/ButtonGroup/ButtonGroup-story.js +27 -0
  34. package/lib/components/ButtonGroup/ButtonGroup-story.js.map +1 -0
  35. package/lib/components/ButtonGroup/ButtonGroup.d.ts +19 -0
  36. package/lib/components/ButtonGroup/ButtonGroup.d.ts.map +1 -0
  37. package/lib/components/ButtonGroup/ButtonGroup.js +64 -0
  38. package/lib/components/ButtonGroup/ButtonGroup.js.map +1 -0
  39. package/lib/components/Card/Card-story.d.ts +2 -0
  40. package/lib/components/Card/Card-story.d.ts.map +1 -0
  41. package/lib/components/Card/Card-story.js +389 -0
  42. package/lib/components/Card/Card-story.js.map +1 -0
  43. package/lib/components/Card/Card.d.ts +69 -0
  44. package/lib/components/Card/Card.d.ts.map +1 -0
  45. package/lib/components/Card/Card.js +113 -0
  46. package/lib/components/Card/Card.js.map +1 -0
  47. package/lib/components/Card/components/CardBody.d.ts +27 -0
  48. package/lib/components/Card/components/CardBody.d.ts.map +1 -0
  49. package/lib/components/Card/components/CardBody.js +45 -0
  50. package/lib/components/Card/components/CardBody.js.map +1 -0
  51. package/lib/components/Card/components/CardBuilder.d.ts +50 -0
  52. package/lib/components/Card/components/CardBuilder.d.ts.map +1 -0
  53. package/lib/components/Card/components/CardBuilder.js +139 -0
  54. package/lib/components/Card/components/CardBuilder.js.map +1 -0
  55. package/lib/components/Card/components/CardFooter.d.ts +11 -0
  56. package/lib/components/Card/components/CardFooter.d.ts.map +1 -0
  57. package/lib/components/Card/components/CardFooter.js +22 -0
  58. package/lib/components/Card/components/CardFooter.js.map +1 -0
  59. package/lib/components/Card/components/CardHeader.d.ts +28 -0
  60. package/lib/components/Card/components/CardHeader.d.ts.map +1 -0
  61. package/lib/components/Card/components/CardHeader.js +70 -0
  62. package/lib/components/Card/components/CardHeader.js.map +1 -0
  63. package/lib/components/Card/components/CardSection.d.ts +10 -0
  64. package/lib/components/Card/components/CardSection.d.ts.map +1 -0
  65. package/lib/components/Card/components/CardSection.js +27 -0
  66. package/lib/components/Card/components/CardSection.js.map +1 -0
  67. package/lib/components/Card/components/OnboardingCard.d.ts +27 -0
  68. package/lib/components/Card/components/OnboardingCard.d.ts.map +1 -0
  69. package/lib/components/Card/components/OnboardingCard.js +129 -0
  70. package/lib/components/Card/components/OnboardingCard.js.map +1 -0
  71. package/lib/components/Card/components/Scores.d.ts +15 -0
  72. package/lib/components/Card/components/Scores.d.ts.map +1 -0
  73. package/lib/components/Card/components/Scores.js +39 -0
  74. package/lib/components/Card/components/Scores.js.map +1 -0
  75. package/lib/components/Card/index.d.ts +11 -0
  76. package/lib/components/Card/index.d.ts.map +1 -0
  77. package/lib/components/Card/index.js +120 -0
  78. package/lib/components/Card/index.js.map +1 -0
  79. package/lib/components/CircleLoader/CircleLoader-story.d.ts +2 -0
  80. package/lib/components/CircleLoader/CircleLoader-story.d.ts.map +1 -0
  81. package/lib/components/CircleLoader/CircleLoader-story.js +20 -0
  82. package/lib/components/CircleLoader/CircleLoader-story.js.map +1 -0
  83. package/lib/components/CircleLoader/CircleLoader.d.ts +13 -0
  84. package/lib/components/CircleLoader/CircleLoader.d.ts.map +1 -0
  85. package/lib/components/CircleLoader/CircleLoader.js +28 -0
  86. package/lib/components/CircleLoader/CircleLoader.js.map +1 -0
  87. package/lib/components/ContextMenu/ContextMenu-story.js +31 -0
  88. package/lib/components/ContextMenu/ContextMenu-story.js.map +1 -0
  89. package/lib/components/ContextMenu/ContextMenu.d.ts +70 -0
  90. package/lib/components/ContextMenu/ContextMenu.d.ts.map +1 -0
  91. package/lib/components/ContextMenu/ContextMenu.js +315 -0
  92. package/lib/components/ContextMenu/ContextMenu.js.map +1 -0
  93. package/lib/components/Core/components/FeedBuilder/FeedBuilder-story.js +101 -0
  94. package/lib/components/Core/components/FeedBuilder/FeedBuilder-story.js.map +1 -0
  95. package/lib/components/Core/components/FeedBuilder/FeedBuilder.js +290 -0
  96. package/lib/components/Core/components/FeedBuilder/FeedBuilder.js.map +1 -0
  97. package/lib/components/Core/components/FooterPrimary/FooterPrimary.js +20 -0
  98. package/lib/components/Core/components/FooterPrimary/FooterPrimary.js.map +1 -0
  99. package/lib/components/Core/components/FooterPrimary/components/HelpButton/HelpButton.js +52 -0
  100. package/lib/components/Core/components/FooterPrimary/components/HelpButton/HelpButton.js.map +1 -0
  101. package/lib/components/Core/components/FooterPrimary/components/Legal/Legal.js +38 -0
  102. package/lib/components/Core/components/FooterPrimary/components/Legal/Legal.js.map +1 -0
  103. package/lib/components/Core/components/FooterPrimary/index.js +30 -0
  104. package/lib/components/Core/components/FooterPrimary/index.js.map +1 -0
  105. package/lib/components/Core/components/HeaderPrimary/HeaderPrimary-story.js +134 -0
  106. package/lib/components/Core/components/HeaderPrimary/HeaderPrimary-story.js.map +1 -0
  107. package/lib/components/Core/components/HeaderPrimary/HeaderPrimary.js +238 -0
  108. package/lib/components/Core/components/HeaderPrimary/HeaderPrimary.js.map +1 -0
  109. package/lib/components/Core/components/HeaderPrimary/components/DefaultLockup/DefaultLockup.js +32 -0
  110. package/lib/components/Core/components/HeaderPrimary/components/DefaultLockup/DefaultLockup.js.map +1 -0
  111. package/lib/components/Core/components/HeaderPrimary/components/Hamburger/Hamburger.js +58 -0
  112. package/lib/components/Core/components/HeaderPrimary/components/Hamburger/Hamburger.js.map +1 -0
  113. package/lib/components/Core/components/HeaderPrimary/components/LocationMenu/LocationMenu.js +169 -0
  114. package/lib/components/Core/components/HeaderPrimary/components/LocationMenu/LocationMenu.js.map +1 -0
  115. package/lib/components/Core/components/HeaderPrimary/components/UserMenu/UserMenu.js +56 -0
  116. package/lib/components/Core/components/HeaderPrimary/components/UserMenu/UserMenu.js.map +1 -0
  117. package/lib/components/Core/components/ProfileSummary/ProfileSummary-story.js +26 -0
  118. package/lib/components/Core/components/ProfileSummary/ProfileSummary-story.js.map +1 -0
  119. package/lib/components/Core/components/ProfileSummary/ProfileSummary.js +46 -0
  120. package/lib/components/Core/components/ProfileSummary/ProfileSummary.js.map +1 -0
  121. package/lib/components/Core/components/SaveBar/SaveBar-story.js +68 -0
  122. package/lib/components/Core/components/SaveBar/SaveBar-story.js.map +1 -0
  123. package/lib/components/Core/components/SaveBar/SaveBar.js +127 -0
  124. package/lib/components/Core/components/SaveBar/SaveBar.js.map +1 -0
  125. package/lib/components/Core/components/Sidebar/Sidebar-story.js +204 -0
  126. package/lib/components/Core/components/Sidebar/Sidebar-story.js.map +1 -0
  127. package/lib/components/Core/components/Sidebar/Sidebar.js +87 -0
  128. package/lib/components/Core/components/Sidebar/Sidebar.js.map +1 -0
  129. package/lib/components/Core/components/Sidebar/components/SidebarExpander/SidebarExpander.js +48 -0
  130. package/lib/components/Core/components/Sidebar/components/SidebarExpander/SidebarExpander.js.map +1 -0
  131. package/lib/components/Core/components/Sidebar/components/SidebarFooter/SidebarFooter.js +25 -0
  132. package/lib/components/Core/components/Sidebar/components/SidebarFooter/SidebarFooter.js.map +1 -0
  133. package/lib/components/Core/components/Sidebar/components/SidebarHeader/SidebarHeader.d.ts +12 -0
  134. package/lib/components/Core/components/Sidebar/components/SidebarHeader/SidebarHeader.d.ts.map +1 -0
  135. package/lib/components/Core/components/Sidebar/components/SidebarHeader/SidebarHeader.js +47 -0
  136. package/lib/components/Core/components/Sidebar/components/SidebarHeader/SidebarHeader.js.map +1 -0
  137. package/lib/components/Core/components/Sidebar/components/SidebarItem/SidebarItem.js +115 -0
  138. package/lib/components/Core/components/Sidebar/components/SidebarItem/SidebarItem.js.map +1 -0
  139. package/lib/components/Core/components/Sidebar/components/SidebarSection/SidebarSection.js +38 -0
  140. package/lib/components/Core/components/Sidebar/components/SidebarSection/SidebarSection.js.map +1 -0
  141. package/lib/components/Core/index.js +80 -0
  142. package/lib/components/Core/index.js.map +1 -0
  143. package/lib/components/Dropzone/Dropzone-story.js +119 -0
  144. package/lib/components/Dropzone/Dropzone-story.js.map +1 -0
  145. package/lib/components/Dropzone/Dropzone.js +317 -0
  146. package/lib/components/Dropzone/Dropzone.js.map +1 -0
  147. package/lib/components/EmptyState/EmptyState-story.d.ts +2 -0
  148. package/lib/components/EmptyState/EmptyState-story.d.ts.map +1 -0
  149. package/lib/components/EmptyState/EmptyState-story.js +60 -0
  150. package/lib/components/EmptyState/EmptyState-story.js.map +1 -0
  151. package/lib/components/EmptyState/EmptyState.d.ts +28 -0
  152. package/lib/components/EmptyState/EmptyState.d.ts.map +1 -0
  153. package/lib/components/EmptyState/EmptyState.js +54 -0
  154. package/lib/components/EmptyState/EmptyState.js.map +1 -0
  155. package/lib/components/EventDetails/EventDetails-story.d.ts +2 -0
  156. package/lib/components/EventDetails/EventDetails-story.d.ts.map +1 -0
  157. package/lib/components/EventDetails/EventDetails-story.js +112 -0
  158. package/lib/components/EventDetails/EventDetails-story.js.map +1 -0
  159. package/lib/components/EventDetails/EventDetails.d.ts +18 -0
  160. package/lib/components/EventDetails/EventDetails.d.ts.map +1 -0
  161. package/lib/components/EventDetails/EventDetails.js +75 -0
  162. package/lib/components/EventDetails/EventDetails.js.map +1 -0
  163. package/lib/components/EventDetails/EventDetailsUtilities.d.ts +11 -0
  164. package/lib/components/EventDetails/EventDetailsUtilities.d.ts.map +1 -0
  165. package/lib/components/EventDetails/EventDetailsUtilities.js +56 -0
  166. package/lib/components/EventDetails/EventDetailsUtilities.js.map +1 -0
  167. package/lib/components/EventDetails/components/EventDetailsItem/EventDetailsItem.d.ts +18 -0
  168. package/lib/components/EventDetails/components/EventDetailsItem/EventDetailsItem.d.ts.map +1 -0
  169. package/lib/components/EventDetails/components/EventDetailsItem/EventDetailsItem.js +111 -0
  170. package/lib/components/EventDetails/components/EventDetailsItem/EventDetailsItem.js.map +1 -0
  171. package/lib/components/EventDetails/eventDetailsMock.d.ts +10 -0
  172. package/lib/components/EventDetails/eventDetailsMock.d.ts.map +1 -0
  173. package/lib/components/EventDetails/eventDetailsMock.js +840 -0
  174. package/lib/components/EventDetails/eventDetailsMock.js.map +1 -0
  175. package/lib/components/FontLoader/FontLoader-story.js +16 -0
  176. package/lib/components/FontLoader/FontLoader-story.js.map +1 -0
  177. package/lib/components/FontLoader/FontLoader.js +148 -0
  178. package/lib/components/FontLoader/FontLoader.js.map +1 -0
  179. package/lib/components/Forms/FormPartials.js +70 -0
  180. package/lib/components/Forms/FormPartials.js.map +1 -0
  181. package/lib/components/Forms/Forms-story.js +297 -0
  182. package/lib/components/Forms/Forms-story.js.map +1 -0
  183. package/lib/components/Forms/components/Autosuggest/Autosuggest.d.ts +71 -0
  184. package/lib/components/Forms/components/Autosuggest/Autosuggest.d.ts.map +1 -0
  185. package/lib/components/Forms/components/Autosuggest/Autosuggest.js +372 -0
  186. package/lib/components/Forms/components/Autosuggest/Autosuggest.js.map +1 -0
  187. package/lib/components/Forms/components/Checkbox/Checkbox.d.ts +23 -0
  188. package/lib/components/Forms/components/Checkbox/Checkbox.d.ts.map +1 -0
  189. package/lib/components/Forms/components/Checkbox/Checkbox.js +162 -0
  190. package/lib/components/Forms/components/Checkbox/Checkbox.js.map +1 -0
  191. package/lib/components/Forms/components/DatePicker/DatePicker.js +236 -0
  192. package/lib/components/Forms/components/DatePicker/DatePicker.js.map +1 -0
  193. package/lib/components/Forms/components/DomainInput/DomainInput.js +29 -0
  194. package/lib/components/Forms/components/DomainInput/DomainInput.js.map +1 -0
  195. package/lib/components/Forms/components/DurationInput/DurationInput.js +270 -0
  196. package/lib/components/Forms/components/DurationInput/DurationInput.js.map +1 -0
  197. package/lib/components/Forms/components/FormBuilder/FormBuilder-story.js +357 -0
  198. package/lib/components/Forms/components/FormBuilder/FormBuilder-story.js.map +1 -0
  199. package/lib/components/Forms/components/FormBuilder/FormBuilder.js +121 -0
  200. package/lib/components/Forms/components/FormBuilder/FormBuilder.js.map +1 -0
  201. package/lib/components/Forms/components/FormBuilder/components/FormInner/FormInner.js +201 -0
  202. package/lib/components/Forms/components/FormBuilder/components/FormInner/FormInner.js.map +1 -0
  203. package/lib/components/Forms/components/FormLayout/FormLayout.js +35 -0
  204. package/lib/components/Forms/components/FormLayout/FormLayout.js.map +1 -0
  205. package/lib/components/Forms/components/FormLayout/components/FormLayoutGroup/FormLayoutGroup.js +30 -0
  206. package/lib/components/Forms/components/FormLayout/components/FormLayoutGroup/FormLayoutGroup.js.map +1 -0
  207. package/lib/components/Forms/components/FormLayout/components/FormLayoutItem/FormLayoutItem.js +32 -0
  208. package/lib/components/Forms/components/FormLayout/components/FormLayoutItem/FormLayoutItem.js.map +1 -0
  209. package/lib/components/Forms/components/FormLayout/index.js +32 -0
  210. package/lib/components/Forms/components/FormLayout/index.js.map +1 -0
  211. package/lib/components/Forms/components/PhoneInput/PhoneInput.d.ts +30 -0
  212. package/lib/components/Forms/components/PhoneInput/PhoneInput.d.ts.map +1 -0
  213. package/lib/components/Forms/components/PhoneInput/PhoneInput.js +119 -0
  214. package/lib/components/Forms/components/PhoneInput/PhoneInput.js.map +1 -0
  215. package/lib/components/Forms/components/Radio/Radio.d.ts +15 -0
  216. package/lib/components/Forms/components/Radio/Radio.d.ts.map +1 -0
  217. package/lib/components/Forms/components/Radio/Radio.js +92 -0
  218. package/lib/components/Forms/components/Radio/Radio.js.map +1 -0
  219. package/lib/components/Forms/components/Search/Search.js +96 -0
  220. package/lib/components/Forms/components/Search/Search.js.map +1 -0
  221. package/lib/components/Forms/components/Select/Select.js +95 -0
  222. package/lib/components/Forms/components/Select/Select.js.map +1 -0
  223. package/lib/components/Forms/components/Slider/Slider.js +100 -0
  224. package/lib/components/Forms/components/Slider/Slider.js.map +1 -0
  225. package/lib/components/Forms/components/Stars/Stars.js +101 -0
  226. package/lib/components/Forms/components/Stars/Stars.js.map +1 -0
  227. package/lib/components/Forms/components/Tag/Tag.js +60 -0
  228. package/lib/components/Forms/components/Tag/Tag.js.map +1 -0
  229. package/lib/components/Forms/components/TextArea/TextArea.js +55 -0
  230. package/lib/components/Forms/components/TextArea/TextArea.js.map +1 -0
  231. package/lib/components/Forms/components/TextInput/TextInput.d.ts +28 -0
  232. package/lib/components/Forms/components/TextInput/TextInput.d.ts.map +1 -0
  233. package/lib/components/Forms/components/TextInput/TextInput.js +57 -0
  234. package/lib/components/Forms/components/TextInput/TextInput.js.map +1 -0
  235. package/lib/components/Forms/components/Toggle/Toggle.d.ts +9 -0
  236. package/lib/components/Forms/components/Toggle/Toggle.d.ts.map +1 -0
  237. package/lib/components/Forms/components/Toggle/Toggle.js +43 -0
  238. package/lib/components/Forms/components/Toggle/Toggle.js.map +1 -0
  239. package/lib/components/Forms/index.d.ts +18 -0
  240. package/lib/components/Forms/index.d.ts.map +1 -0
  241. package/lib/components/Forms/index.js +182 -0
  242. package/lib/components/Forms/index.js.map +1 -0
  243. package/lib/components/Heading/Heading-story.js +18 -0
  244. package/lib/components/Heading/Heading-story.js.map +1 -0
  245. package/lib/components/Heading/Heading.d.ts +13 -0
  246. package/lib/components/Heading/Heading.d.ts.map +1 -0
  247. package/lib/components/Heading/Heading.js +32 -0
  248. package/lib/components/Heading/Heading.js.map +1 -0
  249. package/lib/components/Icon/Icon-story.d.ts +2 -0
  250. package/lib/components/Icon/Icon-story.d.ts.map +1 -0
  251. package/lib/components/Icon/Icon-story.js +44 -0
  252. package/lib/components/Icon/Icon-story.js.map +1 -0
  253. package/lib/components/Icon/Icon.d.ts +13 -0
  254. package/lib/components/Icon/Icon.d.ts.map +1 -0
  255. package/lib/components/Icon/Icon.js +52 -0
  256. package/lib/components/Icon/Icon.js.map +1 -0
  257. package/lib/components/Image/Image.d.ts +11 -0
  258. package/lib/components/Image/Image.d.ts.map +1 -0
  259. package/lib/components/Image/Image.js +32 -0
  260. package/lib/components/Image/Image.js.map +1 -0
  261. package/lib/components/ImageCropper/ImageCropper-story.js +219 -0
  262. package/lib/components/ImageCropper/ImageCropper-story.js.map +1 -0
  263. package/lib/components/ImageCropper/ImageCropper.js +256 -0
  264. package/lib/components/ImageCropper/ImageCropper.js.map +1 -0
  265. package/lib/components/ImageSSR/ImageSSR.js +32 -0
  266. package/lib/components/ImageSSR/ImageSSR.js.map +1 -0
  267. package/lib/components/Layout/Layout-story.js +128 -0
  268. package/lib/components/Layout/Layout-story.js.map +1 -0
  269. package/lib/components/Layout/Layout.js +43 -0
  270. package/lib/components/Layout/Layout.js.map +1 -0
  271. package/lib/components/Layout/components/LayoutSection/LayoutSection.js +38 -0
  272. package/lib/components/Layout/components/LayoutSection/LayoutSection.js.map +1 -0
  273. package/lib/components/Layout/index.js +24 -0
  274. package/lib/components/Layout/index.js.map +1 -0
  275. package/lib/components/List/List-story.d.ts +2 -0
  276. package/lib/components/List/List-story.d.ts.map +1 -0
  277. package/lib/components/List/List-story.js +241 -0
  278. package/lib/components/List/List-story.js.map +1 -0
  279. package/lib/components/List/List.d.ts +34 -0
  280. package/lib/components/List/List.d.ts.map +1 -0
  281. package/lib/components/List/List.js +83 -0
  282. package/lib/components/List/List.js.map +1 -0
  283. package/lib/components/List/components/ExpandableListItem/ExpandableListItem.d.ts +27 -0
  284. package/lib/components/List/components/ExpandableListItem/ExpandableListItem.d.ts.map +1 -0
  285. package/lib/components/List/components/ExpandableListItem/ExpandableListItem.js +93 -0
  286. package/lib/components/List/components/ExpandableListItem/ExpandableListItem.js.map +1 -0
  287. package/lib/components/List/components/ListHeader/ListHeader.d.ts +16 -0
  288. package/lib/components/List/components/ListHeader/ListHeader.d.ts.map +1 -0
  289. package/lib/components/List/components/ListHeader/ListHeader.js +51 -0
  290. package/lib/components/List/components/ListHeader/ListHeader.js.map +1 -0
  291. package/lib/components/List/components/ListItem/ListItem.d.ts +67 -0
  292. package/lib/components/List/components/ListItem/ListItem.d.ts.map +1 -0
  293. package/lib/components/List/components/ListItem/ListItem.js +206 -0
  294. package/lib/components/List/components/ListItem/ListItem.js.map +1 -0
  295. package/lib/components/List/components/SortableList/SortableList.d.ts +35 -0
  296. package/lib/components/List/components/SortableList/SortableList.d.ts.map +1 -0
  297. package/lib/components/List/components/SortableList/SortableList.js +180 -0
  298. package/lib/components/List/components/SortableList/SortableList.js.map +1 -0
  299. package/lib/components/List/index.d.ts +6 -0
  300. package/lib/components/List/index.d.ts.map +1 -0
  301. package/lib/components/List/index.js +74 -0
  302. package/lib/components/List/index.js.map +1 -0
  303. package/lib/components/Loader/Loader-story.js +30 -0
  304. package/lib/components/Loader/Loader-story.js.map +1 -0
  305. package/lib/components/Loader/Loader.js +36 -0
  306. package/lib/components/Loader/Loader.js.map +1 -0
  307. package/lib/components/Loader/Loader.test.js +17 -0
  308. package/lib/components/Loader/Loader.test.js.map +1 -0
  309. package/lib/components/MarkdownText/MarkdownText.d.ts +8 -0
  310. package/lib/components/MarkdownText/MarkdownText.d.ts.map +1 -0
  311. package/lib/components/MarkdownText/MarkdownText.js +26 -0
  312. package/lib/components/MarkdownText/MarkdownText.js.map +1 -0
  313. package/lib/components/Message/Message-story.js +135 -0
  314. package/lib/components/Message/Message-story.js.map +1 -0
  315. package/lib/components/Message/Message.js +147 -0
  316. package/lib/components/Message/Message.js.map +1 -0
  317. package/lib/components/Message/components/MessageBuilder.js +132 -0
  318. package/lib/components/Message/components/MessageBuilder.js.map +1 -0
  319. package/lib/components/Message/index.js +24 -0
  320. package/lib/components/Message/index.js.map +1 -0
  321. package/lib/components/Modal/Modal-story.js +239 -0
  322. package/lib/components/Modal/Modal-story.js.map +1 -0
  323. package/lib/components/Modal/Modal.js +86 -0
  324. package/lib/components/Modal/Modal.js.map +1 -0
  325. package/lib/components/Modal/components/ModalBody/ModalBody.js +30 -0
  326. package/lib/components/Modal/components/ModalBody/ModalBody.js.map +1 -0
  327. package/lib/components/Modal/components/ModalFooter/ModalFooter.js +31 -0
  328. package/lib/components/Modal/components/ModalFooter/ModalFooter.js.map +1 -0
  329. package/lib/components/Modal/components/ModalHeader/ModalHeader.js +84 -0
  330. package/lib/components/Modal/components/ModalHeader/ModalHeader.js.map +1 -0
  331. package/lib/components/Page/Page-story.js +115 -0
  332. package/lib/components/Page/Page-story.js.map +1 -0
  333. package/lib/components/Page/Page.js +55 -0
  334. package/lib/components/Page/Page.js.map +1 -0
  335. package/lib/components/Page/components/PageContent/PageContent.js +22 -0
  336. package/lib/components/Page/components/PageContent/PageContent.js.map +1 -0
  337. package/lib/components/Page/components/PageHeader/PageHeader.js +127 -0
  338. package/lib/components/Page/components/PageHeader/PageHeader.js.map +1 -0
  339. package/lib/components/Page/index.js +32 -0
  340. package/lib/components/Page/index.js.map +1 -0
  341. package/lib/components/PagedModal/PagedModal-story.js +121 -0
  342. package/lib/components/PagedModal/PagedModal-story.js.map +1 -0
  343. package/lib/components/PagedModal/PagedModal.js +84 -0
  344. package/lib/components/PagedModal/PagedModal.js.map +1 -0
  345. package/lib/components/Pagination/Pagination-story.js +35 -0
  346. package/lib/components/Pagination/Pagination-story.js.map +1 -0
  347. package/lib/components/Pagination/Pagination.js +157 -0
  348. package/lib/components/Pagination/Pagination.js.map +1 -0
  349. package/lib/components/RecordSelectionList/RecordSelectList-story.js +491 -0
  350. package/lib/components/RecordSelectionList/RecordSelectList-story.js.map +1 -0
  351. package/lib/components/RecordSelectionList/RecordSelectionList.d.ts +112 -0
  352. package/lib/components/RecordSelectionList/RecordSelectionList.d.ts.map +1 -0
  353. package/lib/components/RecordSelectionList/RecordSelectionList.js +702 -0
  354. package/lib/components/RecordSelectionList/RecordSelectionList.js.map +1 -0
  355. package/lib/components/RecordSelectionList/RecordSelectionListItem.d.ts +5 -0
  356. package/lib/components/RecordSelectionList/RecordSelectionListItem.d.ts.map +1 -0
  357. package/lib/components/RecordSelectionList/RecordSelectionListItem.js +20 -0
  358. package/lib/components/RecordSelectionList/RecordSelectionListItem.js.map +1 -0
  359. package/lib/components/RecordTable/RecordTable-story.d.ts +2 -0
  360. package/lib/components/RecordTable/RecordTable-story.d.ts.map +1 -0
  361. package/lib/components/RecordTable/RecordTable-story.js +242 -0
  362. package/lib/components/RecordTable/RecordTable-story.js.map +1 -0
  363. package/lib/components/RecordTable/RecordTable.d.ts +133 -0
  364. package/lib/components/RecordTable/RecordTable.d.ts.map +1 -0
  365. package/lib/components/RecordTable/RecordTable.js +523 -0
  366. package/lib/components/RecordTable/RecordTable.js.map +1 -0
  367. package/lib/components/SplitButton/SplitButton-story.js +60 -0
  368. package/lib/components/SplitButton/SplitButton-story.js.map +1 -0
  369. package/lib/components/SplitButton/SplitButton.d.ts +47 -0
  370. package/lib/components/SplitButton/SplitButton.d.ts.map +1 -0
  371. package/lib/components/SplitButton/SplitButton.js +296 -0
  372. package/lib/components/SplitButton/SplitButton.js.map +1 -0
  373. package/lib/components/Subheading/Subheading-story.js +18 -0
  374. package/lib/components/Subheading/Subheading-story.js.map +1 -0
  375. package/lib/components/Subheading/Subheading.js +40 -0
  376. package/lib/components/Subheading/Subheading.js.map +1 -0
  377. package/lib/components/Table/Table-story.js +428 -0
  378. package/lib/components/Table/Table-story.js.map +1 -0
  379. package/lib/components/Table/Table.d.ts +63 -0
  380. package/lib/components/Table/Table.d.ts.map +1 -0
  381. package/lib/components/Table/Table.js +395 -0
  382. package/lib/components/Table/Table.js.map +1 -0
  383. package/lib/components/Table/components/TableFilters/TableFilters.js +31 -0
  384. package/lib/components/Table/components/TableFilters/TableFilters.js.map +1 -0
  385. package/lib/components/Table/components/TableSearch/TableSearch.d.ts +7 -0
  386. package/lib/components/Table/components/TableSearch/TableSearch.d.ts.map +1 -0
  387. package/lib/components/Table/components/TableSearch/TableSearch.js +30 -0
  388. package/lib/components/Table/components/TableSearch/TableSearch.js.map +1 -0
  389. package/lib/components/Table/index.d.ts +4 -0
  390. package/lib/components/Table/index.d.ts.map +1 -0
  391. package/lib/components/Table/index.js +40 -0
  392. package/lib/components/Table/index.js.map +1 -0
  393. package/lib/components/Tabs/Tabs-story.d.ts +2 -0
  394. package/lib/components/Tabs/Tabs-story.d.ts.map +1 -0
  395. package/lib/components/Tabs/Tabs-story.js +36 -0
  396. package/lib/components/Tabs/Tabs-story.js.map +1 -0
  397. package/lib/components/Tabs/Tabs.d.ts +40 -0
  398. package/lib/components/Tabs/Tabs.d.ts.map +1 -0
  399. package/lib/components/Tabs/Tabs.js +244 -0
  400. package/lib/components/Tabs/Tabs.js.map +1 -0
  401. package/lib/components/Tabs/components/Tab/Tab.d.ts +26 -0
  402. package/lib/components/Tabs/components/Tab/Tab.d.ts.map +1 -0
  403. package/lib/components/Tabs/components/Tab/Tab.js +46 -0
  404. package/lib/components/Tabs/components/Tab/Tab.js.map +1 -0
  405. package/lib/components/Text/Text-story.d.ts +2 -0
  406. package/lib/components/Text/Text-story.d.ts.map +1 -0
  407. package/lib/components/Text/Text-story.js +51 -0
  408. package/lib/components/Text/Text-story.js.map +1 -0
  409. package/lib/components/Text/Text.d.ts +18 -0
  410. package/lib/components/Text/Text.d.ts.map +1 -0
  411. package/lib/components/Text/Text.js +123 -0
  412. package/lib/components/Text/Text.js.map +1 -0
  413. package/lib/components/TextContainer/TextContainer-story.js +32 -0
  414. package/lib/components/TextContainer/TextContainer-story.js.map +1 -0
  415. package/lib/components/TextContainer/TextContainer.js +33 -0
  416. package/lib/components/TextContainer/TextContainer.js.map +1 -0
  417. package/lib/components/TextStyle/TextStyle-story.js +28 -0
  418. package/lib/components/TextStyle/TextStyle-story.js.map +1 -0
  419. package/lib/components/TextStyle/TextStyle.js +41 -0
  420. package/lib/components/TextStyle/TextStyle.js.map +1 -0
  421. package/lib/components/Toast/Toast-story.d.ts +2 -0
  422. package/lib/components/Toast/Toast-story.d.ts.map +1 -0
  423. package/lib/components/Toast/Toast-story.js +210 -0
  424. package/lib/components/Toast/Toast-story.js.map +1 -0
  425. package/lib/components/Toast/Toast.d.ts +24 -0
  426. package/lib/components/Toast/Toast.d.ts.map +1 -0
  427. package/lib/components/Toast/Toast.js +76 -0
  428. package/lib/components/Toast/Toast.js.map +1 -0
  429. package/lib/components/Toast/components/ToastWrapper/ToastWrapper.d.ts +24 -0
  430. package/lib/components/Toast/components/ToastWrapper/ToastWrapper.d.ts.map +1 -0
  431. package/lib/components/Toast/components/ToastWrapper/ToastWrapper.js +131 -0
  432. package/lib/components/Toast/components/ToastWrapper/ToastWrapper.js.map +1 -0
  433. package/lib/components/TruncatedList/TruncatedList-story.js +222 -0
  434. package/lib/components/TruncatedList/TruncatedList-story.js.map +1 -0
  435. package/lib/components/TruncatedList/TruncatedList.d.ts +49 -0
  436. package/lib/components/TruncatedList/TruncatedList.d.ts.map +1 -0
  437. package/lib/components/TruncatedList/TruncatedList.js +188 -0
  438. package/lib/components/TruncatedList/TruncatedList.js.map +1 -0
  439. package/lib/components/View/View-story.js +485 -0
  440. package/lib/components/View/View-story.js.map +1 -0
  441. package/lib/components/View/View.d.ts +26 -0
  442. package/lib/components/View/View.d.ts.map +1 -0
  443. package/lib/components/View/View.js +91 -0
  444. package/lib/components/View/View.js.map +1 -0
  445. package/lib/components/_utilities/Anchor.js +28 -0
  446. package/lib/components/_utilities/Anchor.js.map +1 -0
  447. package/lib/custom-types.d.js +2 -0
  448. package/lib/custom-types.d.js.map +1 -0
  449. package/lib/icons.js +3328 -0
  450. package/lib/icons.js.map +1 -0
  451. package/lib/index.d.ts +46 -0
  452. package/lib/index.d.ts.map +1 -0
  453. package/lib/index.js +707 -0
  454. package/lib/index.js.map +1 -0
  455. package/lib/stubs/events.js +166 -0
  456. package/lib/stubs/events.js.map +1 -0
  457. package/lib/stubs/location.js +34 -0
  458. package/lib/stubs/location.js.map +1 -0
  459. package/lib/stubs/users.js +225 -0
  460. package/lib/stubs/users.js.map +1 -0
  461. package/lib/utilities.js +23 -0
  462. package/lib/utilities.js.map +1 -0
  463. package/package.json +174 -0
  464. package/static/android-chrome-192x192.png +0 -0
  465. package/static/android-chrome-256x256.png +0 -0
  466. package/static/apple-touch-icon.png +0 -0
  467. package/static/assets/bg.jpeg +0 -0
  468. package/static/assets/icons/Design/Rotate/rotate-back.svg +9 -0
  469. package/static/assets/icons/Design/Rotate/rotate-forward.svg +9 -0
  470. package/static/assets/icons/Interface-Essential/Alerts/alert-triangle--16w.svg +3 -0
  471. package/static/assets/icons/Interface-Essential/Alerts/alert-triangle--56w.svg +5 -0
  472. package/static/assets/icons/Interface-Essential/Alerts/alert-triangle.svg +3 -0
  473. package/static/assets/icons/Interface-Essential/Dashboard/gauge-dashboard-1.svg +11 -0
  474. package/static/assets/icons/Interface-Essential/Date/Calendar/calendar-3.svg +12 -0
  475. package/static/assets/icons/Interface-Essential/Date/Calendar/calendar-date.svg +9 -0
  476. package/static/assets/icons/Interface-Essential/Delete/bin.svg +7 -0
  477. package/static/assets/icons/Interface-Essential/Edit/pencil-write.svg +5 -0
  478. package/static/assets/icons/Interface-Essential/Form-Edition/paper-write.svg +8 -0
  479. package/static/assets/icons/Interface-Essential/Form-Validation/check-circle-1.svg +4 -0
  480. package/static/assets/icons/Interface-Essential/Help/question-help-square--16w.svg +5 -0
  481. package/static/assets/icons/Interface-Essential/Help/question-help-square.svg +5 -0
  482. package/static/assets/icons/Interface-Essential/Home/house-1--16w.svg +4 -0
  483. package/static/assets/icons/Interface-Essential/Home/house-1.svg +4 -0
  484. package/static/assets/icons/Interface-Essential/Lists/list-bullets-1.svg +8 -0
  485. package/static/assets/icons/Interface-Essential/Lock/Unlock/Lock/Unlock-4.svg +5 -0
  486. package/static/assets/icons/Interface-Essential/Lock/Unlock/lock-6--16w.svg +3 -0
  487. package/static/assets/icons/Interface-Essential/Lock/Unlock/lock-6.svg +5 -0
  488. package/static/assets/icons/Interface-Essential/Login/Logout/logout.svg +5 -0
  489. package/static/assets/icons/Interface-Essential/Menu/navigation-menu-horizontal.svg +5 -0
  490. package/static/assets/icons/Interface-Essential/Select/cursor-select-4.svg +14 -0
  491. package/static/assets/icons/Interface-Essential/Time/stopwatch.svg +8 -0
  492. package/static/assets/icons/Interface-Essential/Time-Files/time-clock-file-check.svg +7 -0
  493. package/static/assets/icons/Interface-Essential/Time-Files/time-clock-file-upload.svg +9 -0
  494. package/static/assets/icons/Maps-Navigation/Pins/pin-2.svg +4 -0
  495. package/static/assets/icons/Maps-Navigation/Pins/pin.svg +4 -0
  496. package/static/assets/icons/Messages-Chat-Smileys/Conversation/conversation-text--16w.svg +8 -0
  497. package/static/assets/icons/Messages-Chat-Smileys/Conversation/conversation-text.svg +8 -0
  498. package/static/assets/icons/Messages-Chat-Smileys/Messages-Speech-Bubbles/messages-bubble-square-text.svg +5 -0
  499. package/static/assets/icons/Phones-Mobile-Devices/Phone/phone-retro-1.svg +7 -0
  500. package/static/assets/icons/Programming-Apps-Websites/Plugins/Modules/module-puzzle.svg +3 -0
  501. package/static/assets/icons/Shopping-E-Commerce/Shops/shop-1--56w.svg +6 -0
  502. package/static/assets/icons/Shopping-E-Commerce/Shops/shop-1.svg +7 -0
  503. package/static/assets/icons/Social-Medias-Rewards-Rating/Rating/rating-star-1-1.svg +3 -0
  504. package/static/assets/icons/Social-Medias-Rewards-Rating/Rating/rating-star-1.svg +3 -0
  505. package/static/assets/icons/Transportation/Aircraft/aircraft-military-plane.svg +18 -0
  506. package/static/assets/icons/Users/Geometric-Close-Up-Single-User-Actions-Neutral/single-neutral-actions-image--56w.svg +7 -0
  507. package/static/assets/icons/Users/Geometric-Close-Up-Single-User-Actions-Neutral/single-neutral-actions-up-down.svg +8 -0
  508. package/static/assets/icons/Users/Geometric-Close-Up-Single-User-Neutral/single-neutral-id-card-3.svg +8 -0
  509. package/static/assets/icons/Users/Geometric-Full-Body-Multiple-Users/multiple-users-1.svg +8 -0
  510. package/static/assets/icons/Work-Office-Companies/Human-Resources/human-resources-search-team--16w.svg +8 -0
  511. package/static/assets/icons/Work-Office-Companies/Human-Resources/human-resources-search-team.svg +8 -0
  512. package/static/assets/icons/ic_add.svg +5 -0
  513. package/static/assets/icons/ic_add_circle_outline.svg +3 -0
  514. package/static/assets/icons/ic_arrow_back.svg +3 -0
  515. package/static/assets/icons/ic_arrow_drop_down.svg +3 -0
  516. package/static/assets/icons/ic_arrow_forward.svg +3 -0
  517. package/static/assets/icons/ic_button.svg +3 -0
  518. package/static/assets/icons/ic_calendar.svg +12 -0
  519. package/static/assets/icons/ic_cancel.svg +8 -0
  520. package/static/assets/icons/ic_caution.svg +3 -0
  521. package/static/assets/icons/ic_caution_light_large.svg +5 -0
  522. package/static/assets/icons/ic_check_box.svg +3 -0
  523. package/static/assets/icons/ic_check_box_outline_blank.svg +3 -0
  524. package/static/assets/icons/ic_check_circle.svg +3 -0
  525. package/static/assets/icons/ic_close.svg +3 -0
  526. package/static/assets/icons/ic_colors.svg +8 -0
  527. package/static/assets/icons/ic_complete.svg +4 -0
  528. package/static/assets/icons/ic_css.svg +7 -0
  529. package/static/assets/icons/ic_dashboard.svg +11 -0
  530. package/static/assets/icons/ic_date.svg +9 -0
  531. package/static/assets/icons/ic_date_disable.svg +8 -0
  532. package/static/assets/icons/ic_delete.svg +7 -0
  533. package/static/assets/icons/ic_disable.svg +3 -0
  534. package/static/assets/icons/ic_drag_handle.svg +3 -0
  535. package/static/assets/icons/ic_drop_light_large.svg +14 -0
  536. package/static/assets/icons/ic_edit.svg +5 -0
  537. package/static/assets/icons/ic_email.svg +6 -0
  538. package/static/assets/icons/ic_fonts.svg +6 -0
  539. package/static/assets/icons/ic_fullscreen.svg +3 -0
  540. package/static/assets/icons/ic_fullscreen_exit.svg +3 -0
  541. package/static/assets/icons/ic_guests.svg +8 -0
  542. package/static/assets/icons/ic_help.svg +5 -0
  543. package/static/assets/icons/ic_home.svg +4 -0
  544. package/static/assets/icons/ic_indeterminate_check_box.svg +3 -0
  545. package/static/assets/icons/ic_keyboard_arrow_left.svg +3 -0
  546. package/static/assets/icons/ic_keyboard_arrow_right.svg +3 -0
  547. package/static/assets/icons/ic_late.svg +5 -0
  548. package/static/assets/icons/ic_launch.svg +18 -0
  549. package/static/assets/icons/ic_location.svg +4 -0
  550. package/static/assets/icons/ic_logout.svg +5 -0
  551. package/static/assets/icons/ic_menu.svg +3 -0
  552. package/static/assets/icons/ic_message.svg +5 -0
  553. package/static/assets/icons/ic_message_failed.svg +7 -0
  554. package/static/assets/icons/ic_messages.svg +8 -0
  555. package/static/assets/icons/ic_more.svg +5 -0
  556. package/static/assets/icons/ic_new_tab.svg +3 -0
  557. package/static/assets/icons/ic_note.svg +8 -0
  558. package/static/assets/icons/ic_payment_failed_solid.svg +5 -0
  559. package/static/assets/icons/ic_payment_success_solid.svg +5 -0
  560. package/static/assets/icons/ic_phone.svg +7 -0
  561. package/static/assets/icons/ic_pin.svg +4 -0
  562. package/static/assets/icons/ic_pin_outline.svg +4 -0
  563. package/static/assets/icons/ic_power.svg +4 -0
  564. package/static/assets/icons/ic_private.svg +5 -0
  565. package/static/assets/icons/ic_profile_image_light_large.svg +7 -0
  566. package/static/assets/icons/ic_public.svg +5 -0
  567. package/static/assets/icons/ic_radio_button_checked.svg +3 -0
  568. package/static/assets/icons/ic_radio_button_unchecked.svg +3 -0
  569. package/static/assets/icons/ic_rotate_left.svg +9 -0
  570. package/static/assets/icons/ic_rotate_right.svg +9 -0
  571. package/static/assets/icons/ic_search.svg +3 -0
  572. package/static/assets/icons/ic_settings.svg +4 -0
  573. package/static/assets/icons/ic_shop_light_large.svg +6 -0
  574. package/static/assets/icons/ic_show.svg +4 -0
  575. package/static/assets/icons/ic_skill.svg +3 -0
  576. package/static/assets/icons/ic_star_outline.svg +3 -0
  577. package/static/assets/icons/ic_star_solid.svg +3 -0
  578. package/static/assets/icons/ic_status.svg +8 -0
  579. package/static/assets/icons/ic_store.svg +7 -0
  580. package/static/assets/icons/ic_switch_users.svg +8 -0
  581. package/static/assets/icons/ic_team.svg +8 -0
  582. package/static/assets/icons/ic_teammates.svg +8 -0
  583. package/static/assets/icons/ic_unordered_list.svg +8 -0
  584. package/static/assets/icons/ic_upload.svg +8 -0
  585. package/static/assets/icons/ic_upload_file_light_large.svg +9 -0
  586. package/static/assets/icons/ic_upload_file_success_light_large.svg +7 -0
  587. package/static/assets/icons/ic_user_avatar.svg +3 -0
  588. package/static/assets/icons/ic_wifi.svg +9 -0
  589. package/static/assets/icons/s-ic_spruce-logo-02.svg +3 -0
  590. package/static/assets/icons/s-ic_spruce-logo.svg +3 -0
  591. package/static/assets/logo.png +0 -0
  592. package/static/assets/users/user-01--96w.png +0 -0
  593. package/static/assets/users/user-01.png +0 -0
  594. package/static/assets/users/user-02--96w.png +0 -0
  595. package/static/assets/users/user-03--96w.png +0 -0
  596. package/static/assets/users/user-04--96w.png +0 -0
  597. package/static/assets/users/user-04.png +0 -0
  598. package/static/assets/users/user-05--96w.png +0 -0
  599. package/static/assets/users/user-05.png +0 -0
  600. package/static/assets/users/user-06--96w.png +0 -0
  601. package/static/assets/users/user-06.png +0 -0
  602. package/static/assets/users/user-07--96w.png +0 -0
  603. package/static/assets/users/user-07.png +0 -0
  604. package/static/assets/users/user-08--96w.png +0 -0
  605. package/static/assets/users/user-08.png +0 -0
  606. package/static/assets/users/user-09--96w.png +0 -0
  607. package/static/assets/users/user-09.png +0 -0
  608. package/static/assets/users/user-placeholder--96w.png +0 -0
  609. package/static/assets/users/user-placeholder.png +0 -0
  610. package/static/browserconfig.xml +9 -0
  611. package/static/favicon-16x16.png +0 -0
  612. package/static/favicon-32x32.png +0 -0
  613. package/static/favicon.ico +0 -0
  614. package/static/mstile-150x150.png +0 -0
  615. package/static/safari-pinned-tab.svg +26 -0
  616. package/static/site.webmanifest +19 -0
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
+
24
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
+
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
28
+ var _spruceTypes = require("@sprucelabs/spruce-types");
29
+
30
+ var _classnames = _interopRequireDefault(require("classnames"));
31
+
32
+ var _lodash = require("lodash");
33
+
34
+ var _react = _interopRequireWildcard(require("react"));
35
+
36
+ var _reactDom = require("react-dom");
37
+
38
+ var _Button = _interopRequireWildcard(require("../Button/Button"));
39
+
40
+ var _ButtonGroup = _interopRequireDefault(require("../ButtonGroup/ButtonGroup"));
41
+
42
+ var MoreIcon = function MoreIcon(props) {
43
+ return _react["default"].createElement("svg", props, _react["default"].createElement("path", {
44
+ clipRule: "evenodd",
45
+ d: "M3.375 14.648a2.625 2.625 0 1 0 0-5.25 2.625 2.625 0 0 0 0 5.25zM20.625 14.648a2.625 2.625 0 1 0 0-5.25 2.625 2.625 0 0 0 0 5.25zM12 14.648a2.625 2.625 0 1 0 0-5.25 2.625 2.625 0 0 0 0 5.25z",
46
+ strokeWidth: "1.5",
47
+ strokeLinecap: "round",
48
+ strokeLinejoin: "round"
49
+ }));
50
+ };
51
+
52
+ MoreIcon.defaultProps = {
53
+ width: "24",
54
+ height: "24",
55
+ viewBox: "0 0 24 24",
56
+ xmlns: "http://www.w3.org/2000/svg"
57
+ };
58
+
59
+ var ContextMenu =
60
+ /*#__PURE__*/
61
+ function (_Component) {
62
+ (0, _inherits2["default"])(ContextMenu, _Component);
63
+
64
+ function ContextMenu(props) {
65
+ var _this;
66
+
67
+ (0, _classCallCheck2["default"])(this, ContextMenu);
68
+ _this = (0, _possibleConstructorReturn2["default"])(this, (0, _getPrototypeOf2["default"])(ContextMenu).call(this, props));
69
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "ref", _react["default"].createRef());
70
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "menuRef", _react["default"].createRef());
71
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "debouncedWindowResize", (0, _lodash.debounce)(function () {
72
+ return _this.handleWindowResize();
73
+ }, 200));
74
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
75
+ isVisible: false,
76
+ overflowBottom: false,
77
+ overflowLeft: false,
78
+ menuPosition: {
79
+ top: null,
80
+ left: null
81
+ }
82
+ });
83
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "componentDidMount", function () {
84
+ _this.getMenuPlacement();
85
+
86
+ if (typeof window !== 'undefined') {
87
+ window.addEventListener('resize', _this.debouncedWindowResize, false);
88
+ }
89
+ });
90
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "componentWillUnmount", function () {
91
+ if (typeof document !== 'undefined') {
92
+ document.removeEventListener('click', _this.handleClickOutside, false);
93
+ document.removeEventListener('keyup', _this.handleEscape, false);
94
+ }
95
+
96
+ if (typeof window !== 'undefined') {
97
+ window.removeEventListener('resize', _this.debouncedWindowResize, false);
98
+ }
99
+ });
100
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleWindowResize", function () {
101
+ var isVisible = _this.state.isVisible;
102
+
103
+ if (isVisible) {
104
+ _this.updateMenuPlacement();
105
+ }
106
+ });
107
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getTriggerPlacement", function () {
108
+ var triggerPosition = _this.ref.current && _this.ref.current.getBoundingClientRect();
109
+
110
+ if (triggerPosition && 'x' in triggerPosition) {
111
+ return triggerPosition;
112
+ }
113
+
114
+ return null;
115
+ });
116
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getMenuPlacement", function () {
117
+ var reactHeartwoodProps = _this.props;
118
+ var isRightAligned = reactHeartwoodProps.isRightAligned,
119
+ isBottomAligned = reactHeartwoodProps.isBottomAligned;
120
+
121
+ var triggerPosition = _this.getTriggerPlacement();
122
+
123
+ if (!triggerPosition) {
124
+ return;
125
+ }
126
+
127
+ var menuPosition = {
128
+ top: isBottomAligned ? triggerPosition.y : triggerPosition.y + triggerPosition.height,
129
+ left: isRightAligned ? triggerPosition.x + triggerPosition.width : triggerPosition.x
130
+ };
131
+
132
+ _this.setState({
133
+ menuPosition: menuPosition
134
+ });
135
+ });
136
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateMenuPlacement", function () {
137
+ var scrollTop = typeof document !== 'undefined' && document && document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : 0;
138
+
139
+ var triggerPosition = _this.getTriggerPlacement();
140
+
141
+ var menuBox = _this.menuRef && _this.menuRef.current && _this.menuRef.current.getBoundingClientRect();
142
+
143
+ var portalBox = _this.portalEl && _this.portalEl.getBoundingClientRect();
144
+
145
+ var overflowLeft = false;
146
+ var overflowBottom = false;
147
+ var newTop = null;
148
+ var newLeft = null;
149
+
150
+ if (menuBox && portalBox && triggerPosition) {
151
+ if (triggerPosition.x + triggerPosition.width + menuBox.width > portalBox.width) {
152
+ newLeft = triggerPosition.x + triggerPosition.width;
153
+ overflowLeft = true;
154
+ } else {
155
+ newLeft = triggerPosition.x;
156
+ }
157
+
158
+ if (scrollTop + triggerPosition.y + triggerPosition.height + menuBox.height > scrollTop + portalBox.height) {
159
+ newTop = scrollTop + triggerPosition.y;
160
+ overflowBottom = true;
161
+ } else {
162
+ newTop = scrollTop + triggerPosition.y + triggerPosition.height;
163
+ }
164
+ }
165
+
166
+ _this.setState(function (prevState) {
167
+ return {
168
+ overflowLeft: overflowLeft,
169
+ overflowBottom: overflowBottom,
170
+ menuPosition: {
171
+ top: newTop || prevState.menuPosition.top,
172
+ left: newLeft || prevState.menuPosition.left
173
+ }
174
+ };
175
+ });
176
+ });
177
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClickOutside", function () {
178
+ _this.setState({
179
+ isVisible: false
180
+ }, function () {
181
+ return _this.manageListeners();
182
+ });
183
+ });
184
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleEscape", function (e) {
185
+ if (e.key === 'Escape') {
186
+ _this.setState({
187
+ isVisible: false
188
+ }, function () {
189
+ return _this.manageListeners();
190
+ });
191
+ }
192
+ });
193
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleToggle", function () {
194
+ var _ref = _this.props,
195
+ onToggleContextMenuVisible = _ref.onToggleContextMenuVisible;
196
+
197
+ _this.setState(function (prevState) {
198
+ return {
199
+ isVisible: !prevState.isVisible
200
+ };
201
+ }, function () {
202
+ _this.manageListeners();
203
+
204
+ if (onToggleContextMenuVisible) {
205
+ onToggleContextMenuVisible(_this.state.isVisible);
206
+ }
207
+
208
+ if (_this.state.isVisible) {
209
+ _this.updateMenuPlacement();
210
+ }
211
+ });
212
+ });
213
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "manageListeners", function () {
214
+ if (typeof document !== 'undefined') {
215
+ if (_this.state.isVisible) {
216
+ document.addEventListener('click', _this.handleClickOutside, false);
217
+ document.addEventListener('keyup', _this.handleEscape, false);
218
+ } else {
219
+ document.removeEventListener('click', _this.handleClickOutside, false);
220
+ document.removeEventListener('keyup', _this.handleEscape, false);
221
+ }
222
+ }
223
+ });
224
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClickAction", function (payload, callback) {
225
+ if (_this.props.closeOnSelectAction) {
226
+ _this.handleToggle();
227
+ }
228
+
229
+ callback && callback(payload);
230
+ });
231
+ _this.portalEl = typeof document !== 'undefined' && document && document.body ? document.body : undefined;
232
+ return _this;
233
+ }
234
+
235
+ (0, _createClass2["default"])(ContextMenu, [{
236
+ key: "render",
237
+ value: function render() {
238
+ var _this2 = this;
239
+
240
+ var reactHeartwoodProps = this.props;
241
+ var commonProps = this.props;
242
+ var _this$state = this.state,
243
+ isVisible = _this$state.isVisible,
244
+ overflowBottom = _this$state.overflowBottom,
245
+ overflowLeft = _this$state.overflowLeft,
246
+ menuPosition = _this$state.menuPosition;
247
+ var icon = commonProps.icon,
248
+ isSimple = commonProps.isSimple,
249
+ isSmall = commonProps.isSmall,
250
+ isTextOnly = commonProps.isTextOnly,
251
+ size = commonProps.size,
252
+ text = commonProps.text;
253
+ var actions = reactHeartwoodProps.actions,
254
+ className = reactHeartwoodProps.className,
255
+ isBottomAligned = reactHeartwoodProps.isBottomAligned,
256
+ isRightAligned = reactHeartwoodProps.isRightAligned,
257
+ onAction = reactHeartwoodProps.onAction;
258
+ var buttonClass = (0, _classnames["default"])('context-menu', className, {
259
+ 'context-menu--is-visible': isVisible
260
+ });
261
+ var menuClass = (0, _classnames["default"])('context-menu__menu', {
262
+ 'context-menu__menu-left': isRightAligned || overflowLeft,
263
+ 'context-menu__menu-large': size === 'large',
264
+ 'context-menu__menu-top': isBottomAligned || overflowBottom
265
+ });
266
+ return _react["default"].createElement("div", {
267
+ className: buttonClass,
268
+ ref: this.ref
269
+ }, _react["default"].createElement(_Button["default"], {
270
+ kind: isSimple ? _Button.ButtonKinds.Simple : undefined,
271
+ className: "context-menu__button",
272
+ onClick: this.handleToggle,
273
+ icon: !isTextOnly && (icon || {
274
+ customIcon: MoreIcon,
275
+ isLineIcon: true
276
+ }) || undefined,
277
+ text: text,
278
+ isSmall: isSmall
279
+ }), isVisible && this.portalEl && (0, _reactDom.createPortal)(_react["default"].createElement("div", {
280
+ className: menuClass,
281
+ ref: this.menuRef,
282
+ style: {
283
+ position: 'absolute',
284
+ top: typeof menuPosition.top === 'number' ? "".concat((menuPosition.top || 0) + 4, "px") : 'auto',
285
+ left: typeof menuPosition.left === 'number' ? "".concat((menuPosition.left || 0) + 4, "px") : 'auto'
286
+ }
287
+ }, _react["default"].createElement(_ButtonGroup["default"], {
288
+ kind: _spruceTypes.IHWButtonGroupKind.Floating,
289
+ actions: actions.map(function (action) {
290
+ var btnAction = (0, _objectSpread2["default"])({}, action);
291
+ var oldOnclick = btnAction.onClick;
292
+
293
+ btnAction.onClick = function () {
294
+ _this2.handleClickAction(btnAction.payload, oldOnclick);
295
+ };
296
+
297
+ btnAction.className = 'context-menu__item-btn';
298
+ return btnAction;
299
+ }),
300
+ onAction: onAction
301
+ })), this.portalEl));
302
+ }
303
+ }]);
304
+ return ContextMenu;
305
+ }(_react.Component);
306
+
307
+ exports["default"] = ContextMenu;
308
+ (0, _defineProperty2["default"])(ContextMenu, "defaultProps", {
309
+ isRightAligned: false,
310
+ isBottomAligned: false,
311
+ isTextOnly: false,
312
+ isSmall: false,
313
+ className: ''
314
+ });
315
+ //# sourceMappingURL=ContextMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/ContextMenu/ContextMenu.tsx"],"names":["MoreIcon","ContextMenu","props","React","createRef","handleWindowResize","isVisible","overflowBottom","overflowLeft","menuPosition","top","left","getMenuPlacement","window","addEventListener","debouncedWindowResize","document","removeEventListener","handleClickOutside","handleEscape","state","updateMenuPlacement","triggerPosition","ref","current","getBoundingClientRect","reactHeartwoodProps","isRightAligned","isBottomAligned","getTriggerPlacement","y","height","x","width","setState","scrollTop","documentElement","menuBox","menuRef","portalBox","portalEl","newTop","newLeft","prevState","manageListeners","e","key","onToggleContextMenuVisible","payload","callback","closeOnSelectAction","handleToggle","body","undefined","commonProps","icon","isSimple","isSmall","isTextOnly","size","text","actions","className","onAction","buttonClass","menuClass","ButtonKinds","Simple","customIcon","isLineIcon","position","IHWButtonGroupKind","Floating","map","action","btnAction","oldOnclick","onClick","handleClickAction","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA;;AACA;;AACA;;AACA;;AAEA;;AACA;;IAFOA,Q,YAAAA,Q;;;;;;;;;;AAAAA,Q;;;;;;;IA6CcC,W;;;;;AA2BpB,uBAAmBC,KAAnB,EAA6C;AAAA;;AAAA;AAC5C,uHAAMA,KAAN;AAD4C,4FAfCC,kBAAMC,SAAN,EAeD;AAAA,gGAdKD,kBAAMC,SAAN,EAcL;AAAA,8GAXd,sBAAS;AAAA,aAAM,MAAKC,kBAAL,EAAN;AAAA,KAAT,EAA0C,GAA1C,CAWc;AAAA,8FAV9B;AACdC,MAAAA,SAAS,EAAE,KADG;AAEdC,MAAAA,cAAc,EAAE,KAFF;AAGdC,MAAAA,YAAY,EAAE,KAHA;AAIdC,MAAAA,YAAY,EAAE;AACbC,QAAAA,GAAG,EAAE,IADQ;AAEbC,QAAAA,IAAI,EAAE;AAFO;AAJA,KAU8B;AAAA,0GASlB,YAAM;AAChC,YAAKC,gBAAL;;AACA,UAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AAClCA,QAAAA,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkC,MAAKC,qBAAvC,EAA8D,KAA9D;AACA;AACD,KAd4C;AAAA,6GAgBf,YAAM;AACnC,UAAI,OAAOC,QAAP,KAAoB,WAAxB,EAAqC;AACpCA,QAAAA,QAAQ,CAACC,mBAAT,CAA6B,OAA7B,EAAsC,MAAKC,kBAA3C,EAA+D,KAA/D;AACAF,QAAAA,QAAQ,CAACC,mBAAT,CAA6B,OAA7B,EAAsC,MAAKE,YAA3C,EAAyD,KAAzD;AACA;;AACD,UAAI,OAAON,MAAP,KAAkB,WAAtB,EAAmC;AAClCA,QAAAA,MAAM,CAACI,mBAAP,CAA2B,QAA3B,EAAqC,MAAKF,qBAA1C,EAAiE,KAAjE;AACA;AACD,KAxB4C;AAAA,2GA0BjB,YAAM;AAAA,UACzBT,SADyB,GACX,MAAKc,KADM,CACzBd,SADyB;;AAEjC,UAAIA,SAAJ,EAAe;AACd,cAAKe,mBAAL;AACA;AACD,KA/B4C;AAAA,4GAiChB,YAAsB;AAClD,UAAMC,eAAe,GACpB,MAAKC,GAAL,CAASC,OAAT,IAAoB,MAAKD,GAAL,CAASC,OAAT,CAAiBC,qBAAjB,EADrB;;AAGA,UAAIH,eAAe,IAAI,OAAOA,eAA9B,EAA+C;AAC9C,eAAOA,eAAP;AACA;;AAED,aAAO,IAAP;AACA,KA1C4C;AAAA,yGA4CnB,YAAM;AAC/B,UAAMI,mBAAmB,GAAG,MAAKxB,KAAjC;AAD+B,UAEvByB,cAFuB,GAEaD,mBAFb,CAEvBC,cAFuB;AAAA,UAEPC,eAFO,GAEaF,mBAFb,CAEPE,eAFO;;AAI/B,UAAMN,eAAe,GAAG,MAAKO,mBAAL,EAAxB;;AAEA,UAAI,CAACP,eAAL,EAAsB;AACrB;AACA;;AACD,UAAMb,YAAY,GAAG;AACpBC,QAAAA,GAAG,EAAEkB,eAAe,GACjBN,eAAe,CAACQ,CADC,GAEjBR,eAAe,CAACQ,CAAhB,GAAoBR,eAAe,CAACS,MAHnB;AAIpBpB,QAAAA,IAAI,EAAEgB,cAAc,GACjBL,eAAe,CAACU,CAAhB,GAAoBV,eAAe,CAACW,KADnB,GAEjBX,eAAe,CAACU;AANC,OAArB;;AASA,YAAKE,QAAL,CAAc;AACbzB,QAAAA,YAAY,EAAZA;AADa,OAAd;AAGA,KAjE4C;AAAA,4GAmEhB,YAAM;AAClC,UAAM0B,SAAS,GACd,OAAOnB,QAAP,KAAoB,WAApB,IACAA,QADA,IAEAA,QAAQ,CAACoB,eAFT,IAGApB,QAAQ,CAACoB,eAAT,CAAyBD,SAHzB,GAIGnB,QAAQ,CAACoB,eAAT,CAAyBD,SAJ5B,GAKG,CANJ;;AAOA,UAAMb,eAAe,GAAG,MAAKO,mBAAL,EAAxB;;AACA,UAAMQ,OAAO,GACZ,MAAKC,OAAL,IACA,MAAKA,OAAL,CAAad,OADb,IAEA,MAAKc,OAAL,CAAad,OAAb,CAAqBC,qBAArB,EAHD;;AAIA,UAAMc,SAAS,GAAG,MAAKC,QAAL,IAAiB,MAAKA,QAAL,CAAcf,qBAAd,EAAnC;;AACA,UAAIjB,YAAY,GAAG,KAAnB;AACA,UAAID,cAAc,GAAG,KAArB;AACA,UAAIkC,MAAqB,GAAG,IAA5B;AACA,UAAIC,OAAsB,GAAG,IAA7B;;AAEA,UAAIL,OAAO,IAAIE,SAAX,IAAwBjB,eAA5B,EAA6C;AAC5C,YACCA,eAAe,CAACU,CAAhB,GAAoBV,eAAe,CAACW,KAApC,GAA4CI,OAAO,CAACJ,KAApD,GACAM,SAAS,CAACN,KAFX,EAGE;AACDS,UAAAA,OAAO,GAAGpB,eAAe,CAACU,CAAhB,GAAoBV,eAAe,CAACW,KAA9C;AACAzB,UAAAA,YAAY,GAAG,IAAf;AACA,SAND,MAMO;AACNkC,UAAAA,OAAO,GAAGpB,eAAe,CAACU,CAA1B;AACA;;AAED,YACCG,SAAS,GACRb,eAAe,CAACQ,CADjB,GAECR,eAAe,CAACS,MAFjB,GAGCM,OAAO,CAACN,MAHT,GAIAI,SAAS,GAAGI,SAAS,CAACR,MALvB,EAME;AACDU,UAAAA,MAAM,GAAGN,SAAS,GAAGb,eAAe,CAACQ,CAArC;AACAvB,UAAAA,cAAc,GAAG,IAAjB;AACA,SATD,MASO;AACNkC,UAAAA,MAAM,GAAGN,SAAS,GAAGb,eAAe,CAACQ,CAA5B,GAAgCR,eAAe,CAACS,MAAzD;AACA;AACD;;AAED,YAAKG,QAAL,CAAc,UAAAS,SAAS;AAAA,eAAK;AAC3BnC,UAAAA,YAAY,EAAZA,YAD2B;AAE3BD,UAAAA,cAAc,EAAdA,cAF2B;AAG3BE,UAAAA,YAAY,EAAE;AACbC,YAAAA,GAAG,EAAE+B,MAAM,IAAIE,SAAS,CAAClC,YAAV,CAAuBC,GADzB;AAEbC,YAAAA,IAAI,EAAE+B,OAAO,IAAIC,SAAS,CAAClC,YAAV,CAAuBE;AAF3B;AAHa,SAAL;AAAA,OAAvB;AAQA,KAvH4C;AAAA,2GAyHjB,YAAY;AACvC,YAAKuB,QAAL,CACC;AACC5B,QAAAA,SAAS,EAAE;AADZ,OADD,EAIC;AAAA,eAAM,MAAKsC,eAAL,EAAN;AAAA,OAJD;AAMA,KAhI4C;AAAA,qGAkIvB,UAACC,CAAD,EAAkB;AACvC,UAAIA,CAAC,CAACC,GAAF,KAAU,QAAd,EAAwB;AACvB,cAAKZ,QAAL,CACC;AACC5B,UAAAA,SAAS,EAAE;AADZ,SADD,EAIC;AAAA,iBAAM,MAAKsC,eAAL,EAAN;AAAA,SAJD;AAMA;AACD,KA3I4C;AAAA,qGA6IvB,YAAY;AAAA,iBACM,MAAK1C,KADX;AAAA,UACzB6C,0BADyB,QACzBA,0BADyB;;AAGjC,YAAKb,QAAL,CACC,UAAAS,SAAS;AAAA,eAAK;AACbrC,UAAAA,SAAS,EAAE,CAACqC,SAAS,CAACrC;AADT,SAAL;AAAA,OADV,EAIC,YAAM;AACL,cAAKsC,eAAL;;AAEA,YAAIG,0BAAJ,EAAgC;AAC/BA,UAAAA,0BAA0B,CAAC,MAAK3B,KAAL,CAAWd,SAAZ,CAA1B;AACA;;AAED,YAAI,MAAKc,KAAL,CAAWd,SAAf,EAA0B;AACzB,gBAAKe,mBAAL;AACA;AACD,OAdF;AAgBA,KAhK4C;AAAA,wGAkKpB,YAAM;AAC9B,UAAI,OAAOL,QAAP,KAAoB,WAAxB,EAAqC;AACpC,YAAI,MAAKI,KAAL,CAAWd,SAAf,EAA0B;AACzBU,UAAAA,QAAQ,CAACF,gBAAT,CAA0B,OAA1B,EAAmC,MAAKI,kBAAxC,EAA4D,KAA5D;AACAF,UAAAA,QAAQ,CAACF,gBAAT,CAA0B,OAA1B,EAAmC,MAAKK,YAAxC,EAAsD,KAAtD;AACA,SAHD,MAGO;AACNH,UAAAA,QAAQ,CAACC,mBAAT,CAA6B,OAA7B,EAAsC,MAAKC,kBAA3C,EAA+D,KAA/D;AACAF,UAAAA,QAAQ,CAACC,mBAAT,CAA6B,OAA7B,EAAsC,MAAKE,YAA3C,EAAyD,KAAzD;AACA;AACD;AACD,KA5K4C;AAAA,0GA8KlB,UAAC6B,OAAD,EAAUC,QAAV,EAAuB;AACjD,UAAI,MAAK/C,KAAL,CAAWgD,mBAAf,EAAoC;AACnC,cAAKC,YAAL;AACA;;AACDF,MAAAA,QAAQ,IAAIA,QAAQ,CAACD,OAAD,CAApB;AACA,KAnL4C;AAG5C,UAAKR,QAAL,GACC,OAAOxB,QAAP,KAAoB,WAApB,IAAmCA,QAAnC,IAA+CA,QAAQ,CAACoC,IAAxD,GACGpC,QAAQ,CAACoC,IADZ,GAEGC,SAHJ;AAH4C;AAO5C;;;;6BA8KmC;AAAA;;AACnC,UAAM3B,mBAAmB,GAAG,KAAKxB,KAAjC;AACA,UAAMoD,WAAW,GAAG,KAAKpD,KAAzB;AAFmC,wBAI+B,KAAKkB,KAJpC;AAAA,UAI3Bd,SAJ2B,eAI3BA,SAJ2B;AAAA,UAIhBC,cAJgB,eAIhBA,cAJgB;AAAA,UAIAC,YAJA,eAIAA,YAJA;AAAA,UAIcC,YAJd,eAIcA,YAJd;AAAA,UAK3B8C,IAL2B,GAKyBD,WALzB,CAK3BC,IAL2B;AAAA,UAKrBC,QALqB,GAKyBF,WALzB,CAKrBE,QALqB;AAAA,UAKXC,OALW,GAKyBH,WALzB,CAKXG,OALW;AAAA,UAKFC,UALE,GAKyBJ,WALzB,CAKFI,UALE;AAAA,UAKUC,IALV,GAKyBL,WALzB,CAKUK,IALV;AAAA,UAKgBC,IALhB,GAKyBN,WALzB,CAKgBM,IALhB;AAAA,UAQlCC,OARkC,GAa/BnC,mBAb+B,CAQlCmC,OARkC;AAAA,UASlCC,SATkC,GAa/BpC,mBAb+B,CASlCoC,SATkC;AAAA,UAUlClC,eAVkC,GAa/BF,mBAb+B,CAUlCE,eAVkC;AAAA,UAWlCD,cAXkC,GAa/BD,mBAb+B,CAWlCC,cAXkC;AAAA,UAYlCoC,QAZkC,GAa/BrC,mBAb+B,CAYlCqC,QAZkC;AAenC,UAAMC,WAAW,GAAG,4BAAG,cAAH,EAAmBF,SAAnB,EAA8B;AACjD,oCAA4BxD;AADqB,OAA9B,CAApB;AAGA,UAAM2D,SAAS,GAAG,4BAAG,oBAAH,EAAyB;AAC1C,mCAA2BtC,cAAc,IAAInB,YADH;AAE1C,oCAA4BmD,IAAI,KAAK,OAFK;AAG1C,kCAA0B/B,eAAe,IAAIrB;AAHH,OAAzB,CAAlB;AAMA,aACC;AAAK,QAAA,SAAS,EAAEyD,WAAhB;AAA6B,QAAA,GAAG,EAAE,KAAKzC;AAAvC,SACC,gCAAC,kBAAD;AACC,QAAA,IAAI,EAAEiC,QAAQ,GAAGU,oBAAYC,MAAf,GAAwBd,SADvC;AAEC,QAAA,SAAS,EAAC,sBAFX;AAGC,QAAA,OAAO,EAAE,KAAKF,YAHf;AAIC,QAAA,IAAI,EACF,CAACO,UAAD,KACCH,IAAI,IAAI;AAAEa,UAAAA,UAAU,EAAEpE,QAAd;AAAwBqE,UAAAA,UAAU,EAAE;AAApC,SADT,CAAD,IAEAhB,SAPF;AASC,QAAA,IAAI,EAAEO,IATP;AAUC,QAAA,OAAO,EAAEH;AAVV,QADD,EAaEnD,SAAS,IACT,KAAKkC,QADL,IAEA,4BACC;AACC,QAAA,SAAS,EAAEyB,SADZ;AAEC,QAAA,GAAG,EAAE,KAAK3B,OAFX;AAGC,QAAA,KAAK,EAAE;AACNgC,UAAAA,QAAQ,EAAE,UADJ;AAEN5D,UAAAA,GAAG,EACF,OAAOD,YAAY,CAACC,GAApB,KAA4B,QAA5B,aACM,CAACD,YAAY,CAACC,GAAb,IAAoB,CAArB,IAA0B,CADhC,UAEG,MALE;AAMNC,UAAAA,IAAI,EACH,OAAOF,YAAY,CAACE,IAApB,KAA6B,QAA7B,aACM,CAACF,YAAY,CAACE,IAAb,IAAqB,CAAtB,IAA2B,CADjC,UAEG;AATE;AAHR,SAeC,gCAAC,uBAAD;AACC,QAAA,IAAI,EAAE4D,gCAAmBC,QAD1B;AAEC,QAAA,OAAO,EAAEX,OAAO,CAACY,GAAR,CAAY,UAAAC,MAAM,EAAI;AAC9B,cAAMC,SAAS,sCAAQD,MAAR,CAAf;AACA,cAAME,UAAU,GAAGD,SAAS,CAACE,OAA7B;;AACAF,UAAAA,SAAS,CAACE,OAAV,GAAoB,YAAM;AACzB,YAAA,MAAI,CAACC,iBAAL,CAAuBH,SAAS,CAAC3B,OAAjC,EAA0C4B,UAA1C;AACA,WAFD;;AAGAD,UAAAA,SAAS,CAACb,SAAV,GAAsB,wBAAtB;AACA,iBAAOa,SAAP;AACA,SARQ,CAFV;AAWC,QAAA,QAAQ,EAAEZ;AAXX,QAfD,CADD,EA8BC,KAAKvB,QA9BN,CAfF,CADD;AAkDA;;;EA1RuCuC,gB;;;iCAApB9E,W,kBAIS;AAC5B0B,EAAAA,cAAc,EAAE,KADY;AAE5BC,EAAAA,eAAe,EAAE,KAFW;AAG5B8B,EAAAA,UAAU,EAAE,KAHgB;AAI5BD,EAAAA,OAAO,EAAE,KAJmB;AAK5BK,EAAAA,SAAS,EAAE;AALiB,C","sourcesContent":["import {\n\tIHWAction,\n\tIHWButtonGroupKind,\n\tIHWContextMenu\n} from '@sprucelabs/spruce-types'\nimport cx from 'classnames'\nimport { debounce } from 'lodash'\nimport React, { Component } from 'react'\nimport { createPortal } from 'react-dom'\nimport MoreIcon from '../../../static/assets/icons/Interface-Essential/Menu/navigation-menu-horizontal.svg'\nimport Button, { ButtonKinds, IButtonProps } from '../Button/Button'\nimport ButtonGroup from '../ButtonGroup/ButtonGroup'\nimport { IIconProps } from '../Icon/Icon'\n\nexport interface IContextMenuProps\n\textends Omit<IHWContextMenu, 'actions' | 'icon'> {\n\t/** The actions to be shown on tap/click */\n\tactions: IButtonProps[]\n\n\t/** DEPRECATED Set true to left align the menu */\n\tisLeftAligned?: boolean\n\n\t/** DEPRECATED Set true to right align the menu */\n\tisRightAligned?: boolean\n\n\t/** DEPRECATED Set true to align menu above button */\n\tisBottomAligned?: boolean\n\n\t/** Overrides the default icon */\n\ticon?: IIconProps | null\n\n\t/** Optional classname that applies to the button */\n\tclassName?: string\n\n\tonToggleContextMenuVisible?: Function\n\n\t/** optional, provide a handler for Actions */\n\tonAction?: (action: IHWAction) => any\n}\n\ninterface IContextMenuState {\n\t/** Show the menu */\n\tisVisible: boolean\n\n\t/** Where the menu should be positioned when visible */\n\tmenuPosition: {\n\t\ttop: number | null\n\t\tleft: number | null\n\t}\n\n\toverflowBottom: boolean\n\toverflowLeft: boolean\n}\n\nexport default class ContextMenu extends Component<\n\tIContextMenuProps | IHWContextMenu,\n\tIContextMenuState\n> {\n\tpublic static defaultProps = {\n\t\tisRightAligned: false,\n\t\tisBottomAligned: false,\n\t\tisTextOnly: false,\n\t\tisSmall: false,\n\t\tclassName: ''\n\t}\n\n\tpublic ref: React.RefObject<HTMLDivElement> = React.createRef()\n\tpublic menuRef: React.RefObject<HTMLDivElement> = React.createRef()\n\tpublic portalEl?: HTMLElement\n\n\tpublic debouncedWindowResize = debounce(() => this.handleWindowResize(), 200)\n\tpublic state = {\n\t\tisVisible: false,\n\t\toverflowBottom: false,\n\t\toverflowLeft: false,\n\t\tmenuPosition: {\n\t\t\ttop: null,\n\t\t\tleft: null\n\t\t}\n\t}\n\n\tpublic constructor(props: IContextMenuProps) {\n\t\tsuper(props)\n\n\t\tthis.portalEl =\n\t\t\ttypeof document !== 'undefined' && document && document.body\n\t\t\t\t? document.body\n\t\t\t\t: undefined\n\t}\n\n\tpublic componentDidMount = () => {\n\t\tthis.getMenuPlacement()\n\t\tif (typeof window !== 'undefined') {\n\t\t\twindow.addEventListener('resize', this.debouncedWindowResize, false)\n\t\t}\n\t}\n\n\tpublic componentWillUnmount = () => {\n\t\tif (typeof document !== 'undefined') {\n\t\t\tdocument.removeEventListener('click', this.handleClickOutside, false)\n\t\t\tdocument.removeEventListener('keyup', this.handleEscape, false)\n\t\t}\n\t\tif (typeof window !== 'undefined') {\n\t\t\twindow.removeEventListener('resize', this.debouncedWindowResize, false)\n\t\t}\n\t}\n\n\tpublic handleWindowResize = () => {\n\t\tconst { isVisible } = this.state\n\t\tif (isVisible) {\n\t\t\tthis.updateMenuPlacement()\n\t\t}\n\t}\n\n\tpublic getTriggerPlacement = (): DOMRect | null => {\n\t\tconst triggerPosition =\n\t\t\tthis.ref.current && this.ref.current.getBoundingClientRect()\n\n\t\tif (triggerPosition && 'x' in triggerPosition) {\n\t\t\treturn triggerPosition\n\t\t}\n\n\t\treturn null\n\t}\n\n\tpublic getMenuPlacement = () => {\n\t\tconst reactHeartwoodProps = this.props as IContextMenuProps\n\t\tconst { isRightAligned, isBottomAligned } = reactHeartwoodProps\n\n\t\tconst triggerPosition = this.getTriggerPlacement()\n\n\t\tif (!triggerPosition) {\n\t\t\treturn\n\t\t}\n\t\tconst menuPosition = {\n\t\t\ttop: isBottomAligned\n\t\t\t\t? triggerPosition.y\n\t\t\t\t: triggerPosition.y + triggerPosition.height,\n\t\t\tleft: isRightAligned\n\t\t\t\t? triggerPosition.x + triggerPosition.width\n\t\t\t\t: triggerPosition.x\n\t\t}\n\n\t\tthis.setState({\n\t\t\tmenuPosition\n\t\t})\n\t}\n\n\tpublic updateMenuPlacement = () => {\n\t\tconst scrollTop =\n\t\t\ttypeof document !== 'undefined' &&\n\t\t\tdocument &&\n\t\t\tdocument.documentElement &&\n\t\t\tdocument.documentElement.scrollTop\n\t\t\t\t? document.documentElement.scrollTop\n\t\t\t\t: 0\n\t\tconst triggerPosition = this.getTriggerPlacement()\n\t\tconst menuBox =\n\t\t\tthis.menuRef &&\n\t\t\tthis.menuRef.current &&\n\t\t\tthis.menuRef.current.getBoundingClientRect()\n\t\tconst portalBox = this.portalEl && this.portalEl.getBoundingClientRect()\n\t\tlet overflowLeft = false\n\t\tlet overflowBottom = false\n\t\tlet newTop: number | null = null\n\t\tlet newLeft: number | null = null\n\n\t\tif (menuBox && portalBox && triggerPosition) {\n\t\t\tif (\n\t\t\t\ttriggerPosition.x + triggerPosition.width + menuBox.width >\n\t\t\t\tportalBox.width\n\t\t\t) {\n\t\t\t\tnewLeft = triggerPosition.x + triggerPosition.width\n\t\t\t\toverflowLeft = true\n\t\t\t} else {\n\t\t\t\tnewLeft = triggerPosition.x\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tscrollTop +\n\t\t\t\t\ttriggerPosition.y +\n\t\t\t\t\ttriggerPosition.height +\n\t\t\t\t\tmenuBox.height >\n\t\t\t\tscrollTop + portalBox.height\n\t\t\t) {\n\t\t\t\tnewTop = scrollTop + triggerPosition.y\n\t\t\t\toverflowBottom = true\n\t\t\t} else {\n\t\t\t\tnewTop = scrollTop + triggerPosition.y + triggerPosition.height\n\t\t\t}\n\t\t}\n\n\t\tthis.setState(prevState => ({\n\t\t\toverflowLeft,\n\t\t\toverflowBottom,\n\t\t\tmenuPosition: {\n\t\t\t\ttop: newTop || prevState.menuPosition.top,\n\t\t\t\tleft: newLeft || prevState.menuPosition.left\n\t\t\t}\n\t\t}))\n\t}\n\n\tpublic handleClickOutside = (): void => {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisVisible: false\n\t\t\t},\n\t\t\t() => this.manageListeners()\n\t\t)\n\t}\n\n\tpublic handleEscape = (e: any): void => {\n\t\tif (e.key === 'Escape') {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tisVisible: false\n\t\t\t\t},\n\t\t\t\t() => this.manageListeners()\n\t\t\t)\n\t\t}\n\t}\n\n\tpublic handleToggle = (): void => {\n\t\tconst { onToggleContextMenuVisible } = this.props as IContextMenuProps\n\n\t\tthis.setState(\n\t\t\tprevState => ({\n\t\t\t\tisVisible: !prevState.isVisible\n\t\t\t}),\n\t\t\t() => {\n\t\t\t\tthis.manageListeners()\n\n\t\t\t\tif (onToggleContextMenuVisible) {\n\t\t\t\t\tonToggleContextMenuVisible(this.state.isVisible)\n\t\t\t\t}\n\n\t\t\t\tif (this.state.isVisible) {\n\t\t\t\t\tthis.updateMenuPlacement()\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t}\n\n\tpublic manageListeners = () => {\n\t\tif (typeof document !== 'undefined') {\n\t\t\tif (this.state.isVisible) {\n\t\t\t\tdocument.addEventListener('click', this.handleClickOutside, false)\n\t\t\t\tdocument.addEventListener('keyup', this.handleEscape, false)\n\t\t\t} else {\n\t\t\t\tdocument.removeEventListener('click', this.handleClickOutside, false)\n\t\t\t\tdocument.removeEventListener('keyup', this.handleEscape, false)\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic handleClickAction = (payload, callback) => {\n\t\tif (this.props.closeOnSelectAction) {\n\t\t\tthis.handleToggle()\n\t\t}\n\t\tcallback && callback(payload)\n\t}\n\n\tpublic render(): React.ReactElement {\n\t\tconst reactHeartwoodProps = this.props as IContextMenuProps\n\t\tconst commonProps = this.props as IHWContextMenu\n\n\t\tconst { isVisible, overflowBottom, overflowLeft, menuPosition } = this.state\n\t\tconst { icon, isSimple, isSmall, isTextOnly, size, text } = commonProps\n\n\t\tconst {\n\t\t\tactions,\n\t\t\tclassName,\n\t\t\tisBottomAligned,\n\t\t\tisRightAligned,\n\t\t\tonAction\n\t\t} = reactHeartwoodProps\n\n\t\tconst buttonClass = cx('context-menu', className, {\n\t\t\t'context-menu--is-visible': isVisible\n\t\t})\n\t\tconst menuClass = cx('context-menu__menu', {\n\t\t\t'context-menu__menu-left': isRightAligned || overflowLeft,\n\t\t\t'context-menu__menu-large': size === 'large',\n\t\t\t'context-menu__menu-top': isBottomAligned || overflowBottom\n\t\t})\n\n\t\treturn (\n\t\t\t<div className={buttonClass} ref={this.ref}>\n\t\t\t\t<Button\n\t\t\t\t\tkind={isSimple ? ButtonKinds.Simple : undefined}\n\t\t\t\t\tclassName=\"context-menu__button\"\n\t\t\t\t\tonClick={this.handleToggle}\n\t\t\t\t\ticon={\n\t\t\t\t\t\t(!isTextOnly &&\n\t\t\t\t\t\t\t(icon || { customIcon: MoreIcon, isLineIcon: true })) ||\n\t\t\t\t\t\tundefined\n\t\t\t\t\t}\n\t\t\t\t\ttext={text}\n\t\t\t\t\tisSmall={isSmall}\n\t\t\t\t/>\n\t\t\t\t{isVisible &&\n\t\t\t\t\tthis.portalEl &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={menuClass}\n\t\t\t\t\t\t\tref={this.menuRef}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\t\ttop:\n\t\t\t\t\t\t\t\t\ttypeof menuPosition.top === 'number'\n\t\t\t\t\t\t\t\t\t\t? `${(menuPosition.top || 0) + 4}px`\n\t\t\t\t\t\t\t\t\t\t: 'auto',\n\t\t\t\t\t\t\t\tleft:\n\t\t\t\t\t\t\t\t\ttypeof menuPosition.left === 'number'\n\t\t\t\t\t\t\t\t\t\t? `${(menuPosition.left || 0) + 4}px`\n\t\t\t\t\t\t\t\t\t\t: 'auto'\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\t\tkind={IHWButtonGroupKind.Floating}\n\t\t\t\t\t\t\t\tactions={actions.map(action => {\n\t\t\t\t\t\t\t\t\tconst btnAction = { ...action }\n\t\t\t\t\t\t\t\t\tconst oldOnclick = btnAction.onClick\n\t\t\t\t\t\t\t\t\tbtnAction.onClick = () => {\n\t\t\t\t\t\t\t\t\t\tthis.handleClickAction(btnAction.payload, oldOnclick)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tbtnAction.className = 'context-menu__item-btn'\n\t\t\t\t\t\t\t\t\treturn btnAction\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tonAction={onAction}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>,\n\t\t\t\t\t\tthis.portalEl\n\t\t\t\t\t)}\n\t\t\t</div>\n\t\t)\n\t}\n}\n"],"file":"ContextMenu.js"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
+
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+
15
+ var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
+
17
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
18
+
19
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
20
+
21
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
22
+
23
+ var _react = _interopRequireWildcard(require("react"));
24
+
25
+ var _react2 = require("@storybook/react");
26
+
27
+ var _FeedBuilder = _interopRequireDefault(require("./FeedBuilder"));
28
+
29
+ var _StylesProvider = _interopRequireDefault(require("../../../../../.storybook/StylesProvider"));
30
+
31
+ var _feed = require("../../../../../.storybook/data/feed");
32
+
33
+ var ProvideStyles = function ProvideStyles(storyFn) {
34
+ return _react["default"].createElement(_StylesProvider["default"], null, storyFn());
35
+ };
36
+
37
+ var stories = (0, _react2.storiesOf)('Feed Builder', module);
38
+ stories.addDecorator(ProvideStyles);
39
+
40
+ var FeedBuilderExample =
41
+ /*#__PURE__*/
42
+ function (_Component) {
43
+ (0, _inherits2["default"])(FeedBuilderExample, _Component);
44
+
45
+ function FeedBuilderExample() {
46
+ var _getPrototypeOf2;
47
+
48
+ var _this;
49
+
50
+ (0, _classCallCheck2["default"])(this, FeedBuilderExample);
51
+
52
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
53
+ args[_key] = arguments[_key];
54
+ }
55
+
56
+ _this = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(FeedBuilderExample)).call.apply(_getPrototypeOf2, [this].concat(args)));
57
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
58
+ messages: (0, _feed.generateMessages)({
59
+ count: 50,
60
+ interval: 31
61
+ })
62
+ });
63
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRowsRequested", function () {
64
+ _this.setState(function (prevState) {
65
+ var lastMessageDate = prevState.messages[prevState.messages.length - 1].dateSent;
66
+ var lastMessageIndex = prevState.messages.length;
67
+ var newMessages = (0, _feed.generateMessages)({
68
+ count: 50,
69
+ interval: 31,
70
+ startDate: lastMessageDate,
71
+ startIndex: lastMessageIndex
72
+ });
73
+ return {
74
+ messages: prevState.messages.length < 500 ? (0, _toConsumableArray2["default"])(prevState.messages).concat(newMessages) : prevState.messages
75
+ };
76
+ });
77
+ });
78
+ return _this;
79
+ }
80
+
81
+ (0, _createClass2["default"])(FeedBuilderExample, [{
82
+ key: "render",
83
+ value: function render() {
84
+ var messages = this.state.messages;
85
+ return _react["default"].createElement(_FeedBuilder["default"], {
86
+ messages: messages,
87
+ messageCount: 500,
88
+ onRowsRequested: this.onRowsRequested,
89
+ pageSize: 50
90
+ });
91
+ }
92
+ }]);
93
+ return FeedBuilderExample;
94
+ }(_react.Component);
95
+
96
+ stories.add('Basic', function () {
97
+ return _react["default"].createElement(FeedBuilderExample, {
98
+ STORYBOOKdoNotWrap: true
99
+ });
100
+ });
101
+ //# sourceMappingURL=FeedBuilder-story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Core/components/FeedBuilder/FeedBuilder-story.js"],"names":["ProvideStyles","storyFn","stories","module","addDecorator","FeedBuilderExample","messages","count","interval","setState","prevState","lastMessageDate","length","dateSent","lastMessageIndex","newMessages","startDate","startIndex","concat","state","onRowsRequested","Component","add"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,OAAO;AAAA,SAAI,gCAAC,0BAAD,QAAiBA,OAAO,EAAxB,CAAJ;AAAA,CAA7B;;AAEA,IAAMC,OAAO,GAAG,uBAAU,cAAV,EAA0BC,MAA1B,CAAhB;AAEAD,OAAO,CAACE,YAAR,CAAqBJ,aAArB;;IAOMK,kB;;;;;;;;;;;;;;;;;8FACG;AACPC,MAAAA,QAAQ,EAAE,4BAAiB;AAAEC,QAAAA,KAAK,EAAE,EAAT;AAAaC,QAAAA,QAAQ,EAAE;AAAvB,OAAjB;AADH,K;wGAIU,YAAM;AACvB,YAAKC,QAAL,CAAc,UAAAC,SAAS,EAAI;AAC1B,YAAMC,eAAe,GACpBD,SAAS,CAACJ,QAAV,CAAmBI,SAAS,CAACJ,QAAV,CAAmBM,MAAnB,GAA4B,CAA/C,EAAkDC,QADnD;AAEA,YAAMC,gBAAgB,GAAGJ,SAAS,CAACJ,QAAV,CAAmBM,MAA5C;AACA,YAAMG,WAAW,GAAG,4BAAiB;AACpCR,UAAAA,KAAK,EAAE,EAD6B;AAEpCC,UAAAA,QAAQ,EAAE,EAF0B;AAGpCQ,UAAAA,SAAS,EAAEL,eAHyB;AAIpCM,UAAAA,UAAU,EAAEH;AAJwB,SAAjB,CAApB;AAMA,eAAO;AACNR,UAAAA,QAAQ,EACPI,SAAS,CAACJ,QAAV,CAAmBM,MAAnB,GAA4B,GAA5B,GACG,oCAAIF,SAAS,CAACJ,QAAd,EAAwBY,MAAxB,CAA+BH,WAA/B,CADH,GAEGL,SAAS,CAACJ;AAJR,SAAP;AAMA,OAhBD;AAiBA,K;;;;;;6BAEQ;AAAA,UACAA,QADA,GACa,KAAKa,KADlB,CACAb,QADA;AAER,aACC,gCAAC,uBAAD;AACC,QAAA,QAAQ,EAAEA,QADX;AAEC,QAAA,YAAY,EAAE,GAFf;AAGC,QAAA,eAAe,EAAE,KAAKc,eAHvB;AAIC,QAAA,QAAQ,EAAE;AAJX,QADD;AAQA;;;EAnC+BC,gB;;AAsCjCnB,OAAO,CAACoB,GAAR,CAAY,OAAZ,EAAqB;AAAA,SAAM,gCAAC,kBAAD;AAAoB,IAAA,kBAAkB;AAAtC,IAAN;AAAA,CAArB","sourcesContent":["// @flow\nimport React, { Component } from 'react'\nimport { storiesOf } from '@storybook/react'\nimport FeedBuilder from './FeedBuilder'\nimport StylesProvider from '../../../../../.storybook/StylesProvider'\nimport { generateMessages } from '../../../../../.storybook/data/feed'\n\nconst ProvideStyles = storyFn => <StylesProvider>{storyFn()}</StylesProvider>\n\nconst stories = storiesOf('Feed Builder', module)\n\nstories.addDecorator(ProvideStyles)\n\ntype Props = {}\ntype State = {\n\tmessages: Array<Object>\n}\n\nclass FeedBuilderExample extends Component<Props, State> {\n\tstate = {\n\t\tmessages: generateMessages({ count: 50, interval: 31 })\n\t}\n\n\tonRowsRequested = () => {\n\t\tthis.setState(prevState => {\n\t\t\tconst lastMessageDate =\n\t\t\t\tprevState.messages[prevState.messages.length - 1].dateSent\n\t\t\tconst lastMessageIndex = prevState.messages.length\n\t\t\tconst newMessages = generateMessages({\n\t\t\t\tcount: 50,\n\t\t\t\tinterval: 31,\n\t\t\t\tstartDate: lastMessageDate,\n\t\t\t\tstartIndex: lastMessageIndex\n\t\t\t})\n\t\t\treturn {\n\t\t\t\tmessages:\n\t\t\t\t\tprevState.messages.length < 500\n\t\t\t\t\t\t? [...prevState.messages].concat(newMessages)\n\t\t\t\t\t\t: prevState.messages\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\tconst { messages } = this.state\n\t\treturn (\n\t\t\t<FeedBuilder\n\t\t\t\tmessages={messages}\n\t\t\t\tmessageCount={500}\n\t\t\t\tonRowsRequested={this.onRowsRequested}\n\t\t\t\tpageSize={50}\n\t\t\t/>\n\t\t)\n\t}\n}\n\nstories.add('Basic', () => <FeedBuilderExample STORYBOOKdoNotWrap />)\n"],"file":"FeedBuilder-story.js"}