@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,147 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.Message = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _Avatar = _interopRequireDefault(require("../Avatar/Avatar"));
19
+
20
+ var _Button = _interopRequireDefault(require("../Button/Button"));
21
+
22
+ var _Icon = _interopRequireDefault(require("../Icon/Icon"));
23
+
24
+ var Message = function Message(props) {
25
+ var children = props.children,
26
+ className = props.className,
27
+ from = props.from,
28
+ dateSent = props.dateSent,
29
+ replies = props.replies,
30
+ attachments = props.attachments,
31
+ detail = props.detail,
32
+ primaryAction = props.primaryAction,
33
+ isFromSprucebot = props.isFromSprucebot;
34
+
35
+ if (typeof from === 'undefined') {
36
+ return null;
37
+ }
38
+
39
+ var fromName = from.name,
40
+ fromImage = from.image,
41
+ fromAlt = from.alt;
42
+
43
+ var renderReply = function renderReply(reply) {
44
+ var type = reply.type,
45
+ children = reply.children;
46
+ var icon = null;
47
+ var iconClass = null;
48
+
49
+ if (type) {
50
+ switch (type) {
51
+ case 'success':
52
+ icon = 'complete';
53
+ iconClass = 'message__reply-icon-success';
54
+ break;
55
+
56
+ case 'warn':
57
+ icon = 'caution';
58
+ iconClass = 'message__reply-icon-warn';
59
+ break;
60
+
61
+ case 'critical':
62
+ icon = 'caution_solid';
63
+ iconClass = 'message__reply-icon-critical';
64
+ break;
65
+
66
+ default:
67
+ return null;
68
+ }
69
+ } else {
70
+ return null;
71
+ }
72
+
73
+ return _react["default"].createElement("p", {
74
+ className: "message__reply"
75
+ }, icon && _react["default"].createElement(_Icon["default"], {
76
+ icon: icon,
77
+ className: (0, _classnames["default"])('message__reply-icon', iconClass)
78
+ }), _react["default"].createElement("span", {
79
+ className: "message__reply-text"
80
+ }, children));
81
+ };
82
+
83
+ var renderAttachment = function renderAttachment(attachment) {
84
+ return _react["default"].createElement("div", {
85
+ className: "message__attachment"
86
+ }, attachment);
87
+ };
88
+
89
+ var renderImage = function renderImage(_ref) {
90
+ var image = _ref.image,
91
+ alt = _ref.alt,
92
+ isFromSprucebot = _ref.isFromSprucebot;
93
+
94
+ if (isFromSprucebot) {
95
+ return _react["default"].createElement("img", {
96
+ className: "message__from-image message__from-sprucebot-image",
97
+ src: image || null,
98
+ alt: alt || '',
99
+ width: "40",
100
+ height: "40"
101
+ });
102
+ }
103
+
104
+ return _react["default"].createElement(_Avatar["default"], {
105
+ image: image || '',
106
+ alt: alt || ''
107
+ });
108
+ };
109
+
110
+ return _react["default"].createElement("div", {
111
+ className: (0, _classnames["default"])('message', className)
112
+ }, _react["default"].createElement("span", {
113
+ className: "message__pre"
114
+ }, fromImage ? renderImage({
115
+ image: fromImage,
116
+ alt: fromAlt || fromName || '',
117
+ isFromSprucebot: isFromSprucebot
118
+ }) : _react["default"].createElement("span", {
119
+ className: "message__original-timestamp"
120
+ }, ' ', dateSent.format('hh:mma'))), _react["default"].createElement("span", {
121
+ className: "message__main"
122
+ }, fromImage && _react["default"].createElement("p", {
123
+ className: "message__from-text"
124
+ }, fromName && _react["default"].createElement("span", {
125
+ className: "message__from-name"
126
+ }, fromName), dateSent && _react["default"].createElement("span", {
127
+ className: "message__original-timestamp"
128
+ }, ' ', dateSent.format('hh:mma'))), _react["default"].createElement("p", {
129
+ className: "message__body"
130
+ }, children), detail && _react["default"].createElement("p", {
131
+ className: "message__detail"
132
+ }, detail), primaryAction && _react["default"].createElement(_Button["default"], (0, _extends2["default"])({
133
+ className: "btn-small message__primary-action-btn"
134
+ }, primaryAction)), replies && replies.length > 0 && _react["default"].createElement("div", {
135
+ className: "message__replies"
136
+ }, replies.map(renderReply)), attachments && attachments.length > 0 && _react["default"].createElement("div", {
137
+ className: "message__attachments"
138
+ }, attachments.map(renderAttachment))));
139
+ };
140
+
141
+ exports.Message = Message;
142
+ Message.defaultProps = {
143
+ isFromSprucebot: false
144
+ };
145
+ var _default = Message;
146
+ exports["default"] = _default;
147
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/Message/Message.js"],"names":["Message","props","children","className","from","dateSent","replies","attachments","detail","primaryAction","isFromSprucebot","fromName","name","fromImage","image","fromAlt","alt","renderReply","reply","type","icon","iconClass","renderAttachment","attachment","renderImage","format","length","map","defaultProps"],"mappings":"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","sourcesContent":["// @flow\nimport React from 'react'\nimport moment from 'moment-timezone'\nimport cx from 'classnames'\n\nimport Avatar from '../Avatar/Avatar'\nimport Button from '../Button/Button'\nimport Icon from '../Icon/Icon'\n\nimport type { Props as ButtonProps } from '../Button/Button'\n\ntype FromProps = {\n\t/** Unique id of the sender */\n\tid: string,\n\n\t/** Image associated with message sender */\n\timage?: string,\n\n\t/** Name associated with message sender */\n\tname?: string,\n\n\t/** Alt description with message sender */\n\talt?: string\n}\n\ntype MessageProps = {\n\t/** Message children. */\n\tchildren: Node,\n\n\t/** Information about the sender */\n\tfrom: FromProps,\n\n\t/** Date the message was sent */\n\tdateSent?: moment,\n\n\t/** Informative replies to the message */\n\treplies?: Array,\n\n\t/** Additional content related to the message */\n\tattachments?: Array,\n\n\t/** Gives additional context for the message */\n\tdetail?: string,\n\n\t/** An action related to this message */\n\tprimaryAction?: ButtonProps,\n\n\t/** Optional classname */\n\tclassName?: string,\n\n\t/** Set true if the message is from Sprucebot */\n\tisFromSprucebot?: boolean\n}\n\nexport const Message = (props: MessageProps) => {\n\tconst {\n\t\tchildren,\n\t\tclassName,\n\t\tfrom,\n\t\tdateSent,\n\t\treplies,\n\t\tattachments,\n\t\tdetail,\n\t\tprimaryAction,\n\t\tisFromSprucebot\n\t} = props\n\n\tif (typeof from === 'undefined') {\n\t\treturn null\n\t}\n\n\tconst { name: fromName, image: fromImage, alt: fromAlt } = from\n\n\tconst renderReply = reply => {\n\t\tconst { type, children } = reply\n\t\tlet icon = null\n\t\tlet iconClass = null\n\n\t\tif (type) {\n\t\t\tswitch (type) {\n\t\t\t\tcase 'success':\n\t\t\t\t\ticon = 'complete'\n\t\t\t\t\ticonClass = 'message__reply-icon-success'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'warn':\n\t\t\t\t\ticon = 'caution'\n\t\t\t\t\ticonClass = 'message__reply-icon-warn'\n\t\t\t\t\tbreak\n\t\t\t\tcase 'critical':\n\t\t\t\t\ticon = 'caution_solid'\n\t\t\t\t\ticonClass = 'message__reply-icon-critical'\n\t\t\t\t\tbreak\n\t\t\t\tdefault:\n\t\t\t\t\treturn null\n\t\t\t}\n\t\t} else {\n\t\t\treturn null\n\t\t}\n\n\t\treturn (\n\t\t\t<p className=\"message__reply\">\n\t\t\t\t{icon && (\n\t\t\t\t\t<Icon icon={icon} className={cx('message__reply-icon', iconClass)} />\n\t\t\t\t)}\n\t\t\t\t<span className=\"message__reply-text\">{children}</span>\n\t\t\t</p>\n\t\t)\n\t}\n\n\tconst renderAttachment = attachment => {\n\t\treturn <div className=\"message__attachment\">{attachment}</div>\n\t}\n\n\tconst renderImage = ({ image, alt, isFromSprucebot }) => {\n\t\tif (isFromSprucebot) {\n\t\t\treturn (\n\t\t\t\t<img\n\t\t\t\t\tclassName=\"message__from-image message__from-sprucebot-image\"\n\t\t\t\t\tsrc={image || null}\n\t\t\t\t\talt={alt || ''}\n\t\t\t\t\twidth=\"40\"\n\t\t\t\t\theight=\"40\"\n\t\t\t\t/>\n\t\t\t)\n\t\t}\n\t\treturn <Avatar image={image || ''} alt={alt || ''} />\n\t}\n\n\treturn (\n\t\t<div className={cx('message', className)}>\n\t\t\t<span className=\"message__pre\">\n\t\t\t\t{fromImage ? (\n\t\t\t\t\trenderImage({\n\t\t\t\t\t\timage: fromImage,\n\t\t\t\t\t\talt: fromAlt || fromName || '',\n\t\t\t\t\t\tisFromSprucebot\n\t\t\t\t\t})\n\t\t\t\t) : (\n\t\t\t\t\t<span className=\"message__original-timestamp\">\n\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t{dateSent.format('hh:mma')}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t\t<span className=\"message__main\">\n\t\t\t\t{fromImage && (\n\t\t\t\t\t<p className=\"message__from-text\">\n\t\t\t\t\t\t{fromName && <span className=\"message__from-name\">{fromName}</span>}\n\t\t\t\t\t\t{dateSent && (\n\t\t\t\t\t\t\t<span className=\"message__original-timestamp\">\n\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t{dateSent.format('hh:mma')}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</p>\n\t\t\t\t)}\n\t\t\t\t<p className=\"message__body\">{children}</p>\n\t\t\t\t{detail && <p className=\"message__detail\">{detail}</p>}\n\t\t\t\t{primaryAction && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"btn-small message__primary-action-btn\"\n\t\t\t\t\t\t{...primaryAction}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{replies && replies.length > 0 && (\n\t\t\t\t\t<div className=\"message__replies\">{replies.map(renderReply)}</div>\n\t\t\t\t)}\n\t\t\t\t{attachments && attachments.length > 0 && (\n\t\t\t\t\t<div className=\"message__attachments\">\n\t\t\t\t\t\t{attachments.map(renderAttachment)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t</div>\n\t)\n}\n\nMessage.defaultProps = {\n\tisFromSprucebot: false\n}\n\nexport default Message\n"],"file":"Message.js"}
@@ -0,0 +1,132 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _Message = _interopRequireDefault(require("../Message"));
21
+
22
+ var _Text = _interopRequireDefault(require("../../Text/Text"));
23
+
24
+ var _TextStyle = _interopRequireDefault(require("../../TextStyle/TextStyle"));
25
+
26
+ var _Button = _interopRequireDefault(require("../../Button/Button"));
27
+
28
+ var _Image = _interopRequireDefault(require("../../Image/Image"));
29
+
30
+ // COMPONENTS THAT CAN GO INTO THIS COMPONENT, KEEP MINIMAL
31
+ var MessageBuilderKey = {
32
+ text: _Text["default"],
33
+ textStyle: _TextStyle["default"],
34
+ button: _Button["default"]
35
+ };
36
+ var MessageAttachmentKey = {
37
+ image: _Image["default"]
38
+ };
39
+
40
+ var renderMessageChild = function renderMessageChild(child) {
41
+ var Handler = child && child.type && MessageBuilderKey[child.type] || _react.Fragment;
42
+ return typeof Handler === 'function' ? Handler((0, _objectSpread2["default"])({}, child.props)) : _react["default"].createElement(Handler, child.props);
43
+ };
44
+
45
+ var renderAttachmentChild = function renderAttachmentChild(child) {
46
+ var Handler = child && child.type && MessageAttachmentKey[child.type] || _react.Fragment;
47
+ var className = (0, _classnames["default"])(child.props.className, {
48
+ 'message__attachment-image': child.type === 'image'
49
+ });
50
+ return typeof Handler === 'function' ? Handler((0, _objectSpread2["default"])({
51
+ className: className
52
+ }, child.props)) : _react["default"].createElement(Handler, (0, _extends2["default"])({
53
+ className: className
54
+ }, child.props));
55
+ };
56
+
57
+ var TemplateEngine = function TemplateEngine() {
58
+ var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
59
+ var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
60
+ var re = /{{([^}}]+)?}}/g,
61
+ children = [],
62
+ cursor = 0,
63
+ match;
64
+
65
+ var add = function add(line, js) {
66
+ if (line !== '') {
67
+ children.push({
68
+ props: {
69
+ element: 'span',
70
+ children: line.replace(/"/g, '\\"')
71
+ }
72
+ });
73
+ }
74
+
75
+ if (context[js]) {
76
+ children.push(context[js]);
77
+ }
78
+ };
79
+
80
+ while (match = re.exec(text)) {
81
+ add(text.slice(cursor, match.index), match[1]);
82
+ cursor = match.index + match[0].length;
83
+ }
84
+
85
+ add(text.substr(cursor, text.length - cursor));
86
+ return children.map(renderMessageChild);
87
+ };
88
+
89
+ var MessageBuilder = function MessageBuilder(props) {
90
+ var from = props.from,
91
+ dateSent = props.dateSent,
92
+ message = props.message,
93
+ detail = props.detail,
94
+ primaryAction = props.primaryAction,
95
+ replies = props.replies,
96
+ attachments = props.attachments,
97
+ isFromSprucebot = props.isFromSprucebot;
98
+
99
+ var _ref = message || {},
100
+ messageText = _ref.text,
101
+ messageContext = _ref.context;
102
+
103
+ var messageReplies = [];
104
+ var messageAttachments = [];
105
+
106
+ if (replies) {
107
+ messageReplies = replies.map(function (reply) {
108
+ return {
109
+ type: reply.type,
110
+ children: TemplateEngine(reply.text, reply.context)
111
+ };
112
+ });
113
+ }
114
+
115
+ if (attachments) {
116
+ messageAttachments = attachments.map(renderAttachmentChild);
117
+ }
118
+
119
+ return _react["default"].createElement(_Message["default"], {
120
+ from: from,
121
+ dateSent: dateSent,
122
+ detail: detail,
123
+ primaryAction: primaryAction,
124
+ replies: messageReplies,
125
+ attachments: messageAttachments,
126
+ isFromSprucebot: isFromSprucebot
127
+ }, messageText && messageContext && TemplateEngine(messageText, messageContext));
128
+ };
129
+
130
+ var _default = MessageBuilder;
131
+ exports["default"] = _default;
132
+ //# sourceMappingURL=MessageBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Message/components/MessageBuilder.js"],"names":["MessageBuilderKey","text","Text","textStyle","TextStyle","button","Button","MessageAttachmentKey","image","Image","renderMessageChild","child","Handler","type","Fragment","props","renderAttachmentChild","className","TemplateEngine","context","re","children","cursor","match","add","line","js","push","element","replace","exec","slice","index","length","substr","map","MessageBuilder","from","dateSent","message","detail","primaryAction","replies","attachments","isFromSprucebot","messageText","messageContext","messageReplies","messageAttachments","reply"],"mappings":"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","sourcesContent":["// @flow\nimport React, { Fragment } from 'react'\n\nimport cx from 'classnames'\n\nimport Message from '../Message'\n\nimport type {} from '../Message'\nimport type { Props as ButtonProps } from '../../Button/Button'\n\n// COMPONENTS THAT CAN GO INTO THIS COMPONENT, KEEP MINIMAL\nimport Text from '../../Text/Text'\nimport TextStyle from '../../TextStyle/TextStyle'\nimport Button from '../../Button/Button'\nimport Image from '../../Image/Image'\n\ntype FromProps = {\n\t/** Unique id of the sender */\n\tid: string,\n\n\t/** Image associated with message sender */\n\timage?: string,\n\n\t/** Name associated with message sender */\n\tname?: string,\n\n\t/** Alt description with message sender */\n\talt?: string\n}\n\nexport type MessageBuilderProps = {\n\t/** Information about the sender */\n\tfrom: FromProps,\n\n\t/** Message body */\n\tdateSent?: Date,\n\n\t/** Message body */\n\tmessage?: Object,\n\n\t/** Detail string gives additional context about this message */\n\tdetail?: string,\n\n\t/** An action related to this message */\n\tprimaryAction?: ButtonProps,\n\n\t/** Contextual information and additional actions associated to the message */\n\treplies?: Array,\n\n\t/** Attachment content associated to the message */\n\tattachments?: Array,\n\n\t/** Set true if the message is from Sprucebot */\n\tisFromSprucebot?: boolean\n}\n\nconst MessageBuilderKey = {\n\ttext: Text,\n\ttextStyle: TextStyle,\n\tbutton: Button\n}\n\nconst MessageAttachmentKey = {\n\timage: Image\n}\n\nconst renderMessageChild = child => {\n\tconst Handler =\n\t\t(child && child.type && MessageBuilderKey[child.type]) || Fragment\n\treturn typeof Handler === 'function' ? (\n\t\tHandler({ ...child.props })\n\t) : (\n\t\t<Handler {...child.props} />\n\t)\n}\n\nconst renderAttachmentChild = child => {\n\tconst Handler =\n\t\t(child && child.type && MessageAttachmentKey[child.type]) || Fragment\n\tconst className = cx(child.props.className, {\n\t\t'message__attachment-image': child.type === 'image'\n\t})\n\treturn typeof Handler === 'function' ? (\n\t\tHandler({ className, ...child.props })\n\t) : (\n\t\t<Handler className={className} {...child.props} />\n\t)\n}\n\nconst TemplateEngine = (text = '', context = {}) => {\n\tlet re = /{{([^}}]+)?}}/g,\n\t\tchildren = [],\n\t\tcursor = 0,\n\t\tmatch\n\n\tlet add = function(line, js) {\n\t\tif (line !== '') {\n\t\t\tchildren.push({\n\t\t\t\tprops: { element: 'span', children: line.replace(/\"/g, '\\\\\"') }\n\t\t\t})\n\t\t}\n\t\tif (context[js]) {\n\t\t\tchildren.push(context[js])\n\t\t}\n\t}\n\twhile ((match = re.exec(text))) {\n\t\tadd(text.slice(cursor, match.index), match[1])\n\t\tcursor = match.index + match[0].length\n\t}\n\tadd(text.substr(cursor, text.length - cursor))\n\n\treturn children.map(renderMessageChild)\n}\n\nconst MessageBuilder = (props: MessageBuilderProps) => {\n\tconst {\n\t\tfrom,\n\t\tdateSent,\n\t\tmessage,\n\t\tdetail,\n\t\tprimaryAction,\n\t\treplies,\n\t\tattachments,\n\t\tisFromSprucebot\n\t} = props\n\n\tconst { text: messageText, context: messageContext } = message || {}\n\n\tlet messageReplies = []\n\tlet messageAttachments = []\n\n\tif (replies) {\n\t\tmessageReplies = replies.map(reply => {\n\t\t\treturn {\n\t\t\t\ttype: reply.type,\n\t\t\t\tchildren: TemplateEngine(reply.text, reply.context)\n\t\t\t}\n\t\t})\n\t}\n\n\tif (attachments) {\n\t\tmessageAttachments = attachments.map(renderAttachmentChild)\n\t}\n\n\treturn (\n\t\t<Message\n\t\t\tfrom={from}\n\t\t\tdateSent={dateSent}\n\t\t\tdetail={detail}\n\t\t\tprimaryAction={primaryAction}\n\t\t\treplies={messageReplies}\n\t\t\tattachments={messageAttachments}\n\t\t\tisFromSprucebot={isFromSprucebot}\n\t\t>\n\t\t\t{messageText &&\n\t\t\t\tmessageContext &&\n\t\t\t\tTemplateEngine(messageText, messageContext)}\n\t\t</Message>\n\t)\n}\n\nexport default MessageBuilder\n"],"file":"MessageBuilder.js"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "default", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _Message["default"];
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "MessageBuilder", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _MessageBuilder2["default"];
18
+ }
19
+ });
20
+
21
+ var _Message = _interopRequireDefault(require("./Message"));
22
+
23
+ var _MessageBuilder2 = _interopRequireDefault(require("./components/MessageBuilder"));
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"index.js"}
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
8
+
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+
13
+ var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+
15
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
16
+
17
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
18
+
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
+
21
+ var _react = _interopRequireWildcard(require("react"));
22
+
23
+ var _react2 = require("@storybook/react");
24
+
25
+ var _react3 = require("@storybook/addon-knobs/react");
26
+
27
+ var _Modal = _interopRequireDefault(require("./Modal"));
28
+
29
+ var _Button = _interopRequireDefault(require("../Button/Button"));
30
+
31
+ var _Autosuggest = _interopRequireDefault(require("../Forms/components/Autosuggest/Autosuggest"));
32
+
33
+ var _Forms = require("../Forms");
34
+
35
+ var _countries = _interopRequireDefault(require("../../../.storybook/data/countries"));
36
+
37
+ var renderSuggestion = function renderSuggestion(suggestion) {
38
+ if (suggestion.isEmptyMessage) {
39
+ return _react["default"].createElement("div", {
40
+ className: "autosuggest__no-results"
41
+ }, _react["default"].createElement("p", {
42
+ className: "autosuggest__no-results-title"
43
+ }, "No matching countries found."), _react["default"].createElement("p", {
44
+ className: "autosuggest__no-results-subtitle"
45
+ }, "Please adjust your search and try again."));
46
+ }
47
+
48
+ return _react["default"].createElement(_Button["default"], {
49
+ isSmall: true,
50
+ className: "autosuggest__list-item-inner",
51
+ text: suggestion.text
52
+ });
53
+ };
54
+
55
+ var ModalExample =
56
+ /*#__PURE__*/
57
+ function (_Component) {
58
+ (0, _inherits2["default"])(ModalExample, _Component);
59
+
60
+ function ModalExample() {
61
+ var _getPrototypeOf2;
62
+
63
+ var _this;
64
+
65
+ (0, _classCallCheck2["default"])(this, ModalExample);
66
+
67
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
68
+ args[_key] = arguments[_key];
69
+ }
70
+
71
+ _this = (0, _possibleConstructorReturn2["default"])(this, (_getPrototypeOf2 = (0, _getPrototypeOf3["default"])(ModalExample)).call.apply(_getPrototypeOf2, [this].concat(args)));
72
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
73
+ isOpen: false
74
+ });
75
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleVisibility", function () {
76
+ _this.setState(function (prevState) {
77
+ return {
78
+ isOpen: !prevState.isOpen
79
+ };
80
+ });
81
+ });
82
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAfterOpen", function () {});
83
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRequestClose", function () {
84
+ _this.setState({
85
+ isOpen: false
86
+ });
87
+ });
88
+ return _this;
89
+ }
90
+
91
+ (0, _createClass2["default"])(ModalExample, [{
92
+ key: "render",
93
+ value: function render() {
94
+ var isOpen = this.state.isOpen;
95
+ var _this$props = this.props,
96
+ title = _this$props.title,
97
+ canGoBack = _this$props.canGoBack,
98
+ hasSecondaryButton = _this$props.hasSecondaryButton,
99
+ includeFooter = _this$props.includeFooter;
100
+ return _react["default"].createElement(_react.Fragment, null, _react["default"].createElement(_Button["default"], {
101
+ kind: "secondary",
102
+ text: "Give me modal",
103
+ onClick: this.toggleVisibility
104
+ }), _react["default"].createElement(_Modal["default"], {
105
+ isOpen: isOpen,
106
+ onAfterOpen: this.onAfterOpen,
107
+ onRequestClose: this.onRequestClose,
108
+ isSmall: (0, _react3["boolean"])('isSmall', true)
109
+ }, _react["default"].createElement(_Modal["default"].Header, {
110
+ title: title,
111
+ onRequestClose: this.onRequestClose,
112
+ handleGoBack: canGoBack ? function () {
113
+ return console.log('take me home');
114
+ } : null
115
+ }), _react["default"].createElement("form", null, _react["default"].createElement(_Modal["default"].Body, null, _react["default"].createElement(_Forms.FormLayout, null, _react["default"].createElement(_Forms.FormLayoutItem, null, _react["default"].createElement(_Forms.TextInput, {
116
+ label: "Category Name",
117
+ placeholder: "e.g. Barber"
118
+ })), _react["default"].createElement(_Forms.FormLayoutItem, null, _react["default"].createElement(_Forms.TextInput, {
119
+ label: "Teaser",
120
+ postLabel: "0/64",
121
+ placeholder: "Haircuts, shaves, and touch-ups.",
122
+ helper: "Add a short teaser for your guests to see when they browse your services. Please limit to 64 characters."
123
+ })), _react["default"].createElement(_Forms.FormLayoutItem, null, _react["default"].createElement(_Forms.TextArea, {
124
+ label: "Description",
125
+ placeholder: "Optional category description\u2026",
126
+ helper: "Add a short teaser for your guests to see when they browse your services.",
127
+ rows: 3
128
+ })), _react["default"].createElement(_Forms.FormLayoutItem, null, _react["default"].createElement(_Forms.Checkbox, {
129
+ id: "hide-category",
130
+ label: "Hide this category",
131
+ postText: "It will still be visible to your teammates, but will be hidden from guests."
132
+ })))), includeFooter && _react["default"].createElement(_Modal["default"].Footer, {
133
+ primaryAction: {
134
+ text: 'Create Category',
135
+ onClick: function onClick() {
136
+ return console.log('Next');
137
+ },
138
+ type: 'submit'
139
+ },
140
+ secondaryAction: hasSecondaryButton && {
141
+ text: 'Cancel',
142
+ onClick: function onClick() {
143
+ return console.log('Cancel');
144
+ }
145
+ }
146
+ }))));
147
+ }
148
+ }]);
149
+ return ModalExample;
150
+ }(_react.Component);
151
+
152
+ var stories = (0, _react2.storiesOf)('Modal', module);
153
+ stories.addDecorator(_react3.withKnobs);
154
+ stories.add('Modal', function () {
155
+ return _react["default"].createElement(ModalExample, {
156
+ title: (0, _react3.text)('title', 'New Service Category'),
157
+ canGoBack: (0, _react3["boolean"])('handleGoBack', false),
158
+ includeFooter: (0, _react3["boolean"])('Modal.Footer', true),
159
+ hasSecondaryButton: (0, _react3["boolean"])('secondaryAction', false)
160
+ });
161
+ }).add('static', function () {
162
+ return _react["default"].createElement(_Modal["default"], {
163
+ isOpen: (0, _react3["boolean"])('isOpen', true),
164
+ onAfterOpen: function onAfterOpen() {
165
+ return console.log('onAfterOpen');
166
+ },
167
+ onRequestClose: function onRequestClose() {
168
+ return console.log('onRequestClose');
169
+ },
170
+ isSmall: (0, _react3["boolean"])('isSmall', true)
171
+ }, _react["default"].createElement(_Modal["default"].Header, {
172
+ title: (0, _react3.text)('title', 'New Service Category'),
173
+ onRequestClose: function onRequestClose() {
174
+ return console.log('onRequestClose');
175
+ },
176
+ handleGoBack: (0, _react3["boolean"])('canGoBack', false) ? function () {
177
+ return console.log('take me home');
178
+ } : null
179
+ }), _react["default"].createElement("form", null, _react["default"].createElement(_Modal["default"].Body, null, _react["default"].createElement(_Forms.FormLayout, null, _react["default"].createElement(_Forms.FormLayoutItem, null, _react["default"].createElement(_Forms.TextInput, {
180
+ label: "Category Name",
181
+ placeholder: "e.g. Barber"
182
+ })), _react["default"].createElement(_Forms.FormLayoutItem, null, _react["default"].createElement(_Forms.TextInput, {
183
+ label: "Teaser",
184
+ postLabel: "0/64",
185
+ placeholder: "Haircuts, shaves, and touch-ups.",
186
+ helper: "Add a short teaser for your guests to see when they browse your services. Please limit to 64 characters."
187
+ })), _react["default"].createElement(_Forms.FormLayoutItem, null, _react["default"].createElement(_Forms.TextArea, {
188
+ label: "Description",
189
+ placeholder: "Optional category description\u2026",
190
+ helper: "Add a short teaser for your guests to see when they browse your services.",
191
+ rows: 3
192
+ })), _react["default"].createElement(_Forms.FormLayoutItem, null, _react["default"].createElement(_Autosuggest["default"], {
193
+ label: 'Country',
194
+ placeholder: 'Select a country...',
195
+ defaultSuggestions: (0, _react3.object)('defaultSuggestions', _countries["default"]),
196
+ shouldRenderSuggestions: function shouldRenderSuggestions() {
197
+ return true;
198
+ },
199
+ renderSuggestion: renderSuggestion,
200
+ getSuggestionValue: function getSuggestionValue(value) {
201
+ return value.text;
202
+ },
203
+ getSuggestions: function getSuggestions(value) {
204
+ var results = _countries["default"].filter(function (suggestion) {
205
+ return suggestion.text.toLowerCase().slice(0, value.length) === value.toLowerCase();
206
+ }); // Here you could add click events to buttons or whatever else they need
207
+ // No Results Message
208
+
209
+
210
+ if (results.length === 0) {
211
+ return [{
212
+ text: 'NO RESULTS',
213
+ isEmptyMessage: true
214
+ }];
215
+ }
216
+
217
+ return results;
218
+ }
219
+ })), _react["default"].createElement(_Forms.FormLayoutItem, null, _react["default"].createElement(_Forms.Checkbox, {
220
+ id: "hide-category",
221
+ label: "Hide this category",
222
+ postText: "It will still be visible to your teammates, but will be hidden from guests."
223
+ })))), (0, _react3["boolean"])('includeFooter', true) && _react["default"].createElement(_Modal["default"].Footer, {
224
+ primaryAction: (0, _react3.object)('primaryAction', {
225
+ text: 'Create Category',
226
+ onClick: function onClick() {
227
+ return console.log('Next');
228
+ },
229
+ type: 'submit'
230
+ }),
231
+ secondaryAction: (0, _react3.object)('secondaryAction', {
232
+ text: 'Cancel',
233
+ onClick: function onClick() {
234
+ return console.log('Cancel');
235
+ }
236
+ })
237
+ })));
238
+ });
239
+ //# sourceMappingURL=Modal-story.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/Modal/Modal-story.js"],"names":["renderSuggestion","suggestion","isEmptyMessage","text","ModalExample","isOpen","setState","prevState","state","props","title","canGoBack","hasSecondaryButton","includeFooter","toggleVisibility","onAfterOpen","onRequestClose","console","log","onClick","type","Component","stories","module","addDecorator","withKnobs","add","countries","value","results","filter","toLowerCase","slice","length"],"mappings":"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","sourcesContent":["// @flow\nimport React, { Fragment, Component } from 'react'\nimport { storiesOf } from '@storybook/react'\nimport { withKnobs, text, boolean, object } from '@storybook/addon-knobs/react'\nimport Modal from './Modal'\nimport Button from '../Button/Button'\nimport Autosuggest from '../Forms/components/Autosuggest/Autosuggest'\nimport {\n\tCheckbox,\n\tTextInput,\n\tTextArea,\n\tFormLayout,\n\tFormLayoutItem\n} from '../Forms'\n\nimport countries from '../../../.storybook/data/countries'\n\nconst renderSuggestion = (suggestion: any) => {\n\tif (suggestion.isEmptyMessage) {\n\t\treturn (\n\t\t\t<div className=\"autosuggest__no-results\">\n\t\t\t\t<p className=\"autosuggest__no-results-title\">\n\t\t\t\t\tNo matching countries found.\n\t\t\t\t</p>\n\t\t\t\t<p className=\"autosuggest__no-results-subtitle\">\n\t\t\t\t\tPlease adjust your search and try again.\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t)\n\t}\n\treturn (\n\t\t<Button\n\t\t\tisSmall\n\t\t\tclassName=\"autosuggest__list-item-inner\"\n\t\t\ttext={suggestion.text}\n\t\t/>\n\t)\n}\n\ntype Props = {\n\ttitle: string,\n\tcanGoBack: boolean,\n\thasSecondaryButton: boolean,\n\tincludeFooter: boolean\n}\ntype State = {\n\tisOpen: boolean\n}\n\nclass ModalExample extends Component<Props, State> {\n\tstate = {\n\t\tisOpen: false\n\t}\n\n\ttoggleVisibility = () => {\n\t\tthis.setState(prevState => ({\n\t\t\tisOpen: !prevState.isOpen\n\t\t}))\n\t}\n\n\tonAfterOpen = () => {}\n\n\tonRequestClose = () => {\n\t\tthis.setState({\n\t\t\tisOpen: false\n\t\t})\n\t}\n\trender() {\n\t\tconst { isOpen } = this.state\n\t\tconst { title, canGoBack, hasSecondaryButton, includeFooter } = this.props\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t<Button\n\t\t\t\t\tkind=\"secondary\"\n\t\t\t\t\ttext=\"Give me modal\"\n\t\t\t\t\tonClick={this.toggleVisibility}\n\t\t\t\t/>\n\t\t\t\t<Modal\n\t\t\t\t\tisOpen={isOpen}\n\t\t\t\t\tonAfterOpen={this.onAfterOpen}\n\t\t\t\t\tonRequestClose={this.onRequestClose}\n\t\t\t\t\tisSmall={boolean('isSmall', true)}\n\t\t\t\t>\n\t\t\t\t\t<Modal.Header\n\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\tonRequestClose={this.onRequestClose}\n\t\t\t\t\t\thandleGoBack={canGoBack ? () => console.log('take me home') : null}\n\t\t\t\t\t/>\n\t\t\t\t\t<form>\n\t\t\t\t\t\t<Modal.Body>\n\t\t\t\t\t\t\t<FormLayout>\n\t\t\t\t\t\t\t\t<FormLayoutItem>\n\t\t\t\t\t\t\t\t\t<TextInput label=\"Category Name\" placeholder=\"e.g. Barber\" />\n\t\t\t\t\t\t\t\t</FormLayoutItem>\n\t\t\t\t\t\t\t\t<FormLayoutItem>\n\t\t\t\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\t\t\t\tlabel=\"Teaser\"\n\t\t\t\t\t\t\t\t\t\tpostLabel=\"0/64\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Haircuts, shaves, and touch-ups.\"\n\t\t\t\t\t\t\t\t\t\thelper=\"Add a short teaser for your guests to see when they browse your services. Please limit to 64 characters.\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormLayoutItem>\n\t\t\t\t\t\t\t\t<FormLayoutItem>\n\t\t\t\t\t\t\t\t\t<TextArea\n\t\t\t\t\t\t\t\t\t\tlabel=\"Description\"\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Optional category description…\"\n\t\t\t\t\t\t\t\t\t\thelper=\"Add a short teaser for your guests to see when they browse your services.\"\n\t\t\t\t\t\t\t\t\t\trows={3}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormLayoutItem>\n\t\t\t\t\t\t\t\t<FormLayoutItem>\n\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\tid=\"hide-category\"\n\t\t\t\t\t\t\t\t\t\tlabel=\"Hide this category\"\n\t\t\t\t\t\t\t\t\t\tpostText=\"It will still be visible to your teammates, but will be hidden from guests.\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormLayoutItem>\n\t\t\t\t\t\t\t</FormLayout>\n\t\t\t\t\t\t</Modal.Body>\n\t\t\t\t\t\t{includeFooter && (\n\t\t\t\t\t\t\t<Modal.Footer\n\t\t\t\t\t\t\t\tprimaryAction={{\n\t\t\t\t\t\t\t\t\ttext: 'Create Category',\n\t\t\t\t\t\t\t\t\tonClick: () => console.log('Next'),\n\t\t\t\t\t\t\t\t\ttype: 'submit'\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsecondaryAction={\n\t\t\t\t\t\t\t\t\thasSecondaryButton && {\n\t\t\t\t\t\t\t\t\t\ttext: 'Cancel',\n\t\t\t\t\t\t\t\t\t\tonClick: () => console.log('Cancel')\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t</Fragment>\n\t\t)\n\t}\n}\n\nconst stories = storiesOf('Modal', module)\n\nstories.addDecorator(withKnobs)\n\nstories\n\t.add('Modal', () => (\n\t\t<ModalExample\n\t\t\ttitle={text('title', 'New Service Category')}\n\t\t\tcanGoBack={boolean('handleGoBack', false)}\n\t\t\tincludeFooter={boolean('Modal.Footer', true)}\n\t\t\thasSecondaryButton={boolean('secondaryAction', false)}\n\t\t/>\n\t))\n\t.add('static', () => (\n\t\t<Modal\n\t\t\tisOpen={boolean('isOpen', true)}\n\t\t\tonAfterOpen={() => console.log('onAfterOpen')}\n\t\t\tonRequestClose={() => console.log('onRequestClose')}\n\t\t\tisSmall={boolean('isSmall', true)}\n\t\t>\n\t\t\t<Modal.Header\n\t\t\t\ttitle={text('title', 'New Service Category')}\n\t\t\t\tonRequestClose={() => console.log('onRequestClose')}\n\t\t\t\thandleGoBack={\n\t\t\t\t\tboolean('canGoBack', false) ? () => console.log('take me home') : null\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<form>\n\t\t\t\t<Modal.Body>\n\t\t\t\t\t<FormLayout>\n\t\t\t\t\t\t<FormLayoutItem>\n\t\t\t\t\t\t\t<TextInput label=\"Category Name\" placeholder=\"e.g. Barber\" />\n\t\t\t\t\t\t</FormLayoutItem>\n\t\t\t\t\t\t<FormLayoutItem>\n\t\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\t\tlabel=\"Teaser\"\n\t\t\t\t\t\t\t\tpostLabel=\"0/64\"\n\t\t\t\t\t\t\t\tplaceholder=\"Haircuts, shaves, and touch-ups.\"\n\t\t\t\t\t\t\t\thelper=\"Add a short teaser for your guests to see when they browse your services. Please limit to 64 characters.\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormLayoutItem>\n\t\t\t\t\t\t<FormLayoutItem>\n\t\t\t\t\t\t\t<TextArea\n\t\t\t\t\t\t\t\tlabel=\"Description\"\n\t\t\t\t\t\t\t\tplaceholder=\"Optional category description…\"\n\t\t\t\t\t\t\t\thelper=\"Add a short teaser for your guests to see when they browse your services.\"\n\t\t\t\t\t\t\t\trows={3}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormLayoutItem>\n\t\t\t\t\t\t<FormLayoutItem>\n\t\t\t\t\t\t\t<Autosuggest\n\t\t\t\t\t\t\t\tlabel={'Country'}\n\t\t\t\t\t\t\t\tplaceholder={'Select a country...'}\n\t\t\t\t\t\t\t\tdefaultSuggestions={object('defaultSuggestions', countries)}\n\t\t\t\t\t\t\t\tshouldRenderSuggestions={() => true}\n\t\t\t\t\t\t\t\trenderSuggestion={renderSuggestion}\n\t\t\t\t\t\t\t\tgetSuggestionValue={value => value.text}\n\t\t\t\t\t\t\t\tgetSuggestions={value => {\n\t\t\t\t\t\t\t\t\tconst results = countries.filter(\n\t\t\t\t\t\t\t\t\t\tsuggestion =>\n\t\t\t\t\t\t\t\t\t\t\tsuggestion.text.toLowerCase().slice(0, value.length) ===\n\t\t\t\t\t\t\t\t\t\t\tvalue.toLowerCase()\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t// Here you could add click events to buttons or whatever else they need\n\t\t\t\t\t\t\t\t\t// No Results Message\n\t\t\t\t\t\t\t\t\tif (results.length === 0) {\n\t\t\t\t\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttext: 'NO RESULTS',\n\t\t\t\t\t\t\t\t\t\t\t\tisEmptyMessage: true\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn results\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormLayoutItem>\n\t\t\t\t\t\t<FormLayoutItem>\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid=\"hide-category\"\n\t\t\t\t\t\t\t\tlabel=\"Hide this category\"\n\t\t\t\t\t\t\t\tpostText=\"It will still be visible to your teammates, but will be hidden from guests.\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormLayoutItem>\n\t\t\t\t\t</FormLayout>\n\t\t\t\t</Modal.Body>\n\t\t\t\t{boolean('includeFooter', true) && (\n\t\t\t\t\t<Modal.Footer\n\t\t\t\t\t\tprimaryAction={object('primaryAction', {\n\t\t\t\t\t\t\ttext: 'Create Category',\n\t\t\t\t\t\t\tonClick: () => console.log('Next'),\n\t\t\t\t\t\t\ttype: 'submit'\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tsecondaryAction={object('secondaryAction', {\n\t\t\t\t\t\t\ttext: 'Cancel',\n\t\t\t\t\t\t\tonClick: () => console.log('Cancel')\n\t\t\t\t\t\t})}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</form>\n\t\t</Modal>\n\t))\n"],"file":"Modal-story.js"}